merge ewram init

This commit is contained in:
DizzyEggg
2024-12-17 16:13:45 +01:00
173 changed files with 5338 additions and 7279 deletions

View File

@@ -262,10 +262,10 @@ $(BUILD_DIR)/sym_ewram.ld: sym_ewram.txt
$(BUILD_DIR)/sym_iwram.ld: sym_iwram.txt
$(RAMSCRGEN) iwram_data $< ENGLISH > $@
$(BUILD_DIR)/sym_ewram2.ld: sym_ewram2.txt
$(RAMSCRGEN) ewram_data_2 $< ENGLISH > $@
$(BUILD_DIR)/sym_ewram_init.ld: sym_ewram_init.txt
$(RAMSCRGEN) ewram_init $< ENGLISH > $@
$(LD_SCRIPT): ld_script.txt $(BUILD_DIR)/sym_ewram.ld $(BUILD_DIR)/sym_ewram2.ld $(BUILD_DIR)/sym_iwram.ld
$(LD_SCRIPT): ld_script.txt $(BUILD_DIR)/sym_ewram.ld $(BUILD_DIR)/sym_ewram_init.ld $(BUILD_DIR)/sym_iwram.ld
cd $(BUILD_DIR) && sed -e "s#tools/#../../tools/#g" ../../ld_script.txt >ld_script.ld
$(ELF): $(LD_SCRIPT) $(ALL_OBJECTS) $(LIBC) libagbsyscall tools

View File

@@ -1059,556 +1059,4 @@ _08000EC6:
bx r1
thumb_func_end sub_80009D0
thumb_func_start SaveLoadRelated_8000EDC
SaveLoadRelated_8000EDC:
push {r4-r7,lr}
sub sp, 0x8
adds r4, r0, 0
movs r5, 0x1
ldr r0, _08000F24
str r5, [r0]
movs r0, 0x3
bl sub_800A8F8
bl sub_8014144
add r1, sp, 0x4
mov r0, sp
bl sub_8043D50
ldr r0, [sp]
movs r1, 0x7
bl MemoryAlloc
str r0, [r4, 0x74]
ldr r0, [sp, 0x4]
movs r1, 0x7
bl MemoryAlloc
str r0, [r4, 0x78]
ldrb r0, [r4, 0x8]
cmp r0, 0
beq _08000F68
ldr r0, [r4, 0x74]
ldr r1, [sp]
bl PrepareQuickSaveRead
adds r7, r4, 0
adds r7, 0x7C
b _08000F2E
.align 2, 0
_08000F24: .4byte gUnknown_203B03C
_08000F28:
movs r0, 0
bl xxx_update_stuff
_08000F2E:
bl ReadQuickSave
lsls r0, 24
cmp r0, 0
bne _08000F28
bl IsQuickSaveValid
lsls r0, 24
lsrs r5, r0, 24
bl FinishQuickSaveRead
bl sub_8011830
cmp r5, 0
beq _08000F58
ldr r0, _08000F54
bl sub_80121E0
b _08000F5E
.align 2, 0
_08000F54: .4byte 0x000f1208
_08000F58:
ldr r0, _08000F64
bl sub_80121E0
_08000F5E:
bl xxx_call_start_bg_music
b _08000F78
.align 2, 0
_08000F64: .4byte 0x000f1209
_08000F68:
bl GeneratePelipperJobs
bl sub_80961B4
bl sub_808ED00
adds r7, r4, 0
adds r7, 0x7C
_08000F78:
cmp r5, 0
beq _08000F92
adds r0, r4, 0
bl xxx_dungeon_8001340
bl sub_8099648
bl SetWindowBGColor
movs r0, 0
bl sub_8099690
b _08000F96
_08000F92:
movs r0, 0x5
strh r0, [r7]
_08000F96:
adds r5, r7, 0
movs r1, 0
ldrsh r0, [r5, r1]
movs r6, 0x2
negs r6, r6
cmp r0, r6
bne _08000FAC
adds r0, r4, 0
adds r0, 0x84
bl sub_809542C
_08000FAC:
movs r1, 0
ldrsh r0, [r5, r1]
cmp r0, 0x3
beq _08000FB8
cmp r0, r6
bne _0800100C
_08000FB8:
adds r0, r4, 0
adds r0, 0x80
bl SetDungeonLocationInfo
bl xxx_call_stop_bgm
movs r1, 0
ldrsh r0, [r7, r1]
cmp r0, r6
bne _08000FD8
ldr r0, [r4, 0x74]
ldr r1, [sp]
movs r2, 0x1
bl PrepareQuickSaveWrite
b _08000FFA
_08000FD8:
ldr r0, [r4, 0x74]
ldr r1, [sp]
movs r2, 0
bl PrepareQuickSaveWrite
b _08000FFA
_08000FE4:
cmp r0, 0x1
bne _08000FF4
ldr r0, [r4, 0x78]
bl MemoryFree
ldr r0, [r4, 0x74]
bl MemoryFree
_08000FF4:
movs r0, 0
bl xxx_update_stuff
_08000FFA:
bl WriteQuickSave
cmp r0, 0x2
beq _08001006
cmp r0, 0x3
bne _08000FE4
_08001006:
bl FinishQuickSaveWrite
b _0800101C
_0800100C:
bl sub_808ED00
ldr r0, [r4, 0x78]
bl MemoryFree
ldr r0, [r4, 0x74]
bl MemoryFree
_0800101C:
add sp, 0x8
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end SaveLoadRelated_8000EDC
thumb_func_start sub_8001024
sub_8001024:
push {r4,lr}
ldr r1, _08001040
ldm r1!, {r2-r4}
stm r0!, {r2-r4}
ldm r1!, {r2-r4}
stm r0!, {r2-r4}
ldm r1!, {r2-r4}
stm r0!, {r2-r4}
ldm r1!, {r2-r4}
stm r0!, {r2-r4}
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08001040: .4byte gPersonalityRelated_203B040
thumb_func_end sub_8001024
thumb_func_start sub_8001044
sub_8001044:
push {r4,lr}
ldr r1, _08001060
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08001060: .4byte gPersonalityRelated_203B040
thumb_func_end sub_8001044
thumb_func_start sub_8001064
sub_8001064:
push {r4,r5,lr}
sub sp, 0x28
bl GetPlayerPokemonStruct
cmp r0, 0
bne _080010AE
ldr r5, _0800109C
ldrb r0, [r5, 0x8]
cmp r0, 0
bne _080010A0
add r4, sp, 0x14
movs r0, 0x4
ldrsh r1, [r5, r0]
adds r0, r4, 0
bl CopyMonsterNameToBuffer
mov r0, sp
adds r1, r4, 0
bl CopyStringtoBuffer
movs r1, 0x4
ldrsh r0, [r5, r1]
movs r1, 0x1
mov r2, sp
bl sub_808CE74
b _080010AE
.align 2, 0
_0800109C: .4byte gPersonalityRelated_203B040
_080010A0:
movs r4, 0x4
ldrsh r0, [r5, r4]
adds r2, r5, 0
adds r2, 0x8
movs r1, 0x1
bl sub_808CE74
_080010AE:
bl sub_808D378
cmp r0, 0
bne _080010F2
ldr r5, _080010E0
ldrb r0, [r5, 0x1C]
cmp r0, 0
bne _080010E4
add r4, sp, 0x14
movs r0, 0x6
ldrsh r1, [r5, r0]
adds r0, r4, 0
bl CopyMonsterNameToBuffer
mov r0, sp
adds r1, r4, 0
bl CopyStringtoBuffer
movs r1, 0x6
ldrsh r0, [r5, r1]
movs r1, 0
mov r2, sp
bl sub_808CE74
b _080010F2
.align 2, 0
_080010E0: .4byte gPersonalityRelated_203B040
_080010E4:
movs r4, 0x6
ldrsh r0, [r5, r4]
adds r2, r5, 0
adds r2, 0x1C
movs r1, 0
bl sub_808CE74
_080010F2:
ldr r3, _08001164
movs r0, 0x4
ldrsh r1, [r3, r0]
cmp r1, 0
beq _08001126
ldr r2, _08001168
movs r4, 0x4
ldrsh r0, [r2, r4]
cmp r0, 0
beq _0800111C
cmp r1, r0
beq _0800111C
_0800110A:
adds r2, 0x8
movs r0, 0x4
ldrsh r1, [r2, r0]
cmp r1, 0
beq _0800111C
movs r4, 0x4
ldrsh r0, [r3, r4]
cmp r0, r1
bne _0800110A
_0800111C:
ldr r2, [r2]
movs r0, 0
movs r1, 0x27
bl SetScriptVarValue
_08001126:
ldr r3, _08001164
movs r0, 0x6
ldrsh r1, [r3, r0]
cmp r1, 0
beq _0800115A
ldr r2, _0800116C
movs r4, 0x4
ldrsh r0, [r2, r4]
cmp r0, 0
beq _08001150
cmp r1, r0
beq _08001150
_0800113E:
adds r2, 0x8
movs r0, 0x4
ldrsh r1, [r2, r0]
cmp r1, 0
beq _08001150
movs r4, 0x6
ldrsh r0, [r3, r4]
cmp r0, r1
bne _0800113E
_08001150:
ldr r2, [r2]
movs r0, 0
movs r1, 0x26
bl SetScriptVarValue
_0800115A:
add sp, 0x28
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08001164: .4byte gPersonalityRelated_203B040
_08001168: .4byte gBaseKindTable
_0800116C: .4byte gTalkKindTable
thumb_func_end sub_8001064
thumb_func_start sub_8001170
sub_8001170:
push {r4,lr}
sub sp, 0x8
add r4, sp, 0x4
movs r0, 0x63
strb r0, [r4]
mov r1, sp
adds r1, 0x2
mov r0, sp
bl sub_80992E0
lsls r0, 24
cmp r0, 0
beq _08001196
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
bl sub_80A2740
b _080011BE
_08001196:
adds r0, r4, 0
bl sub_8099328
lsls r0, 24
cmp r0, 0
bne _080011C0
adds r0, r4, 0
bl sub_8099360
lsls r0, 24
cmp r0, 0
bne _080011C0
mov r0, sp
adds r0, 0x5
bl sub_8099394
lsls r0, 24
cmp r0, 0
beq _080011C0
movs r0, 0x3F
_080011BE:
strb r0, [r4]
_080011C0:
ldrb r0, [r4]
add sp, 0x8
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8001170
thumb_func_start sub_80011CC
sub_80011CC:
push {r4,r5,lr}
adds r4, r0, 0
movs r5, 0
strb r1, [r4]
strb r5, [r4, 0x1]
bl sub_80011E8
strb r5, [r4, 0xB]
strb r5, [r4, 0x4]
strb r5, [r4, 0xC]
strb r5, [r4, 0xD]
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80011CC
thumb_func_start sub_80011E8
sub_80011E8:
push {r4,lr}
adds r4, r0, 0
movs r0, 0x8
bl sub_80023E4
strb r0, [r4, 0x5]
movs r0, 0x3
bl sub_80023E4
strb r0, [r4, 0x6]
movs r0, 0x7
bl sub_80023E4
strb r0, [r4, 0x8]
movs r0, 0
bl sub_80023E4
strb r0, [r4, 0x9]
movs r0, 0x5
bl sub_80023E4
strb r0, [r4, 0xA]
movs r0, 0x18
bl sub_80023E4
lsls r0, 24
cmp r0, 0
beq _0800123C
movs r0, 0x19
bl sub_80023E4
lsls r0, 24
cmp r0, 0
beq _0800123C
movs r0, 0x1A
bl sub_80023E4
lsls r0, 24
cmp r0, 0
beq _0800123C
movs r0, 0x1
b _0800123E
_0800123C:
movs r0, 0
_0800123E:
strb r0, [r4, 0x7]
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80011E8
thumb_func_start sub_8001248
sub_8001248:
push {r4,r5,lr}
movs r4, 0
movs r5, 0
_0800124E:
movs r0, 0x64
bl RandInt
cmp r0, 0x31
bgt _08001266
lsls r0, r4, 2
ldr r1, _080012B8
ldr r1, [r1]
adds r0, r1
strb r5, [r0, 0x2]
strb r5, [r0, 0x1]
strb r5, [r0]
_08001266:
adds r4, 0x1
cmp r4, 0x13
ble _0800124E
bl FillInventoryGaps
movs r4, 0
ldr r5, _080012BC
movs r3, 0x1
_08001276:
movs r0, 0x58
adds r1, r4, 0
muls r1, r0
ldr r0, [r5]
adds r1, r0, r1
ldrh r2, [r1]
adds r0, r3, 0
ands r0, r2
cmp r0, 0
beq _08001298
lsrs r0, r2, 1
ands r0, r3
cmp r0, 0
beq _08001298
adds r1, 0x28
movs r0, 0
strb r0, [r1]
_08001298:
adds r4, 0x1
movs r0, 0xCE
lsls r0, 1
cmp r4, r0
ble _08001276
ldr r0, _080012B8
ldr r0, [r0]
movs r1, 0x98
lsls r1, 2
adds r0, r1
movs r1, 0
str r1, [r0]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_080012B8: .4byte gTeamInventoryRef
_080012BC: .4byte gRecruitedPokemonRef
thumb_func_end sub_8001248
thumb_func_start sub_80012C0
sub_80012C0:
push {r4,r5,lr}
movs r3, 0
ldr r4, _08001324
movs r2, 0
_080012C8:
lsls r1, r3, 2
ldr r0, [r4]
adds r1, r0
strb r2, [r1, 0x2]
strb r2, [r1, 0x1]
strb r2, [r1]
adds r3, 0x1
cmp r3, 0x13
ble _080012C8
bl FillInventoryGaps
movs r3, 0
ldr r5, _08001328
movs r4, 0x1
_080012E4:
movs r0, 0x58
adds r1, r3, 0
muls r1, r0
ldr r0, [r5]
adds r1, r0, r1
ldrh r2, [r1]
adds r0, r4, 0
ands r0, r2
cmp r0, 0
beq _08001306
lsrs r0, r2, 1
ands r0, r4
cmp r0, 0
beq _08001306
adds r1, 0x28
movs r0, 0
strb r0, [r1]
_08001306:
adds r3, 0x1
movs r0, 0xCE
lsls r0, 1
cmp r3, r0
ble _080012E4
ldr r0, _08001324
ldr r0, [r0]
movs r1, 0x98
lsls r1, 2
adds r0, r1
movs r1, 0
str r1, [r0]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08001324: .4byte gTeamInventoryRef
_08001328: .4byte gRecruitedPokemonRef
thumb_func_end sub_80012C0
.align 2,0
.align 2,0

View File

@@ -1,190 +0,0 @@
#include "asm/constants/gba_constants.inc"
#include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_801F280
sub_801F280:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x28
lsls r0, 24
lsrs r0, 24
mov r10, r0
ldr r4, _0801F30C
ldr r0, [r4]
ldr r0, [r0, 0x50]
bl CallPrepareTextbox_8008C54
ldr r0, [r4]
ldr r0, [r0, 0x50]
bl sub_80073B8
ldr r0, [r4]
ldr r1, [r0, 0x8]
adds r1, 0x4C
add r0, sp, 0x4
movs r2, 0xA
bl sub_80922B4
ldr r0, _0801F310
add r1, sp, 0x4
bl strcpy
ldr r2, _0801F314
ldr r0, [r4]
ldr r3, [r0, 0x50]
movs r0, 0
str r0, [sp]
movs r0, 0xC
movs r1, 0
bl PrintFormattedStringOnWindow
movs r7, 0
ldr r0, [r4]
movs r1, 0x36
ldrsh r0, [r0, r1]
cmp r7, r0
bge _0801F394
add r5, sp, 0x18
mov r8, r4
movs r0, 0x1
mov r9, r0
_0801F2E0:
adds r0, r5, 0
movs r1, 0
movs r2, 0xC
bl memset
movs r0, 0x6A
str r0, [r5, 0x4]
mov r1, r8
ldr r2, [r1]
lsls r1, r7, 3
ldr r0, [r2, 0x10]
adds r4, r0, r1
ldrb r1, [r4]
mov r0, r9
ands r0, r1
cmp r0, 0
beq _0801F386
ldrb r0, [r2, 0xC]
cmp r0, 0
beq _0801F318
movs r0, 0x2
b _0801F31A
.align 2, 0
_0801F30C: .4byte gUnknown_203B270
_0801F310: .4byte gFormatBuffer_Monsters
_0801F314: .4byte gUnknown_80DC28C
_0801F318:
movs r0, 0x4
_0801F31A:
str r0, [sp, 0x18]
mov r1, r8
ldr r0, [r1]
ldrb r0, [r0, 0x6]
cmp r0, 0
beq _0801F328
mov r0, r9
_0801F328:
strb r0, [r5, 0x9]
cmp r7, 0x3
ble _0801F332
mov r1, r9
strb r1, [r5, 0x8]
_0801F332:
ldr r0, _0801F3EC
adds r1, r4, 0
adds r2, r5, 0
bl sub_80928A0
ldr r2, _0801F3F0
ldr r0, [r2]
adds r0, 0x1C
adds r1, r7, 0
str r2, [sp, 0x24]
bl sub_8013800
adds r6, r0, 0
ldrb r1, [r4]
movs r0, 0x2
ands r0, r1
movs r4, 0xD
ldr r2, [sp, 0x24]
cmp r0, 0
bne _0801F372
movs r4, 0x8
cmp r7, 0
beq _0801F372
ldr r0, [r2]
ldr r0, [r0, 0x50]
subs r2, r6, 0x2
movs r1, 0x7
str r1, [sp]
movs r1, 0xC
movs r3, 0x78
bl sub_800792C
_0801F372:
mov r1, r8
ldr r0, [r1]
ldr r3, [r0, 0x50]
movs r0, 0
str r0, [sp]
adds r0, r4, 0
adds r1, r6, 0
ldr r2, _0801F3F4
bl PrintFormattedStringOnWindow
_0801F386:
adds r7, 0x1
mov r1, r8
ldr r0, [r1]
movs r1, 0x36
ldrsh r0, [r0, r1]
cmp r7, r0
blt _0801F2E0
_0801F394:
ldr r4, _0801F3F0
ldr r0, [r4]
ldr r0, [r0, 0x50]
bl sub_80073E0
ldr r1, [r4]
adds r0, r1, 0
adds r0, 0xB8
ldr r0, [r0]
cmp r0, 0
beq _0801F3DC
mov r0, r10
cmp r0, 0
beq _0801F3DC
ldr r0, [r1, 0x54]
bl CallPrepareTextbox_8008C54
ldr r0, [r4]
ldr r0, [r0, 0x54]
bl sub_80073B8
ldr r1, [r4]
adds r0, r1, 0
adds r0, 0xB8
ldr r2, [r0]
ldr r3, [r1, 0x54]
movs r0, 0
str r0, [sp]
movs r0, 0x8
movs r1, 0
bl PrintFormattedStringOnWindow
ldr r0, [r4]
ldr r0, [r0, 0x54]
bl sub_80073E0
_0801F3DC:
add sp, 0x28
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0801F3EC: .4byte gFormatBuffer_Items
_0801F3F0: .4byte gUnknown_203B270
_0801F3F4: .4byte gUnknown_80DC2A0
thumb_func_end sub_801F280
.align 2,0

View File

@@ -1,662 +0,0 @@
#include "asm/constants/gba_constants.inc"
#include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_808D1DC
sub_808D1DC:
push {r4-r7,lr}
mov r7, r8
push {r7}
mov r8, r0
movs r2, 0x8
ldrsh r1, [r0, r2]
ldr r0, _0808D204
ldr r2, [r0]
lsls r0, r1, 3
adds r0, r1
lsls r0, 3
adds r0, r2
ldrb r6, [r0, 0x16]
ldr r0, _0808D208
ldr r0, [r0]
adds r0, r6
ldrb r0, [r0]
cmp r0, 0
bne _0808D238
b _0808D268
.align 2, 0
_0808D204: .4byte gMonsterParameters
_0808D208: .4byte gFriendAreas
_0808D20C:
ldr r0, [r7]
adds r0, r5
mov r1, r8
movs r2, 0x58
bl memcpy
ldr r1, [r7]
adds r1, r5
ldrh r2, [r1]
ldr r0, _0808D234
ands r0, r2
strh r0, [r1]
mov r1, r8
movs r2, 0x8
ldrsh r0, [r1, r2]
bl sub_80980B4
ldr r0, [r7]
adds r0, r5
b _0808D26A
.align 2, 0
_0808D234: .4byte 0x0000bfff
_0808D238:
movs r4, 0
ldr r7, _0808D274
_0808D23C:
movs r0, 0x58
adds r5, r4, 0
muls r5, r0
ldr r0, [r7]
adds r0, r5, r0
ldrb r1, [r0]
movs r0, 0x1
ands r0, r1
cmp r0, 0
bne _0808D25E
adds r0, r4, 0
bl sub_80923D4
lsls r0, 24
lsrs r0, 24
cmp r0, r6
beq _0808D20C
_0808D25E:
adds r4, 0x1
movs r0, 0xCE
lsls r0, 1
cmp r4, r0
ble _0808D23C
_0808D268:
movs r0, 0
_0808D26A:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0808D274: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D1DC
thumb_func_start sub_808D278
sub_808D278:
push {r4-r7,lr}
lsls r0, 16
asrs r0, 16
ldr r1, _0808D29C
ldr r2, [r1]
lsls r1, r0, 3
adds r1, r0
lsls r1, 3
adds r1, r2
ldrb r6, [r1, 0x16]
ldr r0, _0808D2A0
ldr r0, [r0]
adds r0, r6
ldrb r0, [r0]
cmp r0, 0
bne _0808D2AA
b _0808D2DA
.align 2, 0
_0808D29C: .4byte gMonsterParameters
_0808D2A0: .4byte gFriendAreas
_0808D2A4:
ldr r0, [r7]
adds r0, r5
b _0808D2DC
_0808D2AA:
movs r4, 0
ldr r7, _0808D2E4
_0808D2AE:
movs r0, 0x58
adds r5, r4, 0
muls r5, r0
ldr r0, [r7]
adds r0, r5, r0
ldrb r1, [r0]
movs r0, 0x1
ands r0, r1
cmp r0, 0
bne _0808D2D0
adds r0, r4, 0
bl sub_80923D4
lsls r0, 24
lsrs r0, 24
cmp r0, r6
beq _0808D2A4
_0808D2D0:
adds r4, 0x1
movs r0, 0xCE
lsls r0, 1
cmp r4, r0
ble _0808D2AE
_0808D2DA:
movs r0, 0
_0808D2DC:
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0808D2E4: .4byte gRecruitedPokemonRef
thumb_func_end sub_808D278
thumb_func_start sub_808D2E8
sub_808D2E8:
push {r4-r6,lr}
sub sp, 0x60
adds r4, r0, 0
adds r6, r1, 0
adds r5, r2, 0
ldr r0, [sp, 0x70]
lsls r4, 16
asrs r4, 16
lsls r5, 24
lsrs r5, 24
str r3, [sp]
str r0, [sp, 0x4]
add r0, sp, 0x8
adds r1, r4, 0
adds r2, r6, 0
adds r3, r5, 0
bl sub_808CFD0
add r0, sp, 0x8
bl sub_808D1DC
add sp, 0x60
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_808D2E8
thumb_func_start sub_808D31C
sub_808D31C:
push {lr}
adds r1, r0, 0
ldrb r0, [r1, 0x2]
cmp r0, 0
bne _0808D338
movs r2, 0
ldrb r0, [r1, 0x4]
cmp r0, 0x41
bne _0808D330
movs r2, 0x1
_0808D330:
adds r0, r2, 0
cmp r0, 0
bne _0808D338
strh r0, [r1]
_0808D338:
pop {r0}
bx r0
thumb_func_end sub_808D31C
thumb_func_start GetPlayerPokemonStruct
GetPlayerPokemonStruct:
push {r4,lr}
movs r3, 0
ldr r0, _0808D360
ldr r4, [r0]
_0808D344:
movs r0, 0x58
muls r0, r3
adds r2, r0, r4
ldrb r1, [r2]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0808D364
ldrb r0, [r2, 0x2]
cmp r0, 0
beq _0808D364
adds r0, r2, 0
b _0808D370
.align 2, 0
_0808D360: .4byte gRecruitedPokemonRef
_0808D364:
adds r3, 0x1
movs r0, 0xCE
lsls r0, 1
cmp r3, r0
ble _0808D344
movs r0, 0
_0808D370:
pop {r4}
pop {r1}
bx r1
thumb_func_end GetPlayerPokemonStruct
thumb_func_start sub_808D378
sub_808D378:
push {r4,lr}
movs r3, 0
ldr r0, _0808D3A4
ldr r4, [r0]
_0808D380:
movs r0, 0x58
muls r0, r3
adds r2, r0, r4
ldrb r1, [r2]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0808D3A8
movs r1, 0
ldrb r0, [r2, 0x4]
cmp r0, 0x41
bne _0808D39A
movs r1, 0x1
_0808D39A:
cmp r1, 0
beq _0808D3A8
adds r0, r2, 0
b _0808D3B4
.align 2, 0
_0808D3A4: .4byte gRecruitedPokemonRef
_0808D3A8:
adds r3, 0x1
movs r0, 0xCE
lsls r0, 1
cmp r3, r0
ble _0808D380
movs r0, 0
_0808D3B4:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_808D378
thumb_func_start sub_808D3BC
sub_808D3BC:
push {r4-r6,lr}
movs r4, 0
ldr r0, _0808D3E0
ldr r2, [r0]
adds r3, r2, 0
movs r6, 0x1
movs r5, 0xCE
lsls r5, 1
_0808D3CC:
ldrb r1, [r2]
adds r0, r6, 0
ands r0, r1
cmp r0, 0
beq _0808D3E4
ldrb r0, [r2, 0x4]
cmp r0, 0x40
bne _0808D3E4
adds r0, r3, 0
b _0808D3F0
.align 2, 0
_0808D3E0: .4byte gRecruitedPokemonRef
_0808D3E4:
adds r2, 0x58
adds r3, 0x58
adds r4, 0x1
cmp r4, r5
ble _0808D3CC
movs r0, 0
_0808D3F0:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_808D3BC
thumb_func_start sub_808D3F8
sub_808D3F8:
push {r4-r6,lr}
movs r4, 0
ldr r0, _0808D41C
ldr r2, [r0]
adds r3, r2, 0
movs r6, 0x1
movs r5, 0xCE
lsls r5, 1
_0808D408:
ldrb r1, [r2]
adds r0, r6, 0
ands r0, r1
cmp r0, 0
beq _0808D420
ldrb r0, [r2, 0x4]
cmp r0, 0x41
bne _0808D420
adds r0, r3, 0
b _0808D42C
.align 2, 0
_0808D41C: .4byte gRecruitedPokemonRef
_0808D420:
adds r2, 0x58
adds r3, 0x58
adds r4, 0x1
cmp r4, r5
ble _0808D408
movs r0, 0
_0808D42C:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_808D3F8
thumb_func_start sub_808D434
sub_808D434:
push {r4-r7,lr}
adds r6, r1, 0
lsls r0, 16
asrs r5, r0, 16
ldr r0, _0808D468
ldr r2, [r0]
movs r4, 0
movs r3, 0
movs r0, 0x1
mov r12, r0
movs r7, 0xCE
lsls r7, 1
_0808D44C:
ldrb r1, [r2]
mov r0, r12
ands r0, r1
cmp r0, 0
beq _0808D46E
movs r1, 0x8
ldrsh r0, [r2, r1]
cmp r0, r5
bne _0808D46E
cmp r4, r6
bne _0808D46C
adds r0, r2, 0
b _0808D478
.align 2, 0
_0808D468: .4byte gRecruitedPokemonRef
_0808D46C:
adds r4, 0x1
_0808D46E:
adds r3, 0x1
adds r2, 0x58
cmp r3, r7
ble _0808D44C
movs r0, 0
_0808D478:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_808D434
thumb_func_start GetFriendSum_808D480
GetFriendSum_808D480:
push {r4,r5,lr}
ldr r0, _0808D4A8
ldr r2, [r0]
movs r4, 0
movs r5, 0x1
ldr r3, _0808D4AC
_0808D48C:
ldrb r1, [r2]
adds r0, r5, 0
ands r0, r1
cmp r0, 0
beq _0808D498
adds r4, 0x1
_0808D498:
subs r3, 0x1
adds r2, 0x58
cmp r3, 0
bne _0808D48C
adds r0, r4, 0
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0808D4A8: .4byte gRecruitedPokemonRef
_0808D4AC: .4byte 0x0000019d
thumb_func_end GetFriendSum_808D480
thumb_func_start sub_808D4B0
sub_808D4B0:
push {r4-r6,lr}
ldr r0, _0808D4F8
ldr r2, [r0]
movs r5, 0
movs r4, 0
ldr r6, _0808D4FC
_0808D4BC:
ldrh r3, [r2]
lsrs r0, r3, 1
movs r1, 0x1
ands r0, r1
cmp r0, 0
beq _0808D4E4
ldrb r0, [r2, 0x2]
cmp r0, 0
bne _0808D4E4
movs r1, 0
ldrb r0, [r2, 0x4]
cmp r0, 0x41
bne _0808D4D8
movs r1, 0x1
_0808D4D8:
cmp r1, 0
bne _0808D4E4
movs r5, 0x1
adds r0, r6, 0
ands r0, r3
strh r0, [r2]
_0808D4E4:
adds r4, 0x1
adds r2, 0x58
movs r0, 0xCE
lsls r0, 1
cmp r4, r0
ble _0808D4BC
adds r0, r5, 0
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0808D4F8: .4byte gRecruitedPokemonRef
_0808D4FC: .4byte 0x0000fffd
thumb_func_end sub_808D4B0
thumb_func_start sub_808D500
sub_808D500:
push {r4-r6,lr}
ldr r0, _0808D53C
ldr r2, [r0]
movs r5, 0
movs r4, 0
ldr r6, _0808D540
_0808D50C:
ldrh r3, [r2]
lsrs r0, r3, 1
movs r1, 0x1
ands r0, r1
cmp r0, 0
beq _0808D526
ldrb r0, [r2, 0x2]
cmp r0, 0
bne _0808D526
movs r5, 0x1
adds r0, r6, 0
ands r0, r3
strh r0, [r2]
_0808D526:
adds r4, 0x1
adds r2, 0x58
movs r0, 0xCE
lsls r0, 1
cmp r4, r0
ble _0808D50C
adds r0, r5, 0
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0808D53C: .4byte gRecruitedPokemonRef
_0808D540: .4byte 0x0000fffd
thumb_func_end sub_808D500
thumb_func_start GetUnitSum_808D544
GetUnitSum_808D544:
push {r4-r7,lr}
adds r4, r0, 0
ldr r0, _0808D57C
ldr r3, [r0]
movs r5, 0
movs r2, 0
movs r7, 0x1
movs r6, 0xCE
lsls r6, 1
adds r1, r4, 0
_0808D558:
ldrh r0, [r3]
lsrs r0, 1
ands r0, r7
cmp r0, 0
beq _0808D56C
cmp r4, 0
beq _0808D568
str r2, [r1]
_0808D568:
adds r1, 0x4
adds r5, 0x1
_0808D56C:
adds r2, 0x1
adds r3, 0x58
cmp r2, r6
ble _0808D558
adds r0, r5, 0
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_0808D57C: .4byte gRecruitedPokemonRef
thumb_func_end GetUnitSum_808D544
thumb_func_start sub_808D580
sub_808D580:
push {r4-r7,lr}
adds r6, r0, 0
ldr r0, _0808D5AC
ldr r2, [r0]
movs r5, 0
movs r4, 0
mov r12, r0
adds r3, r6, 0
_0808D590:
ldrb r0, [r2, 0x2]
cmp r0, 0
beq _0808D5B0
ldrb r1, [r2]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0808D5B0
cmp r6, 0
beq _0808D5B0
str r4, [r3]
adds r5, 0x1
b _0808D5BC
.align 2, 0
_0808D5AC: .4byte gRecruitedPokemonRef
_0808D5B0:
adds r4, 0x1
adds r2, 0x58
movs r0, 0xCE
lsls r0, 1
cmp r4, r0
ble _0808D590
_0808D5BC:
mov r0, r12
ldr r2, [r0]
movs r4, 0
lsls r0, r5, 2
adds r7, r0, r6
_0808D5C6:
movs r1, 0
ldrb r0, [r2, 0x4]
cmp r0, 0x41
bne _0808D5D0
movs r1, 0x1
_0808D5D0:
cmp r1, 0
beq _0808D5F8
ldrb r0, [r2, 0x2]
cmp r0, 0
bne _0808D5F8
ldrh r1, [r2]
lsrs r0, r1, 1
movs r3, 0x1
ands r0, r3
cmp r0, 0
beq _0808D5F8
adds r0, r3, 0
ands r0, r1
cmp r0, 0
beq _0808D5F8
cmp r6, 0
beq _0808D5F8
str r4, [r7]
adds r5, 0x1
b _0808D604
_0808D5F8:
adds r4, 0x1
adds r2, 0x58
movs r0, 0xCE
lsls r0, 1
cmp r4, r0
ble _0808D5C6
_0808D604:
mov r0, r12
ldr r2, [r0]
movs r4, 0
movs r3, 0x1
lsls r0, r5, 2
adds r7, r0, r6
_0808D610:
ldrh r1, [r2]
lsrs r0, r1, 1
ands r0, r3
cmp r0, 0
beq _0808D63E
adds r0, r3, 0
ands r0, r1
cmp r0, 0
beq _0808D63E
ldrb r0, [r2, 0x2]
cmp r0, 0
bne _0808D63E
movs r1, 0
ldrb r0, [r2, 0x4]
cmp r0, 0x41
bne _0808D632
movs r1, 0x1
_0808D632:
cmp r1, 0
bne _0808D63E
cmp r6, 0
beq _0808D63E
stm r7!, {r4}
adds r5, 0x1
_0808D63E:
adds r4, 0x1
adds r2, 0x58
movs r0, 0xCE
lsls r0, 1
cmp r4, r0
ble _0808D610
adds r0, r5, 0
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_808D580
.align 2,0

File diff suppressed because it is too large Load Diff

View File

@@ -3,61 +3,9 @@
@ START code_80130A8
.global gUnknown_80D48A0
gUnknown_80D48A0: @ 80D48A0
.byte 0x07, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00
.global gUnknown_80D48AC
gUnknown_80D48AC: @ 80D48AC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global gUnknown_80D48C4
gUnknown_80D48C4: @ 80D48C4
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x0f, 0x00
.byte 0x1a, 0x00, 0x05, 0x00
.byte 0x07, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global gUnknown_80D48DC
gUnknown_80D48DC: @ 80D48DC
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x08, 0x00
.byte 0x1a, 0x00, 0x05, 0x00
.byte 0x07, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.global gSpeakerNameSeparator
gSpeakerNameSeparator: @ 80D48F4
.byte 0x3A, 0x20, 0x00, 0x00 @ maybe just a colon and space
.global gUnknown_80D48F8
gUnknown_80D48F8: @ 80D48F8
.string "????\0"
.align 2,0
.global gUnknown_80D4900
gUnknown_80D4900: @ 80D4900
.string "%d\0"
.align 2,0
.global gUnknown_80D4904
gUnknown_80D4904: @ 80D4904
.string "%*d\0"
.align 2,0
.global gUnknown_80D4908
gUnknown_80D4908: @ 80D4908
.string "%0*d\0"
.asciz "%0*d"
.align 2,0
.global gUnknown_80D4910

File diff suppressed because it is too large Load Diff

1345
data/data_81076E4.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -1,23 +0,0 @@
.section .rodata
@ ???
.string "pksdir0\0"
.align 2,0
@ ???
.string "pksdir0\0"
.align 2,0
@ ???
.string "pksdir0\0"
.align 2,0
@ ???
.string "pksdir0\0"
.align 2,0
.global gUnknown_8109984
gUnknown_8109984: @ 8109984
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x00
@ ???
.string "pksdir0\0"
.align 2,0

View File

@@ -1,972 +0,0 @@
.section .rodata
.global gUnknown_8270000
gUnknown_8270000: @ 8270000
@ replacing .incbin "baserom.gba", 0x00270000, 0x2724
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x04, 0x00, 0x07, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x8c, 0x34, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x95, 0x1b, 0x00, 0x03
.byte 0xa5, 0x1c, 0x00, 0x03
.byte 0xd9, 0x1d, 0x00, 0x03
.byte 0xad, 0x1e, 0x00, 0x03
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x41, 0x3e
.byte 0x42, 0x3c, 0x44, 0x3b
.byte 0x48, 0x37, 0x40, 0x30
.byte 0x46, 0x38, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x0a, 0x00
.byte 0x1a, 0x00, 0x09, 0x00
.byte 0x09, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x17, 0x00, 0x06, 0x00
.byte 0x05, 0x00, 0x03, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte Ground_Text
.4byte GroundScript_Text
.4byte Dungeon_Text
.4byte Sound_Text
.4byte Bgm_Text
.4byte Se_Text
.4byte Flag_Text
.4byte Memory_Text
.4byte MemoryCard_Text
.4byte Performance_Text
.byte 0x00, 0x00, 0x00, 0x00
.4byte sGameInternalVersion
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x0f, 0x00
.byte 0x1a, 0x00, 0x05, 0x00
.byte 0x07, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x40, 0x00, 0x00, 0x00
.byte 0x07, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00
.byte 0x11, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.byte 0xde, 0xff, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte gUnkData_80E7628
.byte 0x05, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x03, 0x00, 0x00, 0x00
.byte 0x0c, 0x00, 0x00, 0x00
.byte 0x0c, 0x00, 0x00, 0x00
.byte 0x0e, 0x00, 0x00, 0x00
.byte 0x0e, 0x00, 0x00, 0x00
.byte 0x0d, 0x00, 0x00, 0x00
.byte 0x0e, 0x00, 0x00, 0x00
.byte 0x0c, 0x00, 0x00, 0x00
.byte 0x0d, 0x00, 0x00, 0x00
.byte 0x0d, 0x00, 0x00, 0x00
.byte 0x0b, 0x00, 0x00, 0x00
.byte 0x0b, 0x00, 0x00, 0x00
.byte 0x0b, 0x00, 0x00, 0x00
.byte 0x10, 0x00, 0x00, 0x00
.byte 0x11, 0x00, 0x00, 0x00
.byte 0x12, 0x00, 0x00, 0x00
.byte 0x13, 0x00, 0x00, 0x00
.byte 0x14, 0x00, 0x00, 0x00
.byte 0x15, 0x00, 0x00, 0x00
.byte 0x1a, 0x00, 0x00, 0x00
.byte 0x18, 0x00, 0x00, 0x00
.byte 0x1b, 0x00, 0x00, 0x00
.byte 0x16, 0x00, 0x00, 0x00
.byte 0x19, 0x00, 0x00, 0x00
.byte 0x17, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x64, 0x00, 0x64, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x15, 0x00, 0x16, 0x00
.byte 0x15, 0x00, 0x16, 0x00
.byte 0x02, 0x03, 0x01, 0x01
.byte 0x00, 0x00, 0x00, 0x02
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x0d, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x28, 0x00, 0x00, 0x00
.byte 0x28, 0x00, 0x00, 0x00
.byte 0x50, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x71, 0x02, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0xdf, 0xb0, 0x08, 0x99
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte gUnknown_8116390
.4byte gUnknown_811636C
.4byte gUnknown_811633C
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte _impure_ptr - 0x108
.4byte _impure_ptr - 0xb0
.4byte _impure_ptr - 0x58
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte __mprec_tens - 0x4c
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte gCurrentGroundLink + 0x4
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x43, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x43, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte __malloc_av_
.4byte __malloc_av_
.4byte __malloc_av_ + 0x8
.4byte __malloc_av_ + 0x8
.4byte __malloc_av_ + 0x10
.4byte __malloc_av_ + 0x10
.4byte __malloc_av_ + 0x18
.4byte __malloc_av_ + 0x18
.4byte __malloc_av_ + 0x20
.4byte __malloc_av_ + 0x20
.4byte __malloc_av_ + 0x28
.4byte __malloc_av_ + 0x28
.4byte __malloc_av_ + 0x30
.4byte __malloc_av_ + 0x30
.4byte __malloc_av_ + 0x38
.4byte __malloc_av_ + 0x38
.4byte __malloc_av_ + 0x40
.4byte __malloc_av_ + 0x40
.4byte __malloc_av_ + 0x48
.4byte __malloc_av_ + 0x48
.4byte __malloc_av_ + 0x50
.4byte __malloc_av_ + 0x50
.4byte __malloc_av_ + 0x58
.4byte __malloc_av_ + 0x58
.4byte __malloc_av_ + 0x60
.4byte __malloc_av_ + 0x60
.4byte __malloc_av_ + 0x68
.4byte __malloc_av_ + 0x68
.4byte __malloc_av_ + 0x70
.4byte __malloc_av_ + 0x70
.4byte __malloc_av_ + 0x78
.4byte __malloc_av_ + 0x78
.4byte __malloc_av_ + 0x80
.4byte __malloc_av_ + 0x80
.4byte __malloc_av_ + 0x88
.4byte __malloc_av_ + 0x88
.4byte __malloc_av_ + 0x90
.4byte __malloc_av_ + 0x90
.4byte __malloc_av_ + 0x98
.4byte __malloc_av_ + 0x98
.4byte __malloc_av_ + 0xa0
.4byte __malloc_av_ + 0xa0
.4byte __malloc_av_ + 0xa8
.4byte __malloc_av_ + 0xa8
.4byte __malloc_av_ + 0xb0
.4byte __malloc_av_ + 0xb0
.4byte __malloc_av_ + 0xb8
.4byte __malloc_av_ + 0xb8
.4byte __malloc_av_ + 0xc0
.4byte __malloc_av_ + 0xc0
.4byte __malloc_av_ + 0xc8
.4byte __malloc_av_ + 0xc8
.4byte __malloc_av_ + 0xd0
.4byte __malloc_av_ + 0xd0
.4byte __malloc_av_ + 0xd8
.4byte __malloc_av_ + 0xd8
.4byte __malloc_av_ + 0xe0
.4byte __malloc_av_ + 0xe0
.4byte __malloc_av_ + 0xe8
.4byte __malloc_av_ + 0xe8
.4byte __malloc_av_ + 0xf0
.4byte __malloc_av_ + 0xf0
.4byte __malloc_av_ + 0xf8
.4byte __malloc_av_ + 0xf8
.4byte __malloc_av_ + 0x100
.4byte __malloc_av_ + 0x100
.4byte __malloc_av_ + 0x108
.4byte __malloc_av_ + 0x108
.4byte __malloc_av_ + 0x110
.4byte __malloc_av_ + 0x110
.4byte __malloc_av_ + 0x118
.4byte __malloc_av_ + 0x118
.4byte __malloc_av_ + 0x120
.4byte __malloc_av_ + 0x120
.4byte __malloc_av_ + 0x128
.4byte __malloc_av_ + 0x128
.4byte __malloc_av_ + 0x130
.4byte __malloc_av_ + 0x130
.4byte __malloc_av_ + 0x138
.4byte __malloc_av_ + 0x138
.4byte __malloc_av_ + 0x140
.4byte __malloc_av_ + 0x140
.4byte __malloc_av_ + 0x148
.4byte __malloc_av_ + 0x148
.4byte __malloc_av_ + 0x150
.4byte __malloc_av_ + 0x150
.4byte __malloc_av_ + 0x158
.4byte __malloc_av_ + 0x158
.4byte __malloc_av_ + 0x160
.4byte __malloc_av_ + 0x160
.4byte __malloc_av_ + 0x168
.4byte __malloc_av_ + 0x168
.4byte __malloc_av_ + 0x170
.4byte __malloc_av_ + 0x170
.4byte __malloc_av_ + 0x178
.4byte __malloc_av_ + 0x178
.4byte __malloc_av_ + 0x180
.4byte __malloc_av_ + 0x180
.4byte __malloc_av_ + 0x188
.4byte __malloc_av_ + 0x188
.4byte __malloc_av_ + 0x190
.4byte __malloc_av_ + 0x190
.4byte __malloc_av_ + 0x198
.4byte __malloc_av_ + 0x198
.4byte __malloc_av_ + 0x1a0
.4byte __malloc_av_ + 0x1a0
.4byte __malloc_av_ + 0x1a8
.4byte __malloc_av_ + 0x1a8
.4byte __malloc_av_ + 0x1b0
.4byte __malloc_av_ + 0x1b0
.4byte __malloc_av_ + 0x1b8
.4byte __malloc_av_ + 0x1b8
.4byte __malloc_av_ + 0x1c0
.4byte __malloc_av_ + 0x1c0
.4byte __malloc_av_ + 0x1c8
.4byte __malloc_av_ + 0x1c8
.4byte __malloc_av_ + 0x1d0
.4byte __malloc_av_ + 0x1d0
.4byte __malloc_av_ + 0x1d8
.4byte __malloc_av_ + 0x1d8
.4byte __malloc_av_ + 0x1e0
.4byte __malloc_av_ + 0x1e0
.4byte __malloc_av_ + 0x1e8
.4byte __malloc_av_ + 0x1e8
.4byte __malloc_av_ + 0x1f0
.4byte __malloc_av_ + 0x1f0
.4byte __malloc_av_ + 0x1f8
.4byte __malloc_av_ + 0x1f8
.4byte __malloc_av_ + 0x200
.4byte __malloc_av_ + 0x200
.4byte __malloc_av_ + 0x208
.4byte __malloc_av_ + 0x208
.4byte __malloc_av_ + 0x210
.4byte __malloc_av_ + 0x210
.4byte __malloc_av_ + 0x218
.4byte __malloc_av_ + 0x218
.4byte __malloc_av_ + 0x220
.4byte __malloc_av_ + 0x220
.4byte __malloc_av_ + 0x228
.4byte __malloc_av_ + 0x228
.4byte __malloc_av_ + 0x230
.4byte __malloc_av_ + 0x230
.4byte __malloc_av_ + 0x238
.4byte __malloc_av_ + 0x238
.4byte __malloc_av_ + 0x240
.4byte __malloc_av_ + 0x240
.4byte __malloc_av_ + 0x248
.4byte __malloc_av_ + 0x248
.4byte __malloc_av_ + 0x250
.4byte __malloc_av_ + 0x250
.4byte __malloc_av_ + 0x258
.4byte __malloc_av_ + 0x258
.4byte __malloc_av_ + 0x260
.4byte __malloc_av_ + 0x260
.4byte __malloc_av_ + 0x268
.4byte __malloc_av_ + 0x268
.4byte __malloc_av_ + 0x270
.4byte __malloc_av_ + 0x270
.4byte __malloc_av_ + 0x278
.4byte __malloc_av_ + 0x278
.4byte __malloc_av_ + 0x280
.4byte __malloc_av_ + 0x280
.4byte __malloc_av_ + 0x288
.4byte __malloc_av_ + 0x288
.4byte __malloc_av_ + 0x290
.4byte __malloc_av_ + 0x290
.4byte __malloc_av_ + 0x298
.4byte __malloc_av_ + 0x298
.4byte __malloc_av_ + 0x2a0
.4byte __malloc_av_ + 0x2a0
.4byte __malloc_av_ + 0x2a8
.4byte __malloc_av_ + 0x2a8
.4byte __malloc_av_ + 0x2b0
.4byte __malloc_av_ + 0x2b0
.4byte __malloc_av_ + 0x2b8
.4byte __malloc_av_ + 0x2b8
.4byte __malloc_av_ + 0x2c0
.4byte __malloc_av_ + 0x2c0
.4byte __malloc_av_ + 0x2c8
.4byte __malloc_av_ + 0x2c8
.4byte __malloc_av_ + 0x2d0
.4byte __malloc_av_ + 0x2d0
.4byte __malloc_av_ + 0x2d8
.4byte __malloc_av_ + 0x2d8
.4byte __malloc_av_ + 0x2e0
.4byte __malloc_av_ + 0x2e0
.4byte __malloc_av_ + 0x2e8
.4byte __malloc_av_ + 0x2e8
.4byte __malloc_av_ + 0x2f0
.4byte __malloc_av_ + 0x2f0
.4byte __malloc_av_ + 0x2f8
.4byte __malloc_av_ + 0x2f8
.4byte __malloc_av_ + 0x300
.4byte __malloc_av_ + 0x300
.4byte __malloc_av_ + 0x308
.4byte __malloc_av_ + 0x308
.4byte __malloc_av_ + 0x310
.4byte __malloc_av_ + 0x310
.4byte __malloc_av_ + 0x318
.4byte __malloc_av_ + 0x318
.4byte __malloc_av_ + 0x320
.4byte __malloc_av_ + 0x320
.4byte __malloc_av_ + 0x328
.4byte __malloc_av_ + 0x328
.4byte __malloc_av_ + 0x330
.4byte __malloc_av_ + 0x330
.4byte __malloc_av_ + 0x338
.4byte __malloc_av_ + 0x338
.4byte __malloc_av_ + 0x340
.4byte __malloc_av_ + 0x340
.4byte __malloc_av_ + 0x348
.4byte __malloc_av_ + 0x348
.4byte __malloc_av_ + 0x350
.4byte __malloc_av_ + 0x350
.4byte __malloc_av_ + 0x358
.4byte __malloc_av_ + 0x358
.4byte __malloc_av_ + 0x360
.4byte __malloc_av_ + 0x360
.4byte __malloc_av_ + 0x368
.4byte __malloc_av_ + 0x368
.4byte __malloc_av_ + 0x370
.4byte __malloc_av_ + 0x370
.4byte __malloc_av_ + 0x378
.4byte __malloc_av_ + 0x378
.4byte __malloc_av_ + 0x380
.4byte __malloc_av_ + 0x380
.4byte __malloc_av_ + 0x388
.4byte __malloc_av_ + 0x388
.4byte __malloc_av_ + 0x390
.4byte __malloc_av_ + 0x390
.4byte __malloc_av_ + 0x398
.4byte __malloc_av_ + 0x398
.4byte __malloc_av_ + 0x3a0
.4byte __malloc_av_ + 0x3a0
.4byte __malloc_av_ + 0x3a8
.4byte __malloc_av_ + 0x3a8
.4byte __malloc_av_ + 0x3b0
.4byte __malloc_av_ + 0x3b0
.4byte __malloc_av_ + 0x3b8
.4byte __malloc_av_ + 0x3b8
.4byte __malloc_av_ + 0x3c0
.4byte __malloc_av_ + 0x3c0
.4byte __malloc_av_ + 0x3c8
.4byte __malloc_av_ + 0x3c8
.4byte __malloc_av_ + 0x3d0
.4byte __malloc_av_ + 0x3d0
.4byte __malloc_av_ + 0x3d8
.4byte __malloc_av_ + 0x3d8
.4byte __malloc_av_ + 0x3e0
.4byte __malloc_av_ + 0x3e0
.4byte __malloc_av_ + 0x3e8
.4byte __malloc_av_ + 0x3e8
.4byte __malloc_av_ + 0x3f0
.4byte __malloc_av_ + 0x3f0
.4byte __malloc_av_ + 0x3f8
.4byte __malloc_av_ + 0x3f8
.byte 0x00, 0x00, 0x02, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.byte 0xff, 0xff, 0xff, 0xff
.byte 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00

View File

@@ -1,8 +1,9 @@
#ifndef GUARD_CODE_2_H
#define GUARD_CODE_2_H
// code_2.s
extern void sub_8001024(u32 *);
extern void sub_8001044(u32 *);
#include "personality_test1.h"
#endif // GUARD_CODE_2_H
void sub_8001024(struct PersonalityRelated *);
void sub_8001044(struct PersonalityRelated *);
#endif // GUARD_CODE_2_H

View File

@@ -31,8 +31,6 @@ s32 sub_801F194(void);
bool8 sub_801F1A4(void);
void sub_801F1B0(bool8, bool8);
void sub_801F214(void);
// code_801EE10.s
extern void sub_801F280(u32); // Probably bool
void sub_801F280(bool8);
#endif // CODE_801EE10_H

View File

@@ -4,6 +4,7 @@
#include "structs/menu.h"
#include "structs/str_text.h"
#include "pokemon_3.h"
struct unkStruct_203B2AC
{
@@ -11,8 +12,7 @@ struct unkStruct_203B2AC
u32 unk34[3];
u8 unk40[0x48 - 0x40];
s16 speciesNum;
u32 unk4C;
u8 unk50[0xB0 - 0x50];
struct unkStruct_808FF20 unk4C;
u32 unkB0;
u8 fillB4[0xE0 - 0xB4];
u32 unkE0;

View File

@@ -8,7 +8,8 @@
#define IWRAM_DATA __attribute__((section("iwram_data")))
#define EWRAM_DATA __attribute__((section("ewram_data")))
#define EWRAM_DATA_2 __attribute__((section("ewram_data_2")))
#define EWRAM_LIB __attribute__((section("ewram_lib"))) // Used only for agb flash and m4a
#define EWRAM_INIT __attribute__((section("ewram_init")))
#define UNUSED __attribute__((unused))
#define NAKED __attribute__((naked))

View File

@@ -14,14 +14,19 @@ typedef struct PersonalityQuestion
/* 0x8 */ const PersonalityEffects *effects;
} PersonalityQuestion;
struct PersonalityRelated
{
u32 unk4;
s16 StarterID;
s16 PartnerID;
u8 StarterName[0x14];
u8 PartnerNick[0x14];
};
struct PersonalityTestTracker
{
/* 0x0 */ s32 FrameCounter;
u32 unk4;
/* 0x8 */ s16 StarterID;
/* 0xA */ s16 PartnerID;
u8 fillC[0x20 - 0xC];
/* 0x20 */ u8 PartnerNick[20];
struct PersonalityRelated unk4;
/* 0x34 */ u32 TestState;
/* 0x38 */ s32 QuestionCounter;
/* 0x3C */ u32 currQuestionIndex;

View File

@@ -81,21 +81,30 @@ OpenedFile *GetDialogueSpriteDataPtr(s32 index);
s32 GetUnownIndex(s16 index);
void GenerateHiddenPower(HiddenPower *);
s32 GetEvolutionSequence(PokemonStruct1 *pokemon, EvolveStage *);
s32 sub_808E400(s32 _species, s16* _a2, bool32 _bodySizeCheck, bool32 _shedinjaCheck);
void sub_808E490(Move* a1, s32 species);
void xxx_pokemonstruct_to_pokemon2_808DE50(PokemonStruct2 *, PokemonStruct1 *, s32);
void WritePoke1Bits(DataSerializer *, PokemonStruct1 *pokemon);
void ReadPoke1Bits(DataSerializer *, PokemonStruct1 *);
s32 sub_808E218(unkStruct_808E218_arg *, PokemonStruct1 *pokemon);
void sub_808CFD0(PokemonStruct1 *pokemon, s16 _species, u8* name, u32 _itemID, DungeonLocation *location, u16 *moveID);
void sub_808D0D8(PokemonStruct1 *pokemon);
// pokemon.s
extern PokemonStruct1 *GetPlayerPokemonStruct(void);
extern u32 sub_808D1DC(PokemonStruct1*);
extern PokemonStruct1 *sub_808D378(void);
extern PokemonStruct1 *sub_808D3BC(void);
extern PokemonStruct1 *sub_808D3F8(void);
extern s32 GetUnitSum_808D544(u32);
extern s32 sub_808D580(s32 *);
PokemonStruct1 *GetPlayerPokemonStruct(void);
PokemonStruct1 *sub_808D1DC(PokemonStruct1*);
PokemonStruct1 *sub_808D378(void);
PokemonStruct1 *sub_808D3BC(void);
PokemonStruct1 *sub_808D3F8(void);
PokemonStruct1 * sub_808D434(s16 species, s32 param_2);
s32 GetFriendSum_808D480(void);
bool8 sub_808D4B0(void);
bool8 sub_808D500(void);
s32 GetUnitSum_808D544(s32 *);
s32 sub_808D580(s32 *);
bool8 ComparePokemonNames(s16, s16);
void PrintPokeNameToBuffer(u8 *buffer, PokemonStruct1 *pokemon);
void GetPokemonLevelData(LevelData* a1, s32 _id, s32 level);
const u8* DecompressMoveID(const u8* a1, u16* moveID);
bool8 sub_808DA44(s32, u32);
static inline bool8 PokemonFlag1(PokemonStruct1 *mon)
{

View File

@@ -15,6 +15,40 @@ typedef struct EvolveStatus
/* 0x6 */ s16 targetEvolveSpecies;
} EvolveStatus;
struct unkStruct_808FF20
{
// size: 0x64
s16 species;
u8 nameBuffer[0x14];
u8 types[2]; // 0x16
u8 abilities[2]; // 0x18
u8 fill1A[0x1C - 0x1A];
DungeonLocation dungeonLocation; // 0x1C
Item item; // 0x20
s32 HP1;
s32 HP2;
s32 level;
u32 exp;
Offense offense;
bool8 isTeamLeader;
u8 atkBoost;
u8 spAtkBoost;
u8 defBoost;
u8 spDefBoost;
u8 fill3D;
s16 IQ; // 0x3E
s16 unk40;
s16 fill42;
struct unkPokeSubStruct_C unk44[2];
u8 unk4C;
u8 fill4D[3];
IqSkillFlags IQSkills; // 0x50
u8 tactic;
u8 fill55[1];
s16 unk56;
u8 unk58[12];
};
bool8 HasRecruitedMon(s16 species);
s16 GetBaseSpecies(s16 index);
s16 GetBaseSpeciesNoUnown(s16 index);
@@ -30,13 +64,13 @@ void SetIQSkill(IqSkillFlags *iq, u32 skillIndex);
bool8 IsIQSkillSet(IqSkillFlags *iq, u32 IQSkillBit);
void SetDefaultIQSkills(IqSkillFlags *iq, bool8 enableSelfCurer);
void sub_808F468(PokemonStruct1 *param_1, EvolveStatus *evolveStatus, u8 param_3);
u32 sub_808F734(PokemonStruct1 *pokemon, s16 _species);
s32 sub_808F700(PokemonStruct1 *pokemon);
PokemonStruct1 *sub_808F734(PokemonStruct1 *pokemon, s16 _species);
s16 ExtractSpeciesIndex(UnkDungeonGlobal_unk1CD98 *r0);
void SetSpeciesLevelToExtract(UnkDungeonGlobal_unk1CD98 *r0, s32 level, s32 species);
s32 ExtractLevel(UnkDungeonGlobal_unk1CD98 *r0);
// pokemon_3.s
extern void CreatePokemonInfoTabScreen(u32, s16, u32 *, u32 *, u32);
extern void sub_808FF20(u32 *, PokemonStruct1 *, bool8);
PokemonStruct1 *sub_808F798(PokemonStruct1 *pokemon, short _species);
void CreatePokemonInfoTabScreen(u32, s32, struct unkStruct_808FF20 *, u8 *, u32);
void sub_808FF20(struct unkStruct_808FF20 *param_1, struct PokemonStruct1 *pokemon, bool8 param_3);
#endif // GUARD_POKEMON_3_H

View File

@@ -3,12 +3,8 @@
#include "pokemon.h"
bool8 ComparePokemonNames(s16, s16);
// NOTE: this is kept separate since TransferOrbAction needs index to be s32
// and I haven't had the time to fix matching
void CopyCyanMonsterNametoBuffer(u8 *buffer, s16 index);
void PrintPokeNameToBuffer(u8 *buffer, PokemonStruct1 *pokemon);
void GetPokemonLevelData(LevelData* a1, s32 _id, s32 level);
const u8* DecompressMoveID(const u8* a1, u16* moveID);
bool8 sub_808DA44(s32, u32);
#endif // GUARD_POKEMON_MID_H

View File

@@ -78,7 +78,7 @@ u32 sub_8011C1C(void);
void sub_8011C28(u32 in);
s32 sub_8011C34(void);
void sub_8011C40(s32 in);
char *GetGameInternalName(void);
const char *GetGameInternalName(void);
void sub_8011CA8(u32 *out, s32 size);
u32 ReadSaveFromPak(u32 *a);
u32 WriteSavetoPak(s32 *param_1, u32 param_2);
@@ -103,4 +103,4 @@ bool8 ValidateChecksum(u8 *in, u32 size);
s32 sub_80121D4(s32 *a, u8 *src, s32 size);
u32 sub_80121E0(u32);
#endif // GUARD_SAVE_H
#endif // GUARD_SAVE_H

View File

@@ -0,0 +1,36 @@
#ifndef GUARD_STR_DUNGEON_8042F6C_H
#define GUARD_STR_DUNGEON_8042F6C_H
#include "structs/str_dungeon.h"
#include "structs/str_dungeon_location.h"
#include "structs/str_pokemon.h"
#include "structs/str_wonder_mail.h"
struct UnkStruct_xxx_dungeon_8042F6C
{
u8 unk0;
DungeonLocation unk4;
u8 unk8;
u8 unk9;
u8 unkA;
u8 unkB;
u8 unkC;
u8 unkD;
u8 unkE;
u8 unkF;
u8 unk10;
u8 unk11;
unkStruct_Dungeon64C unk14;
PokemonStruct1 unk1C;
u8 *unk74;
Dungeon *unk78;
s16 unk7C;
u8 unk7E;
DungeonLocation unk80;
WonderMailSub unk84;
};
void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8);
#endif // GUARD_STR_DUNGEON_8042F6C_H

View File

@@ -79,4 +79,4 @@ typedef struct WonderMailStruct_203B2C0_sub
/* 0x30 */ PokemonStruct1 pokemon;
} WonderMailStruct_203B2C0_sub;
#endif // GUARD_STR_WONDER_MAIL_H
#endif // GUARD_STR_WONDER_MAIL_H

File diff suppressed because it is too large Load Diff

View File

@@ -11,7 +11,7 @@
#include "text.h"
#include "structs/struct_sub80095e4.h"
static EWRAM_DATA_2 struct_Sub80095E4_2 *sAdventureLog = {0};
static EWRAM_INIT struct_Sub80095E4_2 *sAdventureLog = {NULL};
#include "data/adventure_log.h"

View File

@@ -6,16 +6,16 @@ static u16 sTimerCount;
static vu16 *sTimerReg;
static u16 sSavedIme;
EWRAM_DATA_2 u8 gFlashTimeoutFlag = {0};
EWRAM_DATA_2 u8 (*PollFlashStatus)(u8 *) = {0};
EWRAM_DATA_2 u16 (*WaitForFlashWrite)(u8 phase, u8 *addr, u8 lastData) = {0};
EWRAM_DATA_2 u16 (*ProgramFlashSector)(u16 sectorNum, u8 *src) = {0};
EWRAM_DATA_2 const struct FlashType *gFlash = {0};
EWRAM_LIB u8 gFlashTimeoutFlag = {0};
EWRAM_LIB u8 (*PollFlashStatus)(u8 *) = {0};
EWRAM_LIB u16 (*WaitForFlashWrite)(u8 phase, u8 *addr, u8 lastData) = {0};
EWRAM_LIB u16 (*ProgramFlashSector)(u16 sectorNum, u8 *src) = {0};
EWRAM_LIB const struct FlashType *gFlash = {0};
// u16 (*ProgramFlashByte)(u16 sectorNum, u32 offset, u8 data); // not used in PMD: Red
EWRAM_DATA_2 u16 gFlashNumRemainingBytes = {0};
EWRAM_DATA_2 u16 (*EraseFlashChip)() = {0};
EWRAM_DATA_2 u16 (*EraseFlashSector)(u16 sectorNum) = {0};
EWRAM_DATA_2 const u16 *gFlashMaxTime = {0};
EWRAM_LIB u16 gFlashNumRemainingBytes = {0};
EWRAM_LIB u16 (*EraseFlashChip)() = {0};
EWRAM_LIB u16 (*EraseFlashSector)(u16 sectorNum) = {0};
EWRAM_LIB const u16 *gFlashMaxTime = {0};
void SetReadFlash1(u16 *dest);

View File

@@ -1,16 +1,273 @@
#include "global.h"
#include "structs/str_dungeon_8042F6C.h"
#include "structs/str_wonder_mail.h"
#include "code_80118A4.h"
#include "code_80A26CC.h"
#include "code_8099360.h"
#include "event_flag.h"
#include "items.h"
#include "memory.h"
#include "personality_test1.h"
#include "pokemon.h"
#include "quick_save_read.h"
#include "quick_save_write.h"
#include "random.h"
#include "save.h"
#include "string_format.h"
#include "text_util.h"
#include "constants/monster.h"
extern void xxx_dungeon_8042F6C(u32 r0);
extern void NDS_LoadOverlay_GroundMain();
extern u32 xxx_script_related_8098468(u32);
extern u8 sub_80992E0(s16 *, s16 *);
extern bool8 sub_8099328(u8 *dungeonId);
extern bool8 sub_8099360(u8 *);
extern u8 sub_8099394(u8 *);
extern void GeneratePelipperJobs();
extern void sub_8043D50(s32 *a0, s32 *a1);
extern void xxx_update_stuff(u32);
extern void sub_80961B4();
extern void sub_808ED00();
extern void SetDungeonLocationInfo(DungeonLocation *dl);
extern void sub_808CE74(s16, bool32, u8*);
void xxx_dungeon_8001340(struct UnkStruct_xxx_dungeon_8042F6C *r0);
void sub_80011E8(u8 *param_1);
void sub_809542C(WonderMailSub *param_1);
struct unkTalkTable
{
u32 unk0;
s16 species;
};
extern struct unkTalkTable gTalkKindTable[];
extern struct unkTalkTable gBaseKindTable[];
EWRAM_INIT u32 gUnknown_203B03C = 0;
EWRAM_INIT struct PersonalityRelated gPersonalityRelated_203B040 = {
.unk4 = 0,
.StarterID = MONSTER_CHARMANDER,
.PartnerID = MONSTER_SQUIRTLE,
.StarterName = {""},
.PartnerNick = {""},
};
void SaveLoadRelated_8000EDC(struct UnkStruct_xxx_dungeon_8042F6C *param_1)
{
u8 quickSaveValid;
s32 quickSaveStatus;
s32 local_1c; // 0x4800
s32 local_18; // sizeof(Dungeon)
quickSaveValid = TRUE;
gUnknown_203B03C = 1;
sub_800A8F8(3);
sub_8014144();
sub_8043D50(&local_1c,&local_18);
param_1->unk74 = MemoryAlloc(local_1c,7); // size: 0x4800
param_1->unk78 = MemoryAlloc(local_18,7); // size: sizeof(Dungeon)
if (param_1->unk8) {
PrepareQuickSaveRead(param_1->unk74,local_1c);
while( TRUE ) {
if (!ReadQuickSave()) break;
xxx_update_stuff(0);
}
quickSaveValid = IsQuickSaveValid();
FinishQuickSaveRead();
sub_8011830();
if (quickSaveValid) {
sub_80121E0(0xf1208);
}
else {
sub_80121E0(0xf1209);
}
xxx_call_start_bg_music();
}
else {
GeneratePelipperJobs();
sub_80961B4();
sub_808ED00();
}
if (quickSaveValid) {
xxx_dungeon_8001340(param_1);
sub_8099648();
SetWindowBGColor();
sub_8099690(0);
}
else {
param_1->unk7C = 5;
}
if (param_1->unk7C == -2) {
sub_809542C(&param_1->unk84);
}
if ((param_1->unk7C == 3) || (param_1->unk7C == -2)) {
SetDungeonLocationInfo(&param_1->unk80);
xxx_call_stop_bgm();
if (param_1->unk7C == -2) {
PrepareQuickSaveWrite(param_1->unk74,local_1c,1);
}
else {
PrepareQuickSaveWrite(param_1->unk74,local_1c,0);
}
while ((quickSaveStatus = WriteQuickSave(), (quickSaveStatus != 2))) {
if (quickSaveStatus == 3) break;
if (quickSaveStatus == 1) {
MemoryFree(param_1->unk78);
MemoryFree(param_1->unk74);
}
xxx_update_stuff(0);
}
FinishQuickSaveWrite();
}
else {
sub_808ED00();
MemoryFree(param_1->unk78);
MemoryFree(param_1->unk74);
}
}
void sub_8001024(struct PersonalityRelated *r0)
{
*r0 = gPersonalityRelated_203B040;
}
void sub_8001044(struct PersonalityRelated *r0)
{
gPersonalityRelated_203B040 = *r0;
}
void sub_8001064(void)
{
struct unkTalkTable *psVar2;
u8 buffer2 [20];
u8 buffer1 [20];
if (GetPlayerPokemonStruct() == NULL) {
if (gPersonalityRelated_203B040.StarterName[0] == '\0') {
CopyMonsterNameToBuffer(buffer1,gPersonalityRelated_203B040.StarterID);
CopyStringtoBuffer(buffer2,buffer1);
sub_808CE74(gPersonalityRelated_203B040.StarterID,TRUE,buffer2);
}
else {
sub_808CE74(gPersonalityRelated_203B040.StarterID,TRUE,gPersonalityRelated_203B040.StarterName);
}
}
if (sub_808D378() == NULL) {
if (gPersonalityRelated_203B040.PartnerNick[0] == '\0') {
CopyMonsterNameToBuffer(buffer1,gPersonalityRelated_203B040.PartnerID);
CopyStringtoBuffer(buffer2,buffer1);
sub_808CE74(gPersonalityRelated_203B040.PartnerID,FALSE,buffer2);
}
else {
sub_808CE74(gPersonalityRelated_203B040.PartnerID,FALSE,gPersonalityRelated_203B040.PartnerNick);
}
}
if (gPersonalityRelated_203B040.StarterID != MONSTER_NONE) {
psVar2 = &gBaseKindTable[0];
while ((psVar2->species != MONSTER_NONE && (gPersonalityRelated_203B040.StarterID != psVar2->species))) {
psVar2++;
}
SetScriptVarValue(NULL,BASE_KIND,psVar2->unk0);
}
if (gPersonalityRelated_203B040.PartnerID != MONSTER_NONE) {
psVar2 = &gTalkKindTable[0];
while ((psVar2->species != MONSTER_NONE && (gPersonalityRelated_203B040.PartnerID != psVar2->species))) {
psVar2++;
}
SetScriptVarValue(NULL,PARTNER_TALK_KIND,psVar2->unk0);
}
}
u8 sub_8001170(void)
{
s16 local_10;
s16 auStack_e;
u8 dungeonID;
u8 auStack_b;
dungeonID = 0x63;
if (sub_80992E0(&local_10,&auStack_e) != 0) {
dungeonID = sub_80A2740(local_10);
}
else {
if (!sub_8099328(&dungeonID) && (!sub_8099360(&dungeonID) && sub_8099394(&auStack_b) != 0)) {
dungeonID = 0x3F;
}
}
return dungeonID;
}
void sub_80011CC(u8 *param_1,u8 param_2)
{
u32 zero = 0;
param_1[0] = param_2;
param_1[1] = zero;
sub_80011E8(param_1);
param_1[0xb] = 0;
param_1[4] = 0;
param_1[0xc] = 0;
param_1[0xd] = 0;
}
void sub_80011E8(u8 *param_1)
{
param_1[5] = sub_80023E4(8);
param_1[6] = sub_80023E4(3);
param_1[8] = sub_80023E4(7);
param_1[9] = sub_80023E4(0);
param_1[10] = sub_80023E4(5);
if (sub_80023E4(0x18) && sub_80023E4(0x19) && sub_80023E4(0x1a)) {
param_1[7] = 1;
}
else {
param_1[7] = 0;
}
}
void sub_8001248(void)
{
s32 index;
for(index = 0; index < INVENTORY_SIZE; index++)
{
if(RandInt(100) < 50)
ZeroOutItem(&gTeamInventoryRef->teamItems[index]);
}
FillInventoryGaps();
for(index = 0; index < NUM_MONSTERS; index++)
{
PokemonStruct1 *mon = &gRecruitedPokemonRef->pokemon[index];
if(PokemonFlag1(mon) && PokemonFlag2(mon))
mon->heldItem.id = ITEM_NOTHING;
}
gTeamInventoryRef->teamMoney = 0;
}
void sub_80012C0(void)
{
s32 index;
for(index = 0; index < INVENTORY_SIZE; index++)
{
ZeroOutItem(&gTeamInventoryRef->teamItems[index]);
}
FillInventoryGaps();
for(index = 0; index < NUM_MONSTERS; index++)
{
PokemonStruct1 *mon = &gRecruitedPokemonRef->pokemon[index];
if(PokemonFlag1(mon) && PokemonFlag2(mon))
mon->heldItem.id = ITEM_NOTHING;
}
gTeamInventoryRef->teamMoney = 0;
}
void NDS_LoadOverlay_GroundMain()
{
}
void nullsub_2(u32 r0)
void nullsub_2(struct UnkStruct_xxx_dungeon_8042F6C *r0)
{
}
@@ -20,7 +277,7 @@ u32 xxx_script_related_8001334(u32 r0)
return xxx_script_related_8098468(r0);
}
void xxx_dungeon_8001340(u32 r0)
void xxx_dungeon_8001340(struct UnkStruct_xxx_dungeon_8042F6C *r0)
{
nullsub_2(r0);
xxx_dungeon_8042F6C(r0);
@@ -45,7 +302,7 @@ void ThoroughlyResetScriptVars(void)
s32 iVar3;
u16 uVar2;
struct ScriptVarInfo *puVar1;
for(iVar3 = 0; iVar3 < 0x400; iVar3++)
{
gScriptVarBuffer[iVar3] = 0;

View File

@@ -38,10 +38,17 @@ extern void LoadTitleScreen(void);
extern void nullsub_33(void);
extern u32 sub_80009D0(u32);
extern u32 gUnknown_203B03C;
extern u16 gUnknown_2026E4E;
extern s32 gTitleBrightness;
extern OpenedFile *gTitlePaletteFile;
// TODO: figure out the struct
struct UnkStruct203B040
{
u8 unk0[48];
};
EWRAM_INIT OpenedFile *gTitlePaletteFile = NULL;
extern u32 gUnknown_203B03C;
extern char gPMDBuildVersion[];

View File

@@ -19,7 +19,7 @@ extern u32 *gUnknown_2026E58;
extern s16 gUnknown_2026E60[];
extern s16 gUnknown_20270E8[];
extern s16 *gUnknown_203B078;
EWRAM_INIT s16 *gUnknown_203B078 = NULL;
// data.s
extern const s16 gUnknown_80B8008[17];

View File

@@ -3,8 +3,9 @@
#include "random.h"
#include "reg_control.h"
EWRAM_DATA_2 u32 gUnknown_203B0B8 = {0};
EWRAM_DATA_2 u16 gRawKeyInput = {0};
// Todo: Figure out if this file could be merged with bg_control and cpu?
EWRAM_INIT u32 gUnknown_203B0B8 = {0};
extern u16 gRawKeyInput;
void sub_800CB20(void)
{

View File

@@ -7,7 +7,7 @@
#include "file_system.h"
#include "memory.h"
struct unkStruct_203B0CC *gUnknown_203B0CC;
EWRAM_INIT struct unkStruct_203B0CC *gUnknown_203B0CC = NULL;
struct unkStruct_800F18C
{

View File

@@ -2,6 +2,8 @@
#include "file_system.h"
#include "memory.h"
#include "code_800E9E4.h"
#include "dungeon_pokemon_sprites.h"
#include "sprite.h"
struct unkStruct_203B0D0_sub
{
@@ -23,7 +25,10 @@ struct unkStruct_203B0D0 {
struct unkStruct_203B0D0_sub unk4[2];
};
struct unkStruct_203B0D0 *gUnknown_203B0D0;
EWRAM_INIT struct unkStruct_203B0D0 *gUnknown_203B0D0 = NULL;
EWRAM_INIT void *gUnknown_203B0D4 = NULL; // TODO: figure out the actual struct
EWRAM_INIT DungeonPokemonSprites *gDungeonPokemonSprites = NULL; // Todo: move to a different file, or merge files in this rom region
EWRAM_INIT SpriteOAM gUnknown_203B0DC = {0};
extern s32 sub_8000728();
OpenedFile *sub_800F1C0(s32, s32);
@@ -34,7 +39,7 @@ void sub_800F15C(s32);
void sub_800ED38(s32 r0)
{
if(gUnknown_203B0D0 == 0)
if(gUnknown_203B0D0 == 0)
{
gUnknown_203B0D0 = MemoryAlloc(sizeof(struct unkStruct_203B0D0), 0xB);
MemoryClear8(gUnknown_203B0D0, sizeof(struct unkStruct_203B0D0));

View File

@@ -1,5 +1,31 @@
#include "global.h"
#include "code_8004AA0.h"
#include "text.h"
EWRAM_INIT struct UnkBgStruct *gUnknown_203B0E4 = NULL;
EWRAM_INIT void *gUnknown_203B0E8 = NULL; // Pointer to some unknown struct
EWRAM_INIT UnkTextStruct2 gUnknown_203B0EC[4] = { // Exact location of this variable is unknown. Find a better place for it once more code is decompiled.
[0] = {
.unk4 = 3,
.unk8 = {2, 10},
.unkC = 26,
.unkE = 9,
.unk10 = 9,
},
[1] = {
.unk4 = 3,
.unk8 = {23, 6},
.unkC = 5,
.unkE = 3,
.unk10 = 3,
},
[2] = {
.unk4 = 3,
},
[3] = {
.unk4 = 3,
},
};
void sub_8010EF0(void)
{

View File

@@ -24,7 +24,7 @@ struct unkStruct_203B1FC
u8 unkFC[54];
};
extern struct unkStruct_203B1FC *gUnknown_203B1FC;
EWRAM_INIT struct unkStruct_203B1FC *gUnknown_203B1FC = NULL;
s32 sub_8015F44(void)
{

View File

@@ -15,7 +15,7 @@ struct unkStruct_203B1F8
u8 buffer[0x400];
};
EWRAM_DATA_2 struct unkStruct_203B1F8 *gUnknown_203B1F8 = {0};
EWRAM_INIT struct unkStruct_203B1F8 *gUnknown_203B1F8 = {NULL};
const UnkTextStruct2 gUnknown_80DAF70 = {
0x00, 0x00, 0x00, 0x00,

View File

@@ -9,7 +9,7 @@
#include "text_util.h"
#include "text.h"
static EWRAM_DATA_2 struct unkStruct_203B200 *sUnknown_203B200 = {0};
static EWRAM_INIT struct unkStruct_203B200 *sUnknown_203B200 = {NULL};
#include "data/code_801602C.h"

View File

@@ -7,9 +7,9 @@
#include "gulpin_shop.h"
#include "memory.h"
#include "moves.h"
#include "pokemon_mid.h"
#include "pokemon.h"
static EWRAM_DATA_2 unkStruct_203B22C *sUnknown_203B22C = {0};
static EWRAM_INIT unkStruct_203B22C *sUnknown_203B22C = {NULL};
#include "data/code_801AFA4.h"

View File

@@ -10,7 +10,7 @@
#include "sprite.h"
#include "text.h"
static EWRAM_DATA_2 unkStruct_203B230 *sUnknown_203B230 = {0};
static EWRAM_INIT unkStruct_203B230 *sUnknown_203B230 = {NULL};
#include "data/code_801B3C0.h" // 80DBA4C

View File

@@ -16,7 +16,7 @@
#include "pokemon.h"
#include "text.h"
static EWRAM_DATA_2 unkStruct_203B234 *sUnknown_203B234 = {0};
static EWRAM_INIT unkStruct_203B234 *sUnknown_203B234 = {NULL};
#include "data/code_801B60C.h" // 80DBA58

View File

@@ -8,10 +8,10 @@
#include "menu_input.h"
#include "text.h"
static EWRAM_DATA_2 struct unkStruct_203B244 *sUnknown_203B244 = {0};
static EWRAM_DATA_2 u32 sUnknown_203B248 = {0};
static EWRAM_DATA_2 u16 sUnknown_203B24C = {0};
static EWRAM_DATA_2 u16 sUnknown_203B24E = {0};
static EWRAM_INIT struct unkStruct_203B244 *sUnknown_203B244 = {NULL};
static EWRAM_INIT u32 sUnknown_203B248 = {0};
static EWRAM_INIT u16 sUnknown_203B24C = {0};
static EWRAM_INIT u16 sUnknown_203B24E = {0};
#include "data/code_801C8C4.h"

View File

@@ -29,8 +29,8 @@
#include "wonder_mail_802C4C8.h"
#include "wonder_mail_802C860.h"
static EWRAM_DATA_2 struct unk_203B250 *sUnknown_203B250 = {0};
static EWRAM_DATA_2 u32 sUnknown_203B254 = {0};
static EWRAM_INIT struct unk_203B250 *sUnknown_203B250 = {NULL};
static EWRAM_INIT u32 sUnknown_203B254 = {0};
extern const struct FileArchive gTitleMenuFileArchive;

View File

@@ -10,7 +10,7 @@
#include "text.h"
#include "structs/struct_sub80095e4.h"
static EWRAM_DATA_2 struct struct_Sub80095E4_2 *sUnknown_203B258 = {0};
static EWRAM_INIT struct struct_Sub80095E4_2 *sUnknown_203B258 = {NULL};
extern struct unkStruct_81188F0 gUnknown_81188F0[10];

View File

@@ -9,8 +9,9 @@
#include "code_801EE10.h"
#include "code_80118A4.h"
#include "menu_input.h"
#include "string_format.h"
EWRAM_DATA_2 unkStruct_203B270 *gUnknown_203B270 = {0};
EWRAM_INIT unkStruct_203B270 *gUnknown_203B270 = {NULL};
const UnkTextStruct2 gUnknown_80DC240 = {
0x00, 0x00, 0x00, 0x00,
@@ -95,7 +96,7 @@ u8 sub_801EE10(u32 param_1, s16 species, Move *moves, u32 param_4, const u8 *tex
xxx_call_save_unk_text_struct_800641C(gUnknown_203B270->unk58, TRUE, TRUE);
sub_8013818(&gUnknown_203B270->input,iVar5,iVar5,param_6);
sub_8013780(&gUnknown_203B270->input,0);
sub_801F280(1);
sub_801F280(TRUE);
return 1;
}
@@ -147,7 +148,7 @@ u32 sub_801EF38(char param_1)
else {
goto _134;
}
sub_801F280(1);
sub_801F280(TRUE);
return 1;
case INPUT_R_DPAD_UP_BUTTONS:
if (gUnknown_203B270->unk5 == 0) break;
@@ -160,7 +161,7 @@ u32 sub_801EF38(char param_1)
_134:
PlayMenuSoundEffect(2);
}
sub_801F280(1);
sub_801F280(TRUE);
return 1;
case INPUT_R_A_BUTTONS:
if (gUnknown_203B270->unk6 != 0) {
@@ -225,7 +226,7 @@ _134:
}
if (flag) {
_ret:
sub_801F280(1);
sub_801F280(TRUE);
return 1;
}
else
@@ -253,7 +254,7 @@ void sub_801F1B0(bool8 param_1, bool8 param_2)
gUnknown_203B270->input.unk22 = sub_801F3F8();
sub_8013984(&gUnknown_203B270->input);
gUnknown_203B270->input.menuIndex = sub_8092F4C(gUnknown_203B270->moves, gUnknown_203B270->input.menuIndex);
sub_801F280(1);
sub_801F280(TRUE);
if(param_1)
AddMenuCursorSprite(&gUnknown_203B270->input);
}
@@ -273,3 +274,80 @@ void sub_801F214(void)
gUnknown_203B270 = NULL;
}
}
extern void sub_80922B4(u8 *buffer, u8 *string, s32 size);
void sub_801F280(bool8 param_1)
{
int i;
u8 buffer[20];
CallPrepareTextbox_8008C54(gUnknown_203B270->unk50);
sub_80073B8(gUnknown_203B270->unk50);
sub_80922B4(buffer,gUnknown_203B270->pokeStruct->name,POKEMON_NAME_LENGTH);
strcpy(gFormatBuffer_Monsters[0],buffer);
PrintFormattedStringOnWindow(0xc,0,gUnknown_80DC28C,gUnknown_203B270->unk50,0); // Move: {COLOR_1 YELLOW}{ARG_POKEMON_0){END_COLOR_TEXT_1}
for (i = 0; i < gUnknown_203B270->input.unk1A; i++) {
struct Move *move;
bool8 linkChain;
s32 x, y;
struct unkStruct_80928C0 uStack_30 = {0};
uStack_30.unk4 = 0x6a;
move = &gUnknown_203B270->moves[i];
if (MoveFlagExists(move)) {
if (gUnknown_203B270->isTeamLeader) {
uStack_30.unk0 = 2;
}
else {
uStack_30.unk0 = 4;
}
if (gUnknown_203B270->unk6) {
uStack_30.unk9 = 1;
}
else {
uStack_30.unk9 = 0;
}
if (i >= MAX_MON_MOVES) {
uStack_30.unk8 = 1;
}
sub_80928A0(gFormatBuffer_Items[0],move,&uStack_30);
y = sub_8013800(&gUnknown_203B270->input,i);
linkChain = MoveFlagLinkChain(move);
x = !linkChain ? 0x8 : 0xD;
if (!linkChain && i != 0) {
sub_800792C(gUnknown_203B270->unk50,0xc,y - 2,0x78,7);
}
PrintFormattedStringOnWindow(x,y,gUnknown_80DC2A0,gUnknown_203B270->unk50,0); // {ARG_MOVE_ITEM_0}
}
}
sub_80073E0(gUnknown_203B270->unk50);
if ((gUnknown_203B270->text != NULL) && (param_1)) {
CallPrepareTextbox_8008C54(gUnknown_203B270->unk54);
sub_80073B8(gUnknown_203B270->unk54);
PrintFormattedStringOnWindow(8,0,gUnknown_203B270->text,gUnknown_203B270->unk54,0);
sub_80073E0(gUnknown_203B270->unk54);
}
}
s32 sub_801F3F8(void)
{
Move *move;
int index;
s32 counter;
counter = 0;
for(index = 0; index < 8; index++)
{
move = &gUnknown_203B270->moves[index];
if ((move->moveFlags & MOVE_FLAG_EXISTS)) {
counter++;
}
}
return counter;
}

View File

@@ -1,21 +0,0 @@
#include "global.h"
#include "code_801EE10.h"
extern unkStruct_203B270 *gUnknown_203B270;
s32 sub_801F3F8(void)
{
Move *move;
int index;
s32 counter;
counter = 0;
for(index = 0; index < 8; index++)
{
move = &gUnknown_203B270->moves[index];
if ((move->moveFlags & MOVE_FLAG_EXISTS)) {
counter++;
}
}
return counter;
}

View File

@@ -18,9 +18,7 @@ struct unkStruct_203B274
unkStruct_808E218_arg unk8;
struct_Sub80095E4_2 s348;
};
EWRAM_DATA_2 struct unkStruct_203B274 *gUnknown_203B274 = {0};
extern u8 gFormatBuffer_Monsters[];
EWRAM_INIT struct unkStruct_203B274 *gUnknown_203B274 = {NULL};
static const UnkTextStruct2 sUnknown_80DC2AC = {
0, 0, 0, 0,

View File

@@ -29,7 +29,7 @@ struct unkStruct_203B278
MenuInputStructSub unkC8;
};
EWRAM_DATA_2 struct unkStruct_203B278 *gUnknown_203B278 = {0};
EWRAM_INIT struct unkStruct_203B278 *gUnknown_203B278 = {NULL};
static const UnkTextStruct2 sUnknown_80DC2F8 = {
0, 0, 0, 0,

View File

@@ -16,7 +16,7 @@
#include "pokemon_3.h"
#include "text.h"
static EWRAM_DATA_2 unkStruct_203B294 *sUnknown_203B294 = {0};
static EWRAM_INIT unkStruct_203B294 *sUnknown_203B294 = {NULL};
#include "data/code_80227B8.h"

View File

@@ -13,11 +13,15 @@
#include "pokemon_3.h"
#include "text.h"
static EWRAM_DATA_2 u32 gUnknown_203B298 = {0};
static EWRAM_DATA_2 u16 gUnknown_203B29C = {0};
static EWRAM_DATA_2 u16 gUnknown_203B29E = {0};
static EWRAM_INIT u32 gUnknown_203B298 = {1};
static EWRAM_INIT u16 gUnknown_203B29C = {0};
static EWRAM_INIT u16 gUnknown_203B29E = {0};
EWRAM_INIT s32 gUnknown_203B2A0 = 2;
EWRAM_INIT s32 gUnknown_203B2A4 = 1;
EWRAM_INIT u16 gUnknown_203B2A8 = 0;
EWRAM_INIT u16 gUnknown_203B2AA = 0;
static IWRAM_DATA unkStruct_3001B5C *gUnknown_3001B5C = {0};
static IWRAM_DATA unkStruct_3001B5C *gUnknown_3001B5C = {NULL};
#include "data/code_8023144.h"

View File

@@ -3,7 +3,6 @@
#include "code_800D090.h"
#include "code_8023868.h"
#include "pokemon.h"
#include "pokemon_mid.h"
#include "structs/str_text.h"
#include "text_util.h"
@@ -172,4 +171,4 @@ UNUSED static PokemonStruct1 *sub_80243E8(void)
sub_80922B4(nameBuffer, pokeStruct->name, POKEMON_NAME_LENGTH);
sprintfStatic(buffer, sUnknown_80DC9A4, nameBuffer);
return pokeStruct;
}
}

View File

@@ -11,7 +11,7 @@
#include "pokemon_3.h"
#include "text.h"
static EWRAM_DATA_2 struct unkStruct_203B2AC *sUnknown_203B2AC = {0};
static EWRAM_INIT struct unkStruct_203B2AC *sUnknown_203B2AC = {NULL};
#include "data/code_8024458.h"
@@ -83,13 +83,13 @@ static void sub_8024588(void)
static void sub_80245D0(void)
{
CreatePokemonInfoTabScreen(sUnknown_203B2AC->unk34[sUnknown_203B2AC->input.unk1E], sUnknown_203B2AC->input.unk1E, &sUnknown_203B2AC->unk4C, &sUnknown_203B2AC->unkB0, sUnknown_203B2AC->unkE0);
CreatePokemonInfoTabScreen(sUnknown_203B2AC->unk34[sUnknown_203B2AC->input.unk1E], sUnknown_203B2AC->input.unk1E, &sUnknown_203B2AC->unk4C, (u8 *)&sUnknown_203B2AC->unkB0, sUnknown_203B2AC->unkE0);
}
static void sub_8024604(void)
{
PokemonStruct1 *pokeStruct;
u32 *iVar3;
struct unkStruct_808FF20 *iVar3;
sUnknown_203B2AC->unk34[0] = 2;
sUnknown_203B2AC->unk34[1] = 3;

View File

@@ -12,7 +12,7 @@
#include "pokemon.h"
#include "text.h"
static EWRAM_DATA_2 struct unkStruct_203B2FC *sUnknown_203B2FC = {0};
static EWRAM_INIT struct unkStruct_203B2FC *sUnknown_203B2FC = {NULL};
#include "data/code_802DB28.h"

View File

@@ -8,7 +8,7 @@
#include "pokemon_mail.h"
#include "text.h"
static EWRAM_DATA_2 struct unkStruct_203B300 *sUnknown_203B300 = {0};
static EWRAM_INIT struct unkStruct_203B300 *sUnknown_203B300 = {NULL};
#include "data/code_802DE84.h"

View File

@@ -23,7 +23,7 @@ struct unkStruct_203B334
u8 unk78[4];
};
EWRAM_DATA_2 struct unkStruct_203B334 *gUnknown_203B334 = {0};
EWRAM_INIT struct unkStruct_203B334 *gUnknown_203B334 = {NULL};
extern unkStruct_203B480 *gUnknown_203B480;
const UnkTextStruct2 gUnknown_80E1FA8 = {

3
src/code_803B050.c Normal file
View File

@@ -0,0 +1,3 @@
#include "global.h"
EWRAM_INIT void *gUnknown_203B3FC = NULL;

View File

@@ -7,7 +7,7 @@
#include "code_80958E8.h"
#include "memory.h"
static EWRAM_DATA_2 u8 sUnknown_203B408 = {0};
static EWRAM_INIT u8 sUnknown_203B408 = {1};
#include "data/code_803D0D8.h"

View File

@@ -16,8 +16,9 @@
#include "play_time.h"
#include "sprite.h"
extern u8 gUnknown_203B40C;
extern u8 gUnknown_203B40D;
EWRAM_INIT u8 gUnknown_203B40C = 0;
EWRAM_INIT u8 gUnknown_203B40D = 0;
extern s32 gDungeonBrightness;
extern s32 gUnknown_202EDCC;
extern u32 gUnknown_202EDD0;

View File

@@ -2,6 +2,7 @@
#include "dungeon_util_1.h"
#include "memory.h"
#include "structs/rgb.h"
#include "structs/str_dungeon_8042F6C.h"
#include "code_803E46C.h"
#include "code_800E9E4.h"
#include "code_800DAC0.h"
@@ -26,7 +27,7 @@
#include "code_803E668.h"
#include "dungeon_engine.h"
#include "dungeon_map_access.h"
#include "pokemon_mid.h"
#include "pokemon.h"
#include "weather.h"
#include "moves.h"
#include "code_8094F88.h"
@@ -59,7 +60,12 @@ struct UnkStruct_203B414
struct Sub_UnkStruct_203B414 unk8C[16];
};
static EWRAM_DATA_2 struct UnkStruct_203B414 *sUnknown_203B414 = NULL;
EWRAM_INIT DungeonPos gUnknown_203B410 = {100, 100};
static EWRAM_INIT struct UnkStruct_203B414 *sUnknown_203B414 = NULL;
EWRAM_INIT Dungeon *gDungeon = NULL;
EWRAM_INIT u8 *gSerializedData_203B41C = NULL;
EWRAM_INIT u8 gUnknown_203B420[8] = {0x15, 0x00, 0x16, 0x00, 0x15, 0x00, 0x16, 0x00}; // Could be a different file?
EWRAM_INIT u8 gUnknown_203B428[8] = {0x02, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00, 0x02}; // Could be a different file?
struct UnkStruct_80F6624
{
@@ -247,38 +253,7 @@ void sub_8042EC8(Entity *a0, s32 a1)
}
extern u8 gUnknown_203B40C;
extern DungeonPos gUnknown_203B410;
extern u8 *gSerializedData_203B41C;
struct Substruct_xxx_dungeon_8042F6C
{
DungeonLocation a0;
u32 a4;
};
struct UnkStruct_xxx_dungeon_8042F6C
{
u8 unk0;
DungeonLocation unk4;
u8 unk8;
u8 unk9;
u8 unkA;
u8 unkB;
u8 unkC;
u8 unkD;
u8 unkE;
u8 unkF;
u8 unk10;
u8 unk11;
unkStruct_Dungeon64C unk14;
PokemonStruct1 unk1C;
u8 *unk74;
Dungeon *unk78;
s16 unk7C;
u8 unk7E;
DungeonLocation unk80;
struct Substruct_xxx_dungeon_8042F6C unk84;
};
extern void sub_8040094(u8 r0);
extern void sub_8068BDC(u8 r0);
@@ -915,8 +890,8 @@ void xxx_dungeon_8042F6C(struct UnkStruct_xxx_dungeon_8042F6C *r8)
r8->unk7C = -2;
memset(&r8->unk84, 0, sizeof(r8->unk84));
r8->unk80 = gDungeon->unk644.dungeonLocation;
r8->unk84.a0 = gDungeon->unk644.dungeonLocation;
r8->unk84.a4 = gDungeon->unk644.unk38;
r8->unk84.dungeon = gDungeon->unk644.dungeonLocation;
r8->unk84.seed = gDungeon->unk644.unk38;
}
else {

View File

@@ -3716,3 +3716,5 @@ void PrintMonTactics(s32 firstId, u8 *tacticIds, EntityInfo *mon, s32 windowId)
sub_80073E0(windowId);
}
EWRAM_INIT u8 gUnknown_203B43C[4] = {2, 0, 0xD, 0}; // TODO: Move to a better file and figure out the array count. Apparently it's only written to.

View File

@@ -1,5 +1,5 @@
#include "global.h"
#include "pokemon_mid.h"
#include "pokemon.h"
#include "dungeon_util.h"
#include "code_8069D4C.h"

View File

@@ -10,6 +10,7 @@
#include "constants/status.h"
#include "constants/type.h"
#include "constants/weather.h"
#include "dungeon_engine.h"
#include "dungeon_leader.h"
#include "dungeon_map_access.h"
#include "dungeon_movement.h"
@@ -21,7 +22,6 @@
#include "move_effects_target.h"
#include "moves.h"
#include "pokemon.h"
#include "pokemon_mid.h"
#include "structs/dungeon_entity.h"
#include "structs/str_dungeon.h"
#include "text_util.h"
@@ -66,7 +66,6 @@ extern void sub_803F4A0(Entity *a0);
extern bool8 sub_80860A8(u8 id);
extern u8 gUnknown_202F32C;
extern u8 sub_803D73C(s32 a0);
extern bool8 IsBossFight(void);
extern void DeletePokemonDungeonSprite(s32 id);
extern void sub_80429E8(Entity *r0);
extern s32 sub_803DA20(s32 param_1);
@@ -85,7 +84,6 @@ extern void sub_803F580(s32);
extern void sub_8040A84(void);
extern void sub_806B678(void);
extern void EntityUpdateStatusSprites(Entity *);
extern s32 sub_808F700(PokemonStruct1 *pokemon);
extern Entity *sub_80696A8(Entity *a0);
extern int sprintf(char *, const char *, ...);
extern const u8 gUnknown_8106EA8[]; // talkp%d

View File

@@ -18,7 +18,6 @@
#include "game_options.h"
#include "dungeon_items.h"
#include "status.h"
#include "pokemon_mid.h"
#include "pokemon.h"
#include "random.h"
#include "targeting.h"

View File

@@ -54,8 +54,6 @@ extern bool8 sub_806AA0C(s32, u32);
extern bool8 sub_8083660(DungeonPos *param_1);
extern bool8 sub_803D930(u32);
extern void sub_8072B78(Entity *pokemon, Entity *target, s16 id);
extern s32 sub_808E400(s32 _species, s16* _a2, bool32 bodySizeCheck, bool32 shedinjaCheck);
void GetPokemonLevelData(LevelData* a1, s32 _id, s32 level); // TODO: change to s32
void sub_8071B48(void)
{

View File

@@ -8,7 +8,6 @@
#include "dungeon_util.h"
#include "moves.h"
#include "pokemon_mid.h"
#include "pokemon_mid.h"
#include "status_checks_1.h"
#include "structs/dungeon_entity.h"
#include "structs/map.h"

View File

@@ -27,7 +27,7 @@ struct unkStruct_203B314
struct struct_Sub80095E4_2 sBC;
};
EWRAM_DATA_2 struct unkStruct_203B314 *gUnknown_203B314 = {0};
EWRAM_INIT struct unkStruct_203B314 *gUnknown_203B314 = {NULL};
const UnkTextStruct2 gUnknown_80E06FC = {
0x00, 0x00, 0x00, 0x00,

View File

@@ -26,7 +26,6 @@
#include "dungeon_config.h"
extern u32 gUnknown_202EDCC;
extern u32 gUnknown_203B444[];
extern u8 *gUnknown_80FCA10[];
extern u8 *gUnknown_80F8A0C[];
@@ -57,6 +56,8 @@ extern void sub_804216C(Entity *pokemon, Entity *target, u32 r2);
extern void sub_80461C8(DungeonPos *, u32);
extern void sub_804218C(Entity *pokemon, Entity *target);
EWRAM_INIT u32 gUnknown_203B444[3] = {0x28, 0x28, 0x50};
void sub_804EB30();
bool8 ExposeTrap(s32 x, s32 y);
void sub_8040A84();

View File

@@ -1,8 +1,10 @@
#include "global.h"
#include "globaldata.h"
IWRAM_DATA u32 gUnknown_3001198[0x270] = {0};
EWRAM_DATA_2 s32 gUnknown_203B470 = {0};
EWRAM_DATA_2 s32 gUnknown_203B474 = {0};
EWRAM_INIT s32 gUnknown_203B470 = 0x271;
EWRAM_INIT s32 gUnknown_203B474 = 0;
UNUSED static EWRAM_INIT s32 sUnusedEwramVar = 0x9908b0df; // Hm...
void sub_8094D28(s32 r0) {

View File

@@ -1,19 +1,20 @@
#include "global.h"
#include "globaldata.h"
#include "code_8094D28.h"
#include "code_8094F88.h"
#include "constants/wonder_mail.h"
#include "dungeon.h"
#include "memory.h"
#include "moves.h"
#include "pokemon_mid.h"
#include "pokemon.h"
#include "random.h"
#include "save.h"
#include "text_util.h"
EWRAM_DATA_2 unkStruct_203B480 *gUnknown_203B480 = {0};
EWRAM_DATA_2 unkStruct_203B484 *gUnknown_203B484 = {0};
EWRAM_DATA_2 u32 *gUnknown_203B488 = {0};
EWRAM_DATA_2 unkStruct_203B48C *gUnknown_203B48C = {0};
EWRAM_INIT unkStruct_203B480 *gUnknown_203B480 = {NULL};
EWRAM_INIT unkStruct_203B484 *gUnknown_203B484 = {NULL};
EWRAM_INIT u32 *gUnknown_203B488 = {NULL};
EWRAM_INIT unkStruct_203B48C *gUnknown_203B48C = {NULL};
EWRAM_DATA unkStruct_203B480 gUnknown_2038C88[0x20] = {0};
EWRAM_DATA unkStruct_203B484 gUnknown_2039288 = {0};
@@ -410,7 +411,7 @@ u32 sub_8095624(u8 *buffer, u32 b)
for (i = 0; i < 32; i++) {
WriteBits(&backup, &gUnknown_203B48C->unk4[i], 32);
}
FinishBitSerializer(&backup);
return backup.count;
}
@@ -468,4 +469,4 @@ void sub_8095824(DataSerializer * a, unkStruct_203B480 *b)
void sub_80958E4(u32 *a, u32 b)
{
*a = b;
}
}

View File

@@ -1,4 +1,5 @@
#include "global.h"
#include "globaldata.h"
#include "code_803C1D0.h"
#include "code_80958E8.h"
#include "code_80A26CC.h"
@@ -38,11 +39,11 @@ extern void sub_803C45C(WonderMail *);
extern void sub_803C610(WonderMail *);
extern void sub_803C580(WonderMail *);
extern u8 gUnknown_8109984[];
static const u8 sPossibleMissionTypes[] = {MISSION_TYPE_FRIEND_RESCUE, MISSION_TYPE_FIND_ITEM, MISSION_TYPE_DELIVER_ITEM, MISSION_TYPE_RESCUE_CLIENT, MISSION_TYPE_RESCUE_TARGET, MISSION_TYPE_DELIVER_ITEM, MISSION_TYPE_FIND_ITEM, MISSION_TYPE_FRIEND_RESCUE};
static EWRAM_DATA unkStruct_203B490 sUnknown_2039448 = {0};
EWRAM_DATA_2 unkStruct_203B490 *gUnknown_203B490 = {0};
EWRAM_INIT unkStruct_203B490 *gUnknown_203B490 = {0};
void LoadMailInfo(void)
{
@@ -187,7 +188,7 @@ bool8 GenerateMailJobInfo(struct WonderMail *mail)
}
mail->mailType = MAIL_TYPE_SUSPENDED_JOB;
rand = RandInt(8);
missionType = gUnknown_8109984[rand];
missionType = sPossibleMissionTypes[rand];
mail->missionType = missionType;
if (missionType == MISSION_TYPE_DELIVER_ITEM && GetRescueTeamRank() == 0) {
mail->missionType = MISSION_TYPE_FRIEND_RESCUE;
@@ -280,7 +281,7 @@ bool8 GenerateMailJobDungeonInfo(WonderMail *mail)
s32 halfFloorCount;
s32 floorCount;
DungeonLocation dungeonLoc;
cap = sub_80A29B0(dungeonStack);
if (cap == 0) {
@@ -335,7 +336,7 @@ bool8 GenerateMailJobDungeonInfo(WonderMail *mail)
floor = halfFloorCount;
}
} while (floor != floor_1);
counter++;
if (counter == cap) {
counter = 0;
@@ -369,7 +370,7 @@ u8 sub_8095E78(void)
s32 counter;
u8 friendAreaStack[NUM_FRIEND_AREAS];
counter = 0;
for(friendAreaIndex = BOUNTIFUL_SEA; friendAreaIndex < NUM_FRIEND_AREAS; friendAreaIndex++)
{
@@ -383,7 +384,7 @@ u8 sub_8095E78(void)
if((gUnknown_203B490->mailboxSlots[index].mailType != MAIL_TYPE_NONE) && (gUnknown_203B490->mailboxSlots[index].rewardType == FRIEND_AREA))
flag = TRUE;
}
for(index = 0; index < MAX_ACCEPTED_JOBS; index++)
{
@@ -410,7 +411,7 @@ u8 sub_8095F28(u8 param_1)
s32 itemID;
s32 counter;
u8 itemStack [NUMBER_OF_ITEM_IDS];
counter = 0;
for(itemID = ITEM_STICK; itemID < NUMBER_OF_ITEM_IDS; itemID++)
{
@@ -493,8 +494,8 @@ void ShiftMailboxSlotsDown(void)
{
int counter1; // r5
int counter2;
counter1 = 0;
counter2 = 0;
@@ -504,7 +505,7 @@ void ShiftMailboxSlotsDown(void)
if (gUnknown_203B490->mailboxSlots[counter1].mailType != 0)
break;
}
if (counter1 == NUM_MAILBOX_SLOTS) {
break;
}
@@ -527,15 +528,15 @@ static void SortMailboxSlots(void)
s32 r1;
s32 r6;
WonderMail job;
for(r1 = 0; r1 < NUM_MAILBOX_SLOTS - 1; r1++)
{
for(r6 = r1 + 1; r6 < NUM_MAILBOX_SLOTS; r6++)
{
if(gUnknown_203B490->mailboxSlots[r6].mailType != 0)
{
if((gUnknown_203B490->mailboxSlots[r1].unk4.dungeon.id > gUnknown_203B490->mailboxSlots[r6].unk4.dungeon.id) ||
((gUnknown_203B490->mailboxSlots[r1].unk4.dungeon.id == gUnknown_203B490->mailboxSlots[r6].unk4.dungeon.id) &&
if((gUnknown_203B490->mailboxSlots[r1].unk4.dungeon.id > gUnknown_203B490->mailboxSlots[r6].unk4.dungeon.id) ||
((gUnknown_203B490->mailboxSlots[r1].unk4.dungeon.id == gUnknown_203B490->mailboxSlots[r6].unk4.dungeon.id) &&
(gUnknown_203B490->mailboxSlots[r1].unk4.dungeon.floor > gUnknown_203B490->mailboxSlots[r6].unk4.dungeon.floor)))
{
job = gUnknown_203B490->mailboxSlots[r1];
@@ -562,11 +563,11 @@ bool8 sub_80961D8(void)
s32 friendAreaReward;
WonderMail *slot;
bool8 flag = FALSE;
num = CountFilledMailboxSlots();
index = RandRange(num, NUM_MAILBOX_SLOTS);
if(num >= NUM_MAILBOX_SLOTS) return 0;
if(!gUnknown_203B490->unk328)
if(!gUnknown_203B490->unk328)
return 0;
else
{
@@ -598,7 +599,7 @@ bool8 sub_80961D8(void)
if(!gUnknown_203B490->PKMNNewsReceived[0x37])
if(!sub_8096E80(0x37)) floor = 0x37;
}
if(floor != 0x38) goto _slot;
if(num > index) goto _08096392;
floor = sub_8096E2C();
@@ -653,7 +654,7 @@ bool8 sub_80963B4(void)
s32 num;
WonderMail *slot;
bool8 flag = FALSE;
floor = sub_8096E2C();
num = CountFilledMailboxSlots();
if(num >= NUM_MAILBOX_SLOTS) return FALSE;
@@ -675,7 +676,7 @@ void sub_80963FC(void)
{
s32 index;
WonderMail *slot;
for(index = 0; index < NUM_MAILBOX_SLOTS; index++)
{
slot = GetMailboxSlotInfo(index);
@@ -749,7 +750,7 @@ s32 CountFilledPelipperBoardSlots(void)
if (!IsPelipperBoardSlotEmpty(index)) {
slots++;
}
}
}
return slots;
}
@@ -793,8 +794,8 @@ void ShiftPelipperJobsDown(void)
{
int counter1; // r5
int counter2;
counter1 = 0;
counter2 = 0;
@@ -804,7 +805,7 @@ void ShiftPelipperJobsDown(void)
if (gUnknown_203B490->pelipperBoardJobs[counter1].mailType != 0)
break;
}
if (counter1 == MAX_ACCEPTED_JOBS) {
break;
}
@@ -840,11 +841,11 @@ void SortPelipperJobs(void)
((gUnknown_203B490->pelipperBoardJobs[index1].unk4.dungeon.id == gUnknown_203B490->pelipperBoardJobs[index2].unk4.dungeon.id) && (gUnknown_203B490->pelipperBoardJobs[index1].unk4.dungeon.floor > gUnknown_203B490->pelipperBoardJobs[index2].unk4.dungeon.floor)))
{
mail = gUnknown_203B490->pelipperBoardJobs[index1];
gUnknown_203B490->pelipperBoardJobs[index1] = gUnknown_203B490->pelipperBoardJobs[index2];
gUnknown_203B490->pelipperBoardJobs[index1] = gUnknown_203B490->pelipperBoardJobs[index2];
gUnknown_203B490->pelipperBoardJobs[index2] = mail;
}
}
}
}
}
}
@@ -853,13 +854,13 @@ void GeneratePelipperJobs(void)
s32 range;
WonderMail *mail;
s32 index;
range = RandRange(4,8);
for(index = 0; index < MAX_ACCEPTED_JOBS; index++)
{
gUnknown_203B490->pelipperBoardJobs[index].mailType = MAIL_TYPE_NONE;
}
index = 0;
if (sub_8097318(0xe) != 0) {
mail = GetPelipperBoardSlotInfo(0);
@@ -924,11 +925,11 @@ bool8 IsMailinJobSlot(WonderMail *mail)
{
WonderMail *jobSlot;
s32 index;
for(index = 0, jobSlot = &gUnknown_203B490->jobSlots[0]; index < MAX_ACCEPTED_JOBS; jobSlot++, index++)
{
if(jobSlot->mailType != MAIL_TYPE_NONE)
if(mail->missionType == jobSlot->missionType)
if(mail->missionType == jobSlot->missionType)
if(mail->unk2 == jobSlot->unk2)
if(mail->unk4.dungeon.id == jobSlot->unk4.dungeon.id)
if(mail->unk4.dungeon.floor == jobSlot->unk4.dungeon.floor)
@@ -939,7 +940,7 @@ bool8 IsMailinJobSlot(WonderMail *mail)
if(mail->rewardType == jobSlot->rewardType)
if(mail->itemReward == jobSlot->itemReward)
if(mail->friendAreaReward == jobSlot->friendAreaReward)
return TRUE;
return TRUE;
}
return FALSE;
}
@@ -950,7 +951,7 @@ bool8 sub_809693C(WonderMail *mail)
u8 floor;
bool8 escortMission;
s32 index;
dungeonIndex = mail->unk4.dungeon.id;
floor = mail->unk4.dungeon.floor;
escortMission = FALSE;
@@ -977,7 +978,7 @@ s32 GetNumAcceptedJobs(void)
{
s32 index;
s32 count;
count = 0;
for(index = 0; index < MAX_ACCEPTED_JOBS; index++)
{
@@ -993,7 +994,7 @@ s32 CountJobsinDungeon(u8 dungeon)
WonderMail *mail;
s32 index;
s32 count;
count = 0;
for(index = 0; index < MAX_ACCEPTED_JOBS; index++)
{
@@ -1002,7 +1003,7 @@ s32 CountJobsinDungeon(u8 dungeon)
(((mail->mailType == MAIL_TYPE_TAKEN_JOB || (mail->mailType == MAIL_TYPE_UNK8)) || (mail->mailType == MAIL_TYPE_UNK9)))) {
count++;
}
}
}
return count;
}
@@ -1070,7 +1071,7 @@ void sub_8096AF8(struct unkStruct_8096AF8 *param_1, u8 slotIndex,u8 dungeon)
WonderMail *jobSlot;
Item *item;
s32 index;
jobSlot = GetJobSlotInfo(slotIndex);
param_1->unk0 = FALSE;
param_1->clientSpecies = jobSlot->clientSpecies;
@@ -1110,7 +1111,7 @@ s16 sub_8096B98(u8 dungeon)
{
WonderMail *mail;
s32 index;
for(index = 0; index < MAX_ACCEPTED_JOBS; index++)
{
mail = GetJobSlotInfo(index);
@@ -1171,8 +1172,8 @@ void ShiftJobSlotsDown(void)
{
int counter1; // r5
int counter2;
counter1 = 0;
counter2 = 0;
@@ -1182,7 +1183,7 @@ void ShiftJobSlotsDown(void)
if (gUnknown_203B490->jobSlots[counter1].mailType != 0)
break;
}
if (counter1 == MAX_ACCEPTED_JOBS) {
break;
}
@@ -1205,15 +1206,15 @@ void SortJobSlots(void)
s32 r1;
s32 r6;
WonderMail job;
for(r1 = 0; r1 < MAX_ACCEPTED_JOBS - 1; r1++)
{
for(r6 = r1 + 1; r6 < MAX_ACCEPTED_JOBS; r6++)
{
if(gUnknown_203B490->jobSlots[r6].mailType != 0)
{
if((gUnknown_203B490->jobSlots[r1].unk4.dungeon.id > gUnknown_203B490->jobSlots[r6].unk4.dungeon.id) ||
((gUnknown_203B490->jobSlots[r1].unk4.dungeon.id == gUnknown_203B490->jobSlots[r6].unk4.dungeon.id) &&
if((gUnknown_203B490->jobSlots[r1].unk4.dungeon.id > gUnknown_203B490->jobSlots[r6].unk4.dungeon.id) ||
((gUnknown_203B490->jobSlots[r1].unk4.dungeon.id == gUnknown_203B490->jobSlots[r6].unk4.dungeon.id) &&
(gUnknown_203B490->jobSlots[r1].unk4.dungeon.floor > gUnknown_203B490->jobSlots[r6].unk4.dungeon.floor)))
{
job = gUnknown_203B490->jobSlots[r1];
@@ -1254,7 +1255,7 @@ u8 sub_8096E2C(void)
if(gUnknown_203B490->mailboxSlots[index].mailType == 1)
{
if(floor <= gUnknown_203B490->mailboxSlots[index].unk4.dungeon.floor)
if( gUnknown_203B490->mailboxSlots[index].unk4.dungeon.floor < 0x32)
if( gUnknown_203B490->mailboxSlots[index].unk4.dungeon.floor < 0x32)
floor = gUnknown_203B490->mailboxSlots[index].unk4.dungeon.floor + 1;
}
}
@@ -1285,7 +1286,7 @@ s32 CalculateMailChecksum(WonderMail *mail)
s32 sum;
sum = (mail->unk2 + mail->missionType);
sum += mail->unk4.dungeon.id;
sum += mail->unk4.dungeon.floor;
@@ -1370,7 +1371,7 @@ u32 RestoreMailInfo(u8 *r0, u32 size)
gUnknown_203B490->unk328 = TRUE;
else
gUnknown_203B490->unk328 = FALSE;
ReadBits(&backup, gUnknown_203B490->unk190, 40 * 8);
ReadBits(&backup, gUnknown_203B490->unk1B8, 120 * 8);
for (index = 0; index < 16; index++)

View File

@@ -1,4 +1,5 @@
#include "global.h"
#include "globaldata.h"
#include "dungeon.h"
#include "exclusive_pokemon.h"
#include "event_flag.h"

View File

@@ -8,7 +8,7 @@
static EWRAM_DATA struct unkStruct_203B494 sUnknown_2039778 = {0};
EWRAM_DATA_2 struct unkStruct_203B494 *gUnknown_203B494 = {0};
EWRAM_INIT struct unkStruct_203B494 *gUnknown_203B494 = {0};
// data_810AE24.s
extern const u8 *gAdventureLogText[];
@@ -392,4 +392,4 @@ u32 RestoreAdventureData(u8 *buffer, u32 bufLen)
FinishBitSerializer(&seri);
return seri.count;
}
}

View File

@@ -50,6 +50,12 @@ void nullsub_114();
void nullsub_115();
void nullsub_116();
extern const char gUnknown_8116390[];
extern const char gUnknown_811636C[];
extern const char gUnknown_811633C[];
EWRAM_INIT const char *gUnknown_203B4A0[3] = {gUnknown_8116390, gUnknown_811636C, gUnknown_811633C};
void sub_809C5C4(void)
{
gUnknown_3001B68 = MemoryAlloc(sizeof(struct unkStruct_3001B68), 6);

View File

@@ -377,7 +377,7 @@ void nullsub_120(void)
// Different file below?
extern void *gUnknown_203B4B0;
EWRAM_INIT void *gUnknown_203B4B0 = NULL;
void sub_809D490(void)
{

View File

@@ -3,14 +3,26 @@
#include "cpu.h"
EWRAM_DATA u32 gUnknown_202D800 = {0};
extern u16 gUnknown_203B0BE[];
EWRAM_INIT u16 gRawKeyInput = {0}; // Not used here, but has to be declare along with sBldCntTable for alignment. Perhaps this file should be merged with bg_control and code_800C9CC.
// Despite being in EWRAM, these never change.
static EWRAM_INIT u16 sBldCntTable[] = {
(BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD),
(BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD),
(BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD),
(BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD),
(BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD),
(BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD),
(0),
};
extern u16 *gUnknown_2026E3C;
extern u8 gUnknown_2026E38;
void sub_800CDA8(u32 r0)
{
gUnknown_202D800 = r0;
gBldCnt = gUnknown_203B0BE[r0];
gBldCnt = sBldCntTable[r0];
}
u32 sub_800CDC8(void)

View File

@@ -6,7 +6,7 @@
#include "memory.h"
#include "text.h"
static EWRAM_DATA_2 Credits1Work *sCredits1Work = {0};
static EWRAM_INIT Credits1Work *sCredits1Work = {NULL};
extern const UnkTextStruct2 gUnknown_80E4A10;
extern const UnkTextStruct2 gUnknown_80E4A28;

View File

@@ -5,7 +5,7 @@
#include "input.h"
#include "memory.h"
static EWRAM_DATA_2 Credits2Work *sCredits2Work = {0};
static EWRAM_INIT Credits2Work *sCredits2Work = {NULL};
#include "data/credits2.h"

View File

@@ -7,8 +7,8 @@
extern void Hang();
static void FatalErrorHang(void) __attribute__((noreturn));
EWRAM_DATA_2 bool32 gNDS_DebugEnabled = {0};
EWRAM_DATA_2 u8 gUnknown_203B150 = {0};
EWRAM_INIT bool32 gNDS_DebugEnabled = {0};
EWRAM_INIT u8 gUnknown_203B150 = {0};
ALIGNED(4) const char gFuncFileLineString[] = "func = '%s'\nfile = '%s' line = %5d";
@@ -21,17 +21,19 @@ ALIGNED(4) const char debug_fill14[] = "pksdir0";
ALIGNED(4) const char gDebugPrintPrefix[] = " Print ";
ALIGNED(4) static const char debug_fill13[] = "pksdir0";
ALIGNED(4) const char Performance_Text[] = "Performance";
ALIGNED(4) const char MemoryCard_Text[] = "Memory Card";
ALIGNED(4) const char Memory_Text[] = "Memory";
ALIGNED(4) const char Flag_Text[] = "Flag";
ALIGNED(4) const char Se_Text[] = "Se";
ALIGNED(4) const char Bgm_Text[] = "Bgm";
ALIGNED(4) const char Sound_Text[] = "Sound";
ALIGNED(4) const char Dungeon_Text[] = "Dungeon";
ALIGNED(4) const char GroundScript_Text[] = "GroundScript";
ALIGNED(4) const char Ground_Text[] = "Ground";
static UNUSED EWRAM_INIT const char *sUnusedEwramDebugStrings[] =
{
"Ground",
"GroundScript",
"Dungeon",
"Sound",
"Bgm",
"Se",
"Flag",
"Memory",
"Memory Card",
"Performance",
};
ALIGNED(4) const char gNotMountText[] = "not mount log system";
ALIGNED(4) static const char debug_fill9[] = "pksdir0";

View File

@@ -28,7 +28,7 @@ enum DebugMenuOptions
MENU_DEBUG_MENU_H_OPEN = 9,
};
static EWRAM_DATA_2 struct DebugMenu *sDebugMenu = {0};
static EWRAM_INIT struct DebugMenu *sDebugMenu = {NULL};
#include "data/debug_menu1.h"

View File

@@ -10,7 +10,7 @@
#include "menu_input.h"
#include "text.h"
static EWRAM_DATA_2 unkStruct_203B3F0 *sUnknown_203B3F0 = {0};
static EWRAM_INIT unkStruct_203B3F0 *sUnknown_203B3F0 = {NULL};
#include "data/debug_menu2.h"

View File

@@ -12,7 +12,7 @@
#include "wigglytuff_shop1.h"
#include "wigglytuff_shop2.h"
static EWRAM_DATA_2 unkStruct_203B3F4 *sUnknown_203B3F4 = {0};
static EWRAM_INIT unkStruct_203B3F4 *sUnknown_203B3F4 = {NULL};
#include "data/debug_menu3.h"

View File

@@ -9,7 +9,7 @@
#include "menu_input.h"
#include "text.h"
static EWRAM_DATA_2 unkStruct_203B3F8 *sUnknown_203B3F8 = {0};
static EWRAM_INIT unkStruct_203B3F8 *sUnknown_203B3F8 = {NULL};
#include "data/debug_menu4.h"

View File

@@ -34,7 +34,7 @@ enum ItemTargetFlag
ITEM_TARGET_ALLY = 1 << 1
};
EWRAM_DATA_2 s32 gAIThrowItemActionChoiceCount = {0};
EWRAM_INIT s32 gAIThrowItemActionChoiceCount = {0};
EWRAM_DATA u32 gAIThrownItemDirections[NUM_DIRECTIONS] = {0};
EWRAM_DATA bool8 gAIThrownItemDirectionIsUsed[NUM_DIRECTIONS] = {0};

View File

@@ -3,7 +3,7 @@
#include "dungeon_leader.h"
#include "dungeon_util.h"
extern Entity *gLeaderPointer;
EWRAM_INIT Entity *gLeaderPointer = NULL;
Entity* GetLeader(void)
{

View File

@@ -34,7 +34,7 @@ EWRAM_DATA unkStruct_202EE8C gUnknown_202EE8C[32] = {0};
EWRAM_DATA OpenedFile *gUnknown_202F18C = {0};
EWRAM_DATA Tile gOutOfBoundsTileData = {0};
EWRAM_DATA_2 const Tile *gCurTilesetOobTile = {0};
EWRAM_INIT const Tile *gCurTilesetOobTile = {NULL};
extern u8 sub_8043CE4(u32);
extern void sub_80402AC(s32, s32);

View File

@@ -44,7 +44,6 @@ extern void sub_8083CE0(u8 param_1);
extern u32 gUnknown_202EDD0;
extern u8 gUnknown_203B40C;
extern u8 gUnknown_202EE01;
extern u8 gUnknown_203B434;
extern void (*gUnknown_203B08C)(s32);
extern void (*gUnknown_203B084)(s32 a0);
extern void (*gUnknown_203B080)(s32 a0);
@@ -65,6 +64,7 @@ static EWRAM_DATA SpriteOAM sUnknown_202F1F0 = {0};
static EWRAM_DATA s32 sMessageLogCursor = 0;
static EWRAM_DATA u8 sMessageLogFlags = 0;
static EWRAM_DATA SpriteOAM sMessageLogArrowSpriteOAM = {0};
EWRAM_INIT u8 gUnknown_203B434 = 1;
// Used for sMessageLogFlags
#define FLAG_CAN_SCROLL_UP 0x1

View File

@@ -361,8 +361,6 @@ extern const u8 *const gUnknown_80F93A4;
extern const u8 *const gUnknown_80F9384;
extern const u8 *const gUnknown_80F9380;
extern Entity *gUnknown_203B438;
EWRAM_DATA s32 gUnknown_202F208 = 0;
EWRAM_DATA s32 gUnknown_202F20C = 0;
EWRAM_DATA s32 gUnknown_202F210 = 0;
@@ -376,6 +374,7 @@ EWRAM_DATA u8 gUnknown_202F221 = 0;
EWRAM_DATA u8 gUnknown_202F222 = 0;
EWRAM_DATA s32 gUnknown_202F224 = 0;
EWRAM_DATA s32 gMetronomeCalledArrayId = 0;
static EWRAM_INIT Entity *gUnknown_203B438 = NULL;
#define MAX_MOVE_TARGETS 64

View File

@@ -1,8 +1,8 @@
#include "global.h"
#include "dungeon_random.h"
EWRAM_DATA_2 u32 gDungeonRngState = {0};
EWRAM_DATA_2 u32 gUnknown_203B458 = {0};
EWRAM_INIT u32 gDungeonRngState = {1};
EWRAM_INIT u32 gUnknown_203B458 = {1};
void sub_808408C(u32 param_1)
{

View File

@@ -26,7 +26,7 @@ const u8 filler_ex1[8] =
'p', 'k', 's', 'd', 'i', 'r', '0', 0
};
EWRAM_DATA_2 struct ExclusivePokemonData *gUnknown_203B498 = {0};
EWRAM_INIT struct ExclusivePokemonData *gUnknown_203B498 = {0};
EWRAM_DATA struct ExclusivePokemonData gExclusivePokemonInfo = {0};
void LoadExclusivePokemon(void)

View File

@@ -10,7 +10,7 @@
#include "pokemon.h"
#include "text.h"
static EWRAM_DATA_2 FelicityBankWork *sFelicityBankWork = {0};
static EWRAM_INIT FelicityBankWork *sFelicityBankWork = {NULL};
#include "data/felicity_bank.h"

View File

@@ -5,7 +5,7 @@
EWRAM_DATA u32 gUnknown_202D2A4 = {0};
EWRAM_DATA OpenedFile gFileCache[64] = {0};
static EWRAM_DATA_2 u32 sFileCacheCursorPosition = {0};
static EWRAM_INIT u32 sFileCacheCursorPosition = {0};
#include "data/file_system.h"
@@ -146,4 +146,4 @@ void CloseFile(OpenedFile *openedFile)
return;
}
}
}
}

View File

@@ -3,7 +3,7 @@
#include "flash.h"
#include "memory.h"
EWRAM_DATA_2 bool8 gFlashEnabled = {0};
EWRAM_INIT bool8 gFlashEnabled = {0};
extern FlashIntrFunc *GetInterruptHandler(s32);

View File

@@ -9,7 +9,7 @@
EWRAM_DATA static bool8 sBoughtFriendAreas[NUM_FRIEND_AREAS] = {0};
EWRAM_DATA_2 bool8 *gFriendAreas = {0};
EWRAM_INIT bool8 *gFriendAreas = {NULL};
// data_8107010.s
extern const u8 sUnknown_81098A4[];

View File

@@ -23,7 +23,7 @@
#include "sprite.h"
#include "text.h"
static EWRAM_DATA_2 struct unkStruct_203B2BC *sUnknown_203B2BC = {0};
static EWRAM_INIT struct unkStruct_203B2BC *sUnknown_203B2BC = {NULL};
void sub_8027D40(u32, BulkItem *heldItem);
void sub_8027794(void);

View File

@@ -25,7 +25,7 @@
#include "pokemon.h"
#include "text.h"
EWRAM_DATA_2 unkStruct_203B2B4 *gUnknown_203B2B4 = {0};
EWRAM_INIT unkStruct_203B2B4 *gUnknown_203B2B4 = {NULL};
#include "data/friend_list_menu.h"

View File

@@ -212,7 +212,7 @@ extern u8 gUnknown_80E4964[];
extern u8 gUnknown_80E499C[];
extern u8 gUnknown_80E49C4[];
EWRAM_DATA_2 WonderMailStruct_203B33C *gUnknown_203B33C = {0};
EWRAM_INIT WonderMailStruct_203B33C *gUnknown_203B33C = {NULL};
extern u8 sub_8039880(void);

View File

@@ -10,7 +10,7 @@ struct unkStruct_8094CB0
s16 unk2;
};
EWRAM_DATA_2 GameOptions *gGameOptionsRef = {0};
EWRAM_INIT GameOptions *gGameOptionsRef = {NULL};
EWRAM_DATA GameOptions gGameOptions = {0};
void LoadGameOptions(void)

View File

@@ -4,7 +4,7 @@
#include "ground_script.h"
#include "number_util.h"
EWRAM_DATA_2 const struct GroundLink *gCurrentGroundLink = NULL;
EWRAM_INIT const struct GroundLink *gCurrentGroundLink = NULL;
extern DebugLocation gUnknown_8118798;
extern const struct GroundScriptHeader *GetGroundScript(s16 r0, DebugLocation *r1);

View File

@@ -22,8 +22,8 @@ EWRAM_DATA u16 gUnknown_20398BE = {0};
EWRAM_DATA u32 gUnknown_20398C0 = {0};
EWRAM_DATA s16 gUnknown_20398C4 = {0};
EWRAM_DATA_2 u8 gUnknown_203B49C = {0};
EWRAM_DATA_2 u8 gUnknown_203B49D = {0};
EWRAM_INIT u8 gUnknown_203B49C = {0};
EWRAM_INIT u8 gUnknown_203B49D = {0};
#include "data/ground_main.h"

View File

@@ -136,7 +136,6 @@ extern s16 gUnknown_2039A34;
extern struct { const char *unk0; s32 unk4; } gChoices[9];
extern u8 gUnknown_2039D98[12];
extern int gNumChoices;
extern PixelPos gUnknown_81164DC;
extern char gUnknown_81165D4[];
@@ -155,6 +154,8 @@ extern DebugLocation gUnknown_81166F8;
extern DebugLocation gUnknown_8116704;
extern ScriptCommand gUnknown_81164E4;
EWRAM_INIT static int sNumChoices = 0;
// Return values:
// This function returns what's likely an enum, which controls the state of the script engine state machine, and possibly provides information to code calling the engine.
// The enum is shared at least with HandleAction.
@@ -1680,7 +1681,7 @@ s32 ExecuteScriptCommand(Action *action) {
case 0xd2 ... 0xd8: {
// DS: Assert(TRUE, "Script command call error SWITCH MENY") [sic]
const char *out = curCmd.argPtr;
gNumChoices = 0;
sNumChoices = 0;
scriptData->branchDiscriminant = 0;
switch(curCmd.op) {
case 0xd6: case 0xd7: case 0xd8: {
@@ -1696,13 +1697,13 @@ s32 ExecuteScriptCommand(Action *action) {
}
if (!out) out = gUnknown_81166D8; // ""
for (; scriptData->script.ptr->op == 0xd9; scriptData->script.ptr++) {
gChoices[gNumChoices].unk0 = scriptData->script.ptr->argPtr;
gChoices[gNumChoices].unk4 = gNumChoices + 1;
gNumChoices++;
gChoices[sNumChoices].unk0 = scriptData->script.ptr->argPtr;
gChoices[sNumChoices].unk4 = sNumChoices + 1;
sNumChoices++;
}
if (gNumChoices <= 0) break;
gChoices[gNumChoices].unk0 = NULL;
gChoices[gNumChoices].unk4 = curCmd.argShort;
if (sNumChoices <= 0) break;
gChoices[sNumChoices].unk0 = NULL;
gChoices[sNumChoices].unk4 = curCmd.argShort;
switch (curCmd.op) {
case 0xd2: case 0xd3: case 0xd6: {
sub_809B028(gChoices, (u8)curCmd.argByte > 0, -1, 0, (s16)curCmd.arg1, out);

View File

@@ -20,7 +20,7 @@ EWRAM_DATA u8 gUnknown_2039DD0 = {0};
EWRAM_DATA u8 gUnknown_2039DD1[3] = {0, 0, 0}; // Unused, for alignment
EWRAM_DATA u32 gUnknown_2039DD4 = {0};
EWRAM_DATA_2 OpenedFile *gUnknown_203B4B4 = {0};
EWRAM_INIT OpenedFile *gUnknown_203B4B4 = {NULL};
// dungeon_sbin.s
extern const struct FileArchive gDungeonFileArchive;

View File

@@ -13,7 +13,7 @@
#include "moves.h"
#include "text.h"
static EWRAM_DATA_2 GulpinShopWork *sGulpinShopWork = {0};
static EWRAM_INIT GulpinShopWork *sGulpinShopWork = {NULL};
#include "data/gulpin_shop.h"

View File

@@ -16,10 +16,10 @@
#include "menu_input.h"
#include "moves.h"
#include "pokemon_3.h"
#include "pokemon_mid.h"
#include "pokemon.h"
#include "text.h"
EWRAM_DATA_2 unkStruct_203B27C *gUnknown_203B27C = {0};
EWRAM_INIT unkStruct_203B27C *gUnknown_203B27C = {NULL};
#include "data/gulpin_shop_801FB50.h"

View File

@@ -9,7 +9,7 @@
#include "text.h"
#include "structs/struct_sub80095e4.h"
static EWRAM_DATA_2 struct_Sub80095E4 *sUnknown_203B264 = {0};
static EWRAM_INIT struct_Sub80095E4 *sUnknown_203B264 = {NULL};
#include "data/hints_menu1.h"

Some files were not shown because too many files have changed in this diff Show More