• R/O
  • SSH
  • HTTPS

Commit

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

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


Commit MetaInfo

Revision254 (tree)
Time2020-12-30 23:06:58
Authorxops-mikan

Log Message

死亡判定後から死体になるまでの間に一部裏技を使用できるよう改善、死亡した人への弾の当たり判定を無効化。

Change Summary

Incremental Difference

--- trunk/gamemain.cpp (revision 253)
+++ trunk/gamemain.cpp (revision 254)
@@ -2167,36 +2167,36 @@
21672167 ObjMgr.ChangeScopeMode(PlayerID);
21682168 }
21692169
2170- //カメラ表示モード変更操作かチェック
2171- if( inputCtrl->CheckKeyDown( GetFunctionKeycode(1) ) ){
2172- if( Camera_F1mode == false ){
2173- Camera_F1mode = true;
2174- view_rx = 0.0f;
2175- view_ry = VIEW_F1MODE_ANGLE;
2176- }
2177- else{
2178- Camera_F1mode = false;
2179- view_rx = 0.0f;
2180- view_ry = 0.0f;
2181- }
2170+ }
2171+
2172+ //カメラ表示モード変更操作かチェック
2173+ if( inputCtrl->CheckKeyDown( GetFunctionKeycode(1) ) ){
2174+ if( Camera_F1mode == false ){
2175+ Camera_F1mode = true;
2176+ view_rx = 0.0f;
2177+ view_ry = VIEW_F1MODE_ANGLE;
21822178 }
2179+ else{
2180+ Camera_F1mode = false;
2181+ view_rx = 0.0f;
2182+ view_ry = 0.0f;
2183+ }
2184+ }
21832185
2184- //カメラ操作
2185- if( Camera_F1mode == true ){
2186- if( inputCtrl->CheckKeyNow( OriginalkeycodeToDinputdef(0x0C) ) ){ //NUM8
2187- view_ry -= INPUT_F1NUMKEYS_ANGLE;
2188- }
2189- if( inputCtrl->CheckKeyNow( OriginalkeycodeToDinputdef(0x09) ) ){ //NUM5
2190- view_ry += INPUT_F1NUMKEYS_ANGLE;
2191- }
2192- if( inputCtrl->CheckKeyNow( OriginalkeycodeToDinputdef(0x08) ) ){ //NUM4
2193- view_rx -= INPUT_F1NUMKEYS_ANGLE;
2194- }
2195- if( inputCtrl->CheckKeyNow( OriginalkeycodeToDinputdef(0x0A) ) ){ //NUM6
2196- view_rx += INPUT_F1NUMKEYS_ANGLE;
2197- }
2186+ //カメラ操作
2187+ if( Camera_F1mode == true ){
2188+ if( inputCtrl->CheckKeyNow( OriginalkeycodeToDinputdef(0x0C) ) ){ //NUM8
2189+ view_ry -= INPUT_F1NUMKEYS_ANGLE;
21982190 }
2199-
2191+ if( inputCtrl->CheckKeyNow( OriginalkeycodeToDinputdef(0x09) ) ){ //NUM5
2192+ view_ry += INPUT_F1NUMKEYS_ANGLE;
2193+ }
2194+ if( inputCtrl->CheckKeyNow( OriginalkeycodeToDinputdef(0x08) ) ){ //NUM4
2195+ view_rx -= INPUT_F1NUMKEYS_ANGLE;
2196+ }
2197+ if( inputCtrl->CheckKeyNow( OriginalkeycodeToDinputdef(0x0A) ) ){ //NUM6
2198+ view_rx += INPUT_F1NUMKEYS_ANGLE;
2199+ }
22002200 }
22012201
22022202 // ここまで通常操作系
@@ -2203,16 +2203,16 @@
22032203 //
22042204 // ここから裏技系
22052205
2206+ //裏技・上昇の操作かチェック
2207+ if( (inputCtrl->CheckKeyNow( GetFunctionKeycode(5) ))&&(inputCtrl->CheckKeyNow(OriginalkeycodeToDinputdef(0x0F))) ){ // F5 + [ENTER]
2208+ Cmd_F5 = true;
2209+ }
2210+ else{
2211+ Cmd_F5 = false;
2212+ }
2213+
22062214 if( myHuman->GetHP() > 0 ){
22072215
2208- //裏技・上昇の操作かチェック
2209- if( (inputCtrl->CheckKeyNow( GetFunctionKeycode(5) ))&&(inputCtrl->CheckKeyNow(OriginalkeycodeToDinputdef(0x0F))) ){ // F5 + [ENTER]
2210- Cmd_F5 = true;
2211- }
2212- else{
2213- Cmd_F5 = false;
2214- }
2215-
22162216 //裏技・弾追加の操作かチェック
22172217 if( inputCtrl->CheckKeyNow( GetFunctionKeycode(6) ) ){
22182218 if( inputCtrl->CheckKeyDown(OriginalkeycodeToDinputdef(0x0F)) ){ // [ENTER]
@@ -2288,63 +2288,60 @@
22882288 }
22892289 }
22902290
2291- if( myHuman->GetHP() > 0 ){
2291+ //裏技・人追加の操作かチェック
2292+ if( inputCtrl->CheckKeyNow( GetFunctionKeycode(9) ) ){
2293+ if( (inputCtrl->CheckKeyDown(OriginalkeycodeToDinputdef(0x00)))||(inputCtrl->CheckKeyDown(OriginalkeycodeToDinputdef(0x01))) ){ // [↑]・[↓]
2294+ float x, y, z, r;
2295+ int param, dataid, team;
2296+ int selectweapon;
2297+ weapon *weapon[TOTAL_HAVEWEAPON];
2298+ int weapon_paramid[TOTAL_HAVEWEAPON];
2299+ for(int i=0; i<TOTAL_HAVEWEAPON; i++){
2300+ weapon[i] = NULL;
2301+ weapon_paramid[i] = 0;
2302+ }
2303+ int id;
22922304
2293- //裏技・人追加の操作かチェック
2294- if( inputCtrl->CheckKeyNow( GetFunctionKeycode(9) ) ){
2295- if( (inputCtrl->CheckKeyDown(OriginalkeycodeToDinputdef(0x00)))||(inputCtrl->CheckKeyDown(OriginalkeycodeToDinputdef(0x01))) ){ // [↑]・[↓]
2296- float x, y, z, r;
2297- int param, dataid, team;
2298- int selectweapon;
2299- weapon *weapon[TOTAL_HAVEWEAPON];
2300- int weapon_paramid[TOTAL_HAVEWEAPON];
2301- for(int i=0; i<TOTAL_HAVEWEAPON; i++){
2302- weapon[i] = NULL;
2303- weapon_paramid[i] = 0;
2305+ //プレイヤーの座標や武器を取得
2306+ myHuman->GetPosData(&x, &y, &z, &r);
2307+ myHuman->GetParamData(&param, &dataid, NULL, &team);
2308+ myHuman->GetWeapon(&selectweapon, weapon, NULL, NULL);
2309+ for(int i=0; i<TOTAL_HAVEWEAPON; i++){
2310+ if( weapon[i] != NULL ){
2311+ weapon[i]->GetParamData(&weapon_paramid[i], NULL, NULL);
23042312 }
2305- int id;
2313+ }
23062314
2307- //プレイヤーの座標や武器を取得
2308- myHuman->GetPosData(&x, &y, &z, &r);
2309- myHuman->GetParamData(&param, &dataid, NULL, &team);
2310- myHuman->GetWeapon(&selectweapon, weapon, NULL, NULL);
2311- for(int i=0; i<TOTAL_HAVEWEAPON; i++){
2312- if( weapon[i] != NULL ){
2313- weapon[i]->GetParamData(&weapon_paramid[i], NULL, NULL);
2314- }
2315- }
2315+ //プレイヤーの目の前の座標を取得
2316+ x += cos(r*-1 + (float)M_PI/2)*10.0f;
2317+ y += 5.0f;
2318+ z += sin(r*-1 + (float)M_PI/2)*10.0f;
23162319
2317- //プレイヤーの目の前の座標を取得
2318- x += cos(r*-1 + (float)M_PI/2)*10.0f;
2319- y += 5.0f;
2320- z += sin(r*-1 + (float)M_PI/2)*10.0f;
2320+ //人を追加
2321+ id = ObjMgr.AddHumanIndex(x, y, z, r, param, team, weapon_paramid);
2322+ if( id >= 0 ){
2323+ ObjMgr.ChangeHaveWeapon(id, selectweapon);
23212324
2322- //人を追加
2323- id = ObjMgr.AddHumanIndex(x, y, z, r, param, team, weapon_paramid);
2324- if( id >= 0 ){
2325- ObjMgr.ChangeHaveWeapon(id, selectweapon);
2326-
2327- //AIを設定
2328- HumanAI[id].Init();
2329- if( inputCtrl->CheckKeyDown(OriginalkeycodeToDinputdef(0x00)) ){ // [↑]
2330- HumanAI[id].SetHoldTracking(PlayerID);
2331- }
2332- if( inputCtrl->CheckKeyDown(OriginalkeycodeToDinputdef(0x01)) ){ // [↓]
2333- HumanAI[id].SetHoldWait(x, z, r);
2334- }
2325+ //AIを設定
2326+ HumanAI[id].Init();
2327+ if( inputCtrl->CheckKeyDown(OriginalkeycodeToDinputdef(0x00)) ){ // [↑]
2328+ HumanAI[id].SetHoldTracking(PlayerID);
23352329 }
2330+ if( inputCtrl->CheckKeyDown(OriginalkeycodeToDinputdef(0x01)) ){ // [↓]
2331+ HumanAI[id].SetHoldWait(x, z, r);
2332+ }
23362333 }
23372334 }
2335+ }
23382336
2339- //裏技・腕描画の操作かチェック
2340- if( inputCtrl->CheckKeyDown( GetHomeKeycode() ) ){
2341- if( Camera_HOMEmode == false ){
2342- Camera_HOMEmode = true;
2343- }
2344- else{
2345- Camera_HOMEmode = false;
2346- }
2337+ //裏技・腕描画の操作かチェック
2338+ if( inputCtrl->CheckKeyDown( GetHomeKeycode() ) ){
2339+ if( Camera_HOMEmode == false ){
2340+ Camera_HOMEmode = true;
23472341 }
2342+ else{
2343+ Camera_HOMEmode = false;
2344+ }
23482345 }
23492346 }
23502347
--- trunk/object.cpp (revision 253)
+++ trunk/object.cpp (revision 254)
@@ -1699,6 +1699,12 @@
16991699 if( CollD == NULL ){ return 0; }
17001700 if( EnableFlag == false ){ return 0; }
17011701
1702+ //F5を使用していれば、強制的に上昇
1703+ if( F5mode == true ){
1704+ move_y = 0.0f;
1705+ pos_y += 5.0f;
1706+ }
1707+
17021708 if( deadstate == 5 ){ return 3; }
17031709
17041710 int WeaponReloadMotionCnt;
@@ -1772,10 +1778,6 @@
17721778 if( F5mode == false ){
17731779 pos_y += FallDistance;
17741780 }
1775- else{
1776- move_y = 0.0f;
1777- pos_y += 5.0f; //使用していれば、強制的に上昇
1778- }
17791781
17801782 //今回の当たり判定で-100.0より下に落ちたら、死亡
17811783 if( CheckDead == 0 ){
--- trunk/objectmanager.cpp (revision 253)
+++ trunk/objectmanager.cpp (revision 254)
@@ -718,7 +718,8 @@
718718
719719 //使用されていないか、死体ならば処理しない。
720720 if( HumanIndex[i].GetEnableFlag() == false ){ continue; }
721- if( HumanIndex[i].GetDeadFlag() == true ){ continue; }
721+ //if( HumanIndex[i].GetDeadFlag() == true ){ continue; }
722+ if( HumanIndex[i].GetHP() <= 0 ){ continue; }
722723
723724 //既に当たった人なら、処理しない。
724725 if( BulletObj_HumanIndex[objectID].GetIndexFlag(i) == true ){ continue; }