• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#objective-cqt誰得windowscocoapythonphprubygameguibathyscaphec翻訳omegat計画中(planning stage)frameworktwittertestdomvb.netdirectxbtronarduinopreviewerゲームエンジン

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


Commit MetaInfo

Revision303 (tree)
Zeit2022-04-15 08:18:59
Autorxops-mikan

Log Message

武器切り替え時やリロード時のモーション改善、プレイ成績・実績記録処理の修正

Ändern Zusammenfassung

Diff

--- trunk/object.cpp (revision 302)
+++ trunk/object.cpp (revision 303)
@@ -3080,6 +3080,7 @@
30803080 }
30813081
30823082 reaction_y = 0.0f;
3083+ slowarm = false;
30833084 armmodel_rotation_y = 0.0f;
30843085 legrotation_x = 0.0f;
30853086 walkcnt = 0;
@@ -3125,6 +3126,7 @@
31253126 void HumanMotionControl::Init(float rx)
31263127 {
31273128 reaction_y = 0.0f;
3129+ slowarm = false;
31283130 armmodel_rotation_y = 0.0f;
31293131 legrotation_x = rx;
31303132 walkcnt = 0;
@@ -3142,6 +3144,7 @@
31423144
31433145 //腕の角度(反動)を設定
31443146 reaction_y = DegreeToRadian(-20);
3147+ slowarm = true;
31453148 }
31463149
31473150 //! @brief 武器を切り替える(持ち替える)
@@ -3153,6 +3156,7 @@
31533156
31543157 //腕の角度(反動)を設定
31553158 reaction_y = DegreeToRadian(-20);
3159+ slowarm = true;
31563160 }
31573161
31583162 //! @brief 武器の種類切り替え
@@ -3184,6 +3188,7 @@
31843188 reaction_y = DegreeToRadian(0.5f) * ParamData.reaction;
31853189 }
31863190 }
3191+ slowarm = false;
31873192 }
31883193
31893194 //! @brief リロード
@@ -3223,14 +3228,24 @@
32233228 int ArmModelID;
32243229 float move_rx;
32253230
3226- //発砲などによる反動
3227- if( reaction_y > 0.0f ){
3228- if( reaction_y > DegreeToRadian(0.01f) ){ reaction_y *= 0.5f; }
3229- else{ reaction_y = 0.0f; }
3231+ if( slowarm == false ){
3232+ //発砲などによる反動
3233+ if( reaction_y > 0.0f ){
3234+ if( reaction_y > DegreeToRadian(0.01f) ){ reaction_y *= 0.5f; }
3235+ else{ reaction_y = 0.0f; }
3236+ }
3237+ if( reaction_y < 0.0f ){
3238+ if( reaction_y < DegreeToRadian(-0.01f) ){ reaction_y *= 0.5f; }
3239+ else{ reaction_y = 0.0f; }
3240+ }
32303241 }
3231- if( reaction_y < 0.0f ){
3232- if( reaction_y < DegreeToRadian(-0.01f) ){ reaction_y *= 0.5f; }
3233- else{ reaction_y = 0.0f; }
3242+ else{
3243+ if( (DegreeToRadian(-2.0f) < reaction_y)&&(reaction_y < DegreeToRadian(2.0f)) ){
3244+ reaction_y = 0.0f;
3245+ slowarm = false;
3246+ }
3247+ if( reaction_y > 0.0f ){ reaction_y += DegreeToRadian(-2.0f); }
3248+ if( reaction_y < 0.0f ){ reaction_y += DegreeToRadian(2.0f); }
32343249 }
32353250
32363251 //リロード中なら腕の角度を再設定
--- trunk/object.h (revision 302)
+++ trunk/object.h (revision 303)
@@ -380,6 +380,7 @@
380380 int id_walkmodel[TOTAL_WALKMODE]; //!< 足(歩く)
381381 int id_runmodel[TOTAL_RUNMODE]; //!< 足(走る)
382382 float reaction_y; //!< 腕を上げ下げする相対角度
383+ bool slowarm; //!< 腕の上げ下げをゆっくりする
383384 float armmodel_rotation_y; //!< 腕の回転角度
384385 float legrotation_x; //!< 足の回転角度
385386 int walkcnt; //!< 歩くモーションのカウント
--- trunk/objectmanager.cpp (revision 302)
+++ trunk/objectmanager.cpp (revision 303)
@@ -962,12 +962,14 @@
962962 //効果音を再生
963963 GameSound->HitHuman(x, y, z, Hit_id, Shothuman_TeamID);
964964
965- //弾を発射した人の成果に加算
966- Human_ontarget[Shothuman_id] += ontargetcnt;
967- if( Hit_id == 0 ){ Human_headshot[Shothuman_id] += 1; }
968- if( (hp_old > 0)&&(HumanIndex[HitHuman_id].GetHP() <= 0) ){
969- //ダメージ計算前に hp>0 でかつ、計算後に hp <= 0 なら、今回死亡した。
970- Human_kill[Shothuman_id] += 1;
965+ if( (0 <= Shothuman_id)&&(Shothuman_id < MAX_HUMAN) ){
966+ //弾を発射した人の成果に加算
967+ Human_ontarget[Shothuman_id] += ontargetcnt;
968+ if( Hit_id == 0 ){ Human_headshot[Shothuman_id] += 1; }
969+ if( (hp_old > 0)&&(HumanIndex[HitHuman_id].GetHP() <= 0) ){
970+ //ダメージ計算前に hp>0 でかつ、計算後に hp <= 0 なら、今回死亡した。
971+ Human_kill[Shothuman_id] += 1;
972+ }
971973 }
972974
973975 //ログ関係の処理
@@ -1098,9 +1100,9 @@
10981100 float y2;
10991101 float arx, ary;
11001102
1101- //倒していれば、発射した人の成果に加算
1102- if( HumanIndex[i].GetHP() <= 0 ){
1103- Human_kill[humanid] += 1;
1103+ if( (0 <= humanid)&&(humanid < MAX_HUMAN) ){
1104+ //倒していれば、発射した人の成果に加算
1105+ if( HumanIndex[i].GetHP() <= 0 ){ Human_kill[humanid] += 1; }
11041106 }
11051107
11061108 //エフェクト(血)を描画