mirror of
https://github.com/izzy2lost/Diddy-Kong-Racing.git
synced 2026-06-19 01:16:26 -07:00
c: func_800FFB8, func_80010018, func_80010028
This commit is contained in:
@@ -60,7 +60,7 @@ glabel func_8000B290
|
||||
/* 00BF64 8000B364 0C003FEE */ jal func_8000FFB8
|
||||
/* 00BF68 8000B368 00000000 */ nop
|
||||
.L8000B36C:
|
||||
/* 00BF6C 8000B36C 0C004013 */ jal func_8001004C
|
||||
/* 00BF6C 8000B36C 0C004013 */ jal particlePtrList_flush
|
||||
/* 00BF70 8000B370 AE200000 */ sw $zero, ($s1)
|
||||
/* 00BF74 8000B374 8FBF0024 */ lw $ra, 0x24($sp)
|
||||
/* 00BF78 8000B378 8FB00018 */ lw $s0, 0x18($sp)
|
||||
|
||||
@@ -171,7 +171,7 @@ glabel func_8000C8F8
|
||||
/* 00D778 8000CB78 00000000 */ nop
|
||||
/* 00D77C 8000CB7C 15000009 */ bnez $t0, .L8000CBA4
|
||||
/* 00D780 8000CB80 00000000 */ nop
|
||||
/* 00D784 8000CB84 0C004013 */ jal func_8001004C
|
||||
/* 00D784 8000CB84 0C004013 */ jal particlePtrList_flush
|
||||
/* 00D788 8000CB88 00000000 */ nop
|
||||
/* 00D78C 8000CB8C 0C005FA6 */ jal func_80017E98
|
||||
/* 00D790 8000CB90 00000000 */ nop
|
||||
|
||||
@@ -1,41 +0,0 @@
|
||||
glabel func_8000FFB8
|
||||
/* 010BB8 8000FFB8 27BDFFE8 */ addiu $sp, $sp, -0x18
|
||||
/* 010BBC 8000FFBC AFBF0014 */ sw $ra, 0x14($sp)
|
||||
/* 010BC0 8000FFC0 AFA40018 */ sw $a0, 0x18($sp)
|
||||
/* 010BC4 8000FFC4 8484004A */ lh $a0, 0x4a($a0)
|
||||
/* 010BC8 8000FFC8 00000000 */ nop
|
||||
/* 010BCC 8000FFCC 348F8000 */ ori $t7, $a0, 0x8000
|
||||
/* 010BD0 8000FFD0 000FC400 */ sll $t8, $t7, 0x10
|
||||
/* 010BD4 8000FFD4 0C00916D */ jal func_800245B4
|
||||
/* 010BD8 8000FFD8 00182403 */ sra $a0, $t8, 0x10
|
||||
/* 010BDC 8000FFDC 3C028012 */ lui $v0, %hi(D_8011AEC8) # $v0, 0x8012
|
||||
/* 010BE0 8000FFE0 2442AEC8 */ addiu $v0, %lo(D_8011AEC8) # addiu $v0, $v0, -0x5138
|
||||
/* 010BE4 8000FFE4 8C4A0000 */ lw $t2, ($v0)
|
||||
/* 010BE8 8000FFE8 3C098012 */ lui $t1, %hi(D_8011AEC4) # $t1, 0x8012
|
||||
/* 010BEC 8000FFEC 8D29AEC4 */ lw $t1, %lo(D_8011AEC4)($t1)
|
||||
/* 010BF0 8000FFF0 8FA80018 */ lw $t0, 0x18($sp)
|
||||
/* 010BF4 8000FFF4 000A5880 */ sll $t3, $t2, 2
|
||||
/* 010BF8 8000FFF8 012B6021 */ addu $t4, $t1, $t3
|
||||
/* 010BFC 8000FFFC AD880000 */ sw $t0, ($t4)
|
||||
/* 010C00 80010000 8C4D0000 */ lw $t5, ($v0)
|
||||
/* 010C04 80010004 8FBF0014 */ lw $ra, 0x14($sp)
|
||||
/* 010C08 80010008 25AE0001 */ addiu $t6, $t5, 1
|
||||
/* 010C0C 8001000C AC4E0000 */ sw $t6, ($v0)
|
||||
/* 010C10 80010010 03E00008 */ jr $ra
|
||||
/* 010C14 80010014 27BD0018 */ addiu $sp, $sp, 0x18
|
||||
|
||||
/* 010C18 80010018 3C028012 */ lui $v0, %hi(D_8011AEBC) # $v0, 0x8012
|
||||
/* 010C1C 8001001C 8C42AEBC */ lw $v0, %lo(D_8011AEBC)($v0)
|
||||
/* 010C20 80010020 03E00008 */ jr $ra
|
||||
/* 010C24 80010024 00000000 */ nop
|
||||
|
||||
/* 010C28 80010028 3C0E8012 */ lui $t6, %hi(D_8011AEB8) # $t6, 0x8012
|
||||
/* 010C2C 8001002C 8DCEAEB8 */ lw $t6, %lo(D_8011AEB8)($t6)
|
||||
/* 010C30 80010030 00047840 */ sll $t7, $a0, 1
|
||||
/* 010C34 80010034 3C088012 */ lui $t0, %hi(D_8011AD68) # $t0, 0x8012
|
||||
/* 010C38 80010038 01CFC021 */ addu $t8, $t6, $t7
|
||||
/* 010C3C 8001003C 87190000 */ lh $t9, ($t8)
|
||||
/* 010C40 80010040 8D08AD68 */ lw $t0, %lo(D_8011AD68)($t0)
|
||||
/* 010C44 80010044 03E00008 */ jr $ra
|
||||
/* 010C48 80010048 0328102A */ slt $v0, $t9, $t0
|
||||
|
||||
@@ -419,7 +419,7 @@ glabel func_80010994
|
||||
/* 011B88 80010F88 00000000 */ nop
|
||||
/* 011B8C 80010F8C 17200009 */ bnez $t9, .L80010FB4
|
||||
/* 011B90 80010F90 00000000 */ nop
|
||||
/* 011B94 80010F94 0C004013 */ jal func_8001004C
|
||||
/* 011B94 80010F94 0C004013 */ jal particlePtrList_flush
|
||||
/* 011B98 80010F98 00000000 */ nop
|
||||
/* 011B9C 80010F9C 0C005FA6 */ jal func_80017E98
|
||||
/* 011BA0 80010FA0 00000000 */ nop
|
||||
|
||||
+5
-5
@@ -1,9 +1,9 @@
|
||||
glabel func_8001004C
|
||||
glabel particlePtrList_flush
|
||||
/* 010C4C 8001004C 27BDFFC8 */ addiu $sp, $sp, -0x38
|
||||
/* 010C50 80010050 AFB70030 */ sw $s7, 0x30($sp)
|
||||
/* 010C54 80010054 3C178012 */ lui $s7, %hi(D_8011AEC8) # $s7, 0x8012
|
||||
/* 010C54 80010054 3C178012 */ lui $s7, %hi(particleCount) # $s7, 0x8012
|
||||
/* 010C58 80010058 3C018012 */ lui $at, %hi(D_8011AE88) # $at, 0x8012
|
||||
/* 010C5C 8001005C 26F7AEC8 */ addiu $s7, %lo(D_8011AEC8) # addiu $s7, $s7, -0x5138
|
||||
/* 010C5C 8001005C 26F7AEC8 */ addiu $s7, %lo(particleCount) # addiu $s7, $s7, -0x5138
|
||||
/* 010C60 80010060 AC20AE88 */ sw $zero, %lo(D_8011AE88)($at)
|
||||
/* 010C64 80010064 8EEE0000 */ lw $t6, ($s7)
|
||||
/* 010C68 80010068 AFB30020 */ sw $s3, 0x20($sp)
|
||||
@@ -16,14 +16,14 @@ glabel func_8001004C
|
||||
/* 010C84 80010084 AFB00014 */ sw $s0, 0x14($sp)
|
||||
/* 010C88 80010088 19C0003C */ blez $t6, .L8001017C
|
||||
/* 010C8C 8001008C 00009825 */ move $s3, $zero
|
||||
/* 010C90 80010090 3C158012 */ lui $s5, %hi(D_8011AEC4) # $s5, 0x8012
|
||||
/* 010C90 80010090 3C158012 */ lui $s5, %hi(particlePtrList) # $s5, 0x8012
|
||||
/* 010C94 80010094 3C148012 */ lui $s4, %hi(D_8011AE7C) # $s4, 0x8012
|
||||
/* 010C98 80010098 3C118012 */ lui $s1, %hi(objPtrList) # $s1, 0x8012
|
||||
/* 010C9C 8001009C 3C108012 */ lui $s0, %hi(objCount) # $s0, 0x8012
|
||||
/* 010CA0 800100A0 2610AE5C */ addiu $s0, %lo(objCount) # addiu $s0, $s0, -0x51a4
|
||||
/* 010CA4 800100A4 2631AE58 */ addiu $s1, %lo(objPtrList) # addiu $s1, $s1, -0x51a8
|
||||
/* 010CA8 800100A8 2694AE7C */ addiu $s4, %lo(D_8011AE7C) # addiu $s4, $s4, -0x5184
|
||||
/* 010CAC 800100AC 26B5AEC4 */ addiu $s5, %lo(D_8011AEC4) # addiu $s5, $s5, -0x513c
|
||||
/* 010CAC 800100AC 26B5AEC4 */ addiu $s5, %lo(particlePtrList) # addiu $s5, $s5, -0x513c
|
||||
/* 010CB0 800100B0 00009025 */ move $s2, $zero
|
||||
/* 010CB4 800100B4 2416FFFF */ li $s6, -1
|
||||
.L800100B8:
|
||||
@@ -86,7 +86,7 @@ glabel func_8002C7D4
|
||||
/* 02D514 8002C914 00000000 */ nop
|
||||
/* 02D518 8002C918 0C003FEE */ jal func_8000FFB8
|
||||
/* 02D51C 8002C91C 00000000 */ nop
|
||||
/* 02D520 8002C920 0C004013 */ jal func_8001004C
|
||||
/* 02D520 8002C920 0C004013 */ jal particlePtrList_flush
|
||||
/* 02D524 8002C924 00000000 */ nop
|
||||
.L8002C928:
|
||||
/* 02D528 8002C928 0C003181 */ jal func_8000C604
|
||||
|
||||
@@ -120,7 +120,7 @@ glabel func_8006CCF0
|
||||
/* 06DAA8 8006CEA8 00000000 */ nop
|
||||
/* 06DAAC 8006CEAC A0203515 */ sb $zero, %lo(gIsPaused)($at)
|
||||
.L8006CEB0:
|
||||
/* 06DAB0 8006CEB0 0C004013 */ jal func_8001004C
|
||||
/* 06DAB0 8006CEB0 0C004013 */ jal particlePtrList_flush
|
||||
/* 06DAB4 8006CEB4 00000000 */ nop
|
||||
/* 06DAB8 8006CEB8 0C006FC8 */ jal func_8001BF20
|
||||
/* 06DABC 8006CEBC 00000000 */ nop
|
||||
|
||||
@@ -81,7 +81,7 @@ glabel func_800A003C
|
||||
/* 0A0D5C 800A015C 8E440000 */ lw $a0, ($s2)
|
||||
/* 0A0D60 800A0160 0C01C450 */ jal func_80071140
|
||||
/* 0A0D64 800A0164 00000000 */ nop
|
||||
/* 0A0D68 800A0168 0C004013 */ jal func_8001004C
|
||||
/* 0A0D68 800A0168 0C004013 */ jal particlePtrList_flush
|
||||
/* 0A0D6C 800A016C 00000000 */ nop
|
||||
/* 0A0D70 800A0170 8FBF002C */ lw $ra, 0x2c($sp)
|
||||
/* 0A0D74 800A0174 8FB00018 */ lw $s0, 0x18($sp)
|
||||
|
||||
+63
-9
@@ -104,8 +104,8 @@ extern u32 D_8011AE94;
|
||||
extern s32 D_8011AEB0[2];
|
||||
extern s16 *D_8011AEB8;
|
||||
extern s32 D_8011AEBC;
|
||||
extern s32 *D_8011AEC4;
|
||||
extern s32 D_8011AEC8;
|
||||
extern Player **particlePtrList;
|
||||
extern s32 particleCount;
|
||||
|
||||
/* Size: 0x3C bytes */
|
||||
typedef struct unknown8011AECC {
|
||||
@@ -161,6 +161,8 @@ void func_8000C460(void);
|
||||
void *func_80070B78(s32, u32);
|
||||
void *func_80070C9C(s32, u32);
|
||||
s32 *func_80076C58(s32);
|
||||
void func_8000FFB8(Player *);
|
||||
void particlePtrList_flush(void);
|
||||
void func_8001D258(f32, f32, s32, s32, s32);
|
||||
|
||||
extern void func_800245B4(s16);
|
||||
@@ -189,7 +191,7 @@ void func_8000BF8C(void) {
|
||||
|
||||
func_8001D258(D_800E514C, D_800E5150, 0, -0x2000, 0);
|
||||
D_8011AE68 = (s32*)func_80070B78(0x15800, 0x200);
|
||||
D_8011AEC4 = (s32*)func_80070C9C(0x320, 0xFFFF);
|
||||
particlePtrList = (Player **)func_80070C9C(0x320, 0xFFFF);
|
||||
D_8011AE6C = (s32*)func_80070C9C(0x50, 0xFFFF);
|
||||
D_8011AE74 = (s32*)func_80070C9C(0x200, 0xFFFF);
|
||||
D_8011AECC = (unknown8011AECC*)func_80070C9C(0xE10, 0xFFFF);
|
||||
@@ -267,7 +269,7 @@ void func_8000C460(void) {
|
||||
D_8011AD26 = 1;
|
||||
D_8011AD5C = 0;
|
||||
D_8011AD60 = 0;
|
||||
D_8011AEC8 = 0;
|
||||
particleCount = 0;
|
||||
D_8011AE70 = 0;
|
||||
D_8011AED0 = 0;
|
||||
D_8011AED4 = 0;
|
||||
@@ -319,12 +321,12 @@ void func_8000C604(void) {
|
||||
D_800DC744 = 0;
|
||||
func_8006F398();
|
||||
}
|
||||
func_8001004C();
|
||||
particlePtrList_flush();
|
||||
len = objCount;
|
||||
for (i = 0; i < len; i++) {
|
||||
func_800101AC(objPtrList[i], 1);
|
||||
}
|
||||
D_8011AEC8 = 0;
|
||||
particleCount = 0;
|
||||
objCount = 0;
|
||||
D_8011AE60 = 0;
|
||||
func_8000C460();
|
||||
@@ -451,7 +453,7 @@ void func_8000E1EC(unk8011AD40 *arg0, s32 arg1) {
|
||||
D_8011AD48 = arg0->unk10;
|
||||
D_8011AD4A = arg0->unk14;
|
||||
D_8011AD4C = arg0->unk0;
|
||||
func_8000FFB8();
|
||||
func_8000FFB8(arg0);
|
||||
playerCount = 0;
|
||||
}
|
||||
|
||||
@@ -538,8 +540,60 @@ s32 func_8000FD34(unk8000FD34 *arg0, s32 arg1) {
|
||||
}
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000FD54.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8000FFB8.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_8001004C.s")
|
||||
|
||||
|
||||
void func_8000FFB8(Player* arg0){
|
||||
func_800245B4(arg0->unk4A | 0x8000);
|
||||
particlePtrList[particleCount] = arg0;
|
||||
particleCount++;
|
||||
}
|
||||
|
||||
|
||||
s32 func_80010018(void){
|
||||
return D_8011AEBC;
|
||||
}
|
||||
|
||||
s32 func_80010028(s32 arg0){
|
||||
return (D_8011AEB8[arg0] < D_8011AD68);
|
||||
}
|
||||
|
||||
#if 1
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/particlePtrList_flush.s")
|
||||
#else
|
||||
//bad regalloc; swap s2 = s3
|
||||
/*removes objects in particleList from objPtrList and frees*/
|
||||
void particlePtrList_flush(void){
|
||||
s32 j, i, search_indx, tmp;
|
||||
Player* searchObj;
|
||||
|
||||
D_8011AE88 = 0;
|
||||
for (i = 0; i < particleCount; i++){
|
||||
search_indx = -1;
|
||||
searchObj = particlePtrList[i];
|
||||
|
||||
for(j = 0; j < objCount; j++){
|
||||
if(searchObj == objPtrList[j])
|
||||
search_indx = j;
|
||||
}
|
||||
|
||||
//if object found
|
||||
if(search_indx != -1){
|
||||
tmp = D_8011AE7C;
|
||||
if(search_indx < D_8011AE7C)
|
||||
D_8011AE7C = tmp-1;
|
||||
|
||||
objCount--;
|
||||
for(j = search_indx; j < objCount; j++){
|
||||
objPtrList[j] = objPtrList[j+1];
|
||||
}
|
||||
}
|
||||
func_800101AC(searchObj,0);
|
||||
}
|
||||
particleCount = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_800101AC.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_80010994.s")
|
||||
GLOBAL_ASM("asm/non_matchings/unknown_00BC20/func_80011134.s")
|
||||
|
||||
@@ -1679,7 +1679,7 @@ void func_8006DBE4(void) {
|
||||
void func_8006DC58(s32 arg0) {
|
||||
if (func_800C73E0() == 0) {
|
||||
func_80010994(arg0);
|
||||
func_8001004C();
|
||||
particlePtrList_flush();
|
||||
func_8001BF20();
|
||||
D_80024D54(&D_801211F8, &D_80121208, &D_80121218, &D_80121228, arg0);
|
||||
func_800C3440(arg0);
|
||||
|
||||
@@ -2915,7 +2915,7 @@ void func_8009C508(s32 arg0) {
|
||||
D_80126550[arg0] = 0;
|
||||
D_80126750[arg0] = 0;
|
||||
D_800DF758--;
|
||||
func_8001004C();
|
||||
particlePtrList_flush();
|
||||
}
|
||||
if (D_800DF758 == 0) {
|
||||
if (D_800DF75C != NULL) {
|
||||
|
||||
+2
-2
@@ -1875,8 +1875,8 @@ D_8011AEB0 = 0x8011AEB0;
|
||||
D_8011AEB8 = 0x8011AEB8;
|
||||
D_8011AEBC = 0x8011AEBC;
|
||||
D_8011AEC0 = 0x8011AEC0;
|
||||
D_8011AEC4 = 0x8011AEC4;
|
||||
D_8011AEC8 = 0x8011AEC8;
|
||||
particlePtrList = 0x8011AEC4;
|
||||
particleCount = 0x8011AEC8;
|
||||
D_8011AECC = 0x8011AECC;
|
||||
D_8011AED0 = 0x8011AED0;
|
||||
D_8011AED4 = 0x8011AED4;
|
||||
|
||||
Reference in New Issue
Block a user