X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。
Revision | 288 (tree) |
---|---|
Zeit | 2022-02-10 02:09:28 |
Autor | ![]() |
武器が自由落下する際の当たり判定の変更、武器設定パラメーターの変数名を変更。
@@ -2755,7 +2755,7 @@ | ||
2755 | 2755 | int hp; |
2756 | 2756 | int param_scopemode; |
2757 | 2757 | int param_WeaponP; |
2758 | - int param_burst; | |
2758 | + int param_pellet; | |
2759 | 2759 | int ErrorRange; |
2760 | 2760 | |
2761 | 2761 | //各種設定やゲーム情報を取得 |
@@ -2789,7 +2789,7 @@ | ||
2789 | 2789 | hp = myHuman->GetHP(); |
2790 | 2790 | param_scopemode = weapon_paramdata.scopemode; |
2791 | 2791 | param_WeaponP = weapon_paramdata.WeaponP; |
2792 | - param_burst = weapon_paramdata.burst; | |
2792 | + param_pellet = weapon_paramdata.pellet; | |
2793 | 2793 | ErrorRange = myHuman->GetGunsightErrorRange(); |
2794 | 2794 | |
2795 | 2795 | float human_x, human_y, human_z, human_rx; |
@@ -3030,7 +3030,7 @@ | ||
3030 | 3030 | } |
3031 | 3031 | |
3032 | 3032 | //照準表示 |
3033 | - if( (Camera_F1mode == false)&&(param_WeaponP != 2)&&(param_burst > 0) ){ | |
3033 | + if( (Camera_F1mode == false)&&(param_WeaponP != 2)&&(param_pellet > 0) ){ | |
3034 | 3034 | if( (weapon[selectweapon] != NULL) ){ |
3035 | 3035 | if( (myHuman->GetScopeMode() == 1)||(param_scopemode == 2) ){ |
3036 | 3036 | //簡易スコープ使用中か、精密スコープを所持しているなら、 |
@@ -2070,12 +2070,12 @@ | ||
2070 | 2070 | |
2071 | 2071 | //設定値を取得 |
2072 | 2072 | WeaponParameter ParamData; |
2073 | - int param_burst; | |
2073 | + int param_pellet; | |
2074 | 2074 | if( Param->GetWeapon(id_parameter, &ParamData) == 1 ){ return 1; } |
2075 | - param_burst = ParamData.burst; | |
2075 | + param_pellet = ParamData.pellet; | |
2076 | 2076 | |
2077 | - //発射する弾の数が0未満なら失敗 | |
2078 | - if( param_burst <= 0 ){ return 1; } | |
2077 | + //発射する弾の数(ペレット数)が0未満なら失敗 | |
2078 | + if( param_pellet <= 0 ){ return 1; } | |
2079 | 2079 | |
2080 | 2080 | //武器が手榴弾ならば〜 |
2081 | 2081 | if( id_parameter == ID_WEAPON_GRENADE ){ |
@@ -2229,17 +2229,20 @@ | ||
2229 | 2229 | } |
2230 | 2230 | } |
2231 | 2231 | |
2232 | - //ブロックに接していれば、そこまで落下する | |
2233 | - if( CollD->CheckALLBlockIntersectDummyRay(pos_x, pos_y, pos_z, 0, -1, 0, NULL, NULL, &Dist, fabs(move_y)) == true ){ | |
2234 | - CollD->CheckALLBlockIntersectRay(pos_x, pos_y, pos_z, 0, -1, 0, NULL, NULL, &Dist, fabs(move_y)); | |
2235 | - pos_y -= Dist - 0.2f; | |
2236 | - motionflag = false; | |
2237 | - return 0; | |
2232 | + //落下処理 | |
2233 | + for(int i=0; i<2; i++){ | |
2234 | + //ブロックに埋まっていれば、そこで処理終了 | |
2235 | + if( CollD->CheckALLBlockInside(pos_x, pos_y + move_y*0.5f, pos_z) == true ){ | |
2236 | + motionflag = false; | |
2237 | + return 0; | |
2238 | + } | |
2239 | + | |
2240 | + //落下させる | |
2241 | + pos_y += move_y*0.5f; | |
2238 | 2242 | } |
2239 | 2243 | |
2240 | - //座標を反映 | |
2244 | + //水平方向の座標を反映 | |
2241 | 2245 | pos_x += move_x; |
2242 | - pos_y += move_y; | |
2243 | 2246 | pos_z += move_z; |
2244 | 2247 | } |
2245 | 2248 |
@@ -1959,18 +1959,18 @@ | ||
1959 | 1959 | if( grenadeflag == false ){ |
1960 | 1960 | class bullet* newbullet; |
1961 | 1961 | |
1962 | - //(ショットガンなど)発射する弾の数分繰り返す | |
1963 | - for(int i=0; i<ParamData.burst; i++){ | |
1962 | + //ショットガンなど発射する弾(ペレット)の数分繰り返す | |
1963 | + for(int i=0; i<ParamData.pellet; i++){ | |
1964 | 1964 | int attacks; |
1965 | 1965 | float ontargetcnt; |
1966 | 1966 | float rx2, ry2; |
1967 | 1967 | |
1968 | - //(ショットガンなど)発射する弾が複数あれば | |
1969 | - if( ParamData.burst > 1 ){ | |
1968 | + //ショットガンなど発射する弾(ペレット)が複数あれば | |
1969 | + if( ParamData.pellet > 1 ){ | |
1970 | 1970 | //1個の弾あたりの攻撃力と命中時のカウント数を算出 |
1971 | 1971 | // 全弾合わせて、2倍になるようにする。 |
1972 | - attacks = (int)( (float)ParamData.attacks / ((float)ParamData.burst/2) ); | |
1973 | - ontargetcnt = 1.0f / ((float)ParamData.burst/2); | |
1972 | + attacks = (int)( (float)ParamData.attacks / ((float)ParamData.pellet/2) ); | |
1973 | + ontargetcnt = 1.0f / ((float)ParamData.pellet/2); | |
1974 | 1974 | |
1975 | 1975 | //さらに誤差を増やして拡散させる |
1976 | 1976 | int len; |
@@ -485,7 +485,7 @@ | ||
485 | 485 | Weapon[0].WeaponP = 2; |
486 | 486 | Weapon[0].ChangeWeaponID = -1; |
487 | 487 | Weapon[0].ChangeWeaponCnt = 0; |
488 | - Weapon[0].burst = 0; | |
488 | + Weapon[0].pellet = 0; | |
489 | 489 | Weapon[1].name = "MP5"; |
490 | 490 | Weapon[1].model = "./data/model/weapon/mp5.x"; |
491 | 491 | Weapon[1].texture= "./data/model/weapon/mp5.bmp"; |
@@ -518,7 +518,7 @@ | ||
518 | 518 | Weapon[1].WeaponP = 0; |
519 | 519 | Weapon[1].ChangeWeaponID = -1; |
520 | 520 | Weapon[1].ChangeWeaponCnt = 0; |
521 | - Weapon[1].burst = 1; | |
521 | + Weapon[1].pellet = 1; | |
522 | 522 | Weapon[2].name = "PSG1"; |
523 | 523 | Weapon[2].model = "./data/model/weapon/psg1.x"; |
524 | 524 | Weapon[2].texture= "./data/model/weapon/psg1.bmp"; |
@@ -551,7 +551,7 @@ | ||
551 | 551 | Weapon[2].WeaponP = 0; |
552 | 552 | Weapon[2].ChangeWeaponID = -1; |
553 | 553 | Weapon[2].ChangeWeaponCnt = 0; |
554 | - Weapon[2].burst = 1; | |
554 | + Weapon[2].pellet = 1; | |
555 | 555 | Weapon[3].name = "M92F"; |
556 | 556 | Weapon[3].model = "./data/model/weapon/m92f.x"; |
557 | 557 | Weapon[3].texture= "./data/model/weapon/m92f.bmp"; |
@@ -584,7 +584,7 @@ | ||
584 | 584 | Weapon[3].WeaponP = 1; |
585 | 585 | Weapon[3].ChangeWeaponID = -1; |
586 | 586 | Weapon[3].ChangeWeaponCnt = 0; |
587 | - Weapon[3].burst = 1; | |
587 | + Weapon[3].pellet = 1; | |
588 | 588 | Weapon[4].name = "GLOCK18 SEMI"; |
589 | 589 | Weapon[4].model = "./data/model/weapon/glock18.x"; |
590 | 590 | Weapon[4].texture= "./data/model/weapon/glock18.bmp"; |
@@ -617,7 +617,7 @@ | ||
617 | 617 | Weapon[4].WeaponP = 1; |
618 | 618 | Weapon[4].ChangeWeaponID = 16; |
619 | 619 | Weapon[4].ChangeWeaponCnt = 0; |
620 | - Weapon[4].burst = 1; | |
620 | + Weapon[4].pellet = 1; | |
621 | 621 | Weapon[5].name = "DESERT EAGLE"; |
622 | 622 | Weapon[5].model = "./data/model/weapon/de.x"; |
623 | 623 | Weapon[5].texture= "./data/model/weapon/de.bmp"; |
@@ -650,7 +650,7 @@ | ||
650 | 650 | Weapon[5].WeaponP = 1; |
651 | 651 | Weapon[5].ChangeWeaponID = -1; |
652 | 652 | Weapon[5].ChangeWeaponCnt = 0; |
653 | - Weapon[5].burst = 1; | |
653 | + Weapon[5].pellet = 1; | |
654 | 654 | Weapon[6].name = "MAC10"; |
655 | 655 | Weapon[6].model = "./data/model/weapon/mac10.x"; |
656 | 656 | Weapon[6].texture= "./data/model/weapon/mac10.bmp"; |
@@ -683,7 +683,7 @@ | ||
683 | 683 | Weapon[6].WeaponP = 1; |
684 | 684 | Weapon[6].ChangeWeaponID = -1; |
685 | 685 | Weapon[6].ChangeWeaponCnt = 0; |
686 | - Weapon[6].burst = 1; | |
686 | + Weapon[6].pellet = 1; | |
687 | 687 | Weapon[7].name = "UMP"; |
688 | 688 | Weapon[7].model = "./data/model/weapon/ump.x"; |
689 | 689 | Weapon[7].texture= "./data/model/weapon/ump.bmp"; |
@@ -716,7 +716,7 @@ | ||
716 | 716 | Weapon[7].WeaponP = 0; |
717 | 717 | Weapon[7].ChangeWeaponID = -1; |
718 | 718 | Weapon[7].ChangeWeaponCnt = 0; |
719 | - Weapon[7].burst = 1; | |
719 | + Weapon[7].pellet = 1; | |
720 | 720 | Weapon[8].name = "P90"; |
721 | 721 | Weapon[8].model = "./data/model/weapon/p90.x"; |
722 | 722 | Weapon[8].texture= "./data/model/weapon/p90.bmp"; |
@@ -749,7 +749,7 @@ | ||
749 | 749 | Weapon[8].WeaponP = 0; |
750 | 750 | Weapon[8].ChangeWeaponID = -1; |
751 | 751 | Weapon[8].ChangeWeaponCnt = 0; |
752 | - Weapon[8].burst = 1; | |
752 | + Weapon[8].pellet = 1; | |
753 | 753 | Weapon[9].name = "M4"; |
754 | 754 | Weapon[9].model = "./data/model/weapon/m4.x"; |
755 | 755 | Weapon[9].texture= "./data/model/weapon/m4.bmp"; |
@@ -782,7 +782,7 @@ | ||
782 | 782 | Weapon[9].WeaponP = 0; |
783 | 783 | Weapon[9].ChangeWeaponID = -1; |
784 | 784 | Weapon[9].ChangeWeaponCnt = 0; |
785 | - Weapon[9].burst = 1; | |
785 | + Weapon[9].pellet = 1; | |
786 | 786 | Weapon[10].name = "AK47"; |
787 | 787 | Weapon[10].model = "./data/model/weapon/ak47.x"; |
788 | 788 | Weapon[10].texture= "./data/model/weapon/ak47.bmp"; |
@@ -815,7 +815,7 @@ | ||
815 | 815 | Weapon[10].WeaponP = 0; |
816 | 816 | Weapon[10].ChangeWeaponID = -1; |
817 | 817 | Weapon[10].ChangeWeaponCnt = 0; |
818 | - Weapon[10].burst = 1; | |
818 | + Weapon[10].pellet = 1; | |
819 | 819 | Weapon[11].name = "AUG"; |
820 | 820 | Weapon[11].model = "./data/model/weapon/aug.x"; |
821 | 821 | Weapon[11].texture= "./data/model/weapon/aug.bmp"; |
@@ -848,7 +848,7 @@ | ||
848 | 848 | Weapon[11].WeaponP = 0; |
849 | 849 | Weapon[11].ChangeWeaponID = -1; |
850 | 850 | Weapon[11].ChangeWeaponCnt = 0; |
851 | - Weapon[11].burst = 1; | |
851 | + Weapon[11].pellet = 1; | |
852 | 852 | Weapon[12].name = "M249"; |
853 | 853 | Weapon[12].model = "./data/model/weapon/m249.x"; |
854 | 854 | Weapon[12].texture= "./data/model/weapon/m249.bmp"; |
@@ -881,7 +881,7 @@ | ||
881 | 881 | Weapon[12].WeaponP = 0; |
882 | 882 | Weapon[12].ChangeWeaponID = -1; |
883 | 883 | Weapon[12].ChangeWeaponCnt = 0; |
884 | - Weapon[12].burst = 1; | |
884 | + Weapon[12].pellet = 1; | |
885 | 885 | Weapon[13].name = "GRENADE"; // ID_WEAPON_GRENADE 定数を要設定 |
886 | 886 | Weapon[13].model = "./data/model/weapon/grenade.x"; |
887 | 887 | Weapon[13].texture= "./data/model/weapon/grenade.bmp"; |
@@ -914,7 +914,7 @@ | ||
914 | 914 | Weapon[13].WeaponP = 1; |
915 | 915 | Weapon[13].ChangeWeaponID = -1; |
916 | 916 | Weapon[13].ChangeWeaponCnt = 0; |
917 | - Weapon[13].burst = 1; | |
917 | + Weapon[13].pellet = 1; | |
918 | 918 | Weapon[14].name = "MP5SD"; |
919 | 919 | Weapon[14].model = "./data/model/weapon/mp5sd.x"; |
920 | 920 | Weapon[14].texture= "./data/model/weapon/mp5sd.bmp"; |
@@ -947,7 +947,7 @@ | ||
947 | 947 | Weapon[14].WeaponP = 0; |
948 | 948 | Weapon[14].ChangeWeaponID = -1; |
949 | 949 | Weapon[14].ChangeWeaponCnt = 0; |
950 | - Weapon[14].burst = 1; | |
950 | + Weapon[14].pellet = 1; | |
951 | 951 | Weapon[15].name = "CASE"; // ID_WEAPON_CASE 定数を要設定 |
952 | 952 | Weapon[15].model = "./data/model/weapon/case.x"; |
953 | 953 | Weapon[15].texture= "./data/model/weapon/case.bmp"; |
@@ -980,7 +980,7 @@ | ||
980 | 980 | Weapon[15].WeaponP = 2; |
981 | 981 | Weapon[15].ChangeWeaponID = -1; |
982 | 982 | Weapon[15].ChangeWeaponCnt = 0; |
983 | - Weapon[15].burst = 1; | |
983 | + Weapon[15].pellet = 1; | |
984 | 984 | Weapon[16].name = "GLOCK18 FULL"; |
985 | 985 | Weapon[16].model = "./data/model/weapon/glock18.x"; |
986 | 986 | Weapon[16].texture= "./data/model/weapon/glock18.bmp"; |
@@ -1013,7 +1013,7 @@ | ||
1013 | 1013 | Weapon[16].WeaponP = 1; |
1014 | 1014 | Weapon[16].ChangeWeaponID = 4; |
1015 | 1015 | Weapon[16].ChangeWeaponCnt = 0; |
1016 | - Weapon[16].burst = 1; | |
1016 | + Weapon[16].pellet = 1; | |
1017 | 1017 | Weapon[17].name = "M1911"; |
1018 | 1018 | Weapon[17].model = "./data/model/weapon/cg.x"; |
1019 | 1019 | Weapon[17].texture= "./data/model/weapon/cg.bmp"; |
@@ -1046,7 +1046,7 @@ | ||
1046 | 1046 | Weapon[17].WeaponP = 1; |
1047 | 1047 | Weapon[17].ChangeWeaponID = -1; |
1048 | 1048 | Weapon[17].ChangeWeaponCnt = 0; |
1049 | - Weapon[17].burst = 1; | |
1049 | + Weapon[17].pellet = 1; | |
1050 | 1050 | Weapon[18].name = "GLOCK17"; |
1051 | 1051 | Weapon[18].model = "./data/model/weapon/glock18.x"; |
1052 | 1052 | Weapon[18].texture= "./data/model/weapon/glock17.bmp"; |
@@ -1079,7 +1079,7 @@ | ||
1079 | 1079 | Weapon[18].WeaponP = 1; |
1080 | 1080 | Weapon[18].ChangeWeaponID = -1; |
1081 | 1081 | Weapon[18].ChangeWeaponCnt = 0; |
1082 | - Weapon[18].burst = 1; | |
1082 | + Weapon[18].pellet = 1; | |
1083 | 1083 | Weapon[19].name = "M1"; |
1084 | 1084 | Weapon[19].model = "./data/model/weapon/m1.x"; |
1085 | 1085 | Weapon[19].texture= "./data/model/weapon/m1.bmp"; |
@@ -1112,7 +1112,7 @@ | ||
1112 | 1112 | Weapon[19].WeaponP = 0; |
1113 | 1113 | Weapon[19].ChangeWeaponID = -1; |
1114 | 1114 | Weapon[19].ChangeWeaponCnt = 0; |
1115 | - Weapon[19].burst = 6; | |
1115 | + Weapon[19].pellet = 6; | |
1116 | 1116 | Weapon[20].name = "FAMAS"; |
1117 | 1117 | Weapon[20].model = "./data/model/weapon/famas.x"; |
1118 | 1118 | Weapon[20].texture= "./data/model/weapon/famas.bmp"; |
@@ -1145,7 +1145,7 @@ | ||
1145 | 1145 | Weapon[20].WeaponP = 0; |
1146 | 1146 | Weapon[20].ChangeWeaponID = -1; |
1147 | 1147 | Weapon[20].ChangeWeaponCnt = 0; |
1148 | - Weapon[20].burst = 1; | |
1148 | + Weapon[20].pellet = 1; | |
1149 | 1149 | Weapon[21].name = "MK23"; |
1150 | 1150 | Weapon[21].model = "./data/model/weapon/mk23.x"; |
1151 | 1151 | Weapon[21].texture= "./data/model/weapon/mk23.bmp"; |
@@ -1178,7 +1178,7 @@ | ||
1178 | 1178 | Weapon[21].WeaponP = 1; |
1179 | 1179 | Weapon[21].ChangeWeaponID = -1; |
1180 | 1180 | Weapon[21].ChangeWeaponCnt = 0; |
1181 | - Weapon[21].burst = 1; | |
1181 | + Weapon[21].pellet = 1; | |
1182 | 1182 | Weapon[22].name = "MK23 SD"; |
1183 | 1183 | Weapon[22].model = "./data/model/weapon/mk23sd.x"; |
1184 | 1184 | Weapon[22].texture= "./data/model/weapon/mk23.bmp"; |
@@ -1211,7 +1211,7 @@ | ||
1211 | 1211 | Weapon[22].WeaponP = 1; |
1212 | 1212 | Weapon[22].ChangeWeaponID = -1; |
1213 | 1213 | Weapon[22].ChangeWeaponCnt = 0; |
1214 | - Weapon[22].burst = 1; | |
1214 | + Weapon[22].pellet = 1; | |
1215 | 1215 | |
1216 | 1216 | #ifdef ENABLE_BUG_HUMANWEAPON |
1217 | 1217 | //特殊なバグ武器用データ |
@@ -1247,7 +1247,7 @@ | ||
1247 | 1247 | BugWeapon[0].WeaponP = 1; |
1248 | 1248 | BugWeapon[0].ChangeWeaponID = -1; |
1249 | 1249 | BugWeapon[0].ChangeWeaponCnt = 0; |
1250 | - BugWeapon[0].burst = 0; | |
1250 | + BugWeapon[0].pellet = 0; | |
1251 | 1251 | #endif |
1252 | 1252 | |
1253 | 1253 |
@@ -100,7 +100,7 @@ | ||
100 | 100 | int WeaponP; //!< 装備方法 |
101 | 101 | int ChangeWeaponID; //!< 切り替える武器対象 |
102 | 102 | int ChangeWeaponCnt; //!< 武器切り替え時間 |
103 | - int burst; //!< 発射弾数 | |
103 | + int pellet; //!< 発射弾数(ペレット数) | |
104 | 104 | }; |
105 | 105 | |
106 | 106 | //! 小物設定用の構造体 |