item_pc: sub_810D878
This commit is contained in:
-330
@@ -5,336 +5,6 @@
|
|||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_810D6AC
|
|
||||||
sub_810D6AC: @ 810D6AC
|
|
||||||
push {lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
movs r0, 0x1
|
|
||||||
negs r0, r0
|
|
||||||
movs r1, 0
|
|
||||||
str r1, [sp]
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0x10
|
|
||||||
bl BeginNormalPaletteFade
|
|
||||||
ldr r0, _0810D6DC @ =sub_810D6E8
|
|
||||||
movs r1, 0
|
|
||||||
bl CreateTask
|
|
||||||
ldr r0, _0810D6E0 @ =sub_810D48C
|
|
||||||
bl SetVBlankCallback
|
|
||||||
ldr r0, _0810D6E4 @ =sub_810D470
|
|
||||||
bl SetMainCallback2
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810D6DC: .4byte sub_810D6E8
|
|
||||||
_0810D6E0: .4byte sub_810D48C
|
|
||||||
_0810D6E4: .4byte sub_810D470
|
|
||||||
thumb_func_end sub_810D6AC
|
|
||||||
|
|
||||||
thumb_func_start sub_810D6E8
|
|
||||||
sub_810D6E8: @ 810D6E8
|
|
||||||
push {r4,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
ldr r0, _0810D714 @ =gPaletteFade
|
|
||||||
ldrb r1, [r0, 0x7]
|
|
||||||
movs r0, 0x80
|
|
||||||
ands r0, r1
|
|
||||||
cmp r0, 0
|
|
||||||
bne _0810D70C
|
|
||||||
ldr r0, _0810D718 @ =gUnknown_203ADCC
|
|
||||||
ldr r0, [r0]
|
|
||||||
bl SetMainCallback2
|
|
||||||
bl sub_810DC40
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl DestroyTask
|
|
||||||
_0810D70C:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810D714: .4byte gPaletteFade
|
|
||||||
_0810D718: .4byte gUnknown_203ADCC
|
|
||||||
thumb_func_end sub_810D6E8
|
|
||||||
|
|
||||||
thumb_func_start sub_810D71C
|
|
||||||
sub_810D71C: @ 810D71C
|
|
||||||
push {r4,r5,lr}
|
|
||||||
bl InitBgReg
|
|
||||||
ldr r5, _0810D77C @ =gUnknown_203ADC0
|
|
||||||
movs r4, 0x80
|
|
||||||
lsls r4, 4
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl Alloc
|
|
||||||
str r0, [r5]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810D784
|
|
||||||
movs r1, 0
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl memset
|
|
||||||
movs r0, 0
|
|
||||||
bl ResetBgsAndClearDma3BusyFlags
|
|
||||||
ldr r1, _0810D780 @ =gUnknown_8453F6C
|
|
||||||
movs r0, 0
|
|
||||||
movs r2, 0x2
|
|
||||||
bl InitBgsFromTemplates
|
|
||||||
ldr r1, [r5]
|
|
||||||
movs r0, 0x1
|
|
||||||
bl SetBgTilemapBuffer
|
|
||||||
movs r0, 0x1
|
|
||||||
bl schedule_bg_copy_tilemap_to_vram
|
|
||||||
movs r1, 0x82
|
|
||||||
lsls r1, 5
|
|
||||||
movs r0, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0x50
|
|
||||||
movs r1, 0
|
|
||||||
bl SetGpuReg
|
|
||||||
movs r0, 0
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x1
|
|
||||||
bl ShowBg
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0810D786
|
|
||||||
.align 2, 0
|
|
||||||
_0810D77C: .4byte gUnknown_203ADC0
|
|
||||||
_0810D780: .4byte gUnknown_8453F6C
|
|
||||||
_0810D784:
|
|
||||||
movs r0, 0
|
|
||||||
_0810D786:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_810D71C
|
|
||||||
|
|
||||||
thumb_func_start sub_810D78C
|
|
||||||
sub_810D78C: @ 810D78C
|
|
||||||
push {r4,r5,lr}
|
|
||||||
sub sp, 0x4
|
|
||||||
ldr r5, _0810D7A8 @ =gUnknown_203ADBC
|
|
||||||
ldr r0, [r5]
|
|
||||||
movs r1, 0xC
|
|
||||||
ldrsh r4, [r0, r1]
|
|
||||||
cmp r4, 0x1
|
|
||||||
beq _0810D7D0
|
|
||||||
cmp r4, 0x1
|
|
||||||
bgt _0810D7AC
|
|
||||||
cmp r4, 0
|
|
||||||
beq _0810D7B6
|
|
||||||
b _0810D814
|
|
||||||
.align 2, 0
|
|
||||||
_0810D7A8: .4byte gUnknown_203ADBC
|
|
||||||
_0810D7AC:
|
|
||||||
cmp r4, 0x2
|
|
||||||
beq _0810D7F0
|
|
||||||
cmp r4, 0x3
|
|
||||||
beq _0810D800
|
|
||||||
b _0810D814
|
|
||||||
_0810D7B6:
|
|
||||||
bl reset_temp_tile_data_buffers
|
|
||||||
ldr r1, _0810D7CC @ =gUnknown_8E85090
|
|
||||||
str r4, [sp]
|
|
||||||
movs r0, 0x1
|
|
||||||
movs r2, 0
|
|
||||||
movs r3, 0
|
|
||||||
bl decompress_and_copy_tile_data_to_vram
|
|
||||||
b _0810D806
|
|
||||||
.align 2, 0
|
|
||||||
_0810D7CC: .4byte gUnknown_8E85090
|
|
||||||
_0810D7D0:
|
|
||||||
bl free_temp_tile_data_buffers_if_possible
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0810D830
|
|
||||||
ldr r0, _0810D7E8 @ =gUnknown_8E85458
|
|
||||||
ldr r1, _0810D7EC @ =gUnknown_203ADC0
|
|
||||||
ldr r1, [r1]
|
|
||||||
bl LZDecompressWram
|
|
||||||
b _0810D806
|
|
||||||
.align 2, 0
|
|
||||||
_0810D7E8: .4byte gUnknown_8E85458
|
|
||||||
_0810D7EC: .4byte gUnknown_203ADC0
|
|
||||||
_0810D7F0:
|
|
||||||
ldr r0, _0810D7FC @ =gUnknown_8E85408
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0x60
|
|
||||||
bl LoadCompressedPalette
|
|
||||||
b _0810D806
|
|
||||||
.align 2, 0
|
|
||||||
_0810D7FC: .4byte gUnknown_8E85408
|
|
||||||
_0810D800:
|
|
||||||
ldr r0, _0810D810 @ =gUnknown_83D4240
|
|
||||||
bl LoadCompressedObjectPic
|
|
||||||
_0810D806:
|
|
||||||
ldr r1, [r5]
|
|
||||||
ldrh r0, [r1, 0xC]
|
|
||||||
adds r0, 0x1
|
|
||||||
strh r0, [r1, 0xC]
|
|
||||||
b _0810D830
|
|
||||||
.align 2, 0
|
|
||||||
_0810D810: .4byte gUnknown_83D4240
|
|
||||||
_0810D814:
|
|
||||||
ldr r0, _0810D828 @ =gUnknown_83D4248
|
|
||||||
bl LoadCompressedObjectPalette
|
|
||||||
ldr r0, _0810D82C @ =gUnknown_203ADBC
|
|
||||||
ldr r1, [r0]
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r1, 0xC]
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0810D832
|
|
||||||
.align 2, 0
|
|
||||||
_0810D828: .4byte gUnknown_83D4248
|
|
||||||
_0810D82C: .4byte gUnknown_203ADBC
|
|
||||||
_0810D830:
|
|
||||||
movs r0, 0
|
|
||||||
_0810D832:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_810D78C
|
|
||||||
|
|
||||||
thumb_func_start sub_810D83C
|
|
||||||
sub_810D83C: @ 810D83C
|
|
||||||
push {r4,lr}
|
|
||||||
ldr r4, _0810D860 @ =gUnknown_203ADC4
|
|
||||||
movs r0, 0xF8
|
|
||||||
bl Alloc
|
|
||||||
str r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810D868
|
|
||||||
ldr r4, _0810D864 @ =gUnknown_203ADC8
|
|
||||||
movs r0, 0xD9
|
|
||||||
lsls r0, 1
|
|
||||||
bl Alloc
|
|
||||||
str r0, [r4]
|
|
||||||
cmp r0, 0
|
|
||||||
beq _0810D868
|
|
||||||
movs r0, 0x1
|
|
||||||
b _0810D872
|
|
||||||
.align 2, 0
|
|
||||||
_0810D860: .4byte gUnknown_203ADC4
|
|
||||||
_0810D864: .4byte gUnknown_203ADC8
|
|
||||||
_0810D868:
|
|
||||||
bl sub_810DC40
|
|
||||||
bl sub_810D6AC
|
|
||||||
movs r0, 0
|
|
||||||
_0810D872:
|
|
||||||
pop {r4}
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
thumb_func_end sub_810D83C
|
|
||||||
|
|
||||||
thumb_func_start sub_810D878
|
|
||||||
sub_810D878: @ 810D878
|
|
||||||
push {r4,r5,lr}
|
|
||||||
movs r4, 0
|
|
||||||
b _0810D8A4
|
|
||||||
_0810D87E:
|
|
||||||
ldr r0, _0810D938 @ =gSaveBlock1Ptr
|
|
||||||
ldr r0, [r0]
|
|
||||||
lsls r1, r4, 2
|
|
||||||
adds r0, r1
|
|
||||||
movs r1, 0xA6
|
|
||||||
lsls r1, 2
|
|
||||||
adds r0, r1
|
|
||||||
ldrh r0, [r0]
|
|
||||||
bl ItemId_GetItem
|
|
||||||
ldr r1, _0810D93C @ =gUnknown_203ADC4
|
|
||||||
ldr r2, [r1]
|
|
||||||
lsls r1, r4, 3
|
|
||||||
adds r1, r2
|
|
||||||
str r0, [r1]
|
|
||||||
str r4, [r1, 0x4]
|
|
||||||
adds r0, r4, 0x1
|
|
||||||
lsls r0, 16
|
|
||||||
lsrs r4, r0, 16
|
|
||||||
_0810D8A4:
|
|
||||||
ldr r0, _0810D940 @ =gUnknown_203ADBC
|
|
||||||
ldr r0, [r0]
|
|
||||||
ldrb r0, [r0, 0x7]
|
|
||||||
cmp r4, r0
|
|
||||||
bcc _0810D87E
|
|
||||||
ldr r0, _0810D93C @ =gUnknown_203ADC4
|
|
||||||
ldr r3, [r0]
|
|
||||||
lsls r0, r4, 3
|
|
||||||
adds r0, r3
|
|
||||||
ldr r1, _0810D944 @ =gFameCheckerText_Cancel
|
|
||||||
str r1, [r0]
|
|
||||||
movs r1, 0x2
|
|
||||||
negs r1, r1
|
|
||||||
str r1, [r0, 0x4]
|
|
||||||
ldr r2, _0810D948 @ =gMultiuseListMenuTemplate
|
|
||||||
str r3, [r2]
|
|
||||||
ldr r0, _0810D940 @ =gUnknown_203ADBC
|
|
||||||
ldr r3, [r0]
|
|
||||||
ldrb r0, [r3, 0x7]
|
|
||||||
adds r0, 0x1
|
|
||||||
movs r1, 0
|
|
||||||
strh r0, [r2, 0xC]
|
|
||||||
strb r1, [r2, 0x10]
|
|
||||||
strb r1, [r2, 0x11]
|
|
||||||
movs r0, 0x9
|
|
||||||
strb r0, [r2, 0x12]
|
|
||||||
movs r1, 0x1
|
|
||||||
movs r0, 0x1
|
|
||||||
strb r0, [r2, 0x13]
|
|
||||||
ldrb r0, [r2, 0x16]
|
|
||||||
movs r4, 0x8
|
|
||||||
negs r4, r4
|
|
||||||
ands r4, r0
|
|
||||||
orrs r4, r1
|
|
||||||
movs r0, 0x39
|
|
||||||
negs r0, r0
|
|
||||||
ands r4, r0
|
|
||||||
movs r0, 0x10
|
|
||||||
orrs r4, r0
|
|
||||||
strb r4, [r2, 0x16]
|
|
||||||
ldrb r1, [r2, 0x14]
|
|
||||||
movs r0, 0x10
|
|
||||||
negs r0, r0
|
|
||||||
ands r0, r1
|
|
||||||
movs r5, 0x2
|
|
||||||
orrs r0, r5
|
|
||||||
strb r0, [r2, 0x14]
|
|
||||||
ldrb r1, [r3, 0x6]
|
|
||||||
strh r1, [r2, 0xE]
|
|
||||||
ldrb r1, [r2, 0x17]
|
|
||||||
movs r3, 0x40
|
|
||||||
negs r3, r3
|
|
||||||
ands r3, r1
|
|
||||||
orrs r3, r5
|
|
||||||
movs r1, 0xF
|
|
||||||
ands r0, r1
|
|
||||||
movs r1, 0x20
|
|
||||||
orrs r0, r1
|
|
||||||
strb r0, [r2, 0x14]
|
|
||||||
movs r0, 0x30
|
|
||||||
strb r0, [r2, 0x15]
|
|
||||||
ldr r0, _0810D94C @ =sub_810D954
|
|
||||||
str r0, [r2, 0x4]
|
|
||||||
ldr r0, _0810D950 @ =sub_810DA20
|
|
||||||
str r0, [r2, 0x8]
|
|
||||||
movs r0, 0x3F
|
|
||||||
ands r4, r0
|
|
||||||
strb r4, [r2, 0x16]
|
|
||||||
ands r3, r0
|
|
||||||
strb r3, [r2, 0x17]
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_0810D938: .4byte gSaveBlock1Ptr
|
|
||||||
_0810D93C: .4byte gUnknown_203ADC4
|
|
||||||
_0810D940: .4byte gUnknown_203ADBC
|
|
||||||
_0810D944: .4byte gFameCheckerText_Cancel
|
|
||||||
_0810D948: .4byte gMultiuseListMenuTemplate
|
|
||||||
_0810D94C: .4byte sub_810D954
|
|
||||||
_0810D950: .4byte sub_810DA20
|
|
||||||
thumb_func_end sub_810D878
|
|
||||||
|
|
||||||
thumb_func_start sub_810D954
|
thumb_func_start sub_810D954
|
||||||
sub_810D954: @ 810D954
|
sub_810D954: @ 810D954
|
||||||
push {r4,r5,lr}
|
push {r4,r5,lr}
|
||||||
|
|||||||
+2
-2
@@ -557,10 +557,10 @@ gUnknown_83D41FC:: @ 83D41FC
|
|||||||
.incbin "baserom.gba", 0x3D41FC, 0x44
|
.incbin "baserom.gba", 0x3D41FC, 0x44
|
||||||
|
|
||||||
gUnknown_83D4240:: @ 83D4240
|
gUnknown_83D4240:: @ 83D4240
|
||||||
.incbin "baserom.gba", 0x3D4240, 0x8
|
obj_tiles gFile_graphics_interface_bag_swap_sheet, 0x0100, 0x0065
|
||||||
|
|
||||||
gUnknown_83D4248:: @ 83D4248
|
gUnknown_83D4248:: @ 83D4248
|
||||||
.incbin "baserom.gba", 0x3D4248, 0x8
|
obj_pal gFile_graphics_interface_bag_swap_palette, 0x0065
|
||||||
|
|
||||||
gUnknown_83D4250:: @ 83D4250
|
gUnknown_83D4250:: @ 83D4250
|
||||||
.incbin "baserom.gba", 0x3D4250, 0x2C
|
.incbin "baserom.gba", 0x3D4250, 0x2C
|
||||||
|
|||||||
@@ -3071,9 +3071,6 @@ gUnknown_8453094:: @ 8453094
|
|||||||
.section .rodata.8453F6C
|
.section .rodata.8453F6C
|
||||||
|
|
||||||
// item_pc.o
|
// item_pc.o
|
||||||
gUnknown_8453F6C:: @ 8453F6C
|
|
||||||
.incbin "baserom.gba", 0x453F6C, 0x8
|
|
||||||
|
|
||||||
gUnknown_8453F74:: @ 8453F74
|
gUnknown_8453F74:: @ 8453F74
|
||||||
.incbin "baserom.gba", 0x453F74, 0x18
|
.incbin "baserom.gba", 0x453F74, 0x18
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
|
After Width: | Height: | Size: 746 B |
Binary file not shown.
@@ -21,6 +21,7 @@ MISCGFXDIR := graphics/misc
|
|||||||
TEXTWINDOWGFXDIR := graphics/text_window
|
TEXTWINDOWGFXDIR := graphics/text_window
|
||||||
TEACHYTVGFXDIR := graphics/teachy_tv
|
TEACHYTVGFXDIR := graphics/teachy_tv
|
||||||
SSANNEGFXDIR := graphics/ss_anne
|
SSANNEGFXDIR := graphics/ss_anne
|
||||||
|
ITEMPCGFXDIR := graphics/item_pc
|
||||||
|
|
||||||
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark
|
types := normal fight flying poison ground rock bug ghost steel mystery fire water grass electric psychic ice dragon dark
|
||||||
contest_types := cool beauty cute smart tough
|
contest_types := cool beauty cute smart tough
|
||||||
@@ -482,3 +483,6 @@ $(TEACHYTVGFXDIR)/tiles.4bpp: %.4bpp: %.png
|
|||||||
|
|
||||||
$(SSANNEGFXDIR)/unk_8479A38.4bpp: %.4bpp: %.png
|
$(SSANNEGFXDIR)/unk_8479A38.4bpp: %.4bpp: %.png
|
||||||
$(GFX) $< $@ -num_tiles 17
|
$(GFX) $< $@ -num_tiles 17
|
||||||
|
|
||||||
|
$(ITEMPCGFXDIR)/unk_8E85090.4bpp: %.4bpp: %.png
|
||||||
|
$(GFX) $< $@ -num_tiles 82
|
||||||
|
|||||||
+6
-1
@@ -176,7 +176,6 @@ extern const u8 gUnknown_8E86D6C[];
|
|||||||
extern const u8 gUnknown_8E86F98[];
|
extern const u8 gUnknown_8E86F98[];
|
||||||
|
|
||||||
// berry_fix_program
|
// berry_fix_program
|
||||||
|
|
||||||
extern const u8 gBerryFixGameboy_Gfx[];
|
extern const u8 gBerryFixGameboy_Gfx[];
|
||||||
extern const u8 gBerryFixGameboy_Tilemap[];
|
extern const u8 gBerryFixGameboy_Tilemap[];
|
||||||
extern const u8 gBerryFixGameboy_Pal[];
|
extern const u8 gBerryFixGameboy_Pal[];
|
||||||
@@ -196,4 +195,10 @@ extern const u8 gBerryFixWindow_Gfx[];
|
|||||||
extern const u8 gBerryFixWindow_Tilemap[];
|
extern const u8 gBerryFixWindow_Tilemap[];
|
||||||
extern const u8 gBerryFixWindow_Pal[];
|
extern const u8 gBerryFixWindow_Pal[];
|
||||||
|
|
||||||
|
// item_pc
|
||||||
|
|
||||||
|
extern const u8 gUnknown_8E85090[];
|
||||||
|
extern const u8 gUnknown_8E85408[];
|
||||||
|
extern const u8 gUnknown_8E85458[];
|
||||||
|
|
||||||
#endif //GUARD_GRAPHICS_H
|
#endif //GUARD_GRAPHICS_H
|
||||||
|
|||||||
@@ -113,6 +113,7 @@ extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[];
|
|||||||
extern const u8 gText_TurnedOverItemsWorthYen[];
|
extern const u8 gText_TurnedOverItemsWorthYen[];
|
||||||
extern const u8 gPokeDudeText_TMTypes[];
|
extern const u8 gPokeDudeText_TMTypes[];
|
||||||
extern const u8 gPokeDudeText_ReadTMDescription[];
|
extern const u8 gPokeDudeText_ReadTMDescription[];
|
||||||
|
extern const u8 gFameCheckerText_Cancel[];
|
||||||
|
|
||||||
// teachy_tv
|
// teachy_tv
|
||||||
extern const u8 gTeachyTvString_TeachBattle[];
|
extern const u8 gTeachyTvString_TeachBattle[];
|
||||||
|
|||||||
@@ -417,6 +417,7 @@ SECTIONS {
|
|||||||
src/bag.o(.rodata);
|
src/bag.o(.rodata);
|
||||||
src/trainer_pokemon_sprites.o(.rodata);
|
src/trainer_pokemon_sprites.o(.rodata);
|
||||||
src/vs_seeker.o(.rodata);
|
src/vs_seeker.o(.rodata);
|
||||||
|
src/item_pc.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata.8453F6C);
|
data/data_83FECCC.o(.rodata.8453F6C);
|
||||||
src/quest_log.o(.rodata);
|
src/quest_log.o(.rodata);
|
||||||
data/data_83FECCC.o(.rodata.8456C74);
|
data/data_83FECCC.o(.rodata.8456C74);
|
||||||
|
|||||||
+151
-5
@@ -1,5 +1,10 @@
|
|||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
#include "bg.h"
|
||||||
|
#include "decompress.h"
|
||||||
|
#include "gpu_regs.h"
|
||||||
|
#include "graphics.h"
|
||||||
#include "help_system.h"
|
#include "help_system.h"
|
||||||
|
#include "item.h"
|
||||||
#include "item_menu_icons.h"
|
#include "item_menu_icons.h"
|
||||||
#include "list_menu.h"
|
#include "list_menu.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
@@ -10,6 +15,7 @@
|
|||||||
#include "pc_screen_effect.h"
|
#include "pc_screen_effect.h"
|
||||||
#include "scanline_effect.h"
|
#include "scanline_effect.h"
|
||||||
#include "sound.h"
|
#include "sound.h"
|
||||||
|
#include "strings.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
#include "constants/songs.h"
|
#include "constants/songs.h"
|
||||||
|
|
||||||
@@ -18,10 +24,11 @@ struct ItemPcResources
|
|||||||
u32 field_00;
|
u32 field_00;
|
||||||
u8 field_04;
|
u8 field_04;
|
||||||
u8 field_05;
|
u8 field_05;
|
||||||
u8 filler_06[2];
|
u8 field_06;
|
||||||
|
u8 field_07;
|
||||||
u8 field_08;
|
u8 field_08;
|
||||||
u8 filler_09[3];
|
u8 filler_09[3];
|
||||||
u16 field_0C[3];
|
s16 field_0C[3];
|
||||||
};
|
};
|
||||||
|
|
||||||
struct ItemPcStaticResources
|
struct ItemPcStaticResources
|
||||||
@@ -33,27 +40,48 @@ struct ItemPcStaticResources
|
|||||||
};
|
};
|
||||||
|
|
||||||
EWRAM_DATA struct ItemPcResources * gUnknown_203ADBC = NULL;
|
EWRAM_DATA struct ItemPcResources * gUnknown_203ADBC = NULL;
|
||||||
EWRAM_DATA u32 gUnknown_203ADC0 = 0;
|
EWRAM_DATA u8 * gUnknown_203ADC0 = NULL;
|
||||||
EWRAM_DATA u32 gUnknown_203ADC4 = 0;
|
EWRAM_DATA struct ListMenuItem * gUnknown_203ADC4 = NULL;
|
||||||
EWRAM_DATA u32 gUnknown_203ADC8 = 0;
|
EWRAM_DATA void * gUnknown_203ADC8 = NULL;
|
||||||
EWRAM_DATA struct ItemPcStaticResources gUnknown_203ADCC = {};
|
EWRAM_DATA struct ItemPcStaticResources gUnknown_203ADCC = {};
|
||||||
|
|
||||||
|
extern const struct CompressedSpriteSheet gUnknown_83D4240;
|
||||||
|
extern const struct CompressedSpritePalette gUnknown_83D4248;
|
||||||
|
|
||||||
void sub_810D4A0(void);
|
void sub_810D4A0(void);
|
||||||
bool8 sub_810D4C0(void);
|
bool8 sub_810D4C0(void);
|
||||||
void sub_810D6AC(void);
|
void sub_810D6AC(void);
|
||||||
|
void sub_810D6E8(u8 taskId);
|
||||||
bool8 sub_810D71C(void);
|
bool8 sub_810D71C(void);
|
||||||
bool8 sub_810D78C(void);
|
bool8 sub_810D78C(void);
|
||||||
bool8 sub_810D83C(void);
|
bool8 sub_810D83C(void);
|
||||||
void sub_810D878(void);
|
void sub_810D878(void);
|
||||||
|
void sub_810D954(s32 itemIndex, bool8 onInit, struct ListMenu * list);
|
||||||
|
void sub_810DA20(u8 windowId, s32 itemId, u8 y);
|
||||||
void sub_810E8F0(void);
|
void sub_810E8F0(void);
|
||||||
void sub_810DB34(void);
|
void sub_810DB34(void);
|
||||||
void sub_810DB5C(void);
|
void sub_810DB5C(void);
|
||||||
void sub_810DBF0(void);
|
void sub_810DBF0(void);
|
||||||
|
void sub_810DC40(void);
|
||||||
void sub_810DDA4(void);
|
void sub_810DDA4(void);
|
||||||
void sub_810DE08(void);
|
void sub_810DE08(void);
|
||||||
void sub_810DE94(u8);
|
void sub_810DE94(u8);
|
||||||
void sub_810DEA0(u8 taskId);
|
void sub_810DEA0(u8 taskId);
|
||||||
|
|
||||||
|
const struct BgTemplate gUnknown_8453F6C[2] = {
|
||||||
|
{
|
||||||
|
.bg = 0,
|
||||||
|
.charBaseIndex = 0,
|
||||||
|
.mapBaseIndex = 31,
|
||||||
|
.priority = 0
|
||||||
|
}, {
|
||||||
|
.bg = 1,
|
||||||
|
.charBaseIndex = 3,
|
||||||
|
.mapBaseIndex = 30,
|
||||||
|
.priority = 1
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
void sub_810D3F4(u8 a0, MainCallback callback)
|
void sub_810D3F4(u8 a0, MainCallback callback)
|
||||||
{
|
{
|
||||||
u8 i;
|
u8 i;
|
||||||
@@ -236,3 +264,121 @@ bool8 sub_810D4C0(void)
|
|||||||
}
|
}
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_810D6AC(void)
|
||||||
|
{
|
||||||
|
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK);
|
||||||
|
CreateTask(sub_810D6E8, 0);
|
||||||
|
SetVBlankCallback(sub_810D48C);
|
||||||
|
SetMainCallback2(sub_810D470);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810D6E8(u8 taskId)
|
||||||
|
{
|
||||||
|
if (!gPaletteFade.active)
|
||||||
|
{
|
||||||
|
SetMainCallback2(gUnknown_203ADCC.field_0);
|
||||||
|
sub_810DC40();
|
||||||
|
DestroyTask(taskId);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_810D71C(void)
|
||||||
|
{
|
||||||
|
InitBgReg();
|
||||||
|
gUnknown_203ADC0 = Alloc(0x800);
|
||||||
|
if (gUnknown_203ADC0 == NULL)
|
||||||
|
return FALSE;
|
||||||
|
memset(gUnknown_203ADC0, 0, 0x800);
|
||||||
|
ResetBgsAndClearDma3BusyFlags(0);
|
||||||
|
InitBgsFromTemplates(0, gUnknown_8453F6C, NELEMS(gUnknown_8453F6C));
|
||||||
|
SetBgTilemapBuffer(1, gUnknown_203ADC0);
|
||||||
|
schedule_bg_copy_tilemap_to_vram(1);
|
||||||
|
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
|
||||||
|
SetGpuReg(REG_OFFSET_BLDCNT , 0);
|
||||||
|
ShowBg(0);
|
||||||
|
ShowBg(1);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_810D78C(void)
|
||||||
|
{
|
||||||
|
switch (gUnknown_203ADBC->field_0C[0])
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
reset_temp_tile_data_buffers();
|
||||||
|
decompress_and_copy_tile_data_to_vram(1, gUnknown_8E85090, 0, 0, 0);
|
||||||
|
gUnknown_203ADBC->field_0C[0]++;
|
||||||
|
break;
|
||||||
|
case 1:
|
||||||
|
if (free_temp_tile_data_buffers_if_possible() != TRUE)
|
||||||
|
{
|
||||||
|
LZDecompressWram(gUnknown_8E85458, gUnknown_203ADC0);
|
||||||
|
gUnknown_203ADBC->field_0C[0]++;
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
LoadCompressedPalette(gUnknown_8E85408, 0x00, 0x60);
|
||||||
|
gUnknown_203ADBC->field_0C[0]++;
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
LoadCompressedObjectPic(&gUnknown_83D4240);
|
||||||
|
gUnknown_203ADBC->field_0C[0]++;
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
LoadCompressedObjectPalette(&gUnknown_83D4248);
|
||||||
|
gUnknown_203ADBC->field_0C[0] = 0;
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
|
#define sub_810D83C_sub(ptr__, size) ({ \
|
||||||
|
void ** ptr = (void **)&(ptr__); \
|
||||||
|
*ptr = Alloc(size); \
|
||||||
|
if (*ptr == NULL) \
|
||||||
|
{ \
|
||||||
|
sub_810DC40(); \
|
||||||
|
sub_810D6AC(); \
|
||||||
|
return FALSE; \
|
||||||
|
} \
|
||||||
|
})
|
||||||
|
|
||||||
|
bool8 sub_810D83C(void)
|
||||||
|
{
|
||||||
|
sub_810D83C_sub(gUnknown_203ADC4, 0x0F8);
|
||||||
|
sub_810D83C_sub(gUnknown_203ADC8, 0x1B2);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_810D878(void)
|
||||||
|
{
|
||||||
|
u16 i;
|
||||||
|
|
||||||
|
for (i = 0; i < gUnknown_203ADBC->field_07; i++)
|
||||||
|
{
|
||||||
|
gUnknown_203ADC4[i].label = ItemId_GetItem(gSaveBlock1Ptr->pcItems[i].itemId)->name;
|
||||||
|
gUnknown_203ADC4[i].index = i;
|
||||||
|
}
|
||||||
|
gUnknown_203ADC4[i].label = gFameCheckerText_Cancel;
|
||||||
|
gUnknown_203ADC4[i].index = -2;
|
||||||
|
|
||||||
|
gMultiuseListMenuTemplate.items = gUnknown_203ADC4;
|
||||||
|
gMultiuseListMenuTemplate.totalItems = gUnknown_203ADBC->field_07 + 1;
|
||||||
|
gMultiuseListMenuTemplate.windowId = 0;
|
||||||
|
gMultiuseListMenuTemplate.header_X = 0;
|
||||||
|
gMultiuseListMenuTemplate.item_X = 9;
|
||||||
|
gMultiuseListMenuTemplate.cursor_X = 1;
|
||||||
|
gMultiuseListMenuTemplate.lettersSpacing = 1;
|
||||||
|
gMultiuseListMenuTemplate.itemVerticalPadding = 2;
|
||||||
|
gMultiuseListMenuTemplate.upText_Y = 2;
|
||||||
|
gMultiuseListMenuTemplate.maxShowed = gUnknown_203ADBC->field_06;
|
||||||
|
gMultiuseListMenuTemplate.fontId = 2;
|
||||||
|
gMultiuseListMenuTemplate.cursorPal = 2;
|
||||||
|
gMultiuseListMenuTemplate.fillValue = 0;
|
||||||
|
gMultiuseListMenuTemplate.cursorShadowPal = 3;
|
||||||
|
gMultiuseListMenuTemplate.moveCursorFunc = sub_810D954;
|
||||||
|
gMultiuseListMenuTemplate.itemPrintFunc = sub_810DA20;
|
||||||
|
gMultiuseListMenuTemplate.scrollMultiple = 0;
|
||||||
|
gMultiuseListMenuTemplate.cursorKind = 0;
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user