mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-16 09:14:30 -05:00
commit
7e2330e7fd
95
asm/crt0.s
95
asm/crt0.s
|
|
@ -1,4 +1,6 @@
|
|||
.include "constants/gba_constants.inc"
|
||||
.include "constants/misc_constants.inc"
|
||||
.include "constants/version.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
|
|
@ -8,8 +10,8 @@
|
|||
|
||||
.arm
|
||||
|
||||
Start: @ 8000000
|
||||
b Init
|
||||
_start: @ 8000000
|
||||
b start_vector
|
||||
|
||||
.include "asm/rom_header.inc"
|
||||
|
||||
|
|
@ -32,33 +34,33 @@ GPIOPortReadEnable: @ 80000C8
|
|||
|
||||
@ 80000D0
|
||||
|
||||
@ TODO: figure out what this data is
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
.4byte 0xFFFFFFFF
|
||||
@ 8000100
|
||||
.global CartIdent
|
||||
CartIdent:
|
||||
.4byte GAME_VERSION
|
||||
.4byte GAME_LANGUAGE
|
||||
.game_name:
|
||||
.ifdef FIRERED
|
||||
.4byte 4
|
||||
.4byte 2
|
||||
.ascii "pokemon red version"
|
||||
.space 13
|
||||
.else
|
||||
.ifdef LEAFGREEN
|
||||
.4byte 5
|
||||
.4byte 2
|
||||
.ascii "pokemon green version"
|
||||
.space 11
|
||||
.endif
|
||||
.endif
|
||||
.space .game_name+0x20-.
|
||||
.4byte gMonFrontPicTable
|
||||
.4byte gMonBackPicTable
|
||||
.4byte gMonPaletteTable
|
||||
|
|
@ -118,32 +120,32 @@ GPIOPortReadEnable: @ 80000C8
|
|||
|
||||
.arm
|
||||
.align 2, 0
|
||||
.global Init
|
||||
Init:
|
||||
.global start_vector
|
||||
start_vector:
|
||||
mov r0, PSR_IRQ_MODE
|
||||
msr cpsr_cf, r0
|
||||
ldr sp, sp_irq
|
||||
mov r0, PSR_SYS_MODE
|
||||
msr cpsr_cf, r0
|
||||
ldr sp, sp_sys
|
||||
ldr sp, sp_usr
|
||||
ldr r1, =INTR_VECTOR
|
||||
adr r0, IntrMain
|
||||
adr r0, intr_main
|
||||
str r0, [r1]
|
||||
ldr r1, =AgbMain
|
||||
mov lr, pc
|
||||
bx r1
|
||||
b Init
|
||||
b start_vector
|
||||
|
||||
.align 2, 0
|
||||
sp_sys: .word IWRAM_END - 0x1C0
|
||||
sp_usr: .word IWRAM_END - 0x1C0
|
||||
sp_irq: .word IWRAM_END - 0x60
|
||||
|
||||
.pool
|
||||
|
||||
.arm
|
||||
.align 2, 0
|
||||
.global IntrMain
|
||||
IntrMain:
|
||||
.global intr_main
|
||||
intr_main:
|
||||
mov r3, REG_BASE
|
||||
add r3, r3, 0x200
|
||||
ldr r2, [r3, OFFSET_REG_IE - 0x200]
|
||||
|
|
@ -155,50 +157,51 @@ IntrMain:
|
|||
and r1, r2, r2, lsr 16
|
||||
mov r12, 0
|
||||
ands r0, r1, INTR_FLAG_VCOUNT
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
mov r0, 0x1
|
||||
strh r0, [r3, OFFSET_REG_IME - 0x200]
|
||||
ands r0, r1, INTR_FLAG_SERIAL
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_TIMER3
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_HBLANK
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_VBLANK
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_TIMER0
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_TIMER1
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_TIMER2
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_DMA0
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_DMA1
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_DMA2
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_DMA3
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_KEYPAD
|
||||
bne IntrMain_FoundIntr
|
||||
bne jump_intr
|
||||
add r12, r12, 0x4
|
||||
ands r0, r1, INTR_FLAG_GAMEPAK
|
||||
strbne r0, [r3, OFFSET_REG_SOUNDCNT_X - 0x200]
|
||||
bne . @ spin
|
||||
IntrMain_FoundIntr:
|
||||
loop:
|
||||
bne loop @ spin
|
||||
jump_intr:
|
||||
strh r0, [r3, OFFSET_REG_IF - 0x200]
|
||||
bic r2, r2, r0
|
||||
ldr r0, =gRfuState
|
||||
|
|
@ -218,9 +221,9 @@ IntrMain_FoundIntr:
|
|||
add r1, r1, r12
|
||||
ldr r0, [r1]
|
||||
stmdb sp!, {lr}
|
||||
adr lr, IntrMain_RetAddr
|
||||
adr lr, intr_return
|
||||
bx r0
|
||||
IntrMain_RetAddr:
|
||||
intr_return:
|
||||
ldmia sp!, {lr}
|
||||
mrs r3, cpsr
|
||||
bic r3, r3, PSR_I_BIT | PSR_F_BIT | PSR_MODE_MASK
|
||||
|
|
|
|||
13825
asm/region_map.s
13825
asm/region_map.s
File diff suppressed because it is too large
Load Diff
|
|
@ -16,7 +16,7 @@ Init:
|
|||
msr cpsr_cf, r0
|
||||
ldr sp, sp_sys
|
||||
ldr r1, =INTR_VECTOR
|
||||
ldr r0, =IntrMain
|
||||
ldr r0, =intr_main
|
||||
str r0, [r1]
|
||||
ldr r1, =AgbMain + 1
|
||||
mov lr, pc
|
||||
|
|
@ -32,8 +32,8 @@ sp_irq: .word IWRAM_END - 0x60
|
|||
|
||||
.arm
|
||||
.align 2, 0
|
||||
.global IntrMain
|
||||
IntrMain: @ 0x2010048
|
||||
.global intr_main
|
||||
intr_main: @ 0x2010048
|
||||
mov ip, REG_BASE
|
||||
add r3, ip, OFFSET_REG_IE
|
||||
ldr r2, [r3]
|
||||
|
|
@ -79,4 +79,4 @@ _020100DC:
|
|||
ldr r0, [r1]
|
||||
bx r0
|
||||
.pool
|
||||
.size IntrMain, .-IntrMain
|
||||
.size intr_main, .-intr_main
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ u32 gGameVersion;
|
|||
|
||||
EWRAM_DATA u8 gSharedMem[0x8000] = {};
|
||||
|
||||
void IntrMain(void);
|
||||
void intr_main(void);
|
||||
void ReadKeys(void);
|
||||
void dummy_intr_0(void);
|
||||
void dummy_intr_1(void);
|
||||
|
|
@ -62,7 +62,7 @@ void AgbMain(void)
|
|||
{
|
||||
RegisterRamReset(0x1E);
|
||||
DmaCopy32(3, gIntrFuncPointers, gIntrTable, sizeof gIntrFuncPointers);
|
||||
DmaCopy32(3, IntrMain, gIntrVector, sizeof(gIntrVector));
|
||||
DmaCopy32(3, intr_main, gIntrVector, sizeof(gIntrVector));
|
||||
INTR_VECTOR = gIntrVector;
|
||||
REG_IE = INTR_FLAG_VBLANK;
|
||||
if (*RomHeaderMagic == 0x96 && *(u32 *)RomHeaderGameCode == *(u32 *)gBerryFixGameCode)
|
||||
|
|
|
|||
10
common_syms/image_processing_effects.txt
Normal file
10
common_syms/image_processing_effects.txt
Normal file
|
|
@ -0,0 +1,10 @@
|
|||
gCanvasColumnStart
|
||||
gCanvasPixels
|
||||
gCanvasRowEnd
|
||||
gCanvasHeight
|
||||
gCanvasColumnEnd
|
||||
gCanvasRowStart
|
||||
gCanvasMonPersonality
|
||||
gCanvasWidth
|
||||
gCanvasPalette
|
||||
gCanvasPaletteStart
|
||||
|
|
@ -1,91 +1,5 @@
|
|||
.ifdef SAPPHIRE
|
||||
.equiv GAME_VERSION, 1
|
||||
.ifdef FIRERED
|
||||
.equiv GAME_VERSION, 4
|
||||
.else
|
||||
.equiv GAME_VERSION, 2
|
||||
.endif
|
||||
|
||||
.ifdef SAPPHIRE
|
||||
.set BGM_EVIL_TEAM, BGM_AQA_0
|
||||
.set BGM_GOOD_TEAM, BGM_MGM0
|
||||
.else
|
||||
.set BGM_EVIL_TEAM, BGM_MGM0
|
||||
.set BGM_GOOD_TEAM, BGM_AQA_0
|
||||
.endc
|
||||
|
||||
.ifdef SAPPHIRE
|
||||
.set ITEM_RED_OR_BLUE_ORB, ITEM_BLUE_ORB
|
||||
.else
|
||||
.set ITEM_RED_OR_BLUE_ORB, ITEM_RED_ORB
|
||||
.endif
|
||||
|
||||
.ifdef SAPPHIRE
|
||||
.set SPECIES_GROUDON_OR_KYOGRE, SPECIES_KYOGRE
|
||||
.else
|
||||
.set SPECIES_GROUDON_OR_KYOGRE, SPECIES_GROUDON
|
||||
.endif
|
||||
|
||||
.ifdef SAPPHIRE
|
||||
.set SPECIES_LATIAS_OR_LATIOS, SPECIES_LATIOS
|
||||
.else
|
||||
.set SPECIES_LATIAS_OR_LATIOS, SPECIES_LATIAS
|
||||
.endif
|
||||
|
||||
.ifdef SAPPHIRE
|
||||
.set OPPONENT_PETALBURG_WOODS_GRUNT, OPPONENT_GRUNT_9
|
||||
.set OPPONENT_RUSTURF_TUNNEL_GRUNT, OPPONENT_GRUNT_15
|
||||
.set OPPONENT_MUSEUM_2F_GRUNT_1, OPPONENT_GRUNT_19
|
||||
.set OPPONENT_MUSEUM_2F_GRUNT_2, OPPONENT_GRUNT_20
|
||||
.set OPPONENT_514, OPPONENT_HECTOR_1
|
||||
.set OPPONENT_MT_CHIMNEY_GRUNT_1, OPPONENT_MATT_2
|
||||
.set OPPONENT_MT_CHIMNEY_GRUNT_2, OPPONENT_GRUNT_13
|
||||
.set OPPONENT_HIDEOUT_1F_GRUNT, OPPONENT_GRUNT_1
|
||||
.set OPPONENT_HIDEOUT_B1F_GRUNT_1, OPPONENT_GRUNT_2
|
||||
.set OPPONENT_HIDEOUT_B1F_GRUNT_2, OPPONENT_GRUNT_3
|
||||
.set OPPONENT_HIDEOUT_B1F_GRUNT_3, OPPONENT_GRUNT_26
|
||||
.set OPPONENT_HIDEOUT_B2F_GRUNT_1, OPPONENT_MATT_1
|
||||
.set OPPONENT_HIDEOUT_B2F_GRUNT_2, OPPONENT_GRUNT_4
|
||||
.set OPPONENT_HIDEOUT_B2F_GRUNT_3, OPPONENT_GRUNT_27
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_1, OPPONENT_GRUNT_5
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_2, OPPONENT_GRUNT_6
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_3, OPPONENT_SHELLY_2
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_4, OPPONENT_GRUNT_7
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_5, OPPONENT_ARCHIE_2
|
||||
.set OPPONENT_MT_CHIMNEY_GRUNT_3, OPPONENT_ARCHIE_3
|
||||
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_1, OPPONENT_GRUNT_22
|
||||
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_2, OPPONENT_GRUNT_23
|
||||
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_3, OPPONENT_GRUNT_24
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_1, OPPONENT_GRUNT_16
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_2, OPPONENT_GRUNT_25
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_3, OPPONENT_GRUNT_17
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_4, OPPONENT_GRUNT_18
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_5, OPPONENT_SHELLY_1
|
||||
.else
|
||||
.set OPPONENT_PETALBURG_WOODS_GRUNT, OPPONENT_GRUNT_36
|
||||
.set OPPONENT_RUSTURF_TUNNEL_GRUNT, OPPONENT_GRUNT_42
|
||||
.set OPPONENT_MUSEUM_2F_GRUNT_1, OPPONENT_GRUNT_46
|
||||
.set OPPONENT_MUSEUM_2F_GRUNT_2, OPPONENT_GRUNT_47
|
||||
.set OPPONENT_514, OPPONENT_HECTOR_2
|
||||
.set OPPONENT_MT_CHIMNEY_GRUNT_1, OPPONENT_TABITHA_2
|
||||
.set OPPONENT_MT_CHIMNEY_GRUNT_2, OPPONENT_GRUNT_40
|
||||
.set OPPONENT_HIDEOUT_1F_GRUNT, OPPONENT_GRUNT_28
|
||||
.set OPPONENT_HIDEOUT_B1F_GRUNT_1, OPPONENT_GRUNT_29
|
||||
.set OPPONENT_HIDEOUT_B1F_GRUNT_2, OPPONENT_GRUNT_30
|
||||
.set OPPONENT_HIDEOUT_B1F_GRUNT_3, OPPONENT_GRUNT_53
|
||||
.set OPPONENT_HIDEOUT_B2F_GRUNT_1, OPPONENT_TABITHA_1
|
||||
.set OPPONENT_HIDEOUT_B2F_GRUNT_2, OPPONENT_GRUNT_31
|
||||
.set OPPONENT_HIDEOUT_B2F_GRUNT_3, OPPONENT_GRUNT_54
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_1, OPPONENT_GRUNT_32
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_2, OPPONENT_GRUNT_33
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_3, OPPONENT_COURTNEY_2
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_4, OPPONENT_GRUNT_34
|
||||
.set OPPONENT_SEAFLOOR_CAVERN_GRUNT_5, OPPONENT_MAXIE_2
|
||||
.set OPPONENT_MT_CHIMNEY_GRUNT_3, OPPONENT_MAXIE_3
|
||||
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_1, OPPONENT_GRUNT_49
|
||||
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_2, OPPONENT_GRUNT_50
|
||||
.set OPPONENT_MT_PYRE_SUMMIT_GRUNT_3, OPPONENT_GRUNT_51
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_1, OPPONENT_GRUNT_43
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_2, OPPONENT_GRUNT_52
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_3, OPPONENT_GRUNT_44
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_4, OPPONENT_GRUNT_45
|
||||
.set OPPONENT_WEATHER_INSTITUTE_GRUNT_5, OPPONENT_COURTNEY_1
|
||||
.equiv GAME_VERSION, 5
|
||||
.endif
|
||||
|
|
|
|||
4370
data/region_map.s
4370
data/region_map.s
File diff suppressed because it is too large
Load Diff
|
|
@ -2524,161 +2524,142 @@ gUnknown_8418E77:: @ 8418E77
|
|||
gUnknown_8418E8A:: @ 8418E8A
|
||||
.string "$"
|
||||
|
||||
gUnknown_8418E8B:: @ 8418E8B
|
||||
gText_RegionMap_Space:: @ 8418E8B
|
||||
.string " $"
|
||||
|
||||
gUnknown_8418E8D:: @ 8418E8D
|
||||
gText_RegionMap_AButtonGuide:: @ 8418E8D
|
||||
.string "{A_BUTTON}GUIDE$"
|
||||
|
||||
gUnknown_8418E95:: @ 8418E95
|
||||
gText_RegionMap_AButtonCancel:: @ 8418E95
|
||||
.string "{A_BUTTON}CANCEL$"
|
||||
|
||||
gUnknown_8418E9E:: @ 8418E9E
|
||||
gText_RegionMap_AButtonCancel2:: @ 8418E9E
|
||||
.string "{A_BUTTON}CANCEL$"
|
||||
|
||||
gUnknown_8418EA7:: @ 8418EA7
|
||||
gText_RegionMap_AButtonSwitch:: @ 8418EA7
|
||||
.string "{A_BUTTON}SWITCH$"
|
||||
|
||||
gUnknown_8418EB0:: @ 8418EB0
|
||||
gText_RegionMap_AButtonOK:: @ 8418EB0
|
||||
.string "{A_BUTTON}OK$"
|
||||
|
||||
gUnknown_8418EB5:: @ 8418EB5
|
||||
gText_RegionMap_DPadMove:: @ 8418EB5
|
||||
.string "{DPAD_ANY}MOVE$"
|
||||
|
||||
gUnknown_8418EBC:: @ 8418EBC
|
||||
gText_RegionMap_UpDownPick:: @ 8418EBC
|
||||
.string "{DPAD_UPDOWN}PICK$"
|
||||
|
||||
gUnknown_8418EC3:: @ 8418EC3
|
||||
gText_RegionMap_NoData:: @ 8418EC3
|
||||
.string "No data$"
|
||||
|
||||
gUnknown_8418ECB:: @ 8418ECB
|
||||
@ Viridian Forest
|
||||
gText_RegionMap_AreaDesc_ViridianForest::
|
||||
.string "A deep and sprawling forest that\n"
|
||||
.string "extends around VIRIDIAN CITY.\n"
|
||||
.string "A natural maze, many people\n"
|
||||
.string "become lost inside.$"
|
||||
|
||||
gUnknown_8418F3A:: @ 8418F3A
|
||||
@ Mt. Moon
|
||||
gText_RegionMap_AreaDesc_MtMoon::
|
||||
.string "A mystical mountain that is known\n"
|
||||
.string "for its frequent meteor falls.\n"
|
||||
.string "The shards of stars that fall\n"
|
||||
.string "here are known as MOON STONES.$"
|
||||
|
||||
gUnknown_8418FB8:: @ 8418FB8
|
||||
@ Diglett's Cave
|
||||
gText_RegionMap_AreaDesc_DiglettsCave::
|
||||
.string "A seemingly plain tunnel that was\n"
|
||||
.string "dug by wild DIGLETT.\n"
|
||||
.string "It is famous for connecting\n"
|
||||
.string "ROUTES 2 and 11.$"
|
||||
|
||||
gUnknown_841901C:: @ 841901C
|
||||
@ Victory Road
|
||||
gText_RegionMap_AreaDesc_VictoryRoad::
|
||||
.string "A tunnel situated on ROUTE 23.\n"
|
||||
.string "It earned its name because it\n"
|
||||
.string "must be traveled by all TRAINERS\n"
|
||||
.string "aiming for the top.$"
|
||||
|
||||
gUnknown_841908E:: @ 841908E
|
||||
@ Pokémon Mansion
|
||||
gText_RegionMap_AreaDesc_PokemonMansion::
|
||||
.string "A decrepit, burned-down mansion\n"
|
||||
.string "on CINNABAR ISLAND.\n"
|
||||
.string "It got its name because a famous\n"
|
||||
.string "POKéMON researcher lived there.$"
|
||||
|
||||
gUnknown_8419103:: @ 8419103
|
||||
@ Safari Zone
|
||||
gText_RegionMap_AreaDesc_SafariZone::
|
||||
.string "An amusement park outside FUCHSIA\n"
|
||||
.string "CITY where many rare POKéMON can\n"
|
||||
.string "be observed in the wild.\n"
|
||||
.string "Catch them in a popular game!$"
|
||||
|
||||
gUnknown_841917D:: @ 841917D
|
||||
@ Rock Tunnel
|
||||
gText_RegionMap_AreaDesc_RockTunnel::
|
||||
.string "A naturally formed underground\n"
|
||||
.string "tunnel. Because it has not been\n"
|
||||
.string "developed, it is inky dark inside.\n"
|
||||
.string "A light is needed to get through.$"
|
||||
|
||||
gUnknown_8419201:: @ 8419201
|
||||
@ Seafoam Islands
|
||||
gText_RegionMap_AreaDesc_SeafoamIslands::
|
||||
.string "A pair of islands that is situated\n"
|
||||
.string "on ROUTE 20.\n"
|
||||
.string "The two islands are shaped the\n"
|
||||
.string "same, as if they were twins.$"
|
||||
|
||||
gUnknown_841926D:: @ 841926D
|
||||
@ Pokémon Tower
|
||||
gText_RegionMap_AreaDesc_PokemonTower::
|
||||
.string "A tower that houses the graves of\n"
|
||||
.string "countless POKéMON.\n"
|
||||
.string "Many people visit it daily to pay\n"
|
||||
.string "their respects to the fallen.$"
|
||||
|
||||
gUnknown_84192E2:: @ 84192E2
|
||||
@ Cerulean Cave
|
||||
gText_RegionMap_AreaDesc_CeruleanCave::
|
||||
.string "A mysterious cave that is filled\n"
|
||||
.string "with terribly tough POKéMON.\n"
|
||||
.string "It is so dangerous, the POKéMON\n"
|
||||
.string "LEAGUE is in charge of it.$"
|
||||
|
||||
gUnknown_841935B:: @ 841935B
|
||||
@ Power Plant
|
||||
gText_RegionMap_AreaDesc_PowerPlant::
|
||||
.string "A power plant that was abandoned\n"
|
||||
.string "years ago, though some of the\n"
|
||||
.string "machines still work. It is infested\n"
|
||||
.string "with electric POKéMON.$"
|
||||
|
||||
gUnknown_84193D5:: @ 84193D5
|
||||
@ Mt. Ember
|
||||
gText_RegionMap_AreaDesc_MtEmber::
|
||||
.string "Supposedly an inactive volcano.\n"
|
||||
.string "However, there are persistent\n"
|
||||
.string "reports that the peak blazes\n"
|
||||
.string "with fire at night.$"
|
||||
|
||||
gUnknown_8419444:: @ 8419444
|
||||
@ Berry Forest
|
||||
gText_RegionMap_AreaDesc_BerryForest::
|
||||
.string "A forest on a small islet off the\n"
|
||||
.string "coast of THREE ISLAND. BERRIES\n"
|
||||
.string "grow wildly in profusion, quickly\n"
|
||||
.string "replenishing those that fall off.$"
|
||||
|
||||
gUnknown_84194C9:: @ 84194C9
|
||||
@ Icefall Cave
|
||||
gText_RegionMap_AreaDesc_IcefallCave::
|
||||
.string "A cave which is covered by water\n"
|
||||
.string "and ice on FOUR ISLAND.\n"
|
||||
.string "It seems like the end of the cave\n"
|
||||
.string "is connected to the ocean.$"
|
||||
|
||||
gUnknown_841953F:: @ 841953F
|
||||
@ Lost Cave
|
||||
gText_RegionMap_AreaDesc_LostCave::
|
||||
.string "A bewildering cave off the coast\n"
|
||||
.string "of RESORT GORGEOUS.\n"
|
||||
.string "Some curious thrill seekers have\n"
|
||||
.string "never emerged from it.$"
|
||||
|
||||
gUnknown_84195AC:: @ 84195AC
|
||||
@ Tanoby Ruins
|
||||
gText_RegionMap_AreaDesc_TanobyRuins::
|
||||
.string "An ancient ruin that is rumored to\n"
|
||||
.string "be home to a peculiar POKéMON.\n"
|
||||
.string "However, so far, the POKéMON\n"
|
||||
.string "remains an unconfirmed rumor.$"
|
||||
|
||||
gUnknown_8419629:: @ 8419629
|
||||
@ Altering Cave
|
||||
gText_RegionMap_AreaDesc_AlteringCave::
|
||||
.string "This island has been known by this\n"
|
||||
.string "name since the distant past.\n"
|
||||
.string "No one today knows where it got\n"
|
||||
.string "this name, however.$"
|
||||
|
||||
gUnknown_841969D:: @ 841969D
|
||||
@ Pattern Bush
|
||||
gText_RegionMap_AreaDesc_PatternBush::
|
||||
.string "A lush and bush-like area. \n"
|
||||
.string "In it are patterns where no grass\n"
|
||||
.string "grows. Some study it in the belief\n"
|
||||
.string "that a secret is concealed.$"
|
||||
|
||||
gUnknown_841971A:: @ 841971A
|
||||
@ Dotted Hole
|
||||
gText_RegionMap_AreaDesc_DottedHole::
|
||||
.string "A mysterious, just-discovered\n"
|
||||
.string "ruin from an ancient time.\n"
|
||||
.string "It got its name from the six dots\n"
|
||||
|
|
|
|||
|
|
@ -1,327 +0,0 @@
|
|||
gMapSecName_PalletTown::
|
||||
.string "PALLET TOWN$"
|
||||
|
||||
gMapSecName_ViridianCity::
|
||||
.string "VIRIDIAN CITY$"
|
||||
|
||||
gMapSecName_PewterCity::
|
||||
.string "PEWTER CITY$"
|
||||
|
||||
gMapSecName_CeruleanCity::
|
||||
.string "CERULEAN CITY$"
|
||||
|
||||
gMapSecName_LavenderTown::
|
||||
.string "LAVENDER TOWN$"
|
||||
|
||||
gMapSecName_VermilionCity::
|
||||
.string "VERMILION CITY$"
|
||||
|
||||
gMapSecName_CeladonCity::
|
||||
.string "CELADON CITY$"
|
||||
|
||||
gMapSecName_FuchsiaCity::
|
||||
.string "FUCHSIA CITY$"
|
||||
|
||||
gMapSecName_CinnabarIsland::
|
||||
.string "CINNABAR ISLAND$"
|
||||
|
||||
gMapSecName_IndigoPlateau::
|
||||
.string "INDIGO PLATEAU$"
|
||||
|
||||
gMapSecName_SaffronCity::
|
||||
.string "SAFFRON CITY$"
|
||||
|
||||
gMapSecName_Route4::
|
||||
.string "ROUTE 4$"
|
||||
|
||||
gMapSecName_Route10::
|
||||
.string "ROUTE 10$"
|
||||
|
||||
gMapSecName_Route1::
|
||||
.string "ROUTE 1$"
|
||||
|
||||
gMapSecName_Route2::
|
||||
.string "ROUTE 2$"
|
||||
|
||||
gMapSecName_Route3::
|
||||
.string "ROUTE 3$"
|
||||
|
||||
gMapSecName_Route4_2::
|
||||
.string "ROUTE 4$"
|
||||
|
||||
gMapSecName_Route5::
|
||||
.string "ROUTE 5$"
|
||||
|
||||
gMapSecName_Route6::
|
||||
.string "ROUTE 6$"
|
||||
|
||||
gMapSecName_Route7::
|
||||
.string "ROUTE 7$"
|
||||
|
||||
gMapSecName_Route8::
|
||||
.string "ROUTE 8$"
|
||||
|
||||
gMapSecName_Route9::
|
||||
.string "ROUTE 9$"
|
||||
|
||||
gMapSecName_Route10_2::
|
||||
.string "ROUTE 10$"
|
||||
|
||||
gMapSecName_Route11::
|
||||
.string "ROUTE 11$"
|
||||
|
||||
gMapSecName_Route12::
|
||||
.string "ROUTE 12$"
|
||||
|
||||
gMapSecName_Route13::
|
||||
.string "ROUTE 13$"
|
||||
|
||||
gMapSecName_Route14::
|
||||
.string "ROUTE 14$"
|
||||
|
||||
gMapSecName_Route15::
|
||||
.string "ROUTE 15$"
|
||||
|
||||
gMapSecName_Route16::
|
||||
.string "ROUTE 16$"
|
||||
|
||||
gMapSecName_Route17::
|
||||
.string "ROUTE 17$"
|
||||
|
||||
gMapSecName_Route18::
|
||||
.string "ROUTE 18$"
|
||||
|
||||
gMapSecName_Route19::
|
||||
.string "ROUTE 19$"
|
||||
|
||||
gMapSecName_Route20::
|
||||
.string "ROUTE 20$"
|
||||
|
||||
gMapSecName_Route21::
|
||||
.string "ROUTE 21$"
|
||||
|
||||
gMapSecName_Route22::
|
||||
.string "ROUTE 22$"
|
||||
|
||||
gMapSecName_Route23::
|
||||
.string "ROUTE 23$"
|
||||
|
||||
gMapSecName_Route24::
|
||||
.string "ROUTE 24$"
|
||||
|
||||
gMapSecName_Route25::
|
||||
.string "ROUTE 25$"
|
||||
|
||||
gMapSecName_ViridianForest::
|
||||
.string "VIRIDIAN FOREST$"
|
||||
|
||||
gMapSecName_MtMoon::
|
||||
.string "MT. MOON$"
|
||||
|
||||
gMapSecName_SSAnne::
|
||||
.string "S.S. ANNE$"
|
||||
|
||||
gMapSecName_UndergroundPath::
|
||||
.string "UNDERGROUND PATH$"
|
||||
|
||||
gMapSecName_UndergroundPath_2::
|
||||
.string "UNDERGROUND PATH$"
|
||||
|
||||
gMapSecName_DiglettsCave::
|
||||
.string "DIGLETT'S CAVE$"
|
||||
|
||||
gMapSecName_VictoryRoad::
|
||||
.string "VICTORY ROAD$"
|
||||
|
||||
gMapSecName_RocketHideout::
|
||||
.string "ROCKET HIDEOUT$"
|
||||
|
||||
gMapSecName_SilphCo::
|
||||
.string "SILPH CO.$"
|
||||
|
||||
gMapSecName_PokemonMansion::
|
||||
.string "POKéMON MANSION$"
|
||||
|
||||
gMapSecName_SafariZone::
|
||||
.string "SAFARI ZONE$"
|
||||
|
||||
gMapSecName_PokemonLeague::
|
||||
.string "POKéMON LEAGUE$"
|
||||
|
||||
gMapSecName_RockTunnel::
|
||||
.string "ROCK TUNNEL$"
|
||||
|
||||
gMapSecName_SeafoamIslands::
|
||||
.string "SEAFOAM ISLANDS$"
|
||||
|
||||
gMapSecName_PokemonTower::
|
||||
.string "POKéMON TOWER$"
|
||||
|
||||
gMapSecName_CeruleanCave::
|
||||
.string "CERULEAN CAVE$"
|
||||
|
||||
gMapSecName_PowerPlant::
|
||||
.string "POWER PLANT$"
|
||||
|
||||
gMapSecName_OneIsland::
|
||||
.string "ONE ISLAND$"
|
||||
|
||||
gMapSecName_TwoIsland::
|
||||
.string "TWO ISLAND$"
|
||||
|
||||
gMapSecName_ThreeIsland::
|
||||
.string "THREE ISLAND$"
|
||||
|
||||
gMapSecName_FourIsland::
|
||||
.string "FOUR ISLAND$"
|
||||
|
||||
gMapSecName_FiveIsland::
|
||||
.string "FIVE ISLAND$"
|
||||
|
||||
gMapSecName_SevenIsland::
|
||||
.string "SEVEN ISLAND$"
|
||||
|
||||
gMapSecName_SixIsland::
|
||||
.string "SIX ISLAND$"
|
||||
|
||||
gMapSecName_KindleRoad::
|
||||
.string "KINDLE ROAD$"
|
||||
|
||||
gMapSecName_TreasureBeach::
|
||||
.string "TREASURE BEACH$"
|
||||
|
||||
gMapSecName_CapeBrink::
|
||||
.string "CAPE BRINK$"
|
||||
|
||||
gMapSecName_BondBridge::
|
||||
.string "BOND BRIDGE$"
|
||||
|
||||
gMapSecName_ThreeIslePort::
|
||||
.string "THREE ISLE PORT$"
|
||||
|
||||
gMapSecName_SeviiIsle6::
|
||||
.string "SEVII ISLE 6$"
|
||||
|
||||
gMapSecName_SeviiIsle7::
|
||||
.string "SEVII ISLE 7$"
|
||||
|
||||
gMapSecName_SeviiIsle8::
|
||||
.string "SEVII ISLE 8$"
|
||||
|
||||
gMapSecName_SeviiIsle9::
|
||||
.string "SEVII ISLE 9$"
|
||||
|
||||
gMapSecName_ResortGorgeous::
|
||||
.string "RESORT GORGEOUS$"
|
||||
|
||||
gMapSecName_WaterLabyrinth::
|
||||
.string "WATER LABYRINTH$"
|
||||
|
||||
gMapSecName_FiveIsleMeadow::
|
||||
.string "FIVE ISLE MEADOW$"
|
||||
|
||||
gMapSecName_MemorialPillar::
|
||||
.string "MEMORIAL PILLAR$"
|
||||
|
||||
gMapSecName_OutcastIsland::
|
||||
.string "OUTCAST ISLAND$"
|
||||
|
||||
gMapSecName_GreenPath::
|
||||
.string "GREEN PATH$"
|
||||
|
||||
gMapSecName_WaterPath::
|
||||
.string "WATER PATH$"
|
||||
|
||||
gMapSecName_RuinValley::
|
||||
.string "RUIN VALLEY$"
|
||||
|
||||
gMapSecName_TrainerTower::
|
||||
.string "TRAINER TOWER$"
|
||||
|
||||
gMapSecName_CanyonEntrance::
|
||||
.string "CANYON ENTRANCE$"
|
||||
|
||||
gMapSecName_SevaultCanyon::
|
||||
.string "SEVAULT CANYON$"
|
||||
|
||||
gMapSecName_TanobyRuins::
|
||||
.string "TANOBY RUINS$"
|
||||
|
||||
gMapSecName_SeviiIsle22::
|
||||
.string "SEVII ISLE 22$"
|
||||
|
||||
gMapSecName_SeviiIsle23::
|
||||
.string "SEVII ISLE 23$"
|
||||
|
||||
gMapSecName_SeviiIsle24::
|
||||
.string "SEVII ISLE 24$"
|
||||
|
||||
gMapSecName_NavelRock::
|
||||
.string "NAVEL ROCK$"
|
||||
|
||||
gMapSecName_MtEmber::
|
||||
.string "MT. EMBER$"
|
||||
|
||||
gMapSecName_BerryForest::
|
||||
.string "BERRY FOREST$"
|
||||
|
||||
gMapSecName_IcefallCave::
|
||||
.string "ICEFALL CAVE$"
|
||||
|
||||
gMapSecName_RocketWarehouse::
|
||||
.string "ROCKET WAREHOUSE$"
|
||||
|
||||
gMapSecName_TrainerTower_2::
|
||||
.string "TRAINER TOWER$"
|
||||
|
||||
gMapSecName_DottedHole::
|
||||
.string "DOTTED HOLE$"
|
||||
|
||||
gMapSecName_LostCave::
|
||||
.string "LOST CAVE$"
|
||||
|
||||
gMapSecName_PatternBush::
|
||||
.string "PATTERN BUSH$"
|
||||
|
||||
gMapSecName_AlteringCave::
|
||||
.string "ALTERING CAVE$"
|
||||
|
||||
gMapSecName_TanobyChambers::
|
||||
.string "TANOBY CHAMBERS$"
|
||||
|
||||
gMapSecName_ThreeIslePath::
|
||||
.string "THREE ISLE PATH$"
|
||||
|
||||
gMapSecName_TanobyKey::
|
||||
.string "TANOBY KEY$"
|
||||
|
||||
gMapSecName_BirthIsland::
|
||||
.string "BIRTH ISLAND$"
|
||||
|
||||
gMapSecName_MoneanChamber::
|
||||
.string "MONEAN CHAMBER$"
|
||||
|
||||
gMapSecName_LiptooChamber::
|
||||
.string "LIPTOO CHAMBER$"
|
||||
|
||||
gMapSecName_WeepthChamber::
|
||||
.string "WEEPTH CHAMBER$"
|
||||
|
||||
gMapSecName_DilfordChamber::
|
||||
.string "DILFORD CHAMBER$"
|
||||
|
||||
gMapSecName_ScufibChamber::
|
||||
.string "SCUFIB CHAMBER$"
|
||||
|
||||
gMapSecName_RixyChamber::
|
||||
.string "RIXY CHAMBER$"
|
||||
|
||||
gMapSecName_ViapoisChamber::
|
||||
.string "VIAPOIS CHAMBER$"
|
||||
|
||||
gMapSecName_EmberSpa::
|
||||
.string "EMBER SPA$"
|
||||
|
||||
gMapSecName_CeladonDept::
|
||||
.string "CELADON DEPT.$"
|
||||
|
||||
|
|
@ -89,6 +89,9 @@
|
|||
#define MAPSEC_SKY_PILLAR 0x55
|
||||
#define MAPSEC_SECRET_BASE 0x56
|
||||
#define MAPSEC_DYNAMIC 0x57
|
||||
|
||||
#define MAPSECS_KANTO 0x58
|
||||
|
||||
#define MAPSEC_PALLET_TOWN 0x58
|
||||
#define MAPSEC_VIRIDIAN_CITY 0x59
|
||||
#define MAPSEC_PEWTER_CITY 0x5A
|
||||
|
|
@ -144,6 +147,9 @@
|
|||
#define MAPSEC_POKEMON_TOWER 0x8C
|
||||
#define MAPSEC_CERULEAN_CAVE 0x8D
|
||||
#define MAPSEC_POWER_PLANT 0x8E
|
||||
|
||||
#define MAPSECS_SEVII_123 0x8F
|
||||
|
||||
#define MAPSEC_ONE_ISLAND 0x8F
|
||||
#define MAPSEC_TWO_ISLAND 0x90
|
||||
#define MAPSEC_THREE_ISLAND 0x91
|
||||
|
|
|
|||
|
|
@ -23,5 +23,6 @@ void sub_80853CC(u8 a0);
|
|||
void sub_8083598(u8 a0);
|
||||
void sub_8083A5C(struct Sprite * sprite, u8 spriteId);
|
||||
u8 sub_8083970(u16 species, s16 x, s16 y, bool8 unused);
|
||||
void sub_80842C8(void);
|
||||
|
||||
#endif //GUARD_FIELD_EFFECTS_H
|
||||
|
|
|
|||
53
include/image_processing_effects.h
Normal file
53
include/image_processing_effects.h
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
#ifndef GUARD_IMAGE_PROCESSING_EFFECTS_H
|
||||
#define GUARD_IMAGE_PROCESSING_EFFECTS_H
|
||||
|
||||
enum
|
||||
{
|
||||
IMAGE_EFFECT_POINTILLISM = 2,
|
||||
IMAGE_EFFECT_GRAYSCALE_LIGHT = 6,
|
||||
IMAGE_EFFECT_BLUR = 8,
|
||||
IMAGE_EFFECT_OUTLINE_COLORED = 9,
|
||||
IMAGE_EFFECT_INVERT_BLACK_WHITE = 10,
|
||||
IMAGE_EFFECT_THICK_BLACK_WHITE = 11,
|
||||
IMAGE_EFFECT_SHIMMER = 13,
|
||||
IMAGE_EFFECT_OUTLINE = 30,
|
||||
IMAGE_EFFECT_INVERT = 31,
|
||||
IMAGE_EFFECT_BLUR_RIGHT = 32,
|
||||
IMAGE_EFFECT_BLUR_DOWN = 33,
|
||||
IMAGE_EFFECT_CHARCOAL = 36,
|
||||
};
|
||||
|
||||
enum
|
||||
{
|
||||
QUANTIZE_EFFECT_STANDARD,
|
||||
QUANTIZE_EFFECT_STANDARD_LIMITED_COLORS,
|
||||
QUANTIZE_EFFECT_PRIMARY_COLORS,
|
||||
QUANTIZE_EFFECT_GRAYSCALE,
|
||||
QUANTIZE_EFFECT_GRAYSCALE_SMALL,
|
||||
QUANTIZE_EFFECT_BLACK_WHITE,
|
||||
};
|
||||
|
||||
struct ImageProcessingContext
|
||||
{
|
||||
u8 effect;
|
||||
void *canvasPixels;
|
||||
u16 *canvasPalette;
|
||||
u8 fillerC[0x4];
|
||||
void *dest;
|
||||
u16 quantizeEffect;
|
||||
u16 var_16;
|
||||
u8 paletteStart;
|
||||
u8 columnStart;
|
||||
u8 rowStart;
|
||||
u8 columnEnd;
|
||||
u8 rowEnd;
|
||||
u8 canvasWidth;
|
||||
u8 canvasHeight;
|
||||
u8 personality;
|
||||
};
|
||||
|
||||
void ApplyImageProcessingEffects(struct ImageProcessingContext *);
|
||||
void ApplyImageProcessingQuantization(struct ImageProcessingContext *);
|
||||
void ConvertImageProcessingToGBA(struct ImageProcessingContext *);
|
||||
|
||||
#endif
|
||||
|
|
@ -49,5 +49,6 @@ void sub_80F85BC(u16 a0);
|
|||
u16 sub_80F856C(u8 id);
|
||||
bool8 sub_80F8110(u8 mapsec, bool8 forceFirstTime);
|
||||
bool32 sub_80F83B0(void);
|
||||
const struct MapPreviewScreen * GetDungeonMapPreviewScreenInfo(u8 mapsec);
|
||||
|
||||
#endif //GUARD_MAP_PREVIEW_SCREEN_H
|
||||
|
|
|
|||
|
|
@ -149,5 +149,6 @@ void sub_8055778(int);
|
|||
void sub_8055738(u8 loc);
|
||||
|
||||
void sub_8056078(void *, void *);
|
||||
void sub_805546C(u8 a0);
|
||||
|
||||
#endif //GUARD_OVERWORLD_H
|
||||
|
|
|
|||
|
|
@ -24,77 +24,25 @@ enum {
|
|||
MAPSECTYPE_CITY_CANTFLY,
|
||||
};
|
||||
|
||||
struct RegionMap {
|
||||
/*0x000*/ u16 mapSecId;
|
||||
/*0x002*/ u8 iconDrawType;
|
||||
/*0x003*/ u8 posWithinMapSec;
|
||||
/*0x004*/ u8 mapSecName[0x14];
|
||||
/*0x018*/ u8 (*inputCallback)(void);
|
||||
/*0x01c*/ struct Sprite *cursorSprite;
|
||||
/*0x020*/ struct Sprite *playerIconSprite;
|
||||
/*0x024*/ s32 bg2x;
|
||||
/*0x028*/ s32 bg2y;
|
||||
/*0x02c*/ u32 bg2pa;
|
||||
/*0x034*/ u32 bg2pc;
|
||||
/*0x030*/ u32 bg2pb;
|
||||
/*0x038*/ u32 bg2pd;
|
||||
/*0x03c*/ s32 unk_03c;
|
||||
/*0x040*/ s32 unk_040;
|
||||
/*0x044*/ s32 unk_044;
|
||||
/*0x048*/ s32 unk_048;
|
||||
/*0x04c*/ s32 unk_04c;
|
||||
/*0x050*/ s32 unk_050;
|
||||
/*0x054*/ u16 cursorPosX;
|
||||
/*0x056*/ u16 cursorPosY;
|
||||
/*0x058*/ u16 cursorTileTag;
|
||||
/*0x05a*/ u16 cursorPaletteTag;
|
||||
/*0x05c*/ s16 scrollX;
|
||||
/*0x05e*/ s16 scrollY;
|
||||
/*0x060*/ s16 unk_060;
|
||||
/*0x062*/ s16 unk_062;
|
||||
/*0x064*/ u16 zoomedCursorPosX;
|
||||
/*0x066*/ u16 zoomedCursorPosY;
|
||||
/*0x068*/ s16 zoomedCursorDeltaY;
|
||||
/*0x06a*/ s16 zoomedCursorDeltaX;
|
||||
/*0x06c*/ u16 zoomedCursorMovementFrameCounter;
|
||||
/*0x06e*/ u16 unk_06e;
|
||||
/*0x070*/ u16 playerIconTileTag;
|
||||
/*0x072*/ u16 playerIconPaletteTag;
|
||||
/*0x074*/ u16 playerIconSpritePosX;
|
||||
/*0x076*/ u16 playerIconSpritePosY;
|
||||
/*0x078*/ bool8 zoomed;
|
||||
/*0x079*/ u8 initStep;
|
||||
/*0x07a*/ s8 cursorMovementFrameCounter;
|
||||
/*0x07b*/ s8 cursorDeltaX;
|
||||
/*0x07c*/ s8 cursorDeltaY;
|
||||
/*0x07d*/ bool8 needUpdateVideoRegs;
|
||||
/*0x07e*/ bool8 blinkPlayerIcon;
|
||||
/*0x07f*/ bool8 playerIsInCave;
|
||||
/*0x080*/ u8 bgNum;
|
||||
/*0x081*/ u8 charBaseIdx;
|
||||
/*0x082*/ u8 mapBaseIdx;
|
||||
/*0x083*/ bool8 bgManaged;
|
||||
/*0x084*/ u8 filler_084[0x100];
|
||||
/*0x184*/ u8 cursorSmallImage[0x100];
|
||||
/*0x284*/ u8 cursorLargeImage[0x600];
|
||||
}; // size = 0x884
|
||||
enum {
|
||||
MAPPERM_0,
|
||||
MAPPERM_1,
|
||||
MAPPERM_2,
|
||||
MAPPERM_3
|
||||
};
|
||||
|
||||
enum {
|
||||
REGIONMAP_KANTO,
|
||||
REGIONMAP_SEVII123,
|
||||
REGIONMAP_SEVII45,
|
||||
REGIONMAP_SEVII67
|
||||
};
|
||||
|
||||
// Exported RAM declarations
|
||||
|
||||
// Exported ROM declarations
|
||||
void sub_8122CF8(struct RegionMap *regionMap, struct BgTemplate *template, bool8 zoomed);
|
||||
bool8 sub_8122DB0(void);
|
||||
void UpdateRegionMapVideoRegs(void);
|
||||
void InitRegionMap(struct RegionMap *regionMap, u8 argument);
|
||||
u8 sub_81230AC(void);
|
||||
bool8 sub_8123514(void);
|
||||
void FreeRegionMapIconResources(void);
|
||||
u16 GetRegionMapSectionIdAt(u16 x, u16 y);
|
||||
void CreateRegionMapPlayerIcon(u16 x, u16 y);
|
||||
void CreateRegionMapCursor(u16 tileTag, u16 paletteTag);
|
||||
u8 *GetMapName(u8 *, u16, u16);
|
||||
bool32 sub_8124668(u8 mapSecId);
|
||||
void GetMapNameGeneric(u8 *, u8);
|
||||
u8 *GetMapName(u8 *dest, u16 mapsec, u16 fill);
|
||||
u8 *GetMapNameGeneric(u8 *dest, u16 mapsec);
|
||||
void sub_80BFF50(u8 a0, void (*a1)(void));
|
||||
void MCB2_FlyMap(void);
|
||||
|
||||
|
|
|
|||
|
|
@ -1003,4 +1003,34 @@ extern const u8 gText_UnionRoomTradesBattles[];
|
|||
extern const u8 gText_LinkBattles[];
|
||||
extern const u8 gText_LinkCableBattles[];
|
||||
|
||||
// region_map
|
||||
extern const u8 gText_RegionMap_DPadMove[];
|
||||
extern const u8 gText_RegionMap_Space[];
|
||||
extern const u8 gText_RegionMap_AButtonGuide[];
|
||||
extern const u8 gText_RegionMap_AButtonCancel[];
|
||||
extern const u8 gText_RegionMap_AButtonCancel2[];
|
||||
extern const u8 gText_RegionMap_AButtonSwitch[];
|
||||
extern const u8 gText_RegionMap_AButtonOK[];
|
||||
extern const u8 gText_RegionMap_UpDownPick[];
|
||||
extern const u8 gText_RegionMap_NoData[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_ViridianForest[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_MtMoon[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_DiglettsCave[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_VictoryRoad[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_PokemonMansion[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_SafariZone[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_RockTunnel[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_SeafoamIslands[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_PokemonTower[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_CeruleanCave[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_PowerPlant[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_MtEmber[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_BerryForest[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_IcefallCave[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_LostCave[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_TanobyRuins[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_AlteringCave[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_PatternBush[];
|
||||
extern const u8 gText_RegionMap_AreaDesc_DottedHole[];
|
||||
|
||||
#endif //GUARD_STRINGS_H
|
||||
|
|
|
|||
|
|
@ -1,5 +1,3 @@
|
|||
ENTRY(Start)
|
||||
|
||||
gNumMusicPlayers = 4;
|
||||
gMaxLines = 0;
|
||||
|
||||
|
|
@ -182,7 +180,8 @@ SECTIONS {
|
|||
src/menu_helpers.o(.text);
|
||||
asm/script_pokemon_util_80BF8FC.o(.text);
|
||||
src/heal_location.o(.text);
|
||||
asm/region_map.o(.text);
|
||||
src/region_map.o(.text);
|
||||
src/image_processing_effects.o(.text);
|
||||
src/battle_ai_script_commands.o(.text);
|
||||
src/fldeff_rocksmash.o(.text);
|
||||
src/fldeff_dig.o(.text);
|
||||
|
|
@ -479,7 +478,8 @@ SECTIONS {
|
|||
src/mon_markings.o(.rodata);
|
||||
src/mail.o(.rodata);
|
||||
src/heal_location.o(.rodata);
|
||||
data/region_map.o(.rodata);
|
||||
src/region_map.o(.rodata);
|
||||
src/image_processing_effects.o(.rodata);
|
||||
src/battle_ai_script_commands.o(.rodata);
|
||||
data/fldeff_flash.o(.rodata);
|
||||
src/field_specials.o(.rodata);
|
||||
|
|
|
|||
109
src/data/text/map_section_names.h
Normal file
109
src/data/text/map_section_names.h
Normal file
|
|
@ -0,0 +1,109 @@
|
|||
const u8 gMapSecName_PalletTown[] = _("PALLET TOWN");
|
||||
const u8 gMapSecName_ViridianCity[] = _("VIRIDIAN CITY");
|
||||
const u8 gMapSecName_PewterCity[] = _("PEWTER CITY");
|
||||
const u8 gMapSecName_CeruleanCity[] = _("CERULEAN CITY");
|
||||
const u8 gMapSecName_LavenderTown[] = _("LAVENDER TOWN");
|
||||
const u8 gMapSecName_VermilionCity[] = _("VERMILION CITY");
|
||||
const u8 gMapSecName_CeladonCity[] = _("CELADON CITY");
|
||||
const u8 gMapSecName_FuchsiaCity[] = _("FUCHSIA CITY");
|
||||
const u8 gMapSecName_CinnabarIsland[] = _("CINNABAR ISLAND");
|
||||
const u8 gMapSecName_IndigoPlateau[] = _("INDIGO PLATEAU");
|
||||
const u8 gMapSecName_SaffronCity[] = _("SAFFRON CITY");
|
||||
const u8 gMapSecName_Route4[] = _("ROUTE 4");
|
||||
const u8 gMapSecName_Route10[] = _("ROUTE 10");
|
||||
const u8 gMapSecName_Route1[] = _("ROUTE 1");
|
||||
const u8 gMapSecName_Route2[] = _("ROUTE 2");
|
||||
const u8 gMapSecName_Route3[] = _("ROUTE 3");
|
||||
const u8 gMapSecName_Route4_2[] = _("ROUTE 4");
|
||||
const u8 gMapSecName_Route5[] = _("ROUTE 5");
|
||||
const u8 gMapSecName_Route6[] = _("ROUTE 6");
|
||||
const u8 gMapSecName_Route7[] = _("ROUTE 7");
|
||||
const u8 gMapSecName_Route8[] = _("ROUTE 8");
|
||||
const u8 gMapSecName_Route9[] = _("ROUTE 9");
|
||||
const u8 gMapSecName_Route10_2[] = _("ROUTE 10");
|
||||
const u8 gMapSecName_Route11[] = _("ROUTE 11");
|
||||
const u8 gMapSecName_Route12[] = _("ROUTE 12");
|
||||
const u8 gMapSecName_Route13[] = _("ROUTE 13");
|
||||
const u8 gMapSecName_Route14[] = _("ROUTE 14");
|
||||
const u8 gMapSecName_Route15[] = _("ROUTE 15");
|
||||
const u8 gMapSecName_Route16[] = _("ROUTE 16");
|
||||
const u8 gMapSecName_Route17[] = _("ROUTE 17");
|
||||
const u8 gMapSecName_Route18[] = _("ROUTE 18");
|
||||
const u8 gMapSecName_Route19[] = _("ROUTE 19");
|
||||
const u8 gMapSecName_Route20[] = _("ROUTE 20");
|
||||
const u8 gMapSecName_Route21[] = _("ROUTE 21");
|
||||
const u8 gMapSecName_Route22[] = _("ROUTE 22");
|
||||
const u8 gMapSecName_Route23[] = _("ROUTE 23");
|
||||
const u8 gMapSecName_Route24[] = _("ROUTE 24");
|
||||
const u8 gMapSecName_Route25[] = _("ROUTE 25");
|
||||
const u8 gMapSecName_ViridianForest[] = _("VIRIDIAN FOREST");
|
||||
const u8 gMapSecName_MtMoon[] = _("MT. MOON");
|
||||
const u8 gMapSecName_SSAnne[] = _("S.S. ANNE");
|
||||
const u8 gMapSecName_UndergroundPath[] = _("UNDERGROUND PATH");
|
||||
const u8 gMapSecName_UndergroundPath_2[] = _("UNDERGROUND PATH");
|
||||
const u8 gMapSecName_DiglettsCave[] = _("DIGLETT'S CAVE");
|
||||
const u8 gMapSecName_VictoryRoad[] = _("VICTORY ROAD");
|
||||
const u8 gMapSecName_RocketHideout[] = _("ROCKET HIDEOUT");
|
||||
const u8 gMapSecName_SilphCo[] = _("SILPH CO.");
|
||||
const u8 gMapSecName_PokemonMansion[] = _("POKéMON MANSION");
|
||||
const u8 gMapSecName_SafariZone[] = _("SAFARI ZONE");
|
||||
const u8 gMapSecName_PokemonLeague[] = _("POKéMON LEAGUE");
|
||||
const u8 gMapSecName_RockTunnel[] = _("ROCK TUNNEL");
|
||||
const u8 gMapSecName_SeafoamIslands[] = _("SEAFOAM ISLANDS");
|
||||
const u8 gMapSecName_PokemonTower[] = _("POKéMON TOWER");
|
||||
const u8 gMapSecName_CeruleanCave[] = _("CERULEAN CAVE");
|
||||
const u8 gMapSecName_PowerPlant[] = _("POWER PLANT");
|
||||
const u8 gMapSecName_OneIsland[] = _("ONE ISLAND");
|
||||
const u8 gMapSecName_TwoIsland[] = _("TWO ISLAND");
|
||||
const u8 gMapSecName_ThreeIsland[] = _("THREE ISLAND");
|
||||
const u8 gMapSecName_FourIsland[] = _("FOUR ISLAND");
|
||||
const u8 gMapSecName_FiveIsland[] = _("FIVE ISLAND");
|
||||
const u8 gMapSecName_SevenIsland[] = _("SEVEN ISLAND");
|
||||
const u8 gMapSecName_SixIsland[] = _("SIX ISLAND");
|
||||
const u8 gMapSecName_KindleRoad[] = _("KINDLE ROAD");
|
||||
const u8 gMapSecName_TreasureBeach[] = _("TREASURE BEACH");
|
||||
const u8 gMapSecName_CapeBrink[] = _("CAPE BRINK");
|
||||
const u8 gMapSecName_BondBridge[] = _("BOND BRIDGE");
|
||||
const u8 gMapSecName_ThreeIslePort[] = _("THREE ISLE PORT");
|
||||
const u8 gMapSecName_SeviiIsle6[] = _("SEVII ISLE 6");
|
||||
const u8 gMapSecName_SeviiIsle7[] = _("SEVII ISLE 7");
|
||||
const u8 gMapSecName_SeviiIsle8[] = _("SEVII ISLE 8");
|
||||
const u8 gMapSecName_SeviiIsle9[] = _("SEVII ISLE 9");
|
||||
const u8 gMapSecName_ResortGorgeous[] = _("RESORT GORGEOUS");
|
||||
const u8 gMapSecName_WaterLabyrinth[] = _("WATER LABYRINTH");
|
||||
const u8 gMapSecName_FiveIsleMeadow[] = _("FIVE ISLE MEADOW");
|
||||
const u8 gMapSecName_MemorialPillar[] = _("MEMORIAL PILLAR");
|
||||
const u8 gMapSecName_OutcastIsland[] = _("OUTCAST ISLAND");
|
||||
const u8 gMapSecName_GreenPath[] = _("GREEN PATH");
|
||||
const u8 gMapSecName_WaterPath[] = _("WATER PATH");
|
||||
const u8 gMapSecName_RuinValley[] = _("RUIN VALLEY");
|
||||
const u8 gMapSecName_TrainerTower[] = _("TRAINER TOWER");
|
||||
const u8 gMapSecName_CanyonEntrance[] = _("CANYON ENTRANCE");
|
||||
const u8 gMapSecName_SevaultCanyon[] = _("SEVAULT CANYON");
|
||||
const u8 gMapSecName_TanobyRuins[] = _("TANOBY RUINS");
|
||||
const u8 gMapSecName_SeviiIsle22[] = _("SEVII ISLE 22");
|
||||
const u8 gMapSecName_SeviiIsle23[] = _("SEVII ISLE 23");
|
||||
const u8 gMapSecName_SeviiIsle24[] = _("SEVII ISLE 24");
|
||||
const u8 gMapSecName_NavelRock[] = _("NAVEL ROCK");
|
||||
const u8 gMapSecName_MtEmber[] = _("MT. EMBER");
|
||||
const u8 gMapSecName_BerryForest[] = _("BERRY FOREST");
|
||||
const u8 gMapSecName_IcefallCave[] = _("ICEFALL CAVE");
|
||||
const u8 gMapSecName_RocketWarehouse[] = _("ROCKET WAREHOUSE");
|
||||
const u8 gMapSecName_TrainerTower_2[] = _("TRAINER TOWER");
|
||||
const u8 gMapSecName_DottedHole[] = _("DOTTED HOLE");
|
||||
const u8 gMapSecName_LostCave[] = _("LOST CAVE");
|
||||
const u8 gMapSecName_PatternBush[] = _("PATTERN BUSH");
|
||||
const u8 gMapSecName_AlteringCave[] = _("ALTERING CAVE");
|
||||
const u8 gMapSecName_TanobyChambers[] = _("TANOBY CHAMBERS");
|
||||
const u8 gMapSecName_ThreeIslePath[] = _("THREE ISLE PATH");
|
||||
const u8 gMapSecName_TanobyKey[] = _("TANOBY KEY");
|
||||
const u8 gMapSecName_BirthIsland[] = _("BIRTH ISLAND");
|
||||
const u8 gMapSecName_MoneanChamber[] = _("MONEAN CHAMBER");
|
||||
const u8 gMapSecName_LiptooChamber[] = _("LIPTOO CHAMBER");
|
||||
const u8 gMapSecName_WeepthChamber[] = _("WEEPTH CHAMBER");
|
||||
const u8 gMapSecName_DilfordChamber[] = _("DILFORD CHAMBER");
|
||||
const u8 gMapSecName_ScufibChamber[] = _("SCUFIB CHAMBER");
|
||||
const u8 gMapSecName_RixyChamber[] = _("RIXY CHAMBER");
|
||||
const u8 gMapSecName_ViapoisChamber[] = _("VIAPOIS CHAMBER");
|
||||
const u8 gMapSecName_EmberSpa[] = _("EMBER SPA");
|
||||
const u8 gMapSecName_CeladonDept[] = _("CELADON DEPT.");
|
||||
4425
src/image_processing_effects.c
Normal file
4425
src/image_processing_effects.c
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -36,7 +36,7 @@ extern bool32 sub_80F5118(void);
|
|||
|
||||
extern struct SoundInfo gSoundInfo;
|
||||
extern u32 gFlashMemoryPresent;
|
||||
extern u32 IntrMain[];
|
||||
extern u32 intr_main[];
|
||||
extern u8 gHeap[];
|
||||
extern struct SaveBlock1 gSaveBlock1;
|
||||
extern struct SaveBlock2 gSaveBlock2;
|
||||
|
|
@ -313,7 +313,7 @@ void InitIntrHandlers(void)
|
|||
for (i = 0; i < INTR_COUNT; i++)
|
||||
gIntrTable[i] = gIntrTableTemplate[i];
|
||||
|
||||
DmaCopy32(3, IntrMain, IntrMain_Buffer, sizeof(IntrMain_Buffer));
|
||||
DmaCopy32(3, intr_main, IntrMain_Buffer, sizeof(IntrMain_Buffer));
|
||||
|
||||
INTR_VECTOR = IntrMain_Buffer;
|
||||
|
||||
|
|
|
|||
|
|
@ -552,7 +552,7 @@ static void sub_80F83D0(u8 taskId)
|
|||
}
|
||||
}
|
||||
|
||||
const struct MapPreviewScreen * sub_80F8544(u8 mapsec)
|
||||
const struct MapPreviewScreen * GetDungeonMapPreviewScreenInfo(u8 mapsec)
|
||||
{
|
||||
u8 idx;
|
||||
|
||||
|
|
|
|||
|
|
@ -4201,7 +4201,7 @@ static void sub_8124BB0(struct Pokemon *mon, u8 fieldMove)
|
|||
Free(ptr);
|
||||
}
|
||||
|
||||
void sub_8124C1C(const u8 *healLocCtrlData) // TODO: confirm the type of data chunk at 0x83F2EE0
|
||||
void sub_8124C1C(const u8 *healLocCtrlData)
|
||||
{
|
||||
const struct MapHeader *mapHeader;
|
||||
struct FieldMoveWarpParams *ptr2;
|
||||
|
|
|
|||
|
|
@ -3119,7 +3119,7 @@ static const u16 *sub_8113FBC(const u16 *a0)
|
|||
StringCopy(gStringVar1, ItemId_GetName(r5[0]));
|
||||
if (r5[0] == ITEM_ESCAPE_ROPE)
|
||||
{
|
||||
GetMapNameGeneric(gStringVar2, r5[2]);
|
||||
GetMapNameGeneric(gStringVar2, (u8)r5[2]);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841AFA6);
|
||||
}
|
||||
else if (r5[1] != 0xFFFF)
|
||||
|
|
@ -4373,7 +4373,7 @@ static u16 *sub_81157DC(u16 *a0, const u16 *a1)
|
|||
static const u16 *sub_8115800(const u16 *a0)
|
||||
{
|
||||
const u16 *r4 = sub_8113E88(42, a0);
|
||||
GetMapNameGeneric(gStringVar1, r4[0]);
|
||||
GetMapNameGeneric(gStringVar1, (u8)r4[0]);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_841B064);
|
||||
return r4 + 1;
|
||||
}
|
||||
|
|
|
|||
4399
src/region_map.c
Normal file
4399
src/region_map.c
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -61,37 +61,8 @@ gUnknown_3005078: @ 3005078
|
|||
|
||||
@ what is this?
|
||||
.space 0x20
|
||||
|
||||
gUnknown_3005330: @ 3005330
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005334: @ 3005334
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005338: @ 3005338
|
||||
.space 0x4
|
||||
|
||||
gUnknown_300533C: @ 300533C
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005340: @ 3005340
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005344: @ 3005344
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005348: @ 3005348
|
||||
.space 0x4
|
||||
|
||||
gUnknown_300534C: @ 300534C
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005350: @ 3005350
|
||||
.space 0x4
|
||||
|
||||
gUnknown_3005354: @ 3005354
|
||||
.space 0xC
|
||||
|
||||
.align 2
|
||||
.include "image_processing_effects.o"
|
||||
.align 2
|
||||
.include "field_specials.o"
|
||||
.align 2
|
||||
|
|
|
|||
|
|
@ -267,35 +267,10 @@ gUnknown_203998C: @ 203998C
|
|||
.include "src/mail.o"
|
||||
.align 2
|
||||
.include "src/menu_helpers.o"
|
||||
.align 2
|
||||
.include "src/region_map.o"
|
||||
|
||||
.align 2
|
||||
gUnknown_20399D4: @ 20399D4
|
||||
.space 0x4
|
||||
|
||||
gUnknown_20399D8: @ 20399D8
|
||||
.space 0x4
|
||||
|
||||
gUnknown_20399DC: @ 20399DC
|
||||
.space 0x4
|
||||
|
||||
gUnknown_20399E0: @ 20399E0
|
||||
.space 0x4
|
||||
|
||||
gUnknown_20399E4: @ 20399E4
|
||||
.space 0x4
|
||||
|
||||
gUnknown_20399E8: @ 20399E8
|
||||
.space 0x4
|
||||
|
||||
gUnknown_20399EC: @ 20399EC
|
||||
.space 0x4
|
||||
|
||||
gUnknown_20399F0: @ 20399F0
|
||||
.space 0xC
|
||||
|
||||
gUnknown_20399FC: @ 20399FC
|
||||
.space 0x4
|
||||
|
||||
gAIScriptPtr: @ 2039A00
|
||||
.space 0x4
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user