• R/O
  • SSH
  • HTTPS

コミット

よく使われているワード(クリックで追加)

javaandroidc++linuxc#windowsobjective-ccocoaqtpython誰得phprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

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


コミットメタ情報

リビジョン347 (tree)
日時2023-01-29 00:37:00
作者xops-mikan

ログメッセージ

人とマップの当たり判定を修正、マップ着弾音の発生確率を変更

変更サマリ

差分

--- trunk/object.cpp (revision 346)
+++ trunk/object.cpp (revision 347)
@@ -1630,10 +1630,8 @@
16301630 //移動先がブロックへめり込んでいるなら移動を無効にする
16311631 for(int i=0; i<bs; i++){
16321632 if( CheckBlockID[i] == true ){
1633- if(
1634- (CollD->CheckBlockInside(i, pos_x, pos_y + 2.0f, pos_z, true, NULL) == true)||
1635- (CollD->CheckBlockIntersectRay(i, pos_x, pos_y + 2.0f, pos_z, 0.0f, 1.0f, 0.0f, NULL, &Dist, (HUMAN_HEIGHT-2.0f*2)) == true)
1636- ){
1633+ // ※レイの始点がブロックの内側かは判定しない。
1634+ if( CollD->CheckBlockIntersectRay(i, pos_x, pos_y + HUMAN_HEIGHT-2.0f, pos_z, 0.0f, -1.0f, 0.0f, NULL, &Dist, (HUMAN_HEIGHT-2.0f*2)) == true ){
16371635 pos_x = pos_x2;
16381636 pos_z = pos_z2;
16391637 }
@@ -1856,10 +1854,8 @@
18561854 speed = sqrtf(dist_x*dist_x + dist_y*dist_y + dist_z*dist_z);
18571855
18581856 //移動先との間にブロックがあるならば元に戻す
1859- if(
1860- (CollD->CheckALLBlockInside(pos_x2, pos_y2 + HUMAN_MAPCOLLISION_CHECK_HEIGHT, pos_z2) == true)||
1861- (CollD->CheckALLBlockIntersectRay(pos_x2, pos_y2 + HUMAN_MAPCOLLISION_CHECK_HEIGHT, pos_z2, dist_x/speed, dist_y/speed, dist_z/speed, NULL, NULL, &Dist, speed) == true)
1862- ){
1857+ // ※レイの始点がブロックの内側かは判定しない。
1858+ if( CollD->CheckALLBlockIntersectRay(pos_x2, pos_y2 + HUMAN_MAPCOLLISION_CHECK_HEIGHT, pos_z2, dist_x/speed, dist_y/speed, dist_z/speed, NULL, NULL, &Dist, speed) == true ){
18631859 pos_x = pos_x2;
18641860 pos_y = pos_y2;
18651861 pos_z = pos_z2;
--- trunk/soundmanager.cpp (revision 346)
+++ trunk/soundmanager.cpp (revision 347)
@@ -593,11 +593,11 @@
593593
594594 case HIT_MAP: //マップ着弾音
595595 Resource->GetBulletSound(&hitsoundA, &hitsoundB, NULL, NULL, NULL, NULL);
596- if( GetRand(2) ){
597- id = hitsoundA;
596+ if( GetRand(3) == 0 ){
597+ id = hitsoundB;
598598 }
599599 else{
600- id = hitsoundB;
600+ id = hitsoundA;
601601 }
602602 volume = MAX_SOUNDHITMAP;
603603 break;