Decompile savebufferReadString
This commit is contained in:
parent
3ef72e80ce
commit
187c698d42
|
|
@ -1141,62 +1141,37 @@ void func0f0d54c4(struct savebuffer *buffer)
|
|||
if (tmp / 8 && buffer->bitpos);
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0d54e4
|
||||
/* f0d54e4: 27bdffd0 */ addiu $sp,$sp,-48
|
||||
/* f0d54e8: afb50028 */ sw $s5,0x28($sp)
|
||||
/* f0d54ec: afb40024 */ sw $s4,0x24($sp)
|
||||
/* f0d54f0: afb30020 */ sw $s3,0x20($sp)
|
||||
/* f0d54f4: afb2001c */ sw $s2,0x1c($sp)
|
||||
/* f0d54f8: afb10018 */ sw $s1,0x18($sp)
|
||||
/* f0d54fc: afb00014 */ sw $s0,0x14($sp)
|
||||
/* f0d5500: 00809825 */ or $s3,$a0,$zero
|
||||
/* f0d5504: 00a0a825 */ or $s5,$a1,$zero
|
||||
/* f0d5508: afbf002c */ sw $ra,0x2c($sp)
|
||||
/* f0d550c: afa60038 */ sw $a2,0x38($sp)
|
||||
/* f0d5510: 00008825 */ or $s1,$zero,$zero
|
||||
/* f0d5514: 00009025 */ or $s2,$zero,$zero
|
||||
/* f0d5518: 00008025 */ or $s0,$zero,$zero
|
||||
/* f0d551c: 2414000a */ addiu $s4,$zero,0xa
|
||||
/* f0d5520: 02602025 */ or $a0,$s3,$zero
|
||||
.L0f0d5524:
|
||||
/* f0d5524: 0fc354fe */ jal savebufferReadBits
|
||||
/* f0d5528: 24050008 */ addiu $a1,$zero,0x8
|
||||
/* f0d552c: 56200008 */ bnezl $s1,.L0f0d5550
|
||||
/* f0d5530: 26100001 */ addiu $s0,$s0,0x1
|
||||
/* f0d5534: 14400003 */ bnez $v0,.L0f0d5544
|
||||
/* f0d5538: 02b07021 */ addu $t6,$s5,$s0
|
||||
/* f0d553c: 10000003 */ b .L0f0d554c
|
||||
/* f0d5540: 24110001 */ addiu $s1,$zero,0x1
|
||||
.L0f0d5544:
|
||||
/* f0d5544: a1c20000 */ sb $v0,0x0($t6)
|
||||
/* f0d5548: 02009025 */ or $s2,$s0,$zero
|
||||
.L0f0d554c:
|
||||
/* f0d554c: 26100001 */ addiu $s0,$s0,0x1
|
||||
.L0f0d5550:
|
||||
/* f0d5550: 5614fff4 */ bnel $s0,$s4,.L0f0d5524
|
||||
/* f0d5554: 02602025 */ or $a0,$s3,$zero
|
||||
/* f0d5558: 8faf0038 */ lw $t7,0x38($sp)
|
||||
/* f0d555c: 2418000a */ addiu $t8,$zero,0xa
|
||||
/* f0d5560: 51e00005 */ beqzl $t7,.L0f0d5578
|
||||
/* f0d5564: 26520001 */ addiu $s2,$s2,0x1
|
||||
/* f0d5568: 26520001 */ addiu $s2,$s2,0x1
|
||||
/* f0d556c: 02b2c821 */ addu $t9,$s5,$s2
|
||||
/* f0d5570: a3380000 */ sb $t8,0x0($t9)
|
||||
/* f0d5574: 26520001 */ addiu $s2,$s2,0x1
|
||||
.L0f0d5578:
|
||||
/* f0d5578: 02b24021 */ addu $t0,$s5,$s2
|
||||
/* f0d557c: a1000000 */ sb $zero,0x0($t0)
|
||||
/* f0d5580: 8fbf002c */ lw $ra,0x2c($sp)
|
||||
/* f0d5584: 8fb50028 */ lw $s5,0x28($sp)
|
||||
/* f0d5588: 8fb40024 */ lw $s4,0x24($sp)
|
||||
/* f0d558c: 8fb30020 */ lw $s3,0x20($sp)
|
||||
/* f0d5590: 8fb2001c */ lw $s2,0x1c($sp)
|
||||
/* f0d5594: 8fb10018 */ lw $s1,0x18($sp)
|
||||
/* f0d5598: 8fb00014 */ lw $s0,0x14($sp)
|
||||
/* f0d559c: 03e00008 */ jr $ra
|
||||
/* f0d55a0: 27bd0030 */ addiu $sp,$sp,0x30
|
||||
);
|
||||
/**
|
||||
* Read a zero-terminated string from the buffer and move the buffer's internal
|
||||
* pointer past the end of the string.
|
||||
*/
|
||||
void savebufferReadString(struct savebuffer *buffer, char *dst, bool addlinebreak)
|
||||
{
|
||||
bool foundnull = false;
|
||||
s32 index = 0;
|
||||
s32 i;
|
||||
|
||||
for (i = 0; i < 10; i++) {
|
||||
s32 byte = savebufferReadBits(buffer, 8);
|
||||
|
||||
if (!foundnull) {
|
||||
if (byte == '\0') {
|
||||
foundnull = true;
|
||||
} else {
|
||||
dst[i] = byte;
|
||||
index = i;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (addlinebreak) {
|
||||
index++;
|
||||
dst[index] = '\n';
|
||||
}
|
||||
|
||||
index++;
|
||||
dst[index] = '\0';
|
||||
}
|
||||
|
||||
GLOBAL_ASM(
|
||||
glabel func0f0d55a4
|
||||
|
|
@ -1249,12 +1224,12 @@ glabel func0f0d55a4
|
|||
/* f0d5648: 27bd0030 */ addiu $sp,$sp,0x30
|
||||
);
|
||||
|
||||
void func0f0d564c(u8 *data1, u8 *data2, s32 arg2)
|
||||
void func0f0d564c(u8 *data, char *dst, bool addlinebreak)
|
||||
{
|
||||
struct savebuffer buffer;
|
||||
|
||||
func0f0d5484(&buffer, data1, 10);
|
||||
func0f0d54e4(&buffer, data2, arg2);
|
||||
func0f0d5484(&buffer, data, 10);
|
||||
savebufferReadString(&buffer, dst, addlinebreak);
|
||||
}
|
||||
|
||||
#if VERSION >= VERSION_NTSC_1_0
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ void filemgrGetFileName(char *buffer, struct savelocation000 *arg1, u32 filetype
|
|||
switch (filetype) {
|
||||
case FILETYPE_SOLO:
|
||||
case FILETYPE_MPSETUP:
|
||||
func0f0d564c(arg1->unk06, tmpbuffer1, 0);
|
||||
func0f0d564c(arg1->unk06, tmpbuffer1, false);
|
||||
break;
|
||||
case FILETYPE_MPPLAYER:
|
||||
// MP Player filenames have the play duration appended to the name
|
||||
|
|
@ -1254,7 +1254,7 @@ void func0f1099a8(char *buffer, struct savelocation000 *arg1)
|
|||
switch (g_FileLists[g_Menus[g_MpPlayerNum].listnum]->filetype) {
|
||||
case FILETYPE_SOLO:
|
||||
case FILETYPE_MPSETUP:
|
||||
func0f0d564c(arg1->unk06, localbuffer, 0);
|
||||
func0f0d564c(arg1->unk06, localbuffer, false);
|
||||
break;
|
||||
case FILETYPE_MPPLAYER:
|
||||
func0f18d9a4(arg1->unk06, localbuffer, &sp20);
|
||||
|
|
|
|||
|
|
@ -250,7 +250,7 @@ glabel func0f11080c
|
|||
/* f1108d0: 02402025 */ or $a0,$s2,$zero
|
||||
.L0f1108d4:
|
||||
/* f1108d4: 02002825 */ or $a1,$s0,$zero
|
||||
/* f1108d8: 0fc35539 */ jal func0f0d54e4
|
||||
/* f1108d8: 0fc35539 */ jal savebufferReadString
|
||||
/* f1108dc: 24060001 */ addiu $a2,$zero,0x1
|
||||
/* f1108e0: 2610000c */ addiu $s0,$s0,0xc
|
||||
/* f1108e4: 0211082b */ sltu $at,$s0,$s1
|
||||
|
|
|
|||
|
|
@ -964,7 +964,7 @@ glabel func0f10fac8
|
|||
/* f10fb74: 3c05800a */ lui $a1,%hi(g_SoloSaveFile)
|
||||
/* f10fb78: 24a52200 */ addiu $a1,$a1,%lo(g_SoloSaveFile)
|
||||
/* f10fb7c: 02802025 */ or $a0,$s4,$zero
|
||||
/* f10fb80: 0fc35539 */ jal func0f0d54e4
|
||||
/* f10fb80: 0fc35539 */ jal savebufferReadString
|
||||
/* f10fb84: 00003025 */ or $a2,$zero,$zero
|
||||
/* f10fb88: 02802025 */ or $a0,$s4,$zero
|
||||
/* f10fb8c: 0fc354fe */ jal savebufferReadBits
|
||||
|
|
@ -1237,7 +1237,7 @@ glabel func0f10fac8
|
|||
/* f10a0a4: 3c05800a */ lui $a1,0x800a
|
||||
/* f10a0a8: 24a566f0 */ addiu $a1,$a1,0x66f0
|
||||
/* f10a0ac: 02602025 */ or $a0,$s3,$zero
|
||||
/* f10a0b0: 0fc34af3 */ jal func0f0d54e4
|
||||
/* f10a0b0: 0fc34af3 */ jal savebufferReadString
|
||||
/* f10a0b4: 00003025 */ or $a2,$zero,$zero
|
||||
/* f10a0b8: 02602025 */ or $a0,$s3,$zero
|
||||
/* f10a0bc: 0fc34ab8 */ jal savebufferReadBits
|
||||
|
|
@ -2904,7 +2904,7 @@ void savefileGetOverview(char *arg0, char *name, u8 *stage, u8 *difficulty, u32
|
|||
struct savebuffer buffer;
|
||||
|
||||
func0f0d5484(&buffer, arg0, 15);
|
||||
func0f0d54e4(&buffer, name, 0);
|
||||
savebufferReadString(&buffer, name, false);
|
||||
|
||||
*stage = savebufferReadBits(&buffer, 5);
|
||||
|
||||
|
|
|
|||
|
|
@ -8654,7 +8654,7 @@ glabel func0f18d2b8
|
|||
/* f18d2f8: afb2001c */ sw $s2,0x1c($sp)
|
||||
/* f18d2fc: afb10018 */ sw $s1,0x18($sp)
|
||||
/* f18d300: 02a02825 */ or $a1,$s5,$zero
|
||||
/* f18d304: 0fc35539 */ jal func0f0d54e4
|
||||
/* f18d304: 0fc35539 */ jal savebufferReadString
|
||||
/* f18d308: 24060001 */ addiu $a2,$zero,0x1
|
||||
/* f18d30c: 02602025 */ or $a0,$s3,$zero
|
||||
/* f18d310: 0fc354fe */ jal savebufferReadBits
|
||||
|
|
@ -9123,7 +9123,7 @@ glabel func0f18d9a4
|
|||
/* f18d9c4: 27a40018 */ addiu $a0,$sp,0x18
|
||||
/* f18d9c8: 27a40018 */ addiu $a0,$sp,0x18
|
||||
/* f18d9cc: 8fa500fc */ lw $a1,0xfc($sp)
|
||||
/* f18d9d0: 0fc35539 */ jal func0f0d54e4
|
||||
/* f18d9d0: 0fc35539 */ jal savebufferReadString
|
||||
/* f18d9d4: 00003025 */ or $a2,$zero,$zero
|
||||
/* f18d9d8: 27a40018 */ addiu $a0,$sp,0x18
|
||||
/* f18d9dc: 0fc354fe */ jal savebufferReadBits
|
||||
|
|
@ -9774,7 +9774,7 @@ glabel func0f18df5c
|
|||
/* f18df84: afb1001c */ sw $s1,0x1c($sp)
|
||||
/* f18df88: afb00018 */ sw $s0,0x18($sp)
|
||||
/* f18df8c: 02a02825 */ or $a1,$s5,$zero
|
||||
/* f18df90: 0fc35539 */ jal func0f0d54e4
|
||||
/* f18df90: 0fc35539 */ jal savebufferReadString
|
||||
/* f18df94: 00003025 */ or $a2,$zero,$zero
|
||||
/* f18df98: 02602025 */ or $a0,$s3,$zero
|
||||
/* f18df9c: 0fc354fe */ jal savebufferReadBits
|
||||
|
|
@ -10068,7 +10068,7 @@ glabel func0f18e39c
|
|||
/* f18e3c0: 27a40018 */ addiu $a0,$sp,0x18
|
||||
/* f18e3c4: 27a40018 */ addiu $a0,$sp,0x18
|
||||
/* f18e3c8: 8fa500fc */ lw $a1,0xfc($sp)
|
||||
/* f18e3cc: 0fc35539 */ jal func0f0d54e4
|
||||
/* f18e3cc: 0fc35539 */ jal savebufferReadString
|
||||
/* f18e3d0: 00003025 */ or $a2,$zero,$zero
|
||||
/* f18e3d4: 27a40018 */ addiu $a0,$sp,0x18
|
||||
/* f18e3d8: 0fc354fe */ jal savebufferReadBits
|
||||
|
|
|
|||
|
|
@ -17,9 +17,9 @@ u32 savebufferReadBits(struct savebuffer *buffer, s32 offset);
|
|||
void savebufferClear(struct savebuffer *buffer);
|
||||
void func0f0d5484(struct savebuffer *buffer, u8 *data, u8 len);
|
||||
void func0f0d54c4(struct savebuffer *buffer);
|
||||
void func0f0d54e4(struct savebuffer *buffer, char *arg1, s32 arg2);
|
||||
void savebufferReadString(struct savebuffer *buffer, char *dst, bool addlinebreak);
|
||||
u32 func0f0d55a4(void);
|
||||
void func0f0d564c(u8 *data1, u8 *data2, s32 arg2);
|
||||
void func0f0d564c(u8 *data, char *dst, bool addlinebreak);
|
||||
void func0f0d5690(void *arg0, char *buffer);
|
||||
u32 func0f0d575c(void);
|
||||
u32 func0f0d579c(void);
|
||||
|
|
|
|||
Loading…
Reference in New Issue