Merge branch 'master' of github.com:pret/pokeemerald

This commit is contained in:
Diegoisawesome
2018-09-08 02:43:19 -05:00
8 changed files with 560 additions and 1036 deletions

View File

@@ -1,40 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gOamData_861F378:: @ 861F378
.2byte 0x0100, 0xc000, 0x0400, 0x0000
.align 2
gSpriteAnim_861F380:: @ 861F380
.2byte 0x0000, 0x0004, 0xffff, 0x0000
.align 2
gSpriteAnimTable_861F388:: @ 861F388
.4byte gSpriteAnim_861F380
.align 2
gSpriteAffineAnim_861F38C:: @ 861F38C
.2byte 0x0100, 0x0100, 0x0000, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
.align 2
gSpriteAffineAnim_861F39C:: @ 861F39C
.2byte 0x0000, 0x0000, 0x02fe, 0x0000, 0x0000, 0x0000, 0x0402, 0x0000, 0x0000, 0x0000, 0x04fe, 0x0000, 0x0000, 0x0000, 0x0202, 0x0000
.2byte 0x7fff, 0x0000, 0x0000, 0x0000
.align 2
gSpriteAffineAnimTable_861F3C4:: @ 861F3C4
.4byte gSpriteAffineAnim_861F38C
.4byte gSpriteAffineAnim_861F39C
.align 2
gUnknown_0861F3CC:: @ 861F3CC
obj_tiles gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024
.align 2
gUnknown_0861F3D4:: @ 861F3D4
spr_template 0x1024, 0x1024, gOamData_861F378, gSpriteAnimTable_861F388, NULL, gSpriteAffineAnimTable_861F3C4, SpriteCallbackDummy

View File

@@ -1,689 +0,0 @@
.align 2
gBerries:: @ 858A670
.string "CHERI$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 20 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Cheri
.4byte gBerryDescriptionPart2_Cheri
.byte 3 @ stage duration (in hours)
.byte 10 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "CHESTO$", 7
.byte BERRY_FIRMNESS_SUPER_HARD
.2byte 80 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Chesto
.4byte gBerryDescriptionPart2_Chesto
.byte 3 @ stage duration (in hours)
.byte 0 @ spicy
.byte 10 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "PECHA$", 7
.byte BERRY_FIRMNESS_VERY_SOFT
.2byte 40 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Pecha
.4byte gBerryDescriptionPart2_Pecha
.byte 3 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 10 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "RAWST$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 32 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Rawst
.4byte gBerryDescriptionPart2_Rawst
.byte 3 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 10 @ bitter
.byte 0 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "ASPEAR$", 7
.byte BERRY_FIRMNESS_SUPER_HARD
.2byte 50 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Aspear
.4byte gBerryDescriptionPart2_Aspear
.byte 3 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 10 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "LEPPA$", 7
.byte BERRY_FIRMNESS_VERY_HARD
.2byte 28 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Leppa
.4byte gBerryDescriptionPart2_Leppa
.byte 4 @ stage duration (in hours)
.byte 10 @ spicy
.byte 0 @ dry
.byte 10 @ sweet
.byte 10 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "ORAN$", 7
.byte BERRY_FIRMNESS_SUPER_HARD
.2byte 35 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Oran
.4byte gBerryDescriptionPart2_Oran
.byte 3 @ stage duration (in hours)
.byte 10 @ spicy
.byte 10 @ dry
.byte 10 @ sweet
.byte 10 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "PERSIM$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 47 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Persim
.4byte gBerryDescriptionPart2_Persim
.byte 3 @ stage duration (in hours)
.byte 10 @ spicy
.byte 10 @ dry
.byte 10 @ sweet
.byte 10 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "LUM$", 7
.byte BERRY_FIRMNESS_SUPER_HARD
.2byte 34 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Lum
.4byte gBerryDescriptionPart2_Lum
.byte 12 @ stage duration (in hours)
.byte 10 @ spicy
.byte 10 @ dry
.byte 10 @ sweet
.byte 10 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "SITRUS$", 7
.byte BERRY_FIRMNESS_VERY_HARD
.2byte 95 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Sitrus
.4byte gBerryDescriptionPart2_Sitrus
.byte 6 @ stage duration (in hours)
.byte 10 @ spicy
.byte 10 @ dry
.byte 10 @ sweet
.byte 10 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "FIGY$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 100 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Figy
.4byte gBerryDescriptionPart2_Figy
.byte 6 @ stage duration (in hours)
.byte 10 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "WIKI$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 115 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Wiki
.4byte gBerryDescriptionPart2_Wiki
.byte 6 @ stage duration (in hours)
.byte 0 @ spicy
.byte 10 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "MAGO$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 126 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Mago
.4byte gBerryDescriptionPart2_Mago
.byte 6 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 10 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "AGUAV$", 7
.byte BERRY_FIRMNESS_SUPER_HARD
.2byte 64 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Aguav
.4byte gBerryDescriptionPart2_Aguav
.byte 6 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 10 @ bitter
.byte 0 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "IAPAPA$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 223 @ size (in millimeters)
.byte 3 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Iapapa
.4byte gBerryDescriptionPart2_Iapapa
.byte 6 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 10 @ sour
.byte 25 @ smoothness
.byte 0 @ padding
.string "RAZZ$", 7
.byte BERRY_FIRMNESS_VERY_HARD
.2byte 120 @ size (in millimeters)
.byte 6 @ max yield
.byte 3 @ min yield
.4byte gBerryDescriptionPart1_Razz
.4byte gBerryDescriptionPart2_Razz
.byte 1 @ stage duration (in hours)
.byte 10 @ spicy
.byte 10 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "BLUK$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 108 @ size (in millimeters)
.byte 6 @ max yield
.byte 3 @ min yield
.4byte gBerryDescriptionPart1_Bluk
.4byte gBerryDescriptionPart2_Bluk
.byte 1 @ stage duration (in hours)
.byte 0 @ spicy
.byte 10 @ dry
.byte 10 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "NANAB$", 7
.byte BERRY_FIRMNESS_VERY_HARD
.2byte 77 @ size (in millimeters)
.byte 6 @ max yield
.byte 3 @ min yield
.4byte gBerryDescriptionPart1_Nanab
.4byte gBerryDescriptionPart2_Nanab
.byte 1 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 10 @ sweet
.byte 10 @ bitter
.byte 0 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "WEPEAR$", 7
.byte BERRY_FIRMNESS_SUPER_HARD
.2byte 74 @ size (in millimeters)
.byte 6 @ max yield
.byte 3 @ min yield
.4byte gBerryDescriptionPart1_Wepear
.4byte gBerryDescriptionPart2_Wepear
.byte 1 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 10 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "PINAP$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 80 @ size (in millimeters)
.byte 6 @ max yield
.byte 3 @ min yield
.4byte gBerryDescriptionPart1_Pinap
.4byte gBerryDescriptionPart2_Pinap
.byte 1 @ stage duration (in hours)
.byte 10 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "POMEG$", 7
.byte BERRY_FIRMNESS_VERY_HARD
.2byte 135 @ size (in millimeters)
.byte 6 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Pomeg
.4byte gBerryDescriptionPart2_Pomeg
.byte 3 @ stage duration (in hours)
.byte 10 @ spicy
.byte 0 @ dry
.byte 10 @ sweet
.byte 10 @ bitter
.byte 0 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "KELPSY$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 150 @ size (in millimeters)
.byte 6 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Kelpsy
.4byte gBerryDescriptionPart2_Kelpsy
.byte 3 @ stage duration (in hours)
.byte 0 @ spicy
.byte 10 @ dry
.byte 0 @ sweet
.byte 10 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "QUALOT$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 110 @ size (in millimeters)
.byte 6 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Qualot
.4byte gBerryDescriptionPart2_Qualot
.byte 3 @ stage duration (in hours)
.byte 10 @ spicy
.byte 0 @ dry
.byte 10 @ sweet
.byte 0 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "HONDEW$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 162 @ size (in millimeters)
.byte 6 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Hondew
.4byte gBerryDescriptionPart2_Hondew
.byte 3 @ stage duration (in hours)
.byte 10 @ spicy
.byte 10 @ dry
.byte 0 @ sweet
.byte 10 @ bitter
.byte 0 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "GREPA$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 149 @ size (in millimeters)
.byte 6 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Grepa
.4byte gBerryDescriptionPart2_Grepa
.byte 3 @ stage duration (in hours)
.byte 0 @ spicy
.byte 10 @ dry
.byte 10 @ sweet
.byte 0 @ bitter
.byte 10 @ sour
.byte 20 @ smoothness
.byte 0 @ padding
.string "TAMATO$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 200 @ size (in millimeters)
.byte 4 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Tamato
.4byte gBerryDescriptionPart2_Tamato
.byte 6 @ stage duration (in hours)
.byte 20 @ spicy
.byte 10 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 30 @ smoothness
.byte 0 @ padding
.string "CORNN$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 75 @ size (in millimeters)
.byte 4 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Cornn
.4byte gBerryDescriptionPart2_Cornn
.byte 6 @ stage duration (in hours)
.byte 0 @ spicy
.byte 20 @ dry
.byte 10 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 30 @ smoothness
.byte 0 @ padding
.string "MAGOST$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 140 @ size (in millimeters)
.byte 4 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Magost
.4byte gBerryDescriptionPart2_Magost
.byte 6 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 20 @ sweet
.byte 10 @ bitter
.byte 0 @ sour
.byte 30 @ smoothness
.byte 0 @ padding
.string "RABUTA$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 226 @ size (in millimeters)
.byte 4 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Rabuta
.4byte gBerryDescriptionPart2_Rabuta
.byte 6 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 20 @ bitter
.byte 10 @ sour
.byte 30 @ smoothness
.byte 0 @ padding
.string "NOMEL$", 7
.byte BERRY_FIRMNESS_SUPER_HARD
.2byte 285 @ size (in millimeters)
.byte 4 @ max yield
.byte 2 @ min yield
.4byte gBerryDescriptionPart1_Nomel
.4byte gBerryDescriptionPart2_Nomel
.byte 6 @ stage duration (in hours)
.byte 10 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 20 @ sour
.byte 30 @ smoothness
.byte 0 @ padding
.string "SPELON$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 133 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Spelon
.4byte gBerryDescriptionPart2_Spelon
.byte 18 @ stage duration (in hours)
.byte 40 @ spicy
.byte 10 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 70 @ smoothness
.byte 0 @ padding
.string "PAMTRE$", 7
.byte BERRY_FIRMNESS_VERY_SOFT
.2byte 244 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Pamtre
.4byte gBerryDescriptionPart2_Pamtre
.byte 18 @ stage duration (in hours)
.byte 0 @ spicy
.byte 40 @ dry
.byte 10 @ sweet
.byte 0 @ bitter
.byte 0 @ sour
.byte 70 @ smoothness
.byte 0 @ padding
.string "WATMEL$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 250 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Watmel
.4byte gBerryDescriptionPart2_Watmel
.byte 18 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 40 @ sweet
.byte 10 @ bitter
.byte 0 @ sour
.byte 70 @ smoothness
.byte 0 @ padding
.string "DURIN$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 280 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Durin
.4byte gBerryDescriptionPart2_Durin
.byte 18 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 40 @ bitter
.byte 10 @ sour
.byte 70 @ smoothness
.byte 0 @ padding
.string "BELUE$", 7
.byte BERRY_FIRMNESS_VERY_SOFT
.2byte 300 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Belue
.4byte gBerryDescriptionPart2_Belue
.byte 18 @ stage duration (in hours)
.byte 10 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 40 @ sour
.byte 70 @ smoothness
.byte 0 @ padding
.string "LIECHI$", 7
.byte BERRY_FIRMNESS_VERY_HARD
.2byte 111 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Liechi
.4byte gBerryDescriptionPart2_Liechi
.byte 24 @ stage duration (in hours)
.byte 40 @ spicy
.byte 0 @ dry
.byte 40 @ sweet
.byte 0 @ bitter
.byte 10 @ sour
.byte 80 @ smoothness
.byte 0 @ padding
.string "GANLON$", 7
.byte BERRY_FIRMNESS_VERY_HARD
.2byte 33 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Ganlon
.4byte gBerryDescriptionPart2_Ganlon
.byte 24 @ stage duration (in hours)
.byte 0 @ spicy
.byte 40 @ dry
.byte 0 @ sweet
.byte 40 @ bitter
.byte 0 @ sour
.byte 80 @ smoothness
.byte 0 @ padding
.string "SALAC$", 7
.byte BERRY_FIRMNESS_VERY_HARD
.2byte 95 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Salac
.4byte gBerryDescriptionPart2_Salac
.byte 24 @ stage duration (in hours)
.byte 0 @ spicy
.byte 0 @ dry
.byte 40 @ sweet
.byte 0 @ bitter
.byte 40 @ sour
.byte 80 @ smoothness
.byte 0 @ padding
.string "PETAYA$", 7
.byte BERRY_FIRMNESS_VERY_HARD
.2byte 237 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Petaya
.4byte gBerryDescriptionPart2_Petaya
.byte 24 @ stage duration (in hours)
.byte 40 @ spicy
.byte 0 @ dry
.byte 0 @ sweet
.byte 40 @ bitter
.byte 0 @ sour
.byte 80 @ smoothness
.byte 0 @ padding
.string "APICOT$", 7
.byte BERRY_FIRMNESS_HARD
.2byte 75 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Apicot
.4byte gBerryDescriptionPart2_Apicot
.byte 24 @ stage duration (in hours)
.byte 0 @ spicy
.byte 40 @ dry
.byte 0 @ sweet
.byte 0 @ bitter
.byte 40 @ sour
.byte 80 @ smoothness
.byte 0 @ padding
.string "LANSAT$", 7
.byte BERRY_FIRMNESS_SOFT
.2byte 97 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Lansat
.4byte gBerryDescriptionPart2_Lansat
.byte 24 @ stage duration (in hours)
.byte 10 @ spicy
.byte 10 @ dry
.byte 10 @ sweet
.byte 10 @ bitter
.byte 10 @ sour
.byte 30 @ smoothness
.byte 0 @ padding
.string "STARF$", 7
.byte BERRY_FIRMNESS_SUPER_HARD
.2byte 153 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Starf
.4byte gBerryDescriptionPart2_Starf
.byte 24 @ stage duration (in hours)
.byte 10 @ spicy
.byte 10 @ dry
.byte 10 @ sweet
.byte 10 @ bitter
.byte 10 @ sour
.byte 30 @ smoothness
.byte 0 @ padding
.string "ENIGMA$", 7
.byte BERRY_FIRMNESS_UNKNOWN
.2byte 0 @ size (in millimeters)
.byte 2 @ max yield
.byte 1 @ min yield
.4byte gBerryDescriptionPart1_Enigma
.4byte gBerryDescriptionPart2_Enigma
.byte 24 @ stage duration (in hours)
.byte 40 @ spicy
.byte 40 @ dry
.byte 40 @ sweet
.byte 40 @ bitter
.byte 40 @ sour
.byte 40 @ smoothness
.byte 0 @ padding

View File

@@ -1,103 +0,0 @@
@ the third big chunk of data
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2, 0
gUnknown_084974B8:: @ 84974B8
.4byte PlayerAvatarTransition_Normal
.4byte PlayerAvatarTransition_MachBike
.4byte PlayerAvatarTransition_AcroBike
.4byte PlayerAvatarTransition_Surfing
.4byte PlayerAvatarTransition_Underwater
.4byte PlayerAvatarTransition_ReturnToField
.4byte PlayerAvatarTransition_Dummy
.4byte PlayerAvatarTransition_Dummy
gUnknown_084974D8:: @ 84974D8
.4byte MetatileBehavior_IsSouthArrowWarp
.4byte MetatileBehavior_IsNorthArrowWarp
.4byte MetatileBehavior_IsWestArrowWarp
.4byte MetatileBehavior_IsEastArrowWarp
gUnknown_084974E8:: @ 84974E8
.byte 0x64, 0x69, 0x65, 0x6a, 0x66, 0x6b, 0x67, 0x6c, 0x6f, 0x70, 0x68, 0x6d, 0x89, 0x8a, 0xbf, 0xc0
gUnknown_084974F8:: @ 84974F8
.byte 0x00, 0x59, 0x01, 0x5a, 0x3f, 0x5b, 0x02, 0x5c, 0x6f, 0x70, 0x03, 0x5d, 0x89, 0x8a, 0xbf, 0xc0
gUnknown_08497508:: @ 8497508
.byte 0xe6, 0xe7
gUnknown_0849750A:: @ 849750A
.byte 0xeb, 0xec
gUnknown_0849750C:: @ 849750C
.byte 0x00, 0x01, 0x01, 0x02, 0x3f, 0x04, 0x02, 0x08, 0x6f, 0x10, 0x59, 0x01, 0x5a, 0x02, 0x5b, 0x04, 0x5c, 0x08, 0x70, 0x10
gUnknown_08497520:: @ 8497520
.4byte MetatileBehavior_IsSouthArrowWarp
.4byte MetatileBehavior_IsNorthArrowWarp
.4byte MetatileBehavior_IsWestArrowWarp
.4byte MetatileBehavior_IsEastArrowWarp
gUnknown_08497530:: @ 8497530
.4byte sub_808C3A4
.4byte do_boulder_dust
.4byte sub_808C484
gUnknown_0849753C:: @ 849753C
.4byte sub_808C544
gUnknown_08497540:: @ 8497540
.4byte sub_808C61C
.4byte sub_808C644
.4byte sub_808C6BC
.4byte sub_808C6FC
gUnknown_08497550:: @ 8497550
.byte 3, 4, 2, 1
gUnknown_08497554:: @ 8497554
.byte 16, 16, 17, 18, 19
.align 2
gUnknown_0849755C:: @ 849755C
.4byte fish0
.4byte fish1
.4byte fish2
.4byte fish3
.4byte fish4
.4byte fish5
.4byte fish6
.4byte fish7
.4byte fish8
.4byte fish9
.4byte fishA_wait_for_a_pressed
.4byte fishB
.4byte fishC
.4byte fishD
.4byte fishE
.4byte fishF
gUnknown_0849759C:: @ 849759C
.2byte 1, 1, 1
gUnknown_084975A2:: @ 84975A2
.2byte 1, 3, 6
gUnknown_084975A8:: @ 84975A8
.string "·$"
gUnknown_084975AA:: @ 84975AA
.2byte 36, 33, 30
gUnknown_084975B0:: @ 84975B0
.2byte 0, 0
.2byte 0x28, 10
.2byte 0x46, 30
gUnknown_084975BC:: @ 84975BC
.byte 0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00

View File

@@ -1,159 +0,0 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.include "include/constants/species.h"
.section .rodata
.align 2
gBirchBagGrassPal:: @ 85B0A00
.incbin "graphics/misc/birch_bag.gbapal"
.incbin "graphics/misc/birch_grass.gbapal"
.align 2
gBirchBallarrow_Pal:: @ 85B0A40
.incbin "graphics/misc/birch_ballarrow.gbapal"
.align 2
gBirchCircle_Pal:: @ 85B0A60
.incbin "graphics/misc/birch_circle.gbapal"
.align 2
gBirchBagTilemap:: @ 85B0A80
.incbin "graphics/misc/birch_bag_map.bin.lz"
.align 2
gBirchGrassTilemap:: @ 85B0C0C
.incbin "graphics/misc/birch_grass_map.bin.lz"
.align 2
gBirchHelpGfx:: @ 85B0E04
.incbin "graphics/misc/birch_help.4bpp.lz"
.align 2
gUnknown_085B18AC:: @ 85B18AC
.incbin "graphics/misc/birch_ballarrow.4bpp.lz"
.align 2
gUnknown_085B1BCC:: @ 85B1BCC
.incbin "graphics/misc/birch_circle.4bpp.lz"
.align 2
gUnknown_085B1DCC:: @ 85B1DCC
window_template 0x00, 0x03, 0x0f, 0x18, 0x04, 0x0e, 0x0200
null_window_template
.align 2
gUnknown_085B1DDC:: @ 85B1DDC
window_template 0x00, 0x18, 0x09, 0x05, 0x04, 0x0e, 0x0260
.align 2
gUnknown_085B1DE4:: @ 85B1DE4
window_template 0x00, 0x00, 0x00, 0x0d, 0x04, 0x0e, 0x0274
sPokeballCoords:: @ 85B1DEC
.byte 0x3c, 0x40, 0x78, 0x58, 0xb4, 0x40
gStarterChoose_LabelCoords:: @ 85B1DF2
.byte 0x00, 0x09, 0x10, 0x0a, 0x08, 0x04
sStarterMon:: @ 85B1DF8
.2byte SPECIES_TREECKO
.2byte SPECIES_TORCHIC
.2byte SPECIES_MUDKIP
.align 2
gUnknown_085B1E00:: @ 85B1E00
.4byte 0x000001f8, 0x00003072, 0x00001063
gUnknown_085B1E0C:: @ 85B1E0C
.byte 0x00, 0x01, 0x03
.align 2
gOamData_85B1E10:: @ 85B1E10
.2byte 0x00a0, 0x8000, 0x0400, 0x0000
.align 2
gOamData_85B1E18:: @ 85B1E18
.2byte 0x00a0, 0x8000, 0x0400, 0x0000
.align 2
gOamData_85B1E20:: @ 85B1E20
.2byte 0x03a0, 0xc000, 0x0400, 0x0000
gUnknown_085B1E28:: @ 85B1E28
.byte 0x3c, 0x20, 0x78, 0x38, 0xb4, 0x20, 0x00, 0x00
.align 2
gSpriteAnim_85B1E30:: @ 85B1E30
.2byte 0x0030, 0x001e, 0xffff, 0x0000
.align 2
gSpriteAnim_85B1E38:: @ 85B1E38
.2byte 0x0000, 0x001e, 0xffff, 0x0000
.align 2
gSpriteAnim_85B1E40:: @ 85B1E40
.2byte 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004, 0x0010, 0x0004, 0x0000, 0x0004, 0x0020, 0x0004, 0x0000, 0x0004
.2byte 0x0000, 0x0020, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008, 0x0000, 0x0008, 0x0010, 0x0008, 0x0000, 0x0008, 0x0020, 0x0008
.2byte 0x0000, 0x0008, 0xfffe, 0x0000
.align 2
gSpriteAnim_85B1E88:: @ 85B1E88
.2byte 0x0000, 0x0008, 0xffff, 0x0000
.align 2
gSpriteAnimTable_85B1E90:: @ 85B1E90
.4byte gSpriteAnim_85B1E30
.align 2
gSpriteAnimTable_85B1E94:: @ 85B1E94
.4byte gSpriteAnim_85B1E38
.4byte gSpriteAnim_85B1E40
.align 2
gSpriteAnimTable_85B1E9C:: @ 85B1E9C
.4byte gSpriteAnim_85B1E88
.align 2
gSpriteAffineAnim_85B1EA0:: @ 85B1EA0
.2byte 0x0010, 0x0010, 0x0000, 0x0000, 0x0010, 0x0010, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
.align 2
gSpriteAffineAnim_85B1EB8:: @ 85B1EB8
.2byte 0x0014, 0x0014, 0x0000, 0x0000, 0x0014, 0x0014, 0x0f00, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000
.align 2
gUnknown_085B1ED0:: @ 85B1ED0
.4byte gSpriteAffineAnim_85B1EA0
.align 2
gSpriteAffineAnimTable_85B1ED4:: @ 85B1ED4
.4byte gSpriteAffineAnim_85B1EB8
.align 2
gUnknown_085B1ED8:: @ 85B1ED8
obj_tiles gUnknown_085B18AC, 0x0800, 0x1000
null_obj_tiles
.align 2
gUnknown_085B1EE8:: @ 85B1EE8
obj_tiles gUnknown_085B1BCC, 0x0800, 0x1001
null_obj_tiles
.align 2
gUnknown_085B1EF8:: @ 85B1EF8
obj_pal gBirchBallarrow_Pal, 0x1000
obj_pal gBirchCircle_Pal, 0x1001
null_obj_pal
.align 2
sSpriteTemplate_Hand:: @ 85B1F10
spr_template 0x1000, 0x1000, gOamData_85B1E10, gSpriteAnimTable_85B1E90, NULL, gDummySpriteAffineAnimTable, sub_81346DC
.align 2
sSpriteTemplate_PokeBall:: @ 85B1F28
spr_template 0x1000, 0x1000, gOamData_85B1E18, gSpriteAnimTable_85B1E94, NULL, gDummySpriteAffineAnimTable, sub_813473C
.align 2
gUnknown_085B1F40:: @ 85B1F40
spr_template 0x1001, 0x1001, gOamData_85B1E20, gSpriteAnimTable_85B1E9C, NULL, gSpriteAffineAnimTable_85B1ED4, StarterPokemonSpriteCallback

View File

@@ -409,7 +409,6 @@ SECTIONS {
src/metatile_behavior.o(.rodata);
src/field_door.o(.rodata);
src/field_player_avatar.o(.rodata);
data/field_player_avatar.o(.rodata);
src/event_object_movement.o(.rodata);
src/text_window.o(.rodata);
src/scrcmd.o(.rodata);
@@ -475,7 +474,7 @@ SECTIONS {
data/contest_painting.o(.rodata);
src/battle_ai_script_commands.o(.rodata);
src/trader.o(.rodata);
data/starter_choose.o(.rodata);
src/starter_choose.o(.rodata);
src/wallclock.o(.rodata);
src/pokeblock.o(.rodata);
src/fldeff_flash.o(.rodata);
@@ -545,7 +544,6 @@ SECTIONS {
src/pokemon_summary_screen.o(.rodata);
src/unk_pokedex_area_screen_helper.o(.rodata);
src/battle_pyramid_bag.o(.rodata);
data/battle_pyramid_bag.o(.rodata);
data/pokenav.o(.rodata);
src/match_call.o(.rodata);
data/pokenav.o(.rodata.after.match.call);

View File

@@ -42,6 +42,7 @@ extern const u8 gUnknown_08D9ADD0[];
extern const u8 gUnknown_08D9AE04[];
extern const u8 gUnknown_08D9AF44[];
extern const u16 gUnknown_0860F074[];
extern const u8 gBattleFrontierGfx_PyramidBag[];
// This file's functions.
static void Task_HandlePyramidBagInput(u8 taskId);
@@ -281,8 +282,67 @@ static const struct WindowTemplate gUnknown_0861F350[] =
},
};
extern const struct CompressedSpriteSheet gUnknown_0861F3CC;
extern const struct SpriteTemplate gUnknown_0861F3D4;
static const struct OamData gOamData_861F378 =
{
.y = 0,
.affineMode = 1,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 3,
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
.affineParam = 0,
};
static const union AnimCmd gSpriteAnim_861F380[] =
{
ANIMCMD_FRAME(0, 4),
ANIMCMD_END,
};
static const union AnimCmd * const gSpriteAnimTable_861F388[] =
{
gSpriteAnim_861F380,
};
static const union AffineAnimCmd gSpriteAffineAnim_861F38C[] =
{
AFFINEANIMCMD_FRAME(256, 256, 0, 0),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_861F39C[] =
{
AFFINEANIMCMD_FRAME(0, 0, 254, 2),
AFFINEANIMCMD_FRAME(0, 0, 2, 4),
AFFINEANIMCMD_FRAME(0, 0, 254, 4),
AFFINEANIMCMD_FRAME(0, 0, 2, 2),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd * const gSpriteAffineAnimTable_861F3C4[] =
{
gSpriteAffineAnim_861F38C,
gSpriteAffineAnim_861F39C,
};
static const struct CompressedSpriteSheet gUnknown_0861F3CC = {gBattleFrontierGfx_PyramidBag, 0x0800, 0x1024};
static const struct SpriteTemplate gUnknown_0861F3D4 =
{
.tileTag = 0x1024,
.paletteTag = 0x1024,
.oam = &gOamData_861F378,
.anims = gSpriteAnimTable_861F388,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_861F3C4,
.callback = SpriteCallbackDummy
};
// code
void sub_81C4EEC(void)

View File

@@ -1,17 +1,19 @@
#include "global.h"
#include "global.fieldmap.h"
#include "sprite.h"
#include "event_object_movement.h"
#include "bike.h"
#include "event_data.h"
#include "event_object_movement.h"
#include "field_player_avatar.h"
#include "fieldmap.h"
#include "global.fieldmap.h"
#include "metatile_behavior.h"
#include "metatile_behaviors.h"
#include "constants/flags.h"
#include "event_data.h"
#include "fieldmap.h"
#include "overworld.h"
#include "rotating_gate.h"
#include "sprite.h"
#include "task.h"
#include "constants/event_objects.h"
#include "constants/event_object_movement_constants.h"
#include "field_player_avatar.h"
#include "constants/flags.h"
extern void task_add_bump_boulder(u8, u8);
static bool8 ShouldJumpLedge(s16, s16, u8);
@@ -42,6 +44,42 @@ static void PlayerNotOnBikeTurningInPlace(u8, u16);
static void PlayerNotOnBikeMoving(u8, u16);
extern void sub_808C750(u8);
extern void PlayerAvatarTransition_Normal(struct EventObject *a);
extern void PlayerAvatarTransition_MachBike(struct EventObject *a);
extern void PlayerAvatarTransition_AcroBike(struct EventObject *a);
extern void PlayerAvatarTransition_Surfing(struct EventObject *a);
extern void PlayerAvatarTransition_Underwater(struct EventObject *a);
extern void PlayerAvatarTransition_ReturnToField(struct EventObject *a);
extern void PlayerAvatarTransition_Dummy(struct EventObject *a);
extern u8 sub_808C3A4(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
extern u8 do_boulder_dust(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
extern u8 sub_808C484(struct Task *task, struct EventObject *playerObject, struct EventObject *strengthObject);
extern u8 sub_808C544(struct Task *task, struct EventObject *eventObject);
extern u8 sub_808C61C(struct Task *task, struct EventObject *eventObject);
extern u8 sub_808C644(struct Task *task, struct EventObject *eventObject);
extern u8 sub_808C6BC(struct Task *task, struct EventObject *eventObject);
extern u8 sub_808C6FC(struct Task *task, struct EventObject *eventObject);
extern u8 fish0(struct Task *task);
extern u8 fish1(struct Task *task);
extern u8 fish2(struct Task *task);
extern u8 fish3(struct Task *task);
extern u8 fish4(struct Task *task);
extern u8 fish5(struct Task *task);
extern u8 fish6(struct Task *task);
extern u8 fish7(struct Task *task);
extern u8 fish8(struct Task *task);
extern u8 fish9(struct Task *task);
extern u8 fishA_wait_for_a_pressed(struct Task *task);
extern u8 fishB(struct Task *task);
extern u8 fishC(struct Task *task);
extern u8 fishD(struct Task *task);
extern u8 fishE(struct Task *task);
extern u8 fishF(struct Task *task);
static bool8 (*const gUnknown_084973FC[])(u8) =
{
MetatileBehavior_IsTrickHouseSlipperyFloor,
@@ -105,6 +143,144 @@ static bool8 (*const gUnknown_0849749C[])(u8) =
static const u8 gUnknown_084974B0[] = {9, 10, 11, 12, 13, 0, 0, 0};
void (*const gUnknown_084974B8[])(struct EventObject *) =
{
PlayerAvatarTransition_Normal,
PlayerAvatarTransition_MachBike,
PlayerAvatarTransition_AcroBike,
PlayerAvatarTransition_Surfing,
PlayerAvatarTransition_Underwater,
PlayerAvatarTransition_ReturnToField,
PlayerAvatarTransition_Dummy,
PlayerAvatarTransition_Dummy,
};
bool8 (*const gUnknown_084974D8[])(u8) =
{
MetatileBehavior_IsSouthArrowWarp,
MetatileBehavior_IsNorthArrowWarp,
MetatileBehavior_IsWestArrowWarp,
MetatileBehavior_IsEastArrowWarp,
};
const u8 gUnknown_084974E8[][2] =
{
{EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL},
{EVENT_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_RIVAL_MAY_MACH_BIKE},
{EVENT_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, EVENT_OBJ_GFX_RIVAL_MAY_ACRO_BIKE},
{EVENT_OBJ_GFX_RIVAL_BRENDAN_SURFING, EVENT_OBJ_GFX_RIVAL_MAY_SURFING},
{EVENT_OBJ_GFX_BRENDAN_UNDERWATER, EVENT_OBJ_GFX_MAY_UNDERWATER},
{EVENT_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, EVENT_OBJ_GFX_RIVAL_MAY_FIELD_MOVE},
{EVENT_OBJ_GFX_BRENDAN_FISHING, EVENT_OBJ_GFX_MAY_FISHING},
{EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING}
};
const u8 gUnknown_084974F8[][2] =
{
{EVENT_OBJ_GFX_BRENDAN_NORMAL, EVENT_OBJ_GFX_MAY_NORMAL},
{EVENT_OBJ_GFX_BRENDAN_MACH_BIKE, EVENT_OBJ_GFX_MAY_MACH_BIKE},
{EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE, EVENT_OBJ_GFX_MAY_ACRO_BIKE},
{EVENT_OBJ_GFX_BRENDAN_SURFING, EVENT_OBJ_GFX_MAY_SURFING},
{EVENT_OBJ_GFX_BRENDAN_UNDERWATER, EVENT_OBJ_GFX_MAY_UNDERWATER},
{EVENT_OBJ_GFX_BRENDAN_FIELD_MOVE, EVENT_OBJ_GFX_MAY_FIELD_MOVE},
{EVENT_OBJ_GFX_BRENDAN_FISHING, EVENT_OBJ_GFX_MAY_FISHING},
{EVENT_OBJ_GFX_BRENDAN_WATERING, EVENT_OBJ_GFX_MAY_WATERING},
};
const u8 gUnknown_08497508[] = {EVENT_OBJ_GFX_RED, EVENT_OBJ_GFX_LEAF};
const u8 gUnknown_0849750A[] = {EVENT_OBJ_GFX_LINK_RS_BRENDAN, EVENT_OBJ_GFX_LINK_RS_MAY};
const u8 gUnknown_0849750C[2][5][2] =
{
//male
{
{EVENT_OBJ_GFX_BRENDAN_NORMAL, 1},
{EVENT_OBJ_GFX_BRENDAN_MACH_BIKE, 2},
{EVENT_OBJ_GFX_BRENDAN_ACRO_BIKE, 4},
{EVENT_OBJ_GFX_BRENDAN_SURFING, 8},
{EVENT_OBJ_GFX_BRENDAN_UNDERWATER, 16},
},
//female
{
{EVENT_OBJ_GFX_MAY_NORMAL, 1},
{EVENT_OBJ_GFX_MAY_MACH_BIKE, 2},
{EVENT_OBJ_GFX_MAY_ACRO_BIKE, 4},
{EVENT_OBJ_GFX_MAY_SURFING, 8},
{EVENT_OBJ_GFX_MAY_UNDERWATER, 16},
}
};
bool8 (*const gUnknown_08497520[])(u8) = //Duplicate of sArrowWarpMetatileBehaviorChecks
{
MetatileBehavior_IsSouthArrowWarp,
MetatileBehavior_IsNorthArrowWarp,
MetatileBehavior_IsWestArrowWarp,
MetatileBehavior_IsEastArrowWarp,
};
u8 (*const gUnknown_08497530[])(struct Task *, struct EventObject *, struct EventObject *) =
{
sub_808C3A4,
do_boulder_dust,
sub_808C484,
};
u8 (*const gUnknown_0849753C[])(struct Task *, struct EventObject *) =
{
sub_808C544,
};
u8 (*const gUnknown_08497540[])(struct Task *, struct EventObject *) =
{
sub_808C61C,
sub_808C644,
sub_808C6BC,
sub_808C6FC,
};
const u8 gUnknown_08497550[] = {3, 4, 2, 1};
const u8 gUnknown_08497554[] = {16, 16, 17, 18, 19};
u8 (*const gUnknown_0849755C[])(struct Task *) =
{
fish0,
fish1,
fish2,
fish3,
fish4,
fish5,
fish6,
fish7,
fish8,
fish9,
fishA_wait_for_a_pressed,
fishB,
fishC,
fishD,
fishE,
fishF,
};
const u16 gUnknown_0849759C[] = {1, 1, 1};
const u16 gUnknown_084975A2[] = {1, 3, 6};
const u8 gUnknown_084975A8[] = _("·");
const u16 gUnknown_084975AA[] = {36, 33, 30};
const u16 gUnknown_084975B0[] =
{
0, 0,
0x28, 10,
0x46, 30,
};
const u8 gUnknown_084975BC[] = {0x01, 0x03, 0x04, 0x02, 0x01, 0x00, 0x00, 0x00};
// .text
void MovementType_Player(struct Sprite *sprite)
{
UpdateEventObjectCurrentMovement(&gEventObjects[sprite->data[0]], sprite, EventObjectCB2_NoMovement2);

View File

@@ -1,26 +1,27 @@
#include "global.h"
#include "starter_choose.h"
#include "palette.h"
#include "sprite.h"
#include "pokemon.h"
#include "task.h"
#include "bg.h"
#include "data2.h"
#include "decompress.h"
#include "event_data.h"
#include "gpu_regs.h"
#include "international_string_util.h"
#include "main.h"
#include "window.h"
#include "menu.h"
#include "palette.h"
#include "pokedex.h"
#include "pokemon.h"
#include "scanline_effect.h"
#include "sound.h"
#include "sprite.h"
#include "starter_choose.h"
#include "task.h"
#include "text.h"
#include "text_window.h"
#include "decompress.h"
#include "menu.h"
#include "sound.h"
#include "constants/songs.h"
#include "event_data.h"
#include "pokedex.h"
#include "data2.h"
#include "international_string_util.h"
#include "trig.h"
#include "scanline_effect.h"
#include "trainer_pokemon_sprites.h"
#include "trig.h"
#include "window.h"
#include "constants/songs.h"
#include "constants/species.h"
#define STARTER_MON_COUNT 3
@@ -32,23 +33,6 @@
extern const u8 gText_BirchInTrouble[];
extern const u8 gText_ConfirmStarterChoice[];
extern const u16 sStarterMon[STARTER_MON_COUNT];
extern const struct BgTemplate gUnknown_085B1E00[3];
extern const struct WindowTemplate gUnknown_085B1DCC[];
extern const struct WindowTemplate gUnknown_085B1DDC;
extern const struct CompressedSpriteSheet gUnknown_085B1ED8[];
extern const struct CompressedSpriteSheet gUnknown_085B1EE8[];
extern const struct SpritePalette gUnknown_085B1EF8[];
extern const struct SpriteTemplate sSpriteTemplate_PokeBall;
extern const struct SpriteTemplate sSpriteTemplate_Hand;
extern const struct SpriteTemplate gUnknown_085B1F40;
extern const union AffineAnimCmd *const gUnknown_085B1ED0;
extern const u8 sPokeballCoords[STARTER_MON_COUNT][2];
extern const struct WindowTemplate gUnknown_085B1DE4;
extern const u8 gStarterChoose_LabelCoords[][2];
extern const u8 gUnknown_085B1E0C[];
extern const u8 gUnknown_085B1E28[][2];
// this file's functions
static void MainCallback2_StarterChoose(void);
static void sub_8134604(void);
@@ -62,10 +46,307 @@ static void Task_MoveStarterChooseCursor(u8 taskId);
static void sub_8134668(u8 taskId);
static void CreateStarterPokemonLabel(u8 selection);
static u8 CreatePokemonFrontSprite(u16 species, u8 x, u8 y);
void sub_81346DC(struct Sprite *sprite);
void sub_813473C(struct Sprite *sprite);
void StarterPokemonSpriteCallback(struct Sprite *sprite);
static IWRAM_DATA u16 sStarterChooseWindowId;
// .rodata
const u16 gBirchBagGrassPal[][16] =
{
INCBIN_U16("graphics/misc/birch_bag.gbapal"),
INCBIN_U16("graphics/misc/birch_grass.gbapal"),
};
const u16 gBirchBallarrow_Pal[] = INCBIN_U16("graphics/misc/birch_ballarrow.gbapal");
const u16 gBirchCircle_Pal[] = INCBIN_U16("graphics/misc/birch_circle.gbapal");
const u8 gBirchBagTilemap[] = INCBIN_U8("graphics/misc/birch_bag_map.bin.lz");
const u8 gBirchGrassTilemap[] = INCBIN_U8("graphics/misc/birch_grass_map.bin.lz");
const u8 gBirchHelpGfx[] = INCBIN_U8("graphics/misc/birch_help.4bpp.lz");
const u8 gUnknown_085B18AC[] = INCBIN_U8("graphics/misc/birch_ballarrow.4bpp.lz");
const u8 gUnknown_085B1BCC[] = INCBIN_U8("graphics/misc/birch_circle.4bpp.lz");
static const struct WindowTemplate gUnknown_085B1DCC[] =
{
{
.priority = 0,
.tilemapLeft = 3,
.tilemapTop = 15,
.width = 24,
.height = 4,
.paletteNum = 14,
.baseBlock = 0x0200
},
DUMMY_WIN_TEMPLATE,
};
static const struct WindowTemplate gUnknown_085B1DDC =
{
.priority = 0,
.tilemapLeft = 24,
.tilemapTop = 9,
.width = 5,
.height = 4,
.paletteNum = 14,
.baseBlock = 0x0260
};
static const struct WindowTemplate gUnknown_085B1DE4 =
{
.priority = 0,
.tilemapLeft = 0,
.tilemapTop = 0,
.width = 13,
.height = 4,
.paletteNum = 14,
.baseBlock = 0x0274
};
static const u8 sPokeballCoords[STARTER_MON_COUNT][2] =
{
{0x3c, 0x40},
{0x78, 0x58},
{0xb4, 0x40},
};
static const u8 gStarterChoose_LabelCoords[][2] =
{
{0x00, 0x09},
{0x10, 0x0a},
{0x08, 0x04},
};
static const u16 sStarterMon[STARTER_MON_COUNT] =
{
SPECIES_TREECKO,
SPECIES_TORCHIC,
SPECIES_MUDKIP,
};
static const struct BgTemplate gUnknown_085B1E00[3] =
{
{
.bg = 0,
.charBaseIndex = 2,
.mapBaseIndex = 31,
.screenSize = 0,
.paletteMode = 0,
.priority = 0,
.baseTile = 0
},
{
.bg = 2,
.charBaseIndex = 0,
.mapBaseIndex = 7,
.screenSize = 0,
.paletteMode = 0,
.priority = 3,
.baseTile = 0
},
{
.bg = 3,
.charBaseIndex = 0,
.mapBaseIndex = 6,
.screenSize = 0,
.paletteMode = 0,
.priority = 1,
.baseTile = 0
},
};
static const u8 gUnknown_085B1E0C[] = {0x00, 0x01, 0x03};
static const struct OamData gOamData_85B1E10 =
{
.y = 160,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 2,
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
.affineParam = 0,
};
static const struct OamData gOamData_85B1E18 =
{
.y = 160,
.affineMode = 0,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 2,
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
.affineParam = 0,
};
static const struct OamData gOamData_85B1E20 =
{
.y = 160,
.affineMode = 3,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 3,
.tileNum = 0,
.priority = 1,
.paletteNum = 0,
.affineParam = 0,
};
static const u8 gUnknown_085B1E28[][2] =
{
{0x3c, 0x20},
{0x78, 0x38},
{0xb4, 0x20},
};
static const union AnimCmd gSpriteAnim_85B1E30[] =
{
ANIMCMD_FRAME(48, 30),
ANIMCMD_END,
};
static const union AnimCmd gSpriteAnim_85B1E38[] =
{
ANIMCMD_FRAME(0, 30),
ANIMCMD_END,
};
static const union AnimCmd gSpriteAnim_85B1E40[] =
{
ANIMCMD_FRAME(16, 4),
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(32, 4),
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(16, 4),
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(32, 4),
ANIMCMD_FRAME(0, 4),
ANIMCMD_FRAME(0, 32),
ANIMCMD_FRAME(16, 8),
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(32, 8),
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(16, 8),
ANIMCMD_FRAME(0, 8),
ANIMCMD_FRAME(32, 8),
ANIMCMD_FRAME(0, 8),
ANIMCMD_JUMP(0),
};
static const union AnimCmd gSpriteAnim_85B1E88[] =
{
ANIMCMD_FRAME(0, 8),
ANIMCMD_END,
};
static const union AnimCmd * const gSpriteAnimTable_85B1E90[] =
{
gSpriteAnim_85B1E30,
};
static const union AnimCmd * const gSpriteAnimTable_85B1E94[] =
{
gSpriteAnim_85B1E38,
gSpriteAnim_85B1E40,
};
static const union AnimCmd * const gSpriteAnimTable_85B1E9C[] =
{
gSpriteAnim_85B1E88,
};
static const union AffineAnimCmd gSpriteAffineAnim_85B1EA0[] =
{
AFFINEANIMCMD_FRAME(16, 16, 0, 0),
AFFINEANIMCMD_FRAME(16, 16, 0, 15),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd gSpriteAffineAnim_85B1EB8[] =
{
AFFINEANIMCMD_FRAME(20, 20, 0, 0),
AFFINEANIMCMD_FRAME(20, 20, 0, 15),
AFFINEANIMCMD_END,
};
static const union AffineAnimCmd * const gUnknown_085B1ED0 = {gSpriteAffineAnim_85B1EA0};
static const union AffineAnimCmd * const gSpriteAffineAnimTable_85B1ED4[] = {gSpriteAffineAnim_85B1EB8};
static const struct CompressedSpriteSheet gUnknown_085B1ED8[] =
{
gUnknown_085B18AC, 0x0800, 0x1000,
NULL,
};
static const struct CompressedSpriteSheet gUnknown_085B1EE8[] =
{
gUnknown_085B1BCC, 0x0800, 0x1001,
NULL,
};
static const struct SpritePalette gUnknown_085B1EF8[] =
{
gBirchBallarrow_Pal, 0x1000,
gBirchCircle_Pal, 0x1001,
NULL,
};
static const struct SpriteTemplate sSpriteTemplate_Hand =
{
.tileTag = 0x1000,
.paletteTag = 0x1000,
.oam = &gOamData_85B1E10,
.anims = gSpriteAnimTable_85B1E90,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_81346DC
};
static const struct SpriteTemplate sSpriteTemplate_PokeBall =
{
.tileTag = 0x1000,
.paletteTag = 0x1000,
.oam = &gOamData_85B1E18,
.anims = gSpriteAnimTable_85B1E94,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_813473C
};
static const struct SpriteTemplate gUnknown_085B1F40 =
{
.tileTag = 0x1001,
.paletteTag = 0x1001,
.oam = &gOamData_85B1E20,
.anims = gSpriteAnimTable_85B1E9C,
.images = NULL,
.affineAnims = gSpriteAffineAnimTable_85B1ED4,
.callback = StarterPokemonSpriteCallback
};
// .text
u16 GetStarterPokemon(u16 chosenStarterId)
{
if (chosenStarterId > STARTER_MON_COUNT)