Decompile explosionsInit
This commit is contained in:
parent
d0e1a8a091
commit
d3c5c29d4f
|
|
@ -368,8 +368,8 @@ glabel var7f1b5584
|
|||
/* f12a0c4: 100002f4 */ b .L0f12ac98
|
||||
/* f12a0c8: 24020001 */ addiu $v0,$zero,0x1
|
||||
.L0f12a0cc:
|
||||
/* f12a0cc: 3c05800a */ lui $a1,%hi(g_NumExplosions)
|
||||
/* f12a0d0: 8ca53434 */ lw $a1,%lo(g_NumExplosions)($a1)
|
||||
/* f12a0cc: 3c05800a */ lui $a1,%hi(g_MaxExplosions)
|
||||
/* f12a0d0: 8ca53434 */ lw $a1,%lo(g_MaxExplosions)($a1)
|
||||
/* f12a0d4: 24070001 */ addiu $a3,$zero,0x1
|
||||
/* f12a0d8: 00008825 */ or $s1,$zero,$zero
|
||||
/* f12a0dc: 18a0000d */ blez $a1,.L0f12a114
|
||||
|
|
@ -1247,9 +1247,9 @@ glabel var7f1b558c
|
|||
/* f12ad90: 4600a306 */ mov.s $f12,$f20
|
||||
/* f12ad94: c6320008 */ lwc1 $f18,0x8($s1)
|
||||
/* f12ad98: c6280000 */ lwc1 $f8,0x0($s1)
|
||||
/* f12ad9c: 3c04800a */ lui $a0,%hi(g_NumExplosions)
|
||||
/* f12ad9c: 3c04800a */ lui $a0,%hi(g_MaxExplosions)
|
||||
/* f12ada0: 46009102 */ mul.s $f4,$f18,$f0
|
||||
/* f12ada4: 8c843434 */ lw $a0,%lo(g_NumExplosions)($a0)
|
||||
/* f12ada4: 8c843434 */ lw $a0,%lo(g_MaxExplosions)($a0)
|
||||
/* f12ada8: 4480b000 */ mtc1 $zero,$f22
|
||||
/* f12adac: 4608c182 */ mul.s $f6,$f24,$f8
|
||||
/* f12adb0: 3c14800a */ lui $s4,%hi(g_Explosions)
|
||||
|
|
@ -1295,8 +1295,8 @@ glabel var7f1b558c
|
|||
/* f12ae4c: 4600c086 */ mov.s $f2,$f24
|
||||
/* f12ae50: 8e8f0000 */ lw $t7,0x0($s4)
|
||||
.L0f12ae54:
|
||||
/* f12ae54: 3c04800a */ lui $a0,%hi(g_NumExplosions)
|
||||
/* f12ae58: 8c843434 */ lw $a0,%lo(g_NumExplosions)($a0)
|
||||
/* f12ae54: 3c04800a */ lui $a0,%hi(g_MaxExplosions)
|
||||
/* f12ae58: 8c843434 */ lw $a0,%lo(g_MaxExplosions)($a0)
|
||||
/* f12ae5c: 01f11021 */ addu $v0,$t7,$s1
|
||||
/* f12ae60: 805803cc */ lb $t8,0x3cc($v0)
|
||||
/* f12ae64: 03150019 */ multu $t8,$s5
|
||||
|
|
|
|||
|
|
@ -11,83 +11,32 @@
|
|||
#include "lib/lib_121e0.h"
|
||||
#include "types.h"
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel explosionsInit
|
||||
/* f013010: 3c018008 */ lui $at,%hi(var8007e4a0)
|
||||
/* f013014: ac20e4a0 */ sw $zero,%lo(var8007e4a0)($at)
|
||||
/* f013018: 3c018008 */ lui $at,%hi(var8007e4a4)
|
||||
/* f01301c: ac20e4a4 */ sw $zero,%lo(var8007e4a4)($at)
|
||||
/* f013020: 3c013f80 */ lui $at,0x3f80
|
||||
/* f013024: 44812000 */ mtc1 $at,$f4
|
||||
/* f013028: 3c08800a */ lui $t0,%hi(g_NumExplosions)
|
||||
/* f01302c: 3c018008 */ lui $at,%hi(var8007e4a8)
|
||||
/* f013030: 25083434 */ addiu $t0,$t0,%lo(g_NumExplosions)
|
||||
/* f013034: 240e0006 */ addiu $t6,$zero,0x6
|
||||
/* f013038: e424e4a8 */ swc1 $f4,%lo(var8007e4a8)($at)
|
||||
/* f01303c: ad0e0000 */ sw $t6,0x0($t0)
|
||||
/* f013040: 3c0f800a */ lui $t7,%hi(g_Vars+0x4b4)
|
||||
/* f013044: 8defa474 */ lw $t7,%lo(g_Vars+0x4b4)($t7)
|
||||
/* f013048: 27bdffe8 */ addiu $sp,$sp,-24
|
||||
/* f01304c: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f013050: 29e1005a */ slti $at,$t7,0x5a
|
||||
/* f013054: 14200002 */ bnez $at,.L0f013060
|
||||
/* f013058: 3c05800a */ lui $a1,%hi(g_Explosions)
|
||||
/* f01305c: ad000000 */ sw $zero,0x0($t0)
|
||||
.L0f013060:
|
||||
/* f013060: 8d020000 */ lw $v0,0x0($t0)
|
||||
/* f013064: 24a53430 */ addiu $a1,$a1,%lo(g_Explosions)
|
||||
/* f013068: 54400004 */ bnezl $v0,.L0f01307c
|
||||
/* f01306c: 000220c0 */ sll $a0,$v0,0x3
|
||||
/* f013070: 1000002b */ b .L0f013120
|
||||
/* f013074: aca00000 */ sw $zero,0x0($a1)
|
||||
/* f013078: 000220c0 */ sll $a0,$v0,0x3
|
||||
.L0f01307c:
|
||||
/* f01307c: 00822021 */ addu $a0,$a0,$v0
|
||||
/* f013080: 00042100 */ sll $a0,$a0,0x4
|
||||
/* f013084: 00822023 */ subu $a0,$a0,$v0
|
||||
/* f013088: 000420c0 */ sll $a0,$a0,0x3
|
||||
/* f01308c: 2484000f */ addiu $a0,$a0,0xf
|
||||
/* f013090: 2401fff0 */ addiu $at,$zero,-16
|
||||
/* f013094: 0081c024 */ and $t8,$a0,$at
|
||||
/* f013098: 03002025 */ or $a0,$t8,$zero
|
||||
/* f01309c: 0c0048f2 */ jal malloc
|
||||
/* f0130a0: 24050004 */ addiu $a1,$zero,0x4
|
||||
/* f0130a4: 3c08800a */ lui $t0,%hi(g_NumExplosions)
|
||||
/* f0130a8: 25083434 */ addiu $t0,$t0,%lo(g_NumExplosions)
|
||||
/* f0130ac: 8d190000 */ lw $t9,0x0($t0)
|
||||
/* f0130b0: 3c05800a */ lui $a1,%hi(g_Explosions)
|
||||
/* f0130b4: 24a53430 */ addiu $a1,$a1,%lo(g_Explosions)
|
||||
/* f0130b8: aca20000 */ sw $v0,0x0($a1)
|
||||
/* f0130bc: 1b200018 */ blez $t9,.L0f013120
|
||||
/* f0130c0: 00002025 */ or $a0,$zero,$zero
|
||||
/* f0130c4: 00003025 */ or $a2,$zero,$zero
|
||||
/* f0130c8: 240303c0 */ addiu $v1,$zero,0x3c0
|
||||
/* f0130cc: 8ca90000 */ lw $t1,0x0($a1)
|
||||
.L0f0130d0:
|
||||
/* f0130d0: 00001025 */ or $v0,$zero,$zero
|
||||
/* f0130d4: 01265021 */ addu $t2,$t1,$a2
|
||||
/* f0130d8: ad400000 */ sw $zero,0x0($t2)
|
||||
.L0f0130dc:
|
||||
/* f0130dc: 000460c0 */ sll $t4,$a0,0x3
|
||||
/* f0130e0: 01846021 */ addu $t4,$t4,$a0
|
||||
/* f0130e4: 8cab0000 */ lw $t3,0x0($a1)
|
||||
/* f0130e8: 000c6100 */ sll $t4,$t4,0x4
|
||||
/* f0130ec: 01846023 */ subu $t4,$t4,$a0
|
||||
/* f0130f0: 000c60c0 */ sll $t4,$t4,0x3
|
||||
/* f0130f4: 016c6821 */ addu $t5,$t3,$t4
|
||||
/* f0130f8: 01a27021 */ addu $t6,$t5,$v0
|
||||
/* f0130fc: 24420018 */ addiu $v0,$v0,0x18
|
||||
/* f013100: 1443fff6 */ bne $v0,$v1,.L0f0130dc
|
||||
/* f013104: a5c0001c */ sh $zero,0x1c($t6)
|
||||
/* f013108: 8d0f0000 */ lw $t7,0x0($t0)
|
||||
/* f01310c: 24840001 */ addiu $a0,$a0,0x1
|
||||
/* f013110: 24c60478 */ addiu $a2,$a2,0x478
|
||||
/* f013114: 008f082a */ slt $at,$a0,$t7
|
||||
/* f013118: 5420ffed */ bnezl $at,.L0f0130d0
|
||||
/* f01311c: 8ca90000 */ lw $t1,0x0($a1)
|
||||
.L0f013120:
|
||||
/* f013120: 8fbf0014 */ lw $ra,0x14($sp)
|
||||
/* f013124: 27bd0018 */ addiu $sp,$sp,0x18
|
||||
/* f013128: 03e00008 */ jr $ra
|
||||
/* f01312c: 00000000 */ nop
|
||||
);
|
||||
void explosionsInit(void)
|
||||
{
|
||||
s32 i;
|
||||
s32 j;
|
||||
|
||||
var8007e4a0 = 0;
|
||||
var8007e4a4 = 0;
|
||||
var8007e4a8 = 1;
|
||||
|
||||
g_MaxExplosions = 6;
|
||||
|
||||
if (g_Vars.stagenum >= STAGE_TITLE) {
|
||||
g_MaxExplosions = 0;
|
||||
}
|
||||
|
||||
if (g_MaxExplosions == 0) {
|
||||
g_Explosions = NULL;
|
||||
} else {
|
||||
g_Explosions = malloc((g_MaxExplosions * sizeof(struct explosion) + 0xf) & ~0xf, 4);
|
||||
|
||||
for (i = 0; i < g_MaxExplosions; i++) {
|
||||
g_Explosions[i].prop = NULL;
|
||||
|
||||
for (j = 0; j < 40; j++) {
|
||||
g_Explosions[i].parts[j].frame = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1965,7 +1965,7 @@ void frEndSession(bool hidetargets)
|
|||
}
|
||||
|
||||
// Remove explosions
|
||||
for (i = 0; i < g_NumExplosions; i++) {
|
||||
for (i = 0; i < g_MaxExplosions; i++) {
|
||||
g_Explosions[i].age = 256;
|
||||
|
||||
for (j = 0; j < 40; j++) {
|
||||
|
|
|
|||
|
|
@ -14940,7 +14940,7 @@ u32 var800a3424 = 0;
|
|||
u32 var800a3428 = 0;
|
||||
u32 var800a342c = 0;
|
||||
struct explosion *g_Explosions = NULL;
|
||||
s32 g_NumExplosions = 0;
|
||||
s32 g_MaxExplosions = 0;
|
||||
u32 var800a3438 = 0;
|
||||
u32 var800a343c = 0;
|
||||
struct smoke *g_Smokes = NULL;
|
||||
|
|
|
|||
|
|
@ -662,7 +662,7 @@ extern u32 var800a33e8;
|
|||
extern u32 var800a3410;
|
||||
extern u32 var800a3420;
|
||||
extern struct explosion *g_Explosions;
|
||||
extern s32 g_NumExplosions;
|
||||
extern s32 g_MaxExplosions;
|
||||
extern struct smoke *g_Smokes;
|
||||
extern s32 g_NumSmokes;
|
||||
extern u32 var800a3448;
|
||||
|
|
|
|||
Loading…
Reference in New Issue