Decompile func0f14aee0

This commit is contained in:
Ryan Dwyer
2022-07-09 13:42:00 +10:00
parent aea372875e
commit 24fb1ac23f
2 changed files with 72 additions and 174 deletions
+70 -172
View File
@@ -994,182 +994,80 @@ void func0f14aed8(void)
// empty
}
const char var7f1b66ec[] = "camdraw.c";
const char var7f1b66f8[] = "camdraw.c";
const char var7f1b6704[] = "camdraw.c";
const char var7f1b6710[] = "camdraw.c";
const char var7f1b671c[] = "camdraw.c";
void func0f14aee0(void)
{
s32 i;
s32 j;
if (var800a45a0->unk484 == NULL) {
struct textureconfig tconfig;
u8 *ptr;
s32 texturesize;
s32 count = 33;
s32 totalsize;
u32 stack[2];
func0f14c7dc(&tconfig);
texturesize = align32(func0f14c814(&tconfig));
totalsize = align16(sizeof(struct textureconfig) * count);
totalsize += align16(texturesize * count);
ptr = mempAlloc(totalsize, MEMPOOL_STAGE);
var800a45a0->unk484 = (struct textureconfig *)ptr;
ptr += sizeof(struct textureconfig) * count;
for (i = 0; i < count; i++) {
func0f14c7dc(&var800a45a0->unk484[i]);
var800a45a0->unk484[i].textureptr = ptr;
ptr += texturesize;
}
for (i = 0; i < count; i++) {
func0f149c90(&var800a45a0->unk484[i]);
}
var800a45a0->unk488 = var800a45a0->unk484 + 32;
}
var800a45a0->unk37c = 0;
var800a45a0->unk470 = func0f149d58(0x4000, 1915, "camdraw.c");
var800a45a0->unk474 = func0f149d58(0x10000, 1916, "camdraw.c");
var800a45a0->unk478 = func0f149d58(0x10000, 1917, "camdraw.c");
var800a45a0->unk47c = func0f149d58(0x78, 1918, "camdraw.c");
var800a45a0->unk480 = func0f149d58(0x1000, 1919, "camdraw.c");
for (i = 0; i < 4; i++) {
struct var8007f8dc *thing = &var8007f8dc[i];
thing->unk0dc = (u32 *)var800a45a0->unk47c;
thing->unk0d8 = var800a45a0->unk480;
thing->unk07c = -1;
thing->unk078 = 0;
pak0f117150(i, thing->unk0d8);
pak0f1171b4(SAVEDEVICE_CONTROLLERPAK1, 3, 0);
func0f14aed0(i);
thing->unk094 = 0;
for (j = 0; j < ARRAYCOUNT(thing->unk098); j++) {
thing->unk098[j] = 0xff;
thing->unk0b6[j] = 0xff;
}
}
func0f14a594(0);
}
const char var7f1b6728[] = "Camera -> Cam_Start for Camera %d\n";
const char var7f1b674c[] = "Camera -> Cam_Stop\n";
const char var7f1b6760[] = "Camera -> Cam_Finish - Done\n";
const char var7f1b6780[] = "Camera ->Created a new slot - Id=%d\n";
const char var7f1b67a8[] = "Camera -> CD_DeleteSlot - Dumping slot %d\n";
GLOBAL_ASM(
glabel func0f14aee0
/* f14aee0: 27bdff80 */ addiu $sp,$sp,-128
/* f14aee4: afb5002c */ sw $s5,0x2c($sp)
/* f14aee8: 3c15800a */ lui $s5,%hi(var800a45a0)
/* f14aeec: 26b545a0 */ addiu $s5,$s5,%lo(var800a45a0)
/* f14aef0: 8ea20000 */ lw $v0,0x0($s5)
/* f14aef4: afbf003c */ sw $ra,0x3c($sp)
/* f14aef8: afbe0038 */ sw $s8,0x38($sp)
/* f14aefc: afb70034 */ sw $s7,0x34($sp)
/* f14af00: afb60030 */ sw $s6,0x30($sp)
/* f14af04: afb40028 */ sw $s4,0x28($sp)
/* f14af08: afb30024 */ sw $s3,0x24($sp)
/* f14af0c: afb20020 */ sw $s2,0x20($sp)
/* f14af10: afb1001c */ sw $s1,0x1c($sp)
/* f14af14: afb00018 */ sw $s0,0x18($sp)
/* f14af18: 8c4e0484 */ lw $t6,0x484($v0)
/* f14af1c: 27b0006c */ addiu $s0,$sp,0x6c
/* f14af20: 24120021 */ addiu $s2,$zero,0x21
/* f14af24: 15c00030 */ bnez $t6,.L0f14afe8
/* f14af28: 00000000 */ nop
/* f14af2c: 0fc531f7 */ jal func0f14c7dc
/* f14af30: 02002025 */ or $a0,$s0,$zero
/* f14af34: 0fc53205 */ jal func0f14c814
/* f14af38: 02002025 */ or $a0,$s0,$zero
/* f14af3c: 0fc5db70 */ jal align32
/* f14af40: 00402025 */ or $a0,$v0,$zero
/* f14af44: 0040a025 */ or $s4,$v0,$zero
/* f14af48: 0fc5db69 */ jal align16
/* f14af4c: 2404018c */ addiu $a0,$zero,0x18c
/* f14af50: 00142140 */ sll $a0,$s4,0x5
/* f14af54: 00408025 */ or $s0,$v0,$zero
/* f14af58: 0fc5db69 */ jal align16
/* f14af5c: 00942021 */ addu $a0,$a0,$s4
/* f14af60: 02022021 */ addu $a0,$s0,$v0
/* f14af64: 0c0048f2 */ jal mempAlloc
/* f14af68: 24050004 */ addiu $a1,$zero,0x4
/* f14af6c: 8eaf0000 */ lw $t7,0x0($s5)
/* f14af70: 2451018c */ addiu $s1,$v0,0x18c
/* f14af74: 00009825 */ or $s3,$zero,$zero
/* f14af78: 00008025 */ or $s0,$zero,$zero
/* f14af7c: ade20484 */ sw $v0,0x484($t7)
.L0f14af80:
/* f14af80: 8eb80000 */ lw $t8,0x0($s5)
/* f14af84: 8f190484 */ lw $t9,0x484($t8)
/* f14af88: 0fc531f7 */ jal func0f14c7dc
/* f14af8c: 03302021 */ addu $a0,$t9,$s0
/* f14af90: 8ea80000 */ lw $t0,0x0($s5)
/* f14af94: 26730001 */ addiu $s3,$s3,0x1
/* f14af98: 8d090484 */ lw $t1,0x484($t0)
/* f14af9c: 01305021 */ addu $t2,$t1,$s0
/* f14afa0: ad510000 */ sw $s1,0x0($t2)
/* f14afa4: 2610000c */ addiu $s0,$s0,0xc
/* f14afa8: 1672fff5 */ bne $s3,$s2,.L0f14af80
/* f14afac: 02348821 */ addu $s1,$s1,$s4
/* f14afb0: 00009825 */ or $s3,$zero,$zero
/* f14afb4: 00008025 */ or $s0,$zero,$zero
.L0f14afb8:
/* f14afb8: 8eab0000 */ lw $t3,0x0($s5)
/* f14afbc: 8d6c0484 */ lw $t4,0x484($t3)
/* f14afc0: 0fc52724 */ jal func0f149c90
/* f14afc4: 01902021 */ addu $a0,$t4,$s0
/* f14afc8: 26730001 */ addiu $s3,$s3,0x1
/* f14afcc: 1672fffa */ bne $s3,$s2,.L0f14afb8
/* f14afd0: 2610000c */ addiu $s0,$s0,0xc
/* f14afd4: 8ea20000 */ lw $v0,0x0($s5)
/* f14afd8: 8c4d0484 */ lw $t5,0x484($v0)
/* f14afdc: 25ae0180 */ addiu $t6,$t5,0x180
/* f14afe0: ac4e0488 */ sw $t6,0x488($v0)
/* f14afe4: 8ea20000 */ lw $v0,0x0($s5)
.L0f14afe8:
/* f14afe8: 3c067f1b */ lui $a2,%hi(var7f1b66ec)
/* f14afec: ac40037c */ sw $zero,0x37c($v0)
/* f14aff0: 24c666ec */ addiu $a2,$a2,%lo(var7f1b66ec)
/* f14aff4: 24044000 */ addiu $a0,$zero,0x4000
/* f14aff8: 2405077b */ addiu $a1,$zero,0x77b
/* f14affc: 0fc52756 */ jal func0f149d58
/* f14b000: 00009825 */ or $s3,$zero,$zero
/* f14b004: 8eaf0000 */ lw $t7,0x0($s5)
/* f14b008: 3c100001 */ lui $s0,0x1
/* f14b00c: 3c067f1b */ lui $a2,%hi(var7f1b66f8)
/* f14b010: 24c666f8 */ addiu $a2,$a2,%lo(var7f1b66f8)
/* f14b014: 02002025 */ or $a0,$s0,$zero
/* f14b018: 2405077c */ addiu $a1,$zero,0x77c
/* f14b01c: 0fc52756 */ jal func0f149d58
/* f14b020: ade20470 */ sw $v0,0x470($t7)
/* f14b024: 8eb80000 */ lw $t8,0x0($s5)
/* f14b028: 3c067f1b */ lui $a2,%hi(var7f1b6704)
/* f14b02c: 24c66704 */ addiu $a2,$a2,%lo(var7f1b6704)
/* f14b030: 02002025 */ or $a0,$s0,$zero
/* f14b034: 2405077d */ addiu $a1,$zero,0x77d
/* f14b038: 0fc52756 */ jal func0f149d58
/* f14b03c: af020474 */ sw $v0,0x474($t8)
/* f14b040: 8eb90000 */ lw $t9,0x0($s5)
/* f14b044: 3c067f1b */ lui $a2,%hi(var7f1b6710)
/* f14b048: 24c66710 */ addiu $a2,$a2,%lo(var7f1b6710)
/* f14b04c: 24040078 */ addiu $a0,$zero,0x78
/* f14b050: 2405077e */ addiu $a1,$zero,0x77e
/* f14b054: 0fc52756 */ jal func0f149d58
/* f14b058: af220478 */ sw $v0,0x478($t9)
/* f14b05c: 8ea80000 */ lw $t0,0x0($s5)
/* f14b060: 3c067f1b */ lui $a2,%hi(var7f1b671c)
/* f14b064: 24c6671c */ addiu $a2,$a2,%lo(var7f1b671c)
/* f14b068: 24041000 */ addiu $a0,$zero,0x1000
/* f14b06c: 2405077f */ addiu $a1,$zero,0x77f
/* f14b070: 0fc52756 */ jal func0f149d58
/* f14b074: ad02047c */ sw $v0,0x47c($t0)
/* f14b078: 8ea90000 */ lw $t1,0x0($s5)
/* f14b07c: 3c168008 */ lui $s6,%hi(var8007f8dc)
/* f14b080: 26d6f8dc */ addiu $s6,$s6,%lo(var8007f8dc)
/* f14b084: 0000a025 */ or $s4,$zero,$zero
/* f14b088: 241e0004 */ addiu $s8,$zero,0x4
/* f14b08c: 2417ffff */ addiu $s7,$zero,-1
/* f14b090: 2412001e */ addiu $s2,$zero,0x1e
/* f14b094: 241000ff */ addiu $s0,$zero,0xff
/* f14b098: ad220480 */ sw $v0,0x480($t1)
.L0f14b09c:
/* f14b09c: 8eab0000 */ lw $t3,0x0($s5)
/* f14b0a0: 8eca0000 */ lw $t2,0x0($s6)
/* f14b0a4: 00132600 */ sll $a0,$s3,0x18
/* f14b0a8: 8d6c047c */ lw $t4,0x47c($t3)
/* f14b0ac: 028a8821 */ addu $s1,$s4,$t2
/* f14b0b0: 00047e03 */ sra $t7,$a0,0x18
/* f14b0b4: ae2c00dc */ sw $t4,0xdc($s1)
/* f14b0b8: 8ead0000 */ lw $t5,0x0($s5)
/* f14b0bc: 01e02025 */ or $a0,$t7,$zero
/* f14b0c0: 8da50480 */ lw $a1,0x480($t5)
/* f14b0c4: ae37007c */ sw $s7,0x7c($s1)
/* f14b0c8: ae200078 */ sw $zero,0x78($s1)
/* f14b0cc: 0fc45c54 */ jal pak0f117150
/* f14b0d0: ae2500d8 */ sw $a1,0xd8($s1)
/* f14b0d4: 00002025 */ or $a0,$zero,$zero
/* f14b0d8: 24050003 */ addiu $a1,$zero,0x3
/* f14b0dc: 0fc45c6d */ jal pak0f1171b4
/* f14b0e0: 00003025 */ or $a2,$zero,$zero
/* f14b0e4: 0fc52bb4 */ jal func0f14aed0
/* f14b0e8: 02602025 */ or $a0,$s3,$zero
/* f14b0ec: ae200094 */ sw $zero,0x94($s1)
/* f14b0f0: 00001825 */ or $v1,$zero,$zero
/* f14b0f4: 02201025 */ or $v0,$s1,$zero
.L0f14b0f8:
/* f14b0f8: 24630001 */ addiu $v1,$v1,0x1
/* f14b0fc: 24420001 */ addiu $v0,$v0,0x1
/* f14b100: a0500097 */ sb $s0,0x97($v0)
/* f14b104: 1472fffc */ bne $v1,$s2,.L0f14b0f8
/* f14b108: a05000b5 */ sb $s0,0xb5($v0)
/* f14b10c: 26730001 */ addiu $s3,$s3,0x1
/* f14b110: 167effe2 */ bne $s3,$s8,.L0f14b09c
/* f14b114: 26940104 */ addiu $s4,$s4,0x104
/* f14b118: 0fc52965 */ jal func0f14a594
/* f14b11c: 00002025 */ or $a0,$zero,$zero
/* f14b120: 8fbf003c */ lw $ra,0x3c($sp)
/* f14b124: 8fb00018 */ lw $s0,0x18($sp)
/* f14b128: 8fb1001c */ lw $s1,0x1c($sp)
/* f14b12c: 8fb20020 */ lw $s2,0x20($sp)
/* f14b130: 8fb30024 */ lw $s3,0x24($sp)
/* f14b134: 8fb40028 */ lw $s4,0x28($sp)
/* f14b138: 8fb5002c */ lw $s5,0x2c($sp)
/* f14b13c: 8fb60030 */ lw $s6,0x30($sp)
/* f14b140: 8fb70034 */ lw $s7,0x34($sp)
/* f14b144: 8fbe0038 */ lw $s8,0x38($sp)
/* f14b148: 03e00008 */ jr $ra
/* f14b14c: 27bd0080 */ addiu $sp,$sp,0x80
);
void func0f14b150(void)
{
var800a45a0->unk48c = 0;
@@ -1191,7 +1089,7 @@ void func0f14b178(void)
struct var8007f8dc *thing = &var8007f8dc[i];
thing->unk0d4_03 = false;
thing->unk0dc = 0;
thing->unk0dc = NULL;
thing->unk0d8 = 0;
}
}
@@ -1535,7 +1433,7 @@ void func0f14bdbc(s32 index)
s32 value;
for (i = 0; i < 30; i++) {
thing->unk0dc[i] = 0;
thing->unk0dc[i] = NULL;
}
thing->unk094 = 0;
+2 -2
View File
@@ -6197,7 +6197,7 @@ struct var8007f8dc {
/*0x070*/ u32 unk070;
/*0x074*/ s32 unk074;
/*0x078*/ u32 unk078;
/*0x07c*/ u32 unk07c;
/*0x07c*/ s32 unk07c;
/*0x080*/ s32 unk080;
/*0x084*/ u32 unk084;
/*0x088*/ s32 unk088;
@@ -6211,7 +6211,7 @@ struct var8007f8dc {
/*0x0d4*/ u8 unk0d4_02 : 1;
/*0x0d4*/ u8 unk0d4_03 : 1;
/*0x0d4*/ u8 unk0d4_04 : 1;
/*0x0d8*/ u32 unk0d8;
/*0x0d8*/ void *unk0d8;
/*0x0dc*/ u32 *unk0dc;
/*0x0e0*/ u32 unk0e0;
/*0x0e4*/ u32 unk0e4;