• 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

Revision126 (tree)
Time2016-03-21 10:06:41
Authorxops-mikan

Log Message

マップに対して大量の血痕が付着すると、ゲーム全体のfpsが低下するバグの修正。

Change Summary

Incremental Difference

--- trunk/objectmanager.cpp (revision 125)
+++ trunk/objectmanager.cpp (revision 126)
@@ -1125,6 +1125,9 @@
11251125 in_effect->GetPosData(&x, &y, &z, NULL);
11261126 in_effect->GetMove(&move_x, &move_y, &move_z);
11271127
1128+ //エフェクトが移動しないなら処理しない
1129+ if( (move_x == 0.0f)&&(move_y == 0.0f)&&(move_z == 0.0f) ){ return false; }
1130+
11281131 //ベクトルを求める
11291132 dist = sqrt(move_x*move_x + move_y*move_y + move_z*move_z);
11301133 vx = move_x / dist;
--- trunk/collision.cpp (revision 125)
+++ trunk/collision.cpp (revision 126)
@@ -501,6 +501,7 @@
501501 {
502502 if( blockdata == NULL ){ return false; }
503503 if( (blockid < 0)||(blockdata->GetTotaldatas() <= blockid) ){ return false; }
504+ if( (RayDir_x == 0.0f)&&(RayDir_y == 0.0f)&&(RayDir_z == 0.0f) ){ return false; }
504505
505506 float pDist;
506507 float min_pDist = FLT_MAX;
@@ -615,6 +616,7 @@
615616 bool Collision::CheckALLBlockIntersectRay(float RayPos_x, float RayPos_y, float RayPos_z, float RayDir_x, float RayDir_y, float RayDir_z, int *id, int *face, float *Dist, float maxDist)
616617 {
617618 if( blockdata == NULL ){ return false; }
619+ if( (RayDir_x == 0.0f)&&(RayDir_y == 0.0f)&&(RayDir_z == 0.0f) ){ return false; }
618620
619621 int bs = blockdata->GetTotaldatas();
620622 float pDist;