Attempt to decompile casingsTick
This commit is contained in:
parent
3f98b4d582
commit
0754fb24ba
|
|
@ -406,7 +406,7 @@ void coreLoadStage(s32 stagenum)
|
|||
s32 i;
|
||||
|
||||
func0f1777f8();
|
||||
func0f010b20();
|
||||
casingsReset();
|
||||
|
||||
for (i = 0; i < PLAYERCOUNT(); i++) {
|
||||
setCurrentPlayerNum(i);
|
||||
|
|
@ -2174,7 +2174,7 @@ void coreTick(void)
|
|||
coreUpdateSoloHandicaps();
|
||||
func0f01d8c0();
|
||||
func0f01d990();
|
||||
func0f01dd6c();
|
||||
casingsTick();
|
||||
func0f01de30();
|
||||
sparksTick();
|
||||
func0f13eb44();
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ u32 var80070514 = 0x00000000;
|
|||
u32 var80070518 = 0x00000000;
|
||||
u32 var8007051c = 0x00000000;
|
||||
u32 var80070520 = 0x00000000;
|
||||
s32 var80070524 = 0x00000000;
|
||||
s32 g_CasingsActive = 0x00000000;
|
||||
u32 var80070528 = 0x00000000;
|
||||
u32 var8007052c = 0x00000000;
|
||||
u32 var80070530 = 0x00000000;
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
#include "types.h"
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f010b20
|
||||
glabel casingsReset
|
||||
/* f010b20: 3c04800a */ lui $a0,%hi(var8009d0d0)
|
||||
/* f010b24: 2484d0d0 */ addiu $a0,$a0,%lo(var8009d0d0)
|
||||
/* f010b28: ac800000 */ sw $zero,0x0($a0)
|
||||
|
|
@ -31,19 +31,19 @@ glabel func0f010b20
|
|||
/* f010b4c: 1462fffe */ bne $v1,$v0,.L0f010b48
|
||||
/* f010b50: ac60fffc */ sw $zero,-0x4($v1)
|
||||
/* f010b54: 3c02800a */ lui $v0,%hi(var8009da60)
|
||||
/* f010b58: 3c03800a */ lui $v1,%hi(var8009d510)
|
||||
/* f010b58: 3c03800a */ lui $v1,%hi(g_Casings)
|
||||
/* f010b5c: 2442da60 */ addiu $v0,$v0,%lo(var8009da60)
|
||||
/* f010b60: 2463d510 */ addiu $v1,$v1,%lo(var8009d510)
|
||||
/* f010b60: 2463d510 */ addiu $v1,$v1,%lo(g_Casings)
|
||||
.L0f010b64:
|
||||
/* f010b64: 24630044 */ addiu $v1,$v1,0x44
|
||||
/* f010b68: 0062082b */ sltu $at,$v1,$v0
|
||||
/* f010b6c: 1420fffd */ bnez $at,.L0f010b64
|
||||
/* f010b70: ac60fffc */ sw $zero,-0x4($v1)
|
||||
/* f010b74: 3c018007 */ lui $at,%hi(var80070524)
|
||||
/* f010b74: 3c018007 */ lui $at,%hi(g_CasingsActive)
|
||||
/* f010b78: 3c03800a */ lui $v1,%hi(g_Fireslots)
|
||||
/* f010b7c: 3c04800a */ lui $a0,%hi(var8009d510)
|
||||
/* f010b80: ac200524 */ sw $zero,%lo(var80070524)($at)
|
||||
/* f010b84: 2484d510 */ addiu $a0,$a0,%lo(var8009d510)
|
||||
/* f010b7c: 3c04800a */ lui $a0,%hi(g_Casings)
|
||||
/* f010b80: ac200524 */ sw $zero,%lo(g_CasingsActive)($at)
|
||||
/* f010b84: 2484d510 */ addiu $a0,$a0,%lo(g_Casings)
|
||||
/* f010b88: 2463d150 */ addiu $v1,$v1,%lo(g_Fireslots)
|
||||
/* f010b8c: 2402ffff */ addiu $v0,$zero,-1
|
||||
.L0f010b90:
|
||||
|
|
@ -58,7 +58,7 @@ glabel func0f010b20
|
|||
);
|
||||
|
||||
// Mismatch: Two instructions are swapped
|
||||
//void func0f010b20(void)
|
||||
//void casingsReset(void)
|
||||
//{
|
||||
// s32 i;
|
||||
//
|
||||
|
|
@ -70,11 +70,11 @@ glabel func0f010b20
|
|||
// var8009d0e0[i] = 0;
|
||||
// }
|
||||
//
|
||||
// for (i = 0; i < ARRAYCOUNT(var8009d510); i++) {
|
||||
// var8009d510[i].unk40 = 0;
|
||||
// for (i = 0; i < ARRAYCOUNT(g_Casings); i++) {
|
||||
// g_Casings[i].unk40 = 0;
|
||||
// }
|
||||
//
|
||||
// var80070524 = 0;
|
||||
// g_CasingsActive = 0;
|
||||
//
|
||||
// for (i = 0; i < ARRAYCOUNT(g_Fireslots); i++) {
|
||||
// g_Fireslots[i].unk00 = -1;
|
||||
|
|
|
|||
|
|
@ -21,7 +21,7 @@ const u32 var7f1a8668[] = {0x00000000};
|
|||
const u32 var7f1a866c[] = {0x00000000};
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f01d9f0
|
||||
glabel casingTick
|
||||
/* f01d9f0: 27bdff48 */ addiu $sp,$sp,-184
|
||||
/* f01d9f4: afb40034 */ sw $s4,0x34($sp)
|
||||
/* f01d9f8: 3c14800a */ lui $s4,%hi(g_Vars)
|
||||
|
|
@ -263,7 +263,7 @@ glabel func0f01d9f0
|
|||
);
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f01dd6c
|
||||
glabel casingsTick
|
||||
/* f01dd6c: 3c03800a */ lui $v1,%hi(var8009d0d8)
|
||||
/* f01dd70: 2463d0d8 */ addiu $v1,$v1,%lo(var8009d0d8)
|
||||
/* f01dd74: 27bdffd8 */ addiu $sp,$sp,-40
|
||||
|
|
@ -281,23 +281,23 @@ glabel func0f01dd6c
|
|||
/* f01dda4: 01e01025 */ or $v0,$t7,$zero
|
||||
.L0f01dda8:
|
||||
/* f01dda8: 04410002 */ bgez $v0,.L0f01ddb4
|
||||
/* f01ddac: 3c118007 */ lui $s1,%hi(var80070524)
|
||||
/* f01ddac: 3c118007 */ lui $s1,%hi(g_CasingsActive)
|
||||
/* f01ddb0: ac600000 */ sw $zero,0x0($v1)
|
||||
.L0f01ddb4:
|
||||
/* f01ddb4: 26310524 */ addiu $s1,$s1,%lo(var80070524)
|
||||
/* f01ddb4: 26310524 */ addiu $s1,$s1,%lo(g_CasingsActive)
|
||||
/* f01ddb8: 8e380000 */ lw $t8,0x0($s1)
|
||||
/* f01ddbc: 3c13800a */ lui $s3,%hi(var8009da60)
|
||||
/* f01ddc0: 2673da60 */ addiu $s3,$s3,%lo(var8009da60)
|
||||
/* f01ddc4: 13000011 */ beqz $t8,.L0f01de0c
|
||||
/* f01ddc8: 3c10800a */ lui $s0,%hi(var8009d510)
|
||||
/* f01ddc8: 3c10800a */ lui $s0,%hi(g_Casings)
|
||||
/* f01ddcc: ae200000 */ sw $zero,0x0($s1)
|
||||
/* f01ddd0: 2610d510 */ addiu $s0,$s0,%lo(var8009d510)
|
||||
/* f01ddd0: 2610d510 */ addiu $s0,$s0,%lo(g_Casings)
|
||||
/* f01ddd4: 24120001 */ addiu $s2,$zero,0x1
|
||||
/* f01ddd8: 8e190040 */ lw $t9,0x40($s0)
|
||||
.L0f01dddc:
|
||||
/* f01dddc: 53200008 */ beqzl $t9,.L0f01de00
|
||||
/* f01dde0: 26100044 */ addiu $s0,$s0,0x44
|
||||
/* f01dde4: 0fc0767c */ jal func0f01d9f0
|
||||
/* f01dde4: 0fc0767c */ jal casingTick
|
||||
/* f01dde8: 02002025 */ or $a0,$s0,$zero
|
||||
/* f01ddec: 8e280000 */ lw $t0,0x0($s1)
|
||||
/* f01ddf0: 55000003 */ bnezl $t0,.L0f01de00
|
||||
|
|
@ -319,3 +319,32 @@ glabel func0f01dd6c
|
|||
/* f01de28: 00000000 */ nop
|
||||
/* f01de2c: 00000000 */ nop
|
||||
);
|
||||
|
||||
// Mismatch: g_Casings needs to be moved into this file.
|
||||
// Also end loop condition is bnel but needs to be sltu, bnezl.
|
||||
//void casingsTick(void)
|
||||
//{
|
||||
// s32 i;
|
||||
//
|
||||
// if (var8009d0d8 > 0) {
|
||||
// var8009d0d8 -= g_Vars.lvupdate240;
|
||||
// }
|
||||
//
|
||||
// if (var8009d0d8 < 0) {
|
||||
// var8009d0d8 = 0;
|
||||
// }
|
||||
//
|
||||
// if (g_CasingsActive) {
|
||||
// g_CasingsActive = false;
|
||||
//
|
||||
// for (i = 0; i < ARRAYCOUNT(g_Casings); i++) {
|
||||
// if (g_Casings[i].unk40) {
|
||||
// casingTick(&g_Casings[i]);
|
||||
//
|
||||
// if (!g_CasingsActive) {
|
||||
// g_CasingsActive = true;
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
|
|
|||
|
|
@ -8032,11 +8032,11 @@ glabel func0f09df9c
|
|||
/* f09dfac: 3c02800a */ lui $v0,%hi(var8009da60)
|
||||
/* f09dfb0: a5ee159c */ sh $t6,0x159c($t7)
|
||||
/* f09dfb4: 8c980284 */ lw $t8,0x284($a0)
|
||||
/* f09dfb8: 3c03800a */ lui $v1,%hi(var8009d510)
|
||||
/* f09dfb8: 3c03800a */ lui $v1,%hi(g_Casings)
|
||||
/* f09dfbc: 2442da60 */ addiu $v0,$v0,%lo(var8009da60)
|
||||
/* f09dfc0: af001594 */ sw $zero,0x1594($t8)
|
||||
/* f09dfc4: 8c990284 */ lw $t9,0x284($a0)
|
||||
/* f09dfc8: 2463d510 */ addiu $v1,$v1,%lo(var8009d510)
|
||||
/* f09dfc8: 2463d510 */ addiu $v1,$v1,%lo(g_Casings)
|
||||
/* f09dfcc: af2015a0 */ sw $zero,0x15a0($t9)
|
||||
/* f09dfd0: 8c880284 */ lw $t0,0x284($a0)
|
||||
/* f09dfd4: ad0015a4 */ sw $zero,0x15a4($t0)
|
||||
|
|
@ -8049,9 +8049,9 @@ glabel func0f09df9c
|
|||
/* f09dfec: 0062082b */ sltu $at,$v1,$v0
|
||||
/* f09dff0: 1420fffd */ bnez $at,.L0f09dfe8
|
||||
/* f09dff4: ac60fffc */ sw $zero,-0x4($v1)
|
||||
/* f09dff8: 3c018007 */ lui $at,%hi(var80070524)
|
||||
/* f09dff8: 3c018007 */ lui $at,%hi(g_CasingsActive)
|
||||
/* f09dffc: 03e00008 */ jr $ra
|
||||
/* f09e000: ac200524 */ sw $zero,%lo(var80070524)($at)
|
||||
/* f09e000: ac200524 */ sw $zero,%lo(g_CasingsActive)($at)
|
||||
);
|
||||
|
||||
//void func0f09df9c(void)
|
||||
|
|
@ -8066,10 +8066,10 @@ glabel func0f09df9c
|
|||
// g_Vars.currentplayer->unk15b1 = 0;
|
||||
//
|
||||
// for (i = 0; i < 20; i++) {
|
||||
// var8009d510[i].unk40 = 0;
|
||||
// g_Casings[i].unk40 = 0;
|
||||
// }
|
||||
//
|
||||
// var80070524 = 0;
|
||||
// g_CasingsActive = 0;
|
||||
//}
|
||||
|
||||
GLOBAL_ASM(
|
||||
|
|
@ -8504,8 +8504,8 @@ glabel func0f09e4e0
|
|||
/* f09e5cc: 00c08025 */ or $s0,$a2,$zero
|
||||
.L0f09e5d0:
|
||||
/* f09e5d0: 8fab00a4 */ lw $t3,0xa4($sp)
|
||||
/* f09e5d4: 3c05800a */ lui $a1,%hi(var8009d510)
|
||||
/* f09e5d8: 24a5d510 */ addiu $a1,$a1,%lo(var8009d510)
|
||||
/* f09e5d4: 3c05800a */ lui $a1,%hi(g_Casings)
|
||||
/* f09e5d8: 24a5d510 */ addiu $a1,$a1,%lo(g_Casings)
|
||||
/* f09e5dc: 15660004 */ bne $t3,$a2,.L0f09e5f0
|
||||
/* f09e5e0: 3c03800a */ lui $v1,%hi(var8009da60)
|
||||
/* f09e5e4: 3233ffff */ andi $s3,$s1,0xffff
|
||||
|
|
@ -8513,10 +8513,10 @@ glabel func0f09e4e0
|
|||
/* f09e5ec: 00008025 */ or $s0,$zero,$zero
|
||||
.L0f09e5f0:
|
||||
/* f09e5f0: 924215b0 */ lbu $v0,0x15b0($s2)
|
||||
/* f09e5f4: 3c048007 */ lui $a0,%hi(var80070524)
|
||||
/* f09e5f4: 3c048007 */ lui $a0,%hi(g_CasingsActive)
|
||||
/* f09e5f8: 2463da60 */ addiu $v1,$v1,%lo(var8009da60)
|
||||
/* f09e5fc: 14400019 */ bnez $v0,.L0f09e664
|
||||
/* f09e600: 24840524 */ addiu $a0,$a0,%lo(var80070524)
|
||||
/* f09e600: 24840524 */ addiu $a0,$a0,%lo(g_CasingsActive)
|
||||
/* f09e604: 00a01025 */ or $v0,$a1,$zero
|
||||
/* f09e608: 8e4c1598 */ lw $t4,0x1598($s2)
|
||||
.L0f09e60c:
|
||||
|
|
|
|||
|
|
@ -2113,15 +2113,15 @@ void bullettailTick(struct bullettail *tail)
|
|||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0adcc8
|
||||
/* f0adcc8: 3c0e800a */ lui $t6,%hi(var8009d510+0x40)
|
||||
/* f0adccc: 8dced550 */ lw $t6,%lo(var8009d510+0x40)($t6)
|
||||
/* f0adcc8: 3c0e800a */ lui $t6,%hi(g_Casings+0x40)
|
||||
/* f0adccc: 8dced550 */ lw $t6,%lo(g_Casings+0x40)($t6)
|
||||
/* f0adcd0: 27bdffa0 */ addiu $sp,$sp,-96
|
||||
/* f0adcd4: 3c08800a */ lui $t0,%hi(var8009d510)
|
||||
/* f0adcd4: 3c08800a */ lui $t0,%hi(g_Casings)
|
||||
/* f0adcd8: afbf0014 */ sw $ra,0x14($sp)
|
||||
/* f0adcdc: 00803825 */ or $a3,$a0,$zero
|
||||
/* f0adce0: 00a03025 */ or $a2,$a1,$zero
|
||||
/* f0adce4: 11c0000a */ beqz $t6,.L0f0add10
|
||||
/* f0adce8: 2508d510 */ addiu $t0,$t0,%lo(var8009d510)
|
||||
/* f0adce8: 2508d510 */ addiu $t0,$t0,%lo(g_Casings)
|
||||
/* f0adcec: 3c02800a */ lui $v0,%hi(var8009da60)
|
||||
/* f0adcf0: 2442da60 */ addiu $v0,$v0,%lo(var8009da60)
|
||||
/* f0adcf4: 25080044 */ addiu $t0,$t0,0x44
|
||||
|
|
@ -2188,8 +2188,8 @@ glabel func0f0adcc8
|
|||
/* f0addd4: 14c9ffe5 */ bne $a2,$t1,.L0f0add6c
|
||||
/* f0addd8: 24e70006 */ addiu $a3,$a3,0x6
|
||||
/* f0adddc: 240a0001 */ addiu $t2,$zero,0x1
|
||||
/* f0adde0: 3c018007 */ lui $at,%hi(var80070524)
|
||||
/* f0adde4: ac2a0524 */ sw $t2,%lo(var80070524)($at)
|
||||
/* f0adde0: 3c018007 */ lui $at,%hi(g_CasingsActive)
|
||||
/* f0adde4: ac2a0524 */ sw $t2,%lo(g_CasingsActive)($at)
|
||||
/* f0adde8: 10000001 */ b .L0f0addf0
|
||||
/* f0addec: 01001025 */ or $v0,$t0,$zero
|
||||
.L0f0addf0:
|
||||
|
|
@ -3211,8 +3211,8 @@ glabel var7f1acd6c
|
|||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0aebe0
|
||||
/* f0aebe0: 3c0e8007 */ lui $t6,%hi(var80070524)
|
||||
/* f0aebe4: 8dce0524 */ lw $t6,%lo(var80070524)($t6)
|
||||
/* f0aebe0: 3c0e8007 */ lui $t6,%hi(g_CasingsActive)
|
||||
/* f0aebe4: 8dce0524 */ lw $t6,%lo(g_CasingsActive)($t6)
|
||||
/* f0aebe8: 27bdffd8 */ addiu $sp,$sp,-40
|
||||
/* f0aebec: afb20020 */ sw $s2,0x20($sp)
|
||||
/* f0aebf0: 00809025 */ or $s2,$a0,$zero
|
||||
|
|
@ -3221,9 +3221,9 @@ glabel func0f0aebe0
|
|||
/* f0aebfc: 11c0000f */ beqz $t6,.L0f0aec3c
|
||||
/* f0aec00: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f0aec04: 3c11800a */ lui $s1,%hi(var8009da60)
|
||||
/* f0aec08: 3c10800a */ lui $s0,%hi(var8009d510)
|
||||
/* f0aec08: 3c10800a */ lui $s0,%hi(g_Casings)
|
||||
/* f0aec0c: 2631da60 */ addiu $s1,$s1,%lo(var8009da60)
|
||||
/* f0aec10: 2610d510 */ addiu $s0,$s0,%lo(var8009d510)
|
||||
/* f0aec10: 2610d510 */ addiu $s0,$s0,%lo(g_Casings)
|
||||
/* f0aec14: 8e0f0040 */ lw $t7,0x40($s0)
|
||||
.L0f0aec18:
|
||||
/* f0aec18: 02002025 */ or $a0,$s0,$zero
|
||||
|
|
|
|||
|
|
@ -14367,7 +14367,7 @@ struct tag **g_TagPtrs = 0;
|
|||
|
||||
u32 var8009d0cc = 0;
|
||||
u32 var8009d0d0[2] = {0};
|
||||
u32 var8009d0d8 = 0;
|
||||
s32 var8009d0d8 = 0;
|
||||
u32 var8009d0dc = 0;
|
||||
u32 var8009d0e0[4] = {0};
|
||||
u32 var8009d0f0 = 0;
|
||||
|
|
@ -14395,7 +14395,7 @@ u32 var8009d144 = 0;
|
|||
u32 var8009d148 = 0;
|
||||
u32 var8009d14c = 0;
|
||||
struct fireslot g_Fireslots[NUM_FIRESLOTS] = {0};
|
||||
struct var8009d510 var8009d510[20] = {0};
|
||||
struct casing g_Casings[20] = {0};
|
||||
struct var8009da60 var8009da60[8] = {0};
|
||||
struct var8009dbe0 var8009dbe0[4] = {0};
|
||||
u32 var8009dd00 = 0;
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ extern struct ammotype g_AmmoTypes[33];
|
|||
extern u32 var80070500;
|
||||
extern u32 var8007050c;
|
||||
extern u32 var80070518;
|
||||
extern s32 var80070524;
|
||||
extern s32 g_CasingsActive;
|
||||
extern u32 var80070528;
|
||||
extern u32 var80070534;
|
||||
extern u32 var80070574;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <ultra64.h>
|
||||
#include "types.h"
|
||||
|
||||
void func0f010b20(void);
|
||||
void casingsReset(void);
|
||||
void func0f010bb0(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
#include <ultra64.h>
|
||||
#include "types.h"
|
||||
|
||||
u32 func0f01d9f0(void);
|
||||
void func0f01dd6c(void);
|
||||
void casingTick(struct casing *arg0);
|
||||
void casingsTick(void);
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -565,12 +565,12 @@ extern struct criteria_roomentered *g_RoomEnteredCriterias;
|
|||
extern struct criteria_multiroomentered *g_MultiroomEnteredCriterias;
|
||||
extern struct criteria_holograph *g_HolographCriterias;
|
||||
extern u32 var8009d0d0[2];
|
||||
extern u32 var8009d0d8;
|
||||
extern s32 var8009d0d8;
|
||||
extern u32 var8009d0e0[4];
|
||||
extern u32 var8009d0f0;
|
||||
extern u32 var8009d144;
|
||||
extern struct fireslot g_Fireslots[NUM_FIRESLOTS];
|
||||
extern struct var8009d510 var8009d510[20];
|
||||
extern struct casing g_Casings[20];
|
||||
extern struct var8009da60 var8009da60[8];
|
||||
extern struct var8009dbe0 var8009dbe0[4];
|
||||
extern u32 var8009dd00;
|
||||
|
|
|
|||
|
|
@ -6036,7 +6036,7 @@ struct var800aa5d8 {
|
|||
s16 unk18;
|
||||
};
|
||||
|
||||
struct var8009d510 {
|
||||
struct casing {
|
||||
/*0x00*/ u32 unk00;
|
||||
/*0x04*/ u32 unk04;
|
||||
/*0x08*/ u32 unk08;
|
||||
|
|
|
|||
Loading…
Reference in New Issue