Decompile hoverpropGetTurnAngle

This commit is contained in:
Ryan Dwyer
2020-06-28 17:44:23 +10:00
parent 984d5cc8ac
commit 28815c4d24
3 changed files with 30 additions and 35 deletions
+4 -4
View File
@@ -184,7 +184,7 @@ glabel var7f1adb34
/* f0d2320: 8fbf002c */ lw $ra,0x2c($sp)
/* f0d2324: 8c4f1a6c */ lw $t7,0x1a6c($v0)
/* f0d2328: 8de40004 */ lw $a0,0x4($t7)
/* f0d232c: 0fc1c836 */ jal func0f0720d8
/* f0d232c: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f0d2330: afa40068 */ sw $a0,0x68($sp)
/* f0d2334: 8e180284 */ lw $t8,0x284($s0)
/* f0d2338: 27a50038 */ addiu $a1,$sp,0x38
@@ -1307,7 +1307,7 @@ glabel var7f1adb7c
/* f0d3154: 00000000 */ nop
/* f0d3158: 45030023 */ bc1tl .L0f0d31e8
/* f0d315c: 8fab0134 */ lw $t3,0x134($sp)
/* f0d3160: 0fc1c836 */ jal func0f0720d8
/* f0d3160: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f0d3164: afa90040 */ sw $t1,0x40($sp)
/* f0d3168: c7a6013c */ lwc1 $f6,0x13c($sp)
/* f0d316c: 3c017f1b */ lui $at,%hi(var7f1adb7c)
@@ -1517,7 +1517,7 @@ glabel var7f1adb84
/* f0d3438: 8dcf1a6c */ lw $t7,0x1a6c($t6)
/* f0d343c: 8de40004 */ lw $a0,0x4($t7)
/* f0d3440: afa00048 */ sw $zero,0x48($sp)
/* f0d3444: 0fc1c836 */ jal func0f0720d8
/* f0d3444: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f0d3448: afa40064 */ sw $a0,0x64($sp)
/* f0d344c: 8fb80064 */ lw $t8,0x64($sp)
/* f0d3450: e7a00060 */ swc1 $f0,0x60($sp)
@@ -2489,7 +2489,7 @@ glabel var7f1adb9c
/* f0d4224: c7280014 */ lwc1 $f8,0x14($t9)
/* f0d4228: 0c0057c1 */ jal func00015f04
/* f0d422c: 46083303 */ div.s $f12,$f6,$f8
/* f0d4230: 0fc1c836 */ jal func0f0720d8
/* f0d4230: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f0d4234: 8fa4021c */ lw $a0,0x21c($sp)
/* f0d4238: 46000306 */ mov.s $f12,$f0
/* f0d423c: 0c0058dd */ jal func00016374
+25 -30
View File
@@ -13934,25 +13934,20 @@ glabel func0f0720b4
/* f0720d4: 00000000 */ nop
);
GLOBAL_ASM(
glabel func0f0720d8
/* f0720d8: 90820003 */ lbu $v0,0x3($a0)
/* f0720dc: 44801000 */ mtc1 $zero,$f2
/* f0720e0: 24010035 */ addiu $at,$zero,0x35
/* f0720e4: 54410005 */ bnel $v0,$at,.L0f0720fc
/* f0720e8: 24010033 */ addiu $at,$zero,0x33
/* f0720ec: c482006c */ lwc1 $f2,0x6c($a0)
/* f0720f0: 03e00008 */ jr $ra
/* f0720f4: 46001006 */ mov.s $f0,$f2
/* f0720f8: 24010033 */ addiu $at,$zero,0x33
.L0f0720fc:
/* f0720fc: 14410002 */ bne $v0,$at,.L0f072108
/* f072100: 00000000 */ nop
/* f072104: c482006c */ lwc1 $f2,0x6c($a0)
.L0f072108:
/* f072108: 03e00008 */ jr $ra
/* f07210c: 46001006 */ mov.s $f0,$f2
);
f32 hoverpropGetTurnAngle(struct defaultobj *obj)
{
f32 angle = 0;
if (obj->type == OBJTYPE_HOVERPROP) {
struct hoverpropobj *hoverprop = (struct hoverpropobj *)obj;
angle = hoverprop->hov.unk10;
} else if (obj->type == OBJTYPE_HOVERBIKE) {
struct hoverbikeobj *hoverbike = (struct hoverbikeobj *)obj;
angle = hoverbike->hov.unk10;
}
return angle;
}
void hoverpropSetTurnAngle(struct defaultobj *obj, f32 angle)
{
@@ -13995,7 +13990,7 @@ glabel var7f1aa31c
/* f072190: 00000000 */ nop
/* f072194: 45010017 */ bc1t .L0f0721f4
/* f072198: 00000000 */ nop
/* f07219c: 0fc1c836 */ jal func0f0720d8
/* f07219c: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f0721a0: e7ac0490 */ swc1 $f12,0x490($sp)
/* f0721a4: c7ac0490 */ lwc1 $f12,0x490($sp)
/* f0721a8: 3c017f1b */ lui $at,%hi(var7f1aa318)
@@ -14019,7 +14014,7 @@ glabel var7f1aa31c
/* f0721ec: 10000004 */ b .L0f072200
/* f0721f0: e7aa045c */ swc1 $f10,0x45c($sp)
.L0f0721f4:
/* f0721f4: 0fc1c836 */ jal func0f0720d8
/* f0721f4: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f0721f8: 02002025 */ or $a0,$s0,$zero
/* f0721fc: e7a0045c */ swc1 $f0,0x45c($sp)
.L0f072200:
@@ -14778,7 +14773,7 @@ glabel var7f1aa3b8
/* f072b9c: 460a2182 */ mul.s $f6,$f4,$f10
/* f072ba0: afa30064 */ sw $v1,0x64($sp)
/* f072ba4: 4606a200 */ add.s $f8,$f20,$f6
/* f072ba8: 0fc1c836 */ jal func0f0720d8
/* f072ba8: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f072bac: e7a8006c */ swc1 $f8,0x6c($sp)
/* f072bb0: e7a00080 */ swc1 $f0,0x80($sp)
/* f072bb4: 0c0068f7 */ jal sinf
@@ -30573,7 +30568,7 @@ glabel func0f081220
/* f08126c: 14610011 */ bne $v1,$at,.L0f0812b4
/* f081270: 00000000 */ nop
.L0f081274:
/* f081274: 0fc1c836 */ jal func0f0720d8
/* f081274: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f081278: 02002025 */ or $a0,$s0,$zero
/* f08127c: 8e020014 */ lw $v0,0x14($s0)
/* f081280: 3c0141a0 */ lui $at,0x41a0
@@ -30592,7 +30587,7 @@ glabel func0f081220
.L0f0812b4:
/* f0812b4: 58400011 */ blezl $v0,.L0f0812fc
/* f0812b8: 8fbf002c */ lw $ra,0x2c($sp)
/* f0812bc: 0fc1c836 */ jal func0f0720d8
/* f0812bc: 0fc1c836 */ jal hoverpropGetTurnAngle
/* f0812c0: 02002025 */ or $a0,$s0,$zero
/* f0812c4: 8e020014 */ lw $v0,0x14($s0)
/* f0812c8: 3c0141f0 */ lui $at,0x41f0
@@ -37185,17 +37180,17 @@ bool currentPlayerTryMountHoverbike(struct prop *prop)
}
if (pass) {
f32 thing = func0f096750(
f32 angle = func0f096750(
prop->pos.x - g_Vars.currentplayer->prop->pos.x,
prop->pos.z - g_Vars.currentplayer->prop->pos.z);
thing -= func0f0720d8(obj);
angle -= hoverpropGetTurnAngle(obj);
if (thing < 0) {
thing += M_BADTAU;
if (angle < 0) {
angle += M_BADTAU;
}
if ((thing > 0.3926365673542f && thing < 2.3558194637299f)
|| (thing < 5.8895483016968f && thing > 3.9263656139374f)) {
if ((angle > 0.3926365673542f && angle < 2.3558194637299f)
|| (angle < 5.8895483016968f && angle > 3.9263656139374f)) {
g_Vars.currentplayer->hoverbike = prop;
currentPlayerSetMoveMode(MOVEMODE_BIKE);
return true;
+1 -1
View File
@@ -135,7 +135,7 @@ u32 func0f071360(void);
void func0f0713e4(struct defaultobj *obj, struct hov *hov, struct coord *coord, s16 *rooms, f32 *matrix);
void func0f0714b8(struct defaultobj *obj, struct hov *hov);
u32 func0f0720b4(void);
f32 func0f0720d8(struct defaultobj *obj);
f32 hoverpropGetTurnAngle(struct defaultobj *obj);
void hoverpropSetTurnAngle(struct defaultobj *obj, f32 angle);
u32 func0f072144(void);
u32 func0f072650(void);