• R/O
  • SSH
  • HTTPS

コミット

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-cqtcocoa誰得pythonphprubygameguibathyscaphec翻訳計画中(planning stage)omegatframeworktwittertestdomvb.netdirectxbtronarduinopreviewerゲームエンジン

X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。


コミットメタ情報

リビジョン345 (tree)
日時2023-01-15 17:50:03
作者xops-mikan

ログメッセージ

追加設定ファイル(.ini)でマウス移動量制限の有無を設定できるように

変更サマリ

差分

--- trunk/config.cpp (revision 344)
+++ trunk/config.cpp (revision 345)
@@ -52,6 +52,7 @@
5252 ShowArmFlag = false;
5353 ScreenWidth = 0;
5454 ScreenHeight = 0;
55+ MouseLimitFlag = true;
5556 mastervolume = 0.0f;
5657 }
5758
@@ -568,6 +569,14 @@
568569 fprintf(fp, "\n");
569570 fprintf(fp, "\n");
570571
572+ fprintf(fp, "[Input]\n");
573+ fprintf(fp, ";Limit mouse input control.\n");
574+ fprintf(fp, "; 0: OFF\n");
575+ fprintf(fp, "; 1: ON (default)\n");
576+ fprintf(fp, "MouseLimit = 1\n");
577+ fprintf(fp, "\n");
578+ fprintf(fp, "\n");
579+
571580 fprintf(fp, "[Sounds]\n");
572581 fprintf(fp, ";Game sound volume. (0.0 ~ 1.0)\n");
573582 fprintf(fp, "MasterVolume = 1.0\n");
@@ -632,6 +641,11 @@
632641 default: ScreenWidth = DEFAULT_SCREEN_WIDTH; ScreenHeight = DEFAULT_SCREEN_HEIGHT; break;
633642 }
634643
644+ //マウス移動量制限フラグ
645+ mode = INIConfig.GetINIFileInt("Input", "MouseLimit", 1, NULL);
646+ if( mode == 0 ){ MouseLimitFlag = false; }
647+ else{ MouseLimitFlag = true; }
648+
635649 //音量取得
636650 mastervolume = INIConfig.GetINIFileFloat("Sounds", "MasterVolume", 1.0f, NULL);
637651 if( mastervolume < 0.0f ){ mastervolume = 0.0f; }
@@ -660,6 +674,7 @@
660674 ShowArmFlag = false;
661675 ScreenWidth = DEFAULT_SCREEN_WIDTH;
662676 ScreenHeight = DEFAULT_SCREEN_HEIGHT;
677+ MouseLimitFlag = true;
663678 mastervolume = 1.0f;
664679 }
665680
@@ -691,6 +706,13 @@
691706 return ScreenHeight;
692707 }
693708
709+//! @brief マウス移動量制限フラグ
710+//! @return 値
711+bool Config::GetMouseLimitFlag()
712+{
713+ return MouseLimitFlag;
714+}
715+
694716 //! @brief 音量設定を取得
695717 //! @return 値
696718 float Config::GetVolume()
--- trunk/config.h (revision 344)
+++ trunk/config.h (revision 345)
@@ -83,6 +83,7 @@
8383 bool ShowArmFlag; //!< 腕表示フラグ
8484 int ScreenWidth; //!< 画面解像度(幅)
8585 int ScreenHeight; //!< 画面解像度(高さ)
86+ bool MouseLimitFlag; //!< マウス移動量制限フラグ
8687 float mastervolume; //!< 音量
8788
8889 public:
@@ -120,6 +121,7 @@
120121 bool GetShowArmFlag();
121122 int GetScreenWidth();
122123 int GetScreenHeight();
124+ bool GetMouseLimitFlag();
123125 float GetVolume();
124126 };
125127
--- trunk/gamemain.cpp (revision 344)
+++ trunk/gamemain.cpp (revision 345)
@@ -99,6 +99,9 @@
9999 Resource.LoadBulletSound();
100100 Resource.LoadEffectTexture();
101101
102+ //入力処理設定
103+ inputCtrl.SetMouseLimitFlag( GameConfig.GetMouseLimitFlag() );
104+
102105 //効果音初期化
103106 float volume;
104107 if( GameConfig.GetSoundFlag() == false ){
--- trunk/input.cpp (revision 344)
+++ trunk/input.cpp (revision 345)
@@ -42,6 +42,7 @@
4242 #else
4343 InitFlag = false;
4444 #endif
45+ MouseLimitFlag = true;
4546
4647 //キーボード設定値初期化
4748 for(int i=0; i<256; i++){
@@ -278,6 +279,14 @@
278279 }
279280 #endif
280281
282+//! @brief マウス移動量を制限するフラグ設定
283+//! @param flag 有効:true 無効:false
284+//! @attention マウス入力量がchar型 8bit相当になります。
285+void InputControl::SetMouseLimitFlag(bool flag)
286+{
287+ MouseLimitFlag = flag;
288+}
289+
281290 //! @brief 入力デバイスの状態を更新
282291 //! @param mousemode マウスの座標取得 絶対値(座標):false 相対値(移動量):true
283292 void InputControl::GetInputState(bool mousemode)
@@ -391,15 +400,15 @@
391400 }
392401 #endif
393402
394-#ifdef ENABLE_INPUT_MOUSE8BIT
395- //マウスが相対値(移動量)取得モードならば、char型 8bit相当にする。
396- if( mousemode == true ){
397- if( mx > 127 ) { mx = 127; }
398- if( mx < -128 ){ mx = -128; }
399- if( my > 127 ) { my = 127; }
400- if( my < -128 ){ my = -128; }
403+ if( MouseLimitFlag == true ){
404+ //マウスが相対値(移動量)取得モードならば、char型 8bit相当にする。
405+ if( mousemode == true ){
406+ if( mx > 127 ) { mx = 127; }
407+ if( mx < -128 ){ mx = -128; }
408+ if( my > 127 ) { my = 127; }
409+ if( my < -128 ){ my = -128; }
410+ }
401411 }
402-#endif
403412 }
404413
405414 //! @brief マウスを中心に移動
--- trunk/input.h (revision 344)
+++ trunk/input.h (revision 345)
@@ -70,6 +70,7 @@
7070 #else
7171 bool InitFlag; //!< 初期化フラグ
7272 #endif
73+ bool MouseLimitFlag; //!< マウス移動量を制限するフラグ
7374 char keys[256]; //!< キー情報を格納する配列
7475 char keys_lt[256]; //!< (前回の)キー情報を格納する配列
7576 int mx; //!< マウスのX座標
@@ -97,6 +98,7 @@
9798 ~InputControl();
9899 int InitInput(WindowControl *WindowCtrl);
99100 void DestroyInput();
101+ void SetMouseLimitFlag(bool flag);
100102 void GetInputState(bool mousemode);
101103 void MoveMouseCenter();
102104 bool CheckKeyNow(int id);
--- trunk/main.h (revision 344)
+++ trunk/main.h (revision 345)
@@ -69,7 +69,6 @@
6969
7070 #define ENABLE_BUG_HUMANWEAPON //!< 範囲外の人・武器種類番号を用いたバグを再現する(コメント化で無効)
7171 #define ENABLE_BUG_TEAMID //!< チーム番号を負数に設定した際のバグを再現する(コメント化で無効)
72-#define ENABLE_INPUT_MOUSE8BIT //!< マウス入力をchar型 8bitにする(コメント化で無効)
7372 #define ENABLE_WEAPONNAME_SCALING //!< 武器名が長い場合に表示を縮小する(コメント化で無効)
7473 #define ENABLE_ADDOBJ_PARAM8BIT //!< 追加小物の設定値をchar型 8bitにする(コメント化で無効)
7574 #define ENABLE_DEBUGCONSOLE //!< デバック用コンソールの有効化(コメント化で機能無効)