X operations(XOPS)に非常に近いFPSゲームを制作・リメイクし、成果物をオープンソースとして公開することを目的としたプロジェクトです。
| Revision | 126 (tree) |
|---|---|
| Time | 2016-03-21 10:06:41 |
| Author | |
マップに対して大量の血痕が付着すると、ゲーム全体のfpsが低下するバグの修正。
| @@ -1125,6 +1125,9 @@ | ||
| 1125 | 1125 | in_effect->GetPosData(&x, &y, &z, NULL); |
| 1126 | 1126 | in_effect->GetMove(&move_x, &move_y, &move_z); |
| 1127 | 1127 | |
| 1128 | + //エフェクトが移動しないなら処理しない | |
| 1129 | + if( (move_x == 0.0f)&&(move_y == 0.0f)&&(move_z == 0.0f) ){ return false; } | |
| 1130 | + | |
| 1128 | 1131 | //ベクトルを求める |
| 1129 | 1132 | dist = sqrt(move_x*move_x + move_y*move_y + move_z*move_z); |
| 1130 | 1133 | vx = move_x / dist; |
| @@ -501,6 +501,7 @@ | ||
| 501 | 501 | { |
| 502 | 502 | if( blockdata == NULL ){ return false; } |
| 503 | 503 | if( (blockid < 0)||(blockdata->GetTotaldatas() <= blockid) ){ return false; } |
| 504 | + if( (RayDir_x == 0.0f)&&(RayDir_y == 0.0f)&&(RayDir_z == 0.0f) ){ return false; } | |
| 504 | 505 | |
| 505 | 506 | float pDist; |
| 506 | 507 | float min_pDist = FLT_MAX; |
| @@ -615,6 +616,7 @@ | ||
| 615 | 616 | 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) |
| 616 | 617 | { |
| 617 | 618 | if( blockdata == NULL ){ return false; } |
| 619 | + if( (RayDir_x == 0.0f)&&(RayDir_y == 0.0f)&&(RayDir_z == 0.0f) ){ return false; } | |
| 618 | 620 | |
| 619 | 621 | int bs = blockdata->GetTotaldatas(); |
| 620 | 622 | float pDist; |