X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FOpenGL_Windows.cpp;h=a9edfb56952e54b6a068342e2d366fe18e99fea0;hb=c44a844d9305c4f1f7dd0479e4a3af3e90b96a1b;hp=c2091fb66c30036ee27edba036787b2d5a8fce71;hpb=b757d628d06570c93feb2f485b7a9f9b8134ca25;p=lugaru.git diff --git a/Source/OpenGL_Windows.cpp b/Source/OpenGL_Windows.cpp index c2091fb..a9edfb5 100644 --- a/Source/OpenGL_Windows.cpp +++ b/Source/OpenGL_Windows.cpp @@ -45,6 +45,8 @@ extern "C" { #endif } +using namespace Game; + static bool load_image(const char * fname, TGAImageRec & tex); static bool load_png(const char * fname, TGAImageRec & tex); static bool load_jpg(const char * fname, TGAImageRec & tex); @@ -99,10 +101,8 @@ static SDL_Rect *hardcoded_resolutions[] = { NULL }; -void DrawGL(Game & game); - -Boolean SetUp (Game & game); -void DoUpdate (Game & game); +Boolean SetUp (); +void DoUpdate (); void CleanUp (void); @@ -163,8 +163,6 @@ int kContextHeight; Boolean gDone = false; -Game * pgame = 0; - #ifndef __MINGW32__ static int _argc = 0; static char **_argv = NULL; @@ -256,12 +254,12 @@ static void toggleFullscreen(){ //~ pgame->LoadScreenTexture(); } -static void sdlEventProc(const SDL_Event &e, Game &game) +static void sdlEventProc(const SDL_Event &e) { switch(e.type) { case SDL_MOUSEMOTION: - game.deltah += e.motion.xrel; - game.deltav += e.motion.yrel; + deltah += e.motion.xrel; + deltav += e.motion.yrel; break; case SDL_KEYDOWN: @@ -282,7 +280,7 @@ static void sdlEventProc(const SDL_Event &e, Game &game) static Point gMidPoint; -Boolean SetUp (Game & game) +Boolean SetUp () { char string[10]; @@ -295,7 +293,7 @@ Boolean SetUp (Game & game) slomofreq=8012; numplayers=1; - DefaultSettings(game); + DefaultSettings(); if (!SDL_WasInit(SDL_INIT_VIDEO)) if (SDL_Init(SDL_INIT_VIDEO) == -1) @@ -303,9 +301,9 @@ Boolean SetUp (Game & game) fprintf(stderr, "SDL_Init() failed: %s\n", SDL_GetError()); return false; } - if(!LoadSettings(game)) { + if(!LoadSettings()) { fprintf(stderr, "Failed to load config, creating default\n"); - SaveSettings(game); + SaveSettings(); } if(kBitsPerPixel!=32&&kBitsPerPixel!=16){ kBitsPerPixel=16; @@ -415,33 +413,33 @@ Boolean SetUp (Game & game) screenwidth=width; screenheight=height; - game.newdetail=detail; - game.newscreenwidth=screenwidth; - game.newscreenheight=screenheight; + newdetail=detail; + newscreenwidth=screenwidth; + newscreenheight=screenheight; - game.InitGame(); + InitGame(); return true; } -static void DoMouse(Game & game) +static void DoMouse() { - if(mainmenu|| ( (abs(game.deltah)<10*realmultiplier*1000) && (abs(game.deltav)<10*realmultiplier*1000) )) + if(mainmenu|| ( (abs(deltah)<10*realmultiplier*1000) && (abs(deltav)<10*realmultiplier*1000) )) { - game.deltah *= usermousesensitivity; - game.deltav *= usermousesensitivity; - game.mousecoordh += game.deltah; - game.mousecoordv += game.deltav; - if (game.mousecoordh < 0) - game.mousecoordh = 0; - else if (game.mousecoordh >= kContextWidth) - game.mousecoordh = kContextWidth - 1; - if (game.mousecoordv < 0) - game.mousecoordv = 0; - else if (game.mousecoordv >= kContextHeight) - game.mousecoordv = kContextHeight - 1; + deltah *= usermousesensitivity; + deltav *= usermousesensitivity; + mousecoordh += deltah; + mousecoordv += deltav; + if (mousecoordh < 0) + mousecoordh = 0; + else if (mousecoordh >= kContextWidth) + mousecoordh = kContextWidth - 1; + if (mousecoordv < 0) + mousecoordv = 0; + else if (mousecoordv >= kContextHeight) + mousecoordv = kContextHeight - 1; } } @@ -482,7 +480,7 @@ void DoFrameRate (int update) } -void DoUpdate (Game & game) +void DoUpdate () { static float sps=200; static int count; @@ -491,7 +489,7 @@ void DoUpdate (Game & game) DoFrameRate(1); if(multiplier>.6)multiplier=.6; - game.fps=1/multiplier; + fps=1/multiplier; count = multiplier*sps; if(count<2)count=2; @@ -501,22 +499,22 @@ void DoUpdate (Game & game) if(difficulty==1)multiplier*=.9; if(difficulty==0)multiplier*=.8; - if(game.loading==4)multiplier*=.00001; + if(loading==4)multiplier*=.00001; if(slomo&&!mainmenu)multiplier*=slomospeed; oldmult=multiplier; multiplier/=(float)count; - DoMouse(game); + DoMouse(); - game.TickOnce(); + TickOnce(); for(int i=0;i