decomp sub_8099690

This commit is contained in:
Seth Barberee
2025-04-27 16:02:37 -07:00
parent 08ca0fe91a
commit c2d4de0db8
2 changed files with 41 additions and 59 deletions

View File

@@ -5,65 +5,6 @@
.text
thumb_func_start sub_8099690
sub_8099690:
push {r4-r6,lr}
adds r4, r0, 0
ldr r0, _080996BC
ldr r1, _080996C0
bl OpenFileAndGetFileDataPtr
adds r6, r0, 0
cmp r4, 0x1
beq _080996CC
cmp r4, 0x2
beq _080996D4
ldr r0, _080996C4
ldr r0, [r0]
ldrb r0, [r0, 0xB]
ldr r4, _080996C8
cmp r0, 0
beq _080996D6
movs r0, 0x80
lsls r0, 1
adds r4, r0
b _080996D6
.align 2, 0
_080996BC: .4byte gUnknown_8116028
_080996C0: .4byte gSystemFileArchive
_080996C4: .4byte gGameOptionsRef
_080996C8: .4byte gFontPalette + 0x40
_080996CC:
ldr r4, _080996D0
b _080996D6
.align 2, 0
_080996D0: .4byte gFontPalette + 0x180
_080996D4:
ldr r4, _08099704
_080996D6:
movs r0, 0xF0
adds r1, r4, 0
movs r2, 0x10
bl sub_800388C
adds r5, r4, 0
movs r4, 0
_080996E4:
adds r0, r4, 0
adds r0, 0xF0
adds r1, r5, 0
adds r5, 0x4
bl nullsub_5
adds r4, 0x1
cmp r4, 0xF
ble _080996E4
adds r0, r6, 0
bl CloseFile
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08099704: .4byte gFontPalette + 0x1C0
thumb_func_end sub_8099690
thumb_func_start sub_8099708
sub_8099708:
push {lr}

View File

@@ -1,4 +1,7 @@
#include "global.h"
#include "bg_palette_buffer.h"
#include "code_8009804.h"
#include "game_options.h"
#include "code_800558C.h"
#include "code_80A26CC.h"
#include "def_filearchives.h"
@@ -348,3 +351,41 @@ void sub_809965C(void)
sub_800388C(0x1f0, temp->data, 0x10);
CloseFile(temp);
}
extern const u8 gUnknown_8116028[];
void sub_8099690(u32 param_1)
{
OpenedFile *temp;
RGB *pal;
RGB *var2;
u8 gender;
s32 index;
temp = OpenFileAndGetFileDataPtr(gUnknown_8116028, &gSystemFileArchive);
switch(param_1)
{
default:
gender = gGameOptionsRef->playerGender;
pal = &gFontPalette[0x10];
if(gender != 0)
pal += 0x40;
break;
case 1:
pal = &gFontPalette[0x60];
break;
case 2:
pal = &gFontPalette[0x70];
break;
}
sub_800388C(0xF0, (u8 *)pal, 0x10);
var2 = pal;
for(index = 0; index < 0x10; index++)
{
nullsub_5(index + 0xF0, var2++);
}
CloseFile(temp);
}