summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/matsuda_debug_menu.s201
-rw-r--r--data/tileset_anim.s637
-rw-r--r--include/matsuda_debug_menu.h26
-rw-r--r--ld_script.txt4
-rw-r--r--src/debug/matsuda_debug_menu.c250
-rw-r--r--src/engine/tileset_anim.c425
6 files changed, 625 insertions, 918 deletions
diff --git a/data/matsuda_debug_menu.s b/data/matsuda_debug_menu.s
deleted file mode 100644
index c4f7adcb7..000000000
--- a/data/matsuda_debug_menu.s
+++ /dev/null
@@ -1,201 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
-@ 83C9150
- .string "テストです$" @ "test"
-
-gMatsudaDebugMenu_ActionContestText:
- .string "Contest$"
-
-gMatsudaDebugMenu_ActionContestResultsText:
- .string "Contest results$"
- .string "パラメータへんこう$" @ "Change parameter"
- .string "わざ へんこう$" @ "Change move"
-
-gMatsudaDebugMenu_ActionContestCommText:
- .string "Contest (comm.)$"
-
-gMatsudaDebugMenu_ActionCommTestText:
- .string "Init comm. data$"
-
-gMatsudaDebugMenu_ActionSetHighScoreText:
- .string "Set highest score$"
-
-gMatsudaDebugMenu_ActionResetHighScoreText:
- .string "Reset highest score$"
-
-gMatsudaDebugMenu_ActionSetAllArtMuseumText:
- .string "Set all art museum items$"
-
- .align 2
-gMatsudaDebugMenuActions:: @ 83C91F0
- .4byte gMatsudaDebugMenu_ActionContestText, MatsudaDebugMenu_Contest
- .4byte gMatsudaDebugMenu_ActionContestResultsText, MatsudaDebugMenu_ContestResults
- .4byte gMatsudaDebugMenu_ActionContestCommText, MatsudaDebugMenu_ContestComm
- .4byte gMatsudaDebugMenu_ActionCommTestText, MatsudaDebugMenu_CommTest
- .4byte gMatsudaDebugMenu_ActionSetHighScoreText, MatsudaDebugMenu_SetHighScore
- .4byte gMatsudaDebugMenu_ActionResetHighScoreText, MatsudaDebugMenu_ResetHighScore
- .4byte gMatsudaDebugMenu_ActionSetAllArtMuseumText, MatsudaDebugMenu_SetArtMuseumItems
-
-gMatsudaDebugMenu_UnknownByteArray:: @ 83C9228
- .byte 0xFC, 0x02, 0x0F, 0x00, 0xFF
-
-Unknown_083C922D:
- .incbin "graphics/unknown/ball.4bpp"
-
- .align 1
-Unknown_083C924E:
- .incbin "graphics/unknown/ball.gbapal"
-
-gUnknown_083C926E:: @ 83C926E
- .byte 2, 0
- .byte 17, 0
- .byte 2, 2
- .byte 17, 2
-
-gMatsudaDebugMenuContestTopLeft:: @ 83C9276
- .byte 0, 6
- .byte 15, 6
- .byte 0, 8
- .byte 15, 8
- .byte 0, 10
- .byte 15, 10
-
-gUnknown_083C9282:: @ 83C9282
- .byte 7, 6
- .byte 22, 6
- .byte 7, 8
- .byte 22, 8
- .byte 7, 10
- .byte 22, 10
-
-gUnknown_083C928E:: @ 83C928E
- .byte 2, 14
- .byte 17, 14
- .byte 2, 16
- .byte 17, 16
-
-gUnknown_083C9296:: @ 83C9296
- .byte 0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88
-
-gUnknown_083C92A8:: @ 83C92A8
- .byte 0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98
-
- .align 2
-gUnknown_083C92B4:: @ 83C92B4
- obj_tiles Unknown_083C922D, 32, 0x04b0
-
- .align 2
-gUnknown_083C92BC:: @ 83C92BC
- obj_pal Unknown_083C924E, 0x04B0
-
- .align 2
-gOamData_83C92C4:: @ 83C92C4
- .2byte 0x0000
- .2byte 0x0000
- .2byte 0x0000
-
- .align 2
-gSpriteTemplate_83C92CC:: @ 83C92CC
- spr_template 1200, 1200, gOamData_83C92C4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80AA754
-
- .align 2
-gUnknown_083C92E4:: @ 83C92E4
- .4byte sub_80AA8C8
- .4byte sub_80AA8D8
- .4byte sub_80AA8E8
- .4byte sub_80AA8F8
- .4byte sub_80AAC5C
- .4byte sub_80AAC5C
- .4byte sub_80AA930
- .4byte sub_80AA974
- .4byte sub_80AA9B8
- .4byte sub_80AA9FC
- .4byte sub_80AAA40
- .4byte sub_80AAA84
- .4byte sub_80AAAF0
- .4byte sub_80AAB30
- .4byte sub_80AAB70
- .4byte sub_80AABB0
- .4byte sub_80AABF0
- .4byte sub_80AAD44
-
-gMatsudaDebugMenu_StartText:: @ 83C932C
- .string "{COLOR CYAN}{HIGHLIGHT RED}$"
- .string "かいし$" @ Start
-
-gMatsudaDebugMenu_GoBackText:: @ 83C9337
- .string "もどる$" @ Go Back
-
-gMatsudaDebugMenu_BattlePointsText:: @ 83C933B
-.ifdef ENGLISH
- .string "{COLOR MAGENTA}BP.$"
-.else
- .string "{COLOR MAGENTA}BP,$"
-.endif
-
-MatsudaDebugMenuText_Cool:
- .string "かっこよさ$" @ coolness
-MatsudaDebugMenuText_Cute:
- .string "かわいさ$" @ cuteness
-MatsudaDebugMenuText_Beauty:
- .string "うつくしさ$" @ beauty
-MatsudaDebugMenuText_Smart:
- .string "かしこさ$" @ smartness
-MatsudaDebugMenuText_Tough:
- .string "たくましさ$" @ toughness
-MatsudaDebugMenuText_Sheen:
- .string "けづや$" @ sheen
-
- .align 2
-gMatsudaDebugMenuTextList1:: @ 83C9364
- .4byte MatsudaDebugMenuText_Cool
- .4byte MatsudaDebugMenuText_Cute
- .4byte MatsudaDebugMenuText_Beauty
- .4byte MatsudaDebugMenuText_Smart
- .4byte MatsudaDebugMenuText_Tough
- .4byte MatsudaDebugMenuText_Sheen
-
-MatsudaDebugMenuText_CoolContest:
- .string "かっこよさコンテスト$" @ Cool Contest
-MatsudaDebugMenuText_BeautyContest:
- .string "うつくしさコンテスト$" @ Beauty Contest
-MatsudaDebugMenuText_CuteContest:
- .string "かわいさコンテスト $" @ Cute Contest
-MatsudaDebugMenuText_SmartContest:
- .string "かしこさコンテスト $" @ Smart Contest
-MatsudaDebugMenuText_ToughContest:
- .string "たくましさコンテスト$" @ Tough Contest
-
- .align 2
-gMatsudaDebugMenuTextList2:: @ 83C93B4
- .4byte MatsudaDebugMenuText_CoolContest
- .4byte MatsudaDebugMenuText_BeautyContest
- .4byte MatsudaDebugMenuText_CuteContest
- .4byte MatsudaDebugMenuText_SmartContest
- .4byte MatsudaDebugMenuText_ToughContest
-
-MatsudaDebugMenuText_Fallarbor:
- .string "ハジツゲ/ノーマル$" @ Fallarbor / Normal
-MatsudaDebugMenuText_Verdanturf:
- .string "シダケ/スーパー $" @ Verdanturf / Super
-MatsudaDebugMenuText_Slateport:
- .string "カイナ/ハイパー $" @ Slateport / Hyper
-MatsudaDebugMenuText_Lilycove:
- .string "ミナモ/マスター $" @ Lilycove / Master
-
- .align 2
-gMatsudaDebugMenuTextList3:: @ 83C93F0
- .4byte MatsudaDebugMenuText_Fallarbor @ Normal
- .4byte MatsudaDebugMenuText_Verdanturf @ Super
- .4byte MatsudaDebugMenuText_Slateport @ Hyper
- .4byte MatsudaDebugMenuText_Lilycove @ Master
-
-@ OamData
- .align 2
-gUnknown_083C9400:: @ 83C9400
- .2byte 0x4000
- .2byte 0x4000
- .2byte 0xF3FF
diff --git a/data/tileset_anim.s b/data/tileset_anim.s
deleted file mode 100644
index e34d50953..000000000
--- a/data/tileset_anim.s
+++ /dev/null
@@ -1,637 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-TilesetAnimTiles_General_0_1: @ 8376D84
- .incbin "data/tilesets/primary/general/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_0_0: @ 8376E04
- .incbin "data/tilesets/primary/general/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_0_2: @ 8376E84
- .incbin "data/tilesets/primary/general/anim/0/2.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_General_0:: @ 8376F24
- .4byte TilesetAnimTiles_General_0_0
- .4byte TilesetAnimTiles_General_0_1
- .4byte TilesetAnimTiles_General_0_0
- .4byte TilesetAnimTiles_General_0_2
-
- .align 2
-TilesetAnimTiles_General_1_0: @ 8376F34
- .incbin "data/tilesets/primary/general/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_1: @ 83772F4
- .incbin "data/tilesets/primary/general/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_2: @ 83776B4
- .incbin "data/tilesets/primary/general/anim/1/2.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_3: @ 8377A74
- .incbin "data/tilesets/primary/general/anim/1/3.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_4: @ 8377E34
- .incbin "data/tilesets/primary/general/anim/1/4.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_5: @ 83781F4
- .incbin "data/tilesets/primary/general/anim/1/5.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_6: @ 83785B4
- .incbin "data/tilesets/primary/general/anim/1/6.4bpp"
-
- .align 2
-TilesetAnimTiles_General_1_7: @ 8378974
- .incbin "data/tilesets/primary/general/anim/1/7.4bpp"
-
- .align 2
-gTilesetAnimTable_General_1:: @ 8378D34
- .4byte TilesetAnimTiles_General_1_0
- .4byte TilesetAnimTiles_General_1_1
- .4byte TilesetAnimTiles_General_1_2
- .4byte TilesetAnimTiles_General_1_3
- .4byte TilesetAnimTiles_General_1_4
- .4byte TilesetAnimTiles_General_1_5
- .4byte TilesetAnimTiles_General_1_6
- .4byte TilesetAnimTiles_General_1_7
-
- .align 2
-TilesetAnimTiles_General_2_0: @ 8378D54
- .incbin "data/tilesets/primary/general/anim/2/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_1: @ 8378E94
- .incbin "data/tilesets/primary/general/anim/2/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_2: @ 8378FD4
- .incbin "data/tilesets/primary/general/anim/2/2.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_3: @ 8379114
- .incbin "data/tilesets/primary/general/anim/2/3.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_4: @ 8379254
- .incbin "data/tilesets/primary/general/anim/2/4.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_5: @ 8379394
- .incbin "data/tilesets/primary/general/anim/2/5.4bpp"
-
- .align 2
-TilesetAnimTiles_General_2_6: @ 83794D4
- .incbin "data/tilesets/primary/general/anim/2/6.4bpp"
-
- .align 2
-gTilesetAnimTable_General_2:: @ 8379614
- .4byte TilesetAnimTiles_General_2_0
- .4byte TilesetAnimTiles_General_2_1
- .4byte TilesetAnimTiles_General_2_2
- .4byte TilesetAnimTiles_General_2_3
- .4byte TilesetAnimTiles_General_2_4
- .4byte TilesetAnimTiles_General_2_5
- .4byte TilesetAnimTiles_General_2_6
- .4byte TilesetAnimTiles_General_2_0
-
- .align 2
-TilesetAnimTiles_General_3_0: @ 8379634
- .incbin "data/tilesets/primary/general/anim/3/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_3_1: @ 83796F4
- .incbin "data/tilesets/primary/general/anim/3/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_3_2: @ 83797B4
- .incbin "data/tilesets/primary/general/anim/3/2.4bpp"
-
- .align 2
-TilesetAnimTiles_General_3_3: @ 8379874
- .incbin "data/tilesets/primary/general/anim/3/3.4bpp"
-
- .align 2
-gTilesetAnimTable_General_3:: @ 8379934
- .4byte TilesetAnimTiles_General_3_0
- .4byte TilesetAnimTiles_General_3_1
- .4byte TilesetAnimTiles_General_3_2
- .4byte TilesetAnimTiles_General_3_3
-
- .align 2
-TilesetAnimTiles_General_4_0: @ 8379944
- .incbin "data/tilesets/primary/general/anim/4/0.4bpp"
-
- .align 2
-TilesetAnimTiles_General_4_1: @ 8379A84
- .incbin "data/tilesets/primary/general/anim/4/1.4bpp"
-
- .align 2
-TilesetAnimTiles_General_4_2: @ 8379BC4
- .incbin "data/tilesets/primary/general/anim/4/2.4bpp"
-
- .align 2
-TilesetAnimTiles_General_4_3: @ 8379D04
- .incbin "data/tilesets/primary/general/anim/4/3.4bpp"
-
- .align 2
-gTilesetAnimTable_General_4:: @ 8379E44
- .4byte TilesetAnimTiles_General_4_0
- .4byte TilesetAnimTiles_General_4_1
- .4byte TilesetAnimTiles_General_4_2
- .4byte TilesetAnimTiles_General_4_3
-
- .align 2
-TilesetAnimTiles_Lavaridge_0: @ 8379E54
- .incbin "data/tilesets/secondary/lavaridge/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Lavaridge_1: @ 8379ED4
- .incbin "data/tilesets/secondary/lavaridge/anim/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Lavaridge_2: @ 8379F54
- .incbin "data/tilesets/secondary/lavaridge/anim/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Lavaridge_3: @ 8379FD4
- .incbin "data/tilesets/secondary/lavaridge/anim/3.4bpp"
-
- .align 2
-gTilesetAnimTable_Lavaridge:: @ 837A054
- .4byte TilesetAnimTiles_Lavaridge_0
- .4byte TilesetAnimTiles_Lavaridge_1
- .4byte TilesetAnimTiles_Lavaridge_2
- .4byte TilesetAnimTiles_Lavaridge_3
-
- .align 2
-TilesetAnimTiles_Pacifidlog_0_0: @ 837A064
- .incbin "data/tilesets/secondary/pacifidlog/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_0_1: @ 837A424
- .incbin "data/tilesets/secondary/pacifidlog/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_0_2: @ 837A7E4
- .incbin "data/tilesets/secondary/pacifidlog/anim/0/2.4bpp"
-
- .align 2
-gTilesetAnimTable_Pacifidlog_0:: @ 837ABA4
- .4byte TilesetAnimTiles_Pacifidlog_0_0
- .4byte TilesetAnimTiles_Pacifidlog_0_1
- .4byte TilesetAnimTiles_Pacifidlog_0_2
- .4byte TilesetAnimTiles_Pacifidlog_0_1
-
- .align 2
-TilesetAnimTiles_Underwater_0: @ 837ABB4
- .incbin "data/tilesets/secondary/underwater/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Underwater_1: @ 837AC34
- .incbin "data/tilesets/secondary/underwater/anim/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Underwater_2: @ 837ACB4
- .incbin "data/tilesets/secondary/underwater/anim/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Underwater_3: @ 837AD34
- .incbin "data/tilesets/secondary/underwater/anim/3.4bpp"
-
- .align 2
-gTilesetAnimTable_Underwater:: @ 837ADB4
- .4byte TilesetAnimTiles_Underwater_0
- .4byte TilesetAnimTiles_Underwater_1
- .4byte TilesetAnimTiles_Underwater_2
- .4byte TilesetAnimTiles_Underwater_3
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_0: @ 837ADC4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_1: @ 837AEC4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_2: @ 837AFC4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_3: @ 837B0C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/3.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_4: @ 837B1C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/4.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_5: @ 837B2C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/5.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_6: @ 837B3C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/6.4bpp"
-
- .align 2
-TilesetAnimTiles_Pacifidlog_1_7: @ 837B4C4
- .incbin "data/tilesets/secondary/pacifidlog/anim/1/7.4bpp"
-
- .align 2
-gTilesetAnimTable_Pacifidlog_1:: @ 837B5C4
- .4byte TilesetAnimTiles_Pacifidlog_1_0
- .4byte TilesetAnimTiles_Pacifidlog_1_1
- .4byte TilesetAnimTiles_Pacifidlog_1_2
- .4byte TilesetAnimTiles_Pacifidlog_1_3
- .4byte TilesetAnimTiles_Pacifidlog_1_4
- .4byte TilesetAnimTiles_Pacifidlog_1_5
- .4byte TilesetAnimTiles_Pacifidlog_1_6
- .4byte TilesetAnimTiles_Pacifidlog_1_7
-
- .align 2
-TilesetAnimTiles_Mauville_0_0: @ 837B5E4
- .incbin "data/tilesets/secondary/mauville/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_0_1: @ 837B664
- .incbin "data/tilesets/secondary/mauville/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_0_2: @ 837B6E4
- .incbin "data/tilesets/secondary/mauville/anim/0/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_0_3: @ 837B764
- .incbin "data/tilesets/secondary/mauville/anim/0/3.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_0_4: @ 837B7E4
- .incbin "data/tilesets/secondary/mauville/anim/0/4.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_0: @ 837B864
- .incbin "data/tilesets/secondary/mauville/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_1: @ 837B8E4
- .incbin "data/tilesets/secondary/mauville/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_2: @ 837B964
- .incbin "data/tilesets/secondary/mauville/anim/1/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_3: @ 837B9E4
- .incbin "data/tilesets/secondary/mauville/anim/1/3.4bpp"
-
- .align 2
-TilesetAnimTiles_Mauville_1_4: @ 837BA64
- .incbin "data/tilesets/secondary/mauville/anim/1/4.4bpp"
-
- .align 2
-gUnknown_0837BAE4:: @ 837BAE4
- .4byte 0x06004C00
- .4byte 0x06004C80
- .4byte 0x06004D00
- .4byte 0x06004D80
- .4byte 0x06004E00
- .4byte 0x06004E80
- .4byte 0x06004F00
- .4byte 0x06004F80
-
- .align 2
-gUnknown_0837BB04:: @ 837BB04
- .4byte 0x06005000
- .4byte 0x06005080
- .4byte 0x06005100
- .4byte 0x06005180
- .4byte 0x06005200
- .4byte 0x06005280
- .4byte 0x06005300
- .4byte 0x06005380
-
- .align 2
-gTilesetAnimTable_Mauville_0A:: @ 837BB24
- .4byte TilesetAnimTiles_Mauville_0_0
- .4byte TilesetAnimTiles_Mauville_0_0
- .4byte TilesetAnimTiles_Mauville_0_1
- .4byte TilesetAnimTiles_Mauville_0_2
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_3
- .4byte TilesetAnimTiles_Mauville_0_2
- .4byte TilesetAnimTiles_Mauville_0_1
-
- .align 2
-gTilesetAnimTable_Mauville_1A:: @ 837BB54
- .4byte TilesetAnimTiles_Mauville_1_0
- .4byte TilesetAnimTiles_Mauville_1_0
- .4byte TilesetAnimTiles_Mauville_1_1
- .4byte TilesetAnimTiles_Mauville_1_2
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_3
- .4byte TilesetAnimTiles_Mauville_1_2
- .4byte TilesetAnimTiles_Mauville_1_1
-
- .align 2
-gTilesetAnimTable_Mauville_0B:: @ 837BB84
- .4byte TilesetAnimTiles_Mauville_0_0
- .4byte TilesetAnimTiles_Mauville_0_0
- .4byte TilesetAnimTiles_Mauville_0_4
- .4byte TilesetAnimTiles_Mauville_0_4
-
- .align 2
-gTilesetAnimTable_Mauville_1B:: @ 837BB94
- .4byte TilesetAnimTiles_Mauville_1_0
- .4byte TilesetAnimTiles_Mauville_1_0
- .4byte TilesetAnimTiles_Mauville_1_4
- .4byte TilesetAnimTiles_Mauville_1_4
-
- .align 2
-TilesetAnimTiles_Rustboro_0_0: @ 837BBA4
- .incbin "data/tilesets/secondary/rustboro/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_1: @ 837BC24
- .incbin "data/tilesets/secondary/rustboro/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_2: @ 837BCA4
- .incbin "data/tilesets/secondary/rustboro/anim/0/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_3: @ 837BD24
- .incbin "data/tilesets/secondary/rustboro/anim/0/3.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_4: @ 837BDA4
- .incbin "data/tilesets/secondary/rustboro/anim/0/4.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_5: @ 837BE24
- .incbin "data/tilesets/secondary/rustboro/anim/0/5.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_6: @ 837BEA4
- .incbin "data/tilesets/secondary/rustboro/anim/0/6.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_0_7: @ 837BF24
- .incbin "data/tilesets/secondary/rustboro/anim/0/7.4bpp"
-
- .align 2
-gUnknown_0837BFA4:: @ 837BFA4
- .4byte 0x06005000
- .4byte 0x06005080
- .4byte 0x06005100
- .4byte 0x06005180
- .4byte 0x06005200
- .4byte 0x06005280
- .4byte 0x06005300
- .4byte 0x06005380
-
- .align 2
-gTilesetAnimTable_Rustboro_0:: @ 837BFC4
- .4byte TilesetAnimTiles_Rustboro_0_0
- .4byte TilesetAnimTiles_Rustboro_0_1
- .4byte TilesetAnimTiles_Rustboro_0_2
- .4byte TilesetAnimTiles_Rustboro_0_3
- .4byte TilesetAnimTiles_Rustboro_0_4
- .4byte TilesetAnimTiles_Rustboro_0_5
- .4byte TilesetAnimTiles_Rustboro_0_6
- .4byte TilesetAnimTiles_Rustboro_0_7
-
- .align 2
-TilesetAnimTiles_Rustboro_1_0: @ 837BFE4
- .incbin "data/tilesets/secondary/rustboro/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Rustboro_1_1: @ 837C064
- .incbin "data/tilesets/secondary/rustboro/anim/1/1.4bpp"
-
- .align 2
-gTilesetAnimTable_Rustboro_1:: @ 837C0E4
- .4byte TilesetAnimTiles_Rustboro_1_0
- .4byte TilesetAnimTiles_Rustboro_1_1
-
- .align 2
-TilesetAnimTiles_Cave_0: @ 837C0EC
- .incbin "data/tilesets/secondary/cave/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Cave_1: @ 837C16C
- .incbin "data/tilesets/secondary/cave/anim/1.4bpp"
-
- .align 2
-TilesetAnimTiles_Cave_2: @ 837C1EC
- .incbin "data/tilesets/secondary/cave/anim/2.4bpp"
-
- .align 2
-TilesetAnimTiles_Cave_3: @ 837C26C
- .incbin "data/tilesets/secondary/cave/anim/3.4bpp"
-
- .incbin "data/tilesets/secondary/cave/anim/unused/0.4bpp"
- .incbin "data/tilesets/secondary/cave/anim/unused/1.4bpp"
- .incbin "data/tilesets/secondary/cave/anim/unused/2.4bpp"
- .incbin "data/tilesets/secondary/cave/anim/unused/3.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_Cave:: @ 837C50C
- .4byte TilesetAnimTiles_Cave_0
- .4byte TilesetAnimTiles_Cave_1
- .4byte TilesetAnimTiles_Cave_2
- .4byte TilesetAnimTiles_Cave_3
-
- .align 2
-TilesetAnimTiles_EverGrande_0: @ 837C51C
- .incbin "data/tilesets/secondary/ever_grande/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_1: @ 837C59C
- .incbin "data/tilesets/secondary/ever_grande/anim/1.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_2: @ 837C61C
- .incbin "data/tilesets/secondary/ever_grande/anim/2.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_3: @ 837C69C
- .incbin "data/tilesets/secondary/ever_grande/anim/3.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_4: @ 837C71C
- .incbin "data/tilesets/secondary/ever_grande/anim/4.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_5: @ 837C79C
- .incbin "data/tilesets/secondary/ever_grande/anim/5.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_6: @ 837C81C
- .incbin "data/tilesets/secondary/ever_grande/anim/6.4bpp"
-
- .align 2
-TilesetAnimTiles_EverGrande_7: @ 837C89C
- .incbin "data/tilesets/secondary/ever_grande/anim/7.4bpp"
-
- .space 32
-
- .align 2
-gUnknown_0837C93C:: @ 837C93C
- .4byte 0x06005C00
- .4byte 0x06005C80
- .4byte 0x06005D00
- .4byte 0x06005D80
- .4byte 0x06005E00
- .4byte 0x06005E80
- .4byte 0x06005F00
- .4byte 0x06005F80
-
- .align 2
-gTilesetAnimTable_EverGrande:: @ 837C95C
- .4byte TilesetAnimTiles_EverGrande_0
- .4byte TilesetAnimTiles_EverGrande_1
- .4byte TilesetAnimTiles_EverGrande_2
- .4byte TilesetAnimTiles_EverGrande_3
- .4byte TilesetAnimTiles_EverGrande_4
- .4byte TilesetAnimTiles_EverGrande_5
- .4byte TilesetAnimTiles_EverGrande_6
- .4byte TilesetAnimTiles_EverGrande_7
-
- .align 2
-TilesetAnimTiles_Building_0: @ 837C97C
- .incbin "data/tilesets/primary/building/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_Building_1: @ 837C9FC
- .incbin "data/tilesets/primary/building/anim/1.4bpp"
-
- .align 2
-gTilesetAnimTable_Building:: @ 837CA7C
- .4byte TilesetAnimTiles_Building_0
- .4byte TilesetAnimTiles_Building_1
-
- .align 2
-TilesetAnimTiles_SootopolisGym_0_0: @ 837CA84
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_0_1: @ 837CC04
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_0_2: @ 837CD84
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_1_0: @ 837CF04
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_1_1: @ 837D184
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_SootopolisGym_1_2: @ 837D404
- .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp"
-
- .align 2
-gTilesetAnimTable_SootopolisGym_0:: @ 837D684
- .4byte TilesetAnimTiles_SootopolisGym_0_0
- .4byte TilesetAnimTiles_SootopolisGym_0_1
- .4byte TilesetAnimTiles_SootopolisGym_0_2
-
- .align 2
-gTilesetAnimTable_SootopolisGym_1:: @ 837D690
- .4byte TilesetAnimTiles_SootopolisGym_1_0
- .4byte TilesetAnimTiles_SootopolisGym_1_1
- .4byte TilesetAnimTiles_SootopolisGym_1_2
-
- .align 2
-TilesetAnimTiles_EliteFour_1_0: @ 837D69C
- .incbin "data/tilesets/secondary/elite_four/anim/1/0.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_1_1: @ 837D71C
- .incbin "data/tilesets/secondary/elite_four/anim/1/1.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_0_0: @ 837D79C
- .incbin "data/tilesets/secondary/elite_four/anim/0/0.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_0_1: @ 837D7BC
- .incbin "data/tilesets/secondary/elite_four/anim/0/1.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_0_2: @ 837D7DC
- .incbin "data/tilesets/secondary/elite_four/anim/0/2.4bpp"
-
- .align 2
-TilesetAnimTiles_EliteFour_0_3: @ 837D7FC
- .incbin "data/tilesets/secondary/elite_four/anim/0/3.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_EliteFour_0:: @ 837D83C
- .4byte TilesetAnimTiles_EliteFour_0_0
- .4byte TilesetAnimTiles_EliteFour_0_1
- .4byte TilesetAnimTiles_EliteFour_0_2
- .4byte TilesetAnimTiles_EliteFour_0_3
-
- .align 2
-gTilesetAnimTable_EliteFour_1:: @ 837D84C
- .4byte TilesetAnimTiles_EliteFour_1_0
- .4byte TilesetAnimTiles_EliteFour_1_1
-
- .align 2
-TilesetAnimTiles_MauvilleGym_0: @ 837D854
- .incbin "data/tilesets/secondary/mauville_gym/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_MauvilleGym_1: @ 837DA54
- .incbin "data/tilesets/secondary/mauville_gym/anim/1.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_MauvilleGym:: @ 837DC74
- .4byte TilesetAnimTiles_MauvilleGym_0
- .4byte TilesetAnimTiles_MauvilleGym_1
-
- .align 2
-TilesetAnimTiles_BikeShop_0: @ 837DC7C
- .incbin "data/tilesets/secondary/bike_shop/anim/0.4bpp"
-
- .align 2
-TilesetAnimTiles_BikeShop_1: @ 837DD9C
- .incbin "data/tilesets/secondary/bike_shop/anim/1.4bpp"
-
- .space 32
-
- .align 2
-gTilesetAnimTable_BikeShop:: @ 837DEDC
- .4byte TilesetAnimTiles_BikeShop_0
- .4byte TilesetAnimTiles_BikeShop_1
diff --git a/include/matsuda_debug_menu.h b/include/matsuda_debug_menu.h
index 5df53d688..60f2dc48c 100644
--- a/include/matsuda_debug_menu.h
+++ b/include/matsuda_debug_menu.h
@@ -7,5 +7,31 @@ void sub_80AB184(void);
void sub_80AA280(u8);
void sub_80AA5E8(u8);
void sub_80AA658(u8);
+u8 MatsudaDebugMenu_Contest(void);
+u8 MatsudaDebugMenu_ContestResults(void);
+u8 MatsudaDebugMenu_ContestComm(void);
+u8 MatsudaDebugMenu_CommTest(void);
+u8 MatsudaDebugMenu_SetHighScore(void);
+u8 MatsudaDebugMenu_ResetHighScore(void);
+u8 MatsudaDebugMenu_SetArtMuseumItems(void);
+void sub_80AA754(struct Sprite *sprite);
+void sub_80AA8C8(struct Sprite *, s8);
+void sub_80AA8D8(struct Sprite *, s8);
+void sub_80AA8E8(struct Sprite *, s8);
+void sub_80AA8F8(struct Sprite *, s8);
+void sub_80AAC5C(struct Sprite *, s8);
+void sub_80AAC5C(struct Sprite *, s8);
+void sub_80AA930(struct Sprite *, s8);
+void sub_80AA974(struct Sprite *, s8);
+void sub_80AA9B8(struct Sprite *, s8);
+void sub_80AA9FC(struct Sprite *, s8);
+void sub_80AAA40(struct Sprite *, s8);
+void sub_80AAA84(struct Sprite *, s8);
+void sub_80AAAF0(struct Sprite *, s8);
+void sub_80AAB30(struct Sprite *, s8);
+void sub_80AAB70(struct Sprite *, s8);
+void sub_80AABB0(struct Sprite *, s8);
+void sub_80AABF0(struct Sprite *, s8);
+void sub_80AAD44(struct Sprite *, s8);
#endif
diff --git a/ld_script.txt b/ld_script.txt
index d9a4a1c0b..268d0690a 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -351,7 +351,7 @@ SECTIONS {
src/field/party_menu.o(.rodata);
src/field/start_menu.o(.rodata);
src/engine/menu.o(.rodata);
- data/tileset_anim.o(.rodata);
+ src/engine/tileset_anim.o(.rodata);
src/engine/palette.o(.rodata);
src/engine/sound.o(.rodata);
data/battle_anim.o(.rodata);
@@ -385,7 +385,7 @@ SECTIONS {
src/field/item_menu.o(.rodata);
data/battle_anim_80A7E7C.o(.rodata);
src/field/item.o(.rodata);
- data/matsuda_debug_menu.o(.rodata);
+ src/debug/matsuda_debug_menu.o(.rodata);
data/contest.o(.rodata);
src/field/shop.o(.rodata);
src/field/berry.o(.rodata);
diff --git a/src/debug/matsuda_debug_menu.c b/src/debug/matsuda_debug_menu.c
index 3378e4e0a..dcb6fa2d8 100644
--- a/src/debug/matsuda_debug_menu.c
+++ b/src/debug/matsuda_debug_menu.c
@@ -41,32 +41,8 @@ extern u16 gUnknown_030041B8;
extern struct Window gUnknown_03004210;
extern u8 (*gCallback_03004AE8)(void);
-extern u8 gUnknown_083C926E[][2];
-extern u8 gUnknown_083C9282[];
-extern const u8 gUnknown_083C928E[][2];
-extern u8 gUnknown_083C9296[];
-extern u8 gUnknown_083C92A8[];
-extern u8 gMatsudaDebugMenu_GoBackText[];
-extern u8 gMatsudaDebugMenu_BattlePointsText[];
-extern u8 gMatsudaDebugMenu_StartText[];
-
-extern struct SpritePalette gUnknown_083C92BC;
-extern struct SpriteSheet gUnknown_083C92B4;
-extern struct SpriteTemplate gSpriteTemplate_83C92CC;
-extern void (*gUnknown_083C92E4[][2])(struct Sprite *, s8);
-extern u32 gUnknown_083C9400[2];
-
-
-extern u8 gMatsudaDebugMenu_UnknownByteArray[];
-extern u8* gMatsudaDebugMenuTextList1[];
-extern u8* gMatsudaDebugMenuTextList2[];
-extern u8* gMatsudaDebugMenuTextList3[];
-extern u8 gMatsudaDebugMenuContestTopLeft[][2];
-
extern bool8 gReceivedRemoteLinkPlayers;
-extern struct MenuAction gMatsudaDebugMenuActions[];
-
static bool8 sub_80A9B78(void);
static void sub_80A9BE4(u8 taskId);
static void sub_80A9C98(u8);
@@ -85,6 +61,191 @@ static void sub_80AA5BC(u8);
static void sub_80AA614(u8, u8);
static void sub_80AAD08(struct Sprite *, s8);
+// unused
+const u8 gText_Unused83C9150[] = _("テストです"); // "test"
+const u8 gMatsudaDebugMenu_ActionContestText[] = _("Contest");
+const u8 gMatsudaDebugMenu_ActionContestResultsText[] = _("Contest results");
+// unused
+const u8 gMatsudaDebugMenu_ActionChangePerimeterText[] = _("パラメータへんこう"); // "Change parameter"
+// unused
+const u8 gMatsudaDebugMenu_ActionChangeMoveText[] = _("わざ へんこう"); // "Change move"
+const u8 gMatsudaDebugMenu_ActionContestCommText[] = _("Contest (comm.)");
+const u8 gMatsudaDebugMenu_ActionCommTestText[] = _("Init comm. data");
+const u8 gMatsudaDebugMenu_ActionSetHighScoreText[] = _("Set highest score");
+const u8 gMatsudaDebugMenu_ActionResetHighScoreText[] = _("Reset highest score");
+const u8 gMatsudaDebugMenu_ActionSetAllArtMuseumText[] = _("Set all art museum items");
+
+const struct MenuAction gMatsudaDebugMenuActions[] =
+{
+ {gMatsudaDebugMenu_ActionContestText, MatsudaDebugMenu_Contest},
+ {gMatsudaDebugMenu_ActionContestResultsText, MatsudaDebugMenu_ContestResults},
+ {gMatsudaDebugMenu_ActionContestCommText, MatsudaDebugMenu_ContestComm},
+ {gMatsudaDebugMenu_ActionCommTestText, MatsudaDebugMenu_CommTest},
+ {gMatsudaDebugMenu_ActionSetHighScoreText, MatsudaDebugMenu_SetHighScore},
+ {gMatsudaDebugMenu_ActionResetHighScoreText, MatsudaDebugMenu_ResetHighScore},
+ {gMatsudaDebugMenu_ActionSetAllArtMuseumText, MatsudaDebugMenu_SetArtMuseumItems},
+};
+
+const u8 gMatsudaDebugMenu_UnknownByteArray[] = {0xFC, 0x02, 0x0F, 0x00, 0xFF};
+const u8 Unknown_083C922D[] = INCBIN_U8("graphics/unknown/ball.4bpp");
+const u16 Unknown_083C924E[] = INCBIN_U16("graphics/unknown/ball.gbapal");
+
+const u8 gUnknown_083C926E[][2] =
+{
+ {2, 0},
+ {17, 0},
+ {2, 2},
+ {17, 2},
+};
+
+const u8 gMatsudaDebugMenuContestTopLeft[][2] =
+{
+ {0, 6},
+ {15, 6},
+ {0, 8},
+ {15, 8},
+ {0, 10},
+ {15, 10},
+};
+
+const u8 gUnknown_083C9282[] =
+{
+ // TODO: 2d array?
+ 7, 6,
+ 22, 6,
+ 7, 8,
+ 22, 8,
+ 7, 10,
+ 22, 10,
+};
+
+const u8 gUnknown_083C928E[][2] =
+{
+ {2, 14},
+ {17, 14},
+ {2, 16},
+ {17, 16},
+};
+
+const u8 gUnknown_083C9296[] = {0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88};
+const u8 gUnknown_083C92A8[] = {0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98};
+
+const struct SpriteSheet gUnknown_083C92B4[] = {Unknown_083C922D, 32, 0x4B0};
+const struct SpritePalette gUnknown_083C92BC[] = {Unknown_083C924E, 0x4B0};
+
+const struct OamData gOamData_83C92C4 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 0,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 0,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83C92CC =
+{
+ .tileTag = 1200,
+ .paletteTag = 1200,
+ .oam = &gOamData_83C92C4,
+ .anims = gDummySpriteAnimTable,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = sub_80AA754,
+};
+
+static void (* const gUnknown_083C92E4[][2])(struct Sprite *, s8) =
+{
+ {sub_80AA8C8, sub_80AA8D8},
+ {sub_80AA8E8, sub_80AA8F8},
+ {sub_80AAC5C, sub_80AAC5C},
+ {sub_80AA930, sub_80AA974},
+ {sub_80AA9B8, sub_80AA9FC},
+ {sub_80AAA40, sub_80AAA84},
+ {sub_80AAAF0, sub_80AAB30},
+ {sub_80AAB70, sub_80AABB0},
+ {sub_80AABF0, sub_80AAD44},
+};
+
+static const u8 gMatsudaDebugMenu_StartText[] = _("{COLOR CYAN}{HIGHLIGHT RED}");
+static const u8 gMatsudaDebugMenu_StartJapText[] = _("かいし"); // because StartText is only called by StringCopy, this part appears to be unused.
+static const u8 gMatsudaDebugMenu_GoBackText[] = _("もどる");
+
+#ifdef GERMAN
+static const u8 gMatsudaDebugMenu_BattlePointsText[] = _("{COLOR MAGENTA}BP,");
+#else
+static const u8 gMatsudaDebugMenu_BattlePointsText[] = _("{COLOR MAGENTA}BP.");
+#endif
+
+static const u8 MatsudaDebugMenuText_Cool[] = _("かっこよさ"); // cool
+static const u8 MatsudaDebugMenuText_Cute[] = _("かわいさ"); // cute
+static const u8 MatsudaDebugMenuText_Beauty[] = _("うつくしさ"); // beauty
+static const u8 MatsudaDebugMenuText_Smart[] = _("かしこさ"); // smart
+static const u8 MatsudaDebugMenuText_Tough[] = _("たくましさ"); // tough
+static const u8 MatsudaDebugMenuText_Sheen[] = _("けづや"); // sheen
+
+static const u8 *const gMatsudaDebugMenuTextList1[] =
+{
+ MatsudaDebugMenuText_Cool,
+ MatsudaDebugMenuText_Cute,
+ MatsudaDebugMenuText_Beauty,
+ MatsudaDebugMenuText_Smart,
+ MatsudaDebugMenuText_Tough,
+ MatsudaDebugMenuText_Sheen,
+};
+
+static const u8 MatsudaDebugMenuText_CoolContest[] = _("かっこよさコンテスト");
+static const u8 MatsudaDebugMenuText_BeautyContest[] = _("うつくしさコンテスト");
+static const u8 MatsudaDebugMenuText_CuteContest[] = _("かわいさコンテスト ");
+static const u8 MatsudaDebugMenuText_SmartContest[] = _("かしこさコンテスト ");
+static const u8 MatsudaDebugMenuText_ToughContest[] = _("たくましさコンテスト");
+
+static const u8 *const gMatsudaDebugMenuTextList2[] =
+{
+ MatsudaDebugMenuText_CoolContest,
+ MatsudaDebugMenuText_BeautyContest,
+ MatsudaDebugMenuText_CuteContest,
+ MatsudaDebugMenuText_SmartContest,
+ MatsudaDebugMenuText_ToughContest,
+};
+
+static const u8 MatsudaDebugMenuText_Fallarbor[] = _("ハジツゲ/ノーマル"); // Fallarbor / Normal
+static const u8 MatsudaDebugMenuText_Verdanturf[] = _("シダケ/スーパー "); // Verdanturf / Super
+static const u8 MatsudaDebugMenuText_Slateport[] = _("カイナ/ハイパー "); // Slateport / Hyper
+static const u8 MatsudaDebugMenuText_Lilycove[] = _("ミナモ/マスター "); // Lilycove / Master
+
+static const u8 *const gMatsudaDebugMenuTextList3[] =
+{
+ MatsudaDebugMenuText_Fallarbor,
+ MatsudaDebugMenuText_Verdanturf,
+ MatsudaDebugMenuText_Slateport,
+ MatsudaDebugMenuText_Lilycove,
+};
+
+static const struct OamData gUnknown_083C9400 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 1,
+ .tileNum = 1023,
+ .priority = 0,
+ .paletteNum = 15,
+ .affineParam = 0,
+};
+
u8 unref_sub_80A9B28(void)
{
MenuZeroFillScreen();
@@ -112,7 +273,7 @@ static bool8 sub_80A9B78(void)
}
}
-s8 MatsudaDebugMenu_ContestResults(void)
+u8 MatsudaDebugMenu_ContestResults(void)
{
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, 0);
CreateTask(sub_80A9BE4, 0xFF);
@@ -132,20 +293,20 @@ static void sub_80A9BE4(u8 taskId)
}
}
-s8 MatsudaDebugMenu_Contest(void)
+u8 MatsudaDebugMenu_Contest(void)
{
gIsLinkContest = 0;
sub_80AA10C();
return 0;
}
-s8 MatsudaDebugMenu_ContestComm(void)
+u8 MatsudaDebugMenu_ContestComm(void)
{
sub_80AA10C();
return 0;
}
-s8 MatsudaDebugMenu_CommTest(void)
+u8 MatsudaDebugMenu_CommTest(void)
{
u8 newTaskId;
u8 newTaskId2;
@@ -397,8 +558,8 @@ static void sub_80AA10C(void)
sub_80AA5E8(gScriptContestRank);
sub_8003460(&gMenuWindow, gMatsudaDebugMenu_GoBackText, 0xD6, 0x12, 0x12);
sub_8003460(&gMenuWindow, gMatsudaDebugMenu_BattlePointsText, 0xDC, zero, 0xC);
- LoadSpriteSheet(&gUnknown_083C92B4);
- LoadSpritePalette(&gUnknown_083C92BC);
+ LoadSpriteSheet(gUnknown_083C92B4);
+ LoadSpritePalette(gUnknown_083C92BC);
sub_80AA280(3);
sub_80AA658(3);
sub_80AA614(3, zero);
@@ -608,7 +769,7 @@ static u8 sub_80AA908(u32 a1, u8 a2, s8 a3) // first param is unused.
return val;
}
-void sub_80AA930(struct Sprite *sprite, u8 var2)
+void sub_80AA930(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -616,7 +777,7 @@ void sub_80AA930(struct Sprite *sprite, u8 var2)
sub_80AA340(sprite->data2);
}
-void sub_80AA974(struct Sprite *sprite, u8 var2)
+void sub_80AA974(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -624,7 +785,7 @@ void sub_80AA974(struct Sprite *sprite, u8 var2)
sub_80AA388(sprite->data2);
}
-void sub_80AA9B8(struct Sprite *sprite, u8 var2)
+void sub_80AA9B8(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -632,7 +793,7 @@ void sub_80AA9B8(struct Sprite *sprite, u8 var2)
sub_80AA3D0(sprite->data2);
}
-void sub_80AA9FC(struct Sprite *sprite, u8 var2)
+void sub_80AA9FC(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -640,7 +801,7 @@ void sub_80AA9FC(struct Sprite *sprite, u8 var2)
sub_80AA418(sprite->data2);
}
-void sub_80AAA40(struct Sprite *sprite, u8 var2)
+void sub_80AAA40(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -648,7 +809,7 @@ void sub_80AAA40(struct Sprite *sprite, u8 var2)
sub_80AA460(sprite->data2);
}
-void sub_80AAA84(struct Sprite *sprite, u8 var2)
+void sub_80AAA84(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -669,7 +830,7 @@ static u16 sub_80AAAC8(u32 a1, u16 a2, s8 a3) // first param is unused.
return val;
}
-void sub_80AAAF0(struct Sprite *sprite, u8 var2)
+void sub_80AAAF0(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -677,7 +838,7 @@ void sub_80AAAF0(struct Sprite *sprite, u8 var2)
sub_80AA4F0(sprite->data2, 0);
}
-void sub_80AAB30(struct Sprite *sprite, u8 var2)
+void sub_80AAB30(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -685,7 +846,7 @@ void sub_80AAB30(struct Sprite *sprite, u8 var2)
sub_80AA4F0(sprite->data2, 1);
}
-void sub_80AAB70(struct Sprite *sprite, u8 var2)
+void sub_80AAB70(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -693,7 +854,7 @@ void sub_80AAB70(struct Sprite *sprite, u8 var2)
sub_80AA4F0(sprite->data2, 2);
}
-void sub_80AABB0(struct Sprite *sprite, u8 var2)
+void sub_80AABB0(struct Sprite *sprite, s8 var2)
{
u8 val = sprite->data2;
@@ -1013,16 +1174,14 @@ void sub_80AAF30(void)
sub_80B2A7C(0xFE);
}
-//Don't know size of return type
-int MatsudaDebugMenu_SetHighScore(void)
+u8 MatsudaDebugMenu_SetHighScore(void)
{
sub_80AAF30();
CloseMenu();
return 1;
}
-//Don't know size of return type
-int MatsudaDebugMenu_ResetHighScore(void)
+u8 MatsudaDebugMenu_ResetHighScore(void)
{
s32 i;
@@ -1037,8 +1196,7 @@ int MatsudaDebugMenu_ResetHighScore(void)
return 1;
}
-//Don't know size of return type
-int MatsudaDebugMenu_SetArtMuseumItems(void)
+u8 MatsudaDebugMenu_SetArtMuseumItems(void)
{
s32 i;
diff --git a/src/engine/tileset_anim.c b/src/engine/tileset_anim.c
index f892e5e9a..abd38edad 100644
--- a/src/engine/tileset_anim.c
+++ b/src/engine/tileset_anim.c
@@ -1,39 +1,10 @@
#include "global.h"
#include "tileset_anim.h"
-extern u8 *gTilesetAnimTable_General_0[];
-extern u8 *gTilesetAnimTable_General_1[];
-extern u8 *gTilesetAnimTable_General_2[];
-extern u8 *gTilesetAnimTable_General_3[];
-extern u8 *gTilesetAnimTable_General_4[];
-extern u8 *gTilesetAnimTable_Lavaridge[];
-extern u8 *gTilesetAnimTable_Pacifidlog_0[];
-extern u8 *gTilesetAnimTable_Underwater[];
-extern u8 *gTilesetAnimTable_Pacifidlog_1[];
-extern u8 *gUnknown_0837BAE4[];
-extern u8 *gUnknown_0837BB04[];
-extern u8 *gTilesetAnimTable_Mauville_0A[];
-extern u8 *gTilesetAnimTable_Mauville_1A[];
-extern u8 *gTilesetAnimTable_Mauville_0B[];
-extern u8 *gTilesetAnimTable_Mauville_1B[];
-extern u8 *gUnknown_0837BFA4[];
-extern u8 *gTilesetAnimTable_Rustboro_0[];
-extern u8 *gTilesetAnimTable_Rustboro_1[];
-extern u8 *gTilesetAnimTable_Cave[];
-extern u8 *gUnknown_0837C93C[];
-extern u8 *gTilesetAnimTable_EverGrande[];
-extern u8 *gTilesetAnimTable_Building[];
-extern u8 *gTilesetAnimTable_SootopolisGym_0[];
-extern u8 *gTilesetAnimTable_SootopolisGym_1[];
-extern u8 *gTilesetAnimTable_EliteFour_0[];
-extern u8 *gTilesetAnimTable_EliteFour_1[];
-extern u8 *gTilesetAnimTable_MauvilleGym[];
-extern u8 *gTilesetAnimTable_BikeShop[];
-
struct Dma
{
- void *src;
- void *dest;
+ const void *src;
+ const void *dest;
u16 size;
};
@@ -89,13 +60,403 @@ static void sub_807399C(u16);
static void sub_8073974(u16);
static void sub_80739EC(u16);
+static const u8 TilesetAnimTiles_General_0_1[] = INCBIN_U8("data/tilesets/primary/general/anim/0/1.4bpp");
+static const u8 TilesetAnimTiles_General_0_0[] = INCBIN_U8("data/tilesets/primary/general/anim/0/0.4bpp");
+static const u8 TilesetAnimTiles_General_0_2[] = INCBIN_U8("data/tilesets/primary/general/anim/0/2.4bpp");
+asm(".space 32");
+
+static const u8 *const gTilesetAnimTable_General_0[] =
+{
+ TilesetAnimTiles_General_0_0,
+ TilesetAnimTiles_General_0_1,
+ TilesetAnimTiles_General_0_0,
+ TilesetAnimTiles_General_0_2,
+};
+
+static const u8 TilesetAnimTiles_General_1_0[] = INCBIN_U8("data/tilesets/primary/general/anim/1/0.4bpp");
+static const u8 TilesetAnimTiles_General_1_1[] = INCBIN_U8("data/tilesets/primary/general/anim/1/1.4bpp");
+static const u8 TilesetAnimTiles_General_1_2[] = INCBIN_U8("data/tilesets/primary/general/anim/1/2.4bpp");
+static const u8 TilesetAnimTiles_General_1_3[] = INCBIN_U8("data/tilesets/primary/general/anim/1/3.4bpp");
+static const u8 TilesetAnimTiles_General_1_4[] = INCBIN_U8("data/tilesets/primary/general/anim/1/4.4bpp");
+static const u8 TilesetAnimTiles_General_1_5[] = INCBIN_U8("data/tilesets/primary/general/anim/1/5.4bpp");
+static const u8 TilesetAnimTiles_General_1_6[] = INCBIN_U8("data/tilesets/primary/general/anim/1/6.4bpp");
+static const u8 TilesetAnimTiles_General_1_7[] = INCBIN_U8("data/tilesets/primary/general/anim/1/7.4bpp");
+
+static const u8 *const gTilesetAnimTable_General_1[] =
+{
+ TilesetAnimTiles_General_1_0,
+ TilesetAnimTiles_General_1_1,
+ TilesetAnimTiles_General_1_2,
+ TilesetAnimTiles_General_1_3,
+ TilesetAnimTiles_General_1_4,
+ TilesetAnimTiles_General_1_5,
+ TilesetAnimTiles_General_1_6,
+ TilesetAnimTiles_General_1_7,
+};
+
+static const u8 TilesetAnimTiles_General_2_0[] = INCBIN_U8("data/tilesets/primary/general/anim/2/0.4bpp");
+static const u8 TilesetAnimTiles_General_2_1[] = INCBIN_U8("data/tilesets/primary/general/anim/2/1.4bpp");
+static const u8 TilesetAnimTiles_General_2_2[] = INCBIN_U8("data/tilesets/primary/general/anim/2/2.4bpp");
+static const u8 TilesetAnimTiles_General_2_3[] = INCBIN_U8("data/tilesets/primary/general/anim/2/3.4bpp");
+static const u8 TilesetAnimTiles_General_2_4[] = INCBIN_U8("data/tilesets/primary/general/anim/2/4.4bpp");
+static const u8 TilesetAnimTiles_General_2_5[] = INCBIN_U8("data/tilesets/primary/general/anim/2/5.4bpp");
+static const u8 TilesetAnimTiles_General_2_6[] = INCBIN_U8("data/tilesets/primary/general/anim/2/6.4bpp");
+
+static const u8 *const gTilesetAnimTable_General_2[] =
+{
+ TilesetAnimTiles_General_2_0,
+ TilesetAnimTiles_General_2_1,
+ TilesetAnimTiles_General_2_2,
+ TilesetAnimTiles_General_2_3,
+ TilesetAnimTiles_General_2_4,
+ TilesetAnimTiles_General_2_5,
+ TilesetAnimTiles_General_2_6,
+ TilesetAnimTiles_General_2_0,
+};
+
+static const u8 TilesetAnimTiles_General_3_0[] = INCBIN_U8("data/tilesets/primary/general/anim/3/0.4bpp");
+static const u8 TilesetAnimTiles_General_3_1[] = INCBIN_U8("data/tilesets/primary/general/anim/3/1.4bpp");
+static const u8 TilesetAnimTiles_General_3_2[] = INCBIN_U8("data/tilesets/primary/general/anim/3/2.4bpp");
+static const u8 TilesetAnimTiles_General_3_3[] = INCBIN_U8("data/tilesets/primary/general/anim/3/3.4bpp");
+
+static const u8 *const gTilesetAnimTable_General_3[] =
+{
+ TilesetAnimTiles_General_3_0,
+ TilesetAnimTiles_General_3_1,
+ TilesetAnimTiles_General_3_2,
+ TilesetAnimTiles_General_3_3,
+};
+
+static const u8 TilesetAnimTiles_General_4_0[] = INCBIN_U8("data/tilesets/primary/general/anim/4/0.4bpp");
+static const u8 TilesetAnimTiles_General_4_1[] = INCBIN_U8("data/tilesets/primary/general/anim/4/1.4bpp");
+static const u8 TilesetAnimTiles_General_4_2[] = INCBIN_U8("data/tilesets/primary/general/anim/4/2.4bpp");
+static const u8 TilesetAnimTiles_General_4_3[] = INCBIN_U8("data/tilesets/primary/general/anim/4/3.4bpp");
+
+static const u8 *const gTilesetAnimTable_General_4[] =
+{
+ TilesetAnimTiles_General_4_0,
+ TilesetAnimTiles_General_4_1,
+ TilesetAnimTiles_General_4_2,
+ TilesetAnimTiles_General_4_3,
+};
+
+static const u8 TilesetAnimTiles_Lavaridge_0[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/0.4bpp");
+static const u8 TilesetAnimTiles_Lavaridge_1[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/1.4bpp");
+static const u8 TilesetAnimTiles_Lavaridge_2[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/2.4bpp");
+static const u8 TilesetAnimTiles_Lavaridge_3[] = INCBIN_U8("data/tilesets/secondary/lavaridge/anim/3.4bpp");
+
+static const u8 *const gTilesetAnimTable_Lavaridge[] =
+{
+ TilesetAnimTiles_Lavaridge_0,
+ TilesetAnimTiles_Lavaridge_1,
+ TilesetAnimTiles_Lavaridge_2,
+ TilesetAnimTiles_Lavaridge_3,
+};
+
+static const u8 TilesetAnimTiles_Pacifidlog_0_0[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/0/0.4bpp");
+static const u8 TilesetAnimTiles_Pacifidlog_0_1[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/0/1.4bpp");
+static const u8 TilesetAnimTiles_Pacifidlog_0_2[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/0/2.4bpp");
+
+static const u8 *const gTilesetAnimTable_Pacifidlog_0[] =
+{
+ TilesetAnimTiles_Pacifidlog_0_0,
+ TilesetAnimTiles_Pacifidlog_0_1,
+ TilesetAnimTiles_Pacifidlog_0_2,
+ TilesetAnimTiles_Pacifidlog_0_1,
+};
+
+static const u8 TilesetAnimTiles_Underwater_0[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/0.4bpp");
+static const u8 TilesetAnimTiles_Underwater_1[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/1.4bpp");
+static const u8 TilesetAnimTiles_Underwater_2[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/2.4bpp");
+static const u8 TilesetAnimTiles_Underwater_3[] = INCBIN_U8("data/tilesets/secondary/underwater/anim/3.4bpp");
+
+static const u8 *const gTilesetAnimTable_Underwater[] =
+{
+ TilesetAnimTiles_Underwater_0,
+ TilesetAnimTiles_Underwater_1,
+ TilesetAnimTiles_Underwater_2,
+ TilesetAnimTiles_Underwater_3,
+};
+
+static const u8 TilesetAnimTiles_Pacifidlog_1_0[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/0.4bpp");
+static const u8 TilesetAnimTiles_Pacifidlog_1_1[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/1.4bpp");
+static const u8 TilesetAnimTiles_Pacifidlog_1_2[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/2.4bpp");
+static const u8 TilesetAnimTiles_Pacifidlog_1_3[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/3.4bpp");
+static const u8 TilesetAnimTiles_Pacifidlog_1_4[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/4.4bpp");
+static const u8 TilesetAnimTiles_Pacifidlog_1_5[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/5.4bpp");
+static const u8 TilesetAnimTiles_Pacifidlog_1_6[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/6.4bpp");
+static const u8 TilesetAnimTiles_Pacifidlog_1_7[] = INCBIN_U8("data/tilesets/secondary/pacifidlog/anim/1/7.4bpp");
+
+static const u8 *const gTilesetAnimTable_Pacifidlog_1[] =
+{
+ TilesetAnimTiles_Pacifidlog_1_0,
+ TilesetAnimTiles_Pacifidlog_1_1,
+ TilesetAnimTiles_Pacifidlog_1_2,
+ TilesetAnimTiles_Pacifidlog_1_3,
+ TilesetAnimTiles_Pacifidlog_1_4,
+ TilesetAnimTiles_Pacifidlog_1_5,
+ TilesetAnimTiles_Pacifidlog_1_6,
+ TilesetAnimTiles_Pacifidlog_1_7,
+};
+
+static const u8 TilesetAnimTiles_Mauville_0_0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/0.4bpp");
+static const u8 TilesetAnimTiles_Mauville_0_1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/1.4bpp");
+static const u8 TilesetAnimTiles_Mauville_0_2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/2.4bpp");
+static const u8 TilesetAnimTiles_Mauville_0_3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/3.4bpp");
+static const u8 TilesetAnimTiles_Mauville_0_4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/0/4.4bpp");
+
+static const u8 TilesetAnimTiles_Mauville_1_0[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/0.4bpp");
+static const u8 TilesetAnimTiles_Mauville_1_1[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/1.4bpp");
+static const u8 TilesetAnimTiles_Mauville_1_2[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/2.4bpp");
+static const u8 TilesetAnimTiles_Mauville_1_3[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/3.4bpp");
+static const u8 TilesetAnimTiles_Mauville_1_4[] = INCBIN_U8("data/tilesets/secondary/mauville/anim/1/4.4bpp");
+
+static const void *const gUnknown_0837BAE4[] =
+{
+ (void *)(VRAM + 0x4C00),
+ (void *)(VRAM + 0x4C80),
+ (void *)(VRAM + 0x4D00),
+ (void *)(VRAM + 0x4D80),
+ (void *)(VRAM + 0x4E00),
+ (void *)(VRAM + 0x4E80),
+ (void *)(VRAM + 0x4F00),
+ (void *)(VRAM + 0x4F80),
+};
+
+static const void *const gUnknown_0837BB04[] =
+{
+ (void *)(VRAM + 0x5000),
+ (void *)(VRAM + 0x5080),
+ (void *)(VRAM + 0x5100),
+ (void *)(VRAM + 0x5180),
+ (void *)(VRAM + 0x5200),
+ (void *)(VRAM + 0x5280),
+ (void *)(VRAM + 0x5300),
+ (void *)(VRAM + 0x5380),
+};
+
+static const u8 *const gTilesetAnimTable_Mauville_0A[] =
+{
+ TilesetAnimTiles_Mauville_0_0,
+ TilesetAnimTiles_Mauville_0_0,
+ TilesetAnimTiles_Mauville_0_1,
+ TilesetAnimTiles_Mauville_0_2,
+ TilesetAnimTiles_Mauville_0_3,
+ TilesetAnimTiles_Mauville_0_3,
+ TilesetAnimTiles_Mauville_0_3,
+ TilesetAnimTiles_Mauville_0_3,
+ TilesetAnimTiles_Mauville_0_3,
+ TilesetAnimTiles_Mauville_0_3,
+ TilesetAnimTiles_Mauville_0_2,
+ TilesetAnimTiles_Mauville_0_1,
+};
+
+static const u8 *const gTilesetAnimTable_Mauville_1A[] =
+{
+ TilesetAnimTiles_Mauville_1_0,
+ TilesetAnimTiles_Mauville_1_0,
+ TilesetAnimTiles_Mauville_1_1,
+ TilesetAnimTiles_Mauville_1_2,
+ TilesetAnimTiles_Mauville_1_3,
+ TilesetAnimTiles_Mauville_1_3,
+ TilesetAnimTiles_Mauville_1_3,
+ TilesetAnimTiles_Mauville_1_3,
+ TilesetAnimTiles_Mauville_1_3,
+ TilesetAnimTiles_Mauville_1_3,
+ TilesetAnimTiles_Mauville_1_2,
+ TilesetAnimTiles_Mauville_1_1,
+};
+
+static const u8 *const gTilesetAnimTable_Mauville_0B[] =
+{
+ TilesetAnimTiles_Mauville_0_0,
+ TilesetAnimTiles_Mauville_0_0,
+ TilesetAnimTiles_Mauville_0_4,
+ TilesetAnimTiles_Mauville_0_4,
+};
+
+static const u8 *const gTilesetAnimTable_Mauville_1B[] =
+{
+ TilesetAnimTiles_Mauville_1_0,
+ TilesetAnimTiles_Mauville_1_0,
+ TilesetAnimTiles_Mauville_1_4,
+ TilesetAnimTiles_Mauville_1_4,
+};
+
+static const u8 TilesetAnimTiles_Rustboro_0_0[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/0.4bpp");
+static const u8 TilesetAnimTiles_Rustboro_0_1[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/1.4bpp");
+static const u8 TilesetAnimTiles_Rustboro_0_2[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/2.4bpp");
+static const u8 TilesetAnimTiles_Rustboro_0_3[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/3.4bpp");
+static const u8 TilesetAnimTiles_Rustboro_0_4[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/4.4bpp");
+static const u8 TilesetAnimTiles_Rustboro_0_5[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/5.4bpp");
+static const u8 TilesetAnimTiles_Rustboro_0_6[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/6.4bpp");
+static const u8 TilesetAnimTiles_Rustboro_0_7[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/0/7.4bpp");
+
+static const void *const gUnknown_0837BFA4[] =
+{
+ (void *)(VRAM + 0x5000),
+ (void *)(VRAM + 0x5080),
+ (void *)(VRAM + 0x5100),
+ (void *)(VRAM + 0x5180),
+ (void *)(VRAM + 0x5200),
+ (void *)(VRAM + 0x5280),
+ (void *)(VRAM + 0x5300),
+ (void *)(VRAM + 0x5380),
+};
+
+static const u8 *const gTilesetAnimTable_Rustboro_0[] =
+{
+ TilesetAnimTiles_Rustboro_0_0,
+ TilesetAnimTiles_Rustboro_0_1,
+ TilesetAnimTiles_Rustboro_0_2,
+ TilesetAnimTiles_Rustboro_0_3,
+ TilesetAnimTiles_Rustboro_0_4,
+ TilesetAnimTiles_Rustboro_0_5,
+ TilesetAnimTiles_Rustboro_0_6,
+ TilesetAnimTiles_Rustboro_0_7,
+};
+
+static const u8 TilesetAnimTiles_Rustboro_1_0[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/1/0.4bpp");
+static const u8 TilesetAnimTiles_Rustboro_1_1[] = INCBIN_U8("data/tilesets/secondary/rustboro/anim/1/1.4bpp");
+
+static const u8 *const gTilesetAnimTable_Rustboro_1[] =
+{
+ TilesetAnimTiles_Rustboro_1_0,
+ TilesetAnimTiles_Rustboro_1_1,
+};
+
+static const u8 TilesetAnimTiles_Cave_0[] = INCBIN_U8("data/tilesets/secondary/cave/anim/0.4bpp");
+static const u8 TilesetAnimTiles_Cave_1[] = INCBIN_U8("data/tilesets/secondary/cave/anim/1.4bpp");
+static const u8 TilesetAnimTiles_Cave_2[] = INCBIN_U8("data/tilesets/secondary/cave/anim/2.4bpp");
+static const u8 TilesetAnimTiles_Cave_3[] = INCBIN_U8("data/tilesets/secondary/cave/anim/3.4bpp");
+// unused anim tiles for cave
+static const u8 TilesetAnimTiles_Cave_4[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/0.4bpp");
+static const u8 TilesetAnimTiles_Cave_5[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/1.4bpp");
+static const u8 TilesetAnimTiles_Cave_6[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/2.4bpp");
+static const u8 TilesetAnimTiles_Cave_7[] = INCBIN_U8("data/tilesets/secondary/cave/anim/unused/3.4bpp");
+asm(".space 32");
+
+static const u8 *const gTilesetAnimTable_Cave[] =
+{
+ TilesetAnimTiles_Cave_0,
+ TilesetAnimTiles_Cave_1,
+ TilesetAnimTiles_Cave_2,
+ TilesetAnimTiles_Cave_3,
+};
+
+static const u8 TilesetAnimTiles_EverGrande_0[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/0.4bpp");
+static const u8 TilesetAnimTiles_EverGrande_1[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/1.4bpp");
+static const u8 TilesetAnimTiles_EverGrande_2[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/2.4bpp");
+static const u8 TilesetAnimTiles_EverGrande_3[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/3.4bpp");
+static const u8 TilesetAnimTiles_EverGrande_4[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/4.4bpp");
+static const u8 TilesetAnimTiles_EverGrande_5[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/5.4bpp");
+static const u8 TilesetAnimTiles_EverGrande_6[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/6.4bpp");
+static const u8 TilesetAnimTiles_EverGrande_7[] = INCBIN_U8("data/tilesets/secondary/ever_grande/anim/7.4bpp");
+asm(".space 32");
+
+static const void *const gUnknown_0837C93C[] =
+{
+ (void *)(VRAM + 0x5C00),
+ (void *)(VRAM + 0x5C80),
+ (void *)(VRAM + 0x5D00),
+ (void *)(VRAM + 0x5D80),
+ (void *)(VRAM + 0x5E00),
+ (void *)(VRAM + 0x5E80),
+ (void *)(VRAM + 0x5F00),
+ (void *)(VRAM + 0x5F80),
+};
+
+static const u8 *const gTilesetAnimTable_EverGrande[] =
+{
+ TilesetAnimTiles_EverGrande_0,
+ TilesetAnimTiles_EverGrande_1,
+ TilesetAnimTiles_EverGrande_2,
+ TilesetAnimTiles_EverGrande_3,
+ TilesetAnimTiles_EverGrande_4,
+ TilesetAnimTiles_EverGrande_5,
+ TilesetAnimTiles_EverGrande_6,
+ TilesetAnimTiles_EverGrande_7,
+};
+
+static const u8 TilesetAnimTiles_Building_0[] = INCBIN_U8("data/tilesets/primary/building/anim/0.4bpp");
+static const u8 TilesetAnimTiles_Building_1[] = INCBIN_U8("data/tilesets/primary/building/anim/1.4bpp");
+
+static const u8 *const gTilesetAnimTable_Building[] =
+{
+ TilesetAnimTiles_Building_0,
+ TilesetAnimTiles_Building_1,
+};
+
+static const u8 TilesetAnimTiles_SootopolisGym_0_0[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp");
+static const u8 TilesetAnimTiles_SootopolisGym_0_1[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp");
+static const u8 TilesetAnimTiles_SootopolisGym_0_2[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp");
+static const u8 TilesetAnimTiles_SootopolisGym_1_0[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp");
+static const u8 TilesetAnimTiles_SootopolisGym_1_1[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp");
+static const u8 TilesetAnimTiles_SootopolisGym_1_2[] = INCBIN_U8("data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp");
+
+static const u8 *const gTilesetAnimTable_SootopolisGym_0[] =
+{
+ TilesetAnimTiles_SootopolisGym_0_0,
+ TilesetAnimTiles_SootopolisGym_0_1,
+ TilesetAnimTiles_SootopolisGym_0_2,
+};
+
+static const u8 *const gTilesetAnimTable_SootopolisGym_1[] =
+{
+ TilesetAnimTiles_SootopolisGym_1_0,
+ TilesetAnimTiles_SootopolisGym_1_1,
+ TilesetAnimTiles_SootopolisGym_1_2,
+};
+
+static const u8 TilesetAnimTiles_EliteFour_1_0[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/1/0.4bpp");
+static const u8 TilesetAnimTiles_EliteFour_1_1[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/1/1.4bpp");
+static const u8 TilesetAnimTiles_EliteFour_0_0[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/0.4bpp");
+static const u8 TilesetAnimTiles_EliteFour_0_1[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/1.4bpp");
+static const u8 TilesetAnimTiles_EliteFour_0_2[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/2.4bpp");
+static const u8 TilesetAnimTiles_EliteFour_0_3[] = INCBIN_U8("data/tilesets/secondary/elite_four/anim/0/3.4bpp");
+asm(".space 32");
+
+static const u8 *const gTilesetAnimTable_EliteFour_0[] =
+{
+ TilesetAnimTiles_EliteFour_0_0,
+ TilesetAnimTiles_EliteFour_0_1,
+ TilesetAnimTiles_EliteFour_0_2,
+ TilesetAnimTiles_EliteFour_0_3,
+};
+
+static const u8 *const gTilesetAnimTable_EliteFour_1[] =
+{
+ TilesetAnimTiles_EliteFour_1_0,
+ TilesetAnimTiles_EliteFour_1_1,
+};
+
+static const u8 TilesetAnimTiles_MauvilleGym_0[] = INCBIN_U8("data/tilesets/secondary/mauville_gym/anim/0.4bpp");
+static const u8 TilesetAnimTiles_MauvilleGym_1[] = INCBIN_U8("data/tilesets/secondary/mauville_gym/anim/1.4bpp");
+asm(".space 32");
+
+static const u8 *const gTilesetAnimTable_MauvilleGym[] =
+{
+ TilesetAnimTiles_MauvilleGym_0,
+ TilesetAnimTiles_MauvilleGym_1,
+};
+
+static const u8 TilesetAnimTiles_BikeShop_0[] = INCBIN_U8("data/tilesets/secondary/bike_shop/anim/0.4bpp");
+static const u8 TilesetAnimTiles_BikeShop_1[] = INCBIN_U8("data/tilesets/secondary/bike_shop/anim/1.4bpp");
+asm(".space 32");
+
+static const u8 *const gTilesetAnimTable_BikeShop[] =
+{
+ TilesetAnimTiles_BikeShop_0,
+ TilesetAnimTiles_BikeShop_1,
+};
+
static void ClearTilesetAnimDmas(void)
{
gNumTilesetAnimDmas = 0;
CpuFill32(0, &gTilesetAnimDmas, sizeof(gTilesetAnimDmas));
}
-static void QueueTilesetAnimDma(void *src, void *dest, u16 size)
+static void QueueTilesetAnimDma(const void *src, const void *dest, u16 size)
{
if (gNumTilesetAnimDmas < 20)
{