X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。
リビジョン | 212 (tree) |
---|---|
日時 | 2018-11-27 23:57:45 |
作者 | xops-mikan |
死体落下中に足のモーションが再生される場合があるバグの修正、死体落下速度を改善
@@ -1118,6 +1118,7 @@ | ||
1118 | 1118 | //135度以上倒れていれば |
1119 | 1119 | if( fabs(rotation_y) >= DegreeToRadian(135) ){ |
1120 | 1120 | deadstate = 2; |
1121 | + move_y = 0.0f; | |
1121 | 1122 | return 2; |
1122 | 1123 | } |
1123 | 1124 |
@@ -1163,9 +1164,13 @@ | ||
1163 | 1164 | return 2; |
1164 | 1165 | } |
1165 | 1166 | |
1167 | + if( move_y > -4.0f ){ | |
1168 | + move_y -= 0.1f; | |
1169 | + } | |
1170 | + | |
1166 | 1171 | //次のフレームの足の座標 |
1167 | 1172 | check_posx = pos_x; |
1168 | - check_posy = pos_y - 0.5f; | |
1173 | + check_posy = pos_y - move_y - HUMAN_HEIGHT*0.5f; | |
1169 | 1174 | check_posz = pos_z; |
1170 | 1175 | |
1171 | 1176 | if( CollD->CheckALLBlockInside(check_posx, check_posy, check_posz) == true ){ |
@@ -1172,7 +1177,7 @@ | ||
1172 | 1177 | deadstate = 4; |
1173 | 1178 | } |
1174 | 1179 | else{ |
1175 | - pos_y -= 0.5f; | |
1180 | + pos_y += move_y; | |
1176 | 1181 | } |
1177 | 1182 | |
1178 | 1183 | return 2; |
@@ -3057,23 +3062,25 @@ | ||
3057 | 3062 | |
3058 | 3063 | //足のモデル設定 |
3059 | 3064 | legmodelid = id_legmodel; //立ち止まり |
3060 | - if( GetFlag(MoveFlag, MOVEFLAG_WALK) ){ | |
3061 | - legmodelid = id_walkmodel[ (walkcnt/3 % TOTAL_WALKMODE) ]; //歩き | |
3062 | - walkcnt += 1; | |
3063 | - runcnt = 0; | |
3064 | - } | |
3065 | - else{ | |
3066 | - if( GetFlag(MoveFlag, (MOVEFLAG_LEFT | MOVEFLAG_RIGHT)) ){ | |
3067 | - legmodelid = id_runmodel[ (runcnt/3 % TOTAL_RUNMODE) ]; //左右走り | |
3065 | + if( hp > 0 ){ | |
3066 | + if( GetFlag(MoveFlag, MOVEFLAG_WALK) ){ | |
3067 | + legmodelid = id_walkmodel[ (walkcnt/3 % TOTAL_WALKMODE) ]; //歩き | |
3068 | + walkcnt += 1; | |
3069 | + runcnt = 0; | |
3068 | 3070 | } |
3069 | - if( GetFlag(MoveFlag, MOVEFLAG_FORWARD) ){ | |
3070 | - legmodelid = id_runmodel[ (runcnt/2 % TOTAL_RUNMODE) ]; //前走り | |
3071 | + else{ | |
3072 | + if( GetFlag(MoveFlag, (MOVEFLAG_LEFT | MOVEFLAG_RIGHT)) ){ | |
3073 | + legmodelid = id_runmodel[ (runcnt/3 % TOTAL_RUNMODE) ]; //左右走り | |
3074 | + } | |
3075 | + if( GetFlag(MoveFlag, MOVEFLAG_FORWARD) ){ | |
3076 | + legmodelid = id_runmodel[ (runcnt/2 % TOTAL_RUNMODE) ]; //前走り | |
3077 | + } | |
3078 | + if( GetFlag(MoveFlag, MOVEFLAG_BACK) ){ | |
3079 | + legmodelid = id_runmodel[ (runcnt/4 % TOTAL_RUNMODE) ]; //後ろ走り | |
3080 | + } | |
3081 | + walkcnt = 0; | |
3082 | + runcnt += 1; | |
3071 | 3083 | } |
3072 | - if( GetFlag(MoveFlag, MOVEFLAG_BACK) ){ | |
3073 | - legmodelid = id_runmodel[ (runcnt/4 % TOTAL_RUNMODE) ]; //後ろ走り | |
3074 | - } | |
3075 | - walkcnt = 0; | |
3076 | - runcnt += 1; | |
3077 | 3084 | } |
3078 | 3085 | } |
3079 | 3086 |