• 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

Revision182 (tree)
Time2017-08-12 00:02:20
Authorxops-mikan

Log Message

人の当たり判定の高速化、ポイントデータの最大数を増やしても正しく読み込まれないバグの修正。

Change Summary

Incremental Difference

--- trunk/datafile.cpp (revision 181)
+++ trunk/datafile.cpp (revision 182)
@@ -415,8 +415,8 @@
415415 {
416416 FILE *fp;
417417 unsigned char pdata_header[2];
418- float pdata_mainf[200][4];
419- char pdata_mainc[200][4];
418+ float pdata_mainf[MAX_POINTS][4];
419+ char pdata_mainc[MAX_POINTS][4];
420420 char fname2[MAX_PATH];
421421
422422 #ifdef ENABLE_DEBUGLOG
--- trunk/objectmanager.cpp (revision 181)
+++ trunk/objectmanager.cpp (revision 182)
@@ -2661,17 +2661,25 @@
26612661
26622662 //武器を拾う処理
26632663 for(int i=0; i<MAX_HUMAN; i++){
2664- //武器を拾うだけで毎フレーム総当たりで処理する意味はないので、各武器2フレームに1回処理にケチってます (^^;
2665- //フレーム数が偶数目の時は、データ番号が偶数の武器。奇数の時は、奇数の武器を処理。
2666- for(int j=(framecnt%2); j<MAX_WEAPON; j+=2){
2667- PickupWeapon(&HumanIndex[i], &WeaponIndex[j]);
2664+ if( HumanIndex[i].GetEnableFlag() == true ){
2665+ //武器を拾うだけで毎フレーム総当たりで処理する意味はないので、各武器2フレームに1回処理にケチってます (^^;
2666+ //フレーム数が偶数目の時は、データ番号が偶数の武器。奇数の時は、奇数の武器を処理。
2667+ for(int j=(framecnt%2); j<MAX_WEAPON; j+=2){
2668+ PickupWeapon(&HumanIndex[i], &WeaponIndex[j]);
2669+ }
26682670 }
26692671 }
26702672
26712673 for(int i=0; i<MAX_HUMAN; i++){
2672- for(int j=i+1; j<MAX_HUMAN; j++){
2673- //人同士の当たり判定(押し合い)
2674- CollideHuman(&HumanIndex[i], &HumanIndex[j]);
2674+ if( HumanIndex[i].GetEnableFlag() == true ){
2675+ for(int j=i+1; j<MAX_HUMAN; j++){
2676+ if( HumanIndex[j].GetEnableFlag() == true ){
2677+
2678+ //人同士の当たり判定(押し合い)
2679+ CollideHuman(&HumanIndex[i], &HumanIndex[j]);
2680+
2681+ }
2682+ }
26752683 }
26762684 }
26772685