X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。
| Revision | 117 (tree) |
|---|---|
| Time | 2015-12-27 02:27:23 |
| Author | |
コンソールのコマンドを1個追加(speed)
| @@ -1034,6 +1034,12 @@ | ||
| 1034 | 1034 | maingame::~maingame() |
| 1035 | 1035 | {} |
| 1036 | 1036 | |
| 1037 | +//! @brief ゲームの実行速度を取得 | |
| 1038 | +int maingame::GetGameSpeed() | |
| 1039 | +{ | |
| 1040 | + return GameSpeed; | |
| 1041 | +} | |
| 1042 | + | |
| 1037 | 1043 | int maingame::Create() |
| 1038 | 1044 | { |
| 1039 | 1045 | MainGameInfo = GameInfoData; |
| @@ -1130,6 +1136,7 @@ | ||
| 1130 | 1136 | start_framecnt = 0; |
| 1131 | 1137 | end_framecnt = 0; |
| 1132 | 1138 | EventStop = false; |
| 1139 | + GameSpeed = 1; | |
| 1133 | 1140 | message_id = -1; |
| 1134 | 1141 | message_cnt = 0; |
| 1135 | 1142 | redflash_flag = false; |
| @@ -1353,9 +1360,11 @@ | ||
| 1353 | 1360 | |
| 1354 | 1361 | if( inputCtrl->CheckKeyDown(GetEscKeycode()) ){ //ゲーム終了操作かチェック |
| 1355 | 1362 | GameState->PushBackSpaceKey(); |
| 1363 | + GameSpeed = 1; | |
| 1356 | 1364 | } |
| 1357 | 1365 | else if( inputCtrl->CheckKeyDown( GetFunctionKeycode(12) ) ){ //リセット操作かチェック |
| 1358 | 1366 | GameState->PushF12Key(); |
| 1367 | + GameSpeed = 1; | |
| 1359 | 1368 | } |
| 1360 | 1369 | |
| 1361 | 1370 | //カメラ表示モード変更操作かチェック |
| @@ -1886,6 +1895,7 @@ | ||
| 1886 | 1895 | GameInfoData.headshot = MainGameInfo.headshot; //敵の頭部に命中した数 |
| 1887 | 1896 | |
| 1888 | 1897 | GameState->PushMouseButton(); |
| 1898 | + GameSpeed = 1; | |
| 1889 | 1899 | } |
| 1890 | 1900 | } |
| 1891 | 1901 | } |
| @@ -2676,7 +2686,7 @@ | ||
| 2676 | 2686 | AddInfoConsole(d3dg->GetColorCode(1.0f,1.0f,1.0f,1.0f), "revive treat <NUM> nodamage <NUM>"); |
| 2677 | 2687 | AddInfoConsole(d3dg->GetColorCode(1.0f,1.0f,1.0f,1.0f), "kill <NUM> break <NUM> newobj <NUM> ff"); |
| 2678 | 2688 | AddInfoConsole(d3dg->GetColorCode(1.0f,1.0f,1.0f,1.0f), "bot nofight caution stop"); |
| 2679 | - AddInfoConsole(d3dg->GetColorCode(1.0f,1.0f,1.0f,1.0f), "estop ss clear"); | |
| 2689 | + AddInfoConsole(d3dg->GetColorCode(1.0f,1.0f,1.0f,1.0f), "estop speed ss clear"); | |
| 2680 | 2690 | } |
| 2681 | 2691 | |
| 2682 | 2692 | //人の統計情報 |
| @@ -3029,6 +3039,16 @@ | ||
| 3029 | 3039 | AddInfoConsole(d3dg->GetColorCode(1.0f,1.0f,1.0f,1.0f), str); |
| 3030 | 3040 | } |
| 3031 | 3041 | |
| 3042 | + //ゲームの実行速度 | |
| 3043 | + if( strcmp(NewCommand, "speed") == 0 ){ | |
| 3044 | + if( GameSpeed == 1 ){ GameSpeed = 2; } | |
| 3045 | + else if( GameSpeed == 2 ){ GameSpeed = 4; } | |
| 3046 | + else{ GameSpeed = 1; } | |
| 3047 | + | |
| 3048 | + sprintf(str, "Set GameSpeed x%d", GameSpeed); | |
| 3049 | + AddInfoConsole(d3dg->GetColorCode(1.0f,1.0f,1.0f,1.0f), str); | |
| 3050 | + } | |
| 3051 | + | |
| 3032 | 3052 | //スクリーンショットを撮影 |
| 3033 | 3053 | // ※コンソール画面を削除するため、撮影を1フレーム遅らせる。 |
| 3034 | 3054 | if( ScreenShot == 2 ){ |
| @@ -3067,6 +3087,7 @@ | ||
| 3067 | 3087 | //リセット操作 |
| 3068 | 3088 | if( strcmp(NewCommand, "f12") == 0 ){ |
| 3069 | 3089 | GameState->PushF12Key(); |
| 3090 | + GameSpeed = 1; | |
| 3070 | 3091 | } |
| 3071 | 3092 | #endif |
| 3072 | 3093 | } |
| @@ -3308,9 +3329,11 @@ | ||
| 3308 | 3329 | |
| 3309 | 3330 | //メインゲーム実行 |
| 3310 | 3331 | case STATE_NOW_MAINGAME: |
| 3311 | - MainGame->Input(); | |
| 3312 | - MainGame->Process(); | |
| 3313 | - MainGame->Sound(); | |
| 3332 | + for(int i=0; i<MainGame->GetGameSpeed(); i++){ | |
| 3333 | + MainGame->Input(); | |
| 3334 | + MainGame->Process(); | |
| 3335 | + MainGame->Sound(); | |
| 3336 | + } | |
| 3314 | 3337 | if( (GameConfig.GetFrameskipFlag() == false)||(framecnt%2 == 0) ){ |
| 3315 | 3338 | if( MainGame->RenderMain() == true ){ |
| 3316 | 3339 | if( ResetGame(WindowCtrl) == 0 ){ |
| @@ -182,6 +182,7 @@ | ||
| 182 | 182 | int start_framecnt; //!< メインゲーム開始時のカウント |
| 183 | 183 | int end_framecnt; //!< メインゲーム終了のカウント |
| 184 | 184 | bool EventStop; //!< イベント処理を停止する |
| 185 | + int GameSpeed; //!< ゲームの実行速度(1以上の整数値) | |
| 185 | 186 | int message_id; //!< 表示中のイベントメッセージ番号 |
| 186 | 187 | int message_cnt; //!< 表示中のイベントメッセージカウント |
| 187 | 188 | bool redflash_flag; //!< レッドフラッシュ描画フラグ |
| @@ -217,6 +218,7 @@ | ||
| 217 | 218 | public: |
| 218 | 219 | maingame(); |
| 219 | 220 | ~maingame(); |
| 221 | + int GetGameSpeed(); | |
| 220 | 222 | int Create(); |
| 221 | 223 | int Recovery(); |
| 222 | 224 | void Input(); |