Decompile naming_screen.c

This commit is contained in:
Diegoisawesome 2018-01-23 21:30:13 -06:00
parent f57340b729
commit 5a57485ece
25 changed files with 2337 additions and 4656 deletions

View File

@ -7096,7 +7096,7 @@ _081926B0:
movs r1, 0x1
str r1, [sp, 0x8]
ldr r1, =sub_8190938
bl sub_80D2CC4
bl CreateMonIcon
ldr r1, [r6]
adds r1, r4
strb r0, [r1]
@ -8779,7 +8779,7 @@ _081934B0:
mov r1, r10
str r1, [sp, 0x8]
ldr r1, =sub_8190938
bl sub_80D2CC4
bl CreateMonIcon
ldr r1, [r6]
adds r1, r4
strb r0, [r1]
@ -8927,7 +8927,7 @@ _081935FA:
movs r1, 0x1
str r1, [sp, 0x8]
ldr r1, =sub_8190938
bl sub_80D2CC4
bl CreateMonIcon
ldr r1, [r6]
adds r1, r4
strb r0, [r1]

View File

@ -764,8 +764,8 @@ _080B608E:
bx r0
thumb_func_end sub_80B6070
thumb_func_start sub_80B609C
sub_80B609C: @ 80B609C
thumb_func_start MultiplyInvertedPaletteRGBComponents
MultiplyInvertedPaletteRGBComponents: @ 80B609C
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -832,7 +832,7 @@ sub_80B609C: @ 80B609C
pop {r0}
bx r0
.pool
thumb_func_end sub_80B609C
thumb_func_end MultiplyInvertedPaletteRGBComponents
thumb_func_start sub_80B6128
sub_80B6128: @ 80B6128
@ -1469,7 +1469,7 @@ _080B65D8:
mov r9, r3
add r4, r9
ldrb r3, [r4]
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
ldrh r4, [r7, 0x32]
adds r4, 0x2
mov r0, r8
@ -1488,7 +1488,7 @@ _080B65D8:
ldrb r2, [r2]
add r4, r9
ldrb r3, [r4]
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
ldrh r4, [r7, 0x32]
adds r4, 0x1
mov r3, r8
@ -1507,7 +1507,7 @@ _080B65D8:
ldrb r2, [r2]
add r4, r9
ldrb r3, [r4]
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
ldrh r4, [r7, 0x32]
lsls r4, 24
lsrs r4, 24
@ -1527,7 +1527,7 @@ _080B65D8:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
mov r0, r10
bl IndexOfSpritePaletteTag
lsls r0, 24
@ -1538,7 +1538,7 @@ _080B65D8:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
movs r3, 0x34
ldrsh r0, [r7, r3]
cmp r0, 0x2
@ -1612,7 +1612,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
mov r0, r8
bl IndexOfSpritePaletteTag
lsls r0, 24
@ -1624,7 +1624,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
mov r0, r8
bl IndexOfSpritePaletteTag
lsls r0, 24
@ -1636,7 +1636,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
mov r0, r8
bl IndexOfSpritePaletteTag
lsls r0, 24
@ -1647,7 +1647,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
mov r0, r8
bl IndexOfSpritePaletteTag
lsls r0, 24
@ -1658,7 +1658,7 @@ _080B6718:
adds r1, r6, 0
adds r2, r5, 0
adds r3, r4, 0
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
pop {r3}
mov r8, r3
pop {r4-r6}

View File

@ -2602,8 +2602,8 @@ _0808BD2C:
.pool
thumb_func_end sub_808BCF4
thumb_func_start sub_808BD3C
sub_808BD3C: @ 808BD3C
thumb_func_start GetRivalAvatarGraphicsIdByStateIdAndGender
GetRivalAvatarGraphicsIdByStateIdAndGender: @ 808BD3C
lsls r0, 24
lsls r1, 24
lsrs r1, 24
@ -2614,7 +2614,7 @@ sub_808BD3C: @ 808BD3C
ldrb r0, [r1]
bx lr
.pool
thumb_func_end sub_808BD3C
thumb_func_end GetRivalAvatarGraphicsIdByStateIdAndGender
thumb_func_start GetPlayerAvatarGraphicsIdByStateIdAndGender
@ u8 GetPlayerAvatarGraphicsIdByStateIdAndGender(u8 stateId, u8 gender)

File diff suppressed because it is too large Load Diff

View File

@ -6698,7 +6698,7 @@ _08087C38:
lsls r1, 30
lsrs r1, 31
movs r0, 0
bl sub_808BD3C
bl GetRivalAvatarGraphicsIdByStateIdAndGender
_08087C44:
lsls r0, 24
lsrs r0, 24

View File

@ -10415,7 +10415,7 @@ party_menu_link_mon_icon_anim: @ 81B5A2C
ldr r0, [sp, 0x20]
str r0, [sp, 0x8]
adds r0, r5, 0
bl sub_80D2CC4
bl CreateMonIcon
strb r0, [r4, 0x9]
ldr r2, =gSprites
ldrb r0, [r4, 0x9]

View File

@ -5,9 +5,9 @@
.text
thumb_func_start sub_80D2CC4
@ int sub_80D2CC4(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7)
sub_80D2CC4: @ 80D2CC4
thumb_func_start CreateMonIcon
@ int CreateMonIcon(u16 speciesId, int a2, u16 a3, u16 a4, u8 a5, u32 personality, int a7)
CreateMonIcon: @ 80D2CC4
push {r4-r7,lr}
mov r7, r9
mov r6, r8
@ -84,7 +84,7 @@ _080D2D2A:
pop {r1}
bx r1
.pool
thumb_func_end sub_80D2CC4
thumb_func_end CreateMonIcon
thumb_func_start sub_80D2D78
sub_80D2D78: @ 80D2D78

View File

@ -8934,7 +8934,7 @@ sub_812EB48: @ 812EB48
ldrb r3, [r1]
adds r1, r3, 0
adds r2, r3, 0
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
ldrh r0, [r4, 0x38]
adds r0, 0x1
movs r1, 0x1
@ -8979,7 +8979,7 @@ sub_812EBCC: @ 812EBCC
movs r1, 0
movs r2, 0
movs r3, 0
bl sub_80B609C
bl MultiplyInvertedPaletteRGBComponents
movs r4, 0
_0812EBEA:
ldr r0, =gUnknown_0203AB34

View File

@ -646,7 +646,7 @@ _080776E2:
str r1, [sp, 0x8]
adds r0, r5, 0
ldr r1, =sub_80D3014
bl sub_80D2CC4
bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x28
@ -705,7 +705,7 @@ _08077756:
str r0, [sp, 0x8]
adds r0, r5, 0
ldr r1, =sub_80D3014
bl sub_80D2CC4
bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x2E
@ -1264,7 +1264,7 @@ _08077CA8:
str r1, [sp, 0x8]
adds r0, r5, 0
ldr r1, =sub_80D3014
bl sub_80D2CC4
bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x28
@ -1323,7 +1323,7 @@ _08077D1E:
str r0, [sp, 0x8]
adds r0, r5, 0
ldr r1, =sub_80D3014
bl sub_80D2CC4
bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x2E

View File

@ -1,346 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_0858BBF8:: @ 858BBF8
.incbin "graphics/naming_screen/pc_icon/0.4bpp"
.align 2
gUnknown_0858BCB8:: @ 858BCB8
.incbin "graphics/naming_screen/pc_icon/1.4bpp"
.align 2
gUnknown_0858BD78:: @ 858BD78
.incbin "graphics/naming_screen/0.gbapal"
.incbin "graphics/naming_screen/1.gbapal"
.align 2
gUnknown_0858BDB8:: @ 858BDB8
.4byte gText_PkmnTransferredSomeonesPC
.4byte gText_PkmnTransferredLanettesPC
.4byte gText_PkmnBoxSomeonesPCFull
.4byte gText_PkmnBoxLanettesPCFull
gUnknown_0858BDC8:: @ 858BDC8
.string "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!$"
.align 2
gUnknown_0858BE00:: @ 858BE00
.4byte 0x000001e0, 0x000011d9, 0x000021ca, 0x000031ff
.align 2
gUnknown_0858BE10:: @ 858BE10
window_template 0x01, 0x03, 0x0a, 0x13, 0x08, 0x0a, 0x0030
window_template 0x02, 0x03, 0x0a, 0x13, 0x08, 0x0a, 0x00c8
window_template 0x03, 0x08, 0x06, 0x11, 0x02, 0x0a, 0x0030
window_template 0x03, 0x08, 0x04, 0x11, 0x02, 0x0a, 0x0052
window_template 0x00, 0x00, 0x00, 0x1e, 0x02, 0x0b, 0x0074
null_window_template
gUnknown_0858BE40:: @ 858BE40
.string "abcdef .ghijkl ,mnopqrs tuvwxyz ABCDEF .GHIJKL ,MNOPQRS TUVWXYZ 01234 56789 !?/- "
gUnknown_0858BEA0:: @ 858BEA0
.byte 0x08, 0x08, 0x06
gUnknown_0858BEA3:: @ 858BEA3
.byte 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x7b, 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x7b, 0x00, 0x16, 0x2c, 0x42, 0x58, 0x6e, 0x00, 0x00
gUnknown_0858BEBB:: @ 858BEBB
.byte 0x00, 0x02, 0x01
gUnknown_0858BEBE:: @ 858BEBE
.byte 0x01, 0x00, 0x02
gUnknown_0858BEC1:: @ 858BEC1
.byte 0x02, 0x01, 0x00
gUnknown_0858BEC4:: @ 858BEC4
.4byte sub_80E37B4
.4byte sub_80E37DC
.4byte sub_80E3870
.4byte sub_80E3904
gUnknown_0858BED4:: @ 858BED4
.2byte 0x0000, 0xfffc, 0xfffe, 0xffff
gUnknown_0858BEDC:: @ 858BEDC
.2byte 0x0002, 0x0003, 0x0002, 0x0001
gUnknown_0858BEE4:: @ 858BEE4
.byte 0x01, 0x02, 0x03, 0x00
gUnknown_0858BEE8:: @ 858BEE8
.4byte sub_80E40AC
.4byte sub_80E4100
.4byte sub_80E4104
.4byte sub_80E4178
gUnknown_0858BEF8:: @ 858BEF8
.2byte 0x0001, 0x0003, 0x0002
gUnknown_0858BEFE:: @ 858BEFE
.2byte 0x0004, 0x0006, 0x0005
gUnknown_0858BF04:: @ 858BF04
.4byte TaskDummy2
.4byte sub_80E4384
.4byte sub_80E43E0
.4byte sub_80E4420
.4byte sub_80E447C
gUnknown_0858BF18:: @ 858BF18
.4byte sub_80E450C
.4byte sub_80E4558
.4byte sub_80E4580
.4byte sub_80E45A4
gUnknown_0858BF28:: @ 858BF28
.4byte sub_80E468C
.4byte sub_80E4692
.4byte sub_80E46E8
gUnknown_0858BF34:: @ 858BF34
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0xff, 0x01, 0x00
gUnknown_0858BF3E:: @ 858BF3E
.byte 0x00, 0x00, 0xff, 0xff, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00
gUnknown_0858BF48:: @ 858BF48
.byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x00
gUnknown_0858BF50:: @ 858BF50
.byte 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
.align 2
gUnknown_0858BF58:: @ 858BF58
.4byte sub_80E4894
.4byte sub_80E4894
.4byte sub_80E48E8
.4byte sub_80E48E8
.4byte sub_80E4894
.align 2
gUnknown_0858BF6C:: @ 858BF6C
.4byte TaskDummy3
.4byte sub_80E49BC
.align 2
gUnknown_0858BF74:: @ 858BF74
window_template 0x00, 0x09, 0x08, 0x00, 0x05, 0x04, 0x0000
gUnknown_0858BF7C:: @ 858BF7C
.4byte 0x0002010D
gUnknown_0858BF80:: @ 858BF80
.4byte 0x0002010E
gUnknown_0858BF84:: @ 858BF84
.4byte 0x0002010F
gUnknown_0858BF88:: @ 858BF88
.byte 0xee, 0xdd, 0xff, 0x00
gUnknown_0858BF8C:: @ 858BF8C
.4byte gUnknown_0858BF80
.4byte gUnknown_0858BF7C
.4byte gUnknown_0858BF84
gUnknown_0858BF98:: @ 858BF98
.4byte gUnknown_08DD4620
.4byte gUnknown_08DD46E0
.4byte gUnknown_08DD47A0
gUnknown_0858BFA4:: @ 858BFA4
.byte 0x0f, 0x01, 0x02
.align 2
gUnknown_0858BFA8:: @ 858BFA8
.byte 0x00, 0x07, 0x01, 0x00, 0x01, 0x23, 0x00, 0x00
.4byte gText_YourName
.align 2
gUnknown_0858BFB4:: @ 858BFB4
.byte 0x00, 0x08, 0x02, 0x00, 0x01, 0x13, 0x00, 0x00
.4byte gText_BoxName
.align 2
gUnknown_0858BFC0:: @ 858BFC0
.byte 0x00, 0x0a, 0x03, 0x01, 0x01, 0x23, 0x00, 0x00
.4byte gText_PkmnsNickname
.align 2
gUnknown_0858BFCC:: @ 858BFCC
.byte 0x01, 0x0f, 0x04, 0x00, 0x01, 0x0b, 0x00, 0x00
.4byte gText_TellHimTheWords
.align 2
gUnknown_0858BFD8:: @ 858BFD8
.4byte gUnknown_0858BFA8
.4byte gUnknown_0858BFB4
.4byte gUnknown_0858BFC0
.4byte gUnknown_0858BFC0
.4byte gUnknown_0858BFCC
.align 2
gOamData_858BFEC:: @ 858BFEC
.2byte 0x0000, 0x0000, 0x0000, 0x0000
.align 2
gOamData_858BFF4:: @ 858BFF4
.2byte 0x0000, 0x4000, 0x0000, 0x0000
.align 2
gOamData_858BFFC:: @ 858BFFC
.2byte 0x4000, 0x8000, 0x0000, 0x0000
.align 2
gUnknown_0858C004:: @ 858C004
.byte 0xec, 0xf0, 0x05, 0x40, 0x0c, 0xf0, 0x40, 0x40, 0xec, 0xf8, 0x55, 0x40, 0x0c, 0xf8, 0x90, 0x40, 0xec, 0x00, 0xa5, 0x40, 0x0c, 0x00, 0xe0, 0x40, 0xec, 0x08, 0xf5, 0x40, 0x0c, 0x08, 0x30, 0x41
.align 2
gUnknown_0858C024:: @ 858C024
.byte 0xf4, 0xfc, 0x01, 0x40, 0x04, 0xfc, 0x20, 0x40
.align 2
gUnknown_0858C02C:: @ 858C02C
.byte 0xec, 0xf4, 0x05, 0x40, 0x0c, 0xf4, 0x40, 0x40, 0xec, 0xfc, 0x55, 0x40, 0x0c, 0xfc, 0x90, 0x40, 0xec, 0x04, 0xa5, 0x40, 0x0c, 0x04, 0xe0, 0x40
.align 2
gUnknown_0858C044:: @ 858C044
.byte 0xf8, 0xf4, 0x01, 0xc0, 0xf8, 0xfc, 0x21, 0xc0, 0xf8, 0x04, 0x41, 0xc0
.align 2
gUnknown_0858C050:: @ 858C050
.byte 0x08, 0x00, 0x00, 0x00
.4byte gUnknown_0858C004
.align 2
gUnknown_0858C058:: @ 858C058
.4byte 0x02
.4byte gUnknown_0858C024
.4byte 0x02
.4byte gUnknown_0858C024
.4byte 0x02
.4byte gUnknown_0858C024
.align 2
gUnknown_0858C070:: @ 858C070
.4byte 0x06
.4byte gUnknown_0858C02C
.align 2
gUnknown_0858C078:: @ 858C078
.4byte 0x03
.4byte gUnknown_0858C044
.align 2
gUnknown_0858C080:: @ 858C080
obj_frame_tiles gUnknown_0858BBF8, 0x00c0
obj_frame_tiles gUnknown_0858BCB8, 0x00c0
.align 2
gSpriteAnim_858C090:: @ 858C090
.2byte 0x0000, 0x0001, 0xfffe, 0x0000
.align 2
gSpriteAnim_858C098:: @ 858C098
.2byte 0x0004, 0x0008, 0x0008, 0x0008, 0xffff, 0x0000
.align 2
gSpriteAnim_858C0A4:: @ 858C0A4
.2byte 0x0000, 0x0002, 0x0001, 0x0002, 0xfffe, 0x0000
.align 2
gSpriteAnimTable_858C0B0:: @ 858C0B0
.4byte gSpriteAnim_858C090
.align 2
gSpriteAnimTable_858C0B4:: @ 858C0B4
.4byte gSpriteAnim_858C090
.4byte gSpriteAnim_858C098
.align 2
gSpriteAnimTable_858C0BC:: @ 858C0BC
.4byte gSpriteAnim_858C0A4
.align 2
gUnknown_0858C0C0:: @ 858C0C0
spr_template 0x0002, 0x0004, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, sub_80E4084
.align 2
gUnknown_0858C0D8:: @ 858C0D8
spr_template 0x0003, 0x0001, gOamData_858BFFC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_0858C0F0:: @ 858C0F0
spr_template 0x0004, 0x0004, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_0858C108:: @ 858C108
spr_template 0x0000, 0x0006, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_0858C120:: @ 858C120
spr_template 0x0001, 0x0007, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_0858C138:: @ 858C138
spr_template 0x0007, 0x0005, gOamData_858BFF4, gSpriteAnimTable_858C0B4, NULL, gDummySpriteAffineAnimTable, sub_80E3B30
.align 2
gUnknown_0858C150:: @ 858C150
spr_template 0x000a, 0x0003, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, sub_80E3C20
.align 2
gUnknown_0858C168:: @ 858C168
spr_template 0x000b, 0x0003, gOamData_858BFEC, gSpriteAnimTable_858C0B0, NULL, gDummySpriteAffineAnimTable, sub_80E3C6C
.align 2
gUnknown_0858C180:: @ 858C180
spr_template 0xffff, 0x0000, gOamData_858BFEC, gSpriteAnimTable_858C0BC, gUnknown_0858C080, gDummySpriteAffineAnimTable, SpriteCallbackDummy
.align 2
gUnknown_0858C198:: @ 858C198
.4byte gUnknown_0862B88D
.4byte gUnknown_0862B8AE
.4byte gUnknown_0862B8CF
.4byte gUnknown_0862B8F0
.4byte gUnknown_0862B911
.4byte gUnknown_0862B932
.4byte gUnknown_0862B953
.4byte gUnknown_0862B974
.4byte gUnknown_0862B995
.4byte gUnknown_0862B9AE
.4byte gUnknown_0862B9C7
.4byte gUnknown_0862B9E0
.align 2
gUnknown_0858C1C8:: @ 858C1C8
obj_tiles gNamingScreenRWindow_Gfx+0x280, 0x01e0, 0x0000
obj_tiles gNamingScreenRWindow_Gfx+0x460, 0x01e0, 0x0001
obj_tiles gNamingScreenRWindow_Gfx, 0x0280, 0x0002
obj_tiles gNamingScreenKeyboardButton_Gfx+0x20, 0x0100, 0x0003
obj_tiles gNamingScreenROptions_Gfx, 0x0060, 0x0004
obj_tiles gNamingScreenROptions_Gfx+0xA0, 0x0060, 0x0005
obj_tiles gNamingScreenROptions_Gfx+0x140, 0x0060, 0x0006
obj_tiles gNamingScreenCursor_Gfx, 0x0080, 0x0007
obj_tiles gNamingScreenCursor_Gfx+0xA0, 0x0080, 0x0008
obj_tiles gNamingScreenCursor_Gfx+0x140, 0x0080, 0x0009
obj_tiles gNamingScreenRightPointingTriangleTiles, 0x0020, 0x000a
obj_tiles gNamingScreenUnderscoreTiles, 0x0020, 0x000b
null_obj_tiles
.align 2
gUnknown_0858C230:: @ 858C230
obj_pal gNamingScreenMenu_Pal, 0x0000
obj_pal gNamingScreenMenu_Pal+0x20, 0x0001
obj_pal gNamingScreenMenu_Pal+0x40, 0x0002
obj_pal gNamingScreenMenu_Pal+0x60, 0x0003
obj_pal gNamingScreenMenu_Pal+0x80, 0x0004
obj_pal gNamingScreenMenu_Pal+0xA0, 0x0005
obj_pal gNamingScreenMenu_Pal+0x80, 0x0006
obj_pal gNamingScreenMenu_Pal+0x80, 0x0007
null_obj_pal

Binary file not shown.

Before

Width:  |  Height:  |  Size: 538 B

After

Width:  |  Height:  |  Size: 530 B

View File

@ -300,9 +300,6 @@ $(FONTGFXDIR)/keypad_icons.4bpp: %.4bpp: %.png
graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal
$(GFX) $< $@ -num_colors 224
graphics/intro/copyright.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 39
graphics/link_games/pkmnjump_bg.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 63

View File

@ -78,5 +78,6 @@ void FieldEffectStop(struct Sprite *sprite, u8 id);
u8 CreateTrainerSprite(u8 trainerSpriteID, s16 x, s16 y, u8 subpriority, u8 *buffer);
void sub_80B7FC8(void);
void FieldEffectActiveListRemove(u8 id);
void MultiplyInvertedPaletteRGBComponents(u16, u8, u8, u8);
#endif //GUARD_FIELD_EFFECTS_H

View File

@ -34,5 +34,6 @@ void sub_808BCE8(void);
void sub_808D074(u8);
void GetXYCoordsOneStepInFrontOfPlayer(s16 *xPtr, s16 *yPtr);
u8 GetRivalAvatarGraphicsIdByStateIdAndGender(u8, u8);
#endif //GUARD_FIELD_PLAYER_AVATAR_H

View File

@ -2,5 +2,7 @@
#define GUARD_FIELD_SPECIALS_H
u8 GetLeadMonIndex(void);
u8 sub_813B260(void);
u16 get_unknown_box_id(void);
#endif // GUARD_FIELD_SPECIALS_H

View File

@ -122,6 +122,27 @@
#define DmaFillLarge32(dmaNum, value, dest, size, block) DmaFillLarge(dmaNum, value, dest, size, block, 32)
#define DmaClearLarge(dmaNum, dest, size, block, bit) \
{ \
void *_dest = dest; \
u32 _size = size; \
while (1) \
{ \
DmaFill##bit(dmaNum, 0, _dest, (block)); \
_dest += (block); \
_size -= (block); \
if (_size <= (block)) \
{ \
DmaFill##bit(dmaNum, 0, _dest, _size); \
break; \
} \
} \
}
#define DmaClearLarge16(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 16)
#define DmaClearLarge32(dmaNum, dest, size, block) DmaClearLarge(dmaNum, dest, size, block, 32)
#define DmaCopyDefvars(dmaNum, src, dest, size, bit) \
{ \
const void *_src = src; \

View File

@ -60,5 +60,7 @@ void SetSerialCallback(IntrCallback callback);
void InitFlashTimer(void);
void DoSoftReset(void);
void ClearPokemonCrySongs(void);
void StartTimer1(void);
void SeedRngAndSetTrainerId(void);
#endif // GUARD_MAIN_H

View File

@ -1,12 +1,91 @@
#ifndef GUARD_NAMING_SCREEN_H
#define GUARD_NAMING_SCREEN_H
#define NAMING_SCREEN_PLAYER 0
#define NAMING_SCREEN_BOX 1
#define NAMING_SCREEN_CAUGHT_MON 2
#define NAMING_SCREEN_3 3
#define NAMING_SCREEN_WALDA 4
#include "main.h"
void DoNamingScreen(u8 caseId, u8* dst, u16 monSpecies, u8 monGender, u32 monPersonality, void (*callback)(void));
#define KBEVENT_NONE 0
#define KBEVENT_PRESSED_A 5
#define KBEVENT_PRESSED_B 6
#define KBEVENT_PRESSED_SELECT 8
#define KBEVENT_PRESSED_START 9
enum
{
NAMING_SCREEN_PLAYER,
NAMING_SCREEN_BOX,
NAMING_SCREEN_CAUGHT_MON,
NAMING_SCREEN_3,
NAMING_SCREEN_WALDA,
};
struct NamingScreenTemplate
{
u8 unk0;
u8 maxChars;
u8 unk2;
u8 unk3;
u8 unk4; //mode?
u8 unk5;
u8 unk6;
u8 unk7;
const u8 *title;
};
struct NamingScreenData {
/*0x0*/ u8 tilemapBuffer1[0x800];
/*0x800*/ u8 tilemapBuffer2[0x800];
/*0x800*/ u8 tilemapBuffer3[0x800];
/*0x1800*/ u8 textBuffer[0x10];
/*0x1810*/ u8 tileBuffer[0x600];
/*0x1E10*/ u8 state;
/*0x1E11*/ u8 windows[5];
/*0x1E16*/ u16 unk1E16;
/*0x1E18*/ u16 bg1vOffset;
/*0x1E1A*/ u16 bg2vOffset;
/*0x1E1C*/ u16 unk1E1C;
/*0x1E1E*/ u16 unk1E1E;
/*0x1E20*/ u8 unk1E20;
/*0x1E21*/ u8 unk1E21;
/*0x1E22*/ u8 currentPage;
/*0x1E23*/ u8 cursorSpriteId;
/*0x1E24*/ u8 unk1E24;
/*0x1E25*/ u8 unk1E25;
/*0x1E28*/ const struct NamingScreenTemplate *template;
/*0x1E2C*/ u8 templateNum;
/*0x1E30*/ u8 *destBuffer;
/*0x1E34*/ u16 unk1E34;
/*0x1E36*/ u16 unk1E36;
/*0x1E38*/ u32 unk1E38;
/*0x1E3C*/ MainCallback returnCallback;
};
enum
{
PAGE_UPPER,
PAGE_LOWER,
PAGE_OTHERS,
};
enum
{
MAIN_STATE_BEGIN_FADE_IN,
MAIN_STATE_WAIT_FADE_IN,
MAIN_STATE_HANDLE_INPUT,
MAIN_STATE_MOVE_TO_OK_BUTTON,
MAIN_STATE_START_PAGE_SWAP,
MAIN_STATE_WAIT_PAGE_SWAP,
MAIN_STATE_6,
MAIN_STATE_UPDATE_SENT_TO_PC_MESSAGE,
MAIN_STATE_BEGIN_FADE_OUT,
};
enum
{
INPUT_STATE_DISABLED,
INPUT_STATE_ENABLED,
INPUT_STATE_2,
};
void DoNamingScreen(u8 templateNum, u8 *destBuffer, u16 monSpecies, u16 monGender, u32 monPersonality, MainCallback returnCallback);
#endif // GUARD_NAMING_SCREEN_H

View File

@ -4,6 +4,8 @@
#include "text.h"
#include "task.h"
void sub_81971D0(void);
void sub_8197200(void);
void sub_81973A4(void);
void sub_81973C4(u8, u8);
void sub_819746C(u8 windowId, bool8 copyToVram);

View File

@ -5,9 +5,11 @@ const u8 *GetMonIconPtr(u16 speciesId, u32 personality, u32 frameNo);
const u16 *GetValidMonIconPalettePtr(u16 speciesId);
u16 GetUnownLetterByPersonality(u32 personality);
u16 sub_80D2E84(u16 speciesId);
void sub_80D2F04(void);
void sub_80D2F68(u16 iconId);
u8 sub_80D2D78(u16 iconId, void callback(struct Sprite *), u16 x, u16 y, u16 a4, u8 a5);
void sub_80D2FF0(u16 iconId);
void sub_80D2EF8(struct Sprite *sprite);
u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality, int a7);
#endif // GUARD_POKEMON_ICON_H

View File

@ -199,4 +199,7 @@ extern const u8 gText_Frame[];
extern const u8 gText_OptionMenuCancel[];
extern const u8 gText_ButtonMode[];
extern const u8 gText_MaleSymbol[];
extern const u8 gText_FemaleSymbol[];
#endif //GUARD_STRINGS_H

View File

@ -185,6 +185,13 @@ struct __attribute__((packed)) TextColor
u8 shadowColor;
};
struct AlignedTextColor // because sometimes it's necessary
{
u8 fgColor;
u8 bgColor;
u8 shadowColor;
};
extern u8 gStringVar1[];
extern u8 gStringVar2[];
extern u8 gStringVar3[];

View File

@ -147,7 +147,7 @@ SECTIONS {
asm/shop.o(.text);
src/berry.o(.text);
asm/script_menu.o(.text);
asm/naming_screen.o(.text);
src/naming_screen.o(.text);
src/money.o(.text);
asm/contest_effect.o(.text);
asm/record_mixing.o(.text);
@ -440,7 +440,7 @@ SECTIONS {
data/shop.o(.rodata);
src/berry.o(.rodata);
data/script_menu.o(.rodata);
data/naming_screen.o(.rodata);
src/naming_screen.o(.rodata);
src/money.o(.rodata);
data/contest_effect.o(.rodata);
data/record_mixing.o(.rodata);

2177
src/naming_screen.c Normal file

File diff suppressed because it is too large Load Diff

View File

@ -945,7 +945,7 @@ gUnknown_02039F8C: @ 2039F8C
gUnknown_02039F90: @ 2039F90
.space 0x4
gUnknown_02039F94: @ 2039F94
gNamingScreenData: @ 2039F94
.space 0x4
.include "src/money.o"