mirror of
https://gitlab.com/ryandwyer/perfect-dark
synced 2026-07-31 15:57:20 -04:00
Decompile hoverpropGetTurnAngle
This commit is contained in:
+4
-4
@@ -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
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user