Merge pull request #4 from pret/master

Taking files
This commit is contained in:
Swastik Baranwal
2019-01-04 15:28:52 +05:30
committed by GitHub
44 changed files with 8960 additions and 1533 deletions
+3 -1
View File
@@ -121,6 +121,8 @@ $(C_BUILDDIR)/m4a_4.o: CC1 := tools/agbcc/bin/old_agbcc
$(C_BUILDDIR)/isagbprn.o: CC1 := tools/agbcc/bin/old_agbcc
$(C_BUILDDIR)/isagbprn.o: CFLAGS := -mthumb-interwork
#$(C_BUILDDIR)/trainer_tower.o: CFLAGS += -ffreestanding
ifeq ($(NODEP),1)
$(C_BUILDDIR)/%.o: c_dep :=
else
@@ -149,7 +151,7 @@ $(DATA_ASM_BUILDDIR)/%.o: data_dep = $(shell $(SCANINC) $(DATA_ASM_SUBDIR)/$*.s)
endif
$(DATA_ASM_BUILDDIR)/%.o: $(DATA_ASM_SUBDIR)/%.s $$(data_dep)
$(PREPROC) $< charmap.txt | $(CPP) -I include - | $(AS) $(ASFLAGS) -o $@
$(PREPROC) $< charmap.txt | $(CPP) -I include -nostdinc -undef - | $(AS) $(ASFLAGS) -o $@
$(SONG_BUILDDIR)/%.o: $(SONG_SUBDIR)/%.s
$(AS) $(ASFLAGS) -I sound -o $@ $<
+2 -2
View File
@@ -9706,11 +9706,11 @@ sub_80C4D78: @ 80C4D78
bl sub_80C4D40
cmp r0, 0x1
bne _080C4DA4
ldr r1, _080C4DA0 @ =gUnknown_83EF22E
ldr r1, _080C4DA0 @ =gMapSecName_CeladonDept
b _080C4DAC
.align 2, 0
_080C4D9C: .4byte 0xffa80000
_080C4DA0: .4byte gUnknown_83EF22E
_080C4DA0: .4byte gMapSecName_CeladonDept
_080C4DA4:
ldr r0, _080C4DB8 @ =gUnknown_83F1CAC
lsls r1, r5, 2
-1146
View File
File diff suppressed because it is too large Load Diff
+153 -1
View File
@@ -1,3 +1,6 @@
#include "constants/region_map.h"
#include "constants/trainer_classes.h"
.section .rodata
.align 2
@@ -327,7 +330,156 @@ gFacilityClassToPicIndex:: @ 82538A8
.incbin "baserom.gba", 0x2538A8, 0x96
gFacilityClassToTrainerClass:: @ 825393E
.incbin "baserom.gba", 0x25393E, 0x96
.byte CLASS_AQUA_LEADER
.byte CLASS_TEAM_AQUA
.byte CLASS_TEAM_AQUA
.byte CLASS_AROMA_LADY
.byte CLASS_RUIN_MANIAC
.byte CLASS_INTERVIEWER
.byte CLASS_TUBER
.byte CLASS_TUBER_2
.byte CLASS_COOLTRAINER
.byte CLASS_COOLTRAINER
.byte CLASS_HEX_MANIAC
.byte CLASS_LADY
.byte CLASS_BEAUTY
.byte CLASS_RICH_BOY
.byte CLASS_POKEMANIAC
.byte CLASS_SWIMMER_MALE
.byte CLASS_BLACK_BELT
.byte CLASS_GUITARIST
.byte CLASS_KINDLER
.byte CLASS_CAMPER
.byte CLASS_BUG_MANIAC
.byte CLASS_PSYCHIC
.byte CLASS_PSYCHIC
.byte CLASS_GENTLEMAN
.byte CLASS_ELITE_FOUR
.byte CLASS_ELITE_FOUR
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_SCHOOL_KID
.byte CLASS_SCHOOL_KID
.byte CLASS_SR_AND_JR
.byte CLASS_POKEFAN
.byte CLASS_POKEFAN
.byte CLASS_EXPERT
.byte CLASS_EXPERT
.byte CLASS_YOUNGSTER
.byte CLASS_CHAMPION
.byte CLASS_FISHERMAN
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_TRIATHLETE
.byte CLASS_DRAGON_TAMER
.byte CLASS_BIRD_KEEPER
.byte CLASS_NINJA_BOY
.byte CLASS_BATTLE_GIRL
.byte CLASS_PARASOL_LADY
.byte CLASS_SWIMMER_FEMALE
.byte CLASS_PICNICKER
.byte CLASS_TWINS
.byte CLASS_SAILOR
.byte CLASS_BOARDER
.byte CLASS_BOARDER
.byte CLASS_COLLECTOR
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_TRAINER_3
.byte CLASS_PKMN_BREEDER
.byte CLASS_PKMN_BREEDER
.byte CLASS_PKMN_RANGER
.byte CLASS_PKMN_RANGER
.byte CLASS_MAGMA_LEADER
.byte CLASS_TEAM_MAGMA
.byte CLASS_TEAM_MAGMA
.byte CLASS_LASS
.byte CLASS_BUG_CATCHER
.byte CLASS_HIKER
.byte CLASS_YOUNG_COUPLE
.byte CLASS_OLD_COUPLE
.byte CLASS_SIS_AND_BRO
.byte CLASS_AQUA_ADMIN
.byte CLASS_AQUA_ADMIN
.byte CLASS_MAGMA_ADMIN
.byte CLASS_MAGMA_ADMIN
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_LEADER
.byte CLASS_ELITE_FOUR
.byte CLASS_ELITE_FOUR
.byte CLASS_YOUNGSTER_2
.byte CLASS_BUG_CATCHER_2
.byte CLASS_LASS_2
.byte CLASS_SAILOR_2
.byte CLASS_CAMPER_2
.byte CLASS_PICNICKER_2
.byte CLASS_POKEMANIAC_2
.byte CLASS_SUPER_NERD
.byte CLASS_HIKER_2
.byte CLASS_BIKER
.byte CLASS_BURGLAR
.byte CLASS_ENGINEER
.byte CLASS_FISHERMAN_2
.byte CLASS_SWIMMER_MALE_2
.byte CLASS_CUE_BALL
.byte CLASS_GAMER
.byte CLASS_BEAUTY_2
.byte CLASS_SWIMMER_FEMALE_2
.byte CLASS_PSYCHIC_2
.byte CLASS_ROCKER
.byte CLASS_JUGGLER
.byte CLASS_TAMER
.byte CLASS_BIRD_KEEPER_2
.byte CLASS_BLACK_BELT_2
.byte CLASS_RIVAL
.byte CLASS_SCIENTIST
.byte CLASS_BOSS
.byte CLASS_TEAM_ROCKET
.byte CLASS_COOLTRAINER_2
.byte CLASS_COOLTRAINER_2
.byte CLASS_ELITE_FOUR_2
.byte CLASS_ELITE_FOUR_2
.byte CLASS_LEADER_2
.byte CLASS_LEADER_2
.byte CLASS_GENTLEMAN_2
.byte CLASS_RIVAL_2
.byte CLASS_CHAMPION_2
.byte CLASS_CHANNELER
.byte CLASS_TWINS_2
.byte CLASS_COOL_COUPLE
.byte CLASS_YOUNG_COUPLE_2
.byte CLASS_CRUSH_KIN
.byte CLASS_SIS_AND_BRO_2
.byte CLASS_PKMN_PROF
.byte CLASS_PLAYER
.byte CLASS_PLAYER
.byte CLASS_PLAYER
.byte CLASS_PLAYER
.byte CLASS_TEAM_ROCKET
.byte CLASS_PSYCHIC_2
.byte CLASS_CRUSH_GIRL
.byte CLASS_TUBER_3
.byte CLASS_PKMN_BREEDER_2
.byte CLASS_PKMN_RANGER_2
.byte CLASS_PKMN_RANGER_2
.byte CLASS_AROMA_LADY_2
.byte CLASS_RUIN_MANIAC_2
.byte CLASS_LADY_2
.byte CLASS_PAINTER
.byte CLASS_ELITE_FOUR_2
.byte CLASS_ELITE_FOUR_2
.byte CLASS_CHAMPION_2
gUnknown_82539D4:: @ 82539D4
.incbin "baserom.gba", 0x2539D4, 0x110
+111 -4
View File
@@ -2002,10 +2002,9 @@ gUnknown_83EEC98:: @ 83EEC98
.incbin "baserom.gba", 0x3EEC98, 0x50
gUnknown_83EECE8:: @ 83EECE8
.incbin "baserom.gba", 0x3EECE8, 0x546
.incbin "baserom.gba", 0x3EECE8, 0x14
gUnknown_83EF22E:: @ 83EF22E
.incbin "baserom.gba", 0x3EF22E, 0xE
.include "data/text/map_section_names.inc"
gUnknown_83EF23C:: @ 83EF23C
.incbin "baserom.gba", 0x3EF23C, 0x1E
@@ -2197,7 +2196,115 @@ gUnknown_83F1CA8:: @ 83F1CA8
.incbin "baserom.gba", 0x3F1CA8, 0x4
gUnknown_83F1CAC:: @ 83F1CAC
.incbin "baserom.gba", 0x3F1CAC, 0x1B4
.4byte gMapSecName_PalletTown
.4byte gMapSecName_ViridianCity
.4byte gMapSecName_PewterCity
.4byte gMapSecName_CeruleanCity
.4byte gMapSecName_LavenderTown
.4byte gMapSecName_VermilionCity
.4byte gMapSecName_CeladonCity
.4byte gMapSecName_FuchsiaCity
.4byte gMapSecName_CinnabarIsland
.4byte gMapSecName_IndigoPlateau
.4byte gMapSecName_SaffronCity
.4byte gMapSecName_Route4
.4byte gMapSecName_Route10
.4byte gMapSecName_Route1
.4byte gMapSecName_Route2
.4byte gMapSecName_Route3
.4byte gMapSecName_Route4_2
.4byte gMapSecName_Route5
.4byte gMapSecName_Route6
.4byte gMapSecName_Route7
.4byte gMapSecName_Route8
.4byte gMapSecName_Route9
.4byte gMapSecName_Route10_2
.4byte gMapSecName_Route11
.4byte gMapSecName_Route12
.4byte gMapSecName_Route13
.4byte gMapSecName_Route14
.4byte gMapSecName_Route15
.4byte gMapSecName_Route16
.4byte gMapSecName_Route17
.4byte gMapSecName_Route18
.4byte gMapSecName_Route19
.4byte gMapSecName_Route20
.4byte gMapSecName_Route21
.4byte gMapSecName_Route22
.4byte gMapSecName_Route23
.4byte gMapSecName_Route24
.4byte gMapSecName_Route25
.4byte gMapSecName_ViridianForest
.4byte gMapSecName_MtMoon
.4byte gMapSecName_SSAnne
.4byte gMapSecName_UndergroundPath
.4byte gMapSecName_UndergroundPath_2
.4byte gMapSecName_DiglettsCave
.4byte gMapSecName_VictoryRoad
.4byte gMapSecName_RocketHideout
.4byte gMapSecName_SilphCo
.4byte gMapSecName_PokemonMansion
.4byte gMapSecName_SafariZone
.4byte gMapSecName_PokemonLeague
.4byte gMapSecName_RockTunnel
.4byte gMapSecName_SeafoamIslands
.4byte gMapSecName_PokemonTower
.4byte gMapSecName_CeruleanCave
.4byte gMapSecName_PowerPlant
.4byte gMapSecName_OneIsland
.4byte gMapSecName_TwoIsland
.4byte gMapSecName_ThreeIsland
.4byte gMapSecName_FourIsland
.4byte gMapSecName_FiveIsland
.4byte gMapSecName_SevenIsland
.4byte gMapSecName_SixIsland
.4byte gMapSecName_KindleRoad
.4byte gMapSecName_TreasureBeach
.4byte gMapSecName_CapeBrink
.4byte gMapSecName_BondBridge
.4byte gMapSecName_ThreeIslePort
.4byte gMapSecName_SeviiIsle6
.4byte gMapSecName_SeviiIsle7
.4byte gMapSecName_SeviiIsle8
.4byte gMapSecName_SeviiIsle9
.4byte gMapSecName_ResortGorgeous
.4byte gMapSecName_WaterLabyrinth
.4byte gMapSecName_FiveIsleMeadow
.4byte gMapSecName_MemorialPillar
.4byte gMapSecName_OutcastIsland
.4byte gMapSecName_GreenPath
.4byte gMapSecName_WaterPath
.4byte gMapSecName_RuinValley
.4byte gMapSecName_TrainerTower
.4byte gMapSecName_CanyonEntrance
.4byte gMapSecName_SevaultCanyon
.4byte gMapSecName_TanobyRuins
.4byte gMapSecName_SeviiIsle22
.4byte gMapSecName_SeviiIsle23
.4byte gMapSecName_SeviiIsle24
.4byte gMapSecName_NavelRock
.4byte gMapSecName_MtEmber
.4byte gMapSecName_BerryForest
.4byte gMapSecName_IcefallCave
.4byte gMapSecName_RocketWarehouse
.4byte gMapSecName_TrainerTower_2
.4byte gMapSecName_DottedHole
.4byte gMapSecName_LostCave
.4byte gMapSecName_PatternBush
.4byte gMapSecName_AlteringCave
.4byte gMapSecName_TanobyChambers
.4byte gMapSecName_ThreeIslePath
.4byte gMapSecName_TanobyKey
.4byte gMapSecName_BirthIsland
.4byte gMapSecName_MoneanChamber
.4byte gMapSecName_LiptooChamber
.4byte gMapSecName_WeepthChamber
.4byte gMapSecName_DilfordChamber
.4byte gMapSecName_ScufibChamber
.4byte gMapSecName_RixyChamber
.4byte gMapSecName_ViapoisChamber
.4byte gMapSecName_EmberSpa
.4byte gMapSecName_CeladonDept
gUnknown_83F1E60:: @ 83F1E60
.incbin "baserom.gba", 0x3F1E60, 0x318
+134 -50
View File
@@ -1,3 +1,13 @@
#include "constants/species.h"
#include "constants/items.h"
#include "constants/moves.h"
#include "constants/easy_chat.h"
#include "constants/facility_trainer_classes.h"
#define NULL 0
.include "asm/macros.inc"
.section .rodata
.align 2
@@ -265,74 +275,148 @@ gUnknown_8479D10:: @ 8479D10
gUnknown_8479D24:: @ 8479D24
.asciz "ttdata->id == 0"
gUnknown_8479D34:: @ 8479D34
.incbin "baserom.gba", 0x479D34, 0x4
// trainer_tower
gUnknown_8479D38:: @ 8479D38
.incbin "baserom.gba", 0x479D38, 0x8
.section .rodata.after_trainer_tower
gUnknown_8479D40:: @ 8479D40
.incbin "baserom.gba", 0x479D40, 0x8
// unk_815F138
gUnknown_8479D48:: @ 8479D48
.incbin "baserom.gba", 0x479D48, 0x190
gUnknown_847A328::
.incbin "data/graphics/unk_847a348.gbapal"
gUnknown_8479ED8:: @ 8479ED8
.incbin "baserom.gba", 0x479ED8, 0x14C
gUnknown_847A024:: @ 847A024
.incbin "baserom.gba", 0x47A024, 0x50
gUnknown_847A074:: @ 847A074
.incbin "baserom.gba", 0x47A074, 0x1A4
gUnknown_847A218:: @ 847A218
.incbin "baserom.gba", 0x47A218, 0x14
gUnknown_847A22C:: @ 847A22C
.incbin "baserom.gba", 0x47A22C, 0x4
gUnknown_847A230:: @ 847A230
.incbin "baserom.gba", 0x47A230, 0x54
gUnknown_847A284:: @ 847A284
.incbin "baserom.gba", 0x47A284, 0x30
gUnknown_847A2B4:: @ 847A2B4
.incbin "baserom.gba", 0x47A2B4, 0x1E
gUnknown_847A2D2:: @ 847A2D2
.incbin "baserom.gba", 0x47A2D2, 0x1C
gUnknown_847A2EE:: @ 847A2EE
.incbin "baserom.gba", 0x47A2EE, 0x10
gUnknown_847A2FE:: @ 847A2FE
.incbin "baserom.gba", 0x47A2FE, 0x10
gUnknown_847A30E:: @ 847A30E
.incbin "baserom.gba", 0x47A30E, 0x48E
gUnknown_847A348::
.incbin "data/graphics/unk_847a348.4bpp.lz"
gUnknown_847A79C:: @ 847A79C
.incbin "baserom.gba", 0x47A79C, 0x8
obj_tiles gUnknown_847A348, 0xE00, 0
gUnknown_847A7A4:: @ 847A7A4
.incbin "baserom.gba", 0x47A7A4, 0xBC
obj_pal gUnknown_847A328, 0
gOamData_847A7AC::
.4byte 0x80000300, 0x00000000
gOamData_847A7B4::
.4byte 0xc0004000, 0x00000000
gUnknown_847A7BC::
obj_image_anim_frame 0, 1
obj_image_anim_end
gUnknown_847A7C4::
obj_image_anim_frame 16, 1
obj_image_anim_end
gUnknown_847A7CC::
obj_image_anim_frame 32, 1
obj_image_anim_end
gUnknown_847A7D4::
.4byte gUnknown_847A7BC
.4byte gUnknown_847A7C4
.4byte gUnknown_847A7CC
gUnknown_847A7E0::
obj_image_anim_frame 48, 1
obj_image_anim_end
gUnknown_847A7E8::
obj_image_anim_frame 80, 1
obj_image_anim_end
gUnknown_847A7F0::
.4byte gUnknown_847A7E0
.4byte gUnknown_847A7E8
gUnknown_847A7F8::
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
obj_rot_scal_anim_end
gUnknown_847A808::
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
obj_rot_scal_anim_frame 0x10, -0x10, 0, 8
obj_rot_scal_anim_end
gUnknown_847A820::
obj_rot_scal_anim_frame -0x12, 0x12, 0, 8
obj_rot_scal_anim_end
gUnknown_847A830::
obj_rot_scal_anim_frame 0x6, -0x6, 0, 8
obj_rot_scal_anim_frame -0x4, 0x4, 0, 8
obj_rot_scal_anim_frame 0x100, 0x100, 0, 0
obj_rot_scal_anim_end
gUnknown_847A850::
.4byte gUnknown_847A7F8
.4byte gUnknown_847A808
.4byte gUnknown_847A820
.4byte gUnknown_847A830
gUnknown_847A860:: @ 847A860
.incbin "baserom.gba", 0x47A860, 0x18
spr_template 0, 0, gOamData_847A7AC, gUnknown_847A7D4, NULL, gUnknown_847A850, SpriteCallbackDummy
gUnknown_847A878:: @ 847A878
.incbin "baserom.gba", 0x47A878, 0x18
spr_template 0, 0, gOamData_847A7B4, gUnknown_847A7F0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
// berry_fix_program
gUnknown_847A890:: @ 847A890
.incbin "baserom.gba", 0x47A890, 0x7F1C
.4byte gUnknown_8EA467C, gUnknown_8EA52B8, gUnknown_8EA463C
.4byte gUnknown_8EA5664, gUnknown_8EA60C8, gUnknown_8EA5604
.4byte gUnknown_8EA6408, gUnknown_8EA7028, gUnknown_8EA63C8
.4byte gUnknown_8EA7320, gUnknown_8EA8118, gUnknown_8EA72E0
.4byte gUnknown_8EA8408, gUnknown_8EA8CC8, gUnknown_8EA83C8
.4byte gUnknown_8EA8F40, gUnknown_8EA9588, gUnknown_8EA8F00
.incbin "baserom.gba", 0x47A8D8, 0x2D4
// trainer_tower (again?)
@ 847ABAC
.include "data/trainer_tower/trainers.inc"
.align 2
gUnknown_84827AC:: @ 84827AC
.incbin "baserom.gba", 0x4827AC, 0x8
.byte 0x08, 0x01
.align 2
.4byte 0
gUnknown_84827B4:: @ 84827B4
.incbin "baserom.gba", 0x4827B4, 0x5F34
.4byte gUnknown_847F16C
.4byte gUnknown_847D26C
.4byte gUnknown_84808AC
.4byte gUnknown_847ABAC
.4byte gUnknown_847CAAC
.4byte gUnknown_847E9AC
.4byte gUnknown_847AF8C
.4byte gUnknown_847CE8C
.4byte gUnknown_847DA2C
.4byte gUnknown_847BF0C
.4byte gUnknown_847D64C
.4byte gUnknown_847DE0C
.4byte gUnknown_847B74C
.4byte gUnknown_847BB2C
.4byte gUnknown_848182C
.4byte gUnknown_847F92C
.4byte gUnknown_847C2EC
.4byte gUnknown_847C6CC
.4byte gUnknown_847E5CC
.4byte gUnknown_84804CC
.4byte gUnknown_84823CC
.4byte gUnknown_8481FEC
.4byte gUnknown_84800EC
.4byte gUnknown_847E1EC
.4byte gUnknown_847ED8C
.4byte gUnknown_848106C
.4byte gUnknown_8480C8C
.4byte gUnknown_847F92C
.4byte gUnknown_847F54C
.4byte gUnknown_847E1EC
.4byte gUnknown_847D64C
.4byte gUnknown_847C6CC
.include "data/text/move_descriptions.inc"
gUnknown_84886E8:: @ 84886E8
.incbin "baserom.gba", 0x4886E8, 0x588
+18 -18
View File
@@ -16222,58 +16222,58 @@ gUnknown_8EA1D68:: @ 8EA1D68
.incbin "baserom.gba", 0xEA1D68, 0x28D4
gUnknown_8EA463C:: @ 8EA463C
.incbin "baserom.gba", 0xEA463C, 0x40 @UNKNOWN
.incbin "graphics/berry_fix/gba_small.gbapal"
gUnknown_8EA467C:: @ 8EA467C
.incbin "baserom.gba", 0xEA467C, 0xC3C
.incbin "graphics/berry_fix/gba_small.4bpp.lz"
gUnknown_8EA52B8:: @ 8EA52B8
.incbin "baserom.gba", 0xEA52B8, 0x34C
.incbin "graphics/berry_fix/gba_small.bin.lz"
gUnknown_8EA5604:: @ 8EA5604
.incbin "baserom.gba", 0xEA5604, 0x60 @UNKNOWN
.incbin "graphics/berry_fix/logo.gbapal"
gUnknown_8EA5664:: @ 8EA5664
.incbin "baserom.gba", 0xEA5664, 0xA64
.incbin "graphics/berry_fix/logo.4bpp.lz"
gUnknown_8EA60C8:: @ 8EA60C8
.incbin "baserom.gba", 0xEA60C8, 0x300
.incbin "graphics/berry_fix/logo.bin.lz"
gUnknown_8EA63C8:: @ 8EA63C8
.incbin "baserom.gba", 0xEA63C8, 0x40 @UNKNOWN
.incbin "graphics/berry_fix/gba_transfer.gbapal"
gUnknown_8EA6408:: @ 8EA6408
.incbin "baserom.gba", 0xEA6408, 0xC20
.incbin "graphics/berry_fix/gba_transfer.4bpp.lz"
gUnknown_8EA7028:: @ 8EA7028
.incbin "baserom.gba", 0xEA7028, 0x2B8
.incbin "graphics/berry_fix/gba_transfer.bin.lz"
gUnknown_8EA72E0:: @ 8EA72E0
.incbin "baserom.gba", 0xEA72E0, 0x40 @UNKNOWN
.incbin "graphics/berry_fix/gba_transfer_highlight.gbapal"
gUnknown_8EA7320:: @ 8EA7320
.incbin "baserom.gba", 0xEA7320, 0xDF8
.incbin "graphics/berry_fix/gba_transfer_highlight.4bpp.lz"
gUnknown_8EA8118:: @ 8EA8118
.incbin "baserom.gba", 0xEA8118, 0x2B0
.incbin "graphics/berry_fix/gba_transfer_highlight.bin.lz"
gUnknown_8EA83C8:: @ 8EA83C8
.incbin "baserom.gba", 0xEA83C8, 0x40 @UNKNOWN
.incbin "graphics/berry_fix/gba_transfer_error.gbapal"
gUnknown_8EA8408:: @ 8EA8408
.incbin "baserom.gba", 0xEA8408, 0x8C0
.incbin "graphics/berry_fix/gba_transfer_error.4bpp.lz"
gUnknown_8EA8CC8:: @ 8EA8CC8
.incbin "baserom.gba", 0xEA8CC8, 0x238
.incbin "graphics/berry_fix/gba_transfer_error.bin.lz"
gUnknown_8EA8F00:: @ 8EA8F00
.incbin "baserom.gba", 0xEA8F00, 0x40 @UNKNOWN
.incbin "graphics/berry_fix/window.gbapal"
gUnknown_8EA8F40:: @ 8EA8F40
.incbin "baserom.gba", 0xEA8F40, 0x648
.incbin "graphics/berry_fix/window.4bpp.lz"
gUnknown_8EA9588:: @ 8EA9588
.incbin "baserom.gba", 0xEA9588, 0x26C
.incbin "graphics/berry_fix/window.bin.lz"
gUnknown_8EA97F4:: @ 8EA97F4
.incbin "baserom.gba", 0xEA97F4, 0x120 @UNKNOWN
Binary file not shown.

After

Width:  |  Height:  |  Size: 828 B

+327
View File
@@ -0,0 +1,327 @@
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 "DIGLETTS 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.$"
File diff suppressed because it is too large Load Diff
+616
View File
@@ -0,0 +1,616 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnknown_8479D34::
.byte 0x03, 0x26
.align 2
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0x99, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x27
.align 2
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0x9a, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x01, 0x1f
.align 2
.byte 0x4c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0x46, 0x47, 0x48, 0x49, 0x4a, 0x4b, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x01, 0x22
.align 2
.byte 0x53, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0x4d, 0x4e, 0x4f, 0x50, 0x51, 0x52, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x41
.align 2
.byte 0x40, 0x41, 0x42, 0x43, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x01, 0x02
.align 2
.byte 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0xff, 0xff
.byte 0x54, 0x55, 0x56, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x01, 0x6d
.align 2
.byte 0x5b, 0x5d, 0x5e, 0x5f, 0x63, 0x64, 0x65, 0x66
.byte 0x5b, 0x5d, 0x5e, 0x5f, 0x63, 0x64, 0x65, 0xff
.byte 0x5a, 0x5c, 0x60, 0x61, 0x62, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x2e
.align 2
.byte 0x6b, 0x6c, 0x6d, 0x6e, 0xff, 0xff, 0xff, 0xff
.byte 0x67, 0x68, 0x69, 0x6a, 0x6b, 0x6c, 0xff, 0xff
.byte 0x6b, 0x6c, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x30
.align 2
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xa6, 0xa7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x0f
.align 2
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xa8, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xa9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x39
.align 2
.byte 0xaa, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x36
.align 2
.byte 0xae, 0xb0, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xaf, 0xb1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x3a
.align 2
.byte 0xb2, 0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x3b
.align 2
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xb4, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.align 2
.byte 0x03, 0x3e
.align 2
.byte 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xba, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
.byte 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff
gUnknown_8479ED8:: @ 8479ED8
.align 2
.byte 0x1c, 0x03, 0x01
.align 2
.byte 0x38, 0x04, 0x00
.align 2
.byte 0x25, 0x06, 0x01
.align 2
.byte 0x26, 0x07, 0x00
.align 2
.byte 0x29, 0x08, 0x00
.align 2
.byte 0x2a, 0x09, 0x01
.align 2
.byte 0x34, 0x0a, 0x00
.align 2
.byte 0x1c, 0x0b, 0x01
.align 2
.byte 0x1d, 0x0c, 0x01
.align 2
.byte 0x13, 0x0d, 0x00
.align 2
.byte 0x34, 0x0e, 0x00
.align 2
.byte 0x2d, 0x0f, 0x00
.align 2
.byte 0x36, 0x10, 0x00
.align 2
.byte 0x1a, 0x11, 0x00
.align 2
.byte 0x1a, 0x12, 0x00
.align 2
.byte 0x27, 0x13, 0x00
.align 2
.byte 0x34, 0x14, 0x00
.align 2
.byte 0x13, 0x15, 0x00
.align 2
.byte 0x17, 0x16, 0x01
.align 2
.byte 0x3d, 0x17, 0x00
.align 2
.byte 0x13, 0x1d, 0x00
.align 2
.byte 0x17, 0x1e, 0x01
.align 2
.byte 0x1e, 0x20, 0x00
.align 2
.byte 0x1f, 0x21, 0x01
.align 2
.byte 0x20, 0x22, 0x00
.align 2
.byte 0x23, 0x23, 0x01
.align 2
.byte 0x12, 0x24, 0x00
.align 2
.byte 0x39, 0x26, 0x00
.align 2
.byte 0x29, 0x2d, 0x00
.align 2
.byte 0x1a, 0x2e, 0x00
.align 2
.byte 0x10, 0x2f, 0x00
.align 2
.byte 0x18, 0x30, 0x01
.align 2
.byte 0x1d, 0x31, 0x01
.align 2
.byte 0x2e, 0x32, 0x01
.align 2
.byte 0x28, 0x33, 0x01
.align 2
.byte 0x3e, 0x35, 0x00
.align 2
.byte 0x1b, 0x38, 0x00
.align 2
.byte 0x19, 0x40, 0x00
.align 2
.byte 0x1c, 0x41, 0x01
.align 2
.byte 0x27, 0x42, 0x00
.align 2
.byte 0x28, 0x43, 0x01
.align 2
.byte 0x16, 0x47, 0x01
.align 2
.byte 0x14, 0x48, 0x00
.align 2
.byte 0x38, 0x49, 0x00
.align 2
.byte 0x12, 0x58, 0x00
.align 2
.byte 0x14, 0x59, 0x00
.align 2
.byte 0x16, 0x5a, 0x01
.align 2
.byte 0x3e, 0x5b, 0x00
.align 2
.byte 0x27, 0x5c, 0x00
.align 2
.byte 0x28, 0x5d, 0x01
.align 2
.byte 0x34, 0x5e, 0x00
.align 2
.byte 0x34, 0x5f, 0x00
.align 2
.byte 0x38, 0x60, 0x00
.align 2
.byte 0x35, 0x61, 0x00
.align 2
.byte 0x34, 0x62, 0x00
.align 2
.byte 0x1e, 0x63, 0x00
.align 2
.byte 0x39, 0x64, 0x00
.align 2
.byte 0x2d, 0x65, 0x00
.align 2
.byte 0x35, 0x66, 0x00
.align 2
.byte 0x20, 0x67, 0x00
.align 2
.byte 0x1d, 0x68, 0x01
.align 2
.byte 0x2e, 0x69, 0x01
.align 2
.byte 0x13, 0x6a, 0x00
.align 2
.byte 0x1a, 0x6b, 0x00
.align 2
.byte 0x1a, 0x6c, 0x00
.align 2
.byte 0x19, 0x6d, 0x00
.align 2
.byte 0x1a, 0x6e, 0x00
.align 2
.byte 0x36, 0x6f, 0x00
.align 2
.byte 0x37, 0x71, 0x00
.align 2
.byte 0x29, 0x74, 0x00
.align 2
.byte 0x2a, 0x75, 0x01
.align 2
.byte 0x3d, 0x7a, 0x00
.align 2
.byte 0x3a, 0x7d, 0x01
.align 2
.byte 0x17, 0x89, 0x01
.align 2
.byte 0x18, 0x8a, 0x01
.align 2
.byte 0x25, 0x8b, 0x01
.align 2
.byte 0x1c, 0x8c, 0x01
.align 2
.byte 0x27, 0x8d, 0x00
.align 2
.byte 0x28, 0x8e, 0x01
.align 2
.byte 0x1c, 0x8f, 0x01
.align 2
.byte 0x38, 0x90, 0x00
.align 2
.byte 0x1c, 0x91, 0x01
.align 2
.byte 0x16, 0x92, 0x01
.align 2
gUnknown_847A024:: @ 847A024
.byte 0x1d, 0x17, 0x1f, 0x01, 0x01
.align 2
.byte 0x11, 0x11, 0x34, 0x01, 0x01
.align 2
.byte 0x1d, 0x19, 0x4a, 0x01, 0x00
.align 2
.byte 0x20, 0x23, 0x4b, 0x00, 0x01
.align 2
.byte 0x26, 0x2e, 0x4c, 0x00, 0x01
.align 2
.byte 0x11, 0x11, 0x7e, 0x01, 0x01
.align 2
.byte 0x29, 0x2a, 0x7f, 0x00, 0x01
.align 2
.byte 0x1d, 0x19, 0x80, 0x01, 0x00
.align 2
.byte 0x18, 0x36, 0x81, 0x01, 0x00
.align 2
.byte 0x2e, 0x26, 0x82, 0x01, 0x00
.align 2
gUnknown_847A074:: @ 847A074
.byte 0x03, 0x06
.align 2
.byte 0x37, 0x06
.align 2
.byte 0x02, 0x06
.align 2
.byte 0x67, 0x01
.align 2
.byte 0x04, 0x01
.align 2
.byte 0x24, 0x04
.align 2
.byte 0x4a, 0x01
.align 2
.byte 0x26, 0x01
.align 2
.byte 0x2a, 0x00
.align 2
.byte 0x42, 0x03
.align 2
.byte 0x1b, 0x09
.align 2
.byte 0x4c, 0x03
.align 2
.byte 0x44, 0x03
.align 2
.byte 0x21, 0x04
.align 2
.byte 0x43, 0x03
.align 2
.byte 0x6a, 0x01
.align 2
.byte 0x5d, 0x05
.align 2
.byte 0x56, 0x05
.align 2
.byte 0x09, 0x05
.align 2
.byte 0x11, 0x04
.align 2
.byte 0x48, 0x03
.align 2
.byte 0x3c, 0x00
.align 2
.byte 0x29, 0x00
.align 2
.byte 0x5c, 0x09
.align 2
.byte 0x28, 0x09
.align 2
.byte 0x06, 0x0c
.align 2
.byte 0x68, 0x0b
.align 2
.byte 0x05, 0x0b
.align 2
.byte 0x58, 0x0d
.align 2
.byte 0x16, 0x0d
.align 2
.byte 0x46, 0x08
.align 2
.byte 0x0f, 0x01
.align 2
.byte 0x3f, 0x03
.align 2
.byte 0x0e, 0x03
.align 2
.byte 0x5f, 0x04
.align 2
.byte 0x63, 0x04
.align 2
.byte 0x50, 0x04
.align 2
.byte 0x10, 0x04
.align 2
.byte 0x52, 0x03
.align 2
.byte 0x35, 0x04
.align 2
.byte 0x5b, 0x03
.align 2
.byte 0x14, 0x03
.align 2
.byte 0x3d, 0x00
.align 2
.byte 0x13, 0x00
.align 2
.byte 0x12, 0x0b
.align 2
.byte 0x30, 0x07
.align 2
.byte 0x38, 0x07
.align 2
.byte 0x2f, 0x07
.align 2
.byte 0x3b, 0x01
.align 2
.byte 0x31, 0x01
.align 2
.byte 0x4e, 0x0b
.align 2
.byte 0x3a, 0x00
.align 2
.byte 0x32, 0x00
.align 2
.byte 0x23, 0x03
.align 2
.byte 0x0d, 0x0d
.align 2
.byte 0x0a, 0x03
.align 2
.byte 0x49, 0x01
.align 2
.byte 0x0c, 0x01
.align 2
.byte 0x69, 0x01
.align 2
.byte 0x0b, 0x01
.align 2
.byte 0x25, 0x01
.align 2
.byte 0x3e, 0x02
.align 2
.byte 0x27, 0x02
.align 2
.byte 0x65, 0x01
.align 2
.byte 0x2d, 0x01
.align 2
.byte 0x61, 0x01
.align 2
.byte 0x2b, 0x03
.align 2
.byte 0x66, 0x05
.align 2
.byte 0x2e, 0x05
.align 2
.byte 0x2c, 0x00
.align 2
.byte 0x5e, 0x02
.align 2
.byte 0x34, 0x02
.align 2
.byte 0x51, 0x00
.align 2
.byte 0x59, 0x00
.align 2
.byte 0x40, 0x03
.align 2
.byte 0x55, 0x06
.align 2
.byte 0x53, 0x06
.align 2
.byte 0x4b, 0x04
.align 2
.byte 0x15, 0x04
.align 2
.byte 0x1a, 0x09
.align 2
.byte 0x57, 0x0a
.align 2
.byte 0x17, 0x01
.align 2
.byte 0x47, 0x03
.align 2
.byte 0x62, 0x01
.align 2
.byte 0x39, 0x00
.align 2
.byte 0x1d, 0x00
.align 2
.byte 0x1c, 0x04
.align 2
.byte 0x20, 0x00
.align 2
.byte 0x4f, 0x05
.align 2
.byte 0x22, 0x05
.align 2
.byte 0x45, 0x0b
.align 2
.byte 0x1f, 0x0b
.align 2
.byte 0x5a, 0x00
.align 2
.byte 0x1e, 0x00
.align 2
.byte 0x08, 0x00
.align 2
.byte 0x64, 0x02
.align 2
.byte 0x07, 0x02
.align 2
.byte 0x60, 0x08
.align 2
.byte 0x36, 0x08
.align 2
.byte 0x41, 0x0b
.align 2
.byte 0x33, 0x0b
.align 2
.byte 0x54, 0x00
.align 2
.byte 0x18, 0x01
.align 2
.byte 0x4d, 0x0b
.align 2
.byte 0x19, 0x00
.align 2
gUnknown_847A218:: @ 847A218
@ window template
.byte 0x00, 0x03, 0x01, 0x1b, 0x12, 0x0f
.2byte 0x0001
gUnknown_847A220:: @ 847A220
.byte 0xFF, 0, 0, 0, 0, 0
.2byte 0
gUnknown_847A228::
.4byte 0x70
gUnknown_847A22C:: @ 847A22C
.byte 0x00, 0x02, 0x03
.align 2
gUnknown_847A230:: @ 847A230
.4byte sub_815DD44
.4byte sub_815DF54
.4byte sub_815E160
.4byte sub_815E1C0
.4byte sub_815E1F0
.4byte sub_815E218
.4byte sub_815E28C
.4byte sub_815E394
.4byte sub_815E408
.4byte sub_815E4B0
.4byte sub_815E56C
.4byte sub_815E5C4
.4byte sub_815E5F0
.4byte sub_815E658
.4byte sub_815E720
.4byte sub_815E88C
.4byte sub_815E8B4
.4byte sub_815E8CC
.4byte sub_815E908
.4byte sub_815E948
.4byte sub_815E9C8
gUnknown_847A284:: @ 847A284
.2byte 0x012a, 0x016e, 0x0176
.2byte 0x012b, 0x016f, 0x0177
.2byte 0x012c, 0x0170, 0x0178
.2byte 0x012d, 0x0171, 0x0179
.2byte 0x012e, 0x0172, 0x017a
.2byte 0x012f, 0x0173, 0x017b
.2byte 0x0130, 0x0174, 0x017c
.2byte 0x0131, 0x0175, 0x017d
gUnknown_847A2B4:: @ 847A2B4
.2byte 0x3f, 0x40, 0x41, 0x42, 0x43, 0x46, 0xb3, 0xb4, 0xb9, 0xba, 0xbb, 0xc6, 0xc7, 0xc9, 0xda
gUnknown_847A2D2:: @ 847A2D2
.2byte 0x011d
.2byte 0x011c
.2byte 0x011c
.2byte 0x011b
.2byte 0x011d
.2byte 0x011d
.2byte 0x011b
.2byte 0x011b
.2byte 0x011d
.2byte 0x011c
.2byte 0x011d
.2byte 0x011d
.2byte 0x011d
.2byte 0x011d
gUnknown_847A2EE:: @ 847A2EE
.byte 0x00, 0x02
.byte 0x01, 0x03
.byte 0x02, 0x04
.byte 0x03, 0x05
.byte 0x04, 0x01
.byte 0x05, 0x02
.byte 0x00, 0x03
.byte 0x01, 0x04
gUnknown_847A2FE:: @ 847A2FE
.byte 0x00, 0x01
.byte 0x01, 0x03
.byte 0x02, 0x00
.byte 0x03, 0x04
.byte 0x04, 0x02
.byte 0x05, 0x02
.byte 0x00, 0x03
.byte 0x01, 0x05
gUnknown_847A30E:: @ 847A30E
.byte 0x00, 0x02
.byte 0x04, 0x01
.byte 0x03, 0x05
.byte 0x02, 0x03
.byte 0x01, 0x03
.byte 0x04, 0x00
.byte 0x04, 0x01
.byte 0x02, 0x05
.byte 0x00, 0x03
.byte 0x00, 0x05
.byte 0x02, 0x01
.byte 0x04, 0x05
.byte 0x00, 0x00
File diff suppressed because it is too large Load Diff
Binary file not shown.
+35
View File
@@ -0,0 +1,35 @@
JASC-PAL
0100
32
0 0 0
255 255 255
32 32 32
172 172 172
230 8 8
255 189 115
32 156 8
148 246 148
49 82 205
164 197 246
164 213 90
238 230 197
148 197 213
32 57 98
106 148 197
90 106 156
255 255 255
164 213 90
32 32 32
123 123 205
255 255 255
74 74 115
197 197 197
98 98 189
106 106 197
98 123 57
131 131 131
222 41 0
189 123 41
180 180 222
0 0 0
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.
+35
View File
@@ -0,0 +1,35 @@
JASC-PAL
0100
32
0 0 0
255 255 255
32 32 32
172 172 172
230 8 8
255 189 115
32 156 8
148 246 148
49 82 205
164 197 246
164 213 90
238 230 197
148 197 213
32 57 98
106 148 197
90 106 156
255 255 255
164 213 90
32 32 32
123 123 205
255 255 255
74 74 115
197 197 197
98 98 189
106 106 197
98 123 57
131 131 131
222 41 0
189 123 41
180 180 222
0 0 0
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.
+35
View File
@@ -0,0 +1,35 @@
JASC-PAL
0100
32
0 0 0
255 255 255
32 32 32
172 172 172
230 8 8
255 189 115
32 156 8
148 246 148
49 82 205
164 197 246
164 213 90
238 230 197
148 197 213
32 57 98
106 148 197
90 106 156
255 255 255
164 213 90
32 32 32
123 123 205
255 255 255
74 74 115
197 197 197
98 98 189
106 106 197
98 123 57
131 131 131
222 41 0
189 123 41
180 180 222
0 0 0
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.
@@ -0,0 +1,35 @@
JASC-PAL
0100
32
0 0 0
255 255 255
32 32 32
172 172 172
230 8 8
255 189 115
32 156 8
148 246 148
49 82 205
164 197 246
164 213 90
238 230 197
148 197 213
32 57 98
106 148 197
90 106 156
255 255 255
164 213 90
32 32 32
123 123 205
255 255 255
74 74 115
197 197 197
98 98 189
106 106 197
98 123 57
131 131 131
222 41 0
189 123 41
180 180 222
0 0 0
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.
+51
View File
@@ -0,0 +1,51 @@
JASC-PAL
0100
48
0 0 0
255 255 255
32 32 32
172 172 172
230 8 8
255 189 115
32 156 8
148 246 148
49 82 205
164 197 246
164 213 90
238 230 197
148 197 213
32 57 98
106 148 197
90 106 156
255 255 255
164 213 90
32 32 32
123 123 205
255 255 255
74 74 115
197 197 197
98 98 189
106 106 197
98 123 57
131 131 131
222 41 0
189 123 41
180 180 222
0 0 0
0 0 0
0 0 0
255 255 255
238 238 238
222 222 230
205 205 222
197 197 205
180 180 197
164 164 189
156 156 172
139 139 164
123 123 156
115 115 139
98 98 131
82 82 123
74 74 115
32 32 32
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.
+35
View File
@@ -0,0 +1,35 @@
JASC-PAL
0100
32
0 0 0
255 255 255
32 32 32
172 172 172
230 8 8
255 189 115
32 156 8
148 246 148
49 82 205
164 197 246
164 213 90
238 230 197
148 197 213
32 57 98
106 148 197
90 106 156
255 255 255
164 213 90
32 32 32
123 123 205
255 255 255
74 74 115
197 197 197
98 98 189
106 106 197
98 123 57
131 131 131
222 41 0
189 123 41
180 180 222
0 0 0
0 0 0
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

+1 -1
View File
@@ -4,6 +4,6 @@
#include "global.h"
bool32 sub_815D794(u8 *);
u8 sub_815D6B4(u8 *);
bool32 sub_815D6B4(u8 *);
#endif //GUARD_CEREADER_TOOL_H
@@ -0,0 +1,155 @@
#ifndef GUARD_CONSTANTS_FACILITY_TRAINER_CLASSES_H
#define GUARD_CONSTANTS_FACILITY_TRAINER_CLASSES_H
#define FACILITY_CLASS_AQUA_LEADER 0x00
#define FACILITY_CLASS_TEAM_AQUA 0x01
#define FACILITY_CLASS_TEAM_AQUA_2 0x02
#define FACILITY_CLASS_AROMA_LADY 0x03
#define FACILITY_CLASS_RUIN_MANIAC 0x04
#define FACILITY_CLASS_INTERVIEWER 0x05
#define FACILITY_CLASS_TUBER 0x06
#define FACILITY_CLASS_TUBER_2 0x07
#define FACILITY_CLASS_COOLTRAINER 0x08
#define FACILITY_CLASS_COOLTRAINER_2 0x09
#define FACILITY_CLASS_HEX_MANIAC 0x0A
#define FACILITY_CLASS_LADY 0x0B
#define FACILITY_CLASS_BEAUTY 0x0C
#define FACILITY_CLASS_RICH_BOY 0x0D
#define FACILITY_CLASS_POKEMANIAC 0x0E
#define FACILITY_CLASS_SWIMMER_MALE 0x0F
#define FACILITY_CLASS_BLACK_BELT 0x10
#define FACILITY_CLASS_GUITARIST 0x11
#define FACILITY_CLASS_KINDLER 0x12
#define FACILITY_CLASS_CAMPER 0x13
#define FACILITY_CLASS_BUG_MANIAC 0x14
#define FACILITY_CLASS_PSYCHIC 0x15
#define FACILITY_CLASS_PSYCHIC_2 0x16
#define FACILITY_CLASS_GENTLEMAN 0x17
#define FACILITY_CLASS_ELITE_FOUR 0x18
#define FACILITY_CLASS_ELITE_FOUR_2 0x19
#define FACILITY_CLASS_LEADER 0x1A
#define FACILITY_CLASS_LEADER_2 0x1B
#define FACILITY_CLASS_LEADER_3 0x1C
#define FACILITY_CLASS_SCHOOL_KID 0x1D
#define FACILITY_CLASS_SCHOOL_KID_2 0x1E
#define FACILITY_CLASS_SR_AND_JR 0x1F
#define FACILITY_CLASS_POKEFAN 0x20
#define FACILITY_CLASS_POKEFAN_2 0x21
#define FACILITY_CLASS_EXPERT 0x22
#define FACILITY_CLASS_EXPERT_2 0x23
#define FACILITY_CLASS_YOUNGSTER 0x24
#define FACILITY_CLASS_CHAMPION 0x25
#define FACILITY_CLASS_FISHERMAN 0x26
#define FACILITY_CLASS_TRIATHLETE 0x27
#define FACILITY_CLASS_TRIATHLETE_2 0x28
#define FACILITY_CLASS_TRIATHLETE_3 0x29
#define FACILITY_CLASS_TRIATHLETE_4 0x2A
#define FACILITY_CLASS_TRIATHLETE_5 0x2B
#define FACILITY_CLASS_TRIATHLETE_6 0x2C
#define FACILITY_CLASS_DRAGON_TAMER 0x2D
#define FACILITY_CLASS_BIRD_KEEPER 0x2E
#define FACILITY_CLASS_NINJA_BOY 0x2F
#define FACILITY_CLASS_BATTLE_GIRL 0x30
#define FACILITY_CLASS_PARASOL_LADY 0x31
#define FACILITY_CLASS_SWIMMER_FEMALE 0x32
#define FACILITY_CLASS_PICNICKER 0x33
#define FACILITY_CLASS_TWINS 0x34
#define FACILITY_CLASS_SAILOR 0x35
#define FACILITY_CLASS_BOARDER 0x36
#define FACILITY_CLASS_BOARDER_2 0x37
#define FACILITY_CLASS_COLLECTOR 0x38
#define FACILITY_CLASS_PKMN_TRAINER 0x39
#define FACILITY_CLASS_PKMN_TRAINER_2 0x3A
#define FACILITY_CLASS_PKMN_TRAINER_3 0x3B
#define FACILITY_CLASS_PKMN_TRAINER_4 0x3C
#define FACILITY_CLASS_PKMN_TRAINER_5 0x3D
#define FACILITY_CLASS_PKMN_TRAINER_6 0x3E
#define FACILITY_CLASS_PKMN_TRAINER_7 0x3F
#define FACILITY_CLASS_PKMN_BREEDER 0x40
#define FACILITY_CLASS_PKMN_BREEDER_2 0x41
#define FACILITY_CLASS_PKMN_RANGER 0x42
#define FACILITY_CLASS_PKMN_RANGER_2 0x43
#define FACILITY_CLASS_MAGMA_LEADER 0x44
#define FACILITY_CLASS_TEAM_MAGMA 0x45
#define FACILITY_CLASS_TEAM_MAGMA_2 0x46
#define FACILITY_CLASS_LASS 0x47
#define FACILITY_CLASS_BUG_CATCHER 0x48
#define FACILITY_CLASS_HIKER 0x49
#define FACILITY_CLASS_YOUNG_COUPLE 0x4A
#define FACILITY_CLASS_OLD_COUPLE 0x4B
#define FACILITY_CLASS_SIS_AND_BRO 0x4C
#define FACILITY_CLASS_AQUA_ADMIN 0x4D
#define FACILITY_CLASS_AQUA_ADMIN_2 0x4E
#define FACILITY_CLASS_MAGMA_ADMIN 0x4F
#define FACILITY_CLASS_MAGMA_ADMIN_2 0x50
#define FACILITY_CLASS_LEADER_4 0x51
#define FACILITY_CLASS_LEADER_5 0x52
#define FACILITY_CLASS_LEADER_6 0x53
#define FACILITY_CLASS_LEADER_7 0x54
#define FACILITY_CLASS_LEADER_8 0x55
#define FACILITY_CLASS_ELITE_FOUR_3 0x56
#define FACILITY_CLASS_ELITE_FOUR_4 0x57
#define FACILITY_CLASS_YOUNGSTER_2 0x58
#define FACILITY_CLASS_BUG_CATCHER_2 0x59
#define FACILITY_CLASS_LASS_2 0x5A
#define FACILITY_CLASS_SAILOR_2 0x5B
#define FACILITY_CLASS_CAMPER_2 0x5C
#define FACILITY_CLASS_PICNICKER_2 0x5D
#define FACILITY_CLASS_POKEMANIAC_2 0x5E
#define FACILITY_CLASS_SUPER_NERD 0x5F
#define FACILITY_CLASS_HIKER_2 0x60
#define FACILITY_CLASS_BIKER 0x61
#define FACILITY_CLASS_BURGLAR 0x62
#define FACILITY_CLASS_ENGINEER 0x63
#define FACILITY_CLASS_FISHERMAN_2 0x64
#define FACILITY_CLASS_SWIMMER_MALE_2 0x65
#define FACILITY_CLASS_CUE_BALL 0x66
#define FACILITY_CLASS_GAMER 0x67
#define FACILITY_CLASS_BEAUTY_2 0x68
#define FACILITY_CLASS_SWIMMER_FEMALE_2 0x69
#define FACILITY_CLASS_PSYCHIC_3 0x6A
#define FACILITY_CLASS_ROCKER 0x6B
#define FACILITY_CLASS_JUGGLER 0x6C
#define FACILITY_CLASS_TAMER 0x6D
#define FACILITY_CLASS_BIRD_KEEPER_2 0x6E
#define FACILITY_CLASS_BLACK_BELT_2 0x6F
#define FACILITY_CLASS_RIVAL 0x70
#define FACILITY_CLASS_SCIENTIST 0x71
#define FACILITY_CLASS_BOSS 0x72
#define FACILITY_CLASS_TEAM_ROCKET 0x73
#define FACILITY_CLASS_COOLTRAINER_3 0x74
#define FACILITY_CLASS_COOLTRAINER_4 0x75
#define FACILITY_CLASS_ELITE_FOUR_5 0x76
#define FACILITY_CLASS_ELITE_FOUR_6 0x77
#define FACILITY_CLASS_LEADER_9 0x78
#define FACILITY_CLASS_LEADER_10 0x79
#define FACILITY_CLASS_GENTLEMAN_2 0x7A
#define FACILITY_CLASS_RIVAL_2 0x7B
#define FACILITY_CLASS_CHAMPION_2 0x7C
#define FACILITY_CLASS_CHANNELER 0x7D
#define FACILITY_CLASS_TWINS_2 0x7E
#define FACILITY_CLASS_COOL_COUPLE 0x7F
#define FACILITY_CLASS_YOUNG_COUPLE_2 0x80
#define FACILITY_CLASS_CRUSH_KIN 0x81
#define FACILITY_CLASS_SIS_AND_BRO_2 0x82
#define FACILITY_CLASS_PKMN_PROF 0x83
#define FACILITY_CLASS_PLAYER 0x84
#define FACILITY_CLASS_PLAYER_2 0x85
#define FACILITY_CLASS_PLAYER_3 0x86
#define FACILITY_CLASS_PLAYER_4 0x87
#define FACILITY_CLASS_TEAM_ROCKET_2 0x88
#define FACILITY_CLASS_PSYCHIC_4 0x89
#define FACILITY_CLASS_CRUSH_GIRL 0x8A
#define FACILITY_CLASS_TUBER_3 0x8B
#define FACILITY_CLASS_PKMN_BREEDER_3 0x8C
#define FACILITY_CLASS_PKMN_RANGER_3 0x8D
#define FACILITY_CLASS_PKMN_RANGER_4 0x8E
#define FACILITY_CLASS_AROMA_LADY_2 0x8F
#define FACILITY_CLASS_RUIN_MANIAC_2 0x90
#define FACILITY_CLASS_LADY_2 0x91
#define FACILITY_CLASS_PAINTER 0x92
#define FACILITY_CLASS_ELITE_FOUR_7 0x93
#define FACILITY_CLASS_ELITE_FOUR_8 0x94
#define FACILITY_CLASS_CHAMPION_3 0x95
#endif //GUARD_CONSTANTS_FACILITY_TRAINER_CLASSES_H
+2
View File
@@ -1002,6 +1002,8 @@
#define FLAG_0x3E5 0x3E5
#define FLAG_0x3E6 0x3E6
#define FLAG_0x3E7 0x3E7
#define FLAG_TRAINER_TOWER_START 1000 // 0x3E8
#define FLAG_0x3E8 0x3E8
#define FLAG_0x3E9 0x3E9
#define FLAG_0x3EA 0x3EA
+115
View File
@@ -0,0 +1,115 @@
#ifndef GUARD_CONSTANTS_REGION_MAP_H
#define GUARD_CONSTANTS_REGION_MAP_H
#define MAPSEC_PALLET_TOWN 0x0
#define MAPSEC_VIRIDIAN_CITY 0x1
#define MAPSEC_PEWTER_CITY 0x2
#define MAPSEC_CERULEAN_CITY 0x3
#define MAPSEC_LAVENDER_TOWN 0x4
#define MAPSEC_VERMILION_CITY 0x5
#define MAPSEC_CELADON_CITY 0x6
#define MAPSEC_FUCHSIA_CITY 0x7
#define MAPSEC_CINNABAR_ISLAND 0x8
#define MAPSEC_INDIGO_PLATEAU 0x9
#define MAPSEC_SAFFRON_CITY 0xA
#define MAPSEC_ROUTE_4 0xB
#define MAPSEC_ROUTE_10 0xC
#define MAPSEC_ROUTE_1 0xD
#define MAPSEC_ROUTE_2 0xE
#define MAPSEC_ROUTE_3 0xF
#define MAPSEC_ROUTE_4_2 0x10
#define MAPSEC_ROUTE_5 0x11
#define MAPSEC_ROUTE_6 0x12
#define MAPSEC_ROUTE_7 0x13
#define MAPSEC_ROUTE_8 0x14
#define MAPSEC_ROUTE_9 0x15
#define MAPSEC_ROUTE_10_2 0x16
#define MAPSEC_ROUTE_11 0x17
#define MAPSEC_ROUTE_12 0x18
#define MAPSEC_ROUTE_13 0x19
#define MAPSEC_ROUTE_14 0x1A
#define MAPSEC_ROUTE_15 0x1B
#define MAPSEC_ROUTE_16 0x1C
#define MAPSEC_ROUTE_17 0x1D
#define MAPSEC_ROUTE_18 0x1E
#define MAPSEC_ROUTE_19 0x1F
#define MAPSEC_ROUTE_20 0x20
#define MAPSEC_ROUTE_21 0x21
#define MAPSEC_ROUTE_22 0x22
#define MAPSEC_ROUTE_23 0x23
#define MAPSEC_ROUTE_24 0x24
#define MAPSEC_ROUTE_25 0x25
#define MAPSEC_VIRIDIAN_FOREST 0x26
#define MAPSEC_MT_MOON 0x27
#define MAPSEC_S_S_ANNE 0x28
#define MAPSEC_UNDERGROUND_PATH 0x29
#define MAPSEC_UNDERGROUND_PATH_2 0x2A
#define MAPSEC_DIGLETTS_CAVE 0x2B
#define MAPSEC_KANTO_VICTORY_ROAD 0x2C
#define MAPSEC_ROCKET_HIDEOUT 0x2D
#define MAPSEC_SILPH_CO 0x2E
#define MAPSEC_POKEMON_MANSION 0x2F
#define MAPSEC_KANTO_SAFARI_ZONE 0x30
#define MAPSEC_POKEMON_LEAGUE 0x31
#define MAPSEC_ROCK_TUNNEL 0x32
#define MAPSEC_SEAFOAM_ISLANDS 0x33
#define MAPSEC_POKEMON_TOWER 0x34
#define MAPSEC_CERULEAN_CAVE 0x35
#define MAPSEC_POWER_PLANT 0x36
#define MAPSEC_ONE_ISLAND 0x37
#define MAPSEC_TWO_ISLAND 0x38
#define MAPSEC_THREE_ISLAND 0x39
#define MAPSEC_FOUR_ISLAND 0x3A
#define MAPSEC_FIVE_ISLAND 0x3B
#define MAPSEC_SEVEN_ISLAND 0x3C
#define MAPSEC_SIX_ISLAND 0x3D
#define MAPSEC_KINDLE_ROAD 0x3E
#define MAPSEC_TREASURE_BEACH 0x3F
#define MAPSEC_CAPE_BRINK 0x40
#define MAPSEC_BOND_BRIDGE 0x41
#define MAPSEC_THREE_ISLE_PORT 0x42
#define MAPSEC_SEVII_ISLE_6 0x43
#define MAPSEC_SEVII_ISLE_7 0x44
#define MAPSEC_SEVII_ISLE_8 0x45
#define MAPSEC_SEVII_ISLE_9 0x46
#define MAPSEC_RESORT_GORGEOUS 0x47
#define MAPSEC_WATER_LABYRINTH 0x48
#define MAPSEC_FIVE_ISLE_MEADOW 0x49
#define MAPSEC_MEMORIAL_PILLAR 0x4A
#define MAPSEC_OUTCAST_ISLAND 0x4B
#define MAPSEC_GREEN_PATH 0x4C
#define MAPSEC_WATER_PATH 0x4D
#define MAPSEC_RUIN_VALLEY 0x4E
#define MAPSEC_TRAINER_TOWER 0x4F
#define MAPSEC_CANYON_ENTRANCE 0x50
#define MAPSEC_SEVAULT_CANYON 0x51
#define MAPSEC_TANOBY_RUINS 0x52
#define MAPSEC_SEVII_ISLE_22 0x53
#define MAPSEC_SEVII_ISLE_23 0x54
#define MAPSEC_SEVII_ISLE_24 0x55
#define MAPSEC_NAVEL_ROCK 0x56
#define MAPSEC_MT_EMBER 0x57
#define MAPSEC_BERRY_FOREST 0x58
#define MAPSEC_ICEFALL_CAVE 0x59
#define MAPSEC_ROCKET_WAREHOUSE 0x5A
#define MAPSEC_TRAINER_TOWER_2 0x5B
#define MAPSEC_DOTTED_HOLE 0x5C
#define MAPSEC_LOST_CAVE 0x5D
#define MAPSEC_PATTERN_BUSH 0x5E
#define MAPSEC_ALTERING_CAVE 0x5F
#define MAPSEC_TANOBY_CHAMBERS 0x60
#define MAPSEC_THREE_ISLE_PATH 0x61
#define MAPSEC_TANOBY_KEY 0x62
#define MAPSEC_BIRTH_ISLAND 0x63
#define MAPSEC_MONEAN_CHAMBER 0x64
#define MAPSEC_LIPTOO_CHAMBER 0x65
#define MAPSEC_WEEPTH_CHAMBER 0x66
#define MAPSEC_DILFORD_CHAMBER 0x67
#define MAPSEC_SCUFIB_CHAMBER 0x68
#define MAPSEC_RIXY_CHAMBER 0x69
#define MAPSEC_VIAPOIS_CHAMBER 0x6A
#define MAPSEC_EMBER_SPA 0x6B
#define MAPSEC_CELADON_DEPT 0x6C
#define MAPSEC_NONE 0x6D
#endif //GUARD_CONSTANTS_REGION_MAP_H
+112
View File
@@ -0,0 +1,112 @@
#ifndef GUARD_TRAINER_CLASSES_H
#define GUARD_TRAINER_CLASSES_H
#define CLASS_PKMN_TRAINER 0x00
#define CLASS_PKMN_TRAINER_2 0x01
#define CLASS_AQUA_LEADER 0x02
#define CLASS_TEAM_AQUA 0x03
#define CLASS_AROMA_LADY 0x04
#define CLASS_RUIN_MANIAC 0x05
#define CLASS_INTERVIEWER 0x06
#define CLASS_TUBER 0x07
#define CLASS_TUBER_2 0x08
#define CLASS_COOLTRAINER 0x09
#define CLASS_HEX_MANIAC 0x0A
#define CLASS_LADY 0x0B
#define CLASS_BEAUTY 0x0C
#define CLASS_RICH_BOY 0x0D
#define CLASS_POKEMANIAC 0x0E
#define CLASS_SWIMMER_MALE 0x0F
#define CLASS_BLACK_BELT 0x10
#define CLASS_GUITARIST 0x11
#define CLASS_KINDLER 0x12
#define CLASS_CAMPER 0x13
#define CLASS_BUG_MANIAC 0x14
#define CLASS_PSYCHIC 0x15
#define CLASS_GENTLEMAN 0x16
#define CLASS_ELITE_FOUR 0x17
#define CLASS_LEADER 0x18
#define CLASS_SCHOOL_KID 0x19
#define CLASS_SR_AND_JR 0x1A
#define CLASS_POKEFAN 0x1B
#define CLASS_EXPERT 0x1C
#define CLASS_YOUNGSTER 0x1D
#define CLASS_CHAMPION 0x1E
#define CLASS_FISHERMAN 0x1F
#define CLASS_TRIATHLETE 0x20
#define CLASS_DRAGON_TAMER 0x21
#define CLASS_BIRD_KEEPER 0x22
#define CLASS_NINJA_BOY 0x23
#define CLASS_BATTLE_GIRL 0x24
#define CLASS_PARASOL_LADY 0x25
#define CLASS_SWIMMER_FEMALE 0x26
#define CLASS_PICNICKER 0x27
#define CLASS_TWINS 0x28
#define CLASS_SAILOR 0x29
#define CLASS_BOARDER 0x2A
#define CLASS_COLLECTOR 0x2B
#define CLASS_PKMN_TRAINER_3 0x2C
#define CLASS_PKMN_BREEDER 0x2D
#define CLASS_PKMN_RANGER 0x2E
#define CLASS_MAGMA_LEADER 0x2F
#define CLASS_TEAM_MAGMA 0x30
#define CLASS_LASS 0x31
#define CLASS_BUG_CATCHER 0x32
#define CLASS_HIKER 0x33
#define CLASS_YOUNG_COUPLE 0x34
#define CLASS_OLD_COUPLE 0x35
#define CLASS_SIS_AND_BRO 0x36
#define CLASS_AQUA_ADMIN 0x37
#define CLASS_MAGMA_ADMIN 0x38
#define CLASS_YOUNGSTER_2 0x39
#define CLASS_BUG_CATCHER_2 0x3A
#define CLASS_LASS_2 0x3B
#define CLASS_SAILOR_2 0x3C
#define CLASS_CAMPER_2 0x3D
#define CLASS_PICNICKER_2 0x3E
#define CLASS_POKEMANIAC_2 0x3F
#define CLASS_SUPER_NERD 0x40
#define CLASS_HIKER_2 0x41
#define CLASS_BIKER 0x42
#define CLASS_BURGLAR 0x43
#define CLASS_ENGINEER 0x44
#define CLASS_FISHERMAN_2 0x45
#define CLASS_SWIMMER_MALE_2 0x46
#define CLASS_CUE_BALL 0x47
#define CLASS_GAMER 0x48
#define CLASS_BEAUTY_2 0x49
#define CLASS_SWIMMER_FEMALE_2 0x4A
#define CLASS_PSYCHIC_2 0x4B
#define CLASS_ROCKER 0x4C
#define CLASS_JUGGLER 0x4D
#define CLASS_TAMER 0x4E
#define CLASS_BIRD_KEEPER_2 0x4F
#define CLASS_BLACK_BELT_2 0x50
#define CLASS_RIVAL 0x51
#define CLASS_SCIENTIST 0x52
#define CLASS_BOSS 0x53
#define CLASS_LEADER_2 0x54
#define CLASS_TEAM_ROCKET 0x55
#define CLASS_COOLTRAINER_2 0x56
#define CLASS_ELITE_FOUR_2 0x57
#define CLASS_GENTLEMAN_2 0x58
#define CLASS_RIVAL_2 0x59
#define CLASS_CHAMPION_2 0x5A
#define CLASS_CHANNELER 0x5B
#define CLASS_TWINS_2 0x5C
#define CLASS_COOL_COUPLE 0x5D
#define CLASS_YOUNG_COUPLE_2 0x5E
#define CLASS_CRUSH_KIN 0x5F
#define CLASS_SIS_AND_BRO_2 0x60
#define CLASS_PKMN_PROF 0x61
#define CLASS_PLAYER 0x62
#define CLASS_CRUSH_GIRL 0x63
#define CLASS_TUBER_3 0x64
#define CLASS_PKMN_BREEDER_2 0x65
#define CLASS_PKMN_RANGER_2 0x66
#define CLASS_AROMA_LADY_2 0x67
#define CLASS_RUIN_MANIAC_2 0x68
#define CLASS_LADY_2 0x69
#define CLASS_PAINTER 0x6A
#endif // GUARD_TRAINER_CLASSES_H
+1 -1
View File
@@ -38,7 +38,7 @@
#define VAR_RECYCLE_GOODS 0x4020
#define VAR_REPEL_STEP_COUNT 0x4021
#define VAR_ICE_STEP_COUNT 0x4022
#define VAR_FIRST_POKE 0x4023
#define VAR_0x4023 0x4023
#define VAR_MIRAGE_RND_H 0x4024
#define VAR_MIRAGE_RND_L 0x4025
#define VAR_SECRET_BASE_MAP 0x4026
+102 -74
View File
@@ -94,7 +94,7 @@ enum LanguageId {
LANGUAGE_ITALIAN = 4,
LANGUAGE_GERMAN = 5,
// 6 goes unused but the theory is it was meant to be Korean
LANGUAGE_SPANISH = 7,
LANGUAGE_SPANISH = 7,
};
#define GAME_LANGUAGE (LANGUAGE_ENGLISH)
@@ -228,17 +228,44 @@ struct BerryCrush
struct LinkBattleRecord
{
u8 name[PLAYER_NAME_LENGTH];
u16 trainerId;
u16 wins;
u16 losses;
u16 draws;
u8 name[PLAYER_NAME_LENGTH];
u16 trainerId;
u16 wins;
u16 losses;
u16 draws;
};
struct LinkBattleRecords
{
struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT];
u8 languages[LINK_B_RECORDS_COUNT];
struct LinkBattleRecord entries[LINK_B_RECORDS_COUNT];
u8 languages[LINK_B_RECORDS_COUNT];
};
struct BattleTowerPokemon
{
u16 species;
u16 heldItem;
u16 moves[4];
u8 level;
u8 ppBonuses;
u8 hpEV;
u8 attackEV;
u8 defenseEV;
u8 speedEV;
u8 spAttackEV;
u8 spDefenseEV;
u32 otId;
u32 hpIV:5;
u32 attackIV:5;
u32 defenseIV:5;
u32 speedIV:5;
u32 spAttackIV:5;
u32 spDefenseIV:5;
u32 gap:1;
u32 altAbility:1;
u32 personality;
u8 nickname[POKEMON_NAME_LENGTH + 1];
u8 friendship;
};
struct UnknownSaveBlock2Struct
@@ -263,17 +290,17 @@ struct UnknownSaveBlock2Struct
struct UnkSaveBlock2Substruct_55C
{
/* 0x000:0x55C */ u8 unk_00_0:1;
u8 unk_00_1:1;
/* 0x001:0x55D */ u8 unk_01;
/* 0x002:0x55E */ u8 unk_02[2];
/* 0x004:0x560 */ u16 unk_04[2];
/* 0x008:0x564 */ u16 unk_08[2];
/* 0x00C:0x568 */ u16 unk_0C[2];
/* 0x010:0x56C */ u8 unk_10;
/* 0x011:0x56D */ u8 unk_11[3];
/* 0x014:0x570 */ u16 unk_14;
/* 0x016:0x572 */ u8 unk_16;
/* 0x000:0x55C */ u8 unk_00_0:1;
u8 unk_00_1:1;
/* 0x001:0x55D */ u8 unk_01;
/* 0x002:0x55E */ u8 unk_02[2];
/* 0x004:0x560 */ u16 unk_04[2];
/* 0x008:0x564 */ u16 unk_08[2];
/* 0x00C:0x568 */ u16 unk_0C[2];
/* 0x010:0x56C */ u8 unk_10;
/* 0x011:0x56D */ u8 unk_11[3];
/* 0x014:0x570 */ u16 unk_14;
/* 0x016:0x572 */ u8 unk_16;
}; // size: 0x018
struct SaveBlock2
@@ -288,11 +315,11 @@ struct SaveBlock2
/*0x012*/ u8 playTimeVBlanks;
/*0x013*/ u8 optionsButtonMode; // OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A]
/*0x014*/ u16 optionsTextSpeed:3; // OPTIONS_TEXT_SPEED_[SLOW/MID/FAST]
u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes
u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO]
u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET]
u16 optionsBattleSceneOff:1; // whether battle animations are disabled
u16 regionMapZoom:1; // whether the map is zoomed in
u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes
u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO]
u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET]
u16 optionsBattleSceneOff:1; // whether battle animations are disabled
u16 regionMapZoom:1; // whether the map is zoomed in
/*0x018*/ struct Pokedex pokedex;
/*0x090*/ u8 filler_90[0x8];
/*0x098*/ struct Time localTimeOffset;
@@ -422,14 +449,14 @@ struct MailStruct
struct UnkMauvilleOldManStruct
{
u8 unk_2D94;
u8 unk_2D95;
u8 unk_2D94;
u8 unk_2D95;
/*0x2D96*/ u16 mauvilleOldMan_ecArray[6];
/*0x2DA2*/ u16 mauvilleOldMan_ecArray2[6];
/*0x2DAE*/ u8 playerName[8];
/*0x2DB6*/ u8 filler_2DB6[0x3];
/*0x2DB9*/ u8 playerTrainerId[4];
u8 unk_2DBD;
u8 unk_2DBD;
}; /*size = 0x2C*/
struct UnkMauvilleOldManStruct2
@@ -578,8 +605,8 @@ union QuestLogMovement
{
u16 ident_raw;
struct {
u16 ident:12;
u16 flags:4;
u16 ident:12;
u16 flags:4;
} ident_struct;
};
@@ -606,9 +633,9 @@ struct QuestLog
struct FameCheckerSaveData
{
/*3a54*/ u16 pickState:2;
u16 flavorTextFlags:12;
u16 unk_0_E:2;
/*3a54*/ u16 pickState:2;
u16 flavorTextFlags:12;
u16 unk_0_E:2;
};
#define MAP_OBJECTS_COUNT 16
@@ -622,64 +649,64 @@ struct FameCheckerSaveData
struct MEventBuffer_3120_Sub
{
u16 unk_00;
u8 unk_02;
u8 unk_03;
u8 unk_04[40];
u8 unk_2C[10][40];
u16 unk_00;
u8 unk_02;
u8 unk_03;
u8 unk_04[40];
u8 unk_2C[10][40];
};
struct MEventBuffer_3120
{
u32 crc;
struct MEventBuffer_3120_Sub data;
u32 crc;
struct MEventBuffer_3120_Sub data;
};
struct MEventBuffer_32E0_Sub
{
u16 unk_00;
u16 unk_02;
u32 unk_04;
u8 unk_08_0:2;
u8 unk_08_2:4;
u8 unk_08_6:2;
u8 unk_09;
u8 unk_0A[40];
u8 unk_32[40];
u8 unk_5A[4][40];
u8 unk_FA[40];
u8 unk_122[40];
u16 unk_00;
u16 unk_02;
u32 unk_04;
u8 unk_08_0:2;
u8 unk_08_2:4;
u8 unk_08_6:2;
u8 unk_09;
u8 unk_0A[40];
u8 unk_32[40];
u8 unk_5A[4][40];
u8 unk_FA[40];
u8 unk_122[40];
};
struct MEventBuffer_32E0
{
u32 crc;
struct MEventBuffer_32E0_Sub data;
u32 crc;
struct MEventBuffer_32E0_Sub data;
};
struct MEventBuffer_3430_Sub
{
u16 unk_00;
u16 unk_02;
u16 unk_04;
u16 unk_06;
u16 unk_08[2][7];
u16 unk_00;
u16 unk_02;
u16 unk_04;
u16 unk_06;
u16 unk_08[2][7];
};
struct MEventBuffer_3430
{
u32 crc;
struct MEventBuffer_3430_Sub data;
u32 crc;
struct MEventBuffer_3430_Sub data;
};
struct MEventBuffers
{
/*0x000 0x3120*/ struct MEventBuffer_3120 buffer_000;
/*0x1c0 0x32e0*/ struct MEventBuffer_32E0 buffer_1c0;
/*0x310 0x3430*/ struct MEventBuffer_3430 buffer_310;
/*0x338 0x3458*/ u16 unk_338[4];
/*0x340 0x3460*/ struct MysteryEventStruct unk_340;
/*0x344 0x3464*/ u32 unk_344[2][5];
/*0x000 0x3120*/ struct MEventBuffer_3120 buffer_000;
/*0x1c0 0x32e0*/ struct MEventBuffer_32E0 buffer_1c0;
/*0x310 0x3430*/ struct MEventBuffer_3430 buffer_310;
/*0x338 0x3458*/ u16 unk_338[4];
/*0x340 0x3460*/ struct MysteryEventStruct unk_340;
/*0x344 0x3464*/ u32 unk_344[2][5];
}; // 0x36C 0x348C
struct SaveBlock1
@@ -707,8 +734,8 @@ struct SaveBlock1
/*0x0464*/ struct ItemSlot bagPocket_TMHM[BAG_TMHM_COUNT];
/*0x054c*/ struct ItemSlot bagPocket_Berries[BAG_BERRIES_COUNT];
/*0x05F8*/ u8 seen1[DEX_FLAGS_NO];
/*0x062C*/ u16 berryBlenderRecords[3]; // unused
/*0x0632*/ u8 field_632[6]; // unused?
/*0x062C*/ u16 berryBlenderRecords[3]; // unused
/*0x0632*/ u8 field_632[6]; // unused?
/*0x0638*/ u8 trainerRematchStepCounter;
/*0x063A*/ u8 ALIGNED(2) trainerRematches[100];
/*0x06A0*/ struct MapObject mapObjects[MAP_OBJECTS_COUNT];
@@ -717,10 +744,10 @@ struct SaveBlock1
/*0x1000*/ u16 vars[VARS_COUNT];
/*0x1200*/ u32 gameStats[NUM_GAME_STATS];
/*0x1300*/ struct QuestLog questLog[4];
/*0x2CA0*/ u16 unk2CA0[6];
/*0x2CAC*/ u16 unk2CAC[6];
/*0x2CB8*/ u16 unk2CB8[6];
/*0x2CC4*/ u16 unk2CC4[6];
/*0x2CA0*/ u16 unk2CA0[6];
/*0x2CAC*/ u16 unk2CAC[6];
/*0x2CB8*/ u16 unk2CB8[6];
/*0x2CC4*/ u16 unk2CC4[6];
/*0x2CD0*/ struct MailStruct mail[MAIL_COUNT];
/*0x2F10*/ u8 additionalPhrases[EASY_CHAT_EXTRA_PHRASES_SIZE];
/*0x2F18*/ OldMan oldMan; // unused
@@ -737,8 +764,9 @@ struct SaveBlock1
/*0x3A48*/ u8 filler_3a48[4];
/*0x3A4C*/ u8 rivalName[PLAYER_NAME_LENGTH];
/*0x3A54*/ struct FameCheckerSaveData fameChecker[NUM_FAMECHECKER_PERSONS];
/*0x3A94*/ u8 filler3A94[0x2A4];
u32 unkArray[4][3];
/*0x3A94*/ u8 filler3A94[0x2A0];
/*0x3D34*/ u32 unkArrayIdx;
/*0x3D38*/ u32 unkArray[4][3];
};
extern struct SaveBlock1* gSaveBlock1Ptr;
+1
View File
@@ -65,6 +65,7 @@ void InitFlashTimer(void);
void DoSoftReset(void);
void ClearPokemonCrySongs(void);
void RestoreSerialTimer3IntrHandlers(void);
void SetVBlankCounter1Ptr(u32 *ptr);
extern const char RomHeaderGameCode[4];
extern const char RomHeaderSoftwareVersion;
+2
View File
@@ -81,6 +81,8 @@ void sub_8055DC4(void);
u8 sav1_map_get_name(void);
void sub_8055D40(u16 mapDataId);
extern u8 gUnknown_2031DD8;
extern u8 gUnknown_2036E28;
-113
View File
@@ -7,119 +7,6 @@
// Exported type declarations
enum {
MAPSEC_PALLET_TOWN,
MAPSEC_VIRIDIAN_CITY,
MAPSEC_PEWTER_CITY,
MAPSEC_CERULEAN_CITY,
MAPSEC_LAVENDER_TOWN,
MAPSEC_VERMILION_CITY,
MAPSEC_CELADON_CITY,
MAPSEC_FUCHSIA_CITY,
MAPSEC_CINNABAR_ISLAND,
MAPSEC_INDIGO_PLATEAU,
MAPSEC_SAFFRON_CITY,
MAPSEC_ROUTE_4,
MAPSEC_ROUTE_10,
MAPSEC_ROUTE_1,
MAPSEC_ROUTE_2,
MAPSEC_ROUTE_3,
MAPSEC_ROUTE_4_2,
MAPSEC_ROUTE_5,
MAPSEC_ROUTE_6,
MAPSEC_ROUTE_7,
MAPSEC_ROUTE_8,
MAPSEC_ROUTE_9,
MAPSEC_ROUTE_10_2,
MAPSEC_ROUTE_11,
MAPSEC_ROUTE_12,
MAPSEC_ROUTE_13,
MAPSEC_ROUTE_14,
MAPSEC_ROUTE_15,
MAPSEC_ROUTE_16,
MAPSEC_ROUTE_17,
MAPSEC_ROUTE_18,
MAPSEC_ROUTE_19,
MAPSEC_ROUTE_20,
MAPSEC_ROUTE_21,
MAPSEC_ROUTE_22,
MAPSEC_ROUTE_23,
MAPSEC_ROUTE_24,
MAPSEC_ROUTE_25,
MAPSEC_VIRIDIAN_FOREST,
MAPSEC_MT_MOON,
MAPSEC_S_S_ANNE,
MAPSEC_UNDERGROUND_PATH,
MAPSEC_UNDERGROUND_PATH_2,
MAPSEC_DIGLETTS_CAVE,
MAPSEC_KANTO_VICTORY_ROAD,
MAPSEC_ROCKET_HIDEOUT,
MAPSEC_SILPH_CO,
MAPSEC_POKEMON_MANSION,
MAPSEC_KANTO_SAFARI_ZONE,
MAPSEC_POKEMON_LEAGUE,
MAPSEC_ROCK_TUNNEL,
MAPSEC_SEAFOAM_ISLANDS,
MAPSEC_POKEMON_TOWER,
MAPSEC_CERULEAN_CAVE,
MAPSEC_POWER_PLANT,
MAPSEC_ONE_ISLAND,
MAPSEC_TWO_ISLAND,
MAPSEC_THREE_ISLAND,
MAPSEC_FOUR_ISLAND,
MAPSEC_FIVE_ISLAND,
MAPSEC_SEVEN_ISLAND,
MAPSEC_SIX_ISLAND,
MAPSEC_KINDLE_ROAD,
MAPSEC_TREASURE_BEACH,
MAPSEC_CAPE_BRINK,
MAPSEC_BOND_BRIDGE,
MAPSEC_THREE_ISLE_PORT,
MAPSEC_SEVII_ISLE_6,
MAPSEC_SEVII_ISLE_7,
MAPSEC_SEVII_ISLE_8,
MAPSEC_SEVII_ISLE_9,
MAPSEC_RESORT_GORGEOUS,
MAPSEC_WATER_LABYRINTH,
MAPSEC_FIVE_ISLE_MEADOW,
MAPSEC_MEMORIAL_PILLAR,
MAPSEC_OUTCAST_ISLAND,
MAPSEC_GREEN_PATH,
MAPSEC_WATER_PATH,
MAPSEC_RUIN_VALLEY,
MAPSEC_TRAINER_TOWER,
MAPSEC_CANYON_ENTRANCE,
MAPSEC_SEVAULT_CANYON,
MAPSEC_TANOBY_RUINS,
MAPSEC_SEVII_ISLE_22,
MAPSEC_SEVII_ISLE_23,
MAPSEC_SEVII_ISLE_24,
MAPSEC_NAVEL_ROCK,
MAPSEC_MT_EMBER,
MAPSEC_BERRY_FOREST,
MAPSEC_ICEFALL_CAVE,
MAPSEC_ROCKET_WAREHOUSE,
MAPSEC_TRAINER_TOWER,
MAPSEC_DOTTED_HOLE,
MAPSEC_LOST_CAVE,
MAPSEC_PATTERN_BUSH,
MAPSEC_ALTERING_CAVE,
MAPSEC_TANOBY_CHAMBERS,
MAPSEC_THREE_ISLE_PATH,
MAPSEC_TANOBY_KEY,
MAPSEC_BIRTH_ISLAND,
MAPSEC_MONEAN_CHAMBER,
MAPSEC_LIPTOO_CHAMBER,
MAPSEC_WEEPTH_CHAMBER,
MAPSEC_DILFORD_CHAMBER,
MAPSEC_SCUFIB_CHAMBER,
MAPSEC_RIXY_CHAMBER,
MAPSEC_VIAPOIS_CHAMBER,
MAPSEC_EMBER_SPA,
MAPSEC_CELADON_DEPT,
MAPSEC_NONE
};
enum
{
INPUT_EVENT_NONE,
-118
View File
@@ -1,118 +0,0 @@
#ifndef GUARD_TRAINER_CLASSES_H
#define GUARD_TRAINER_CLASSES_H
#include "global.h"
enum
{
CLASS_PKMN_TRAINER0, // 0
CLASS_PKMN_TRAINER1, // 1
CLASS_AQUA_LEADER, // 2
CLASS_TEAM_AQUA, // 3
CLASS_AROMA_LADY, // 4
CLASS_RUIN_MANIAC, // 5
CLASS_INTERVIEWER, // 6
CLASS_TUBER_FEMALE, // 7
CLASS_TUBER_MALE, // 8
CLASS_COOLTRAINER_2, // 9
CLASS_HEX_MANIAC, // 0xA
CLASS_LADY, // 0xB
CLASS_BEAUTY, // 0xC
CLASS_RICH_BOY, // 0xD
CLASS_POKEMANIAC, // 0xE
CLASS_SWIMMER_MALE, // 0xF
CLASS_BLACK_BELT, // 0x10
CLASS_GUITARIST, // 0x11
CLASS_KINDLER, // 0x12
CLASS_CAMPER, // 0x13
CLASS_BUG_MANIAC, // 0x14
CLASS_PSYCHIC, // 0x15
CLASS_GENTLEMAN, // 0x16
CLASS_ELITE_FOUR, // 0x17
CLASS_LEADER, // 0x18
CLASS_SCHOOL_KID, // 0x19
CLASS_SCHOOL_SR_JR, // 0x1A
CLASS_POKE_FAN, // 0x1B
CLASS_EXPERT, // 0x1C
CLASS_YOUNGSTER, // 0x1D
CLASS_CHAMPION, // 0x1E
CLASS_FISHERMAN, // 0x1F
CLASS_TRIATHLETE, // 0x20
CLASS_DRAGON_TAMER, // 0x21
CLASS_BIRD_KEEPER, // 0x22
CLASS_NINJA_BOY, // 0x23
CLASS_BATTLE_GIRL, // 0x24
CLASS_PARASOL_LADY, // 0x25
CLASS_SWIMMER_FEMALE, // 0x26
CLASS_PICKNICKER, // 0x27
CLASS_TWINS, // 0x28
CLASS_SAILOR, // 0x29
CLASS_BOARDER, // 0x2A
CLASS_COLLECTOR, // 0x2B
CLASS_PKMN_TRAINER2, // 0x2C
CLASS_PKMN_BREEDER, // 0x2D
CLASS_PKMN_RANGER, // 0x2E
CLASS_MAGMA_LEADER, // 0x2F
CLASS_TEAM_MAGMA, // 0x30
CLASS_LASS, // 0x31
CLASS_BUG_CATCHER, // 0x32
CLASS_HIKER, // 0x33
CLASS_YOUNG_COUPLE, // 0x34
CLASS_OLD_COUPLE, // 0x35
CLASS_SIS_AND_BRO, // 0x36
CLASS_AQUA_ADMIN, // 0x37
CLASS_MAGMA_ADMIN, // 0x38
CLASS_YOUNGSTER, // 0x39
CLASS_BUG_CATCHER, // 0x3A
CLASS_LASS, // 0x3B
CLASS_SAILER, // 0x3C
CLASS_CAMPER, // 0x3D
CLASS_PICKNICKER, // 0x3E
CLASS_POKEMANIAC, // 0x3F
CLASS_SUPER_NERD, // 0x40
CLASS_HIKER, // 0x41
CLASS_BIKER, // 0x42
CLASS_BURGLAR, // 0x43
CLASS_ENGINEER, // 0x44
CLASS_FISHERMAN, // 0x45
CLASS_SWIMMER_MALE, // 0x46
CLASS_CUE_BALL, // 0x47
CLASS_GAMER, // 0x48
CLASS_BEAUTY, // 0x49
CLASS_SWIMMER_FEMALE, // 0x4A
CLASS_PSYCHIC, // 0x4B
CLASS_ROCKER, // 0x4C
CLASS_JUGGLER, // 0x4D
CLASS_TAMER, // 0x4E
CLASS_BIRD_KEEPER, // 0x4F
CLASS_BLACK_BELT, // 0X50
CLASS_PKMN_TRAINER_RIVAL, // 0X51
CLASS_SCIENTIST, // 0X52
CLASS_BOSS, // 0X53
CLASS_LEADER, // 0X54
CLASS_TEAM_ROCKET, // 0X55
CLASS_COOLTRAINER, // 0X56
CLASS_ELITE_FOUR, // 0X57
CLASS_GENTLEMAN, // 0X58
CLASS_PKMN_TRAINER_RIVAL, // 0X59
CLASS_CHAMPION, // 0X5A
CLASS_CHANNERLER, // 0X5B
CLASS_TWINS, // 0X5C
CLASS_COOL_COUPLE, // 0X5D
CLASS_YOUNG_COUPLE, // 0X5E
CLASS_CRUSH_KIN, // 0X5F
CLASS_SIS_AND_BRO, // 0X60
CLASS_PROFESSOR, // 0X61
CLASS_PLAYER, // 0X62
CLASS_CRUSH_GIRL, // 0X63
CLASS_TUBER2, // 0X64
CLASS_PKMN_BREEDER, // 0X65
CLASS_PKMN_RANGER, // 0X66
CLASS_AROMA_LADY, // 0X67
CLASS_RUIN_MANIAC, // 0X68
CLASS_LADY, // 0X69
CLASS_PAINTER, // 0X6A
};
#endif // GUARD_TRAINER_CLASSES_H
+4
View File
@@ -266,6 +266,7 @@ SECTIONS {
asm/unk_815C980.o(.text);
asm/ss_anne.o(.text);
asm/cereader_tool.o(.text);
src/trainer_tower.o(.text);
asm/trainer_tower.o(.text);
asm/unk_815EDDC.o(.text);
asm/unk_815F138.o(.text);
@@ -389,6 +390,9 @@ SECTIONS {
data/data_8468C98.o(.rodata);
src/quest_log_8150454.o(.rodata);
data/data_8471F00.o(.rodata);
src/trainer_tower.o(.rodata);
data/trainer_tower.o(.rodata);
data/data_8471F00.o(.rodata.after_trainer_tower);
src/mystery_event_msg.o(.rodata);
data/mystery_event_msg.o(.rodata);
src/m4a_tables.o(.rodata);
+694
View File
@@ -0,0 +1,694 @@
#include "global.h"
#include "main.h"
#include "constants/flags.h"
#include "constants/vars.h"
#include "malloc.h"
#include "save.h"
#include "util.h"
#include "string_util.h"
#include "event_data.h"
#include "random.h"
#include "cereader_tool.h"
#include "easy_chat.h"
#include "text.h"
#include "overworld.h"
struct UnkStruct_8479D34
{
s8 mapGroup;
s8 mapNum;
u8 filler[2];
u8 flags1[8];
u8 flags2[8];
u8 flags3[8];
};
struct UnkSubstruct_203F458_000C_004
{
/* 0x000 */ u8 unk_000[11];
/* 0x00B */ u8 unk_00B;
/* 0x00C */ u8 unk_00C;
/* 0x00D */ u8 unk_00D;
/* 0x00E */ u16 unk_00E[6];
/* 0x01A */ u16 unk_01A[6];
/* 0x026 */ u16 unk_026[6];
/* 0x032 */ u16 unk_032[6];
/* 0x040 */ struct BattleTowerPokemon unk_040[PARTY_SIZE];
}; // size: 328
struct UnkSubstruct_203F458_000C
{
/* 0x000 */ u8 filler_000[2];
/* 0x002 */ u8 unk_002;
/* 0x003 */ u8 unk_003;
/* 0x004 */ struct UnkSubstruct_203F458_000C_004 unk_004[3];
/* 0x3DC */ u8 filler_3DC[4];
};
struct Unk_203F458_Header
{
u8 unk0;
u8 unk1;
u32 unk4;
};
struct UnkStruct_203F458_SaveBlock
{
struct Unk_203F458_Header unk_0000;
struct UnkSubstruct_203F458_000C unk_0008[8];
};
struct UnkStruct_203F458
{
/* 0x0000 */ u8 unk_0000;
/* 0x0004 */ struct UnkStruct_203F458_SaveBlock unk_0004;
};
struct UnkStruct_203F45C
{
/* 0x00 */ u8 unk_00[11];
/* 0x0C */ u16 unk_0C[6];
/* 0x18 */ u16 unk_18[6];
/* 0x24 */ u16 unk_24[6];
/* 0x30 */ u16 unk_30[6];
/* 0x3C */ u8 unk_3C;
/* 0x3D */ u8 unk_3D;
/* 0x3E */ u8 unk_3E;
};
struct UnkStruct_8479ED8
{
u8 unk0;
u8 unk1;
bool8 unk2;
};
struct UnkStruct_847A024
{
u8 unk0;
u8 unk1;
u8 unk2;
bool8 unk3;
bool8 unk4;
};
EWRAM_DATA struct UnkStruct_203F458 * gUnknown_203F458 = NULL;
EWRAM_DATA struct UnkStruct_203F45C * gUnknown_203F45C = NULL;
void sub_815D96C(void);
void sub_815DC8C(void); // setup
void sub_815DD2C(void); // teardown
void sub_815DD44(void);
void sub_815DDB0(void);
void sub_815DEFC(u16 * ecWords, u8 * dest);
void sub_815DF54(void);
void sub_815E068(u8 battleType, u8 facilityClass);
void sub_815E160(void);
void sub_815E1C0(void);
void sub_815E1F0(void);
void sub_815E218(void);
void sub_815E28C(void);
void sub_815E394(void);
void sub_815E408(void);
void sub_815E4B0(void);
void sub_815E56C(void);
void sub_815E5C4(void);
void sub_815E5F0(void);
void sub_815E658(void);
void sub_815E720(void);
void sub_815E88C(void);
void sub_815E8B4(void);
void sub_815E8CC(void);
void sub_815E908(void);
void sub_815E948(void);
void sub_815E9C8(void);
void sub_815EC0C(void);
extern const struct UnkStruct_8479D34 gUnknown_8479D34[15];
extern void (*const gUnknown_847A230[])(void);
extern const struct Unk_203F458_Header gUnknown_84827AC;
extern const struct UnkSubstruct_203F458_000C *const gUnknown_84827B4[][8];
extern const u16 gUnknown_847A284[8][3];
extern const struct UnkStruct_8479ED8 gUnknown_8479ED8[83];
extern const struct UnkStruct_847A024 gUnknown_847A024[10];
bool32 sub_815D7BC(void * dest, void * buffer)
{
if (TryCopySpecialSaveSection(30, buffer) != 1)
return FALSE;
memcpy(dest + 0x000, buffer, 0xF88);
if (TryCopySpecialSaveSection(31, buffer) != 1)
return FALSE;
memcpy(dest + 0xF88, buffer, 0xF80);
if (!sub_815D6B4(dest))
return FALSE;
return TRUE;
}
bool32 sub_815D80C(void * dest)
{
void * buffer = AllocZeroed(0x1000);
bool32 success = sub_815D7BC(dest, buffer);
Free(buffer);
return success;
}
bool32 sub_815D834(void)
{
// Stubbed out?
return FALSE;
}
void sub_815D838(void)
{
u8 i, j;
for (i = 0; i < 15; i++)
{
const u8 * flags1 = gUnknown_8479D34[i].flags1;
const u8 * flags2 = gUnknown_8479D34[i].flags2;
const u8 * flags3 = gUnknown_8479D34[i].flags3;
for (j = 0; j < 8; j++)
{
if (flags1[j] != 0xFF)
FlagSet(FLAG_TRAINER_TOWER_START + flags1[j]);
if (flags2[j] != 0xFF)
FlagSet(FLAG_TRAINER_TOWER_START + flags2[j]);
if (flags3[j] != 0xFF)
FlagSet(FLAG_TRAINER_TOWER_START + flags3[j]);
}
}
}
void sub_815D8C8(void)
{
u16 var = VarGet(VAR_0x4023);
if (var < 1500) {
VarSet(VAR_0x4023, var + 1);
}
}
void sub_815D8F8(void) // fakematching
{
u8 i;
register u32 found_map asm("r4") = 0xFF;
for (i = 0; i < 15; i++)
{
if (gUnknown_8479D34[i].mapGroup == gSaveBlock1Ptr->location.mapGroup && gUnknown_8479D34[i].mapNum == gSaveBlock1Ptr->location.mapNum)
found_map = i;
}
if (found_map == 0xFF)
return;
if (VarGet(VAR_0x4023) >= 1500)
{
VarSet(VAR_0x4023, 0);
sub_815D838();
sub_815D96C();
}
}
void sub_815D96C(void)
{
u8 i, j;
const u8 * flags;
u16 rval;
for (i = 0; i < 15; i++)
{
rval = Random() % 100;
if (rval >= 90)
flags = gUnknown_8479D34[i].flags1;
else if (rval >= 60)
flags = gUnknown_8479D34[i].flags2;
else
flags = gUnknown_8479D34[i].flags3;
for (j = 0; j < 8; j++)
{
if (flags[j] != 0xFF)
FlagClear(FLAG_TRAINER_TOWER_START + flags[j]);
}
}
}
void sub_815D9E8(void)
{
sub_815DC8C();
gUnknown_847A230[gSpecialVar_0x8004]();
sub_815DD2C();
}
u8 sub_815DA10(void)
{
return gFacilityClassToTrainerClass[gUnknown_203F45C->unk_3D];
}
void sub_815DA28(u8 * dest)
{
StringCopyN(dest, gUnknown_203F45C->unk_00, 11);
}
u8 sub_815DA3C(void)
{
return gFacilityClassToPicIndex[gUnknown_203F45C->unk_3D];
}
void sub_815DA54(void)
{
u16 r10;
s32 r9;
sub_815DC8C();
gUnknown_203F45C = AllocZeroed(sizeof(*gUnknown_203F45C));
r10 = VarGet(VAR_0x4001);
StringCopyN(gUnknown_203F45C->unk_00, gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_000, 11);
for (r9 = 0; r9 < 6; r9++)
{
gUnknown_203F45C->unk_0C[r9] = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_01A[r9];
gUnknown_203F45C->unk_18[r9] = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_026[r9];
if (gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002 == 1)
{
gUnknown_203F45C->unk_24[r9] = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10 + 1].unk_01A[r9];
gUnknown_203F45C->unk_30[r9] = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10 + 1].unk_026[r9];
}
}
gUnknown_203F45C->unk_3C = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002;
gUnknown_203F45C->unk_3D = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_00B;
gUnknown_203F45C->unk_3E = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r10].unk_00C;
SetVBlankCounter1Ptr(gSaveBlock1Ptr->unkArray[gSaveBlock1Ptr->unkArrayIdx]);
sub_815DD2C();
}
void sub_815DBDC(void)
{
Free(gUnknown_203F45C);
gUnknown_203F45C = NULL;
}
void sub_815DBF4(u8 * dest, u8 opponentIdx)
// TTower_GetBeforeBattleMessage?
{
VarSet(VAR_0x4003, opponentIdx);
sub_815E068(gUnknown_203F45C->unk_3C, gUnknown_203F45C->unk_3D);
if (opponentIdx == 0)
sub_815DEFC(gUnknown_203F45C->unk_0C, dest);
else
sub_815DEFC(gUnknown_203F45C->unk_24, dest);
}
void sub_815DC40(u8 * dest, u8 opponentIdx)
// TTower_GetAfterBattleMessage?
{
VarSet(VAR_0x4003, opponentIdx);
sub_815E068(gUnknown_203F45C->unk_3C, gUnknown_203F45C->unk_3D);
if (opponentIdx == 0)
sub_815DEFC(gUnknown_203F45C->unk_18, dest);
else
sub_815DEFC(gUnknown_203F45C->unk_30, dest);
}
#ifdef NONMATCHING
void sub_815DC8C(void) // fakematching
{
u32 whichTimer = gSaveBlock1Ptr->unkArrayIdx;
s32 r4;
const struct UnkSubstruct_203F458_000C *const * r7;
gUnknown_203F458 = AllocZeroed(sizeof(*gUnknown_203F458));
gUnknown_203F458->unk_0000 = gMapHeader.mapDataId - 0x2A;
if (sub_815D834() == TRUE)
sub_815D80C(&gUnknown_203F458->unk_0004);
else
{
struct UnkStruct_203F458 * r0_ = gUnknown_203F458;
const struct Unk_203F458_Header * r1 = &gUnknown_84827AC;
// *r0_ = *r1;
memcpy(&r0_->unk_0004.unk_0000, r1, sizeof(struct Unk_203F458_Header));
// gUnknown_203F458->unk_0004.unk_0000 = gUnknown_84827AC;
r7 = gUnknown_84827B4[whichTimer];
for (r4 = 0; r4 < 8; r4++)
{
void * r0 = gUnknown_203F458;
r0 = r4 * sizeof(struct UnkSubstruct_203F458_000C) + r0;
r0 += offsetof(struct UnkStruct_203F458, unk_0004.unk_0008);
memcpy(r0, r7[r4], sizeof(struct UnkSubstruct_203F458_000C));
// r0[r4] = *r7[r4];
}
gUnknown_203F458->unk_0004.unk_0000.unk4 = CalcByteArraySum((void *)gUnknown_203F458->unk_0004.unk_0008, sizeof(gUnknown_203F458->unk_0004.unk_0008));
sub_815EC0C();
}
}
#else
NAKED
void sub_815DC8C(void)
{
asm_unified("\tpush {r4-r7,lr}\n"
"\tldr r0, _0815DCBC @ =gSaveBlock1Ptr\n"
"\tldr r0, [r0]\n"
"\tldr r1, _0815DCC0 @ =0x00003d34\n"
"\tadds r0, r1\n"
"\tldr r5, [r0]\n"
"\tldr r4, _0815DCC4 @ =gUnknown_203F458\n"
"\tldr r0, _0815DCC8 @ =0x00001f0c\n"
"\tbl AllocZeroed\n"
"\tstr r0, [r4]\n"
"\tldr r1, _0815DCCC @ =gMapHeader\n"
"\tldrb r1, [r1, 0x12]\n"
"\tsubs r1, 0x2A\n"
"\tstrb r1, [r0]\n"
"\tbl sub_815D834\n"
"\tcmp r0, 0x1\n"
"\tbne _0815DCD0\n"
"\tldr r0, [r4]\n"
"\tadds r0, 0x4\n"
"\tbl sub_815D80C\n"
"\tb _0815DD18\n"
"\t.align 2, 0\n"
"_0815DCBC: .4byte gSaveBlock1Ptr\n"
"_0815DCC0: .4byte 0x00003d34\n"
"_0815DCC4: .4byte gUnknown_203F458\n"
"_0815DCC8: .4byte 0x00001f0c\n"
"_0815DCCC: .4byte gMapHeader\n"
"_0815DCD0:\n"
"\tldr r0, [r4]\n"
"\tldr r1, _0815DD20 @ =gUnknown_84827AC\n"
"\tadds r0, 0x4\n"
"\tmovs r2, 0x8\n"
"\tbl memcpy\n"
"\tlsls r1, r5, 5\n"
"\tldr r0, _0815DD24 @ =gUnknown_84827B4\n"
"\tadds r7, r1, r0\n"
"\tmovs r5, 0\n"
"\tmovs r4, 0x7\n"
"_0815DCE6:\n"
"\tldr r6, _0815DD28 @ =gUnknown_203F458\n"
"\tldr r0, [r6]\n"
"\tadds r0, r5, r0\n"
"\tadds r0, 0xC\n"
"\tldm r7!, {r1}\n"
"\tmovs r2, 0xF8\n"
"\tlsls r2, 2\n"
"\tbl memcpy\n"
"\tmovs r0, 0xF8\n"
"\tlsls r0, 2\n"
"\tadds r5, r0\n"
"\tsubs r4, 0x1\n"
"\tcmp r4, 0\n"
"\tbge _0815DCE6\n"
"\tldr r0, [r6]\n"
"\tadds r0, 0xC\n"
"\tmovs r1, 0xF8\n"
"\tlsls r1, 5\n"
"\tbl CalcByteArraySum\n"
"\tldr r1, [r6]\n"
"\tstr r0, [r1, 0x8]\n"
"\tbl sub_815EC0C\n"
"_0815DD18:\n"
"\tpop {r4-r7}\n"
"\tpop {r0}\n"
"\tbx r0\n"
"\t.align 2, 0\n"
"_0815DD20: .4byte gUnknown_84827AC\n"
"_0815DD24: .4byte gUnknown_84827B4\n"
"_0815DD28: .4byte gUnknown_203F458");
}
#endif // NONMATCHING
void sub_815DD2C(void)
{
Free(gUnknown_203F458);
gUnknown_203F458 = NULL;
}
void sub_815DD44(void)
{
if (gMapHeader.mapDataId - 0x129 > gUnknown_203F458->unk_0004.unk_0000.unk0)
{
gSpecialVar_Result = 3;
sub_8055D40(0x132);
}
else
{
gSpecialVar_Result = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002;
sub_8055D40(gUnknown_847A284[gUnknown_203F458->unk_0000][gSpecialVar_Result]);
sub_815DDB0();
}
}
void sub_815DDB0(void)
{
s32 r3, r4;
u8 r1, r2, r4_;
switch (gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002)
{
case 0:
r2 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[0].unk_00B;
for (r3 = 0; r3 < NELEMS(gUnknown_8479ED8); r3++)
{
if (gUnknown_8479ED8[r3].unk1 == r2)
break;
}
if (r3 != NELEMS(gUnknown_8479ED8))
r1 = gUnknown_8479ED8[r3].unk0;
else
r1 = 18;
VarSet(VAR_0x4011, r1);
break;
case 1:
r2 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[0].unk_00B;
for (r3 = 0; r3 < NELEMS(gUnknown_847A024); r3++)
{
if (gUnknown_847A024[r3].unk2 == r2)
break;
}
if (r3 != NELEMS(gUnknown_847A024))
{
r1 = gUnknown_847A024[r3].unk0;
r4_ = gUnknown_847A024[r3].unk1;
}
else
{
r1 = 18;
r4_ = 18;
}
VarSet(VAR_0x4010, r1);
VarSet(VAR_0x4013, r4_);
break;
case 2:
for (r4 = 0; r4 < 3; r4++)
{
r2 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_00B;
for (r3 = 0; r3 < NELEMS(gUnknown_8479ED8); r3++)
{
if (gUnknown_8479ED8[r3].unk1 == r2)
break;
}
if (r3 != NELEMS(gUnknown_8479ED8))
r1 = gUnknown_8479ED8[r3].unk0;
else
r1 = 18;
switch (r4)
{
case 0:
VarSet(VAR_0x4012, r1);
break;
case 1:
VarSet(VAR_0x4010, r1);
break;
case 2:
VarSet(VAR_0x4011, r1);
break;
}
}
}
}
void sub_815DEFC(u16 * ecWords, u8 * dest)
{
s32 r1;
ConvertEasyChatWordsToString(dest, ecWords, 3, 2);
if ((unsigned)GetStringWidth(2, dest, -1) > 196)
{
ConvertEasyChatWordsToString(dest, ecWords, 2, 3);
r1 = 0;
while (dest[r1++] != CHAR_NEWLINE)
;
while (dest[r1] != CHAR_NEWLINE)
r1++;
dest[r1] = CHAR_PROMPT_SCROLL;
}
}
#ifdef NONMATCHING
void sub_815DF54(void)
{
u16 r4 = gSpecialVar_0x8006;
u8 r1;
u8 r5 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_002;
// HOW DO I MATCH THIS CONTROL FLOW?!?!
r1 = gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r5 == 1 ? 0 : r4].unk_00B;
switch (gSpecialVar_0x8005)
{
case 2:
sub_815E068(r5, r1);
sub_815DEFC(gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_00E, gStringVar4);
break;
case 3:
sub_815E068(r5, r1);
sub_815DEFC(gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_01A, gStringVar4);
break;
case 4:
sub_815E068(r5, r1);
sub_815DEFC(gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_026, gStringVar4);
break;
case 5:
sub_815DEFC(gUnknown_203F458->unk_0004.unk_0008[gUnknown_203F458->unk_0000].unk_004[r4].unk_032, gStringVar4);
break;
}
}
#else
NAKED
void sub_815DF54(void)
{
asm_unified("\tpush {r4,r5,lr}\n"
"\tldr r0, _0815DF90 @ =gSpecialVar_0x8006\n"
"\tldrh r4, [r0]\n"
"\tldr r2, _0815DF94 @ =gUnknown_203F458\n"
"\tldr r3, [r2]\n"
"\tldrb r1, [r3]\n"
"\tlsls r0, r1, 5\n"
"\tsubs r0, r1\n"
"\tlsls r1, r0, 5\n"
"\tadds r0, r3, r1\n"
"\tldrb r5, [r0, 0xE]\n"
"\tcmp r5, 0x1\n"
"\tbeq _0815DF7C\n"
"\tlsls r0, r4, 2\n"
"\tadds r0, r4\n"
"\tlsls r0, 3\n"
"\tadds r0, r4\n"
"\tlsls r0, 3\n"
"\tadds r0, r1\n"
"\tadds r0, r3, r0\n"
"_0815DF7C:\n"
"\tldrb r1, [r0, 0x1B]\n"
"\tldr r0, _0815DF98 @ =gSpecialVar_0x8005\n"
"\tldrh r0, [r0]\n"
"\tcmp r0, 0x3\n"
"\tbeq _0815DFD4\n"
"\tcmp r0, 0x3\n"
"\tbgt _0815DF9C\n"
"\tcmp r0, 0x2\n"
"\tbeq _0815DFA6\n"
"\tb _0815E05C\n"
"\t.align 2, 0\n"
"_0815DF90: .4byte gSpecialVar_0x8006\n"
"_0815DF94: .4byte gUnknown_203F458\n"
"_0815DF98: .4byte gSpecialVar_0x8005\n"
"_0815DF9C:\n"
"\tcmp r0, 0x4\n"
"\tbeq _0815E000\n"
"\tcmp r0, 0x5\n"
"\tbeq _0815E038\n"
"\tb _0815E05C\n"
"_0815DFA6:\n"
"\tadds r0, r5, 0\n"
"\tbl sub_815E068\n"
"\tldr r0, _0815DFD0 @ =gUnknown_203F458\n"
"\tldr r0, [r0]\n"
"\tldrb r2, [r0]\n"
"\tlsls r1, r2, 5\n"
"\tsubs r1, r2\n"
"\tlsls r1, 5\n"
"\tadds r1, 0xC\n"
"\tadds r0, r1\n"
"\tlsls r1, r4, 2\n"
"\tadds r1, r4\n"
"\tlsls r1, 3\n"
"\tadds r1, r4\n"
"\tlsls r1, 3\n"
"\tadds r1, 0x4\n"
"\tadds r0, r1\n"
"\tadds r0, 0xE\n"
"\tb _0815E026\n"
"\t.align 2, 0\n"
"_0815DFD0: .4byte gUnknown_203F458\n"
"_0815DFD4:\n"
"\tadds r0, r5, 0\n"
"\tbl sub_815E068\n"
"\tldr r0, _0815DFFC @ =gUnknown_203F458\n"
"\tldr r0, [r0]\n"
"\tldrb r2, [r0]\n"
"\tlsls r1, r2, 5\n"
"\tsubs r1, r2\n"
"\tlsls r1, 5\n"
"\tadds r1, 0xC\n"
"\tadds r0, r1\n"
"\tlsls r1, r4, 2\n"
"\tadds r1, r4\n"
"\tlsls r1, 3\n"
"\tadds r1, r4\n"
"\tlsls r1, 3\n"
"\tadds r1, 0x4\n"
"\tadds r0, r1\n"
"\tadds r0, 0x1A\n"
"\tb _0815E026\n"
"\t.align 2, 0\n"
"_0815DFFC: .4byte gUnknown_203F458\n"
"_0815E000:\n"
"\tadds r0, r5, 0\n"
"\tbl sub_815E068\n"
"\tldr r0, _0815E030 @ =gUnknown_203F458\n"
"\tldr r0, [r0]\n"
"\tldrb r2, [r0]\n"
"\tlsls r1, r2, 5\n"
"\tsubs r1, r2\n"
"\tlsls r1, 5\n"
"\tadds r1, 0xC\n"
"\tadds r0, r1\n"
"\tlsls r1, r4, 2\n"
"\tadds r1, r4\n"
"\tlsls r1, 3\n"
"\tadds r1, r4\n"
"\tlsls r1, 3\n"
"\tadds r1, 0x4\n"
"\tadds r0, r1\n"
"\tadds r0, 0x26\n"
"_0815E026:\n"
"\tldr r1, _0815E034 @ =gStringVar4\n"
"\tbl sub_815DEFC\n"
"\tb _0815E05C\n"
"\t.align 2, 0\n"
"_0815E030: .4byte gUnknown_203F458\n"
"_0815E034: .4byte gStringVar4\n"
"_0815E038:\n"
"\tldr r0, [r2]\n"
"\tldrb r2, [r0]\n"
"\tlsls r1, r2, 5\n"
"\tsubs r1, r2\n"
"\tlsls r1, 5\n"
"\tadds r1, 0xC\n"
"\tadds r0, r1\n"
"\tlsls r1, r4, 2\n"
"\tadds r1, r4\n"
"\tlsls r1, 3\n"
"\tadds r1, r4\n"
"\tlsls r1, 3\n"
"\tadds r1, 0x4\n"
"\tadds r0, r1\n"
"\tadds r0, 0x32\n"
"\tldr r1, _0815E064 @ =gStringVar4\n"
"\tbl sub_815DEFC\n"
"_0815E05C:\n"
"\tpop {r4,r5}\n"
"\tpop {r0}\n"
"\tbx r0\n"
"\t.align 2, 0\n"
"_0815E064: .4byte gStringVar4");
}
#endif // NONMATCHING
+3 -4
View File
@@ -1753,11 +1753,10 @@ gUnknown_203F450: @ 203F450
gUnknown_203F454: @ 203F454
.space 0x4
gUnknown_203F458: @ 203F458
.space 0x4
.include "src/trainer_tower.o"
gUnknown_203F45C: @ 203F45C
.space 0x8
gUnknown_203F460: @ 203F460
.space 0x4
gUnknown_203F464: @ 203F464
.space 0x1