subsystems and videomodes implemented (except SDL2); smaller fixes too
This commit is contained in:
@ -217,10 +217,10 @@ main(int argc, char *argv[])
|
||||
if(EventHandler(INITIALIZE, nil) == EVENTERROR)
|
||||
return 0;
|
||||
|
||||
engineStartParams.width = sk::globals.width;
|
||||
engineStartParams.height = sk::globals.height;
|
||||
engineStartParams.windowtitle = sk::globals.windowtitle;
|
||||
engineStartParams.window = &window;
|
||||
engineOpenParams.width = sk::globals.width;
|
||||
engineOpenParams.height = sk::globals.height;
|
||||
engineOpenParams.windowtitle = sk::globals.windowtitle;
|
||||
engineOpenParams.window = &window;
|
||||
|
||||
if(EventHandler(RWINITIALIZE, nil) == EVENTERROR)
|
||||
return 0;
|
||||
@ -253,7 +253,7 @@ namespace sk {
|
||||
void
|
||||
SetMousePosition(int x, int y)
|
||||
{
|
||||
glfwSetCursorPos(*engineStartParams.window, (double)x, (double)y);
|
||||
glfwSetCursorPos(*engineOpenParams.window, (double)x, (double)y);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -215,10 +215,10 @@ main(int argc, char *argv[])
|
||||
if(EventHandler(INITIALIZE, nil) == EVENTERROR)
|
||||
return 0;
|
||||
|
||||
engineStartParams.width = sk::globals.width;
|
||||
engineStartParams.height = sk::globals.height;
|
||||
engineStartParams.windowtitle = sk::globals.windowtitle;
|
||||
engineStartParams.window = &window;
|
||||
engineOpenParams.width = sk::globals.width;
|
||||
engineOpenParams.height = sk::globals.height;
|
||||
engineOpenParams.windowtitle = sk::globals.windowtitle;
|
||||
engineOpenParams.window = &window;
|
||||
|
||||
if(EventHandler(RWINITIALIZE, nil) == EVENTERROR)
|
||||
return 0;
|
||||
@ -316,7 +316,7 @@ namespace sk {
|
||||
void
|
||||
SetMousePosition(int x, int y)
|
||||
{
|
||||
SDL_WarpMouseInWindow(*engineStartParams.window, x, y);
|
||||
SDL_WarpMouseInWindow(*engineOpenParams.window, x, y);
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -13,9 +13,34 @@ InitRW(void)
|
||||
return false;
|
||||
if(AppEventHandler(sk::PLUGINATTACH, nil) == EVENTERROR)
|
||||
return false;
|
||||
if(!rw::Engine::open())
|
||||
if(!rw::Engine::open(&engineOpenParams))
|
||||
return false;
|
||||
if(!rw::Engine::start(&engineStartParams))
|
||||
|
||||
SubSystemInfo info;
|
||||
int i, n;
|
||||
n = Engine::getNumSubSystems();
|
||||
for(i = 0; i < n; i++)
|
||||
if(Engine::getSubSystemInfo(&info, i))
|
||||
printf("subsystem: %s\n", info.name);
|
||||
|
||||
int want = -1;
|
||||
VideoMode mode;
|
||||
n = Engine::getNumVideoModes();
|
||||
for(i = 0; i < n; i++)
|
||||
if(Engine::getVideoModeInfo(&mode, i)){
|
||||
if(mode.width == 640 && mode.height == 480 && mode.depth == 32)
|
||||
want = i;
|
||||
printf("mode: %dx%dx%d %d\n", mode.width, mode.height, mode.depth, mode.flags);
|
||||
}
|
||||
// if(want >= 0) Engine::setVideoMode(want);
|
||||
Engine::getVideoModeInfo(&mode, Engine::getCurrentVideoMode());
|
||||
|
||||
if(mode.flags & VIDEOMODEEXCLUSIVE){
|
||||
globals.width = mode.width;
|
||||
globals.height = mode.height;
|
||||
}
|
||||
|
||||
if(!rw::Engine::start())
|
||||
return false;
|
||||
|
||||
rw::Image::setSearchPath("./");
|
||||
|
@ -1,4 +1,4 @@
|
||||
extern rw::EngineStartParams engineStartParams;
|
||||
extern rw::EngineOpenParams engineOpenParams;
|
||||
|
||||
namespace sk {
|
||||
|
||||
|
@ -254,7 +254,7 @@ WinMain(HINSTANCE instance, HINSTANCE,
|
||||
MessageBox(0, "MakeWindow() - FAILED", 0, 0);
|
||||
return 0;
|
||||
}
|
||||
engineStartParams.window = win;
|
||||
engineOpenParams.window = win;
|
||||
initkeymap();
|
||||
|
||||
if(EventHandler(RWINITIALIZE, nil) == EVENTERROR)
|
||||
@ -283,7 +283,7 @@ void
|
||||
SetMousePosition(int x, int y)
|
||||
{
|
||||
POINT pos = { x, y };
|
||||
ClientToScreen(engineStartParams.window, &pos);
|
||||
ClientToScreen(engineOpenParams.window, &pos);
|
||||
SetCursorPos(pos.x, pos.y);
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user