mirror of
https://github.com/n64decomp/perfect_dark.git
synced 2024-11-27 16:10:23 +00:00
Decompile func0f0c228c
This commit is contained in:
parent
e7e85a0b68
commit
3eee43df14
@ -13430,66 +13430,25 @@ s32 getMissionTime(void)
|
||||
return g_Vars.currentplayer->bondviewlevtime60;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0c228c
|
||||
/* f0c228c: 27bdffe0 */ addiu $sp,$sp,-32
|
||||
/* f0c2290: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f0c2294: 0fc4a25f */ jal propGetPlayerNum
|
||||
/* f0c2298: afa40020 */ sw $a0,0x20($sp)
|
||||
/* f0c229c: 00027080 */ sll $t6,$v0,0x2
|
||||
/* f0c22a0: 3c04800a */ lui $a0,%hi(g_Vars+0x64)
|
||||
/* f0c22a4: 008e2021 */ addu $a0,$a0,$t6
|
||||
/* f0c22a8: 8c84a024 */ lw $a0,%lo(g_Vars+0x64)($a0)
|
||||
/* f0c22ac: 0fc2b6ef */ jal bullettailTick
|
||||
/* f0c22b0: 24840814 */ addiu $a0,$a0,2068
|
||||
/* f0c22b4: 0fc4a25f */ jal propGetPlayerNum
|
||||
/* f0c22b8: 8fa40020 */ lw $a0,0x20($sp)
|
||||
/* f0c22bc: 00027880 */ sll $t7,$v0,0x2
|
||||
/* f0c22c0: 3c04800a */ lui $a0,%hi(g_Vars+0x64)
|
||||
/* f0c22c4: 008f2021 */ addu $a0,$a0,$t7
|
||||
/* f0c22c8: 8c84a024 */ lw $a0,%lo(g_Vars+0x64)($a0)
|
||||
/* f0c22cc: 0fc2b6ef */ jal bullettailTick
|
||||
/* f0c22d0: 24840fb8 */ addiu $a0,$a0,4024
|
||||
/* f0c22d4: 8fb80020 */ lw $t8,0x20($sp)
|
||||
/* f0c22d8: 3c19800a */ lui $t9,%hi(g_Vars+0x314)
|
||||
/* f0c22dc: 8f020004 */ lw $v0,0x4($t8)
|
||||
/* f0c22e0: 5040001c */ beqzl $v0,.L0f0c2354
|
||||
/* f0c22e4: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f0c22e8: 8f39a2d4 */ lw $t9,%lo(g_Vars+0x314)($t9)
|
||||
/* f0c22ec: 53200019 */ beqzl $t9,.L0f0c2354
|
||||
/* f0c22f0: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f0c22f4: 8045017c */ lb $a1,0x17c($v0)
|
||||
/* f0c22f8: 00401825 */ or $v1,$v0,$zero
|
||||
/* f0c22fc: 3c0a800a */ lui $t2,%hi(g_Fireslots)
|
||||
/* f0c2300: 04a00009 */ bltz $a1,.L0f0c2328
|
||||
/* f0c2304: 00054080 */ sll $t0,$a1,0x2
|
||||
/* f0c2308: 01054023 */ subu $t0,$t0,$a1
|
||||
/* f0c230c: 00084100 */ sll $t0,$t0,0x4
|
||||
/* f0c2310: 25090004 */ addiu $t1,$t0,0x4
|
||||
/* f0c2314: 254ad150 */ addiu $t2,$t2,%lo(g_Fireslots)
|
||||
/* f0c2318: 012a2021 */ addu $a0,$t1,$t2
|
||||
/* f0c231c: 0fc2b6ef */ jal bullettailTick
|
||||
/* f0c2320: afa2001c */ sw $v0,0x1c($sp)
|
||||
/* f0c2324: 8fa3001c */ lw $v1,0x1c($sp)
|
||||
.L0f0c2328:
|
||||
/* f0c2328: 8062017d */ lb $v0,0x17d($v1)
|
||||
/* f0c232c: 3c0d800a */ lui $t5,%hi(g_Fireslots)
|
||||
/* f0c2330: 25add150 */ addiu $t5,$t5,%lo(g_Fireslots)
|
||||
/* f0c2334: 04400006 */ bltz $v0,.L0f0c2350
|
||||
/* f0c2338: 00025880 */ sll $t3,$v0,0x2
|
||||
/* f0c233c: 01625823 */ subu $t3,$t3,$v0
|
||||
/* f0c2340: 000b5900 */ sll $t3,$t3,0x4
|
||||
/* f0c2344: 256c0004 */ addiu $t4,$t3,0x4
|
||||
/* f0c2348: 0fc2b6ef */ jal bullettailTick
|
||||
/* f0c234c: 018d2021 */ addu $a0,$t4,$t5
|
||||
.L0f0c2350:
|
||||
/* f0c2350: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
.L0f0c2354:
|
||||
/* f0c2354: 27bd0020 */ addiu $sp,$sp,0x20
|
||||
/* f0c2358: 00001025 */ or $v0,$zero,$zero
|
||||
/* f0c235c: 03e00008 */ jr $ra
|
||||
/* f0c2360: 00000000 */ nop
|
||||
);
|
||||
s32 func0f0c228c(struct prop *prop)
|
||||
{
|
||||
bullettailTick(&g_Vars.players[propGetPlayerNum(prop)]->hands[0].bullettail);
|
||||
bullettailTick(&g_Vars.players[propGetPlayerNum(prop)]->hands[1].bullettail);
|
||||
|
||||
if (prop->chr && g_Vars.mplayerisrunning) {
|
||||
struct chrdata *chr = prop->chr;
|
||||
|
||||
if (chr->fireslot[0] >= 0) {
|
||||
bullettailTick(&g_Fireslots[chr->fireslot[0]].bullettail);
|
||||
}
|
||||
|
||||
if (chr->fireslot[1] >= 0) {
|
||||
bullettailTick(&g_Fireslots[chr->fireslot[1]].bullettail);
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0c2364
|
||||
|
@ -81,7 +81,7 @@ f32 currentPlayerGetHealth(void);
|
||||
f32 currentPlayerGetShieldFrac(void);
|
||||
void currentPlayerSetShieldFrac(f32 shield);
|
||||
s32 getMissionTime(void);
|
||||
u32 func0f0c228c(struct prop *prop);
|
||||
s32 func0f0c228c(struct prop *prop);
|
||||
u32 func0f0c2364(void);
|
||||
u32 func0f0c2a58(void);
|
||||
u32 func0f0c32a0(void);
|
||||
|
@ -1672,6 +1672,21 @@ struct threat {
|
||||
s16 unk0a;
|
||||
};
|
||||
|
||||
struct bullettail {
|
||||
/*0x00*/ s8 age;
|
||||
/*0x01*/ s8 unk01;
|
||||
/*0x04*/ u32 unk04;
|
||||
/*0x08*/ u32 unk08;
|
||||
/*0x0c*/ u32 unk0c;
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ u32 unk14;
|
||||
/*0x18*/ u32 unk18;
|
||||
/*0x1c*/ f32 maxdist;
|
||||
/*0x20*/ f32 speed;
|
||||
/*0x24*/ u32 unk24;
|
||||
/*0x28*/ f32 dist;
|
||||
};
|
||||
|
||||
// Weapon data per hand
|
||||
struct hand {
|
||||
/*0x0638*/ u8 weaponnum;
|
||||
@ -1797,17 +1812,7 @@ struct hand {
|
||||
/*0x0808*/ u32 unk0808;
|
||||
/*0x080c*/ u32 unk080c;
|
||||
/*0x0810*/ u32 unk0810;
|
||||
/*0x0814*/ u32 unk0814;
|
||||
/*0x0818*/ u32 unk0818;
|
||||
/*0x081c*/ u32 unk081c;
|
||||
/*0x0820*/ u32 unk0820;
|
||||
/*0x0824*/ u32 unk0824;
|
||||
/*0x0828*/ u32 unk0828;
|
||||
/*0x082c*/ u32 unk082c;
|
||||
/*0x0830*/ u32 unk0830;
|
||||
/*0x0834*/ u32 unk0834;
|
||||
/*0x0838*/ u32 unk0838;
|
||||
/*0x083c*/ u32 unk083c;
|
||||
/*0x0814*/ struct bullettail bullettail;
|
||||
/*0x0840*/ f32 unk0840;
|
||||
/*0x0844*/ u32 unk0844;
|
||||
/*0x0848*/ u32 unk0848;
|
||||
@ -3528,21 +3533,6 @@ struct room {
|
||||
/*0x88*/ u32 unk88;
|
||||
};
|
||||
|
||||
struct bullettail {
|
||||
/*0x00*/ s8 age;
|
||||
/*0x01*/ s8 unk01;
|
||||
/*0x04*/ u32 unk04;
|
||||
/*0x08*/ u32 unk08;
|
||||
/*0x0c*/ u32 unk0c;
|
||||
/*0x10*/ u32 unk10;
|
||||
/*0x14*/ u32 unk14;
|
||||
/*0x18*/ u32 unk18;
|
||||
/*0x1c*/ f32 maxdist;
|
||||
/*0x20*/ f32 speed;
|
||||
/*0x24*/ u32 unk24;
|
||||
/*0x28*/ f32 dist;
|
||||
};
|
||||
|
||||
struct fireslotthing {
|
||||
/*0x00*/ u8 unk00;
|
||||
/*0x01*/ u8 unk01;
|
||||
|
Loading…
Reference in New Issue
Block a user