void __Game_Screen__minimapCbClickDown(ID::Control* mm, ID::Event* e, void* _gs) { if (e->clickDown.button == SDL_BUTTON_LEFT) { std::cout << e->clickDown.button << "\n"; Game_Screen* gs; gs = (Game_Screen*)_gs; gs->movingCam = true; SetCam((ID::Drawable*)mm, e->clickDown.x, e->clickDown.y); } }
void __Game_Screen__minimapCbMotion(ID::Control* mm, ID::Event* e, void* _gs) { Game_Screen* gs; gs = (Game_Screen*)_gs; if (e->motion.state == SDL_BUTTON_LEFT) { if (gs->movingCam == true) SetCam((ID::Drawable*)mm, e->motion.x, e->motion.y); Selector_CbMotion(e, gs); MapScrolling_CbMotion(e, gs); } }
void NWApp::CalcActor() { Camera cam = GetCame(); cam.fCamX = m_player.m_fX; cam.fCamY = m_player.m_fY; cam.fCamZ = m_player.m_fZ; cam.fCamAng = m_player.m_fAngle; SetCam(cam); if (m_player.GetMoveStatus() & MoveUp) { m_player.MoveUp(); } else if (m_player.GetMoveStatus() & MoveDown) { m_player.MoveDown(); } if (m_player.GetMoveStatus() & MoveTurnLeft) { m_player.TurnLeft(); } else if (m_player.GetMoveStatus() & MoveTurnRight) { m_player.TrunRight(); } if (m_player.GetMoveStatus()) { m_plink->SendPlayerPos(m_player.m_fX, m_player.m_fY, m_player.m_fZ, m_player.m_fAngle); } auto list = m_plink->GetObjectList(); if (list.size() > 0) { UpdateObjects(list); } auto listRemove = m_plink->GetRemoveList(); if (listRemove.size() > 0) { RemoveObjects(listRemove); } }
void Update (DWORD milliseconds) // Perform Motion Updates Here { Updown=angle=angle2=posX=posY=posZ=0.0f; if(g_keys->keyDown ['X'] == TRUE) posY=+movespeed; if(g_keys->keyDown ['Z'] == TRUE) posY=-movespeed; if(g_keys->keyDown ['A'] == TRUE) posX=-movespeed; //angle=-1.0f; if(g_keys->keyDown ['D'] == TRUE) //angle=+1.0f; posX=+movespeed; if(g_keys->keyDown ['W'] == TRUE) posZ=-movespeed; if(g_keys->keyDown ['S'] == TRUE) posZ=+movespeed; if(g_keys->keyDown [VK_LEFT] == TRUE) angle=-angleSpeed; if(g_keys->keyDown [VK_RIGHT] == TRUE) angle=+angleSpeed; if(g_keys->keyDown [VK_UP] == TRUE) Updown=-angleSpeed; //posY=-5.0f*(1.0f*doangle+0.05f); if(g_keys->keyDown [VK_DOWN] == TRUE) Updown=+angleSpeed; //posY=+5.0f*(1.0f*doangle+0.05f); /*if(g_keys->keyDown ['Z'] == TRUE) posZ=-10.0f; if(g_keys->keyDown ['X'] == TRUE) posZ=+10.0f;*/ if(g_keys->keyDown [VK_SUBTRACT] == TRUE) movespeed=movespeed-0.025f; if(g_keys->keyDown [VK_ADD] == TRUE) movespeed=movespeed+0.025f; if(movespeed<0.0f) movespeed=0.0f; // ROACH if(g_keys->keyDown [VK_SPACE] == TRUE) domulti=!domulti; if(g_keys->keyDown ['M'] == TRUE) doangle=!doangle; // ENDROACH if (g_keys->keyDown [VK_ESCAPE] == TRUE) // Is ESC Being Pressed? { TerminateApplication (g_window); // Terminate The Program } if (g_keys->keyDown [VK_F1] == TRUE) // Is F1 Being Pressed? { //ToggleFullscreen (g_window); // Toggle Fullscreen Mode } if(g_keys->keyDown [VK_HOME] == TRUE) { InMd5Camera=0; SetCam(Vector3d(1974.1 ,-571.056 ,-1314.86),Vector3d(1822.22 ,-576.522 ,-1286.59)); } if(menuid==ID_MENU_EXIT) TerminateApplication (g_window); if(menuid==ID_MENU_OPEN_WIN) OpenSelectWindow(); if(menuid==ID_MENU_FULLS) { if(isMAXSIZEWIN) ShowWindow (g_window->hWnd, SW_NORMAL); else ShowWindow (g_window->hWnd, SW_SHOWMAXIMIZED); isMAXSIZEWIN=!isMAXSIZEWIN; } if(menuid==ID_MENU_FILL) { _RenderMode=GL_FILL; glPolygonMode(GL_FRONT_AND_BACK,GL_FILL); } if(menuid==ID__MENU_FRAME) { _RenderMode=GL_LINE; glPolygonMode(GL_FRONT_AND_BACK,GL_LINE); } if(menuid==ID__MENU_FRAME_WIDTH) { DialogBox( hIns, MAKEINTRESOURCE( IDD_DIALOG_FRAME_WIDTH ), g_window->hWnd, LineWidthDlgProc ); } if(menuid==ID_MENU_FOG_SET) { DialogBox( hIns, MAKEINTRESOURCE( IDD_DIALOG_SET_FOG ), g_window->hWnd, SetFogDlgProc ); } if(menuid==ID_MENU_ROAMING_ROUTE_1) { InMd5Camera=1; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_ROAMING_ROUTE_2) { InMd5Camera=2; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_ROAMING_ROUTE_3) { InMd5Camera=3; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_ROAMING_ROUTE_4) { InMd5Camera=4; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_ROAMING_ROUTE_5) { InMd5Camera=5; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_ROAMING_ROUTE_6) { InMd5Camera=6; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_ROAMING_ROUTE_7) { InMd5Camera=7; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_ROAMING_ROUTE_8) { InMd5Camera=8; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_ROAMING_ROUTE_9) { InMd5Camera=9; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_ROAMING_ROUTE_10) { InMd5Camera=10; QueryPerformanceCounter(&t4); Md5Cameras[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); Md5CamerasT[InMd5Camera].StartTime=double(t4.QuadPart)/double(feq.QuadPart); if(Md5Cameras[InMd5Camera].numFrames==0) InMd5Camera=0; if(Md5CamerasT[InMd5Camera].numFrames==0) InMd5Camera=0; } if(menuid==ID_MENU_BGM_1) { PlaySound1(); } if(menuid==ID_MENU_BGM_2) { PlaySound2(); } if(menuid==ID_MENU_BGM_3) { PlaySound3(); } if(menuid==ID_MENU_BGM_STOP) { StopSound(); } if(menuid==ID_40031) { isDrawReadMeTex=!isDrawReadMeTex; } if(menuid==ID_MENU_ROAMING_SCENE_1) { InMd5Camera=0; SetCam(Vector3d(1947.91 ,-585.33 ,-1310.41),Vector3d(1822.22 ,-576.522 ,-1286.59)); } if(menuid==ID_MENU_ROAMING_SCENE_2) { InMd5Camera=0; SetCam(Vector3d(2018.82 ,-558.228 ,-956.967),Vector3d(1933.39 ,-557.79 ,-932.265)); } if(menuid==ID_MENU_ROAMING_SCENE_3) { InMd5Camera=0; SetCam(Vector3d(1634.25 ,-412.181 ,1305.57),Vector3d(1387.05 ,-450.88 ,787.698)); } if(menuid==ID_MENU_ROAMING_SCENE_4) { InMd5Camera=0; //SetCam(Vector3d(-988.271 ,-137.959 ,421.266),Vector3d(-988.271 ,-137.959 ,421.266)); SetCam(Vector3d(973.94 ,-403.52 ,240.215),Vector3d(336.267 ,-426.86 ,400.856)); } if(menuid==ID_MENU_ROAMING_SCENE_5) { InMd5Camera=0; SetCam(Vector3d(-988.271 ,137.959 ,-421.266),Vector3d(-1140.5 ,-106.263 ,-813.717)); } if(menuid==ID_MENU_ROAMING_SCENE_6) { InMd5Camera=0; //SetCam(Vector3d(1974.1 ,-571.056 ,-1314.86),Vector3d(1822.22 ,-576.522 ,-1286.59)); SetCam(Vector3d(-211.127 ,-549.864 ,-168.501),Vector3d(-233.653 ,-549.864 ,-161.012)); } if(menuid==ID_MENU_ROAMING_SCENE_7) { InMd5Camera=0; SetCam(Vector3d(-230.3 ,-556.198 ,-166.662),Vector3d(-244.503 ,-556.278 ,-162.667)); } if(menuid==ID_MENU_ROAMING_SCENE_8) { InMd5Camera=0; SetCam(Vector3d(-318.782 ,-563.464 ,-135.023),Vector3d(-254.623 ,-563.485 ,-158.523)); } if(menuid==ID_MENU_ROAMING_SCENE_9) { InMd5Camera=0; SetCam(Vector3d(-242.752 ,-558.432 ,-152.891),Vector3d(-232.269 ,-558.151 ,-125.493)); } if(menuid==ID_MENU_ROAMING_SCENE_10) { InMd5Camera=0; SetCam(Vector3d(-282.958 ,-553.557 ,-43.5626),Vector3d(-279.114 ,-553.811 ,-41.512)); } if(menuid==ID_MOVE_SPEED_LOW) { //angleSpeed=1.0; movespeed=1.0; } if(menuid==ID_MOVE_SPEED_MID) { //angleSpeed=2.0; movespeed=5.0; } if(menuid==ID_MOVE_SPEED_HIGH) { //angleSpeed=3.0; movespeed=25.0; } if(menuid==ID_ANGLE_SPEED_LOW) { angleSpeed=1.0; //movespeed=1.0; } if(menuid==ID_ANGLE_SPEED_MID) { angleSpeed=2.0; //movespeed=5.0; } if(menuid==ID_ANGLE_SPEED_HIGH) { angleSpeed=3.0; //movespeed=25.0; } menuid=0; LockFPS(); }