summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2017-12-18 19:16:44 -0500
committerPikalaxALT <pikalaxalt@gmail.com>2017-12-18 19:16:44 -0500
commit3196def6040f9f376881a0be000789e751030089 (patch)
treeb9ebb4227aaafd4a720cff5ea059fd3a8616d73b
parent056c37152abc109418a938d8c878b8d771cb8f78 (diff)
Decompile data: naming_screen
-rw-r--r--data/naming_screen.s169
-rw-r--r--include/graphics.h15
-rw-r--r--ld_script.txt1
-rw-r--r--src/engine/naming_screen.c167
4 files changed, 177 insertions, 175 deletions
diff --git a/data/naming_screen.s b/data/naming_screen.s
deleted file mode 100644
index 60aba1345..000000000
--- a/data/naming_screen.s
+++ /dev/null
@@ -1,169 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gSubspriteTable_83CE4B0:: @ 83CE4B0
- subsprite -20, -16, 1, 0, 32x8
- subsprite 12, -16, 1, 4, 8x8
- subsprite -20, -8, 1, 5, 32x8
- subsprite 12, -8, 1, 9, 8x8
- subsprite -20, 0, 1, 10, 32x8
- subsprite 12, 0, 1, 14, 8x8
- subsprite -20, 8, 1, 15, 32x8
- subsprite 12, 8, 1, 19, 8x8
-
-@ unreferenced
- .align 2
-gSubspriteTable_83CE4F0:: @ 83CE4F0
- subsprite -12, -4, 1, 0, 8x8
- subsprite 4, -4, 1, 1, 8x8
-
- .align 2
-gSubspriteTable_83CE500:: @ 83CE500
- subsprite -12, -4, 1, 0, 16x8
- subsprite 4, -4, 1, 2, 8x8
-
- .align 2
-gSubspriteTable_83CE510:: @ 83CE510
- subsprite -20, -12, 1, 0, 32x8
- subsprite 12, -12, 1, 4, 8x8
- subsprite -20, -4, 1, 5, 32x8
- subsprite 12, -4, 1, 9, 8x8
- subsprite -20, 4, 1, 10, 32x8
- subsprite 12, 4, 1, 14, 8x8
-
- .align 2
-gSubspriteTable_83CE540:: @ 83CE540
- subsprite -8, -12, 3, 0, 16x8
- subsprite -8, -4, 3, 2, 16x8
- subsprite -8, 4, 3, 4, 16x8
-
- .align 2
-gSubspriteTables_83CE558:: @ 83CE558
- .4byte 8, gSubspriteTable_83CE4B0
-
- .align 2
-gSubspriteTables_83CE560:: @ 83CE560
- .4byte 2, gSubspriteTable_83CE500
- .4byte 2, gSubspriteTable_83CE500
- .4byte 2, gSubspriteTable_83CE500
-
- .align 2
-gSubspriteTables_83CE578:: @ 83CE578
- .4byte 6, gSubspriteTable_83CE510
-
- .align 2
-gSubspriteTables_83CE580:: @ 83CE580
- .4byte 3, gSubspriteTable_83CE540
-
- .align 2
-gSpriteImageTable_83CE588:: @ 83CE588
- obj_frame_tiles gSpriteImage_83CE094, 0xc0
- obj_frame_tiles gSpriteImage_83CE154, 0xc0
-
- .align 2
-gSpriteAnim_83CE598:: @ 83CE598
- obj_image_anim_frame 0, 1
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnim_83CE5A0:: @ 83CE5A0
- obj_image_anim_frame 4, 8
- obj_image_anim_frame 8, 8
- obj_image_anim_end
-
- .align 2
-gSpriteAnim_83CE5AC:: @ 83CE5AC
- obj_image_anim_frame 0, 2
- obj_image_anim_frame 1, 2
- obj_image_anim_jump 0
-
- .align 2
-gSpriteAnimTable_83CE5B8:: @ 83CE5B8
- .4byte gSpriteAnim_83CE598
-
- .align 2
-gSpriteAnimTable_83CE5BC:: @ 83CE5BC
- .4byte gSpriteAnim_83CE598
- .4byte gSpriteAnim_83CE5A0
-
- .align 2
-gSpriteAnimTable_83CE5C4:: @ 83CE5C4
- .4byte gSpriteAnim_83CE5AC
-
- .align 2
-gSpriteTemplate_83CE5C8:: @ 83CE5C8
- spr_template 2, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6B34
-
- .align 2
-gSpriteTemplate_83CE5E0:: @ 83CE5E0
- spr_template 3, 1, gOamData_83CE4A8, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CE5F8:: @ 83CE5F8
- spr_template 4, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CE610:: @ 83CE610
- spr_template 0, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CE628:: @ 83CE628
- spr_template 1, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gSpriteTemplate_83CE640:: @ 83CE640
- spr_template 7, 5, gOamData_83CE4A0, gSpriteAnimTable_83CE5BC, NULL, gDummySpriteAffineAnimTable, sub_80B6998
-
- .align 2
-gSpriteTemplate_83CE658:: @ 83CE658
- spr_template 10, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6D9C
-
- .align 2
-gSpriteTemplate_83CE670:: @ 83CE670
- spr_template 11, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6DE8
-
- .align 2
-gSpriteTemplate_83CE688:: @ 83CE688
- spr_template 0xFFFF, 0, gOamData_83CE498, gSpriteAnimTable_83CE5C4, gSpriteImageTable_83CE588, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_083CE6A0:: @ 83CE6A0
- obj_tiles gNamingScreenBackButtonTiles, 0x1E0, 0
- obj_tiles gNamingScreenOKButtonTiles, 0x1E0, 1
- obj_tiles gNamingScreenChangeKeyboardBoxTiles, 0x280, 2
- obj_tiles gNamingScreenChangeKeyboardButtonTiles, 0x100, 3
- obj_tiles gNamingScreenLowerTextTiles, 0x60, 4
- obj_tiles gNamingScreenUpperTextTiles, 0x60, 5
- obj_tiles gNamingScreenOthersTextTiles, 0x60, 6
- obj_tiles gNamingScreenCursorTiles, 0x80, 7
- obj_tiles gNamingScreenActiveCursorSmallTiles, 0x80, 8
- obj_tiles gNamingScreenActiveCursorBigTiles, 0x80, 9
- obj_tiles gNamingScreenRightPointingTriangleTiles, 0x20, 10
- obj_tiles gNamingScreenUnderscoreTiles, 0x20, 11
- null_obj_tiles
-
- .align 2
-gUnknown_083CE708:: @ 83CE708
- obj_pal gNamingScreenPalettes + 0x20 * 0, 0
- obj_pal gNamingScreenPalettes + 0x20 * 1, 1
- obj_pal gNamingScreenPalettes + 0x20 * 2, 2
- obj_pal gNamingScreenPalettes + 0x20 * 3, 3
- obj_pal gNamingScreenPalettes + 0x20 * 4, 4
- obj_pal gNamingScreenPalettes + 0x20 * 5, 5
- obj_pal gNamingScreenPalettes + 0x20 * 4, 6
- null_obj_pal
-
- .align 2
-gUnknown_083CE748:: @ 83CE748
- .incbin "graphics/naming_screen/lower_keyboard_map.bin"
-
- .align 2
-gUnknown_083CEBF8:: @ 83CEBF8
- .incbin "graphics/naming_screen/upper_keyboard_map.bin"
-
- .align 2
-gUnknown_083CF0A8:: @ 83CF0A8
- .incbin "graphics/naming_screen/others_keyboard_map.bin"
diff --git a/include/graphics.h b/include/graphics.h
index 7c23e90ab..07ee1f76c 100644
--- a/include/graphics.h
+++ b/include/graphics.h
@@ -2611,4 +2611,19 @@ extern const u16 gTradeMonBoxTilemap[];
extern const u8 gUnknown_08D00000[];
extern const u16 gUnknown_08D00524[];
extern const u8 gUnknown_08D004E0[];
+
+extern const u8 gNamingScreenBackButtonTiles[];
+extern const u8 gNamingScreenOKButtonTiles[];
+extern const u8 gNamingScreenChangeKeyboardBoxTiles[];
+extern const u8 gNamingScreenChangeKeyboardButtonTiles[];
+extern const u8 gNamingScreenLowerTextTiles[];
+extern const u8 gNamingScreenUpperTextTiles[];
+extern const u8 gNamingScreenOthersTextTiles[];
+extern const u8 gNamingScreenCursorTiles[];
+extern const u8 gNamingScreenActiveCursorSmallTiles[];
+extern const u8 gNamingScreenActiveCursorBigTiles[];
+extern const u8 gNamingScreenRightPointingTriangleTiles[];
+extern const u8 gNamingScreenUnderscoreTiles[];
+extern const u16 gNamingScreenPalettes[][16];
+
#endif // GUARD_GRAPHICS_H
diff --git a/ld_script.txt b/ld_script.txt
index f502d1097..0b7370866 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -522,7 +522,6 @@ SECTIONS {
src/field/berry.o(.rodata);
src/field/script_menu.o(.rodata);
src/engine/naming_screen.o(.rodata);
- data/naming_screen.o(.rodata);
src/field/money.o(.rodata);
data/contest_effect.o(.rodata);
src/engine/record_mixing.o(.data);
diff --git a/src/engine/naming_screen.c b/src/engine/naming_screen.c
index 6bad83593..440504d5a 100644
--- a/src/engine/naming_screen.c
+++ b/src/engine/naming_screen.c
@@ -1,6 +1,7 @@
#include "global.h"
#include "naming_screen.h"
#include "data2.h"
+#include "graphics.h"
#include "field_effect.h"
#include "field_map_obj.h"
#include "field_player_avatar.h"
@@ -29,12 +30,11 @@ extern u16 gKeyRepeatStartDelay;
extern u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u8 subpriority, u32 personality);
-const u32 gSpriteImage_83CE094[] = INCBIN_U32("graphics/naming_screen/pc_icon/0.4bpp");
-const u32 gSpriteImage_83CE154[] = INCBIN_U32("graphics/naming_screen/pc_icon/1.4bpp");
+const u8 gSpriteImage_83CE094[] = INCBIN_U8("graphics/naming_screen/pc_icon/0.4bpp");
+const u8 gSpriteImage_83CE154[] = INCBIN_U8("graphics/naming_screen/pc_icon/1.4bpp");
struct NamingScreenData *const namingScreenDataPtr = &namingScreenData;
-extern u16 *const gUnknown_083CE28C[];
extern const struct SubspriteTable gSubspriteTables_83CE558[];
extern const struct SubspriteTable gSubspriteTables_83CE560[];
extern const struct SubspriteTable gSubspriteTables_83CE578[];
@@ -51,7 +51,6 @@ extern const struct SpriteTemplate gSpriteTemplate_83CE688;
extern const struct SpriteSheet gUnknown_083CE6A0[];
extern const struct SpritePalette gUnknown_083CE708[];
extern const u8 gNamingScreenMenu_Gfx[];
-extern const u16 gNamingScreenPalettes[];
extern const u16 gUnknown_083CE748[];
extern const u16 gUnknown_083CEBF8[];
extern const u16 gUnknown_083CF0A8[];
@@ -2030,4 +2029,162 @@ const struct OamData gOamData_83CE4A8 =
.affineParam = 0,
};
-//TODO: dump sprite data
+
+const struct Subsprite gSubspriteTable_83CE4B0[] = {
+ { -20, -16, ST_OAM_H_RECTANGLE, 1, 0, 1 },
+ { 12, -16, ST_OAM_SQUARE, 0, 4, 1 },
+ { -20, -8, ST_OAM_H_RECTANGLE, 1, 5, 1 },
+ { 12, -8, ST_OAM_SQUARE, 0, 9, 1 },
+ { -20, 0, ST_OAM_H_RECTANGLE, 1, 10, 1 },
+ { 12, 0, ST_OAM_SQUARE, 0, 14, 1 },
+ { -20, 8, ST_OAM_H_RECTANGLE, 1, 15, 1 },
+ { 12, 8, ST_OAM_SQUARE, 0, 19, 1 }
+};
+
+const struct Subsprite gSubspriteTable_83CE4F0[] = {
+ { -12, -4, ST_OAM_SQUARE, 0, 0, 1 },
+ { 4, -4, ST_OAM_SQUARE, 0, 1, 1 }
+};
+
+const struct Subsprite gSubspriteTable_83CE500[] = {
+ { -12, -4, ST_OAM_H_RECTANGLE, 0, 0, 1 },
+ { 4, -4, ST_OAM_SQUARE, 0, 2, 1 }
+};
+
+const struct Subsprite gSubspriteTable_83CE510[] = {
+ { -20, -12, ST_OAM_H_RECTANGLE, 1, 0, 1 },
+ { 12, -12, ST_OAM_SQUARE, 0, 4, 1 },
+ { -20, -4, ST_OAM_H_RECTANGLE, 1, 5, 1 },
+ { 12, -4, ST_OAM_SQUARE, 0, 9, 1 },
+ { -20, 4, ST_OAM_H_RECTANGLE, 1, 10, 1 },
+ { 12, 4, ST_OAM_SQUARE, 0, 14, 1 }
+};
+
+const struct Subsprite gSubspriteTable_83CE540[] = {
+ { -8, -12, ST_OAM_H_RECTANGLE, 0, 0, 3 },
+ { -8, -4, ST_OAM_H_RECTANGLE, 0, 2, 3 },
+ { -8, 4, ST_OAM_H_RECTANGLE, 0, 4, 3 }
+};
+
+const struct SubspriteTable gSubspriteTables_83CE558[] = {
+ { 8, gSubspriteTable_83CE4B0 }
+};
+
+const struct SubspriteTable gSubspriteTables_83CE560[] = {
+ { 2, gSubspriteTable_83CE500 },
+ { 2, gSubspriteTable_83CE500 },
+ { 2, gSubspriteTable_83CE500 }
+};
+
+const struct SubspriteTable gSubspriteTables_83CE578[] = {
+ { 6, gSubspriteTable_83CE510 }
+};
+
+const struct SubspriteTable gSubspriteTables_83CE580[] = {
+ { 3, gSubspriteTable_83CE540 }
+};
+
+const struct SpriteFrameImage gSpriteImageTable_83CE588[] = {
+ { gSpriteImage_83CE094, 0xc0 },
+ { gSpriteImage_83CE154, 0xc0 }
+};
+
+const union AnimCmd gSpriteAnim_83CE598[] = {
+ ANIMCMD_FRAME(0, 1),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd gSpriteAnim_83CE5A0[] = {
+ ANIMCMD_FRAME(4, 8),
+ ANIMCMD_FRAME(8, 8),
+ ANIMCMD_END
+};
+
+const union AnimCmd gSpriteAnim_83CE5AC[] = {
+ ANIMCMD_FRAME(0, 2),
+ ANIMCMD_FRAME(1, 2),
+ ANIMCMD_JUMP(0)
+};
+
+const union AnimCmd *const gSpriteAnimTable_83CE5B8[] = {
+ gSpriteAnim_83CE598
+};
+
+const union AnimCmd *const gSpriteAnimTable_83CE5BC[] = {
+ gSpriteAnim_83CE598,
+ gSpriteAnim_83CE5A0
+};
+
+const union AnimCmd *const gSpriteAnimTable_83CE5C4[] = {
+ gSpriteAnim_83CE5AC
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CE5C8 = {
+ 2, 4, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6B34
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CE5E0 = {
+ 3, 1, &gOamData_83CE4A8, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CE5F8 = {
+ 4, 4, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CE610 = {
+ 0, 6, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CE628 = {
+ 1, 6, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CE640 = {
+ 7, 5, &gOamData_83CE4A0, gSpriteAnimTable_83CE5BC, NULL, gDummySpriteAffineAnimTable, sub_80B6998
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CE658 = {
+ 10, 3, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6D9C
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CE670 = {
+ 11, 3, &gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6DE8
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CE688 = {
+ 0xFFFF, 0, &gOamData_83CE498, gSpriteAnimTable_83CE5C4, gSpriteImageTable_83CE588, gDummySpriteAffineAnimTable, SpriteCallbackDummy
+};
+
+const struct SpriteSheet gUnknown_083CE6A0[] = {
+ { gNamingScreenBackButtonTiles, 0x1E0, 0 },
+ { gNamingScreenOKButtonTiles, 0x1E0, 1 },
+ { gNamingScreenChangeKeyboardBoxTiles, 0x280, 2 },
+ { gNamingScreenChangeKeyboardButtonTiles, 0x100, 3 },
+ { gNamingScreenLowerTextTiles, 0x60, 4 },
+ { gNamingScreenUpperTextTiles, 0x60, 5 },
+ { gNamingScreenOthersTextTiles, 0x60, 6 },
+ { gNamingScreenCursorTiles, 0x80, 7 },
+ { gNamingScreenActiveCursorSmallTiles, 0x80, 8 },
+ { gNamingScreenActiveCursorBigTiles, 0x80, 9 },
+ { gNamingScreenRightPointingTriangleTiles, 0x20, 10 },
+ { gNamingScreenUnderscoreTiles, 0x20, 11 },
+ {}
+};
+
+const struct SpritePalette gUnknown_083CE708[] = {
+ {gNamingScreenPalettes[0], 0},
+ {gNamingScreenPalettes[1], 1},
+ {gNamingScreenPalettes[2], 2},
+ {gNamingScreenPalettes[3], 3},
+ {gNamingScreenPalettes[4], 4},
+ {gNamingScreenPalettes[5], 5},
+ {gNamingScreenPalettes[4], 6},
+ {}
+};
+
+const u16 gUnknown_083CE748[] = INCBIN_U16("graphics/naming_screen/lower_keyboard_map.bin");
+
+const u16 gUnknown_083CEBF8[] = INCBIN_U16("graphics/naming_screen/upper_keyboard_map.bin");
+
+const u16 gUnknown_083CF0A8[] = INCBIN_U16("graphics/naming_screen/others_keyboard_map.bin");
+