diff --git a/src/game/game_0b69d0.c b/src/game/game_0b69d0.c index c2ed00f92..1c92339aa 100644 --- a/src/game/game_0b69d0.c +++ b/src/game/game_0b69d0.c @@ -14825,7 +14825,7 @@ void currentPlayerCheckIfShotInBack(s32 attackerplayernum, f32 x, f32 z) if (g_Vars.normmplayerisrunning) { s32 victimplayernum = g_Vars.currentplayernum; f32 angle = atan2f(x, z); - f32 finalangle = g_Vars.players[victimplayernum]->vv_theta - (360.0f - RAD2DEG(angle)); + f32 finalangle = g_Vars.players[victimplayernum]->vv_theta - (360.0f - RAD2DEG2(angle)); if (finalangle < 0) { finalangle = -finalangle; diff --git a/src/include/lib/mtx.h b/src/include/lib/mtx.h index 04b5537d2..ac7dc2653 100644 --- a/src/include/lib/mtx.h +++ b/src/include/lib/mtx.h @@ -53,7 +53,7 @@ void mtx00016b58(Mtxf *matrix, f32 posx, f32 posy, f32 posz, f32 lookx, f32 look void mtx00016d58(Mtxf *matrix, f32 posx, f32 posy, f32 posz, f32 lookx, f32 looky, f32 lookz, f32 upx, f32 upy, f32 upz); u32 mtx00016dcc(f32 arg0, f32 arg1); u32 mtx00016e98(void); -u32 mtx00017028(void); +void mtx00017028(f32 mtx[4][4], f32 radians, f32 x, f32 y, f32 z); u32 mtx00017070(void); u32 mtx000170e4(void); u32 mtx0001719c(void); diff --git a/src/include/math.h b/src/include/math.h index ee8ce4614..721a3a4cf 100644 --- a/src/include/math.h +++ b/src/include/math.h @@ -11,7 +11,8 @@ #define BADDEG2RAD(deg) ((deg) * (M_BADPI / 180.0f)) #define DEG2RAD(deg) ((deg) * (M_PI / 180.0f)) -#define RAD2DEG(rad) ((rad) * 180.0f / M_PI) +#define RAD2DEG(rad) ((rad) * (180.0f / M_PI)) +#define RAD2DEG2(rad) ((rad) * 180.0f / M_PI) #define BADRAD2DEG(rad) ((rad) * (180.0f / M_BADPI)) #endif diff --git a/src/lib/mtx.c b/src/lib/mtx.c index b5b50820e..981d899ec 100644 --- a/src/lib/mtx.c +++ b/src/lib/mtx.c @@ -15,8 +15,6 @@ const char var70055994nb[] = ""; const char var70055998nb[] = " )\n"; #endif -const u32 var70054200[] = {0x42652ee0}; - void mtx00016110(f32 mtx1[3][3], f32 mtx2[3][3]) { f32 mtx3[3][3]; @@ -825,27 +823,11 @@ glabel mtx00016e98 /* 17024: 27bd0048 */ addiu $sp,$sp,0x48 ); -GLOBAL_ASM( -glabel mtx00017028 -/* 17028: 3c017005 */ lui $at,%hi(var70054200) -/* 1702c: 44856000 */ mtc1 $a1,$f12 -/* 17030: c4244200 */ lwc1 $f4,%lo(var70054200)($at) -/* 17034: 44867000 */ mtc1 $a2,$f14 -/* 17038: 27bdffe0 */ addiu $sp,$sp,-32 -/* 1703c: 46046302 */ mul.s $f12,$f12,$f4 -/* 17040: c7a60030 */ lwc1 $f6,0x30($sp) -/* 17044: afbf001c */ sw $ra,0x1c($sp) -/* 17048: 44067000 */ mfc1 $a2,$f14 -/* 1704c: afa7002c */ sw $a3,0x2c($sp) -/* 17050: e7a60010 */ swc1 $f6,0x10($sp) -/* 17054: 44056000 */ mfc1 $a1,$f12 -/* 17058: 0c013e6c */ jal guAlignF -/* 1705c: 00000000 */ nop -/* 17060: 8fbf001c */ lw $ra,0x1c($sp) -/* 17064: 27bd0020 */ addiu $sp,$sp,0x20 -/* 17068: 03e00008 */ jr $ra -/* 1706c: 00000000 */ nop -); +void mtx00017028(f32 mtx[4][4], f32 angle, f32 x, f32 y, f32 z) +{ + angle = RAD2DEG(angle); + guAlignF(mtx, angle, x, y, z); +} #if VERSION < VERSION_NTSC_1_0 GLOBAL_ASM(