diff --git a/src/windows.cpp b/src/windows.cpp index 7bfd64a..7d767dc 100644 --- a/src/windows.cpp +++ b/src/windows.cpp @@ -30,6 +30,7 @@ #ifdef WIN32 //include necessary header files #include "../include/main.h" +#include "../include/version.h" //link necessary libraries #pragma comment(lib, "opengl32.lib") @@ -353,7 +354,7 @@ LRESULT CALLBACK WndProc(HWND hWnd, } } } - + if(wParam == VK_RETURN) { level.UpdateConsole('\n'); @@ -579,29 +580,25 @@ int WINAPI WinMain( HINSTANCE hInstance, InitControls(); - g_Screen.name = "OpenArena v0.1.0"; - g_Screen.width = level.screen.width; - g_Screen.height = level.screen.height; - g_Screen.bpp = level.screen.bpp; - g_Screen.fullscreen = level.screen.fullscreen; - - level.glFont.SetScreenDimensions(g_Screen.width*2, g_Screen.height*2); + level.glFont.SetScreenDimensions(level.screen.width*2, level.screen.height*2); //level.glFont.BuildFont("oa\\textures\\menu\\font.bmp");//(level.gamedir + "\\textures\\menu\\font.bmp").c_str()); if (level.nextLevel == "") { level.LoadMap("intro.map"); } + else + { + level.LoadMap(); + } - if (!CreateGLWindow(g_Screen.name, g_Screen.width, g_Screen.height, g_Screen.bpp, g_Screen.fullscreen)) + if (!CreateGLWindow(string(OPENARENA_VERSION), level.screen.width, level.screen.height, level.screen.bpp, level.screen.fullscreen)) { return 0; } - - while(!done) { - if (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) + while (PeekMessage(&msg,NULL,0,0,PM_REMOVE)) { if (msg.message==WM_QUIT) { @@ -613,330 +610,322 @@ int WINAPI WinMain( HINSTANCE hInstance, DispatchMessage(&msg); } } - else + + if (active) { - if (active) + if (keys[VK_ESCAPE]) { - if (keys[VK_ESCAPE]) - { - done=true; - } - else - { - level.defaultPlayer[0].camera.Update(); + done=true; + } + else + { + level.defaultPlayer[0].camera.Update(); - if(level.showConsole) + if(!level.showConsole) + { + if (level.mlook) { - if(keys['I'] && !keys2['I']) - level.showConsole = false; - //level.UpdateConsole('\n'); + level.defaultPlayer[0].camera.SetViewByMouse(g_Screen); } else { - if (level.mlook) + SetCursorPos(g_Screen.width/2, g_Screen.height/2); + } + + ////////// + //Move Backward + if(!level.defaultPlayer->controls.backward.IsEmpty()) + { + level.defaultPlayer->controls.backward.FirstPosition(); + if(keys[level.defaultPlayer->controls.backward.Retrieve()]) { - level.defaultPlayer[0].camera.SetViewByMouse(g_Screen); + level.defaultPlayer->camera.MoveCamera(-level.moveSpeed); } else { - SetCursorPos(g_Screen.width/2, g_Screen.height/2); - } - - ////////// - //Move Backward - if(!level.defaultPlayer->controls.backward.IsEmpty()) - { - level.defaultPlayer->controls.backward.FirstPosition(); - if(keys[level.defaultPlayer->controls.backward.Retrieve()]) + while(level.defaultPlayer->controls.backward.NextPosition() && (keys[level.defaultPlayer->controls.backward.Retrieve()] != true)); { - level.defaultPlayer->camera.MoveCamera(-level.moveSpeed); - } - else - { - while(level.defaultPlayer->controls.backward.NextPosition() && (keys[level.defaultPlayer->controls.backward.Retrieve()] != true)); + if(keys[level.defaultPlayer->controls.backward.Retrieve()]) { - if(keys[level.defaultPlayer->controls.backward.Retrieve()]) - { - level.defaultPlayer->camera.MoveCamera(-level.moveSpeed); - } + level.defaultPlayer->camera.MoveCamera(-level.moveSpeed); } } } - - ////////// - //Move forward - if(!level.defaultPlayer->controls.forward.IsEmpty()) - { - level.defaultPlayer->controls.forward.FirstPosition(); - if(keys[level.defaultPlayer->controls.forward.Retrieve()]) - { - level.defaultPlayer->camera.MoveCamera(level.moveSpeed); - } - else - { - while(level.defaultPlayer->controls.forward.NextPosition() && (keys[level.defaultPlayer->controls.forward.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.forward.Retrieve()]) - { - level.defaultPlayer->camera.MoveCamera(level.moveSpeed); - } - } - } - } - - ////////// - //Strafe Left - if(!level.defaultPlayer->controls.moveLeft.IsEmpty()) - { - level.defaultPlayer->controls.moveLeft.FirstPosition(); - if(keys[level.defaultPlayer->controls.moveLeft.Retrieve()]) - { - level.defaultPlayer->camera.StrafeCamera(-level.moveSpeed); - } - else - { - while(level.defaultPlayer->controls.moveLeft.NextPosition() && (keys[level.defaultPlayer->controls.moveLeft.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.moveLeft.Retrieve()]) - { - level.defaultPlayer->camera.StrafeCamera(-level.moveSpeed); - } - } - } - } - - ////////// - //Strafe Right - if(!level.defaultPlayer->controls.moveRight.IsEmpty()) - { - level.defaultPlayer->controls.moveRight.FirstPosition(); - if(keys[level.defaultPlayer->controls.moveRight.Retrieve()]) - { - level.defaultPlayer[0].camera.StrafeCamera(level.moveSpeed); - } - else - { - while(level.defaultPlayer->controls.moveRight.NextPosition() && (keys[level.defaultPlayer->controls.moveRight.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.moveRight.Retrieve()]) - { - level.defaultPlayer->camera.StrafeCamera(level.moveSpeed); - } - } - } - } - - ////////// - //Keyboard Look Left - if(!level.defaultPlayer->controls.lookLeft.IsEmpty()) - { - level.defaultPlayer->controls.lookLeft.FirstPosition(); - if(keys[level.defaultPlayer->controls.lookLeft.Retrieve()]) - { - level.defaultPlayer[0].camera.RotateView(level.turnSpeed, 0, 1, 0); - } - else - { - while(level.defaultPlayer->controls.lookLeft.NextPosition() && (keys[level.defaultPlayer->controls.lookLeft.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.lookLeft.Retrieve()]) - { - level.defaultPlayer[0].camera.RotateView(level.turnSpeed, 0, 1, 0); - } - } - } - } - - ////////// - //Keyboard Look Right - if(!level.defaultPlayer->controls.lookRight.IsEmpty()) - { - level.defaultPlayer->controls.lookRight.FirstPosition(); - if(keys[level.defaultPlayer->controls.lookRight.Retrieve()]) - { - level.defaultPlayer->camera.RotateView(-level.turnSpeed, 0, 1, 0); - } - else - { - while(level.defaultPlayer->controls.lookRight.NextPosition() && (keys[level.defaultPlayer->controls.lookRight.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.lookRight.Retrieve()]) - { - level.defaultPlayer->camera.RotateView(-level.turnSpeed, 0, 1, 0); - } - } - } - } - - ////////// - //Keyboard Look Up - if(!level.defaultPlayer->controls.lookUp.IsEmpty()) - { - level.defaultPlayer->controls.lookUp.FirstPosition(); - if(keys[level.defaultPlayer->controls.lookUp.Retrieve()]) - { - level.defaultPlayer->camera.RotateView(level.turnSpeed, 1, 0, 0); - } - else - { - while(level.defaultPlayer->controls.lookUp.NextPosition() && (keys[level.defaultPlayer->controls.lookUp.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.lookUp.Retrieve()]) - { - level.defaultPlayer->camera.RotateView(level.turnSpeed, 1, 0, 0); - } - } - } - } - - ////////// - //Keyboard Look Down - if(!level.defaultPlayer->controls.lookDown.IsEmpty()) - { - level.defaultPlayer->controls.lookDown.FirstPosition(); - if(keys[level.defaultPlayer->controls.lookDown.Retrieve()]) - { - level.defaultPlayer->camera.RotateView(-level.turnSpeed, 1, 0, 0); - } - else - { - while(level.defaultPlayer->controls.lookDown.NextPosition() && (keys[level.defaultPlayer->controls.lookDown.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.lookDown.Retrieve()]) - { - level.defaultPlayer->camera.RotateView(-level.turnSpeed, 1, 0, 0); - } - } - } - } - - ////////// - //Toggle Show FPS - if(!level.defaultPlayer->controls.toggleFPS.IsEmpty()) - { - level.defaultPlayer->controls.toggleFPS.FirstPosition(); - if(keys[level.defaultPlayer->controls.toggleFPS.Retrieve()]) - { - if(!keys2[level.defaultPlayer->controls.toggleFPS.Retrieve()]) - { - level.showFPS = !level.showFPS; - } - } - else - { - while(level.defaultPlayer->controls.toggleFPS.NextPosition() && (keys[level.defaultPlayer->controls.toggleFPS.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.toggleFPS.Retrieve()]) - { - if(!keys2[level.defaultPlayer->controls.toggleFPS.Retrieve()]) - { - level.showFPS = !level.showFPS; - } - } - } - } - } - - ////////// - //Toggle MouseLook - if(!level.defaultPlayer->controls.toggleMouseLook.IsEmpty()) - { - level.defaultPlayer->controls.toggleMouseLook.FirstPosition(); - if(keys[level.defaultPlayer->controls.toggleMouseLook.Retrieve()]) - { - if(keys2[level.defaultPlayer->controls.toggleMouseLook.Retrieve()]) - { - level.mlook = ! level.mlook; - } - } - else - { - while(level.defaultPlayer->controls.toggleMouseLook.NextPosition() && (keys[level.defaultPlayer->controls.toggleMouseLook.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.toggleMouseLook.Retrieve()]) - { - if(keys2[level.defaultPlayer->controls.toggleMouseLook.Retrieve()]) - { - level.mlook = ! level.mlook; - } - } - } - } - } - - ////////// - //Toggle Console - if(!level.defaultPlayer[0].controls.toggleConsole.IsEmpty()) - { - level.defaultPlayer[0].controls.toggleConsole.FirstPosition(); - if(keys[level.defaultPlayer[0].controls.toggleConsole.Retrieve()]) - { - if(!keys2[level.defaultPlayer[0].controls.toggleConsole.Retrieve()]) - { - level.showConsole = !level.showConsole; - keys2[level.defaultPlayer[0].controls.toggleConsole.Retrieve()] = true; - } - } - else - { - while(level.defaultPlayer[0].controls.toggleConsole.NextPosition() && (keys[level.defaultPlayer[0].controls.toggleConsole.Retrieve()] != true)); - { - if(keys[level.defaultPlayer[0].controls.toggleConsole.Retrieve()]) - { - if(!keys2[level.defaultPlayer[0].controls.toggleConsole.Retrieve()]) - { - level.showConsole = !level.showConsole; - keys2[level.defaultPlayer[0].controls.toggleConsole.Retrieve()] = true; - } - } - } - } - } - - ////////// - //Quick MouseLook - if(!level.defaultPlayer->controls.quickMouseLook.IsEmpty()) - { - level.defaultPlayer->controls.quickMouseLook.FirstPosition(); - if(keys[level.defaultPlayer->controls.quickMouseLook.Retrieve()]) - { - if(keys2[level.defaultPlayer->controls.quickMouseLook.Retrieve()]) - { - level.mlook = ! level.mlook; - } - } - else - { - while(level.defaultPlayer->controls.quickMouseLook.NextPosition() && (keys[level.defaultPlayer->controls.quickMouseLook.Retrieve()] != true)); - { - if(keys[level.defaultPlayer->controls.quickMouseLook.Retrieve()]) - { - if(keys2[level.defaultPlayer->controls.quickMouseLook.Retrieve()]) - { - level.mlook = ! level.mlook; - } - } - } - } - } - //level.Render(); } - level.Render(); - // + + ////////// + //Move forward + if(!level.defaultPlayer->controls.forward.IsEmpty()) + { + level.defaultPlayer->controls.forward.FirstPosition(); + if(keys[level.defaultPlayer->controls.forward.Retrieve()]) + { + level.defaultPlayer->camera.MoveCamera(level.moveSpeed); + } + else + { + while(level.defaultPlayer->controls.forward.NextPosition() && (keys[level.defaultPlayer->controls.forward.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.forward.Retrieve()]) + { + level.defaultPlayer->camera.MoveCamera(level.moveSpeed); + } + } + } + } + + ////////// + //Strafe Left + if(!level.defaultPlayer->controls.moveLeft.IsEmpty()) + { + level.defaultPlayer->controls.moveLeft.FirstPosition(); + if(keys[level.defaultPlayer->controls.moveLeft.Retrieve()]) + { + level.defaultPlayer->camera.StrafeCamera(-level.moveSpeed); + } + else + { + while(level.defaultPlayer->controls.moveLeft.NextPosition() && (keys[level.defaultPlayer->controls.moveLeft.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.moveLeft.Retrieve()]) + { + level.defaultPlayer->camera.StrafeCamera(-level.moveSpeed); + } + } + } + } + + ////////// + //Strafe Right + if(!level.defaultPlayer->controls.moveRight.IsEmpty()) + { + level.defaultPlayer->controls.moveRight.FirstPosition(); + if(keys[level.defaultPlayer->controls.moveRight.Retrieve()]) + { + level.defaultPlayer[0].camera.StrafeCamera(level.moveSpeed); + } + else + { + while(level.defaultPlayer->controls.moveRight.NextPosition() && (keys[level.defaultPlayer->controls.moveRight.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.moveRight.Retrieve()]) + { + level.defaultPlayer->camera.StrafeCamera(level.moveSpeed); + } + } + } + } + + ////////// + //Keyboard Look Left + if(!level.defaultPlayer->controls.lookLeft.IsEmpty()) + { + level.defaultPlayer->controls.lookLeft.FirstPosition(); + if(keys[level.defaultPlayer->controls.lookLeft.Retrieve()]) + { + level.defaultPlayer[0].camera.RotateView(level.turnSpeed, 0, 1, 0); + } + else + { + while(level.defaultPlayer->controls.lookLeft.NextPosition() && (keys[level.defaultPlayer->controls.lookLeft.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.lookLeft.Retrieve()]) + { + level.defaultPlayer[0].camera.RotateView(level.turnSpeed, 0, 1, 0); + } + } + } + } + + ////////// + //Keyboard Look Right + if(!level.defaultPlayer->controls.lookRight.IsEmpty()) + { + level.defaultPlayer->controls.lookRight.FirstPosition(); + if(keys[level.defaultPlayer->controls.lookRight.Retrieve()]) + { + level.defaultPlayer->camera.RotateView(-level.turnSpeed, 0, 1, 0); + } + else + { + while(level.defaultPlayer->controls.lookRight.NextPosition() && (keys[level.defaultPlayer->controls.lookRight.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.lookRight.Retrieve()]) + { + level.defaultPlayer->camera.RotateView(-level.turnSpeed, 0, 1, 0); + } + } + } + } + + ////////// + //Keyboard Look Up + if(!level.defaultPlayer->controls.lookUp.IsEmpty()) + { + level.defaultPlayer->controls.lookUp.FirstPosition(); + if(keys[level.defaultPlayer->controls.lookUp.Retrieve()]) + { + level.defaultPlayer->camera.RotateView(level.turnSpeed, 1, 0, 0); + } + else + { + while(level.defaultPlayer->controls.lookUp.NextPosition() && (keys[level.defaultPlayer->controls.lookUp.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.lookUp.Retrieve()]) + { + level.defaultPlayer->camera.RotateView(level.turnSpeed, 1, 0, 0); + } + } + } + } + + ////////// + //Keyboard Look Down + if(!level.defaultPlayer->controls.lookDown.IsEmpty()) + { + level.defaultPlayer->controls.lookDown.FirstPosition(); + if(keys[level.defaultPlayer->controls.lookDown.Retrieve()]) + { + level.defaultPlayer->camera.RotateView(-level.turnSpeed, 1, 0, 0); + } + else + { + while(level.defaultPlayer->controls.lookDown.NextPosition() && (keys[level.defaultPlayer->controls.lookDown.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.lookDown.Retrieve()]) + { + level.defaultPlayer->camera.RotateView(-level.turnSpeed, 1, 0, 0); + } + } + } + } + + ////////// + //Toggle Show FPS + if(!level.defaultPlayer->controls.toggleFPS.IsEmpty()) + { + level.defaultPlayer->controls.toggleFPS.FirstPosition(); + if(keys[level.defaultPlayer->controls.toggleFPS.Retrieve()]) + { + if(!keys2[level.defaultPlayer->controls.toggleFPS.Retrieve()]) + { + level.showFPS = !level.showFPS; + } + } + else + { + while(level.defaultPlayer->controls.toggleFPS.NextPosition() && (keys[level.defaultPlayer->controls.toggleFPS.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.toggleFPS.Retrieve()]) + { + if(!keys2[level.defaultPlayer->controls.toggleFPS.Retrieve()]) + { + level.showFPS = !level.showFPS; + } + } + } + } + } + + ////////// + //Toggle MouseLook + if(!level.defaultPlayer->controls.toggleMouseLook.IsEmpty()) + { + level.defaultPlayer->controls.toggleMouseLook.FirstPosition(); + if(keys[level.defaultPlayer->controls.toggleMouseLook.Retrieve()]) + { + if(keys2[level.defaultPlayer->controls.toggleMouseLook.Retrieve()]) + { + level.mlook = ! level.mlook; + } + } + else + { + while(level.defaultPlayer->controls.toggleMouseLook.NextPosition() && (keys[level.defaultPlayer->controls.toggleMouseLook.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.toggleMouseLook.Retrieve()]) + { + if(keys2[level.defaultPlayer->controls.toggleMouseLook.Retrieve()]) + { + level.mlook = ! level.mlook; + } + } + } + } + } + + ////////// + //Toggle Console + if(!level.defaultPlayer[0].controls.toggleConsole.IsEmpty()) + { + level.defaultPlayer[0].controls.toggleConsole.FirstPosition(); + if(keys[level.defaultPlayer[0].controls.toggleConsole.Retrieve()]) + { + if(!keys2[level.defaultPlayer[0].controls.toggleConsole.Retrieve()]) + { + level.showConsole = !level.showConsole; + keys2[level.defaultPlayer[0].controls.toggleConsole.Retrieve()] = true; + } + } + else + { + while(level.defaultPlayer[0].controls.toggleConsole.NextPosition() && (keys[level.defaultPlayer[0].controls.toggleConsole.Retrieve()] != true)); + { + if(keys[level.defaultPlayer[0].controls.toggleConsole.Retrieve()]) + { + if(!keys2[level.defaultPlayer[0].controls.toggleConsole.Retrieve()]) + { + level.showConsole = !level.showConsole; + keys2[level.defaultPlayer[0].controls.toggleConsole.Retrieve()] = true; + } + } + } + } + } + + ////////// + //Quick MouseLook + if(!level.defaultPlayer->controls.quickMouseLook.IsEmpty()) + { + level.defaultPlayer->controls.quickMouseLook.FirstPosition(); + if(keys[level.defaultPlayer->controls.quickMouseLook.Retrieve()]) + { + if(keys2[level.defaultPlayer->controls.quickMouseLook.Retrieve()]) + { + level.mlook = ! level.mlook; + } + } + else + { + while(level.defaultPlayer->controls.quickMouseLook.NextPosition() && (keys[level.defaultPlayer->controls.quickMouseLook.Retrieve()] != true)); + { + if(keys[level.defaultPlayer->controls.quickMouseLook.Retrieve()]) + { + if(keys2[level.defaultPlayer->controls.quickMouseLook.Retrieve()]) + { + level.mlook = ! level.mlook; + } + } + } + } + } + //level.Render(); } + level.Render(); + // } + } - SwapBuffers(hDC); + SwapBuffers(hDC); - if (keys[VK_F1]) + if (keys[VK_F1]) + { + keys[VK_F1]=false; + KillGLWindow(); + g_Screen.fullscreen=!g_Screen.fullscreen; + if (!CreateGLWindow("OpenArena",g_Screen.width,g_Screen.height,g_Screen.bpp,g_Screen.fullscreen)) { - keys[VK_F1]=false; - KillGLWindow(); - g_Screen.fullscreen=!g_Screen.fullscreen; - if (!CreateGLWindow("OpenArena",g_Screen.width,g_Screen.height,g_Screen.bpp,g_Screen.fullscreen)) - { - return 0; - } + return 0; } } }