Merge branch 'master' into kobold_fixes

This commit is contained in:
DizzyEggg 2017-12-20 17:22:25 +01:00
commit 8380fc63dc
36 changed files with 2916 additions and 3845 deletions

View File

@ -8,6 +8,6 @@ TBD
Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM). Install [**devkitARM**](http://devkitpro.org/wiki/Getting_Started/devkitARM).
Then get the compiled tools from https://github.com/YamaArashi/pokeruby-tools. Copy the "tools" folder over the "tools" folder in your pokeemerald directory. Then download [**pokeruby-tools**](https://github.com/pret/pokeruby-tools). Copy the `tools/` folder with the compiled `exe`s to the `tools/` folder in your `pokeemerald/` directory.
You can then build pokeemerald using "make" in the MSYS environment provided with devkitARM. You can then build pokeemerald using `make` in the MSYS environment provided with devkitARM.

File diff suppressed because it is too large Load Diff

View File

@ -2856,8 +2856,8 @@ sav1_map_get_name: @ 8085C58
.pool .pool
thumb_func_end sav1_map_get_name thumb_func_end sav1_map_get_name
thumb_func_start sav1_map_get_battletype thumb_func_start GetCurrentMapBattleScene
sav1_map_get_battletype: @ 8085C80 GetCurrentMapBattleScene: @ 8085C80
push {lr} push {lr}
ldr r0, =gSaveBlock1Ptr ldr r0, =gSaveBlock1Ptr
ldr r1, [r0] ldr r1, [r0]
@ -2875,7 +2875,7 @@ sav1_map_get_battletype: @ 8085C80
pop {r1} pop {r1}
bx r1 bx r1
.pool .pool
thumb_func_end sav1_map_get_battletype thumb_func_end GetCurrentMapBattleScene
thumb_func_start overworld_bg_setup thumb_func_start overworld_bg_setup
@ void overworld_bg_setup() @ void overworld_bg_setup()

View File

@ -391,7 +391,7 @@ _08179F00:
.pool .pool
_08179F20: _08179F20:
bl reset_temp_tile_data_buffers bl reset_temp_tile_data_buffers
ldr r1, =gUnknown_08D7C440 ldr r1, =gBattleTerrainTiles_Building
movs r0, 0 movs r0, 0
str r0, [sp] str r0, [sp]
movs r0, 0x1 movs r0, 0x1
@ -423,7 +423,7 @@ _08179F5E:
b _08179FA0 b _08179FA0
.pool .pool
_08179F78: _08179F78:
ldr r0, =gUnknown_08D7C9EC ldr r0, =gBattleTerrainPalette_Frontier
movs r1, 0x20 movs r1, 0x20
movs r2, 0x60 movs r2, 0x60
bl LoadCompressedPalette bl LoadCompressedPalette

1312
asm/rom_8034C54.s Normal file

File diff suppressed because it is too large Load Diff

View File

@ -7602,7 +7602,7 @@ sub_807B170: @ 807B170
movs r0, 0x3 movs r0, 0x3
bl SetBgTilemapBuffer bl SetBgTilemapBuffer
bl DeactivateAllTextPrinters bl DeactivateAllTextPrinters
ldr r0, =gUnknown_08C00000 ldr r0, =gBattleTextboxTiles
mov r10, r0 mov r10, r0
movs r0, 0 movs r0, 0
mov r9, r0 mov r9, r0
@ -7611,7 +7611,7 @@ sub_807B170: @ 807B170
movs r2, 0 movs r2, 0
movs r3, 0 movs r3, 0
bl copy_decompressed_tile_data_to_vram_autofree bl copy_decompressed_tile_data_to_vram_autofree
ldr r0, =gUnknown_08C00524 ldr r0, =gBattleTextboxTilemap
mov r8, r0 mov r8, r0
ldr r4, =0x0201c000 ldr r4, =0x0201c000
adds r1, r4, 0 adds r1, r4, 0
@ -7621,7 +7621,7 @@ sub_807B170: @ 807B170
adds r2, r5, 0 adds r2, r5, 0
movs r3, 0 movs r3, 0
bl CopyToBgTilemapBuffer bl CopyToBgTilemapBuffer
ldr r6, =gUnknown_08C004E0 ldr r6, =gBattleTextboxPalette
adds r0, r6, 0 adds r0, r6, 0
movs r1, 0 movs r1, 0
movs r2, 0x20 movs r2, 0x20

View File

@ -4750,74 +4750,74 @@ gUnknown_0831ABA0:: @ 831ABA0
.align 2 .align 2
gBattleTerrainTable:: @ 831ABA8 gBattleTerrainTable:: @ 831ABA8
@ tall_grass @ tall_grass
.4byte gUnknown_08D77D68 .4byte gBattleTerrainTiles_TallGrass
.4byte gUnknown_08D78350 .4byte gBattleTerrainTilemap_TallGrass
.4byte gUnknown_08D7E280 .4byte gBattleTerrainAnimTiles_TallGrass
.4byte gUnknown_08D7E808 .4byte gBattleTerrainAnimTilemap_TallGrass
.4byte gUnknown_08D78318 .4byte gBattleTerrainPalette_TallGrass
@ long_grass @ long_grass
.4byte gUnknown_08D78600 .4byte gBattleTerrainTiles_LongGrass
.4byte gUnknown_08D78CB8 .4byte gBattleTerrainTilemap_LongGrass
.4byte gUnknown_08D7E9C4 .4byte gBattleTerrainAnimTiles_LongGrass
.4byte gUnknown_08D7F0D4 .4byte gBattleTerrainAnimTilemap_LongGrass
.4byte gUnknown_08D78C78 .4byte gBattleTerrainPalette_LongGrass
@ sand @ sand
.4byte gUnknown_08D78F68 .4byte gBattleTerrainTiles_Sand
.4byte gUnknown_08D795A8 .4byte gBattleTerrainTilemap_Sand
.4byte gUnknown_08D7F30C .4byte gBattleTerrainAnimTiles_Sand
.4byte gUnknown_08D7F850 .4byte gBattleTerrainAnimTilemap_Sand
.4byte gUnknown_08D79560 .4byte gBattleTerrainPalette_Sand
@ underwater @ underwater
.4byte gUnknown_08D79858 .4byte gBattleTerrainTiles_Underwater
.4byte gUnknown_08D79E58 .4byte gBattleTerrainTilemap_Underwater
.4byte gUnknown_08D7F9F8 .4byte gBattleTerrainAnimTiles_Underwater
.4byte gUnknown_08D7FEC4 .4byte gBattleTerrainAnimTilemap_Underwater
.4byte gUnknown_08D79E10 .4byte gBattleTerrainPalette_Underwater
@ water @ water
.4byte gUnknown_08D7A108 .4byte gBattleTerrainTiles_Water
.4byte gUnknown_08D7A720 .4byte gBattleTerrainTilemap_Water
.4byte gUnknown_08D80054 .4byte gBattleTerrainAnimTiles_Water
.4byte gUnknown_08D80660 .4byte gBattleTerrainAnimTilemap_Water
.4byte gUnknown_08D7A6DC .4byte gBattleTerrainPalette_Water
@ pond_water @ pond_water
.4byte gUnknown_08D7A9D0 .4byte gBattleTerrainTiles_PondWater
.4byte gUnknown_08D7AFB8 .4byte gBattleTerrainTilemap_PondWater
.4byte gUnknown_08D80804 .4byte gBattleTerrainAnimTiles_PondWater
.4byte gUnknown_08D80D50 .4byte gBattleTerrainAnimTilemap_PondWater
.4byte gUnknown_08D7AF78 .4byte gBattleTerrainPalette_PondWater
@ rock @ rock
.4byte gUnknown_08D7B268 .4byte gBattleTerrainTiles_Rock
.4byte gUnknown_08D7B864 .4byte gBattleTerrainTilemap_Rock
.4byte gUnknown_08D80E9C .4byte gBattleTerrainAnimTiles_Rock
.4byte gUnknown_08D8147C .4byte gBattleTerrainAnimTilemap_Rock
.4byte gUnknown_08D7B828 .4byte gBattleTerrainPalette_Rock
@ cave @ cave
.4byte gUnknown_08D7BB14 .4byte gBattleTerrainTiles_Cave
.4byte gUnknown_08D7C154 .4byte gBattleTerrainTilemap_Cave
.4byte gUnknown_08D81610 .4byte gBattleTerrainAnimTiles_Cave
.4byte gUnknown_08D81E2C .4byte gBattleTerrainAnimTilemap_Cave
.4byte gUnknown_08D7C10C .4byte gBattleTerrainPalette_Cave
@ building @ building
.4byte gUnknown_08D7C440 .4byte gBattleTerrainTiles_Building
.4byte gUnknown_08D7CA28 .4byte gBattleTerrainTilemap_Building
.4byte gUnknown_08D820D4 .4byte gBattleTerrainAnimTiles_Building
.4byte gUnknown_08D824E4 .4byte gBattleTerrainAnimTilemap_Building
.4byte gUnknown_08D7DEB4 .4byte gBattleTerrainPalette_Building
@ plain @ plain
.4byte gUnknown_08D7C440 .4byte gBattleTerrainTiles_Building
.4byte gUnknown_08D7CA28 .4byte gBattleTerrainTilemap_Building
.4byte gUnknown_08D820D4 .4byte gBattleTerrainAnimTiles_Building
.4byte gUnknown_08D824E4 .4byte gBattleTerrainAnimTilemap_Building
.4byte gUnknown_08D7C404 .4byte gBattleTerrainPalette_Plain
.align 2 .align 2
gUnknown_0831AC70:: @ 831AC70 gUnknown_0831AC70:: @ 831AC70

View File

@ -1,12 +1,12 @@
.section gfx_data, "aw", %progbits .section gfx_data, "aw", %progbits
gUnknown_08C00000:: @ 8C00000 gBattleTextboxTiles:: @ 8C00000
.incbin "baserom.gba", 0xc00000, 0x4e0 .incbin "baserom.gba", 0xc00000, 0x4e0
gUnknown_08C004E0:: @ 8C004E0 gBattleTextboxPalette:: @ 8C004E0
.incbin "baserom.gba", 0xc004e0, 0x44 .incbin "baserom.gba", 0xc004e0, 0x44
gUnknown_08C00524:: @ 8C00524 gBattleTextboxTilemap:: @ 8C00524
.incbin "baserom.gba", 0xc00524, 0x22c .incbin "baserom.gba", 0xc00524, 0x22c
@ 8C00750 @ 8C00750
@ -352,199 +352,199 @@ gUnknown_08D77AE4:: @ 8D77AE4
gUnknown_08D77B0C:: @ 8D77B0C gUnknown_08D77B0C:: @ 8D77B0C
.incbin "baserom.gba", 0xd77b0c, 0x25c .incbin "baserom.gba", 0xd77b0c, 0x25c
gUnknown_08D77D68:: @ 8D77D68 gBattleTerrainTiles_TallGrass:: @ 8D77D68
.incbin "baserom.gba", 0xd77d68, 0x5b0 .incbin "baserom.gba", 0xd77d68, 0x5b0
gUnknown_08D78318:: @ 8D78318 gBattleTerrainPalette_TallGrass:: @ 8D78318
.incbin "baserom.gba", 0xd78318, 0x38 .incbin "baserom.gba", 0xd78318, 0x38
gUnknown_08D78350:: @ 8D78350 gBattleTerrainTilemap_TallGrass:: @ 8D78350
.incbin "baserom.gba", 0xd78350, 0x2b0 .incbin "baserom.gba", 0xd78350, 0x2b0
gUnknown_08D78600:: @ 8D78600 gBattleTerrainTiles_LongGrass:: @ 8D78600
.incbin "baserom.gba", 0xd78600, 0x678 .incbin "baserom.gba", 0xd78600, 0x678
gUnknown_08D78C78:: @ 8D78C78 gBattleTerrainPalette_LongGrass:: @ 8D78C78
.incbin "baserom.gba", 0xd78C78, 0x40 .incbin "baserom.gba", 0xd78C78, 0x40
gUnknown_08D78CB8:: @ 8D78CB8 gBattleTerrainTilemap_LongGrass:: @ 8D78CB8
.incbin "baserom.gba", 0xd78CB8, 0x2b0 .incbin "baserom.gba", 0xd78CB8, 0x2b0
gUnknown_08D78F68:: @ 8D78F68 gBattleTerrainTiles_Sand:: @ 8D78F68
.incbin "baserom.gba", 0xd78f68, 0x5f8 .incbin "baserom.gba", 0xd78f68, 0x5f8
gUnknown_08D79560:: @ 8D79560 gBattleTerrainPalette_Sand:: @ 8D79560
.incbin "baserom.gba", 0xd79560, 0x48 .incbin "baserom.gba", 0xd79560, 0x48
gUnknown_08D795A8:: @ 8D795A8 gBattleTerrainTilemap_Sand:: @ 8D795A8
.incbin "baserom.gba", 0xd795A8, 0x2b0 .incbin "baserom.gba", 0xd795A8, 0x2b0
gUnknown_08D79858:: @ 8D79858 gBattleTerrainTiles_Underwater:: @ 8D79858
.incbin "baserom.gba", 0xd79858, 0x5b8 .incbin "baserom.gba", 0xd79858, 0x5b8
gUnknown_08D79E10:: @ 8D79E10 gBattleTerrainPalette_Underwater:: @ 8D79E10
.incbin "baserom.gba", 0xd79E10, 0x48 .incbin "baserom.gba", 0xd79E10, 0x48
gUnknown_08D79E58:: @ 8D79E58 gBattleTerrainTilemap_Underwater:: @ 8D79E58
.incbin "baserom.gba", 0xd79e58, 0x2b0 .incbin "baserom.gba", 0xd79e58, 0x2b0
gUnknown_08D7A108:: @ 8D7A108 gBattleTerrainTiles_Water:: @ 8D7A108
.incbin "baserom.gba", 0xd7a108, 0x5d4 .incbin "baserom.gba", 0xd7a108, 0x5d4
gUnknown_08D7A6DC:: @ 8D7A6DC gBattleTerrainPalette_Water:: @ 8D7A6DC
.incbin "baserom.gba", 0xd7a6DC, 0x44 .incbin "baserom.gba", 0xd7a6DC, 0x44
gUnknown_08D7A720:: @ 8D7A720 gBattleTerrainTilemap_Water:: @ 8D7A720
.incbin "baserom.gba", 0xd7a720, 0x2b0 .incbin "baserom.gba", 0xd7a720, 0x2b0
gUnknown_08D7A9D0:: @ 8D7A9D0 gBattleTerrainTiles_PondWater:: @ 8D7A9D0
.incbin "baserom.gba", 0xd7a9D0, 0x5a8 .incbin "baserom.gba", 0xd7a9D0, 0x5a8
gUnknown_08D7AF78:: @ 8D7AF78 gBattleTerrainPalette_PondWater:: @ 8D7AF78
.incbin "baserom.gba", 0xd7af78, 0x40 .incbin "baserom.gba", 0xd7af78, 0x40
gUnknown_08D7AFB8:: @ 8D7AFB8 gBattleTerrainTilemap_PondWater:: @ 8D7AFB8
.incbin "baserom.gba", 0xd7aFB8, 0x2b0 .incbin "baserom.gba", 0xd7aFB8, 0x2b0
gUnknown_08D7B268:: @ 8D7B268 gBattleTerrainTiles_Rock:: @ 8D7B268
.incbin "baserom.gba", 0xd7b268, 0x5c0 .incbin "baserom.gba", 0xd7b268, 0x5c0
gUnknown_08D7B828:: @ 8D7B828 gBattleTerrainPalette_Rock:: @ 8D7B828
.incbin "baserom.gba", 0xd7b828, 0x3c .incbin "baserom.gba", 0xd7b828, 0x3c
gUnknown_08D7B864:: @ 8D7B864 gBattleTerrainTilemap_Rock:: @ 8D7B864
.incbin "baserom.gba", 0xd7b864, 0x2b0 .incbin "baserom.gba", 0xd7b864, 0x2b0
gUnknown_08D7BB14:: @ 8D7BB14 gBattleTerrainTiles_Cave:: @ 8D7BB14
.incbin "baserom.gba", 0xd7bb14, 0x5f8 .incbin "baserom.gba", 0xd7bb14, 0x5f8
gUnknown_08D7C10C:: @ 8D7C10C gBattleTerrainPalette_Cave:: @ 8D7C10C
.incbin "baserom.gba", 0xd7c10c, 0x48 .incbin "baserom.gba", 0xd7c10c, 0x48
gUnknown_08D7C154:: @ 8D7C154 gBattleTerrainTilemap_Cave:: @ 8D7C154
.incbin "baserom.gba", 0xd7c154, 0x2b0 .incbin "baserom.gba", 0xd7c154, 0x2b0
gUnknown_08D7C404:: @ 8D7C404 gBattleTerrainPalette_Plain:: @ 8D7C404
.incbin "baserom.gba", 0xd7c404, 0x3c .incbin "baserom.gba", 0xd7c404, 0x3c
gUnknown_08D7C440:: @ 8D7C440 gBattleTerrainTiles_Building:: @ 8D7C440
.incbin "baserom.gba", 0xd7c440, 0x5ac .incbin "baserom.gba", 0xd7c440, 0x5ac
gUnknown_08D7C9EC:: @ 8D7C9EC gBattleTerrainPalette_Frontier:: @ 8D7C9EC
.incbin "baserom.gba", 0xd7c9ec, 0x3c .incbin "baserom.gba", 0xd7c9ec, 0x3c
gUnknown_08D7CA28:: @ 8D7CA28 gBattleTerrainTilemap_Building:: @ 8D7CA28
.incbin "baserom.gba", 0xd7ca28, 0x2b0 .incbin "baserom.gba", 0xd7ca28, 0x2b0
gUnknown_08D7CCD8:: @ 8D7CCD8 gBattleTerrainTiles_Stadium:: @ 8D7CCD8
.incbin "baserom.gba", 0xd7ccd8, 0x608 .incbin "baserom.gba", 0xd7ccd8, 0x608
gUnknown_08D7D2E0:: @ 8D7D2E0 gBattleTerrainTilemap_Stadium:: @ 8D7D2E0
.incbin "baserom.gba", 0xd7d2e0, 0x2b0 .incbin "baserom.gba", 0xd7d2e0, 0x2b0
gUnknown_08D7D590:: @ 8D7D590 gBattleTerrainTiles_Rayquaza:: @ 8D7D590
.incbin "baserom.gba", 0xd7d590, 0x674 .incbin "baserom.gba", 0xd7d590, 0x674
gUnknown_08D7DC04:: @ 8D7DC04 gBattleTerrainTilemap_Rayquaza:: @ 8D7DC04
.incbin "baserom.gba", 0xd7dc04, 0x2b0 .incbin "baserom.gba", 0xd7dc04, 0x2b0
gUnknown_08D7DEB4:: @ 8D7DEB4 gBattleTerrainPalette_Building:: @ 8D7DEB4
.incbin "baserom.gba", 0xd7deb4, 0x40 .incbin "baserom.gba", 0xd7deb4, 0x40
gUnknown_08D7DEF4:: @ 8D7DEF4 gBattleTerrainPalette_Kyogre:: @ 8D7DEF4
.incbin "baserom.gba", 0xd7def4, 0x3c .incbin "baserom.gba", 0xd7def4, 0x3c
gUnknown_08D7DF30:: @ 8D7DF30 gBattleTerrainPalette_Groudon:: @ 8D7DF30
.incbin "baserom.gba", 0xd7df30, 0x58 .incbin "baserom.gba", 0xd7df30, 0x58
gUnknown_08D7DF88:: @ 8D7DF88 gBattleTerrainPalette_BuildingGym:: @ 8D7DF88
.incbin "baserom.gba", 0xd7df88, 0x3c .incbin "baserom.gba", 0xd7df88, 0x3c
gUnknown_08D7DFC4:: @ 8D7DFC4 gBattleTerrainPalette_BuildingLeader:: @ 8D7DFC4
.incbin "baserom.gba", 0xd7dfc4, 0x3c .incbin "baserom.gba", 0xd7dfc4, 0x3c
gUnknown_08D7E000:: @ 8D7E000 gBattleTerrainPalette_StadiumAqua:: @ 8D7E000
.incbin "baserom.gba", 0xd7e000, 0x60 .incbin "baserom.gba", 0xd7e000, 0x60
gUnknown_08D7E060:: @ 8D7E060 gBattleTerrainPalette_StadiumMagma:: @ 8D7E060
.incbin "baserom.gba", 0xd7e060, 0x6c .incbin "baserom.gba", 0xd7e060, 0x6c
gUnknown_08D7E0CC:: @ 8D7E0CC gBattleTerrainPalette_StadiumSidney:: @ 8D7E0CC
.incbin "baserom.gba", 0xd7e0cc, 0x50 .incbin "baserom.gba", 0xd7e0cc, 0x50
gUnknown_08D7E11C:: @ 8D7E11C gBattleTerrainPalette_StadiumPhoebe:: @ 8D7E11C
.incbin "baserom.gba", 0xd7e11c, 0x48 .incbin "baserom.gba", 0xd7e11c, 0x48
gUnknown_08D7E164:: @ 8D7E164 gBattleTerrainPalette_StadiumGlacia:: @ 8D7E164
.incbin "baserom.gba", 0xd7e164, 0x44 .incbin "baserom.gba", 0xd7e164, 0x44
gUnknown_08D7E1A8:: @ 8D7E1A8 gBattleTerrainPalette_StadiumDrake:: @ 8D7E1A8
.incbin "baserom.gba", 0xd7e1a8, 0x50 .incbin "baserom.gba", 0xd7e1a8, 0x50
gUnknown_08D7E1F8:: @ 8D7E1F8 gBattleTerrainPalette_StadiumWallace:: @ 8D7E1F8
.incbin "baserom.gba", 0xd7e1f8, 0x3c .incbin "baserom.gba", 0xd7e1f8, 0x3c
gUnknown_08D7E234:: @ 8D7E234 gBattleTerrainPalette_Rayquaza:: @ 8D7E234
.incbin "baserom.gba", 0xd7e234, 0x4c .incbin "baserom.gba", 0xd7e234, 0x4c
gUnknown_08D7E280:: @ 8D7E280 gBattleTerrainAnimTiles_TallGrass:: @ 8D7E280
.incbin "baserom.gba", 0xd7e280, 0x588 .incbin "baserom.gba", 0xd7e280, 0x588
gUnknown_08D7E808:: @ 8D7E808 gBattleTerrainAnimTilemap_TallGrass:: @ 8D7E808
.incbin "baserom.gba", 0xd7e808, 0x1bc .incbin "baserom.gba", 0xd7e808, 0x1bc
gUnknown_08D7E9C4:: @ 8D7E9C4 gBattleTerrainAnimTiles_LongGrass:: @ 8D7E9C4
.incbin "baserom.gba", 0xd7e9C4, 0x710 .incbin "baserom.gba", 0xd7e9C4, 0x710
gUnknown_08D7F0D4:: @ 8D7F0D4 gBattleTerrainAnimTilemap_LongGrass:: @ 8D7F0D4
.incbin "baserom.gba", 0xd7F0D4, 0x238 .incbin "baserom.gba", 0xd7F0D4, 0x238
gUnknown_08D7F30C:: @ 8D7F30C gBattleTerrainAnimTiles_Sand:: @ 8D7F30C
.incbin "baserom.gba", 0xd7F30c, 0x544 .incbin "baserom.gba", 0xd7F30c, 0x544
gUnknown_08D7F850:: @ 8D7F850 gBattleTerrainAnimTilemap_Sand:: @ 8D7F850
.incbin "baserom.gba", 0xd7F850, 0x1a8 .incbin "baserom.gba", 0xd7F850, 0x1a8
gUnknown_08D7F9F8:: @ 8D7F9F8 gBattleTerrainAnimTiles_Underwater:: @ 8D7F9F8
.incbin "baserom.gba", 0xd7f9f8, 0x4cc .incbin "baserom.gba", 0xd7f9f8, 0x4cc
gUnknown_08D7FEC4:: @ 8D7FEC4 gBattleTerrainAnimTilemap_Underwater:: @ 8D7FEC4
.incbin "baserom.gba", 0xd7fec4, 0x190 .incbin "baserom.gba", 0xd7fec4, 0x190
gUnknown_08D80054:: @ 8D80054 gBattleTerrainAnimTiles_Water:: @ 8D80054
.incbin "baserom.gba", 0xd80054, 0x60c .incbin "baserom.gba", 0xd80054, 0x60c
gUnknown_08D80660:: @ 8D80660 gBattleTerrainAnimTilemap_Water:: @ 8D80660
.incbin "baserom.gba", 0xd80660, 0x1a4 .incbin "baserom.gba", 0xd80660, 0x1a4
gUnknown_08D80804:: @ 8D80804 gBattleTerrainAnimTiles_PondWater:: @ 8D80804
.incbin "baserom.gba", 0xd80804, 0x54c .incbin "baserom.gba", 0xd80804, 0x54c
gUnknown_08D80D50:: @ 8D80D50 gBattleTerrainAnimTilemap_PondWater:: @ 8D80D50
.incbin "baserom.gba", 0xd80d50, 0x14C .incbin "baserom.gba", 0xd80d50, 0x14C
gUnknown_08D80E9C:: @ 8D80E9C gBattleTerrainAnimTiles_Rock:: @ 8D80E9C
.incbin "baserom.gba", 0xd80e9c, 0x5e0 .incbin "baserom.gba", 0xd80e9c, 0x5e0
gUnknown_08D8147C:: @ 8D8147C gBattleTerrainAnimTilemap_Rock:: @ 8D8147C
.incbin "baserom.gba", 0xd8147C, 0x194 .incbin "baserom.gba", 0xd8147C, 0x194
gUnknown_08D81610:: @ 8D81610 gBattleTerrainAnimTiles_Cave:: @ 8D81610
.incbin "baserom.gba", 0xd81610, 0x81c .incbin "baserom.gba", 0xd81610, 0x81c
gUnknown_08D81E2C:: @ 8D81E2C gBattleTerrainAnimTilemap_Cave:: @ 8D81E2C
.incbin "baserom.gba", 0xd81e2c, 0x2a8 .incbin "baserom.gba", 0xd81e2c, 0x2a8
gUnknown_08D820D4:: @ 8D820D4 gBattleTerrainAnimTiles_Building:: @ 8D820D4
.incbin "baserom.gba", 0xd820d4, 0x410 .incbin "baserom.gba", 0xd820d4, 0x410
gUnknown_08D824E4:: @ 8D824E4 gBattleTerrainAnimTilemap_Building:: @ 8D824E4
.incbin "baserom.gba", 0xd824e4, 0x124 .incbin "baserom.gba", 0xd824e4, 0x124
gUnknown_08D82608:: @ 8D82608 gBattleTerrainAnimTiles_Rayquaza:: @ 8D82608
.incbin "baserom.gba", 0xd82608, 0x668 .incbin "baserom.gba", 0xd82608, 0x668
gUnknown_08D82C70:: @ 8D82C70 gBattleTerrainAnimTilemap_Rayquaza:: @ 8D82C70
.incbin "baserom.gba", 0xd82c70, 0x2a0 .incbin "baserom.gba", 0xd82c70, 0x2a0
gUnknown_08D82F10:: @ 8D82F10 gUnknown_08D82F10:: @ 8D82F10

View File

@ -2,113 +2,109 @@ monstillfrontdir := graphics/pokemon/front_pics
monbackdir := graphics/pokemon/back_pics monbackdir := graphics/pokemon/back_pics
monfrontdir := graphics/pokemon/anim_front_pics monfrontdir := graphics/pokemon/anim_front_pics
monpaldir := graphics/pokemon/palettes monpaldir := graphics/pokemon/palettes
INTROGFXDIR := graphics/intro tilesetdir := data/tilesets
interfacedir := graphics/interface fontdir := data/graphics/fonts
PKNAVGFXDIR := graphics/pokenav
MISCGFXDIR := graphics/misc
$(monstillfrontdir)/castform_still_front_pic.4bpp: $(monstillfrontdir)/castform_normal_form_still_front_pic.4bpp \ $(monstillfrontdir)/castform_still_front_pic.4bpp: $(monstillfrontdir)/castform_normal_form_still_front_pic.4bpp \
$(monstillfrontdir)/castform_sunny_form_still_front_pic.4bpp \ $(monstillfrontdir)/castform_sunny_form_still_front_pic.4bpp \
$(monstillfrontdir)/castform_rainy_form_still_front_pic.4bpp \ $(monstillfrontdir)/castform_rainy_form_still_front_pic.4bpp \
$(monstillfrontdir)/castform_snowy_form_still_front_pic.4bpp $(monstillfrontdir)/castform_snowy_form_still_front_pic.4bpp
@cat $(monstillfrontdir)/castform_normal_form_still_front_pic.4bpp $(monstillfrontdir)/castform_sunny_form_still_front_pic.4bpp $(monstillfrontdir)/castform_rainy_form_still_front_pic.4bpp $(monstillfrontdir)/castform_snowy_form_still_front_pic.4bpp >$@ @cat $^ >$@
$(monbackdir)/castform_back_pic.4bpp: $(monbackdir)/castform_normal_form_back_pic.4bpp \ $(monbackdir)/castform_back_pic.4bpp: $(monbackdir)/castform_normal_form_back_pic.4bpp \
$(monbackdir)/castform_sunny_form_back_pic.4bpp \ $(monbackdir)/castform_sunny_form_back_pic.4bpp \
$(monbackdir)/castform_rainy_form_back_pic.4bpp \ $(monbackdir)/castform_rainy_form_back_pic.4bpp \
$(monbackdir)/castform_snowy_form_back_pic.4bpp $(monbackdir)/castform_snowy_form_back_pic.4bpp
@cat $(monbackdir)/castform_normal_form_back_pic.4bpp $(monbackdir)/castform_sunny_form_back_pic.4bpp $(monbackdir)/castform_rainy_form_back_pic.4bpp $(monbackdir)/castform_snowy_form_back_pic.4bpp >$@ @cat $^ >$@
$(monfrontdir)/castform_front_pic.4bpp: $(monfrontdir)/castform_normal_form_front_pic.4bpp \ $(monfrontdir)/castform_front_pic.4bpp: $(monfrontdir)/castform_normal_form_front_pic.4bpp \
$(monfrontdir)/castform_sunny_form_front_pic.4bpp \ $(monfrontdir)/castform_sunny_form_front_pic.4bpp \
$(monfrontdir)/castform_rainy_form_front_pic.4bpp \ $(monfrontdir)/castform_rainy_form_front_pic.4bpp \
$(monfrontdir)/castform_snowy_form_front_pic.4bpp $(monfrontdir)/castform_snowy_form_front_pic.4bpp
@cat $(monfrontdir)/castform_normal_form_front_pic.4bpp $(monfrontdir)/castform_sunny_form_front_pic.4bpp $(monfrontdir)/castform_rainy_form_front_pic.4bpp $(monfrontdir)/castform_snowy_form_front_pic.4bpp >$@ @cat $^ >$@
$(monpaldir)/castform_palette.gbapal: $(monpaldir)/castform_normal_form_palette.gbapal \ $(monpaldir)/castform_palette.gbapal: $(monpaldir)/castform_normal_form_palette.gbapal \
$(monpaldir)/castform_sunny_form_palette.gbapal \ $(monpaldir)/castform_sunny_form_palette.gbapal \
$(monpaldir)/castform_rainy_form_palette.gbapal \ $(monpaldir)/castform_rainy_form_palette.gbapal \
$(monpaldir)/castform_snowy_form_palette.gbapal $(monpaldir)/castform_snowy_form_palette.gbapal
@cat $(monpaldir)/castform_normal_form_palette.gbapal $(monpaldir)/castform_sunny_form_palette.gbapal $(monpaldir)/castform_rainy_form_palette.gbapal $(monpaldir)/castform_snowy_form_palette.gbapal >$@ @cat $^ >$@
$(monpaldir)/castform_shiny_palette.gbapal: $(monpaldir)/castform_normal_form_shiny_palette.gbapal \ $(monpaldir)/castform_shiny_palette.gbapal: $(monpaldir)/castform_normal_form_shiny_palette.gbapal \
$(monpaldir)/castform_sunny_form_shiny_palette.gbapal \ $(monpaldir)/castform_sunny_form_shiny_palette.gbapal \
$(monpaldir)/castform_rainy_form_shiny_palette.gbapal \ $(monpaldir)/castform_rainy_form_shiny_palette.gbapal \
$(monpaldir)/castform_snowy_form_shiny_palette.gbapal $(monpaldir)/castform_snowy_form_shiny_palette.gbapal
@cat $(monpaldir)/castform_normal_form_shiny_palette.gbapal $(monpaldir)/castform_sunny_form_shiny_palette.gbapal $(monpaldir)/castform_rainy_form_shiny_palette.gbapal $(monpaldir)/castform_snowy_form_shiny_palette.gbapal >$@ @cat $^ >$@
tilesetdir := data/tilesets $(tilesetdir)/secondary/petalburg/tiles.4bpp: %.4bpp: %.png
$(tilesetdir)/secondary/petalburg/tiles.4bpp: $(tilesetdir)/secondary/petalburg/tiles.png
$(GFX) $< $@ -num_tiles 159 $(GFX) $< $@ -num_tiles 159
$(tilesetdir)/secondary/rustboro/tiles.4bpp: $(tilesetdir)/secondary/rustboro/tiles.png $(tilesetdir)/secondary/rustboro/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 498 $(GFX) $< $@ -num_tiles 498
$(tilesetdir)/secondary/dewford/tiles.4bpp: $(tilesetdir)/secondary/dewford/tiles.png $(tilesetdir)/secondary/dewford/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 503 $(GFX) $< $@ -num_tiles 503
$(tilesetdir)/secondary/slateport/tiles.4bpp: $(tilesetdir)/secondary/slateport/tiles.png $(tilesetdir)/secondary/slateport/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 504 $(GFX) $< $@ -num_tiles 504
$(tilesetdir)/secondary/mauville/tiles.4bpp: $(tilesetdir)/secondary/mauville/tiles.png $(tilesetdir)/secondary/mauville/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 503 $(GFX) $< $@ -num_tiles 503
$(tilesetdir)/secondary/lavaridge/tiles.4bpp: $(tilesetdir)/secondary/lavaridge/tiles.png $(tilesetdir)/secondary/lavaridge/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 450 $(GFX) $< $@ -num_tiles 450
$(tilesetdir)/secondary/fortree/tiles.4bpp: $(tilesetdir)/secondary/fortree/tiles.png $(tilesetdir)/secondary/fortree/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 493 $(GFX) $< $@ -num_tiles 493
$(tilesetdir)/secondary/pacifidlog/tiles.4bpp: $(tilesetdir)/secondary/pacifidlog/tiles.png $(tilesetdir)/secondary/pacifidlog/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 504 $(GFX) $< $@ -num_tiles 504
$(tilesetdir)/secondary/sootopolis/tiles.4bpp: $(tilesetdir)/secondary/sootopolis/tiles.png $(tilesetdir)/secondary/sootopolis/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 328 $(GFX) $< $@ -num_tiles 328
$(tilesetdir)/secondary/battle_frontier_outside_west/tiles.4bpp: $(tilesetdir)/secondary/battle_frontier_outside_west/tiles.png $(tilesetdir)/secondary/battle_frontier_outside_west/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 508 $(GFX) $< $@ -num_tiles 508
$(tilesetdir)/secondary/battle_frontier_outside_east/tiles.4bpp: $(tilesetdir)/secondary/battle_frontier_outside_east/tiles.png $(tilesetdir)/secondary/battle_frontier_outside_east/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 508 $(GFX) $< $@ -num_tiles 508
$(tilesetdir)/primary/building/tiles.4bpp: $(tilesetdir)/primary/building/tiles.png $(tilesetdir)/primary/building/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 502 $(GFX) $< $@ -num_tiles 502
$(tilesetdir)/secondary/shop/tiles.4bpp: $(tilesetdir)/secondary/shop/tiles.png $(tilesetdir)/secondary/shop/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 502 $(GFX) $< $@ -num_tiles 502
$(tilesetdir)/secondary/pokemon_center/tiles.4bpp: $(tilesetdir)/secondary/pokemon_center/tiles.png $(tilesetdir)/secondary/pokemon_center/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 478 $(GFX) $< $@ -num_tiles 478
$(tilesetdir)/secondary/cave/tiles.4bpp: $(tilesetdir)/secondary/cave/tiles.png $(tilesetdir)/secondary/cave/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 425 $(GFX) $< $@ -num_tiles 425
$(tilesetdir)/secondary/pokemon_school/tiles.4bpp: $(tilesetdir)/secondary/pokemon_school/tiles.png $(tilesetdir)/secondary/pokemon_school/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 278 $(GFX) $< $@ -num_tiles 278
$(tilesetdir)/secondary/pokemon_fan_club/tiles.4bpp: $(tilesetdir)/secondary/pokemon_fan_club/tiles.png $(tilesetdir)/secondary/pokemon_fan_club/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 319 $(GFX) $< $@ -num_tiles 319
$(tilesetdir)/secondary/unused_1/tiles.4bpp: $(tilesetdir)/secondary/unused_1/tiles.png $(tilesetdir)/secondary/unused_1/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 17 $(GFX) $< $@ -num_tiles 17
$(tilesetdir)/secondary/meteor_falls/tiles.4bpp: $(tilesetdir)/secondary/meteor_falls/tiles.png $(tilesetdir)/secondary/meteor_falls/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 460 $(GFX) $< $@ -num_tiles 460
$(tilesetdir)/secondary/oceanic_museum/tiles.4bpp: $(tilesetdir)/secondary/oceanic_museum/tiles.png $(tilesetdir)/secondary/oceanic_museum/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 319 $(GFX) $< $@ -num_tiles 319
$(tilesetdir)/secondary/cable_club/unknown_tiles.4bpp: $(tilesetdir)/secondary/cable_club/unknown_tiles.png $(tilesetdir)/secondary/cable_club/unknown_tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 120 $(GFX) $< $@ -num_tiles 120
$(tilesetdir)/secondary/seashore_house/tiles.4bpp: $(tilesetdir)/secondary/seashore_house/tiles.png $(tilesetdir)/secondary/seashore_house/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 312 $(GFX) $< $@ -num_tiles 312
$(tilesetdir)/secondary/pretty_petal_flower_shop/tiles.4bpp: $(tilesetdir)/secondary/pretty_petal_flower_shop/tiles.png $(tilesetdir)/secondary/pretty_petal_flower_shop/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 345 $(GFX) $< $@ -num_tiles 345
$(tilesetdir)/secondary/pokemon_day_care/tiles.4bpp: $(tilesetdir)/secondary/pokemon_day_care/tiles.png $(tilesetdir)/secondary/pokemon_day_care/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 355 $(GFX) $< $@ -num_tiles 355
$(tilesetdir)/secondary/secret_base/brown_cave/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/brown_cave/tiles.png $(tilesetdir)/secondary/secret_base/brown_cave/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/brown_cave/tiles.png
@ -129,110 +125,108 @@ $(tilesetdir)/secondary/secret_base/yellow_cave/unused_tiles.4bpp: $(tilesetdir)
$(tilesetdir)/secondary/secret_base/red_cave/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/red_cave/tiles.png $(tilesetdir)/secondary/secret_base/red_cave/unused_tiles.4bpp: $(tilesetdir)/secondary/secret_base/red_cave/tiles.png
$(GFX) $< $@ -num_tiles 82 $(GFX) $< $@ -num_tiles 82
$(tilesetdir)/secondary/secret_base/brown_cave/tiles.4bpp: $(tilesetdir)/secondary/secret_base/brown_cave/tiles.png $(tilesetdir)/secondary/secret_base/brown_cave/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 83 $(GFX) $< $@ -num_tiles 83
$(tilesetdir)/secondary/secret_base/tree/tiles.4bpp: $(tilesetdir)/secondary/secret_base/tree/tiles.png $(tilesetdir)/secondary/secret_base/tree/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 83 $(GFX) $< $@ -num_tiles 83
$(tilesetdir)/secondary/secret_base/shrub/tiles.4bpp: $(tilesetdir)/secondary/secret_base/shrub/tiles.png $(tilesetdir)/secondary/secret_base/shrub/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 83 $(GFX) $< $@ -num_tiles 83
$(tilesetdir)/secondary/secret_base/blue_cave/tiles.4bpp: $(tilesetdir)/secondary/secret_base/blue_cave/tiles.png $(tilesetdir)/secondary/secret_base/blue_cave/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 83 $(GFX) $< $@ -num_tiles 83
$(tilesetdir)/secondary/secret_base/yellow_cave/tiles.4bpp: $(tilesetdir)/secondary/secret_base/yellow_cave/tiles.png $(tilesetdir)/secondary/secret_base/yellow_cave/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 83 $(GFX) $< $@ -num_tiles 83
$(tilesetdir)/secondary/secret_base/red_cave/tiles.4bpp: $(tilesetdir)/secondary/secret_base/red_cave/tiles.png $(tilesetdir)/secondary/secret_base/red_cave/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 83 $(GFX) $< $@ -num_tiles 83
$(tilesetdir)/secondary/inside_of_truck/tiles.4bpp: $(tilesetdir)/secondary/inside_of_truck/tiles.png $(tilesetdir)/secondary/inside_of_truck/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 62 $(GFX) $< $@ -num_tiles 62
$(tilesetdir)/secondary/contest/tiles.4bpp: $(tilesetdir)/secondary/contest/tiles.png $(tilesetdir)/secondary/contest/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 430 $(GFX) $< $@ -num_tiles 430
$(tilesetdir)/secondary/lilycove_museum/tiles.4bpp: $(tilesetdir)/secondary/lilycove_museum/tiles.png $(tilesetdir)/secondary/lilycove_museum/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 431 $(GFX) $< $@ -num_tiles 431
$(tilesetdir)/secondary/lab/tiles.4bpp: $(tilesetdir)/secondary/lab/tiles.png $(tilesetdir)/secondary/lab/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 500 $(GFX) $< $@ -num_tiles 500
$(tilesetdir)/secondary/underwater/tiles.4bpp: $(tilesetdir)/secondary/underwater/tiles.png $(tilesetdir)/secondary/underwater/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 500 $(GFX) $< $@ -num_tiles 500
$(tilesetdir)/secondary/generic_building/tiles.4bpp: $(tilesetdir)/secondary/generic_building/tiles.png $(tilesetdir)/secondary/generic_building/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 509 $(GFX) $< $@ -num_tiles 509
$(tilesetdir)/secondary/mauville_game_corner/tiles.4bpp: $(tilesetdir)/secondary/mauville_game_corner/tiles.png $(tilesetdir)/secondary/mauville_game_corner/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 469 $(GFX) $< $@ -num_tiles 469
$(tilesetdir)/secondary/unused_2/tiles.4bpp: $(tilesetdir)/secondary/unused_2/tiles.png $(tilesetdir)/secondary/unused_2/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 150 $(GFX) $< $@ -num_tiles 150
$(tilesetdir)/secondary/rustboro_gym/tiles.4bpp: $(tilesetdir)/secondary/rustboro_gym/tiles.png $(tilesetdir)/secondary/rustboro_gym/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 60 $(GFX) $< $@ -num_tiles 60
$(tilesetdir)/secondary/dewford_gym/tiles.4bpp: $(tilesetdir)/secondary/dewford_gym/tiles.png $(tilesetdir)/secondary/dewford_gym/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 61 $(GFX) $< $@ -num_tiles 61
$(tilesetdir)/secondary/lavaridge_gym/tiles.4bpp: $(tilesetdir)/secondary/lavaridge_gym/tiles.png $(tilesetdir)/secondary/lavaridge_gym/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 54 $(GFX) $< $@ -num_tiles 54
$(tilesetdir)/secondary/petalburg_gym/tiles.4bpp: $(tilesetdir)/secondary/petalburg_gym/tiles.png $(tilesetdir)/secondary/petalburg_gym/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 148 $(GFX) $< $@ -num_tiles 148
$(tilesetdir)/secondary/fortree_gym/tiles.4bpp: $(tilesetdir)/secondary/fortree_gym/tiles.png $(tilesetdir)/secondary/fortree_gym/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 61 $(GFX) $< $@ -num_tiles 61
$(tilesetdir)/secondary/mossdeep_gym/tiles.4bpp: $(tilesetdir)/secondary/mossdeep_gym/tiles.png $(tilesetdir)/secondary/mossdeep_gym/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 82 $(GFX) $< $@ -num_tiles 82
$(tilesetdir)/secondary/sootopolis_gym/tiles.4bpp: $(tilesetdir)/secondary/sootopolis_gym/tiles.png $(tilesetdir)/secondary/sootopolis_gym/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 484 $(GFX) $< $@ -num_tiles 484
$(tilesetdir)/secondary/trick_house_puzzle/tiles.4bpp: $(tilesetdir)/secondary/trick_house_puzzle/tiles.png $(tilesetdir)/secondary/trick_house_puzzle/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 294 $(GFX) $< $@ -num_tiles 294
$(tilesetdir)/secondary/inside_ship/tiles.4bpp: $(tilesetdir)/secondary/inside_ship/tiles.png $(tilesetdir)/secondary/inside_ship/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 342 $(GFX) $< $@ -num_tiles 342
$(tilesetdir)/secondary/elite_four/tiles.4bpp: $(tilesetdir)/secondary/elite_four/tiles.png $(tilesetdir)/secondary/elite_four/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 505 $(GFX) $< $@ -num_tiles 505
$(tilesetdir)/secondary/battle_frontier/tiles.4bpp: $(tilesetdir)/secondary/battle_frontier/tiles.png $(tilesetdir)/secondary/battle_frontier/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 310 $(GFX) $< $@ -num_tiles 310
$(tilesetdir)/secondary/battle_factory/tiles.4bpp: $(tilesetdir)/secondary/battle_factory/tiles.png $(tilesetdir)/secondary/battle_factory/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 424 $(GFX) $< $@ -num_tiles 424
$(tilesetdir)/secondary/battle_pike/tiles.4bpp: $(tilesetdir)/secondary/battle_pike/tiles.png $(tilesetdir)/secondary/battle_pike/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 382 $(GFX) $< $@ -num_tiles 382
$(tilesetdir)/secondary/mirage_tower/tiles.4bpp: $(tilesetdir)/secondary/mirage_tower/tiles.png $(tilesetdir)/secondary/mirage_tower/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 420 $(GFX) $< $@ -num_tiles 420
$(tilesetdir)/secondary/mossdeep_game_corner/tiles.4bpp: $(tilesetdir)/secondary/mossdeep_game_corner/tiles.png $(tilesetdir)/secondary/mossdeep_game_corner/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 95 $(GFX) $< $@ -num_tiles 95
$(tilesetdir)/secondary/island_harbor/tiles.4bpp: $(tilesetdir)/secondary/island_harbor/tiles.png $(tilesetdir)/secondary/island_harbor/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 503 $(GFX) $< $@ -num_tiles 503
$(tilesetdir)/secondary/trainer_hill/tiles.4bpp: $(tilesetdir)/secondary/trainer_hill/tiles.png $(tilesetdir)/secondary/trainer_hill/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 374 $(GFX) $< $@ -num_tiles 374
$(tilesetdir)/secondary/navel_rock/tiles.4bpp: $(tilesetdir)/secondary/navel_rock/tiles.png $(tilesetdir)/secondary/navel_rock/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 420 $(GFX) $< $@ -num_tiles 420
$(tilesetdir)/secondary/battle_frontier_ranking_hall/tiles.4bpp: $(tilesetdir)/secondary/battle_frontier_ranking_hall/tiles.png $(tilesetdir)/secondary/battle_frontier_ranking_hall/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 136 $(GFX) $< $@ -num_tiles 136
$(tilesetdir)/secondary/mystery_events_house/tiles.4bpp: $(tilesetdir)/secondary/mystery_events_house/tiles.png $(tilesetdir)/secondary/mystery_events_house/tiles.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 509 $(GFX) $< $@ -num_tiles 509
fontdir := data/graphics/fonts
$(fontdir)/font0.latfont: $(fontdir)/font0_latin.png $(fontdir)/font0.latfont: $(fontdir)/font0_latin.png
$(GFX) $< $@ $(GFX) $< $@
@ -269,31 +263,32 @@ $(fontdir)/unused_frlg_male.fwjpnfont: $(fontdir)/unused_japanese_frlg_male_font
$(fontdir)/unused_frlg_female.fwjpnfont: $(fontdir)/unused_japanese_frlg_female_font.png $(fontdir)/unused_frlg_female.fwjpnfont: $(fontdir)/unused_japanese_frlg_female_font.png
$(GFX) $< $@ $(GFX) $< $@
$(fontdir)/down_arrow.4bpp: $(fontdir)/down_arrow.png $(fontdir)/down_arrow.4bpp: %.4bpp: %.png
$(GFX) $< $@ $(GFX) $< $@
$(fontdir)/down_arrow_rs.4bpp: $(fontdir)/down_arrow_rs.png $(fontdir)/down_arrow_rs.4bpp: %.4bpp: %.png
$(GFX) $< $@ $(GFX) $< $@
$(fontdir)/unused_frlg_blanked_down_arrow.4bpp: $(fontdir)/unused_frlg_blanked_down_arrow.png $(fontdir)/unused_frlg_blanked_down_arrow.4bpp: %.4bpp: %.png
$(GFX) $< $@ $(GFX) $< $@
$(fontdir)/unused_frlg_down_arrow.4bpp: $(fontdir)/unused_frlg_down_arrow.png $(fontdir)/unused_frlg_down_arrow.4bpp: %.4bpp: %.png
$(GFX) $< $@ $(GFX) $< $@
$(fontdir)/keypad_icons.4bpp: $(fontdir)/keypad_icons.png $(fontdir)/keypad_icons.4bpp: %.4bpp: %.png
$(GFX) $< $@ $(GFX) $< $@
graphics/title_screen/pokemon_logo.gbapal: graphics/title_screen/pokemon_logo.pal graphics/title_screen/pokemon_logo.gbapal: %.gbapal: %.pal
$(GFX) $< $@ -num_colors 224 $(GFX) $< $@ -num_colors 224
$(INTROGFXDIR)/copyright.4bpp: $(INTROGFXDIR)/copyright.png graphics/intro/copyright.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 39 $(GFX) $< $@ -num_tiles 39
$(interfacedir)/pkmnjump_bg.4bpp: $(interfacedir)/pkmnjump_bg.png graphics/interface/pkmnjump_bg.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 63 $(GFX) $< $@ -num_tiles 63
$(PKNAVGFXDIR)/region_map.8bpp: $(PKNAVGFXDIR)/region_map.png graphics/pokenav/region_map.8bpp: %.8bpp: %.png
$(GFX) $< $@ -num_tiles 233 $(GFX) $< $@ -num_tiles 233
$(MISCGFXDIR)/japanese_hof.4bpp: $(MISCGFXDIR)/japanese_hof.png
graphics/misc/japanese_hof.4bpp: %.4bpp: %.png
$(GFX) $< $@ -num_tiles 29 $(GFX) $< $@ -num_tiles 29

View File

@ -8,6 +8,7 @@
#include "battle_ai_switch_items.h" #include "battle_ai_switch_items.h"
#include "battle_gfx_sfx_util.h" #include "battle_gfx_sfx_util.h"
#include "battle_util2.h" #include "battle_util2.h"
#include "battle_bg.h"
/* /*
Banks are a name given to what could be called a 'battlerId' or 'monControllerId'. Banks are a name given to what could be called a 'battlerId' or 'monControllerId'.
@ -863,16 +864,6 @@ struct BattleScripting
extern struct BattleScripting gBattleScripting; extern struct BattleScripting gBattleScripting;
// functions
// battle_1
void LoadBattleTextboxAndBackground(void);
void LoadBattleEntryBackground(void);
void ApplyPlayerChosenFrameToBattleMenu(void);
bool8 LoadChosenBattleElement(u8 caseId);
void DrawMainBattleBackground(void);
void task00_0800F6FC(u8 taskId);
enum enum
{ {
BACK_PIC_BRENDAN, BACK_PIC_BRENDAN,

13
include/battle_bg.h Normal file
View File

@ -0,0 +1,13 @@
#ifndef GUARD_BATTLE_BG_H
#define GUARD_BATTLE_BG_H
void sub_8035658(void);
void sub_80356D0(void);
void ApplyPlayerChosenFrameToBattleMenu(void);
void DrawMainBattleBackground(void);
void LoadBattleTextboxAndBackground(void);
void sub_8035D74(u8 taskId);
void LoadBattleEntryBackground(void);
bool8 LoadChosenBattleElement(u8 caseId);
#endif // GUARD_BATTLE_BG_H

View File

@ -1,421 +1,421 @@
#ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H #ifndef GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
#define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H #define GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H
static const u8 gMapName_LittlerootTown[] = _("LITTLEROOT TOWN"); static const u8 sMapName_LittlerootTown[] = _("LITTLEROOT TOWN");
static const u8 gMapName_OldaleTown[] = _("OLDALE TOWN"); static const u8 sMapName_OldaleTown[] = _("OLDALE TOWN");
static const u8 gMapName_DewfordTown[] = _("DEWFORD TOWN"); static const u8 sMapName_DewfordTown[] = _("DEWFORD TOWN");
static const u8 gMapName_LavaridgeTown[] = _("LAVARIDGE TOWN"); static const u8 sMapName_LavaridgeTown[] = _("LAVARIDGE TOWN");
static const u8 gMapName_FallarborTown[] = _("FALLARBOR TOWN"); static const u8 sMapName_FallarborTown[] = _("FALLARBOR TOWN");
static const u8 gMapName_VerdanturfTown[] = _("VERDANTURF TOWN"); static const u8 sMapName_VerdanturfTown[] = _("VERDANTURF TOWN");
static const u8 gMapName_PacifidlogTown[] = _("PACIFIDLOG TOWN"); static const u8 sMapName_PacifidlogTown[] = _("PACIFIDLOG TOWN");
static const u8 gMapName_PetalburgCity[] = _("PETALBURG CITY"); static const u8 sMapName_PetalburgCity[] = _("PETALBURG CITY");
static const u8 gMapName_SlateportCity[] = _("SLATEPORT CITY"); static const u8 sMapName_SlateportCity[] = _("SLATEPORT CITY");
static const u8 gMapName_MauvilleCity[] = _("MAUVILLE CITY"); static const u8 sMapName_MauvilleCity[] = _("MAUVILLE CITY");
static const u8 gMapName_RustboroCity[] = _("RUSTBORO CITY"); static const u8 sMapName_RustboroCity[] = _("RUSTBORO CITY");
static const u8 gMapName_FortreeCity[] = _("FORTREE CITY"); static const u8 sMapName_FortreeCity[] = _("FORTREE CITY");
static const u8 gMapName_LilycoveCity[] = _("LILYCOVE CITY"); static const u8 sMapName_LilycoveCity[] = _("LILYCOVE CITY");
static const u8 gMapName_MossdeepCity[] = _("MOSSDEEP CITY"); static const u8 sMapName_MossdeepCity[] = _("MOSSDEEP CITY");
static const u8 gMapName_SootopolisCity[] = _("SOOTOPOLIS CITY"); static const u8 sMapName_SootopolisCity[] = _("SOOTOPOLIS CITY");
static const u8 gMapName_EverGrandeCity[] = _("EVER GRANDE CITY"); static const u8 sMapName_EverGrandeCity[] = _("EVER GRANDE CITY");
static const u8 gMapName_Route101[] = _("ROUTE 101"); static const u8 sMapName_Route101[] = _("ROUTE 101");
static const u8 gMapName_Route102[] = _("ROUTE 102"); static const u8 sMapName_Route102[] = _("ROUTE 102");
static const u8 gMapName_Route103[] = _("ROUTE 103"); static const u8 sMapName_Route103[] = _("ROUTE 103");
static const u8 gMapName_Route104[] = _("ROUTE 104"); static const u8 sMapName_Route104[] = _("ROUTE 104");
static const u8 gMapName_Route105[] = _("ROUTE 105"); static const u8 sMapName_Route105[] = _("ROUTE 105");
static const u8 gMapName_Route106[] = _("ROUTE 106"); static const u8 sMapName_Route106[] = _("ROUTE 106");
static const u8 gMapName_Route107[] = _("ROUTE 107"); static const u8 sMapName_Route107[] = _("ROUTE 107");
static const u8 gMapName_Route108[] = _("ROUTE 108"); static const u8 sMapName_Route108[] = _("ROUTE 108");
static const u8 gMapName_Route109[] = _("ROUTE 109"); static const u8 sMapName_Route109[] = _("ROUTE 109");
static const u8 gMapName_Route110[] = _("ROUTE 110"); static const u8 sMapName_Route110[] = _("ROUTE 110");
static const u8 gMapName_Route111[] = _("ROUTE 111"); static const u8 sMapName_Route111[] = _("ROUTE 111");
static const u8 gMapName_Route112[] = _("ROUTE 112"); static const u8 sMapName_Route112[] = _("ROUTE 112");
static const u8 gMapName_Route113[] = _("ROUTE 113"); static const u8 sMapName_Route113[] = _("ROUTE 113");
static const u8 gMapName_Route114[] = _("ROUTE 114"); static const u8 sMapName_Route114[] = _("ROUTE 114");
static const u8 gMapName_Route115[] = _("ROUTE 115"); static const u8 sMapName_Route115[] = _("ROUTE 115");
static const u8 gMapName_Route116[] = _("ROUTE 116"); static const u8 sMapName_Route116[] = _("ROUTE 116");
static const u8 gMapName_Route117[] = _("ROUTE 117"); static const u8 sMapName_Route117[] = _("ROUTE 117");
static const u8 gMapName_Route118[] = _("ROUTE 118"); static const u8 sMapName_Route118[] = _("ROUTE 118");
static const u8 gMapName_Route119[] = _("ROUTE 119"); static const u8 sMapName_Route119[] = _("ROUTE 119");
static const u8 gMapName_Route120[] = _("ROUTE 120"); static const u8 sMapName_Route120[] = _("ROUTE 120");
static const u8 gMapName_Route121[] = _("ROUTE 121"); static const u8 sMapName_Route121[] = _("ROUTE 121");
static const u8 gMapName_Route122[] = _("ROUTE 122"); static const u8 sMapName_Route122[] = _("ROUTE 122");
static const u8 gMapName_Route123[] = _("ROUTE 123"); static const u8 sMapName_Route123[] = _("ROUTE 123");
static const u8 gMapName_Route124[] = _("ROUTE 124"); static const u8 sMapName_Route124[] = _("ROUTE 124");
static const u8 gMapName_Route125[] = _("ROUTE 125"); static const u8 sMapName_Route125[] = _("ROUTE 125");
static const u8 gMapName_Route126[] = _("ROUTE 126"); static const u8 sMapName_Route126[] = _("ROUTE 126");
static const u8 gMapName_Route127[] = _("ROUTE 127"); static const u8 sMapName_Route127[] = _("ROUTE 127");
static const u8 gMapName_Route128[] = _("ROUTE 128"); static const u8 sMapName_Route128[] = _("ROUTE 128");
static const u8 gMapName_Route129[] = _("ROUTE 129"); static const u8 sMapName_Route129[] = _("ROUTE 129");
static const u8 gMapName_Route130[] = _("ROUTE 130"); static const u8 sMapName_Route130[] = _("ROUTE 130");
static const u8 gMapName_Route131[] = _("ROUTE 131"); static const u8 sMapName_Route131[] = _("ROUTE 131");
static const u8 gMapName_Route132[] = _("ROUTE 132"); static const u8 sMapName_Route132[] = _("ROUTE 132");
static const u8 gMapName_Route133[] = _("ROUTE 133"); static const u8 sMapName_Route133[] = _("ROUTE 133");
static const u8 gMapName_Route134[] = _("ROUTE 134"); static const u8 sMapName_Route134[] = _("ROUTE 134");
static const u8 gMapName_Underwater[] = _("UNDERWATER"); static const u8 sMapName_Underwater[] = _("UNDERWATER");
static const u8 gMapName_GraniteCave[] = _("GRANITE CAVE"); static const u8 sMapName_GraniteCave[] = _("GRANITE CAVE");
static const u8 gMapName_MtChimney[] = _("MT. CHIMNEY"); static const u8 sMapName_MtChimney[] = _("MT. CHIMNEY");
static const u8 gMapName_SafariZone[] = _("SAFARI ZONE"); static const u8 sMapName_SafariZone[] = _("SAFARI ZONE");
static const u8 gMapName_BattleFrontier[] = _("BATTLE FRONTIER"); static const u8 sMapName_BattleFrontier[] = _("BATTLE FRONTIER");
static const u8 gMapName_PetalburgWoods[] = _("PETALBURG WOODS"); static const u8 sMapName_PetalburgWoods[] = _("PETALBURG WOODS");
static const u8 gMapName_RusturfTunnel[] = _("RUSTURF TUNNEL"); static const u8 sMapName_RusturfTunnel[] = _("RUSTURF TUNNEL");
static const u8 gMapName_AbandonedShip[] = _("ABANDONED SHIP"); static const u8 sMapName_AbandonedShip[] = _("ABANDONED SHIP");
static const u8 gMapName_NewMauville[] = _("NEW MAUVILLE"); static const u8 sMapName_NewMauville[] = _("NEW MAUVILLE");
static const u8 gMapName_MeteorFalls[] = _("METEOR FALLS"); static const u8 sMapName_MeteorFalls[] = _("METEOR FALLS");
static const u8 gMapName_MtPyre[] = _("MT. PYRE"); static const u8 sMapName_MtPyre[] = _("MT. PYRE");
// This was the Aqua or Magma hideout in Ruby/Sapphire, but each team has a // This was the Aqua or Magma hideout in Ruby/Sapphire, but each team has a
// hideout in Emerald with their own new region map entries, and this name // hideout in Emerald with their own new region map entries, and this name
// doesn't seem to be used anymore. // doesn't seem to be used anymore.
static const u8 gMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT"); static const u8 sMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT");
static const u8 gMapName_ShoalCave[] = _("SHOAL CAVE"); static const u8 sMapName_ShoalCave[] = _("SHOAL CAVE");
static const u8 gMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); static const u8 sMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN");
static const u8 gMapName_VictoryRoad[] = _("VICTORY ROAD"); static const u8 sMapName_VictoryRoad[] = _("VICTORY ROAD");
static const u8 gMapName_MirageIsland[] = _("MIRAGE ISLAND"); static const u8 sMapName_MirageIsland[] = _("MIRAGE ISLAND");
static const u8 gMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN"); static const u8 sMapName_CaveOfOrigin[] = _("CAVE OF ORIGIN");
static const u8 gMapName_SouthernIsland[] = _("SOUTHERN ISLAND"); static const u8 sMapName_SouthernIsland[] = _("SOUTHERN ISLAND");
static const u8 gMapName_FieryPath[] = _("FIERY PATH"); static const u8 sMapName_FieryPath[] = _("FIERY PATH");
static const u8 gMapName_JaggedPass[] = _("JAGGED PASS"); static const u8 sMapName_JaggedPass[] = _("JAGGED PASS");
static const u8 gMapName_SealedChamber[] = _("SEALED CHAMBER"); static const u8 sMapName_SealedChamber[] = _("SEALED CHAMBER");
static const u8 gMapName_ScorchedSlab[] = _("SCORCHED SLAB"); static const u8 sMapName_ScorchedSlab[] = _("SCORCHED SLAB");
static const u8 gMapName_IslandCave[] = _("ISLAND CAVE"); static const u8 sMapName_IslandCave[] = _("ISLAND CAVE");
static const u8 gMapName_DesertRuins[] = _("DESERT RUINS"); static const u8 sMapName_DesertRuins[] = _("DESERT RUINS");
static const u8 gMapName_AncientTomb[] = _("ANCIENT TOMB"); static const u8 sMapName_AncientTomb[] = _("ANCIENT TOMB");
static const u8 gMapName_InsideOfTruck[] = _("INSIDE OF TRUCK"); static const u8 sMapName_InsideOfTruck[] = _("INSIDE OF TRUCK");
static const u8 gMapName_SkyPillar[] = _("SKY PILLAR"); static const u8 sMapName_SkyPillar[] = _("SKY PILLAR");
static const u8 gMapName_SecretBase[] = _("SECRET BASE"); static const u8 sMapName_SecretBase[] = _("SECRET BASE");
static const u8 gMapName_None[] = _(""); static const u8 sMapName_None[] = _("");
static const u8 gMapName_PalletTown[] = _("PALLET TOWN"); static const u8 sMapName_PalletTown[] = _("PALLET TOWN");
static const u8 gMapName_ViridianCity[] = _("VIRIDIAN CITY"); static const u8 sMapName_ViridianCity[] = _("VIRIDIAN CITY");
static const u8 gMapName_PewterCity[] = _("PEWTER CITY"); static const u8 sMapName_PewterCity[] = _("PEWTER CITY");
static const u8 gMapName_CeruleanCity[] = _("CERULEAN CITY"); static const u8 sMapName_CeruleanCity[] = _("CERULEAN CITY");
static const u8 gMapName_LavenderTown[] = _("LAVENDER TOWN"); static const u8 sMapName_LavenderTown[] = _("LAVENDER TOWN");
static const u8 gMapName_VermilionCity[] = _("VERMILION CITY"); static const u8 sMapName_VermilionCity[] = _("VERMILION CITY");
static const u8 gMapName_CeladonCity[] = _("CELADON CITY"); static const u8 sMapName_CeladonCity[] = _("CELADON CITY");
static const u8 gMapName_FuchsiaCity[] = _("FUCHSIA CITY"); static const u8 sMapName_FuchsiaCity[] = _("FUCHSIA CITY");
static const u8 gMapName_CinnabarIsland[] = _("CINNABAR ISLAND"); static const u8 sMapName_CinnabarIsland[] = _("CINNABAR ISLAND");
static const u8 gMapName_IndigoPlateau[] = _("INDIGO PLATEAU"); static const u8 sMapName_IndigoPlateau[] = _("INDIGO PLATEAU");
static const u8 gMapName_SaffronCity[] = _("SAFFRON CITY"); static const u8 sMapName_SaffronCity[] = _("SAFFRON CITY");
static const u8 gMapName_Route4[] = _("ROUTE 4"); static const u8 sMapName_Route4[] = _("ROUTE 4");
static const u8 gMapName_Route10[] = _("ROUTE 10"); static const u8 sMapName_Route10[] = _("ROUTE 10");
static const u8 gMapName_Route1[] = _("ROUTE 1"); static const u8 sMapName_Route1[] = _("ROUTE 1");
static const u8 gMapName_Route2[] = _("ROUTE 2"); static const u8 sMapName_Route2[] = _("ROUTE 2");
static const u8 gMapName_Route3[] = _("ROUTE 3"); static const u8 sMapName_Route3[] = _("ROUTE 3");
static const u8 gMapName_Route4_2[] = _("ROUTE 4"); static const u8 sMapName_Route4_2[] = _("ROUTE 4");
static const u8 gMapName_Route5[] = _("ROUTE 5"); static const u8 sMapName_Route5[] = _("ROUTE 5");
static const u8 gMapName_Route6[] = _("ROUTE 6"); static const u8 sMapName_Route6[] = _("ROUTE 6");
static const u8 gMapName_Route7[] = _("ROUTE 7"); static const u8 sMapName_Route7[] = _("ROUTE 7");
static const u8 gMapName_Route8[] = _("ROUTE 8"); static const u8 sMapName_Route8[] = _("ROUTE 8");
static const u8 gMapName_Route9[] = _("ROUTE 9"); static const u8 sMapName_Route9[] = _("ROUTE 9");
static const u8 gMapName_Route10_2[] = _("ROUTE 10"); static const u8 sMapName_Route10_2[] = _("ROUTE 10");
static const u8 gMapName_Route11[] = _("ROUTE 11"); static const u8 sMapName_Route11[] = _("ROUTE 11");
static const u8 gMapName_Route12[] = _("ROUTE 12"); static const u8 sMapName_Route12[] = _("ROUTE 12");
static const u8 gMapName_Route13[] = _("ROUTE 13"); static const u8 sMapName_Route13[] = _("ROUTE 13");
static const u8 gMapName_Route14[] = _("ROUTE 14"); static const u8 sMapName_Route14[] = _("ROUTE 14");
static const u8 gMapName_Route15[] = _("ROUTE 15"); static const u8 sMapName_Route15[] = _("ROUTE 15");
static const u8 gMapName_Route16[] = _("ROUTE 16"); static const u8 sMapName_Route16[] = _("ROUTE 16");
static const u8 gMapName_Route17[] = _("ROUTE 17"); static const u8 sMapName_Route17[] = _("ROUTE 17");
static const u8 gMapName_Route18[] = _("ROUTE 18"); static const u8 sMapName_Route18[] = _("ROUTE 18");
static const u8 gMapName_Route19[] = _("ROUTE 19"); static const u8 sMapName_Route19[] = _("ROUTE 19");
static const u8 gMapName_Route20[] = _("ROUTE 20"); static const u8 sMapName_Route20[] = _("ROUTE 20");
static const u8 gMapName_Route21[] = _("ROUTE 21"); static const u8 sMapName_Route21[] = _("ROUTE 21");
static const u8 gMapName_Route22[] = _("ROUTE 22"); static const u8 sMapName_Route22[] = _("ROUTE 22");
static const u8 gMapName_Route23[] = _("ROUTE 23"); static const u8 sMapName_Route23[] = _("ROUTE 23");
static const u8 gMapName_Route24[] = _("ROUTE 24"); static const u8 sMapName_Route24[] = _("ROUTE 24");
static const u8 gMapName_Route25[] = _("ROUTE 25"); static const u8 sMapName_Route25[] = _("ROUTE 25");
static const u8 gMapName_ViridianForest[] = _("VIRIDIAN FOREST"); static const u8 sMapName_ViridianForest[] = _("VIRIDIAN FOREST");
static const u8 gMapName_MtMoon[] = _("MT. MOON"); static const u8 sMapName_MtMoon[] = _("MT. MOON");
static const u8 gMapName_SSAnne[] = _("S.S. ANNE"); static const u8 sMapName_SSAnne[] = _("S.S. ANNE");
static const u8 gMapName_UndergroundPath[] = _("UNDERGROUND PATH"); static const u8 sMapName_UndergroundPath[] = _("UNDERGROUND PATH");
static const u8 gMapName_UndergroundPath2[] = _("UNDERGROUND PATH"); static const u8 sMapName_UndergroundPath2[] = _("UNDERGROUND PATH");
static const u8 gMapName_DiglettsCave[] = _("DIGLETTS CAVE"); static const u8 sMapName_DiglettsCave[] = _("DIGLETTS CAVE");
static const u8 gMapName_KantoVictoryRoad[] = _("VICTORY ROAD"); static const u8 sMapName_KantoVictoryRoad[] = _("VICTORY ROAD");
static const u8 gMapName_RocketHideout[] = _("ROCKET HIDEOUT"); static const u8 sMapName_RocketHideout[] = _("ROCKET HIDEOUT");
static const u8 gMapName_SilphCo[] = _("SILPH CO."); static const u8 sMapName_SilphCo[] = _("SILPH CO.");
static const u8 gMapName_PokemonMansion[] = _("POKéMON MANSION"); static const u8 sMapName_PokemonMansion[] = _("POKéMON MANSION");
static const u8 gMapName_KantoSafariZone[] = _("SAFARI ZONE"); static const u8 sMapName_KantoSafariZone[] = _("SAFARI ZONE");
static const u8 gMapName_PokemonLeague[] = _("POKéMON LEAGUE"); static const u8 sMapName_PokemonLeague[] = _("POKéMON LEAGUE");
static const u8 gMapName_RockTunnel[] = _("ROCK TUNNEL"); static const u8 sMapName_RockTunnel[] = _("ROCK TUNNEL");
static const u8 gMapName_SeafoamIslands[] = _("SEAFOAM ISLANDS"); static const u8 sMapName_SeafoamIslands[] = _("SEAFOAM ISLANDS");
static const u8 gMapName_PokemonTower[] = _("POKéMON TOWER"); static const u8 sMapName_PokemonTower[] = _("POKéMON TOWER");
static const u8 gMapName_CeruleanCave[] = _("CERULEAN CAVE"); static const u8 sMapName_CeruleanCave[] = _("CERULEAN CAVE");
static const u8 gMapName_PowerPlant[] = _("POWER PLANT"); static const u8 sMapName_PowerPlant[] = _("POWER PLANT");
static const u8 gMapName_OneIsland[] = _("ONE ISLAND"); static const u8 sMapName_OneIsland[] = _("ONE ISLAND");
static const u8 gMapName_TwoIsland[] = _("TWO ISLAND"); static const u8 sMapName_TwoIsland[] = _("TWO ISLAND");
static const u8 gMapName_ThreeIsland[] = _("THREE ISLAND"); static const u8 sMapName_ThreeIsland[] = _("THREE ISLAND");
static const u8 gMapName_FourIsland[] = _("FOUR ISLAND"); static const u8 sMapName_FourIsland[] = _("FOUR ISLAND");
static const u8 gMapName_FiveIsland[] = _("FIVE ISLAND"); static const u8 sMapName_FiveIsland[] = _("FIVE ISLAND");
static const u8 gMapName_SevenIsland[] = _("SEVEN ISLAND"); static const u8 sMapName_SevenIsland[] = _("SEVEN ISLAND");
static const u8 gMapName_SixIsland[] = _("SIX ISLAND"); static const u8 sMapName_SixIsland[] = _("SIX ISLAND");
static const u8 gMapName_KindleRoad[] = _("KINDLE ROAD"); static const u8 sMapName_KindleRoad[] = _("KINDLE ROAD");
static const u8 gMapName_TreasureBeach[] = _("TREASURE BEACH"); static const u8 sMapName_TreasureBeach[] = _("TREASURE BEACH");
static const u8 gMapName_CapeBrink[] = _("CAPE BRINK"); static const u8 sMapName_CapeBrink[] = _("CAPE BRINK");
static const u8 gMapName_BondBridge[] = _("BOND BRIDGE"); static const u8 sMapName_BondBridge[] = _("BOND BRIDGE");
static const u8 gMapName_ThreeIslePort[] = _("THREE ISLE PORT"); static const u8 sMapName_ThreeIslePort[] = _("THREE ISLE PORT");
static const u8 gMapName_SeviiIsle6[] = _("SEVII ISLE 6"); static const u8 sMapName_SeviiIsle6[] = _("SEVII ISLE 6");
static const u8 gMapName_SeviiIsle7[] = _("SEVII ISLE 7"); static const u8 sMapName_SeviiIsle7[] = _("SEVII ISLE 7");
static const u8 gMapName_SeviiIsle8[] = _("SEVII ISLE 8"); static const u8 sMapName_SeviiIsle8[] = _("SEVII ISLE 8");
static const u8 gMapName_SeviiIsle9[] = _("SEVII ISLE 9"); static const u8 sMapName_SeviiIsle9[] = _("SEVII ISLE 9");
static const u8 gMapName_ResortGorgeous[] = _("RESORT GORGEOUS"); static const u8 sMapName_ResortGorgeous[] = _("RESORT GORGEOUS");
static const u8 gMapName_WaterLabyrinth[] = _("WATER LABYRINTH"); static const u8 sMapName_WaterLabyrinth[] = _("WATER LABYRINTH");
static const u8 gMapName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW"); static const u8 sMapName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW");
static const u8 gMapName_MemorialPillar[] = _("MEMORIAL PILLAR"); static const u8 sMapName_MemorialPillar[] = _("MEMORIAL PILLAR");
static const u8 gMapName_OutcastIsland[] = _("OUTCAST ISLAND"); static const u8 sMapName_OutcastIsland[] = _("OUTCAST ISLAND");
static const u8 gMapName_GreenPath[] = _("GREEN PATH"); static const u8 sMapName_GreenPath[] = _("GREEN PATH");
static const u8 gMapName_WaterPath[] = _("WATER PATH"); static const u8 sMapName_WaterPath[] = _("WATER PATH");
static const u8 gMapName_RuinValley[] = _("RUIN VALLEY"); static const u8 sMapName_RuinValley[] = _("RUIN VALLEY");
static const u8 gMapName_TrainerTower[] = _("TRAINER TOWER"); static const u8 sMapName_TrainerTower[] = _("TRAINER TOWER");
static const u8 gMapName_CanyonEntrance[] = _("CANYON ENTRANCE"); static const u8 sMapName_CanyonEntrance[] = _("CANYON ENTRANCE");
static const u8 gMapName_SevaultCanyon[] = _("SEVAULT CANYON"); static const u8 sMapName_SevaultCanyon[] = _("SEVAULT CANYON");
static const u8 gMapName_TanobyRuins[] = _("TANOBY RUINS"); static const u8 sMapName_TanobyRuins[] = _("TANOBY RUINS");
static const u8 gMapName_SeviiIsle22[] = _("SEVII ISLE 22"); static const u8 sMapName_SeviiIsle22[] = _("SEVII ISLE 22");
static const u8 gMapName_SeviiIsle23[] = _("SEVII ISLE 23"); static const u8 sMapName_SeviiIsle23[] = _("SEVII ISLE 23");
static const u8 gMapName_SeviiIsle24[] = _("SEVII ISLE 24"); static const u8 sMapName_SeviiIsle24[] = _("SEVII ISLE 24");
static const u8 gMapName_NavelRock[] = _("NAVEL ROCK"); static const u8 sMapName_NavelRock[] = _("NAVEL ROCK");
static const u8 gMapName_MtEmber[] = _("MT. EMBER"); static const u8 sMapName_MtEmber[] = _("MT. EMBER");
static const u8 gMapName_BerryForest[] = _("BERRY FOREST"); static const u8 sMapName_BerryForest[] = _("BERRY FOREST");
static const u8 gMapName_IcefallCave[] = _("ICEFALL CAVE"); static const u8 sMapName_IcefallCave[] = _("ICEFALL CAVE");
static const u8 gMapName_RocketWarehouse[] = _("ROCKET WAREHOUSE"); static const u8 sMapName_RocketWarehouse[] = _("ROCKET WAREHOUSE");
static const u8 gMapName_TrainerTower2[] = _("TRAINER TOWER"); static const u8 sMapName_TrainerTower2[] = _("TRAINER TOWER");
static const u8 gMapName_DottedHole[] = _("DOTTED HOLE"); static const u8 sMapName_DottedHole[] = _("DOTTED HOLE");
static const u8 gMapName_LostCave[] = _("LOST CAVE"); static const u8 sMapName_LostCave[] = _("LOST CAVE");
static const u8 gMapName_PatternBush[] = _("PATTERN BUSH"); static const u8 sMapName_PatternBush[] = _("PATTERN BUSH");
static const u8 gMapName_AlteringCave[] = _("ALTERING CAVE"); static const u8 sMapName_AlteringCave[] = _("ALTERING CAVE");
static const u8 gMapName_TanobyChambers[] = _("TANOBY CHAMBERS"); static const u8 sMapName_TanobyChambers[] = _("TANOBY CHAMBERS");
static const u8 gMapName_ThreeIslePath[] = _("THREE ISLE PATH"); static const u8 sMapName_ThreeIslePath[] = _("THREE ISLE PATH");
static const u8 gMapName_TanobyKey[] = _("TANOBY KEY"); static const u8 sMapName_TanobyKey[] = _("TANOBY KEY");
static const u8 gMapName_BirthIsland[] = _("BIRTH ISLAND"); static const u8 sMapName_BirthIsland[] = _("BIRTH ISLAND");
static const u8 gMapName_MoneanChamber[] = _("MONEAN CHAMBER"); static const u8 sMapName_MoneanChamber[] = _("MONEAN CHAMBER");
static const u8 gMapName_LiptooChamber[] = _("LIPTOO CHAMBER"); static const u8 sMapName_LiptooChamber[] = _("LIPTOO CHAMBER");
static const u8 gMapName_WeepthChamber[] = _("WEEPTH CHAMBER"); static const u8 sMapName_WeepthChamber[] = _("WEEPTH CHAMBER");
static const u8 gMapName_DilfordChamber[] = _("DILFORD CHAMBER"); static const u8 sMapName_DilfordChamber[] = _("DILFORD CHAMBER");
static const u8 gMapName_ScufibChamber[] = _("SCUFIB CHAMBER"); static const u8 sMapName_ScufibChamber[] = _("SCUFIB CHAMBER");
static const u8 gMapName_RixyChamber[] = _("RIXY CHAMBER"); static const u8 sMapName_RixyChamber[] = _("RIXY CHAMBER");
static const u8 gMapName_ViapoisChamber[] = _("VIAPOIS CHAMBER"); static const u8 sMapName_ViapoisChamber[] = _("VIAPOIS CHAMBER");
static const u8 gMapName_EmberSpa[] = _("EMBER SPA"); static const u8 sMapName_EmberSpa[] = _("EMBER SPA");
static const u8 gMapName_SpecialArea[] = _("SPECIAL AREA"); static const u8 sMapName_SpecialArea[] = _("SPECIAL AREA");
static const u8 gMapName_AquaHideout[] = _("AQUA HIDEOUT"); static const u8 sMapName_AquaHideout[] = _("AQUA HIDEOUT");
static const u8 gMapName_MagmaHideout[] = _("MAGMA HIDEOUT"); static const u8 sMapName_MagmaHideout[] = _("MAGMA HIDEOUT");
static const u8 gMapName_MirageTower[] = _("MIRAGE TOWER"); static const u8 sMapName_MirageTower[] = _("MIRAGE TOWER");
static const u8 gMapName_FarawayIsland[] = _("FARAWAY ISLAND"); static const u8 sMapName_FarawayIsland[] = _("FARAWAY ISLAND");
static const u8 gMapName_ArtisanCave[] = _("ARTISAN CAVE"); static const u8 sMapName_ArtisanCave[] = _("ARTISAN CAVE");
static const u8 gMapName_MarineCave[] = _("MARINE CAVE"); static const u8 sMapName_MarineCave[] = _("MARINE CAVE");
static const u8 gMapName_TerraCave[] = _("TERRA CAVE"); static const u8 sMapName_TerraCave[] = _("TERRA CAVE");
static const u8 gMapName_DesertUnderpass[] = _("DESERT UNDERPASS"); static const u8 sMapName_DesertUnderpass[] = _("DESERT UNDERPASS");
static const u8 gMapName_TrainerHill[] = _("TRAINER HILL"); static const u8 sMapName_TrainerHill[] = _("TRAINER HILL");
const struct RegionMapLocation gRegionMapEntries[] = { const struct RegionMapLocation gRegionMapEntries[] = {
{ 4, 11, 1, 1, gMapName_LittlerootTown}, { 4, 11, 1, 1, sMapName_LittlerootTown},
{ 4, 9, 1, 1, gMapName_OldaleTown}, { 4, 9, 1, 1, sMapName_OldaleTown},
{ 2, 14, 1, 1, gMapName_DewfordTown}, { 2, 14, 1, 1, sMapName_DewfordTown},
{ 5, 3, 1, 1, gMapName_LavaridgeTown}, { 5, 3, 1, 1, sMapName_LavaridgeTown},
{ 3, 0, 1, 1, gMapName_FallarborTown}, { 3, 0, 1, 1, sMapName_FallarborTown},
{ 4, 6, 1, 1, gMapName_VerdanturfTown}, { 4, 6, 1, 1, sMapName_VerdanturfTown},
{17, 10, 1, 1, gMapName_PacifidlogTown}, {17, 10, 1, 1, sMapName_PacifidlogTown},
{ 1, 9, 1, 1, gMapName_PetalburgCity}, { 1, 9, 1, 1, sMapName_PetalburgCity},
{ 8, 10, 1, 2, gMapName_SlateportCity}, { 8, 10, 1, 2, sMapName_SlateportCity},
{ 8, 6, 2, 1, gMapName_MauvilleCity}, { 8, 6, 2, 1, sMapName_MauvilleCity},
{ 0, 5, 1, 2, gMapName_RustboroCity}, { 0, 5, 1, 2, sMapName_RustboroCity},
{12, 0, 1, 1, gMapName_FortreeCity}, {12, 0, 1, 1, sMapName_FortreeCity},
{18, 3, 2, 1, gMapName_LilycoveCity}, {18, 3, 2, 1, sMapName_LilycoveCity},
{24, 5, 2, 1, gMapName_MossdeepCity}, {24, 5, 2, 1, sMapName_MossdeepCity},
{21, 7, 1, 1, gMapName_SootopolisCity}, {21, 7, 1, 1, sMapName_SootopolisCity},
{27, 8, 1, 2, gMapName_EverGrandeCity}, {27, 8, 1, 2, sMapName_EverGrandeCity},
{ 4, 10, 1, 1, gMapName_Route101}, { 4, 10, 1, 1, sMapName_Route101},
{ 2, 9, 2, 1, gMapName_Route102}, { 2, 9, 2, 1, sMapName_Route102},
{ 4, 8, 4, 1, gMapName_Route103}, { 4, 8, 4, 1, sMapName_Route103},
{ 0, 7, 1, 3, gMapName_Route104}, { 0, 7, 1, 3, sMapName_Route104},
{ 0, 10, 1, 3, gMapName_Route105}, { 0, 10, 1, 3, sMapName_Route105},
{ 0, 13, 2, 1, gMapName_Route106}, { 0, 13, 2, 1, sMapName_Route106},
{ 3, 14, 3, 1, gMapName_Route107}, { 3, 14, 3, 1, sMapName_Route107},
{ 6, 14, 2, 1, gMapName_Route108}, { 6, 14, 2, 1, sMapName_Route108},
{ 8, 12, 1, 3, gMapName_Route109}, { 8, 12, 1, 3, sMapName_Route109},
{ 8, 7, 1, 3, gMapName_Route110}, { 8, 7, 1, 3, sMapName_Route110},
{ 8, 0, 1, 6, gMapName_Route111}, { 8, 0, 1, 6, sMapName_Route111},
{ 6, 3, 2, 1, gMapName_Route112}, { 6, 3, 2, 1, sMapName_Route112},
{ 4, 0, 4, 1, gMapName_Route113}, { 4, 0, 4, 1, sMapName_Route113},
{ 1, 0, 2, 3, gMapName_Route114}, { 1, 0, 2, 3, sMapName_Route114},
{ 0, 2, 1, 3, gMapName_Route115}, { 0, 2, 1, 3, sMapName_Route115},
{ 1, 5, 4, 1, gMapName_Route116}, { 1, 5, 4, 1, sMapName_Route116},
{ 5, 6, 3, 1, gMapName_Route117}, { 5, 6, 3, 1, sMapName_Route117},
{10, 6, 2, 1, gMapName_Route118}, {10, 6, 2, 1, sMapName_Route118},
{11, 0, 1, 6, gMapName_Route119}, {11, 0, 1, 6, sMapName_Route119},
{13, 0, 1, 4, gMapName_Route120}, {13, 0, 1, 4, sMapName_Route120},
{14, 3, 4, 1, gMapName_Route121}, {14, 3, 4, 1, sMapName_Route121},
{16, 4, 1, 2, gMapName_Route122}, {16, 4, 1, 2, sMapName_Route122},
{12, 6, 5, 1, gMapName_Route123}, {12, 6, 5, 1, sMapName_Route123},
{20, 3, 4, 3, gMapName_Route124}, {20, 3, 4, 3, sMapName_Route124},
{24, 3, 2, 2, gMapName_Route125}, {24, 3, 2, 2, sMapName_Route125},
{20, 6, 3, 3, gMapName_Route126}, {20, 6, 3, 3, sMapName_Route126},
{23, 6, 3, 3, gMapName_Route127}, {23, 6, 3, 3, sMapName_Route127},
{23, 9, 4, 1, gMapName_Route128}, {23, 9, 4, 1, sMapName_Route128},
{24, 10, 2, 1, gMapName_Route129}, {24, 10, 2, 1, sMapName_Route129},
{21, 10, 3, 1, gMapName_Route130}, {21, 10, 3, 1, sMapName_Route130},
{18, 10, 3, 1, gMapName_Route131}, {18, 10, 3, 1, sMapName_Route131},
{15, 10, 2, 1, gMapName_Route132}, {15, 10, 2, 1, sMapName_Route132},
{12, 10, 3, 1, gMapName_Route133}, {12, 10, 3, 1, sMapName_Route133},
{ 9, 10, 3, 1, gMapName_Route134}, { 9, 10, 3, 1, sMapName_Route134},
{20, 3, 4, 3, gMapName_Underwater}, {20, 3, 4, 3, sMapName_Underwater},
{20, 6, 3, 3, gMapName_Underwater}, {20, 6, 3, 3, sMapName_Underwater},
{23, 6, 3, 3, gMapName_Underwater}, {23, 6, 3, 3, sMapName_Underwater},
{23, 9, 4, 1, gMapName_Underwater}, {23, 9, 4, 1, sMapName_Underwater},
{21, 7, 1, 1, gMapName_Underwater}, {21, 7, 1, 1, sMapName_Underwater},
{ 1, 13, 1, 1, gMapName_GraniteCave}, { 1, 13, 1, 1, sMapName_GraniteCave},
{ 6, 2, 1, 1, gMapName_MtChimney}, { 6, 2, 1, 1, sMapName_MtChimney},
{16, 2, 1, 1, gMapName_SafariZone}, {16, 2, 1, 1, sMapName_SafariZone},
{22, 12, 1, 1, gMapName_BattleFrontier}, {22, 12, 1, 1, sMapName_BattleFrontier},
{ 0, 8, 1, 1, gMapName_PetalburgWoods}, { 0, 8, 1, 1, sMapName_PetalburgWoods},
{ 2, 5, 1, 1, gMapName_RusturfTunnel}, { 2, 5, 1, 1, sMapName_RusturfTunnel},
{ 6, 14, 1, 1, gMapName_AbandonedShip}, { 6, 14, 1, 1, sMapName_AbandonedShip},
{ 8, 7, 1, 1, gMapName_NewMauville}, { 8, 7, 1, 1, sMapName_NewMauville},
{ 0, 3, 1, 1, gMapName_MeteorFalls}, { 0, 3, 1, 1, sMapName_MeteorFalls},
{ 1, 2, 1, 1, gMapName_MeteorFalls}, { 1, 2, 1, 1, sMapName_MeteorFalls},
{16, 4, 1, 1, gMapName_MtPyre}, {16, 4, 1, 1, sMapName_MtPyre},
{19, 3, 1, 1, gMapName_AquaHideoutOld}, {19, 3, 1, 1, sMapName_AquaHideoutOld},
{24, 4, 1, 1, gMapName_ShoalCave}, {24, 4, 1, 1, sMapName_ShoalCave},
{24, 9, 1, 1, gMapName_SeafloorCavern}, {24, 9, 1, 1, sMapName_SeafloorCavern},
{24, 9, 1, 1, gMapName_Underwater}, {24, 9, 1, 1, sMapName_Underwater},
{27, 9, 1, 1, gMapName_VictoryRoad}, {27, 9, 1, 1, sMapName_VictoryRoad},
{17, 10, 1, 1, gMapName_MirageIsland}, {17, 10, 1, 1, sMapName_MirageIsland},
{21, 7, 1, 1, gMapName_CaveOfOrigin}, {21, 7, 1, 1, sMapName_CaveOfOrigin},
{12, 14, 1, 1, gMapName_SouthernIsland}, {12, 14, 1, 1, sMapName_SouthernIsland},
{ 6, 3, 1, 1, gMapName_FieryPath}, { 6, 3, 1, 1, sMapName_FieryPath},
{ 7, 3, 1, 1, gMapName_FieryPath}, { 7, 3, 1, 1, sMapName_FieryPath},
{ 6, 3, 1, 1, gMapName_JaggedPass}, { 6, 3, 1, 1, sMapName_JaggedPass},
{ 7, 2, 1, 1, gMapName_JaggedPass}, { 7, 2, 1, 1, sMapName_JaggedPass},
{11, 10, 1, 1, gMapName_SealedChamber}, {11, 10, 1, 1, sMapName_SealedChamber},
{11, 10, 1, 1, gMapName_Underwater}, {11, 10, 1, 1, sMapName_Underwater},
{13, 0, 1, 1, gMapName_ScorchedSlab}, {13, 0, 1, 1, sMapName_ScorchedSlab},
{ 0, 10, 1, 1, gMapName_IslandCave}, { 0, 10, 1, 1, sMapName_IslandCave},
{ 8, 3, 1, 1, gMapName_DesertRuins}, { 8, 3, 1, 1, sMapName_DesertRuins},
{13, 2, 1, 1, gMapName_AncientTomb}, {13, 2, 1, 1, sMapName_AncientTomb},
{ 0, 0, 1, 1, gMapName_InsideOfTruck}, { 0, 0, 1, 1, sMapName_InsideOfTruck},
{19, 10, 1, 1, gMapName_SkyPillar}, {19, 10, 1, 1, sMapName_SkyPillar},
{ 0, 0, 1, 1, gMapName_SecretBase}, { 0, 0, 1, 1, sMapName_SecretBase},
{ 0, 0, 1, 1, gMapName_None}, { 0, 0, 1, 1, sMapName_None},
{ 0, 0, 1, 1, gMapName_PalletTown}, { 0, 0, 1, 1, sMapName_PalletTown},
{ 0, 0, 1, 1, gMapName_ViridianCity}, { 0, 0, 1, 1, sMapName_ViridianCity},
{ 0, 0, 1, 1, gMapName_PewterCity}, { 0, 0, 1, 1, sMapName_PewterCity},
{ 0, 0, 1, 1, gMapName_CeruleanCity}, { 0, 0, 1, 1, sMapName_CeruleanCity},
{ 0, 0, 1, 1, gMapName_LavenderTown}, { 0, 0, 1, 1, sMapName_LavenderTown},
{ 0, 0, 1, 1, gMapName_VermilionCity}, { 0, 0, 1, 1, sMapName_VermilionCity},
{ 0, 0, 1, 1, gMapName_CeladonCity}, { 0, 0, 1, 1, sMapName_CeladonCity},
{ 0, 0, 1, 1, gMapName_FuchsiaCity}, { 0, 0, 1, 1, sMapName_FuchsiaCity},
{ 0, 0, 1, 1, gMapName_CinnabarIsland}, { 0, 0, 1, 1, sMapName_CinnabarIsland},
{ 0, 0, 1, 1, gMapName_IndigoPlateau}, { 0, 0, 1, 1, sMapName_IndigoPlateau},
{ 0, 0, 1, 1, gMapName_SaffronCity}, { 0, 0, 1, 1, sMapName_SaffronCity},
{ 0, 0, 1, 1, gMapName_Route4}, { 0, 0, 1, 1, sMapName_Route4},
{ 0, 0, 1, 1, gMapName_Route10}, { 0, 0, 1, 1, sMapName_Route10},
{ 0, 0, 1, 1, gMapName_Route1}, { 0, 0, 1, 1, sMapName_Route1},
{ 0, 0, 1, 1, gMapName_Route2}, { 0, 0, 1, 1, sMapName_Route2},
{ 0, 0, 1, 1, gMapName_Route3}, { 0, 0, 1, 1, sMapName_Route3},
{ 0, 0, 1, 1, gMapName_Route4_2}, { 0, 0, 1, 1, sMapName_Route4_2},
{ 0, 0, 1, 1, gMapName_Route5}, { 0, 0, 1, 1, sMapName_Route5},
{ 0, 0, 1, 1, gMapName_Route6}, { 0, 0, 1, 1, sMapName_Route6},
{ 0, 0, 1, 1, gMapName_Route7}, { 0, 0, 1, 1, sMapName_Route7},
{ 0, 0, 1, 1, gMapName_Route8}, { 0, 0, 1, 1, sMapName_Route8},
{ 0, 0, 1, 1, gMapName_Route9}, { 0, 0, 1, 1, sMapName_Route9},
{ 0, 0, 1, 1, gMapName_Route10_2}, { 0, 0, 1, 1, sMapName_Route10_2},
{ 0, 0, 1, 1, gMapName_Route11}, { 0, 0, 1, 1, sMapName_Route11},
{ 0, 0, 1, 1, gMapName_Route12}, { 0, 0, 1, 1, sMapName_Route12},
{ 0, 0, 1, 1, gMapName_Route13}, { 0, 0, 1, 1, sMapName_Route13},
{ 0, 0, 1, 1, gMapName_Route14}, { 0, 0, 1, 1, sMapName_Route14},
{ 0, 0, 1, 1, gMapName_Route15}, { 0, 0, 1, 1, sMapName_Route15},
{ 0, 0, 1, 1, gMapName_Route16}, { 0, 0, 1, 1, sMapName_Route16},
{ 0, 0, 1, 1, gMapName_Route17}, { 0, 0, 1, 1, sMapName_Route17},
{ 0, 0, 1, 1, gMapName_Route18}, { 0, 0, 1, 1, sMapName_Route18},
{ 0, 0, 1, 1, gMapName_Route19}, { 0, 0, 1, 1, sMapName_Route19},
{ 0, 0, 1, 1, gMapName_Route20}, { 0, 0, 1, 1, sMapName_Route20},
{ 0, 0, 1, 1, gMapName_Route21}, { 0, 0, 1, 1, sMapName_Route21},
{ 0, 0, 1, 1, gMapName_Route22}, { 0, 0, 1, 1, sMapName_Route22},
{ 0, 0, 1, 1, gMapName_Route23}, { 0, 0, 1, 1, sMapName_Route23},
{ 0, 0, 1, 1, gMapName_Route24}, { 0, 0, 1, 1, sMapName_Route24},
{ 0, 0, 1, 1, gMapName_Route25}, { 0, 0, 1, 1, sMapName_Route25},
{ 0, 0, 1, 1, gMapName_ViridianForest}, { 0, 0, 1, 1, sMapName_ViridianForest},
{ 0, 0, 1, 1, gMapName_MtMoon}, { 0, 0, 1, 1, sMapName_MtMoon},
{ 0, 0, 1, 1, gMapName_SSAnne}, { 0, 0, 1, 1, sMapName_SSAnne},
{ 0, 0, 1, 1, gMapName_UndergroundPath}, { 0, 0, 1, 1, sMapName_UndergroundPath},
{ 0, 0, 1, 1, gMapName_UndergroundPath2}, { 0, 0, 1, 1, sMapName_UndergroundPath2},
{ 0, 0, 1, 1, gMapName_DiglettsCave}, { 0, 0, 1, 1, sMapName_DiglettsCave},
{ 0, 0, 1, 1, gMapName_KantoVictoryRoad}, { 0, 0, 1, 1, sMapName_KantoVictoryRoad},
{ 0, 0, 1, 1, gMapName_RocketHideout}, { 0, 0, 1, 1, sMapName_RocketHideout},
{ 0, 0, 1, 1, gMapName_SilphCo}, { 0, 0, 1, 1, sMapName_SilphCo},
{ 0, 0, 1, 1, gMapName_PokemonMansion}, { 0, 0, 1, 1, sMapName_PokemonMansion},
{ 0, 0, 1, 1, gMapName_KantoSafariZone}, { 0, 0, 1, 1, sMapName_KantoSafariZone},
{ 0, 0, 1, 1, gMapName_PokemonLeague}, { 0, 0, 1, 1, sMapName_PokemonLeague},
{ 0, 0, 1, 1, gMapName_RockTunnel}, { 0, 0, 1, 1, sMapName_RockTunnel},
{ 0, 0, 1, 1, gMapName_SeafoamIslands}, { 0, 0, 1, 1, sMapName_SeafoamIslands},
{ 0, 0, 1, 1, gMapName_PokemonTower}, { 0, 0, 1, 1, sMapName_PokemonTower},
{ 0, 0, 1, 1, gMapName_CeruleanCave}, { 0, 0, 1, 1, sMapName_CeruleanCave},
{ 0, 0, 1, 1, gMapName_PowerPlant}, { 0, 0, 1, 1, sMapName_PowerPlant},
{ 0, 0, 1, 1, gMapName_OneIsland}, { 0, 0, 1, 1, sMapName_OneIsland},
{ 0, 0, 1, 1, gMapName_TwoIsland}, { 0, 0, 1, 1, sMapName_TwoIsland},
{ 0, 0, 1, 1, gMapName_ThreeIsland}, { 0, 0, 1, 1, sMapName_ThreeIsland},
{ 0, 0, 1, 1, gMapName_FourIsland}, { 0, 0, 1, 1, sMapName_FourIsland},
{ 0, 0, 1, 1, gMapName_FiveIsland}, { 0, 0, 1, 1, sMapName_FiveIsland},
{ 0, 0, 1, 1, gMapName_SevenIsland}, { 0, 0, 1, 1, sMapName_SevenIsland},
{ 0, 0, 1, 1, gMapName_SixIsland}, { 0, 0, 1, 1, sMapName_SixIsland},
{ 0, 0, 1, 1, gMapName_KindleRoad}, { 0, 0, 1, 1, sMapName_KindleRoad},
{ 0, 0, 1, 1, gMapName_TreasureBeach}, { 0, 0, 1, 1, sMapName_TreasureBeach},
{ 0, 0, 1, 1, gMapName_CapeBrink}, { 0, 0, 1, 1, sMapName_CapeBrink},
{ 0, 0, 1, 1, gMapName_BondBridge}, { 0, 0, 1, 1, sMapName_BondBridge},
{ 0, 0, 1, 1, gMapName_ThreeIslePort}, { 0, 0, 1, 1, sMapName_ThreeIslePort},
{ 0, 0, 1, 1, gMapName_SeviiIsle6}, { 0, 0, 1, 1, sMapName_SeviiIsle6},
{ 0, 0, 1, 1, gMapName_SeviiIsle7}, { 0, 0, 1, 1, sMapName_SeviiIsle7},
{ 0, 0, 1, 1, gMapName_SeviiIsle8}, { 0, 0, 1, 1, sMapName_SeviiIsle8},
{ 0, 0, 1, 1, gMapName_SeviiIsle9}, { 0, 0, 1, 1, sMapName_SeviiIsle9},
{ 0, 0, 1, 1, gMapName_ResortGorgeous}, { 0, 0, 1, 1, sMapName_ResortGorgeous},
{ 0, 0, 1, 1, gMapName_WaterLabyrinth}, { 0, 0, 1, 1, sMapName_WaterLabyrinth},
{ 0, 0, 1, 1, gMapName_FiveIsleMeadow}, { 0, 0, 1, 1, sMapName_FiveIsleMeadow},
{ 0, 0, 1, 1, gMapName_MemorialPillar}, { 0, 0, 1, 1, sMapName_MemorialPillar},
{ 0, 0, 1, 1, gMapName_OutcastIsland}, { 0, 0, 1, 1, sMapName_OutcastIsland},
{ 0, 0, 1, 1, gMapName_GreenPath}, { 0, 0, 1, 1, sMapName_GreenPath},
{ 0, 0, 1, 1, gMapName_WaterPath}, { 0, 0, 1, 1, sMapName_WaterPath},
{ 0, 0, 1, 1, gMapName_RuinValley}, { 0, 0, 1, 1, sMapName_RuinValley},
{ 0, 0, 1, 1, gMapName_TrainerTower}, { 0, 0, 1, 1, sMapName_TrainerTower},
{ 0, 0, 1, 1, gMapName_CanyonEntrance}, { 0, 0, 1, 1, sMapName_CanyonEntrance},
{ 0, 0, 1, 1, gMapName_SevaultCanyon}, { 0, 0, 1, 1, sMapName_SevaultCanyon},
{ 0, 0, 1, 1, gMapName_TanobyRuins}, { 0, 0, 1, 1, sMapName_TanobyRuins},
{ 0, 0, 1, 1, gMapName_SeviiIsle22}, { 0, 0, 1, 1, sMapName_SeviiIsle22},
{ 0, 0, 1, 1, gMapName_SeviiIsle23}, { 0, 0, 1, 1, sMapName_SeviiIsle23},
{ 0, 0, 1, 1, gMapName_SeviiIsle24}, { 0, 0, 1, 1, sMapName_SeviiIsle24},
{ 0, 0, 1, 1, gMapName_NavelRock}, { 0, 0, 1, 1, sMapName_NavelRock},
{ 0, 0, 1, 1, gMapName_MtEmber}, { 0, 0, 1, 1, sMapName_MtEmber},
{ 0, 0, 1, 1, gMapName_BerryForest}, { 0, 0, 1, 1, sMapName_BerryForest},
{ 0, 0, 1, 1, gMapName_IcefallCave}, { 0, 0, 1, 1, sMapName_IcefallCave},
{ 0, 0, 1, 1, gMapName_RocketWarehouse}, { 0, 0, 1, 1, sMapName_RocketWarehouse},
{ 0, 0, 1, 1, gMapName_TrainerTower2}, { 0, 0, 1, 1, sMapName_TrainerTower2},
{ 0, 0, 1, 1, gMapName_DottedHole}, { 0, 0, 1, 1, sMapName_DottedHole},
{ 0, 0, 1, 1, gMapName_LostCave}, { 0, 0, 1, 1, sMapName_LostCave},
{ 0, 0, 1, 1, gMapName_PatternBush}, { 0, 0, 1, 1, sMapName_PatternBush},
{ 0, 0, 1, 1, gMapName_AlteringCave}, { 0, 0, 1, 1, sMapName_AlteringCave},
{ 0, 0, 1, 1, gMapName_TanobyChambers}, { 0, 0, 1, 1, sMapName_TanobyChambers},
{ 0, 0, 1, 1, gMapName_ThreeIslePath}, { 0, 0, 1, 1, sMapName_ThreeIslePath},
{ 0, 0, 1, 1, gMapName_TanobyKey}, { 0, 0, 1, 1, sMapName_TanobyKey},
{ 0, 0, 1, 1, gMapName_BirthIsland}, { 0, 0, 1, 1, sMapName_BirthIsland},
{ 0, 0, 1, 1, gMapName_MoneanChamber}, { 0, 0, 1, 1, sMapName_MoneanChamber},
{ 0, 0, 1, 1, gMapName_LiptooChamber}, { 0, 0, 1, 1, sMapName_LiptooChamber},
{ 0, 0, 1, 1, gMapName_WeepthChamber}, { 0, 0, 1, 1, sMapName_WeepthChamber},
{ 0, 0, 1, 1, gMapName_DilfordChamber}, { 0, 0, 1, 1, sMapName_DilfordChamber},
{ 0, 0, 1, 1, gMapName_ScufibChamber}, { 0, 0, 1, 1, sMapName_ScufibChamber},
{ 0, 0, 1, 1, gMapName_RixyChamber}, { 0, 0, 1, 1, sMapName_RixyChamber},
{ 0, 0, 1, 1, gMapName_ViapoisChamber}, { 0, 0, 1, 1, sMapName_ViapoisChamber},
{ 0, 0, 1, 1, gMapName_EmberSpa}, { 0, 0, 1, 1, sMapName_EmberSpa},
{ 0, 0, 1, 1, gMapName_SpecialArea}, { 0, 0, 1, 1, sMapName_SpecialArea},
{19, 3, 1, 1, gMapName_AquaHideout}, {19, 3, 1, 1, sMapName_AquaHideout},
{ 6, 3, 1, 1, gMapName_MagmaHideout}, { 6, 3, 1, 1, sMapName_MagmaHideout},
{ 8, 2, 1, 1, gMapName_MirageTower}, { 8, 2, 1, 1, sMapName_MirageTower},
{ 0, 0, 1, 1, gMapName_BirthIsland}, { 0, 0, 1, 1, sMapName_BirthIsland},
{ 0, 0, 1, 1, gMapName_FarawayIsland}, { 0, 0, 1, 1, sMapName_FarawayIsland},
{22, 12, 1, 1, gMapName_ArtisanCave}, {22, 12, 1, 1, sMapName_ArtisanCave},
{ 0, 0, 1, 1, gMapName_MarineCave}, { 0, 0, 1, 1, sMapName_MarineCave},
{ 0, 0, 1, 1, gMapName_Underwater}, { 0, 0, 1, 1, sMapName_Underwater},
{ 0, 0, 1, 1, gMapName_TerraCave}, { 0, 0, 1, 1, sMapName_TerraCave},
{ 0, 10, 1, 3, gMapName_Underwater}, { 0, 10, 1, 3, sMapName_Underwater},
{24, 3, 2, 2, gMapName_Underwater}, {24, 3, 2, 2, sMapName_Underwater},
{24, 10, 2, 1, gMapName_Underwater}, {24, 10, 2, 1, sMapName_Underwater},
{ 2, 0, 1, 1, gMapName_DesertUnderpass}, { 2, 0, 1, 1, sMapName_DesertUnderpass},
{ 6, 8, 1, 1, gMapName_AlteringCave}, { 6, 8, 1, 1, sMapName_AlteringCave},
{ 0, 0, 1, 1, gMapName_NavelRock}, { 0, 0, 1, 1, sMapName_NavelRock},
{ 8, 4, 1, 1, gMapName_TrainerHill} { 8, 4, 1, 1, sMapName_TrainerHill}
}; };
#endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H #endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H

View File

@ -49,7 +49,7 @@ struct OamData
u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode u32 matrixNum:5; // bits 3/4 are h-flip/v-flip if not in affine mode
u32 size:2; u32 size:2;
/*0x04*/ u16 tileNum:10; // 0x33F /*0x04*/ u16 tileNum:10; // 0x3FF
u16 priority:2; // 0x400, 0x800 -> 0xC00 u16 priority:2; // 0x400, 0x800 -> 0xC00
u16 paletteNum:4; u16 paletteNum:4;
/*0x06*/ u16 affineParam; /*0x06*/ u16 affineParam;

View File

@ -39,7 +39,7 @@ enum
MAP_BATTLE_SCENE_PHOEBE, // 5 MAP_BATTLE_SCENE_PHOEBE, // 5
MAP_BATTLE_SCENE_GLACIA, // 6 MAP_BATTLE_SCENE_GLACIA, // 6
MAP_BATTLE_SCENE_DRAKE, // 7 MAP_BATTLE_SCENE_DRAKE, // 7
MAP_BATTLE_SCENE_BATTLE_TOWER, // 8 MAP_BATTLE_SCENE_FRONTIER, // 8
}; };
typedef void (*TilesetCB)(void); typedef void (*TilesetCB)(void);

View File

@ -141,4 +141,82 @@ extern const u8 gUnknown_08DDB020[];
extern const u8 gUnknown_08DDB2C4[]; extern const u8 gUnknown_08DDB2C4[];
extern const u16 gUnknown_08DDAFE0[]; extern const u16 gUnknown_08DDAFE0[];
extern const u8 gBattleTextboxTiles[];
extern const u8 gBattleTextboxTilemap[];
extern const u8 gBattleTextboxPalette[];
extern const u8 gUnknown_08D778F0[];
extern const u8 gUnknown_08D77B0C[];
extern const u8 gUnknown_08D77AE4[];
extern const u8 gUnknown_08D779D8[];
extern const u8 gUnknown_08D857A8[];
extern const u8 gUnknown_08D85A1C[];
extern const u8 gUnknown_08D85600[];
// battle terrains
extern const u8 gBattleTerrainTiles_TallGrass[];
extern const u8 gBattleTerrainTilemap_TallGrass[];
extern const u8 gBattleTerrainAnimTiles_TallGrass[];
extern const u8 gBattleTerrainAnimTilemap_TallGrass[];
extern const u8 gBattleTerrainPalette_TallGrass[];
extern const u8 gBattleTerrainTiles_LongGrass[];
extern const u8 gBattleTerrainTilemap_LongGrass[];
extern const u8 gBattleTerrainAnimTiles_LongGrass[];
extern const u8 gBattleTerrainAnimTilemap_LongGrass[];
extern const u8 gBattleTerrainPalette_LongGrass[];
extern const u8 gBattleTerrainTiles_Sand[];
extern const u8 gBattleTerrainTilemap_Sand[];
extern const u8 gBattleTerrainAnimTiles_Sand[];
extern const u8 gBattleTerrainAnimTilemap_Sand[];
extern const u8 gBattleTerrainPalette_Sand[];
extern const u8 gBattleTerrainTiles_Underwater[];
extern const u8 gBattleTerrainTilemap_Underwater[];
extern const u8 gBattleTerrainAnimTiles_Underwater[];
extern const u8 gBattleTerrainAnimTilemap_Underwater[];
extern const u8 gBattleTerrainPalette_Underwater[];
extern const u8 gBattleTerrainTiles_Water[];
extern const u8 gBattleTerrainTilemap_Water[];
extern const u8 gBattleTerrainAnimTiles_Water[];
extern const u8 gBattleTerrainAnimTilemap_Water[];
extern const u8 gBattleTerrainPalette_Water[];
extern const u8 gBattleTerrainTiles_PondWater[];
extern const u8 gBattleTerrainTilemap_PondWater[];
extern const u8 gBattleTerrainAnimTiles_PondWater[];
extern const u8 gBattleTerrainAnimTilemap_PondWater[];
extern const u8 gBattleTerrainPalette_PondWater[];
extern const u8 gBattleTerrainTiles_Rock[];
extern const u8 gBattleTerrainTilemap_Rock[];
extern const u8 gBattleTerrainAnimTiles_Rock[];
extern const u8 gBattleTerrainAnimTilemap_Rock[];
extern const u8 gBattleTerrainPalette_Rock[];
extern const u8 gBattleTerrainTiles_Cave[];
extern const u8 gBattleTerrainTilemap_Cave[];
extern const u8 gBattleTerrainAnimTiles_Cave[];
extern const u8 gBattleTerrainAnimTilemap_Cave[];
extern const u8 gBattleTerrainPalette_Cave[];
extern const u8 gBattleTerrainTiles_Building[];
extern const u8 gBattleTerrainTilemap_Building[];
extern const u8 gBattleTerrainAnimTiles_Building[];
extern const u8 gBattleTerrainAnimTilemap_Building[];
extern const u8 gBattleTerrainPalette_Building[];
extern const u8 gBattleTerrainPalette_Plain[];
extern const u8 gBattleTerrainPalette_Frontier[];
extern const u8 gBattleTerrainTiles_Stadium[];
extern const u8 gBattleTerrainTilemap_Stadium[];
extern const u8 gBattleTerrainTiles_Rayquaza[];
extern const u8 gBattleTerrainTilemap_Rayquaza[];
extern const u8 gBattleTerrainAnimTiles_Rayquaza[];
extern const u8 gBattleTerrainAnimTilemap_Rayquaza[];
extern const u8 gBattleTerrainPalette_Rayquaza[];
extern const u8 gBattleTerrainPalette_Kyogre[];
extern const u8 gBattleTerrainPalette_Groudon[];
extern const u8 gBattleTerrainPalette_BuildingGym[];
extern const u8 gBattleTerrainPalette_BuildingLeader[];
extern const u8 gBattleTerrainPalette_StadiumAqua[];
extern const u8 gBattleTerrainPalette_StadiumMagma[];
extern const u8 gBattleTerrainPalette_StadiumSidney[];
extern const u8 gBattleTerrainPalette_StadiumPhoebe[];
extern const u8 gBattleTerrainPalette_StadiumGlacia[];
extern const u8 gBattleTerrainPalette_StadiumDrake[];
extern const u8 gBattleTerrainPalette_StadiumWallace[];
#endif //GUARD_GRAPHICS_H #endif //GUARD_GRAPHICS_H

View File

@ -14,5 +14,6 @@ void sub_8197434(u8 a0, u8 a1);
void SetStandardWindowBorderStyle(u8 a0, u8 a1); void SetStandardWindowBorderStyle(u8 a0, u8 a1);
void sub_8197930(void); void sub_8197930(void);
u8 GetPlayerTextSpeed(void); u8 GetPlayerTextSpeed(void);
void sub_81978B0(u16 arg0);
#endif // GUARD_NEW_MENU_HELPERS_H #endif // GUARD_NEW_MENU_HELPERS_H

View File

@ -88,5 +88,8 @@ extern const u8 gText_Cancel4[];
extern const u8 gText_IsThisTheCorrectTime[]; extern const u8 gText_IsThisTheCorrectTime[];
extern const u8 gText_PkmnFainted3[]; extern const u8 gText_PkmnFainted3[];
extern const u8 gText_Coins[]; extern const u8 gText_Coins[];
extern const u8 gText_Draw[];
extern const u8 gText_Loss[];
extern const u8 gText_Win[];
#endif //GUARD_STRINGS_H #endif //GUARD_STRINGS_H

View File

@ -56,7 +56,8 @@ SECTIONS {
asm/main_menu.o(.text); asm/main_menu.o(.text);
src/battle_controllers.o(.text); src/battle_controllers.o(.text);
src/decompress.o(.text); src/decompress.o(.text);
asm/battle_1.o(.text); asm/rom_8034C54.o(.text);
src/battle_bg.o(.text);
src/battle_2.o(.text); src/battle_2.o(.text);
src/battle_util.o(.text); src/battle_util.o(.text);
src/battle_script_commands.o(.text); src/battle_script_commands.o(.text);

View File

@ -152,7 +152,7 @@ extern u8 gUnknown_020241E9;
extern u16 gChosenMove; extern u16 gChosenMove;
extern const struct BattleMove gBattleMoves[]; extern const struct BattleMove gBattleMoves[];
extern const u16 gUnknown_08C004E0[]; // battle textbox palette extern const u16 gBattleTextboxPalette[]; // battle textbox palette
extern const struct BgTemplate gUnknown_0831AA08[]; extern const struct BgTemplate gUnknown_0831AA08[];
extern const struct WindowTemplate * const gUnknown_0831ABA0[]; extern const struct WindowTemplate * const gUnknown_0831ABA0[];
extern const u8 gUnknown_0831ACE0[]; extern const u8 gUnknown_0831ACE0[];
@ -754,7 +754,7 @@ static void CB2_HandleStartBattle(void)
ResetBlockReceivedFlags(); ResetBlockReceivedFlags();
sub_8036EB8(2, playerMultiplayerId); sub_8036EB8(2, playerMultiplayerId);
SetAllPlayersBerryData(); SetAllPlayersBerryData();
taskId = CreateTask(task00_0800F6FC, 0); taskId = CreateTask(sub_8035D74, 0);
gTasks[taskId].data[1] = 0x10E; gTasks[taskId].data[1] = 0x10E;
gTasks[taskId].data[2] = 0x5A; gTasks[taskId].data[2] = 0x5A;
gTasks[taskId].data[5] = 0; gTasks[taskId].data[5] = 0;
@ -956,7 +956,7 @@ static void CB2_HandleStartMultiPartnerBattle(void)
ResetBlockReceivedFlags(); ResetBlockReceivedFlags();
sub_8036EB8(2, playerMultiplayerId); sub_8036EB8(2, playerMultiplayerId);
SetAllPlayersBerryData(); SetAllPlayersBerryData();
taskId = CreateTask(task00_0800F6FC, 0); taskId = CreateTask(sub_8035D74, 0);
gTasks[taskId].data[1] = 0x10E; gTasks[taskId].data[1] = 0x10E;
gTasks[taskId].data[2] = 0x5A; gTasks[taskId].data[2] = 0x5A;
gTasks[taskId].data[5] = 0; gTasks[taskId].data[5] = 0;
@ -1342,7 +1342,7 @@ static void CB2_HandleStartMultiBattle(void)
sub_8036EB8(4, playerMultiplayerId); sub_8036EB8(4, playerMultiplayerId);
SetAllPlayersBerryData(); SetAllPlayersBerryData();
sub_8068AA4(); sub_8068AA4();
var = CreateTask(task00_0800F6FC, 0); var = CreateTask(sub_8035D74, 0);
gTasks[var].data[1] = 0x10E; gTasks[var].data[1] = 0x10E;
gTasks[var].data[2] = 0x5A; gTasks[var].data[2] = 0x5A;
gTasks[var].data[5] = 0; gTasks[var].data[5] = 0;
@ -1978,7 +1978,7 @@ void sub_8038D64(void)
gBattle_BG3_Y = 0; gBattle_BG3_Y = 0;
sub_80356D0(); sub_80356D0();
LoadCompressedPalette(gUnknown_08C004E0, 0, 64); LoadCompressedPalette(gBattleTextboxPalette, 0, 64);
ApplyPlayerChosenFrameToBattleMenu(); ApplyPlayerChosenFrameToBattleMenu();
ResetSpriteData(); ResetSpriteData();
ResetTasks(); ResetTasks();
@ -1988,7 +1988,7 @@ void sub_8038D64(void)
gReservedSpritePaletteCount = 4; gReservedSpritePaletteCount = 4;
SetVBlankCallback(VBlankCB_Battle); SetVBlankCallback(VBlankCB_Battle);
taskId = CreateTask(task00_0800F6FC, 0); taskId = CreateTask(sub_8035D74, 0);
gTasks[taskId].data[1] = 0x10E; gTasks[taskId].data[1] = 0x10E;
gTasks[taskId].data[2] = 0x5A; gTasks[taskId].data[2] = 0x5A;
gTasks[taskId].data[5] = 1; gTasks[taskId].data[5] = 1;

754
src/battle_bg.c Normal file
View File

@ -0,0 +1,754 @@
#include "global.h"
#include "battle.h"
#include "sprite.h"
#include "constants\trainers.h"
#include "graphics.h"
#include "decompress.h"
#include "bg.h"
#include "palette.h"
#include "main.h"
#include "gpu_regs.h"
#include "link.h"
#include "battle_message.h"
#include "task.h"
#include "trig.h"
#include "sound.h"
#include "songs.h"
#include "strings.h"
#include "window.h"
#include "text_window.h"
#include "new_menu_helpers.h"
struct BattleBackground
{
const void *tileset;
const void *tilemap;
const void *entryTileset;
const void *entryTilemap;
const void *palette;
};
extern const struct SpriteTemplate gUnknown_0831A9D0;
extern const struct SpriteTemplate gUnknown_0831A9E8;
extern const struct CompressedSpriteSheet gUnknown_0831AA00;
extern const struct BgTemplate gUnknown_0831AA08[4];
extern const struct WindowTemplate *gUnknown_0831ABA0[];
extern const struct BattleBackground gBattleTerrainTable[];
extern u8 gBattleTerrain;
extern u16 gTrainerBattleOpponent_A;
extern u16 gBattle_BG1_X;
extern u16 gBattle_BG1_Y;
extern u16 gBattle_BG2_X;
extern u16 gBattle_BG2_Y;
extern u16 gPartnerTrainerId;
extern u8 GetCurrentMapBattleScene(void);
void sub_8035658(void)
{
ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gUnknown_0831AA08, ARRAY_COUNT(gUnknown_0831AA08));
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
{
gBattleScripting.field_24 = 1;
SetBgTilemapBuffer(1, gUnknown_02023060);
SetBgTilemapBuffer(2, gUnknown_02023060);
}
else
{
gBattleScripting.field_24 = 0;
}
InitWindows(gUnknown_0831ABA0[gBattleScripting.field_24]);
DeactivateAllTextPrinters();
}
void sub_80356D0(void)
{
DisableInterrupts(INTR_FLAG_HBLANK);
EnableInterrupts(INTR_FLAG_VBLANK | INTR_FLAG_VCOUNT | INTR_FLAG_TIMER3 | INTR_FLAG_SERIAL);
sub_8035658();
SetGpuReg(REG_OFFSET_BLDCNT, 0);
SetGpuReg(REG_OFFSET_BLDALPHA, 0);
SetGpuReg(REG_OFFSET_BLDY, 0);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON | DISPCNT_WIN0_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP);
}
void ApplyPlayerChosenFrameToBattleMenu(void)
{
sub_809882C(2, 0x12, 0x10);
sub_809882C(2, 0x22, 0x10);
LoadCompressedPalette(gUnknown_08D85600, 0x50, 0x20);
if (gBattleTypeFlags & BATTLE_TYPE_ARENA)
{
sub_81978B0(0x70);
copy_textbox_border_tile_patterns_to_vram(0, 0x30, 0x70);
gPlttBufferUnfaded[0x76] = 0;
CpuCopy16(&gPlttBufferUnfaded[0x76], &gPlttBufferFaded[0x76], 2);
}
}
void DrawMainBattleBackground(void)
{
if (gBattleTypeFlags & (BATTLE_TYPE_LINK | BATTLE_TYPE_FRONTIER | BATTLE_TYPE_EREADER_TRAINER | BATTLE_TYPE_x2000000))
{
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60);
}
else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON)
{
LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60);
}
else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE)
{
LZDecompressVram(gBattleTerrainTiles_Water, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60);
}
else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA)
{
LZDecompressVram(gBattleTerrainTiles_Rayquaza, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Rayquaza, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_Rayquaza, 0x20, 0x60);
}
else
{
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
if (trainerClass == TRAINER_CLASS_LEADER)
{
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60);
return;
}
else if (trainerClass == TRAINER_CLASS_CHAMPION)
{
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, 0x20, 0x60);
return;
}
}
switch (GetCurrentMapBattleScene())
{
default:
case MAP_BATTLE_SCENE_NORMAL:
LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_GYM:
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_MAGMA:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_AQUA:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_SIDNEY:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_PHOEBE:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_GLACIA:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_DRAKE:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_FRONTIER:
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000));
LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000));
LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60);
break;
}
}
}
void LoadBattleTextboxAndBackground(void)
{
LZDecompressVram(gBattleTextboxTiles, (void*)(VRAM));
CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0);
CopyBgTilemapBufferToVram(0);
LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40);
ApplyPlayerChosenFrameToBattleMenu();
DrawMainBattleBackground();
}
static void sub_8035AE4(u8 taskId, u8 bank, u8 bgId, u8 destX, u8 destY)
{
s32 i;
u16 var = 0;
u16 src[6];
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if (gTasks[taskId].data[5] != 0)
{
switch (bank)
{
case 0:
var = 0x3F & gTasks[taskId].data[3];
break;
case 1:
var = (0xFC0 & gTasks[taskId].data[4]) >> 6;
break;
case 2:
var = (0xFC0 & gTasks[taskId].data[3]) >> 6;
break;
case 3:
var = 0x3F & gTasks[taskId].data[4];
break;
}
}
else
{
switch (bank)
{
case 0:
var = 0x3F & gTasks[taskId].data[3];
break;
case 1:
var = 0x3F & gTasks[taskId].data[4];
break;
case 2:
var = (0xFC0 & gTasks[taskId].data[3]) >> 6;
break;
case 3:
var = (0xFC0 & gTasks[taskId].data[4]) >> 6;
break;
}
}
for (i = 0; i < 3; i++)
{
src[i] = ((var & (3 << (i * 2))) >> (i * 2)) + 0x6001;
}
CopyToBgTilemapBufferRect_ChangePalette(bgId, src, destX, destY, 3, 1, 0x11);
CopyBgTilemapBufferToVram(bgId);
}
else
{
if (bank == gBattleScripting.multiplayerId)
var = gTasks[taskId].data[3];
else
var = gTasks[taskId].data[4];
for (i = 0; i < 6; i++)
{
src[i] = ((var & (3 << (i * 2))) >> (i * 2)) + 0x6001;
}
CopyToBgTilemapBufferRect_ChangePalette(bgId, src, destX, destY, 6, 1, 0x11);
CopyBgTilemapBufferToVram(bgId);
}
}
static void sub_8035C4C(void)
{
if (gBattleOutcome == BATTLE_DREW)
{
BattleHandleAddTextPrinter(gText_Draw, 0x15);
}
else if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
if (gBattleOutcome == BATTLE_WON)
{
switch (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18)
{
case 0:
BattleHandleAddTextPrinter(gText_Win, 0x16);
BattleHandleAddTextPrinter(gText_Loss, 0x17);
break;
case 1:
BattleHandleAddTextPrinter(gText_Win, 0x17);
BattleHandleAddTextPrinter(gText_Loss, 0x16);
break;
case 2:
BattleHandleAddTextPrinter(gText_Win, 0x16);
BattleHandleAddTextPrinter(gText_Loss, 0x17);
break;
case 3:
BattleHandleAddTextPrinter(gText_Win, 0x17);
BattleHandleAddTextPrinter(gText_Loss, 0x16);
break;
}
}
else
{
switch (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18)
{
case 0:
BattleHandleAddTextPrinter(gText_Win, 0x17);
BattleHandleAddTextPrinter(gText_Loss, 0x16);
break;
case 1:
BattleHandleAddTextPrinter(gText_Win, 0x16);
BattleHandleAddTextPrinter(gText_Loss, 0x17);
break;
case 2:
BattleHandleAddTextPrinter(gText_Win, 0x17);
BattleHandleAddTextPrinter(gText_Loss, 0x16);
break;
case 3:
BattleHandleAddTextPrinter(gText_Win, 0x16);
BattleHandleAddTextPrinter(gText_Loss, 0x17);
break;
}
}
}
else if (gBattleOutcome == BATTLE_WON)
{
if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 != 0)
{
BattleHandleAddTextPrinter(gText_Win, 0x17);
BattleHandleAddTextPrinter(gText_Loss, 0x16);
}
else
{
BattleHandleAddTextPrinter(gText_Win, 0x16);
BattleHandleAddTextPrinter(gText_Loss, 0x17);
}
}
else
{
if (gLinkPlayers[gBattleScripting.multiplayerId].lp_field_18 != 0)
{
BattleHandleAddTextPrinter(gText_Win, 0x16);
BattleHandleAddTextPrinter(gText_Loss, 0x17);
}
else
{
BattleHandleAddTextPrinter(gText_Win, 0x17);
BattleHandleAddTextPrinter(gText_Loss, 0x16);
}
}
}
void sub_8035D74(u8 taskId)
{
struct LinkPlayer *linkPlayer;
u8 *name;
s32 i, palId;
switch (gTasks[taskId].data[0])
{
case 0:
if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{
for (i = 0; i < BATTLE_BANKS_COUNT; i++)
{
name = gLinkPlayers[i].name;
linkPlayer = &gLinkPlayers[i];
switch (linkPlayer->lp_field_18)
{
case 0:
BattleHandleAddTextPrinter(name, 0x11);
sub_8035AE4(taskId, linkPlayer->lp_field_18, 1, 2, 4);
break;
case 1:
BattleHandleAddTextPrinter(name, 0x12);
sub_8035AE4(taskId, linkPlayer->lp_field_18, 2, 2, 4);
break;
case 2:
BattleHandleAddTextPrinter(name, 0x13);
sub_8035AE4(taskId, linkPlayer->lp_field_18, 1, 2, 8);
break;
case 3:
BattleHandleAddTextPrinter(name, 0x14);
sub_8035AE4(taskId, linkPlayer->lp_field_18, 2, 2, 8);
break;
}
}
}
else
{
u8 playerId = gBattleScripting.multiplayerId;
u8 opponentId = playerId ^ BIT_SIDE;
u8 opponentId_copy = opponentId;
if (gLinkPlayers[playerId].lp_field_18 != 0)
opponentId = playerId, playerId = opponentId_copy;
name = gLinkPlayers[playerId].name;
BattleHandleAddTextPrinter(name, 0xF);
name = gLinkPlayers[opponentId].name;
BattleHandleAddTextPrinter(name, 0x10);
sub_8035AE4(taskId, playerId, 1, 2, 7);
sub_8035AE4(taskId, opponentId, 2, 2, 7);
}
gTasks[taskId].data[0]++;
break;
case 1:
palId = AllocSpritePalette(0x2710);
gPlttBufferUnfaded[palId * 16 + 0x10F] = gPlttBufferFaded[palId * 16 + 0x10F] = 0x7FFF;
gBattleStruct->field_7D = CreateSprite(&gUnknown_0831A9D0, 111, 80, 0);
gBattleStruct->field_7E = CreateSprite(&gUnknown_0831A9E8, 129, 80, 0);
gSprites[gBattleStruct->field_7D].invisible = 1;
gSprites[gBattleStruct->field_7E].invisible = 1;
gTasks[taskId].data[0]++;
break;
case 2:
if (gTasks[taskId].data[5] != 0)
{
gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32);
gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32);
gBattle_BG1_Y = -36;
gBattle_BG2_Y = -36;
}
else
{
gBattle_BG1_X = -(20) - (Sin2(gTasks[taskId].data[1]) / 32);
gBattle_BG1_Y = (Cos2(gTasks[taskId].data[1]) / 32) - 164;
gBattle_BG2_X = -(140) - (Sin2(gTasks[taskId].data[2]) / 32);
gBattle_BG2_Y = (Cos2(gTasks[taskId].data[2]) / 32) - 164;
}
if (gTasks[taskId].data[2] != 0)
{
gTasks[taskId].data[2] -= 2;
gTasks[taskId].data[1] += 2;
}
else
{
if (gTasks[taskId].data[5] != 0)
sub_8035C4C();
PlaySE(SE_W231);
DestroyTask(taskId);
gSprites[gBattleStruct->field_7D].invisible = 0;
gSprites[gBattleStruct->field_7E].invisible = 0;
gSprites[gBattleStruct->field_7E].oam.tileNum += 0x40;
gSprites[gBattleStruct->field_7D].data[0] = 0;
gSprites[gBattleStruct->field_7E].data[0] = 1;
gSprites[gBattleStruct->field_7D].data[1] = gSprites[gBattleStruct->field_7D].pos1.x;
gSprites[gBattleStruct->field_7E].data[1] = gSprites[gBattleStruct->field_7E].pos1.x;
gSprites[gBattleStruct->field_7D].data[2] = 0;
gSprites[gBattleStruct->field_7E].data[2] = 0;
}
break;
}
}
void LoadBattleEntryBackground(void)
{
if (gBattleTypeFlags & BATTLE_TYPE_LINK)
{
LZDecompressVram(gUnknown_08D778F0, (void*)(VRAM + 0x4000));
LZDecompressVram(gUnknown_08D77B0C, (void*)(VRAM + 0x10000));
LoadCompressedPalette(gUnknown_08D77AE4, 0x60, 0x20);
SetBgAttribute(1, BG_CTRL_ATTR_MAPBASEINDEX, 1);
SetGpuReg(REG_OFFSET_BG1CNT, 0x5C04);
CopyToBgTilemapBuffer(1, gUnknown_08D779D8, 0, 0);
CopyToBgTilemapBuffer(2, gUnknown_08D779D8, 0, 0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
SetGpuReg(REG_OFFSET_WININ, 0x36);
SetGpuReg(REG_OFFSET_WINOUT, 0x36);
gBattle_BG1_Y = 0xFF5C;
gBattle_BG2_Y = 0xFF5C;
LoadCompressedObjectPicUsingHeap(&gUnknown_0831AA00);
}
else if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER))
{
if (!(gBattleTypeFlags & BATTLE_TYPE_INGAME_PARTNER) || gPartnerTrainerId == STEVEN_PARTNER_ID)
{
LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(VRAM + 0x4000));
LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(VRAM + 0xE000));
}
else
{
SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 2);
SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 2);
CopyToBgTilemapBuffer(1, gUnknown_08D857A8, 0, 0);
CopyToBgTilemapBuffer(2, gUnknown_08D85A1C, 0, 0);
CopyBgTilemapBufferToVram(1);
CopyBgTilemapBufferToVram(2);
}
}
else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON)
{
LZDecompressVram(gBattleTerrainAnimTiles_Cave, (void*)(VRAM + 0x4000));
LZDecompressVram(gBattleTerrainAnimTilemap_Cave, (void*)(VRAM + 0xE000));
}
else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE)
{
LZDecompressVram(gBattleTerrainAnimTiles_Underwater, (void*)(VRAM + 0x4000));
LZDecompressVram(gBattleTerrainAnimTilemap_Underwater, (void*)(VRAM + 0xE000));
}
else if (gBattleTypeFlags & BATTLE_TYPE_RAYQUAZA)
{
LZDecompressVram(gBattleTerrainAnimTiles_Rayquaza, (void*)(VRAM + 0x4000));
LZDecompressVram(gBattleTerrainAnimTilemap_Rayquaza, (void*)(VRAM + 0xE000));
}
else
{
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
if (trainerClass == TRAINER_CLASS_LEADER)
{
LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(VRAM + 0x4000));
LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(VRAM + 0xE000));
return;
}
else if (trainerClass == TRAINER_CLASS_CHAMPION)
{
LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(VRAM + 0x4000));
LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(VRAM + 0xE000));
return;
}
}
if (GetCurrentMapBattleScene() == MAP_BATTLE_SCENE_NORMAL)
{
LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTileset, (void*)(VRAM + 0x4000));
LZDecompressVram(gBattleTerrainTable[gBattleTerrain].entryTilemap, (void*)(VRAM + 0xE000));
}
else
{
LZDecompressVram(gBattleTerrainAnimTiles_Building, (void*)(VRAM + 0x4000));
LZDecompressVram(gBattleTerrainAnimTilemap_Building, (void*)(VRAM + 0xE000));
}
}
}
bool8 LoadChosenBattleElement(u8 caseId)
{
bool8 ret = FALSE;
switch (caseId)
{
case 0:
LZDecompressVram(gBattleTextboxTiles, (void*)(VRAM));
break;
case 1:
CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0);
CopyBgTilemapBufferToVram(0);
break;
case 2:
LoadCompressedPalette(gBattleTextboxPalette, 0, 0x40);
break;
case 3:
if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER))
{
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000));
}
else if (gBattleTypeFlags & BATTLE_TYPE_GROUDON)
{
LZDecompressVram(gBattleTerrainTiles_Cave, (void*)(VRAM + 0x8000));
}
else
{
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
if (trainerClass == TRAINER_CLASS_LEADER)
{
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000));
break;
}
else if (trainerClass == TRAINER_CLASS_CHAMPION)
{
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
break;
}
}
switch (GetCurrentMapBattleScene())
{
default:
case MAP_BATTLE_SCENE_NORMAL:
LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tileset, (void*)(VRAM + 0x8000));
break;
case MAP_BATTLE_SCENE_GYM:
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000));
break;
case MAP_BATTLE_SCENE_MAGMA:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
break;
case MAP_BATTLE_SCENE_AQUA:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
break;
case MAP_BATTLE_SCENE_SIDNEY:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
break;
case MAP_BATTLE_SCENE_PHOEBE:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
break;
case MAP_BATTLE_SCENE_GLACIA:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
break;
case MAP_BATTLE_SCENE_DRAKE:
LZDecompressVram(gBattleTerrainTiles_Stadium, (void*)(VRAM + 0x8000));
break;
case MAP_BATTLE_SCENE_FRONTIER:
LZDecompressVram(gBattleTerrainTiles_Building, (void*)(VRAM + 0x8000));
break;
}
}
break;
case 4:
if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER))
{
LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000));
}
else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON)
{
if (gGameVersion == VERSION_RUBY)
LZDecompressVram(gBattleTerrainTilemap_Cave, (void*)(VRAM + 0xD000));
else
LZDecompressVram(gBattleTerrainTilemap_Water, (void*)(VRAM + 0xD000));
}
else
{
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
if (trainerClass == TRAINER_CLASS_LEADER)
{
LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000));
break;
}
else if (trainerClass == TRAINER_CLASS_CHAMPION)
{
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
break;
}
}
switch (GetCurrentMapBattleScene())
{
default:
case MAP_BATTLE_SCENE_NORMAL:
LZDecompressVram(gBattleTerrainTable[gBattleTerrain].tilemap, (void*)(VRAM + 0xD000));
break;
case MAP_BATTLE_SCENE_GYM:
LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000));
break;
case MAP_BATTLE_SCENE_MAGMA:
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
break;
case MAP_BATTLE_SCENE_AQUA:
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
break;
case MAP_BATTLE_SCENE_SIDNEY:
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
break;
case MAP_BATTLE_SCENE_PHOEBE:
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
break;
case MAP_BATTLE_SCENE_GLACIA:
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
break;
case MAP_BATTLE_SCENE_DRAKE:
LZDecompressVram(gBattleTerrainTilemap_Stadium, (void*)(VRAM + 0xD000));
break;
case MAP_BATTLE_SCENE_FRONTIER:
LZDecompressVram(gBattleTerrainTilemap_Building, (void*)(VRAM + 0xD000));
break;
}
}
break;
case 5:
if (gBattleTypeFlags & (BATTLE_TYPE_FRONTIER | BATTLE_TYPE_LINK | BATTLE_TYPE_x2000000 | BATTLE_TYPE_EREADER_TRAINER))
{
LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60);
}
else if (gBattleTypeFlags & BATTLE_TYPE_KYOGRE_GROUDON)
{
if (gGameVersion == VERSION_RUBY)
LoadCompressedPalette(gBattleTerrainPalette_Groudon, 0x20, 0x60);
else
LoadCompressedPalette(gBattleTerrainPalette_Kyogre, 0x20, 0x60);
}
else
{
if (gBattleTypeFlags & BATTLE_TYPE_TRAINER)
{
u8 trainerClass = gTrainers[gTrainerBattleOpponent_A].trainerClass;
if (trainerClass == TRAINER_CLASS_LEADER)
{
LoadCompressedPalette(gBattleTerrainPalette_BuildingLeader, 0x20, 0x60);
break;
}
else if (trainerClass == TRAINER_CLASS_CHAMPION)
{
LoadCompressedPalette(gBattleTerrainPalette_StadiumWallace, 0x20, 0x60);
break;
}
}
switch (GetCurrentMapBattleScene())
{
default:
case MAP_BATTLE_SCENE_NORMAL:
LoadCompressedPalette(gBattleTerrainTable[gBattleTerrain].palette, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_GYM:
LoadCompressedPalette(gBattleTerrainPalette_BuildingGym, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_MAGMA:
LoadCompressedPalette(gBattleTerrainPalette_StadiumMagma, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_AQUA:
LoadCompressedPalette(gBattleTerrainPalette_StadiumAqua, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_SIDNEY:
LoadCompressedPalette(gBattleTerrainPalette_StadiumSidney, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_PHOEBE:
LoadCompressedPalette(gBattleTerrainPalette_StadiumPhoebe, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_GLACIA:
LoadCompressedPalette(gBattleTerrainPalette_StadiumGlacia, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_DRAKE:
LoadCompressedPalette(gBattleTerrainPalette_StadiumDrake, 0x20, 0x60);
break;
case MAP_BATTLE_SCENE_FRONTIER:
LoadCompressedPalette(gBattleTerrainPalette_Frontier, 0x20, 0x60);
break;
}
}
break;
case 6:
ApplyPlayerChosenFrameToBattleMenu();
break;
default:
ret = TRUE;
break;
}
return ret;
}

View File

@ -234,7 +234,7 @@ static void (*const sPlayerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
static const u8 sTargetIdentities[] = {IDENTITY_PLAYER_MON1, IDENTITY_PLAYER_MON2, IDENTITY_OPPONENT_MON2, IDENTITY_OPPONENT_MON1}; static const u8 sTargetIdentities[] = {IDENTITY_PLAYER_MON1, IDENTITY_PLAYER_MON2, IDENTITY_OPPONENT_MON2, IDENTITY_OPPONENT_MON1};
// unknown unused data // unknown unused data
static const u8 gUnknown_0831C5FC[] = {0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58}; static const u8 sUnknown_0831C5FC[] = {0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58};
void nullsub_21(void) void nullsub_21(void)
{ {

View File

@ -198,7 +198,7 @@ static void (*const sPlayerPartnerBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
}; };
// unknown unused data // unknown unused data
static const u8 gUnknown_08617254[] = static const u8 sUnknown_08617254[] =
{ {
0x83, 0x4d, 0xf3, 0x5f, 0x6f, 0x4f, 0xeb, 0x3e, 0x83, 0x4d, 0xf3, 0x5f, 0x6f, 0x4f, 0xeb, 0x3e,
0x67, 0x2e, 0x10, 0x46, 0x8c, 0x3d, 0x28, 0x35, 0x67, 0x2e, 0x10, 0x46, 0x8c, 0x3d, 0x28, 0x35,

View File

@ -1366,7 +1366,7 @@ static const u16 sUnknownMoveTable[] =
static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS, EOS, 0, 0}; static const u8 sDummyWeirdStatusString[] = {EOS, EOS, EOS, EOS, EOS, EOS, EOS, EOS, 0, 0};
static const u8 gUnknown_085CD42C[] = static const u8 sUnknown_085CD42C[] =
{ {
0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1, 0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1,
0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0,
@ -1391,7 +1391,7 @@ static const u8 gUnknown_085CD42C[] =
0x6, 0x0, 0x0, 0x0, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0 0x6, 0x0, 0x0, 0x0, 0x1, 0xFF, 0x1, 0x0, 0x0, 0x0, 0x1, 0x0, 0x6, 0x0, 0x0
}; };
static const u8 gUnknown_085CD54C[] = static const u8 sUnknown_085CD54C[] =
{ {
0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1, 0xFF, 0x1, 0x0, 0x1, 0x0, 0x0, 0x1, 0x1, 0xF, 0x6, 0x0, 0x0, 0xFF, 0x1,
0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0, 0x1, 0x1, 0x0, 0x0, 0x0, 0x1, 0xF, 0x6, 0x0, 0x0, 0xEE, 0x1, 0x0, 0x1, 0x0,
@ -1418,7 +1418,7 @@ static const u8 gUnknown_085CD54C[] =
static const u8 * const gUnknown_085CD660[] = static const u8 * const gUnknown_085CD660[] =
{ {
gUnknown_085CD42C, gUnknown_085CD54C sUnknown_085CD42C, sUnknown_085CD54C
}; };
static const u8 sRecordedBattleTextSpeeds[] = {8, 4, 1, 0}; static const u8 sRecordedBattleTextSpeeds[] = {8, 4, 1, 0};

View File

@ -35,9 +35,9 @@ static void berry_fix_bg_hide(void);
// .rodata // .rodata
static const u8 gUnknown_08617E78[] = _("Berry Program Update"); static const u8 sUnknown_08617E78[] = _("Berry Program Update");
static const u8 gUnknown_08617E8D[] = _("Ruby/Sapphire"); static const u8 sUnknown_08617E8D[] = _("Ruby/Sapphire");
static const u8 gUnknown_08617E9B[] = _("Emerald"); static const u8 sUnknown_08617E9B[] = _("Emerald");
static const u8 Unknown_08617EA3[] = _("The Berry Program on your POKéMON\nRuby/Sapphire Game Pak will be updated.\n{COLOR RED}{SHADOW LIGHT_RED}Press the A Button."); static const u8 Unknown_08617EA3[] = _("The Berry Program on your POKéMON\nRuby/Sapphire Game Pak will be updated.\n{COLOR RED}{SHADOW LIGHT_RED}Press the A Button.");
static const u8 Unknown_08617F07[] = _("Please ensure the connection of your\nGame Boy Advance system matches this.\n{COLOR RED}{SHADOW LIGHT_RED}YES: Press the A Button.\nNO: Turn off the power and try again."); static const u8 Unknown_08617F07[] = _("Please ensure the connection of your\nGame Boy Advance system matches this.\n{COLOR RED}{SHADOW LIGHT_RED}YES: Press the A Button.\nNO: Turn off the power and try again.");
@ -62,15 +62,15 @@ static const struct WindowTemplate gUnknown_08618110[] = {
{-1} {-1}
}; };
static const u16 gUnknown_08618138[] = { static const u16 sUnknown_08618138[] = {
0x7fff, 0x7fff, 0x318c, 0x675a, 0x7fff, 0x7fff, 0x318c, 0x675a,
0x043c, 0x3aff, 0x0664, 0x4bd2, 0x043c, 0x3aff, 0x0664, 0x4bd2,
0x6546, 0x7b14, 0x7fff, 0x318c, 0x6546, 0x7b14, 0x7fff, 0x318c,
0x675a, 0x0000, 0x0000, 0x0000 0x675a, 0x0000, 0x0000, 0x0000
}; };
static const u8 gUnknown_08618158[] = {10, 11, 12}; static const u8 sUnknown_08618158[] = {10, 11, 12};
static const u8 gUnknown_0861815B[] = { 0, 10, 13}; static const u8 sUnknown_0861815B[] = { 0, 10, 13};
static const u8 *const gUnknown_08618160[] = { static const u8 *const gUnknown_08618160[] = {
Unknown_08617F07, Unknown_08617F07,
@ -243,21 +243,21 @@ static void berry_fix_gpu_set(void)
InitWindows(gUnknown_08618110); InitWindows(gUnknown_08618110);
DeactivateAllTextPrinters(); DeactivateAllTextPrinters();
DmaCopy32(3, gUnknown_08618138, BG_PLTT + 0x1E0, 0x20); DmaCopy32(3, sUnknown_08618138, BG_PLTT + 0x1E0, 0x20);
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP);
FillWindowPixelBuffer(2, 0); FillWindowPixelBuffer(2, 0);
FillWindowPixelBuffer(3, 0); FillWindowPixelBuffer(3, 0);
FillWindowPixelBuffer(0, 0xAA); FillWindowPixelBuffer(0, 0xAA);
// This block is a meme among memes // This block is a meme among memes
width = (0x78 - GetStringWidth(0, gUnknown_08617E9B, 0)) / 2; width = (0x78 - GetStringWidth(0, sUnknown_08617E9B, 0)) / 2;
box_print(2, 0, width, 3, gUnknown_0861815B, -1, gUnknown_08617E9B); box_print(2, 0, width, 3, sUnknown_0861815B, -1, sUnknown_08617E9B);
width = (s32)(0x78 - GetStringWidth(0, gUnknown_08617E9B, 0)) / 2 + 0x78; width = (s32)(0x78 - GetStringWidth(0, sUnknown_08617E9B, 0)) / 2 + 0x78;
box_print(2, 0, width, 3, gUnknown_0861815B, -1, gUnknown_08617E8D); box_print(2, 0, width, 3, sUnknown_0861815B, -1, sUnknown_08617E8D);
width = (0x70 - GetStringWidth(0, gUnknown_08617E8D, 0)) / 2; width = (0x70 - GetStringWidth(0, sUnknown_08617E8D, 0)) / 2;
box_print(3, 0, width, 0, gUnknown_0861815B, -1, gUnknown_08617E8D); box_print(3, 0, width, 0, sUnknown_0861815B, -1, sUnknown_08617E8D);
width = (0xd0 - GetStringWidth(1, gUnknown_08617E78, 0)) / 2; width = (0xd0 - GetStringWidth(1, sUnknown_08617E78, 0)) / 2;
box_print(0, 1, width, 2, gUnknown_08618158, -1, gUnknown_08617E78); box_print(0, 1, width, 2, sUnknown_08618158, -1, sUnknown_08617E78);
CopyWindowToVram(2, 2); CopyWindowToVram(2, 2);
CopyWindowToVram(3, 2); CopyWindowToVram(3, 2);
@ -346,7 +346,7 @@ __attribute__((naked)) static void berry_fix_gpu_set(void)
"\tldr r0, =gUnknown_08618110\n" "\tldr r0, =gUnknown_08618110\n"
"\tbl InitWindows\n" "\tbl InitWindows\n"
"\tbl DeactivateAllTextPrinters\n" "\tbl DeactivateAllTextPrinters\n"
"\tldr r0, =gUnknown_08618138\n" "\tldr r0, =sUnknown_08618138\n"
"\tstr r0, [r4]\n" "\tstr r0, [r4]\n"
"\tldr r0, =0x050001e0\n" "\tldr r0, =0x050001e0\n"
"\tstr r0, [r4, 0x4]\n" "\tstr r0, [r4, 0x4]\n"
@ -365,7 +365,7 @@ __attribute__((naked)) static void berry_fix_gpu_set(void)
"\tmovs r0, 0\n" "\tmovs r0, 0\n"
"\tmovs r1, 0xAA\n" "\tmovs r1, 0xAA\n"
"\tbl FillWindowPixelBuffer\n" "\tbl FillWindowPixelBuffer\n"
"\tldr r5, =gUnknown_08617E9B\n" "\tldr r5, =sUnknown_08617E9B\n"
"\tmovs r0, 0\n" "\tmovs r0, 0\n"
"\tadds r1, r5, 0\n" "\tadds r1, r5, 0\n"
"\tmovs r2, 0\n" "\tmovs r2, 0\n"
@ -378,7 +378,7 @@ __attribute__((naked)) static void berry_fix_gpu_set(void)
"\tasrs r0, 1\n" "\tasrs r0, 1\n"
"\tlsls r2, r0, 24\n" "\tlsls r2, r0, 24\n"
"\tlsrs r2, 24\n" "\tlsrs r2, 24\n"
"\tldr r6, =gUnknown_0861815B\n" "\tldr r6, =sUnknown_0861815B\n"
"\tstr r6, [sp]\n" "\tstr r6, [sp]\n"
"\tmovs r0, 0x1\n" "\tmovs r0, 0x1\n"
"\tnegs r0, r0\n" "\tnegs r0, r0\n"
@ -389,7 +389,7 @@ __attribute__((naked)) static void berry_fix_gpu_set(void)
"\tmovs r1, 0\n" "\tmovs r1, 0\n"
"\tmovs r3, 0x3\n" "\tmovs r3, 0x3\n"
"\tbl box_print\n" "\tbl box_print\n"
"\tldr r5, =gUnknown_08617E8D\n" "\tldr r5, =sUnknown_08617E8D\n"
"\tmovs r0, 0\n" "\tmovs r0, 0\n"
"\tadds r1, r5, 0\n" "\tadds r1, r5, 0\n"
"\tmovs r2, 0\n" "\tmovs r2, 0\n"
@ -431,7 +431,7 @@ __attribute__((naked)) static void berry_fix_gpu_set(void)
"\tmovs r1, 0\n" "\tmovs r1, 0\n"
"\tmovs r3, 0\n" "\tmovs r3, 0\n"
"\tbl box_print\n" "\tbl box_print\n"
"\tldr r4, =gUnknown_08617E78\n" "\tldr r4, =sUnknown_08617E78\n"
"\tmovs r0, 0x1\n" "\tmovs r0, 0x1\n"
"\tadds r1, r4, 0\n" "\tadds r1, r4, 0\n"
"\tmovs r2, 0\n" "\tmovs r2, 0\n"
@ -444,7 +444,7 @@ __attribute__((naked)) static void berry_fix_gpu_set(void)
"\tasrs r0, 1\n" "\tasrs r0, 1\n"
"\tlsls r2, r0, 24\n" "\tlsls r2, r0, 24\n"
"\tlsrs r2, 24\n" "\tlsrs r2, 24\n"
"\tldr r0, =gUnknown_08618158\n" "\tldr r0, =sUnknown_08618158\n"
"\tstr r0, [sp]\n" "\tstr r0, [sp]\n"
"\tmov r0, r8\n" "\tmov r0, r8\n"
"\tstr r0, [sp, 0x4]\n" "\tstr r0, [sp, 0x4]\n"
@ -496,7 +496,7 @@ static void berry_fix_text_print(int scene)
{ {
FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32);
FillWindowPixelBuffer(1, 0xAA); FillWindowPixelBuffer(1, 0xAA);
box_print(1, 1, 0, 0, gUnknown_08618158, -1, gUnknown_08618160[scene]); box_print(1, 1, 0, 0, sUnknown_08618158, -1, gUnknown_08618160[scene]);
PutWindowTilemap(1); PutWindowTilemap(1);
CopyWindowToVram(1, 2); CopyWindowToVram(1, 2);
switch (scene) switch (scene)

View File

@ -48,9 +48,9 @@ extern struct SpriteTemplate gUnknown_0202499C;
extern void (*gFieldCallback)(void); extern void (*gFieldCallback)(void);
extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct CompressedSpriteSheet gMonFrontPicTable[];
extern const u8 gUnknown_08C00000[]; extern const u8 gBattleTextboxTiles[];
extern const u8 gUnknown_08C00524[]; extern const u8 gBattleTextboxTilemap[];
extern const u8 gUnknown_08C004E0[]; extern const u8 gBattleTextboxPalette[];
extern const u16 gUnknown_08DD7300[]; // palette, gameboy advance extern const u16 gUnknown_08DD7300[]; // palette, gameboy advance
extern const u32 gUnknown_08DD7360[]; // tileset gameboy advance extern const u32 gUnknown_08DD7360[]; // tileset gameboy advance
extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle
@ -522,9 +522,9 @@ static void CB2_EggHatch_0(void)
gMain.state++; gMain.state++;
break; break;
case 2: case 2:
copy_decompressed_tile_data_to_vram_autofree(0, gUnknown_08C00000, 0, 0, 0); copy_decompressed_tile_data_to_vram_autofree(0, gBattleTextboxTiles, 0, 0, 0);
CopyToBgTilemapBuffer(0, gUnknown_08C00524, 0, 0); CopyToBgTilemapBuffer(0, gBattleTextboxTilemap, 0, 0);
LoadCompressedPalette(gUnknown_08C004E0, 0, 0x20); LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20);
gMain.state++; gMain.state++;
break; break;
case 3: case 3:

View File

@ -187,9 +187,9 @@ static const struct BgTemplate sHof_BgTemplates[] =
static const struct WindowTemplate sHof_WindowTemplate = {0, 2, 2, 0xE, 6, 0xE, 1}; static const struct WindowTemplate sHof_WindowTemplate = {0, 2, 2, 0xE, 6, 0xE, 1};
static const u8 gUnknown_085E5388[] = {0, 1, 2, 0}; static const u8 sUnknown_085E5388[] = {0, 1, 2, 0};
static const u8 gUnknown_085E538C[] = {0, 2, 3, 0, 4, 5, 0, 0}; static const u8 sUnknown_085E538C[] = {0, 2, 3, 0, 4, 5, 0, 0};
static const struct CompressedSpriteSheet sHallOfFame_ConfettiSpriteSheet = static const struct CompressedSpriteSheet sHallOfFame_ConfettiSpriteSheet =
{ {
@ -1137,7 +1137,7 @@ static void HallOfFame_PrintWelcomeText(u8 unusedPossiblyWindowId, u8 unused2)
{ {
FillWindowPixelBuffer(0, 0); FillWindowPixelBuffer(0, 0);
PutWindowTilemap(0); PutWindowTilemap(0);
box_print(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, gUnknown_085E5388, 0, gText_WelcomeToHOF); box_print(0, 1, GetStringCenterAlignXOffset(1, gText_WelcomeToHOF, 0xD0), 1, sUnknown_085E5388, 0, gText_WelcomeToHOF);
CopyWindowToVram(0, 3); CopyWindowToVram(0, 3);
} }
@ -1173,7 +1173,7 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
*(stringPtr)++ = CHAR_QUESTION_MARK; *(stringPtr)++ = CHAR_QUESTION_MARK;
} }
stringPtr[0] = EOS; stringPtr[0] = EOS;
box_print(0, 1, 0x10, 1, gUnknown_085E5388, -1, text); box_print(0, 1, 0x10, 1, sUnknown_085E5388, -1, text);
} }
// nick, species names, gender and level // nick, species names, gender and level
@ -1182,13 +1182,13 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
if (currMon->species == SPECIES_EGG) if (currMon->species == SPECIES_EGG)
{ {
width = GetStringCenterAlignXOffset(1, text, 0xD0); width = GetStringCenterAlignXOffset(1, text, 0xD0);
box_print(0, 1, width, 1, gUnknown_085E5388, -1, text); box_print(0, 1, width, 1, sUnknown_085E5388, -1, text);
CopyWindowToVram(0, 3); CopyWindowToVram(0, 3);
} }
else else
{ {
width = GetStringRightAlignXOffset(1, text, 0x80); width = GetStringRightAlignXOffset(1, text, 0x80);
box_print(0, 1, width, 1, gUnknown_085E5388, -1, text); box_print(0, 1, width, 1, sUnknown_085E5388, -1, text);
text[0] = CHAR_SLASH; text[0] = CHAR_SLASH;
stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]); stringPtr = StringCopy(text + 1, gSpeciesNames[currMon->species]);
@ -1209,15 +1209,15 @@ static void HallOfFame_PrintMonInfo(struct HallofFameMon* currMon, u8 unused1, u
} }
stringPtr[0] = EOS; stringPtr[0] = EOS;
box_print(0, 1, 0x80, 1, gUnknown_085E5388, -1, text); box_print(0, 1, 0x80, 1, sUnknown_085E5388, -1, text);
stringPtr = StringCopy(text, gText_Level); stringPtr = StringCopy(text, gText_Level);
ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3); ConvertIntToDecimalStringN(stringPtr, currMon->lvl, STR_CONV_MODE_LEFT_ALIGN, 3);
box_print(0, 1, 0x24, 0x11, gUnknown_085E5388, -1, text); box_print(0, 1, 0x24, 0x11, sUnknown_085E5388, -1, text);
stringPtr = StringCopy(text, gText_IDNumber); stringPtr = StringCopy(text, gText_IDNumber);
ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5); ConvertIntToDecimalStringN(stringPtr, (u16)(currMon->tid), STR_CONV_MODE_LEADING_ZEROS, 5);
box_print(0, 1, 0x68, 0x11, gUnknown_085E5388, -1, text); box_print(0, 1, 0x68, 0x11, sUnknown_085E5388, -1, text);
CopyWindowToVram(0, 3); CopyWindowToVram(0, 3);
} }
@ -1232,13 +1232,13 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
FillWindowPixelBuffer(1, 0x11); FillWindowPixelBuffer(1, 0x11);
PutWindowTilemap(1); PutWindowTilemap(1);
SetWindowBorderStyle(1, FALSE, 0x21D, 0xD); SetWindowBorderStyle(1, FALSE, 0x21D, 0xD);
box_print(1, 1, 0, 1, gUnknown_085E538C, -1, gText_Name); box_print(1, 1, 0, 1, sUnknown_085E538C, -1, gText_Name);
width = GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 0x70); width = GetStringRightAlignXOffset(1, gSaveBlock2Ptr->playerName, 0x70);
box_print(1, 1, width, 1, gUnknown_085E538C, -1, gSaveBlock2Ptr->playerName); box_print(1, 1, width, 1, sUnknown_085E538C, -1, gSaveBlock2Ptr->playerName);
trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8); trainerId = (gSaveBlock2Ptr->playerTrainerId[0]) | (gSaveBlock2Ptr->playerTrainerId[1] << 8);
box_print(1, 1, 0, 0x11, gUnknown_085E538C, 0, gText_IDNumber); box_print(1, 1, 0, 0x11, sUnknown_085E538C, 0, gText_IDNumber);
text[0] = (trainerId % 100000) / 10000 + CHAR_0; text[0] = (trainerId % 100000) / 10000 + CHAR_0;
text[1] = (trainerId % 10000) / 1000 + CHAR_0; text[1] = (trainerId % 10000) / 1000 + CHAR_0;
text[2] = (trainerId % 1000) / 100 + CHAR_0; text[2] = (trainerId % 1000) / 100 + CHAR_0;
@ -1246,9 +1246,9 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
text[4] = (trainerId % 10) / 1 + CHAR_0; text[4] = (trainerId % 10) / 1 + CHAR_0;
text[5] = EOS; text[5] = EOS;
width = GetStringRightAlignXOffset(1, text, 0x70); width = GetStringRightAlignXOffset(1, text, 0x70);
box_print(1, 1, width, 0x11, gUnknown_085E538C, -1, text); box_print(1, 1, width, 0x11, sUnknown_085E538C, -1, text);
box_print(1, 1, 0, 0x21, gUnknown_085E538C, -1, gText_MainMenuTime); box_print(1, 1, 0, 0x21, sUnknown_085E538C, -1, gText_MainMenuTime);
text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0; text[0] = (gSaveBlock2Ptr->playTimeHours / 100) + CHAR_0;
text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0; text[1] = (gSaveBlock2Ptr->playTimeHours % 100) / 10 + CHAR_0;
text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0; text[2] = (gSaveBlock2Ptr->playTimeHours % 10) + CHAR_0;
@ -1264,7 +1264,7 @@ static void HallOfFame_PrintPlayerInfo(u8 unused1, u8 unused2)
text[6] = EOS; text[6] = EOS;
width = GetStringRightAlignXOffset(1, text, 0x70); width = GetStringRightAlignXOffset(1, text, 0x70);
box_print(1, 1, width, 0x21, gUnknown_085E538C, -1, text); box_print(1, 1, width, 0x21, sUnknown_085E538C, -1, text);
CopyWindowToVram(1, 3); CopyWindowToVram(1, 3);
} }

View File

@ -29,10 +29,10 @@ static u8 sub_818E258(const u8 *);
extern const u8 gText_Lady2[]; extern const u8 gText_Lady2[];
static const u16 gUnknown_0860B074[] = { static const u16 sUnknown_0860B074[] = {
0x62, 0xcb, 0xdc, 0xcc, 0xd1 0x62, 0xcb, 0xdc, 0xcc, 0xd1
}; };
static const u16 gUnknown_0860B07E[] = { static const u16 sUnknown_0860B07E[] = {
0x1a, 0x14, 0x0a 0x1a, 0x14, 0x0a
}; };
@ -119,11 +119,11 @@ static const u16 *const gUnknown_0860B1A4[] = {
Unknown_0860B192 Unknown_0860B192
}; };
static const u16 gUnknown_0860B1E4[] = { static const u16 sUnknown_0860B1E4[] = {
0x0210, 0x0400, 0x0212, 0x1a26, 0x0208, 0x045d, 0x040a, 0x0411, 0x0464, 0x020e, 0x1a25, 0x181b, 0x1a24, 0x0420, 0x0410, 0x0400 0x0210, 0x0400, 0x0212, 0x1a26, 0x0208, 0x045d, 0x040a, 0x0411, 0x0464, 0x020e, 0x1a25, 0x181b, 0x1a24, 0x0420, 0x0410, 0x0400
}; };
static const u16 gUnknown_0860B204[] = { static const u16 sUnknown_0860B204[] = {
0x007b, 0x007f, 0x0081, 0x0023, 0x0023, 0x0023, 0x00a5, 0x00a7, 0x00a6, 0x000b, 0x012f, 0x006b, 0x006d, 0x0044, 0x0044, 0x000c 0x007b, 0x007f, 0x0081, 0x0023, 0x0023, 0x0023, 0x00a5, 0x00a7, 0x00a6, 0x000b, 0x012f, 0x006b, 0x006d, 0x0044, 0x0044, 0x000c
}; };
@ -176,7 +176,7 @@ static const u16 *const gUnknown_0860B2EC[] = {
Unknown_0860B2D6 Unknown_0860B2D6
}; };
static const u16 gUnknown_0860B304[] = { static const u16 sUnknown_0860B304[] = {
0x0b, 0x6e, 0x40, 0x6f, 0x44, 0x47 0x0b, 0x6e, 0x40, 0x6f, 0x44, 0x47
}; };
@ -218,7 +218,7 @@ static const u8 *const gUnknown_0860B338[] = {
gUnknown_085EADE7 gUnknown_085EADE7
}; };
static const u16 gUnknown_0860B34C[] = { static const u16 sUnknown_0860B34C[] = {
0x0120, 0x013b, 0x011e, 0x013d, 0x0019 0x0120, 0x013b, 0x011e, 0x013d, 0x0019
}; };
@ -237,11 +237,11 @@ void sub_818D9C0(void)
{ {
LilycoveLady *lilycoveLady; LilycoveLady *lilycoveLady;
VarSet(VAR_0x4010, gUnknown_0860B07E[GetLilycoveLadyId()]); VarSet(VAR_0x4010, sUnknown_0860B07E[GetLilycoveLadyId()]);
if (GetLilycoveLadyId() == LILYCOVE_LADY_CONTEST) if (GetLilycoveLadyId() == LILYCOVE_LADY_CONTEST)
{ {
lilycoveLady = &gSaveBlock1Ptr->lilycoveLady; lilycoveLady = &gSaveBlock1Ptr->lilycoveLady;
VarSet(VAR_0x4011, gUnknown_0860B074[lilycoveLady->contest.category]); VarSet(VAR_0x4011, sUnknown_0860B074[lilycoveLady->contest.category]);
gSpecialVar_Result = TRUE; gSpecialVar_Result = TRUE;
} }
else else
@ -481,7 +481,7 @@ u16 sub_818DEA0(void)
u16 itemId; u16 itemId;
gUnknown_0203CD64 = &gSaveBlock1Ptr->lilycoveLady.favour; gUnknown_0203CD64 = &gSaveBlock1Ptr->lilycoveLady.favour;
itemId = gUnknown_0860B304[gUnknown_0203CD64->unk_00c]; itemId = sUnknown_0860B304[gUnknown_0203CD64->unk_00c];
sub_818DE88(itemId); sub_818DE88(itemId);
gUnknown_0203CD64->phase = 2; gUnknown_0203CD64->phase = 2;
return itemId; return itemId;
@ -508,8 +508,8 @@ static void sub_818DF00(void)
{ {
gUnknown_0203CD68->unk_002[i] = gUnknown_0860B1A4[v0][i]; gUnknown_0203CD68->unk_002[i] = gUnknown_0860B1A4[v0][i];
} }
gUnknown_0203CD68->unk_014 = gUnknown_0860B1E4[v0]; gUnknown_0203CD68->unk_014 = sUnknown_0860B1E4[v0];
gUnknown_0203CD68->itemId = gUnknown_0860B204[v0]; gUnknown_0203CD68->itemId = sUnknown_0860B204[v0];
gUnknown_0203CD68->unk_02b = v0; gUnknown_0203CD68->unk_02b = v0;
gUnknown_0203CD68->playerName[0] = EOS; gUnknown_0203CD68->playerName[0] = EOS;
} }
@ -581,13 +581,13 @@ u8 sub_818E06C(void)
{ {
i = 0; i = 0;
} }
} while (sub_811F8D8(gUnknown_0860B1E4[i]) == 0); } while (sub_811F8D8(sUnknown_0860B1E4[i]) == 0);
for (j = 0; j < 9; j ++) for (j = 0; j < 9; j ++)
{ {
quiz->unk_002[j] = gUnknown_0860B1A4[i][j]; quiz->unk_002[j] = gUnknown_0860B1A4[i][j];
} }
quiz->unk_014 = gUnknown_0860B1E4[i]; quiz->unk_014 = sUnknown_0860B1E4[i];
quiz->itemId = gUnknown_0860B204[i]; quiz->itemId = sUnknown_0860B204[i];
quiz->unk_02b = i; quiz->unk_02b = i;
quiz->playerName[0] = EOS; quiz->playerName[0] = EOS;
} }
@ -1091,7 +1091,7 @@ void sub_818E940(void)
void sub_818E960(void) void sub_818E960(void)
{ {
gUnknown_0203CD6C = &gSaveBlock1Ptr->lilycoveLady.contest; gUnknown_0203CD6C = &gSaveBlock1Ptr->lilycoveLady.contest;
gSpecialVar_0x8005 = gUnknown_0860B34C[gUnknown_0203CD6C->category]; gSpecialVar_0x8005 = sUnknown_0860B34C[gUnknown_0203CD6C->category];
} }
u8 sub_818E990(void) u8 sub_818E990(void)

View File

@ -65,7 +65,7 @@ static const struct PaletteStructTemplate gDummyPaletteStructTemplate = {
.uid = 0xFFFF, .uid = 0xFFFF,
.pst_field_B_5 = 1 .pst_field_B_5 = 1
}; };
static const u8 gUnknown_0852489C[] = { static const u8 sUnknown_0852489C[] = {
0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
@ -849,13 +849,13 @@ void TintPalette_GrayScale(u16 *palette, u16 count)
r = *palette & 0x1F; r = *palette & 0x1F;
g = (*palette >> 5) & 0x1F; g = (*palette >> 5) & 0x1F;
b = (*palette >> 10) & 0x1F; b = (*palette >> 10) & 0x1F;
r *= 0x4C; r *= 0x4C;
r += g * 0x97; r += g * 0x97;
r += b * 0x1D; r += b * 0x1D;
gray = r >> 8; gray = r >> 8;
*palette++ = gray << 10 | gray << 5 | gray; *palette++ = gray << 10 | gray << 5 | gray;
} }
return; return;
@ -874,18 +874,18 @@ void TintPalette_GrayScale2(u16 *palette, u16 count)
r = *palette & 0x1F; r = *palette & 0x1F;
g = (*palette >> 5) & 0x1F; g = (*palette >> 5) & 0x1F;
b = (*palette >> 10) & 0x1F; b = (*palette >> 10) & 0x1F;
r *= 0x4C; r *= 0x4C;
r += g * 0x97; r += g * 0x97;
r += b * 0x1D; r += b * 0x1D;
gray = r >> 8; gray = r >> 8;
if ((u32)gray > 0x1F) if ((u32)gray > 0x1F)
gray = 0x1F; gray = 0x1F;
gray = gUnknown_0852489C[gray]; gray = sUnknown_0852489C[gray];
*palette++ = gray << 10 | gray << 5 | gray; *palette++ = gray << 10 | gray << 5 | gray;
} }
return; return;
@ -902,31 +902,31 @@ void TintPalette_SepiaTone(u16 *palette, u16 count)
s8 r2; s8 r2;
s8 g2; s8 g2;
s8 b2; s8 b2;
int i; int i;
for (i = 0; i < count; i++) for (i = 0; i < count; i++)
{ {
r = *palette & 0x1F; r = *palette & 0x1F;
g = (*palette >> 5) & 0x1F; g = (*palette >> 5) & 0x1F;
b = (*palette >> 10) & 0x1F; b = (*palette >> 10) & 0x1F;
r *= 0x4C; r *= 0x4C;
r += g * 0x97; r += g * 0x97;
r += b * 0x1D; r += b * 0x1D;
gray = (s32)(r >> 8); gray = (s32)(r >> 8);
sepia = (gray * 0x133); sepia = (gray * 0x133);
r2 = (u16)sepia >> 8; r2 = (u16)sepia >> 8;
g2 = gray; g2 = gray;
b2 = (gray * 15); b2 = (gray * 15);
if (r2 > 0x1F) if (r2 > 0x1F)
r2 = 0x1F; r2 = 0x1F;
*palette++ = b2 << 10 | g2 << 5 | r2; *palette++ = b2 << 10 | g2 << 5 | r2;
} }
return; return;
@ -1011,28 +1011,28 @@ void sub_80A2BAC(u16 *palette, u16 count, u16 a3, u16 a4, u16 a5)
r = *palette & 0x1F; r = *palette & 0x1F;
g = (*palette >> 5) & 0x1F; g = (*palette >> 5) & 0x1F;
b = (*palette >> 10) & 0x1F; b = (*palette >> 10) & 0x1F;
r *= 0x4C; r *= 0x4C;
r += g * 0x97; r += g * 0x97;
r += b * 0x1D; r += b * 0x1D;
gray = r >> 8; gray = r >> 8;
r2 = (u16)(gray * a3) >> 8; r2 = (u16)(gray * a3) >> 8;
g2 = (u16)(gray * a4) >> 8; g2 = (u16)(gray * a4) >> 8;
b2 = (u16)(gray * a5) >> 8; b2 = (u16)(gray * a5) >> 8;
if (r2 > 0x1F) if (r2 > 0x1F)
r2 = 0x1F; r2 = 0x1F;
if (g2 > 0x1F) if (g2 > 0x1F)
g2 = 0x1F; g2 = 0x1F;
if (b2 > 0x1F) if (b2 > 0x1F)
b2 = 0x1F; b2 = 0x1F;
*palette++ = b2 << 10 | g2 << 5 | r2; *palette++ = b2 << 10 | g2 << 5 | r2;
} }
return; return;

View File

@ -239,9 +239,9 @@ static const u8 sRegionMapFrameTilemapLZ[] = INCBIN_U8("graphics/pokenav/map_fra
static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_icons.gbapal"); static const u16 Unknown_085A1D48[] = INCBIN_U16("graphics/pokenav/fly_target_icons.gbapal");
static const u8 gUnknown_085A1D68[] = INCBIN_U8("graphics/pokenav/fly_target_icons.4bpp.lz"); static const u8 sUnknown_085A1D68[] = INCBIN_U8("graphics/pokenav/fly_target_icons.4bpp.lz");
static const u8 gUnknown_085A1E3C[][3] = { static const u8 sUnknown_085A1E3C[][3] = {
{MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 1}, {MAP_GROUP(LITTLEROOT_TOWN), MAP_NUM(LITTLEROOT_TOWN), 1},
{MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 14}, {MAP_GROUP(OLDALE_TOWN), MAP_NUM(OLDALE_TOWN), 14},
{MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 15}, {MAP_GROUP(DEWFORD_TOWN), MAP_NUM(DEWFORD_TOWN), 15},
@ -326,7 +326,7 @@ static const struct SpritePalette gUnknown_085A1F10 = {
Unknown_085A1D48, 2 Unknown_085A1D48, 2
}; };
static const u16 gUnknown_085A1F18[][2] = { static const u16 sUnknown_085A1F18[][2] = {
{FLAG_UNLOCK_BATTLE_FRONTIER, MAPSEC_BATTLE_FRONTIER}, {FLAG_UNLOCK_BATTLE_FRONTIER, MAPSEC_BATTLE_FRONTIER},
{-1, MAPSEC_NONE} {-1, MAPSEC_NONE}
}; };
@ -1738,7 +1738,7 @@ static void sub_8124A70(void)
{ {
struct SpriteSheet sheet; struct SpriteSheet sheet;
LZ77UnCompWram(gUnknown_085A1D68, gUnknown_0203A148->unk_88c); LZ77UnCompWram(sUnknown_085A1D68, gUnknown_0203A148->unk_88c);
sheet.data = gUnknown_0203A148->unk_88c; sheet.data = gUnknown_0203A148->unk_88c;
sheet.size = 0x1c0; sheet.size = 0x1c0;
sheet.tag = 2; sheet.tag = 2;
@ -1806,11 +1806,11 @@ static void sub_8124BE4(void)
u16 mapSecId; u16 mapSecId;
u8 spriteId; u8 spriteId;
for (i = 0; gUnknown_085A1F18[i][1] != MAPSEC_NONE; i++) for (i = 0; sUnknown_085A1F18[i][1] != MAPSEC_NONE; i++)
{ {
if (FlagGet(gUnknown_085A1F18[i][0])) if (FlagGet(sUnknown_085A1F18[i][0]))
{ {
mapSecId = gUnknown_085A1F18[i][1]; mapSecId = sUnknown_085A1F18[i][1];
sub_8124630(mapSecId, &x, &y, &width, &height); sub_8124630(mapSecId, &x, &y, &width, &height);
x = (x + MAPCURSOR_X_MIN) * 8; x = (x + MAPCURSOR_X_MIN) * 8;
y = (y + MAPCURSOR_Y_MIN) * 8; y = (y + MAPCURSOR_Y_MIN) * 8;
@ -1919,13 +1919,13 @@ static void sub_8124E0C(void)
sub_8084CCC(FlagGet(FLAG_SYS_POKEMON_LEAGUE_FLY) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B); sub_8084CCC(FlagGet(FLAG_SYS_POKEMON_LEAGUE_FLY) && gUnknown_0203A148->regionMap.posWithinMapSec == 0 ? 0x14 : 0x0B);
break; break;
default: default:
if (gUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2] != 0) if (sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2] != 0)
{ {
sub_8084CCC(gUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2]); sub_8084CCC(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][2]);
} }
else else
{ {
warp1_set_2(gUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][0], gUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][1], -1); warp1_set_2(sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][0], sUnknown_085A1E3C[gUnknown_0203A148->regionMap.mapSecId][1], -1);
} }
break; break;
} }

View File

@ -35,7 +35,7 @@ extern struct SpriteTemplate gUnknown_0202499C;
extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[]; extern const union AnimCmd * const * const gMonAnimationsSpriteAnimsPtrTable[];
extern void dp12_8087EA4(void); extern void dp12_8087EA4(void);
extern void trs_config(void); extern void sub_8035658(void);
extern bool8 IsDoubleBattle(void); extern bool8 IsDoubleBattle(void);
extern u8 GetSubstituteSpriteDefault_Y(u8 bank); extern u8 GetSubstituteSpriteDefault_Y(u8 bank);
extern u8 GetBankSpriteDefault_Y(u8 bank); extern u8 GetBankSpriteDefault_Y(u8 bank);
@ -73,7 +73,7 @@ static void CB2_ReshowBattleScreenAfterMenu(void)
{ {
case 0: case 0:
dp12_8087EA4(); dp12_8087EA4();
trs_config(); sub_8035658();
SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0); SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0);
SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0); SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0);
ShowBg(0); ShowBg(0);

View File

@ -1,17 +1,5 @@
// Includes
#include "global.h" #include "global.h"
// Static type declarations
// Static RAM declarations
IWRAM_DATA u32 gUnknown_03000DD4; IWRAM_DATA u32 gUnknown_03000DD4;
IWRAM_DATA u32 gUnknown_03000DD8; IWRAM_DATA u32 gUnknown_03000DD8;
IWRAM_DATA u32 gUnknown_03000DDC; IWRAM_DATA u32 gUnknown_03000DDC;
// Static ROM declarations
// .rodata
// .text

View File

@ -154,8 +154,8 @@ static const u8 sClockFrames[8][3] =
{ 5, 1, 0 }, { 5, 1, 0 },
}; };
static const u8 gSaveFailedClockPal[] = INCBIN_U8("graphics/misc/clock_small.gbapal"); static const u8 sSaveFailedClockPal[] = INCBIN_U8("graphics/misc/clock_small.gbapal");
static const u8 gSaveFailedClockGfx[] = INCBIN_U8("graphics/misc/clock_small.4bpp.lz"); static const u8 sSaveFailedClockGfx[] = INCBIN_U8("graphics/misc/clock_small.4bpp.lz");
static void CB2_SaveFailedScreen(void); static void CB2_SaveFailedScreen(void);
static void CB2_WipeSave(void); static void CB2_WipeSave(void);
@ -221,7 +221,7 @@ static void CB2_SaveFailedScreen(void)
LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM); LZ77UnCompVram(gBirchHelpGfx, (void *)VRAM);
LZ77UnCompVram(gBirchBagTilemap, (void *)(VRAM + 0x7000)); LZ77UnCompVram(gBirchBagTilemap, (void *)(VRAM + 0x7000));
LZ77UnCompVram(gBirchGrassTilemap, (void *)(VRAM + 0x7800)); LZ77UnCompVram(gBirchGrassTilemap, (void *)(VRAM + 0x7800));
LZ77UnCompVram(gSaveFailedClockGfx, (void *)(VRAM + 0x10020)); LZ77UnCompVram(sSaveFailedClockGfx, (void *)(VRAM + 0x10020));
ResetBgsAndClearDma3BusyFlags(0); ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gUnknown_085EFD88, 3); InitBgsFromTemplates(0, gUnknown_085EFD88, 3);
SetBgTilemapBuffer(0, (void *)&gDecompressionBuffer[0x2000]); SetBgTilemapBuffer(0, (void *)&gDecompressionBuffer[0x2000]);
@ -238,7 +238,7 @@ static void CB2_SaveFailedScreen(void)
ResetTasks(); ResetTasks();
ResetPaletteFade(); ResetPaletteFade();
LoadPalette(gBirchBagGrassPal, 0, 0x40); LoadPalette(gBirchBagGrassPal, 0, 0x40);
LoadPalette(gSaveFailedClockPal, 0x100, 0x20); LoadPalette(sSaveFailedClockPal, 0x100, 0x20);
LoadPalette(gUnknown_0850FEFC, 0xE0, 0x20); LoadPalette(gUnknown_0850FEFC, 0xE0, 0x20);
LoadPalette(gUnknown_0860F074, 0xF0, 0x20); LoadPalette(gUnknown_0860F074, 0xF0, 0x20);
SetWindowBorderStyle(gSaveFailedWindowIds[TEXT_WIN_ID], FALSE, 0x214, 0xE); SetWindowBorderStyle(gSaveFailedWindowIds[TEXT_WIN_ID], FALSE, 0x214, 0xE);

View File

@ -240,7 +240,7 @@ static const AffineAnimCmdFunc sAffineAnimCmdFuncs[] =
AffineAnimCmd_frame, AffineAnimCmd_frame,
}; };
static const s32 gUnknown_082EC6F4[24] = static const s32 sUnknown_082EC6F4[24] =
{ {
8, 8, 0x10, 0x10, 0x20, 0x20, 8, 8, 0x10, 0x10, 0x20, 0x20,
0x40, 0x40, 0x10, 8, 0x20, 8, 0x40, 0x40, 0x10, 8, 0x20, 8,
@ -1214,14 +1214,14 @@ void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2)
u8 matrixNum = sprite->oam.matrixNum; u8 matrixNum = sprite->oam.matrixNum;
if (a1 != 0x800) if (a1 != 0x800)
{ {
var0 = gUnknown_082EC6F4[sprite->oam.size * 8 + sprite->oam.shape * 32]; var0 = sUnknown_082EC6F4[sprite->oam.size * 8 + sprite->oam.shape * 32];
var1 = var0 << 8; var1 = var0 << 8;
var2 = (var0 << 16) / gOamMatrices[matrixNum].a; var2 = (var0 << 16) / gOamMatrices[matrixNum].a;
sprite->pos2.x = sub_8007E28(var1, var2, a1); sprite->pos2.x = sub_8007E28(var1, var2, a1);
} }
if (a2 != 0x800) if (a2 != 0x800)
{ {
var0 = gUnknown_082EC6F4[4 + (sprite->oam.size * 8 + sprite->oam.shape * 32)]; var0 = sUnknown_082EC6F4[4 + (sprite->oam.size * 8 + sprite->oam.shape * 32)];
var1 = var0 << 8; var1 = var0 << 8;
var2 = (var0 << 16) / gOamMatrices[matrixNum].d; var2 = (var0 << 16) / gOamMatrices[matrixNum].d;
sprite->pos2.y = sub_8007E28(var1, var2, a2); sprite->pos2.y = sub_8007E28(var1, var2, a2);
@ -1247,7 +1247,7 @@ void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2)
mov r9, r0\n\ mov r9, r0\n\
cmp r6, r9\n\ cmp r6, r9\n\
beq _08007EA2\n\ beq _08007EA2\n\
ldr r2, =gUnknown_082EC6F4\n\ ldr r2, =sUnknown_082EC6F4\n\
lsrs r1, 6\n\ lsrs r1, 6\n\
lsls r1, 3\n\ lsls r1, 3\n\
ldrb r0, [r5, 0x1]\n\ ldrb r0, [r5, 0x1]\n\
@ -1272,7 +1272,7 @@ void obj_update_pos2(struct Sprite* sprite, s32 a1, s32 a2)
_08007EA2:\n\ _08007EA2:\n\
cmp r8, r9\n\ cmp r8, r9\n\
beq _08007EDA\n\ beq _08007EDA\n\
ldr r2, =gUnknown_082EC6F4\n\ ldr r2, =sUnknown_082EC6F4\n\
ldrb r1, [r5, 0x3]\n\ ldrb r1, [r5, 0x3]\n\
lsrs r1, 6\n\ lsrs r1, 6\n\
lsls r1, 3\n\ lsls r1, 3\n\

View File

@ -4,8 +4,8 @@
#include "text.h" #include "text.h"
#include "sound.h" #include "sound.h"
static const u8 gUnknown_08616124[] = {1, 2, 4}; static const u8 sUnknown_08616124[] = {1, 2, 4};
static const u16 gFont6BrailleGlyphs[] = INCBIN_U16("data/graphics/fonts/font6.fwjpnfont"); static const u16 sFont6BrailleGlyphs[] = INCBIN_U16("data/graphics/fonts/font6.fwjpnfont");
static void DecompressGlyphFont6(u16); static void DecompressGlyphFont6(u16);
@ -13,7 +13,7 @@ u16 Font6Func(struct TextPrinter *textPrinter)
{ {
u16 char_; u16 char_;
struct TextPrinterSubStruct *sub; struct TextPrinterSubStruct *sub;
sub = &textPrinter->sub_union.sub; sub = &textPrinter->sub_union.sub;
switch (textPrinter->state) switch (textPrinter->state)
{ {
@ -163,15 +163,15 @@ u16 Font6Func(struct TextPrinter *textPrinter)
case 4: case 4:
if (textPrinter->scrollDistance) if (textPrinter->scrollDistance)
{ {
if (textPrinter->scrollDistance < gUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed]) if (textPrinter->scrollDistance < sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed])
{ {
ScrollWindow(textPrinter->subPrinter.windowId, 0, textPrinter->scrollDistance, textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4)); ScrollWindow(textPrinter->subPrinter.windowId, 0, textPrinter->scrollDistance, textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4));
textPrinter->scrollDistance = 0; textPrinter->scrollDistance = 0;
} }
else else
{ {
ScrollWindow(textPrinter->subPrinter.windowId, 0, gUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed], textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4)); ScrollWindow(textPrinter->subPrinter.windowId, 0, sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed], textPrinter->subPrinter.bgColor | (textPrinter->subPrinter.bgColor << 4));
textPrinter->scrollDistance -= gUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed]; textPrinter->scrollDistance -= sUnknown_08616124[gSaveBlock2Ptr->optionsTextSpeed];
} }
CopyWindowToVram(textPrinter->subPrinter.windowId, 2); CopyWindowToVram(textPrinter->subPrinter.windowId, 2);
} }
@ -204,7 +204,7 @@ static void DecompressGlyphFont6(u16 glyph)
{ {
const u16 *glyphs; const u16 *glyphs;
glyphs = gFont6BrailleGlyphs + 0x100 * (glyph / 8) + 0x10 * (glyph % 8); glyphs = sFont6BrailleGlyphs + 0x100 * (glyph / 8) + 0x10 * (glyph % 8);
DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90); DecompressGlyphTile(glyphs, (u16 *)gUnknown_03002F90);
DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20)); DecompressGlyphTile(glyphs + 0x8, (u16 *)(gUnknown_03002F90 + 0x20));
DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40)); DecompressGlyphTile(glyphs + 0x80, (u16 *)(gUnknown_03002F90 + 0x40));

View File

@ -57,8 +57,8 @@ static void SpriteCB_PMIndicator(struct Sprite *sprite);
// rodata // rodata
static const u8 gUnknown_085B1F58[] = INCBIN_U8("graphics/wallclock/graphics_85b1f58.4bpp.lz"); static const u8 sUnknown_085B1F58[] = INCBIN_U8("graphics/wallclock/graphics_85b1f58.4bpp.lz");
static const u16 gUnknown_085B21D4[] = INCBIN_U16("graphics/wallclock/palette_85b21d4.gbapal"); static const u16 sUnknown_085B21D4[] = INCBIN_U16("graphics/wallclock/palette_85b21d4.gbapal");
static const struct WindowTemplate gUnknown_085B21DC[] = { static const struct WindowTemplate gUnknown_085B21DC[] = {
{ 0x00, 0x03, 0x11, 0x18, 0x02, 0x0e, 0x200 }, { 0x00, 0x03, 0x11, 0x18, 0x02, 0x0e, 0x200 },
{ 0x02, 0x18, 0x10, 0x06, 0x02, 0x0c, 0x230 }, { 0x02, 0x18, 0x10, 0x06, 0x02, 0x0c, 0x230 },
@ -88,7 +88,7 @@ static const struct BgTemplate gUnknown_085B21FC[] = {
} }
}; };
static const struct CompressedSpriteSheet gUnknown_085B2208 = { static const struct CompressedSpriteSheet gUnknown_085B2208 = {
gUnknown_085B1F58, 0x2000, TAG_GFX_WALL_CLOCK_HAND sUnknown_085B1F58, 0x2000, TAG_GFX_WALL_CLOCK_HAND
}; };
static const u32 filler_85B2210[2] = {}; static const u32 filler_85B2210[2] = {};
static const struct SpritePalette gUnknown_085B2218[] = { static const struct SpritePalette gUnknown_085B2218[] = {
@ -571,7 +571,7 @@ static void LoadWallClockGraphics(void)
LoadPalette(gUnknown_08DCC03C, 0x00, 0x20); LoadPalette(gUnknown_08DCC03C, 0x00, 0x20);
} }
LoadPalette(GetOverworldTextboxPalettePtr(), 0xe0, 0x20); LoadPalette(GetOverworldTextboxPalettePtr(), 0xe0, 0x20);
LoadPalette(gUnknown_085B21D4, 0xc0, 0x08); LoadPalette(sUnknown_085B21D4, 0xc0, 0x08);
ResetBgsAndClearDma3BusyFlags(0); ResetBgsAndClearDma3BusyFlags(0);
InitBgsFromTemplates(0, gUnknown_085B21FC, 3); InitBgsFromTemplates(0, gUnknown_085B21FC, 3);
InitWindows(gUnknown_085B21DC); InitWindows(gUnknown_085B21DC);
@ -666,27 +666,27 @@ void Cb2_ViewWallClock(void)
angle1 = 90; angle1 = 90;
angle2 = 135; angle2 = 135;
} }
spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1); spriteId = CreateSprite(&gUnknown_085B2250, 0x78, 0x50, 1);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 0; gSprites[spriteId].oam.matrixNum = 0;
spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0); spriteId = CreateSprite(&gUnknown_085B2268, 0x78, 0x50, 0);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL; gSprites[spriteId].oam.affineMode = ST_OAM_AFFINE_NORMAL;
gSprites[spriteId].oam.matrixNum = 1; gSprites[spriteId].oam.matrixNum = 1;
spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2); spriteId = CreateSprite(&gUnknown_085B22A0, 0x78, 0x50, 2);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = angle1; gSprites[spriteId].data[1] = angle1;
spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2); spriteId = CreateSprite(&gUnknown_085B22B8, 0x78, 0x50, 2);
gSprites[spriteId].data[0] = taskId; gSprites[spriteId].data[0] = taskId;
gSprites[spriteId].data[1] = angle2; gSprites[spriteId].data[1] = angle2;
WallClockInit(); WallClockInit();
PrintTextOnWindow(1, 1, gText_Cancel4, 0, 1, 0, NULL); PrintTextOnWindow(1, 1, gText_Cancel4, 0, 1, 0, NULL);
PutWindowTilemap(1); PutWindowTilemap(1);
schedule_bg_copy_tilemap_to_vram(2); schedule_bg_copy_tilemap_to_vram(2);

View File

@ -8,7 +8,7 @@
.include "src/link.o" .include "src/link.o"
.include "src/rtc.o" .include "src/rtc.o"
.include "src/main_menu.o" .include "src/main_menu.o"
.include "src/battle_1.o" .include "src/rom_8034C54.o"
.include "src/egg_hatch.o" .include "src/egg_hatch.o"
.include "src/berry_blender.o" .include "src/berry_blender.o"
.include "src/play_time.o" .include "src/play_time.o"