Decompile ciGetHangarBioIndexBySlot

This commit is contained in:
Ryan Dwyer 2020-04-12 11:14:32 +10:00
parent cdbd4f3580
commit 546bfbac65
3 changed files with 25 additions and 45 deletions

View File

@ -4920,50 +4920,30 @@ s32 ciGetNumUnlockedHangarBios(void)
return count;
}
GLOBAL_ASM(
glabel func0f1a176c
/* f1a176c: 27bdffd8 */ addiu $sp,$sp,-40
/* f1a1770: afb30020 */ sw $s3,0x20($sp)
/* f1a1774: afb2001c */ sw $s2,0x1c($sp)
/* f1a1778: afb10018 */ sw $s1,0x18($sp)
/* f1a177c: afb00014 */ sw $s0,0x14($sp)
/* f1a1780: 00809825 */ or $s3,$a0,$zero
/* f1a1784: afbf0024 */ sw $ra,0x24($sp)
/* f1a1788: 2411ffff */ addiu $s1,$zero,-1
/* f1a178c: 00008025 */ or $s0,$zero,$zero
/* f1a1790: 24120017 */ addiu $s2,$zero,0x17
.L0f1a1794:
/* f1a1794: 0fc68579 */ jal ciIsHangarBioUnlocked
/* f1a1798: 02002025 */ or $a0,$s0,$zero
/* f1a179c: 10400002 */ beqz $v0,.L0f1a17a8
/* f1a17a0: 00000000 */ sll $zero,$zero,0x0
/* f1a17a4: 26310001 */ addiu $s1,$s1,0x1
.L0f1a17a8:
/* f1a17a8: 56330004 */ bnel $s1,$s3,.L0f1a17bc
/* f1a17ac: 26100001 */ addiu $s0,$s0,0x1
/* f1a17b0: 10000005 */ beqz $zero,.L0f1a17c8
/* f1a17b4: 02001025 */ or $v0,$s0,$zero
/* f1a17b8: 26100001 */ addiu $s0,$s0,0x1
.L0f1a17bc:
/* f1a17bc: 1612fff5 */ bne $s0,$s2,.L0f1a1794
/* f1a17c0: 00000000 */ sll $zero,$zero,0x0
/* f1a17c4: 00001025 */ or $v0,$zero,$zero
.L0f1a17c8:
/* f1a17c8: 8fbf0024 */ lw $ra,0x24($sp)
/* f1a17cc: 8fb00014 */ lw $s0,0x14($sp)
/* f1a17d0: 8fb10018 */ lw $s1,0x18($sp)
/* f1a17d4: 8fb2001c */ lw $s2,0x1c($sp)
/* f1a17d8: 8fb30020 */ lw $s3,0x20($sp)
/* f1a17dc: 03e00008 */ jr $ra
/* f1a17e0: 27bd0028 */ addiu $sp,$sp,0x28
);
s32 ciGetHangarBioIndexBySlot(s32 slot)
{
s32 index = -1;
s32 i;
for (i = 0; i < 23; i++) {
if (ciIsHangarBioUnlocked(i)) {
index++;
}
if (index == slot) {
return i;
}
}
return 0;
}
GLOBAL_ASM(
glabel func0f1a17e4
/* f1a17e4: 27bdffe8 */ addiu $sp,$sp,-24
/* f1a17e8: afbf0014 */ sw $ra,0x14($sp)
/* f1a17ec: 3c048009 */ lui $a0,%hi(var80088964)
/* f1a17f0: 0fc685db */ jal func0f1a176c
/* f1a17f0: 0fc685db */ jal ciGetHangarBioIndexBySlot
/* f1a17f4: 90848964 */ lbu $a0,%lo(var80088964)($a0)
/* f1a17f8: 0fc6852d */ jal ciGetHangarBio
/* f1a17fc: 00402025 */ or $a0,$v0,$zero

View File

@ -3540,7 +3540,7 @@ glabel func0f1a6c8c
/* f1a6c90: afa40018 */ sw $a0,0x18($sp)
/* f1a6c94: afbf0014 */ sw $ra,0x14($sp)
/* f1a6c98: 3c048009 */ lui $a0,%hi(var80088964)
/* f1a6c9c: 0fc685db */ jal func0f1a176c
/* f1a6c9c: 0fc685db */ jal ciGetHangarBioIndexBySlot
/* f1a6ca0: 90848964 */ lbu $a0,%lo(var80088964)($a0)
/* f1a6ca4: 0fc6852d */ jal ciGetHangarBio
/* f1a6ca8: 00402025 */ or $a0,$v0,$zero
@ -3559,7 +3559,7 @@ glabel func0f1a6cc4
/* f1a6ccc: afbf0014 */ sw $ra,0x14($sp)
/* f1a6cd0: 3c048009 */ lui $a0,%hi(var80088964)
/* f1a6cd4: 90848964 */ lbu $a0,%lo(var80088964)($a0)
/* f1a6cd8: 0fc685db */ jal func0f1a176c
/* f1a6cd8: 0fc685db */ jal ciGetHangarBioIndexBySlot
/* f1a6cdc: afa0001c */ sw $zero,0x1c($sp)
/* f1a6ce0: 0fc6852d */ jal ciGetHangarBio
/* f1a6ce4: 00402025 */ or $a0,$v0,$zero
@ -3644,7 +3644,7 @@ glabel var7f1b99d0
/* f1a6dc8: 8fa60040 */ lw $a2,0x40($sp)
/* f1a6dcc: 10000030 */ beqz $zero,.L0f1a6e90
/* f1a6dd0: acc20000 */ sw $v0,0x0($a2)
/* f1a6dd4: 0fc685db */ jal func0f1a176c
/* f1a6dd4: 0fc685db */ jal ciGetHangarBioIndexBySlot
/* f1a6dd8: 8cc40000 */ lw $a0,0x0($a2)
/* f1a6ddc: 0fc6852d */ jal ciGetHangarBio
/* f1a6de0: 00402025 */ or $a0,$v0,$zero
@ -3656,7 +3656,7 @@ glabel var7f1b99d0
/* f1a6df8: 3c028009 */ lui $v0,%hi(var80088964)
/* f1a6dfc: 24428964 */ addiu $v0,$v0,%lo(var80088964)
/* f1a6e00: a04b0000 */ sb $t3,0x0($v0)
/* f1a6e04: 0fc685db */ jal func0f1a176c
/* f1a6e04: 0fc685db */ jal ciGetHangarBioIndexBySlot
/* f1a6e08: 316400ff */ andi $a0,$t3,0xff
/* f1a6e0c: 2841000e */ slti $at,$v0,0xe
/* f1a6e10: 10200006 */ beqz $at,.L0f1a6e2c
@ -3714,7 +3714,7 @@ glabel menuhandler001a6ea4
/* f1a6ec0: 3c048009 */ lui $a0,%hi(var80088964)
/* f1a6ec4: 90848964 */ lbu $a0,%lo(var80088964)($a0)
/* f1a6ec8: afae00a4 */ sw $t6,0xa4($sp)
/* f1a6ecc: 0fc685db */ jal func0f1a176c
/* f1a6ecc: 0fc685db */ jal ciGetHangarBioIndexBySlot
/* f1a6ed0: 8cd00008 */ lw $s0,0x8($a2)
/* f1a6ed4: 2841000e */ slti $at,$v0,0xe
/* f1a6ed8: 102000ac */ beqz $at,.L0f1a718c
@ -4043,7 +4043,7 @@ glabel var7f1b99d8
/* f1a7390: 3c048009 */ lui $a0,%hi(var80088964)
/* f1a7394: afa500a4 */ sw $a1,0xa4($sp)
/* f1a7398: 90848964 */ lbu $a0,%lo(var80088964)($a0)
/* f1a739c: 0fc685db */ jal func0f1a176c
/* f1a739c: 0fc685db */ jal ciGetHangarBioIndexBySlot
/* f1a73a0: afa600a0 */ sw $a2,0xa0($sp)
/* f1a73a4: 2841000e */ slti $at,$v0,0xe
/* f1a73a8: 14200065 */ bnez $at,.L0f1a7540

View File

@ -76,7 +76,7 @@ struct hangarbio *ciGetHangarBio(s32 index);
bool ciIsHangarBioUnlocked(u32 bioindex);
s32 ciGetNumUnlockedLocationBios(void);
s32 ciGetNumUnlockedHangarBios(void);
u32 func0f1a176c(void);
s32 ciGetHangarBioIndexBySlot(s32 slot);
u32 func0f1a17e4(void);
struct trainingdata *getDeviceTrainingData(void);
void dtRestorePlayer(void);