Keep table labels in the same files as their contents.

This commit is contained in:
Remy Oukaour 2017-12-11 22:44:25 -05:00
parent fe9cb90049
commit f1f84743f7
67 changed files with 667 additions and 639 deletions

View File

@ -4,19 +4,10 @@ INCLUDE "includes.asm"
SECTION "Audio", ROMX
INCLUDE "audio/engine.asm"
TrainerEncounterMusic::
INCLUDE "trainers/encounter_music.asm"
Music:
INCLUDE "audio/music_pointers.asm"
INCLUDE "audio/music/nothing.asm"
Cries:
INCLUDE "audio/cry_pointers.asm"
SFX:
INCLUDE "audio/sfx_pointers.asm"

View File

@ -1,4 +1,4 @@
; e91b0
Cries: ; e91b0
dba Cry_Nidoran_M
dba Cry_Nidoran_F
dba Cry_Slowpoke

View File

@ -1,6 +1,8 @@
; See song sections in audio.asm.
; e906e
Music: ; e906e
; entries correspond to MUSIC_* constants
dba Music_Nothing ; 0xe91a3
dba Music_TitleScreen ; 0xeb808
dba Music_Route1 ; 0xec000

View File

@ -1,4 +1,6 @@
; e927c
SFX: ; e927c
; entries correspond to SFX_* constants
dba Sfx_DexFanfare5079
dba Sfx_Item
dba Sfx_CaughtMon

View File

@ -1,3 +1,4 @@
MoveNames::
db "POUND@"
db "KARATE CHOP@"
db "DOUBLESLAP@"

View File

@ -450,9 +450,7 @@ GetBallAnimPal: ; cd249 (33:5249)
ret
; cd26c (33:526c)
BallColors:
INCLUDE "data/ball_colors.asm"
; cd284
BattleAnimFunction_10: ; cd284 (33:5284)
call BattleAnim_AnonJumptable

View File

@ -380,7 +380,7 @@ SPRITEMOVEDATA_FIELDS EQU 6
const SPRITEANIMSTRUCT_0E ; e
const SPRITEANIMSTRUCT_0F ; f
; SpriteAnimFrameData indexes (see data/sprite_engine.asm)
; SpriteAnimFrameData indexes (see data/sprite_anim_frames.asm)
const_def
const SPRITE_ANIM_FRAMESET_00
const SPRITE_ANIM_FRAMESET_PARTY_MON
@ -535,7 +535,7 @@ SPRITEMOVEDATA_FIELDS EQU 6
const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
const SPRITE_ANIM_INDEX_CELEBI
; SpriteAnimOAMData indexes (see data/sprite_engine.asm)
; SpriteAnimOAMData indexes (see data/sprite_anim_oam.asm)
const_def
const SPRITE_ANIM_FRAME_IDX_00
const SPRITE_ANIM_FRAME_IDX_01

View File

@ -1,4 +1,6 @@
; colors of balls thrown in battle
BallColors: ; cd26c (33:526c)
db MASTER_BALL, PAL_BATTLE_OB_GREEN
db ULTRA_BALL, PAL_BATTLE_OB_YELLOW
db GREAT_BALL, PAL_BATTLE_OB_BLUE
@ -11,3 +13,4 @@
db MOON_BALL, PAL_BATTLE_OB_GRAY
db LOVE_BALL, PAL_BATTLE_OB_RED
db -1, PAL_BATTLE_OB_GRAY
; cd284

View File

@ -1,3 +1,4 @@
BaseData::
INCLUDE "data/base_stats/bulbasaur.asm"
INCLUDE "data/base_stats/ivysaur.asm"
INCLUDE "data/base_stats/venusaur.asm"

View File

@ -5,6 +5,8 @@ decoration: MACRO
db \5
ENDM
DecorationAttributes: ; 26a4f
; entries correspond to deco constants
decoration DECO_PLANT, $00, $0, EVENT_GAVE_KURT_APRICORNS, $00
decoration DECO_PLANT, PUT_IT_AWAY, PUT_AWAY_BED, EVENT_GAVE_KURT_APRICORNS, $00
decoration DECO_BED, FEATHERY_BED, SET_UP_BED, EVENT_DECO_BED_1, $1b
@ -58,3 +60,4 @@ ENDM
decoration DECO_DOLL, TENTACOOL, SET_UP_DOLL, EVENT_DECO_TENTACOOL_DOLL, SPRITE_TENTACOOL
decoration DECO_PLANT, GOLD_TROPHY, SET_UP_DOLL, EVENT_DECO_GOLD_TROPHY, SPRITE_GOLD_TROPHY
decoration DECO_PLANT, SILVER_TROPHY, SET_UP_DOLL, EVENT_DECO_SILVER_TROPHY, SPRITE_SILVER_TROPHY
; 26b8d

View File

@ -1,3 +1,4 @@
DefaultOptions: ; 14f7c
; Options: med text speed
db TEXT_DELAY_MED
; wSaveFileExists: no
@ -14,3 +15,4 @@
db $00
; $cfd3: ??
db $00
; 14f84

View File

@ -1,3 +1,4 @@
EggMovePointers:: ; 0x23b11
dw BulbasaurEggMoves
dw NoEggMoves
dw NoEggMoves
@ -253,3 +254,4 @@ endc
dw NoEggMoves
dw NoEggMoves
dw NoEggMoves
; 0x23d07

View File

@ -10,7 +10,6 @@ SECTION "Egg Moves", ROMX
; and can only breed with Ditto.
EggMovePointers:: ; 0x23b11
INCLUDE "data/egg_move_pointers.asm"

View File

@ -5,6 +5,7 @@ emote_header: MACRO
dw VTiles1 tile \3
ENDM
EmotesPointers: ; 144d
; entries correspond to EMOTE_* constants
emote_header ShockEmote, 4, $78
emote_header QuestionEmote, 4, $78
@ -18,3 +19,4 @@ ENDM
emote_header FishingRodGFX, 2, $7c
emote_header BoulderDustGFX, 2, $7e
emote_header GrassRustleGFX, 1, $7e
; 14495

View File

@ -2,6 +2,7 @@ engine_flag: MACRO
dwb \1, 1 << \2
ENDM
EngineFlags: ; 80462
; location, bit
; (all locations are in WRAM bank 1)
@ -201,3 +202,5 @@ ENDM
engine_flag SwarmFlags, 2 ; dunsparce swarm ; $a0
engine_flag SwarmFlags, 3 ; yanma swarm
; 80648

View File

@ -4,7 +4,6 @@ INCLUDE "includes.asm"
SECTION "Evolutions and Attacks", ROMX
EvosAttacksPointers:: ; 0x425b1
INCLUDE "data/evos_attacks_pointers.asm"

View File

@ -1,5 +1,6 @@
; Evolutions and attacks are grouped together since they're both checked at level-up.
EvosAttacksPointers:: ; 0x425b1
dw BulbasaurEvosAttacks
dw IvysaurEvosAttacks
dw VenusaurEvosAttacks
@ -251,3 +252,4 @@
dw LugiaEvosAttacks
dw HoOhEvosAttacks
dw CelebiEvosAttacks
; 0x427a7

View File

@ -1,5 +1,5 @@
FruitTreeItems: ; 44097
; entries correspond to FRUITTREE_* constants
db BERRY ; ROUTE_29
db BERRY ; ROUTE_30_1
db BERRY ; ROUTE_38
@ -30,3 +30,4 @@
db ICE_BERRY ; PEWTER_CITY_1
db MINT_BERRY ; PEWTER_CITY_2
db BURNT_BERRY ; FUCHSIA_CITY
; 440b5

View File

@ -1,5 +1,5 @@
HappinessChanges:
; entries correspond to HAPPINESS_* constants
; change if happiness < 100, change if happiness < 200, change otherwise
db +5, +3, +2 ; Gained a level
db +5, +3, +2 ; Vitamin

View File

@ -1,4 +1,6 @@
; HM moves can't be forgotten
HMMoves: ; 34f0
db CUT
db FLY
db SURF
@ -7,3 +9,4 @@
db WATERFALL
db WHIRLPOOL
db -1 ; end
; 34f8

View File

@ -4,6 +4,7 @@ landmark: MACRO
dw \3
ENDM
Landmarks: ; 0x1ca8c3
; entries correspond to constants/landmark_constants.asm
landmark 0, 0, SpecialMapName
landmark 148, 116, NewBarkTownName
@ -101,7 +102,7 @@ ENDM
landmark 20, 116, TohjoFallsName
landmark 28, 84, Route28Name
landmark 148, 132, FastShipName
; 0x1caa43
NewBarkTownName: db "NEW BARK¯TOWN@"
CherrygroveCityName: db "CHERRYGROVE¯CITY@"

View File

@ -7,7 +7,6 @@ MailEntry_Uppercase: ; 122dd
db "1 2 3 4 5 6 7 8 9 0"
db "<PK> <MN> <PO> <KE> é ♂ ♀ ¥ … ×"
db "lower DEL END "
; 1224f
MailEntry_Lowercase: ; 1224f
@ -17,3 +16,4 @@ MailEntry_Lowercase: ; 1224f
db "'d 'l 'm 'r 's 't 'v & ( )"
db "<``> <''> [ ] ' : ; "
db "UPPER DEL END "
; 122c1

View File

@ -1,10 +1,10 @@
; entries correspond to SPRITEMOVEDATA_* constants
sprite_movement_data: macro
db \1, \2, \3, \4, \5
dn \6, 0
endm
SpriteMovementData:: ; 4273
; entries correspond to SPRITEMOVEDATA_* constants
; function, facing, action, flags1, flags2, palette flags
sprite_movement_data SPRITEMOVEFN_00, DOWN, PERSON_ACTION_STAND, $02, $00, %0000 ; 00
sprite_movement_data SPRITEMOVEFN_STANDING, DOWN, PERSON_ACTION_STAND, $0c, $00, %0000 ; 01
@ -44,3 +44,4 @@ endm
sprite_movement_data SPRITEMOVEFN_GRASS, DOWN, PERSON_ACTION_GRASS_SHAKE, $8e, $02, %0000 ; 23
sprite_movement_data SPRITEMOVEFN_RANDOM_WALK_XY, DOWN, PERSON_ACTION_STAND, $00, $00, %0010 ; 24
sprite_movement_data SPRITEMOVEFN_00, DOWN, PERSON_ACTION_STAND, $00, $00, %0000 ; 25
; 4357

View File

@ -5,6 +5,7 @@ trigger_def: MACRO
dw \2
ENDM
MapTriggers:: ; 4d01e
trigger_def POKECENTER_2F, wPokecenter2FTrigger
trigger_def TRADE_CENTER, wTradeCenterTrigger
trigger_def COLOSSEUM, wColosseumTrigger
@ -85,3 +86,4 @@ ENDM
trigger_def MOBILE_TRADE_ROOM_MOBILE, wMobileTradeRoomMobileTrigger
trigger_def MOBILE_BATTLE_ROOM, wMobileBattleRoomTrigger
db -1
; 4d15b

View File

@ -1,4 +1,6 @@
; valid roofs: 0, 1, 2, 3, 4; -1 for none
; valid roofs: 0, 1, 2, 3, 4, or -1 for none
MapGroupRoofs: ; 1c021i
db -1 ; group 0 (unused)
db 3 ; group 1 (Olivine)
db 2 ; group 2 (Mahogany)
@ -26,3 +28,4 @@
db 0 ; group 24 (New Bark)
db -1 ; group 25
db 0 ; group 26 (Cherrygrove)
; 1c03c

View File

@ -1,4 +1,6 @@
; party menu icons
MonMenuIcons: ; 8eac4
db ICON_BULBASAUR ; BULBASAUR
db ICON_BULBASAUR ; IVYSAUR
db ICON_BULBASAUR ; VENUSAUR
@ -250,3 +252,4 @@
db ICON_LUGIA ; LUGIA
db ICON_HO_OH ; HO_OH
db ICON_HUMANSHAPE ; CELEBI
; 8ebbf

View File

@ -1,3 +1,7 @@
TRADE_EITHER_GENDER EQU 0
TRADE_MALE_ONLY EQU 1
TRADE_FEMALE_ONLY EQU 2
npctrade: MACRO
; dialog set, requested mon, offered mon, nickname, dvs, item, OT ID, OT name, gender requested
db \1, \2, \3, \4, \5, \6, \7
@ -6,10 +10,7 @@ npctrade: MACRO
db \8, \9, 0
ENDM
TRADE_EITHER_GENDER EQU 0
TRADE_MALE_ONLY EQU 1
TRADE_FEMALE_ONLY EQU 2
NPCTrades: ; fce58
; entries correspond to NPCTRADE_* constants
npctrade 0, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER
npctrade 0, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER
@ -18,3 +19,4 @@ TRADE_FEMALE_ONLY EQU 2
npctrade 2, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER
npctrade 3, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER
npctrade 0, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER
; fcf38

View File

@ -1,10 +1,9 @@
OddEggProbabilities:
prob: MACRO
prob: macro
prob_total = prob_total + (\1)
dw prob_total * $ffff / 100
ENDM
endm
OddEggProbabilities:
prob_total = 0
; Pichu
prob 8

View File

@ -8,6 +8,7 @@ phone: macro
dba \7
endm
PhoneContacts: ; 9045f
; entries correspond to PHONE_* constants
phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript
@ -47,3 +48,4 @@ endm
phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2
phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2
phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2
; 90627

View File

@ -5,6 +5,7 @@ specialcall: macro
dba \3
endm
SpecialPhoneCallList: ; 90627
; entries correspond to SPECIALCALL_* constants
specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2
specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2
@ -14,3 +15,4 @@ endm
specialcall SpecialCallWhereverYouAre, PHONE_OAK, BikeShopPhoneScript
specialcall SpecialCallWhereverYouAre, PHONE_MOM, MomPhoneLectureScript
specialcall SpecialCallOnlyWhenOutside, PHONE_ELM, ElmPhoneScript2
; 90657

View File

@ -1,3 +1,4 @@
PokemonNames::
db "BULBASAUR@"
db "IVYSAUR@@@"
db "VENUSAUR@@"

View File

@ -4,6 +4,7 @@ spawn: MACRO
db \2, \3
ENDM
SpawnPoints: ; 0x152ab
; entries correspond to SPAWN_* constants
spawn KRISS_HOUSE_2F, 3, 3
@ -37,3 +38,4 @@ ENDM
spawn SILVER_CAVE_OUTSIDE, 23, 20
spawn FAST_SHIP_CABINS_SW_SSW_NW, 6, 2
spawn N_A, -1, -1
; 1531f

499
data/sprite_anim_frames.asm Executable file
View File

@ -0,0 +1,499 @@
SpriteAnimFrameData: ; 8d6e6
; entries correspond to SPRITE_ANIM_FRAMESET_* constants
dw .Frameset_00
dw .Frameset_PartyMon
dw .Frameset_02
dw .Frameset_03
dw .Frameset_04
dw .Frameset_05
dw .Frameset_06
dw .Frameset_07
dw .Frameset_TextEntryCursor
dw .Frameset_09
dw .Frameset_GameFreakLogo
dw .Frameset_GSIntroStar
dw .Frameset_GSIntroSparkle
dw .Frameset_SlotsGolem
dw .Frameset_SlotsChansey
dw .Frameset_SlotsChansey2
dw .Frameset_SlotsEgg
dw .Frameset_RedWalk
dw .Frameset_StillCursor
dw .Frameset_TradePokeBall
dw .Frameset_TradePokeBall0
dw .Frameset_TradePoof
dw .Frameset_TradeTubeBulge
dw .Frameset_TrademonIcon
dw .Frameset_TrademonBubble
dw .Frameset_EvolutionBallOfLight
dw .Frameset_RadioTuningKnob
dw .Frameset_MagnetTrainRed
dw .Frameset_1c
dw .Frameset_Leaf
dw .Frameset_CutTree
dw .Frameset_EggCrack
dw .Frameset_EggHatch
dw .Frameset_21
dw .Frameset_22
dw .Frameset_23
dw .Frameset_24
dw .Frameset_HeadbuttTree
dw .Frameset_26
dw .Frameset_27
dw .Frameset_28
dw .Frameset_29
dw .Frameset_2a
dw .Frameset_2b
dw .Frameset_2c
dw .Frameset_BlueWalk
dw .Frameset_MagnetTrainBlue
dw .Frameset_2f
dw .Frameset_30
dw .Frameset_31
dw .Frameset_32
dw .Frameset_33
dw .Frameset_34
dw .Frameset_IntroSuicune
dw .Frameset_IntroSuicune2
dw .Frameset_IntroPichu
dw .Frameset_IntroWooper
dw .Frameset_IntroUnown1
dw .Frameset_IntroUnown2
dw .Frameset_IntroUnown3
dw .Frameset_IntroUnown4
dw .Frameset_IntroUnownF2
dw .Frameset_IntroSuicuneAway
dw .Frameset_IntroUnownF
dw .Frameset_CelebiLeft
dw .Frameset_CelebiRight
; 8d76a
.Frameset_00:
frame SPRITE_ANIM_FRAME_IDX_00, 32
endanim
.Frameset_PartyMon:
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8
dorestart
.Frameset_02:
frame SPRITE_ANIM_FRAME_IDX_3D, 8
frame SPRITE_ANIM_FRAME_IDX_3E, 8
dorestart
.Frameset_03:
frame SPRITE_ANIM_FRAME_IDX_3F, 8
frame SPRITE_ANIM_FRAME_IDX_40, 8
dorestart
.Frameset_04:
frame SPRITE_ANIM_FRAME_IDX_00, 4
frame SPRITE_ANIM_FRAME_IDX_01, 4
dorestart
.Frameset_05:
frame SPRITE_ANIM_FRAME_IDX_3D, 4
frame SPRITE_ANIM_FRAME_IDX_3E, 4
dorestart
.Frameset_06:
frame SPRITE_ANIM_FRAME_IDX_3F, 4
frame SPRITE_ANIM_FRAME_IDX_40, 4
dorestart
.Frameset_RedWalk:
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP
dorestart
.Frameset_BlueWalk:
frame SPRITE_ANIM_FRAME_IDX_63, 8
frame SPRITE_ANIM_FRAME_IDX_64, 8
frame SPRITE_ANIM_FRAME_IDX_63, 8
frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP
dorestart
.Frameset_MagnetTrainBlue:
frame SPRITE_ANIM_FRAME_IDX_65, 8
frame SPRITE_ANIM_FRAME_IDX_66, 8
frame SPRITE_ANIM_FRAME_IDX_65, 8
frame SPRITE_ANIM_FRAME_IDX_66, 8, OAM_X_FLIP
dorestart
.Frameset_07:
frame SPRITE_ANIM_FRAME_IDX_1E, 1
frame SPRITE_ANIM_FRAME_IDX_1F, 1
dorestart
.Frameset_TextEntryCursor:
frame SPRITE_ANIM_FRAME_IDX_20, 1
dorepeat 1
dorestart
.Frameset_09:
frame SPRITE_ANIM_FRAME_IDX_21, 1
dorepeat 1
dorestart
.Frameset_GameFreakLogo:
frame SPRITE_ANIM_FRAME_IDX_81, 12
frame SPRITE_ANIM_FRAME_IDX_82, 1
frame SPRITE_ANIM_FRAME_IDX_83, 1
frame SPRITE_ANIM_FRAME_IDX_82, 4
frame SPRITE_ANIM_FRAME_IDX_81, 12
frame SPRITE_ANIM_FRAME_IDX_82, 12
frame SPRITE_ANIM_FRAME_IDX_83, 4
frame SPRITE_ANIM_FRAME_IDX_84, 32
frame SPRITE_ANIM_FRAME_IDX_85, 3
frame SPRITE_ANIM_FRAME_IDX_86, 3
frame SPRITE_ANIM_FRAME_IDX_87, 4
frame SPRITE_ANIM_FRAME_IDX_88, 4
frame SPRITE_ANIM_FRAME_IDX_89, 4
frame SPRITE_ANIM_FRAME_IDX_8A, 10
frame SPRITE_ANIM_FRAME_IDX_8B, 7
endanim
.Frameset_GSIntroStar:
frame SPRITE_ANIM_FRAME_IDX_23, 3
frame SPRITE_ANIM_FRAME_IDX_23, 3, OAM_Y_FLIP
dorestart
.Frameset_GSIntroSparkle:
frame SPRITE_ANIM_FRAME_IDX_24, 2
frame SPRITE_ANIM_FRAME_IDX_25, 2
frame SPRITE_ANIM_FRAME_IDX_26, 2
frame SPRITE_ANIM_FRAME_IDX_25, 2
dorestart
.Frameset_SlotsGolem:
frame SPRITE_ANIM_FRAME_IDX_27, 7
frame SPRITE_ANIM_FRAME_IDX_28, 7
frame SPRITE_ANIM_FRAME_IDX_27, 7, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_28, 7, OAM_X_FLIP
dorestart
.Frameset_SlotsChansey:
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2A, 7
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2B, 7
dorestart
.Frameset_SlotsChansey2:
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2C, 7
frame SPRITE_ANIM_FRAME_IDX_2D, 7
frame SPRITE_ANIM_FRAME_IDX_2C, 7
frame SPRITE_ANIM_FRAME_IDX_29, 7
endanim
.Frameset_SlotsEgg:
frame SPRITE_ANIM_FRAME_IDX_2E, 20
endanim
.Frameset_StillCursor:
frame SPRITE_ANIM_FRAME_IDX_2F, 32
endanim
.Frameset_TradePokeBall:
frame SPRITE_ANIM_FRAME_IDX_30, 32
endanim
.Frameset_TradePokeBall0:
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
dorestart
.Frameset_TradePoof:
frame SPRITE_ANIM_FRAME_IDX_32, 4
frame SPRITE_ANIM_FRAME_IDX_33, 4
frame SPRITE_ANIM_FRAME_IDX_34, 4
delanim
.Frameset_TradeTubeBulge:
frame SPRITE_ANIM_FRAME_IDX_35, 3
frame SPRITE_ANIM_FRAME_IDX_36, 3
dorestart
.Frameset_TrademonIcon:
frame SPRITE_ANIM_FRAME_IDX_37, 7
frame SPRITE_ANIM_FRAME_IDX_38, 7
dorestart
.Frameset_TrademonBubble:
frame SPRITE_ANIM_FRAME_IDX_39, 32
endanim
.Frameset_EvolutionBallOfLight:
frame SPRITE_ANIM_FRAME_IDX_3B, 2
frame SPRITE_ANIM_FRAME_IDX_3A, 2
frame SPRITE_ANIM_FRAME_IDX_3B, 2
endanim
.Frameset_RadioTuningKnob:
frame SPRITE_ANIM_FRAME_IDX_3C, 32
endanim
.Frameset_MagnetTrainRed:
frame SPRITE_ANIM_FRAME_IDX_41, 8
frame SPRITE_ANIM_FRAME_IDX_42, 8
frame SPRITE_ANIM_FRAME_IDX_41, 8
frame SPRITE_ANIM_FRAME_IDX_42, 8, OAM_X_FLIP
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_43, 8
frame SPRITE_ANIM_FRAME_IDX_44, 8
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_45, 8
frame SPRITE_ANIM_FRAME_IDX_46, 8
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_47, 8
frame SPRITE_ANIM_FRAME_IDX_48, 8
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_49, 1
frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_Y_FLIP
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_4A, 32
endanim
; XXX
frame SPRITE_ANIM_FRAME_IDX_4B, 32
endanim
; XXX
frame SPRITE_ANIM_FRAME_IDX_4C, 32
endanim
; XXX
frame SPRITE_ANIM_FRAME_IDX_4D, 32
endanim
; XXX
frame SPRITE_ANIM_FRAME_IDX_4E, 3
dorepeat 3
dorestart
.Frameset_1c:
dorepeat 32
endanim
.Frameset_Leaf:
frame SPRITE_ANIM_FRAME_IDX_4F, 32
endanim
.Frameset_CutTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_51, 16
dorepeat 1
frame SPRITE_ANIM_FRAME_IDX_52, 1
dorepeat 1
frame SPRITE_ANIM_FRAME_IDX_53, 1
delanim
.Frameset_EggCrack:
frame SPRITE_ANIM_FRAME_IDX_54, 32
endanim
.Frameset_EggHatch:
frame SPRITE_ANIM_FRAME_IDX_55, 32
endanim
.Frameset_21:
frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP
endanim
.Frameset_22:
frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_Y_FLIP
endanim
.Frameset_23:
frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP, OAM_Y_FLIP
endanim
.Frameset_24:
frame SPRITE_ANIM_FRAME_IDX_56, 10
frame SPRITE_ANIM_FRAME_IDX_57, 9
frame SPRITE_ANIM_FRAME_IDX_58, 10
frame SPRITE_ANIM_FRAME_IDX_59, 10
frame SPRITE_ANIM_FRAME_IDX_58, 9
frame SPRITE_ANIM_FRAME_IDX_5A, 10
dorestart
.Frameset_HeadbuttTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_5B, 2
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_5B, 2, OAM_X_FLIP
dorestart
.Frameset_26:
frame SPRITE_ANIM_FRAME_IDX_5C, 2
endanim
.Frameset_27:
frame SPRITE_ANIM_FRAME_IDX_5D, 2
endanim
.Frameset_28:
frame SPRITE_ANIM_FRAME_IDX_5E, 2
endanim
.Frameset_29:
frame SPRITE_ANIM_FRAME_IDX_5F, 2
endanim
.Frameset_2a:
frame SPRITE_ANIM_FRAME_IDX_60, 2
endanim
.Frameset_2b:
frame SPRITE_ANIM_FRAME_IDX_61, 2
endanim
.Frameset_2c:
frame SPRITE_ANIM_FRAME_IDX_62, 2
endanim
.Frameset_2f:
frame SPRITE_ANIM_FRAME_IDX_32, 3
frame SPRITE_ANIM_FRAME_IDX_33, 3
frame SPRITE_ANIM_FRAME_IDX_34, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
endanim
.Frameset_30:
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_32, 3
frame SPRITE_ANIM_FRAME_IDX_33, 3
frame SPRITE_ANIM_FRAME_IDX_34, 3
delanim
.Frameset_31:
frame SPRITE_ANIM_FRAME_IDX_67, 3
frame SPRITE_ANIM_FRAME_IDX_68, 3
dorestart
.Frameset_32:
frame SPRITE_ANIM_FRAME_IDX_6C, 3
endanim
.Frameset_33:
frame SPRITE_ANIM_FRAME_IDX_6D, 3
endanim
.Frameset_34:
frame SPRITE_ANIM_FRAME_IDX_69, 2
frame SPRITE_ANIM_FRAME_IDX_6A, 2
frame SPRITE_ANIM_FRAME_IDX_6B, 2
delanim
.Frameset_IntroSuicune:
frame SPRITE_ANIM_FRAME_IDX_6E, 3
frame SPRITE_ANIM_FRAME_IDX_6F, 3
frame SPRITE_ANIM_FRAME_IDX_70, 3
frame SPRITE_ANIM_FRAME_IDX_71, 3
dorestart
.Frameset_IntroSuicune2:
frame SPRITE_ANIM_FRAME_IDX_71, 3
frame SPRITE_ANIM_FRAME_IDX_6E, 7
endanim
.Frameset_IntroPichu:
frame SPRITE_ANIM_FRAME_IDX_72, 32
frame SPRITE_ANIM_FRAME_IDX_73, 7
frame SPRITE_ANIM_FRAME_IDX_74, 7
endanim
.Frameset_IntroWooper:
frame SPRITE_ANIM_FRAME_IDX_75, 3
endanim
.Frameset_IntroUnown1:
frame SPRITE_ANIM_FRAME_IDX_76, 3
frame SPRITE_ANIM_FRAME_IDX_77, 3
frame SPRITE_ANIM_FRAME_IDX_78, 7
delanim
.Frameset_IntroUnown2:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP
delanim
.Frameset_IntroUnown3:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_Y_FLIP
delanim
.Frameset_IntroUnown4:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP, OAM_Y_FLIP
delanim
.Frameset_IntroUnownF2:
frame SPRITE_ANIM_FRAME_IDX_79, 3
frame SPRITE_ANIM_FRAME_IDX_7A, 3
frame SPRITE_ANIM_FRAME_IDX_7B, 3
frame SPRITE_ANIM_FRAME_IDX_7C, 7
frame SPRITE_ANIM_FRAME_IDX_7D, 7
endanim
.Frameset_IntroSuicuneAway:
frame SPRITE_ANIM_FRAME_IDX_7E, 3
endanim
.Frameset_IntroUnownF:
dorepeat 0
endanim
.Frameset_CelebiLeft:
frame SPRITE_ANIM_FRAME_IDX_7F, 8
frame SPRITE_ANIM_FRAME_IDX_80, 8
endanim
.Frameset_CelebiRight:
frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP
endanim
; 8d94d

514
data/sprite_engine.asm → data/sprite_anim_oam.asm Executable file → Normal file
View File

@ -1,503 +1,3 @@
SpriteAnimFrameData: ; 8d6e6
; entries correspond to SPRITE_ANIM_FRAMESET_* constants
dw .Frameset_00
dw .Frameset_PartyMon
dw .Frameset_02
dw .Frameset_03
dw .Frameset_04
dw .Frameset_05
dw .Frameset_06
dw .Frameset_07
dw .Frameset_TextEntryCursor
dw .Frameset_09
dw .Frameset_GameFreakLogo
dw .Frameset_GSIntroStar
dw .Frameset_GSIntroSparkle
dw .Frameset_SlotsGolem
dw .Frameset_SlotsChansey
dw .Frameset_SlotsChansey2
dw .Frameset_SlotsEgg
dw .Frameset_RedWalk
dw .Frameset_StillCursor
dw .Frameset_TradePokeBall
dw .Frameset_TradePokeBall0
dw .Frameset_TradePoof
dw .Frameset_TradeTubeBulge
dw .Frameset_TrademonIcon
dw .Frameset_TrademonBubble
dw .Frameset_EvolutionBallOfLight
dw .Frameset_RadioTuningKnob
dw .Frameset_MagnetTrainRed
dw .Frameset_1c
dw .Frameset_Leaf
dw .Frameset_CutTree
dw .Frameset_EggCrack
dw .Frameset_EggHatch
dw .Frameset_21
dw .Frameset_22
dw .Frameset_23
dw .Frameset_24
dw .Frameset_HeadbuttTree
dw .Frameset_26
dw .Frameset_27
dw .Frameset_28
dw .Frameset_29
dw .Frameset_2a
dw .Frameset_2b
dw .Frameset_2c
dw .Frameset_BlueWalk
dw .Frameset_MagnetTrainBlue
dw .Frameset_2f
dw .Frameset_30
dw .Frameset_31
dw .Frameset_32
dw .Frameset_33
dw .Frameset_34
dw .Frameset_IntroSuicune
dw .Frameset_IntroSuicune2
dw .Frameset_IntroPichu
dw .Frameset_IntroWooper
dw .Frameset_IntroUnown1
dw .Frameset_IntroUnown2
dw .Frameset_IntroUnown3
dw .Frameset_IntroUnown4
dw .Frameset_IntroUnownF2
dw .Frameset_IntroSuicuneAway
dw .Frameset_IntroUnownF
dw .Frameset_CelebiLeft
dw .Frameset_CelebiRight
; 8d76a
.Frameset_00:
frame SPRITE_ANIM_FRAME_IDX_00, 32
endanim
.Frameset_PartyMon:
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8
dorestart
.Frameset_02:
frame SPRITE_ANIM_FRAME_IDX_3D, 8
frame SPRITE_ANIM_FRAME_IDX_3E, 8
dorestart
.Frameset_03:
frame SPRITE_ANIM_FRAME_IDX_3F, 8
frame SPRITE_ANIM_FRAME_IDX_40, 8
dorestart
.Frameset_04:
frame SPRITE_ANIM_FRAME_IDX_00, 4
frame SPRITE_ANIM_FRAME_IDX_01, 4
dorestart
.Frameset_05:
frame SPRITE_ANIM_FRAME_IDX_3D, 4
frame SPRITE_ANIM_FRAME_IDX_3E, 4
dorestart
.Frameset_06:
frame SPRITE_ANIM_FRAME_IDX_3F, 4
frame SPRITE_ANIM_FRAME_IDX_40, 4
dorestart
.Frameset_RedWalk:
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP
dorestart
.Frameset_BlueWalk:
frame SPRITE_ANIM_FRAME_IDX_63, 8
frame SPRITE_ANIM_FRAME_IDX_64, 8
frame SPRITE_ANIM_FRAME_IDX_63, 8
frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP
dorestart
.Frameset_MagnetTrainBlue:
frame SPRITE_ANIM_FRAME_IDX_65, 8
frame SPRITE_ANIM_FRAME_IDX_66, 8
frame SPRITE_ANIM_FRAME_IDX_65, 8
frame SPRITE_ANIM_FRAME_IDX_66, 8, OAM_X_FLIP
dorestart
.Frameset_07:
frame SPRITE_ANIM_FRAME_IDX_1E, 1
frame SPRITE_ANIM_FRAME_IDX_1F, 1
dorestart
.Frameset_TextEntryCursor:
frame SPRITE_ANIM_FRAME_IDX_20, 1
dorepeat 1
dorestart
.Frameset_09:
frame SPRITE_ANIM_FRAME_IDX_21, 1
dorepeat 1
dorestart
.Frameset_GameFreakLogo:
frame SPRITE_ANIM_FRAME_IDX_81, 12
frame SPRITE_ANIM_FRAME_IDX_82, 1
frame SPRITE_ANIM_FRAME_IDX_83, 1
frame SPRITE_ANIM_FRAME_IDX_82, 4
frame SPRITE_ANIM_FRAME_IDX_81, 12
frame SPRITE_ANIM_FRAME_IDX_82, 12
frame SPRITE_ANIM_FRAME_IDX_83, 4
frame SPRITE_ANIM_FRAME_IDX_84, 32
frame SPRITE_ANIM_FRAME_IDX_85, 3
frame SPRITE_ANIM_FRAME_IDX_86, 3
frame SPRITE_ANIM_FRAME_IDX_87, 4
frame SPRITE_ANIM_FRAME_IDX_88, 4
frame SPRITE_ANIM_FRAME_IDX_89, 4
frame SPRITE_ANIM_FRAME_IDX_8A, 10
frame SPRITE_ANIM_FRAME_IDX_8B, 7
endanim
.Frameset_GSIntroStar:
frame SPRITE_ANIM_FRAME_IDX_23, 3
frame SPRITE_ANIM_FRAME_IDX_23, 3, OAM_Y_FLIP
dorestart
.Frameset_GSIntroSparkle:
frame SPRITE_ANIM_FRAME_IDX_24, 2
frame SPRITE_ANIM_FRAME_IDX_25, 2
frame SPRITE_ANIM_FRAME_IDX_26, 2
frame SPRITE_ANIM_FRAME_IDX_25, 2
dorestart
.Frameset_SlotsGolem:
frame SPRITE_ANIM_FRAME_IDX_27, 7
frame SPRITE_ANIM_FRAME_IDX_28, 7
frame SPRITE_ANIM_FRAME_IDX_27, 7, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_28, 7, OAM_X_FLIP
dorestart
.Frameset_SlotsChansey:
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2A, 7
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2B, 7
dorestart
.Frameset_SlotsChansey2:
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2C, 7
frame SPRITE_ANIM_FRAME_IDX_2D, 7
frame SPRITE_ANIM_FRAME_IDX_2C, 7
frame SPRITE_ANIM_FRAME_IDX_29, 7
endanim
.Frameset_SlotsEgg:
frame SPRITE_ANIM_FRAME_IDX_2E, 20
endanim
.Frameset_StillCursor:
frame SPRITE_ANIM_FRAME_IDX_2F, 32
endanim
.Frameset_TradePokeBall:
frame SPRITE_ANIM_FRAME_IDX_30, 32
endanim
.Frameset_TradePokeBall0:
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
dorestart
.Frameset_TradePoof:
frame SPRITE_ANIM_FRAME_IDX_32, 4
frame SPRITE_ANIM_FRAME_IDX_33, 4
frame SPRITE_ANIM_FRAME_IDX_34, 4
delanim
.Frameset_TradeTubeBulge:
frame SPRITE_ANIM_FRAME_IDX_35, 3
frame SPRITE_ANIM_FRAME_IDX_36, 3
dorestart
.Frameset_TrademonIcon:
frame SPRITE_ANIM_FRAME_IDX_37, 7
frame SPRITE_ANIM_FRAME_IDX_38, 7
dorestart
.Frameset_TrademonBubble:
frame SPRITE_ANIM_FRAME_IDX_39, 32
endanim
.Frameset_EvolutionBallOfLight:
frame SPRITE_ANIM_FRAME_IDX_3B, 2
frame SPRITE_ANIM_FRAME_IDX_3A, 2
frame SPRITE_ANIM_FRAME_IDX_3B, 2
endanim
.Frameset_RadioTuningKnob:
frame SPRITE_ANIM_FRAME_IDX_3C, 32
endanim
.Frameset_MagnetTrainRed:
frame SPRITE_ANIM_FRAME_IDX_41, 8
frame SPRITE_ANIM_FRAME_IDX_42, 8
frame SPRITE_ANIM_FRAME_IDX_41, 8
frame SPRITE_ANIM_FRAME_IDX_42, 8, OAM_X_FLIP
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_43, 8
frame SPRITE_ANIM_FRAME_IDX_44, 8
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_45, 8
frame SPRITE_ANIM_FRAME_IDX_46, 8
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_47, 8
frame SPRITE_ANIM_FRAME_IDX_48, 8
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_49, 1
frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_49, 1, OAM_Y_FLIP
dorestart
; XXX
frame SPRITE_ANIM_FRAME_IDX_4A, 32
endanim
; XXX
frame SPRITE_ANIM_FRAME_IDX_4B, 32
endanim
; XXX
frame SPRITE_ANIM_FRAME_IDX_4C, 32
endanim
; XXX
frame SPRITE_ANIM_FRAME_IDX_4D, 32
endanim
; XXX
frame SPRITE_ANIM_FRAME_IDX_4E, 3
dorepeat 3
dorestart
.Frameset_1c:
dorepeat 32
endanim
.Frameset_Leaf:
frame SPRITE_ANIM_FRAME_IDX_4F, 32
endanim
.Frameset_CutTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_51, 16
dorepeat 1
frame SPRITE_ANIM_FRAME_IDX_52, 1
dorepeat 1
frame SPRITE_ANIM_FRAME_IDX_53, 1
delanim
.Frameset_EggCrack:
frame SPRITE_ANIM_FRAME_IDX_54, 32
endanim
.Frameset_EggHatch:
frame SPRITE_ANIM_FRAME_IDX_55, 32
endanim
.Frameset_21:
frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP
endanim
.Frameset_22:
frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_Y_FLIP
endanim
.Frameset_23:
frame SPRITE_ANIM_FRAME_IDX_55, 32, OAM_X_FLIP, OAM_Y_FLIP
endanim
.Frameset_24:
frame SPRITE_ANIM_FRAME_IDX_56, 10
frame SPRITE_ANIM_FRAME_IDX_57, 9
frame SPRITE_ANIM_FRAME_IDX_58, 10
frame SPRITE_ANIM_FRAME_IDX_59, 10
frame SPRITE_ANIM_FRAME_IDX_58, 9
frame SPRITE_ANIM_FRAME_IDX_5A, 10
dorestart
.Frameset_HeadbuttTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_5B, 2
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_5B, 2, OAM_X_FLIP
dorestart
.Frameset_26:
frame SPRITE_ANIM_FRAME_IDX_5C, 2
endanim
.Frameset_27:
frame SPRITE_ANIM_FRAME_IDX_5D, 2
endanim
.Frameset_28:
frame SPRITE_ANIM_FRAME_IDX_5E, 2
endanim
.Frameset_29:
frame SPRITE_ANIM_FRAME_IDX_5F, 2
endanim
.Frameset_2a:
frame SPRITE_ANIM_FRAME_IDX_60, 2
endanim
.Frameset_2b:
frame SPRITE_ANIM_FRAME_IDX_61, 2
endanim
.Frameset_2c:
frame SPRITE_ANIM_FRAME_IDX_62, 2
endanim
.Frameset_2f:
frame SPRITE_ANIM_FRAME_IDX_32, 3
frame SPRITE_ANIM_FRAME_IDX_33, 3
frame SPRITE_ANIM_FRAME_IDX_34, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
endanim
.Frameset_30:
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_32, 3
frame SPRITE_ANIM_FRAME_IDX_33, 3
frame SPRITE_ANIM_FRAME_IDX_34, 3
delanim
.Frameset_31:
frame SPRITE_ANIM_FRAME_IDX_67, 3
frame SPRITE_ANIM_FRAME_IDX_68, 3
dorestart
.Frameset_32:
frame SPRITE_ANIM_FRAME_IDX_6C, 3
endanim
.Frameset_33:
frame SPRITE_ANIM_FRAME_IDX_6D, 3
endanim
.Frameset_34:
frame SPRITE_ANIM_FRAME_IDX_69, 2
frame SPRITE_ANIM_FRAME_IDX_6A, 2
frame SPRITE_ANIM_FRAME_IDX_6B, 2
delanim
.Frameset_IntroSuicune:
frame SPRITE_ANIM_FRAME_IDX_6E, 3
frame SPRITE_ANIM_FRAME_IDX_6F, 3
frame SPRITE_ANIM_FRAME_IDX_70, 3
frame SPRITE_ANIM_FRAME_IDX_71, 3
dorestart
.Frameset_IntroSuicune2:
frame SPRITE_ANIM_FRAME_IDX_71, 3
frame SPRITE_ANIM_FRAME_IDX_6E, 7
endanim
.Frameset_IntroPichu:
frame SPRITE_ANIM_FRAME_IDX_72, 32
frame SPRITE_ANIM_FRAME_IDX_73, 7
frame SPRITE_ANIM_FRAME_IDX_74, 7
endanim
.Frameset_IntroWooper:
frame SPRITE_ANIM_FRAME_IDX_75, 3
endanim
.Frameset_IntroUnown1:
frame SPRITE_ANIM_FRAME_IDX_76, 3
frame SPRITE_ANIM_FRAME_IDX_77, 3
frame SPRITE_ANIM_FRAME_IDX_78, 7
delanim
.Frameset_IntroUnown2:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP
delanim
.Frameset_IntroUnown3:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_Y_FLIP
delanim
.Frameset_IntroUnown4:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP, OAM_Y_FLIP
delanim
.Frameset_IntroUnownF2:
frame SPRITE_ANIM_FRAME_IDX_79, 3
frame SPRITE_ANIM_FRAME_IDX_7A, 3
frame SPRITE_ANIM_FRAME_IDX_7B, 3
frame SPRITE_ANIM_FRAME_IDX_7C, 7
frame SPRITE_ANIM_FRAME_IDX_7D, 7
endanim
.Frameset_IntroSuicuneAway:
frame SPRITE_ANIM_FRAME_IDX_7E, 3
endanim
.Frameset_IntroUnownF:
dorepeat 0
endanim
.Frameset_CelebiLeft:
frame SPRITE_ANIM_FRAME_IDX_7F, 8
frame SPRITE_ANIM_FRAME_IDX_80, 8
endanim
.Frameset_CelebiRight:
frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP
endanim
; 8d94d
SpriteAnimOAMData: ; 8d94d
; entries correspond to SPRITE_ANIM_FRAME_IDX_* constants
; vtile offset, pointer
@ -1634,17 +1134,3 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, 0, 4, $52, $01
dsprite 0, 0, 1, 4, $53, $01
; 8e706
BrokenStdGFXPointers: ; Broken 2bpp pointers
dbbw $80, $01, .deleted ; 128-tile 2bpp at 1:672a (inside Multiply)
dbbw $80, $01, .deleted
dbbw $80, $01, .deleted
dbbw $80, $01, .deleted
dbbw $10, $37, .deleted ; 16-tile 2bpp at 37:672a (within TilesetTrainStationGFX)
dbbw $10, $11, .deleted ; 16-tile 2bpp at 11:672a (empty data)
dbbw $10, $39, .deleted ; 16-tile 2bpp at 39:672a (empty data)
dbbw $10, $24, .deleted ; 16-tile 2bpp at 24:672a (inside Function926f7)
dbbw $10, $21, .deleted ; 16-tile 2bpp at 21:672a (inside Function8671c)
.deleted
; 8e72a (23:672a)

View File

@ -1,3 +1,4 @@
SpriteAnimSeqData: ; 8d1c4
; entries correspond to SPRITE_ANIM_INDEX_* constants
; frameset sequence, tile
; SPRITE_ANIM_INDEX_PARTY_MON
@ -90,3 +91,4 @@
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00
; SPRITE_ANIM_INDEX_CELEBI
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; 2c
; 8d24b

View File

@ -1,5 +1,5 @@
SpriteMons: ; 14495
; entries correspond to SPRITE_* constants past SPRITE_POKEMON
db UNOWN
db GEODUDE
db GROWLITHE
@ -35,3 +35,4 @@
db GYARADOS
db LUGIA
db HO_OH
; 144b8

View File

@ -1,3 +1,4 @@
TMHMMoves: ; 1167a
; TMs
db DYNAMICPUNCH
db HEADBUTT
@ -65,3 +66,4 @@
db ICE_BEAM
db 0 ; end
; 116b7

View File

@ -541,9 +541,7 @@ GetDecorationSprite: ; 26a44
ret
; 26a4f
DecorationAttributes: ; 26a4f
INCLUDE "data/decoration_attributes.asm"
; 26b8d
DecorationNames: ; 26b8d
db "CANCEL@"

View File

@ -83,5 +83,4 @@ EngineFlagAction:: ; 80430
; 80462
EngineFlags: ; 80462
INCLUDE "data/engine_flags.asm"

View File

@ -102,9 +102,9 @@ GetFruitTreeItem: ; 4408a
ret
; 44097
FruitTreeItems: ; 44097
INCLUDE "data/fruit_tree_items.asm"
; 440b5
FruitBearingTreeText: ; 440b5
text_jump _FruitBearingTreeText

View File

@ -47,7 +47,6 @@ GetLandmarkName:: ; 0x1ca8a5
; 0x1ca8c3
Landmarks: ; 0x1ca8c3
INCLUDE "data/landmarks.asm"

View File

@ -1,9 +1,10 @@
INCLUDE "data/facings.asm"
SpriteMovementData:: ; 4273
INCLUDE "data/map_objects.asm"
; 4357
DeleteMapObject:: ; 4357
push bc

View File

@ -465,7 +465,7 @@ ReadMonMenuIcon: ; 8eab3
ret
; 8eac4
MonMenuIcons: ; 8eac4
INCLUDE "data/mon_menu_icons.asm"

View File

@ -411,9 +411,7 @@ GetTradeMonNames: ; fce1b
; fce58
NPCTrades: ; fce58
INCLUDE "data/npc_trades.asm"
; fcf38
PrintTradeText: ; fcf38

View File

@ -106,9 +106,9 @@ GetOptionPointer: ; e42d6
const_def
const TEXT_SPEED_FAST ; 0
const TEXT_SPEED_MED ; 1
const TEXT_SPEED_SLOW ; 2
const OPT_TEXT_SPEED_FAST ; 0
const OPT_TEXT_SPEED_MED ; 1
const OPT_TEXT_SPEED_SLOW ; 2
Options_TextSpeed: ; e42f5
call GetTextSpeed
@ -118,9 +118,9 @@ Options_TextSpeed: ; e42f5
bit D_RIGHT_F, a
jr z, .NonePressed
ld a, c ; right pressed
cp TEXT_SPEED_SLOW
cp OPT_TEXT_SPEED_SLOW
jr c, .Increase
ld c, TEXT_SPEED_FAST +- 1
ld c, OPT_TEXT_SPEED_FAST +- 1
.Increase:
inc c
@ -131,7 +131,7 @@ Options_TextSpeed: ; e42f5
ld a, c
and a
jr nz, .Decrease
ld c, TEXT_SPEED_SLOW + 1
ld c, OPT_TEXT_SPEED_SLOW + 1
.Decrease:
dec c
@ -159,7 +159,7 @@ Options_TextSpeed: ; e42f5
; e4331
.Strings:
; entries correspond to TEXT_SPEED_* constants
; entries correspond to OPT_TEXT_SPEED_* constants
dw .Fast
dw .Mid
dw .Slow
@ -171,7 +171,7 @@ Options_TextSpeed: ; e42f5
GetTextSpeed: ; e4346
; converts TEXT_DELAY_* value in a to TEXT_SPEED_* value in c,
; converts TEXT_DELAY_* value in a to OPT_TEXT_SPEED_* value in c,
; with previous/next TEXT_DELAY_* values in d/e
ld a, [Options]
and $7
@ -180,17 +180,17 @@ GetTextSpeed: ; e4346
cp TEXT_DELAY_FAST
jr z, .fast
; none of the above
ld c, TEXT_SPEED_MED
ld c, OPT_TEXT_SPEED_MED
lb de, TEXT_DELAY_FAST, TEXT_DELAY_SLOW
ret
.slow
ld c, TEXT_SPEED_SLOW
ld c, OPT_TEXT_SPEED_SLOW
lb de, TEXT_DELAY_MED, TEXT_DELAY_FAST
ret
.fast
ld c, TEXT_SPEED_FAST
ld c, OPT_TEXT_SPEED_FAST
lb de, TEXT_DELAY_SLOW, TEXT_DELAY_MED
ret
; e4365
@ -328,11 +328,11 @@ Options_Sound: ; e43dd
const_def
const PRINT_LIGHTEST ; 0
const PRINT_LIGHTER ; 1
const PRINT_NORMAL ; 2
const PRINT_DARKER ; 3
const PRINT_DARKEST ; 4
const OPT_PRINT_LIGHTEST ; 0
const OPT_PRINT_LIGHTER ; 1
const OPT_PRINT_NORMAL ; 2
const OPT_PRINT_DARKER ; 3
const OPT_PRINT_DARKEST ; 4
Options_Print: ; e4424
call GetPrinterSetting
@ -342,9 +342,9 @@ Options_Print: ; e4424
bit D_RIGHT_F, a
jr z, .NonePressed
ld a, c
cp PRINT_DARKEST
cp OPT_PRINT_DARKEST
jr c, .Increase
ld c, PRINT_LIGHTEST - 1
ld c, OPT_PRINT_LIGHTEST - 1
.Increase:
inc c
@ -355,7 +355,7 @@ Options_Print: ; e4424
ld a, c
and a
jr nz, .Decrease
ld c, PRINT_DARKEST + 1
ld c, OPT_PRINT_DARKEST + 1
.Decrease:
dec c
@ -380,7 +380,7 @@ Options_Print: ; e4424
; e445a
.Strings:
; entries correspond to PRINT_* constants
; entries correspond to OPT_PRINT_* constants
dw .Lightest
dw .Lighter
dw .Normal
@ -396,7 +396,7 @@ Options_Print: ; e4424
GetPrinterSetting: ; e4491
; converts GBPRINTER_* value in a to PRINT_* value in c,
; converts GBPRINTER_* value in a to OPT_PRINT_* value in c,
; with previous/next GBPRINTER_* values in d/e
ld a, [GBPrinter]
and a
@ -408,27 +408,27 @@ GetPrinterSetting: ; e4491
cp GBPRINTER_DARKEST
jr z, .IsDarkest
; none of the above
ld c, PRINT_NORMAL
ld c, OPT_PRINT_NORMAL
lb de, GBPRINTER_LIGHTER, GBPRINTER_DARKER
ret
.IsLightest:
ld c, PRINT_LIGHTEST
ld c, OPT_PRINT_LIGHTEST
lb de, GBPRINTER_DARKEST, GBPRINTER_LIGHTER
ret
.IsLight:
ld c, PRINT_LIGHTER
ld c, OPT_PRINT_LIGHTER
lb de, GBPRINTER_LIGHTEST, GBPRINTER_NORMAL
ret
.IsDark:
ld c, PRINT_DARKER
ld c, OPT_PRINT_DARKER
lb de, GBPRINTER_NORMAL, GBPRINTER_DARKEST
ret
.IsDarkest:
ld c, PRINT_DARKEST
ld c, OPT_PRINT_DARKEST
lb de, GBPRINTER_DARKER, GBPRINTER_LIGHTEST
ret
; e44c1

View File

@ -717,19 +717,10 @@ LoadEmote:: ; 1442f
; 1444d
EmotesPointers: ; 144d
INCLUDE "data/emote_headers.asm"
; 14495
SpriteMons: ; 14495
INCLUDE "data/sprite_mons.asm"
; 144b8
INCLUDE "data/outdoor_sprites.asm"
SpriteHeaders: ; 14736
INCLUDE "gfx/sprite_headers.asm"
; 1499a

View File

@ -760,13 +760,11 @@ GetCallerLocation: ; 90439
ret
; 9045f
PhoneContacts: ; 9045f
INCLUDE "data/phone_contacts.asm"
; 90627
SpecialPhoneCallList: ; 90627
INCLUDE "data/phone_contacts.asm"
INCLUDE "data/phone_special.asm"
; 90657
UnknownScript_0x90657: ; 0x90657
writetext UnknownText_0x9065b

View File

@ -726,9 +726,9 @@ TryLoadSaveData: ; 14f1c
ret
; 14f7c
DefaultOptions: ; 14f7c
INCLUDE "data/default_options.asm"
; 14f84
CheckPrimarySaveFile: ; 14f84
ld a, BANK(s1_a008)

View File

@ -1,5 +1,4 @@
SpawnPoints: ; 0x152ab
INCLUDE "data/spawn_points.asm"

View File

@ -550,15 +550,30 @@ BrokenGetStdGraphics: ; 8d1ac
ret
; 8d1c4
SpriteAnimSeqData: ; 8d1c4
INCLUDE "data/sprite_anim_seqs.asm"
; 8d24b
INCLUDE "engine/sprite_anims.asm" ; DoAnimFrame
INCLUDE "engine/sprite_anims.asm"
INCLUDE "data/sprite_anim_frames.asm"
INCLUDE "data/sprite_anim_oam.asm"
BrokenStdGFXPointers: ; Broken 2bpp pointers
dbbw $80, $01, .deleted ; 128-tile 2bpp at 1:672a (inside Multiply)
dbbw $80, $01, .deleted
dbbw $80, $01, .deleted
dbbw $80, $01, .deleted
dbbw $10, $37, .deleted ; 16-tile 2bpp at 37:672a (within TilesetTrainStationGFX)
dbbw $10, $11, .deleted ; 16-tile 2bpp at 11:672a (empty data)
dbbw $10, $39, .deleted ; 16-tile 2bpp at 39:672a (empty data)
dbbw $10, $24, .deleted ; 16-tile 2bpp at 24:672a (inside Function926f7)
dbbw $10, $21, .deleted ; 16-tile 2bpp at 21:672a (inside Function8671c)
.deleted
; 8e72a (23:672a)
INCLUDE "data/sprite_engine.asm"
; SpriteAnimFrameData
; SpriteAnimOAMData
Sprites_Cosine: ; 8e72a
add $10

View File

@ -45,6 +45,5 @@ GetTMHMMove: ; 1166a
ret
; 1167a
TMHMMoves: ; 1167a
INCLUDE "data/tmhm_moves.asm"
; 116b7

View File

@ -66,7 +66,7 @@ ChangeHappiness: ; 71c2
.ok
dec c
ld b, 0
ld hl, .Actions
ld hl, HappinessChanges
add hl, bc
add hl, bc
add hl, bc
@ -102,9 +102,10 @@ ChangeHappiness: ; 71c2
ld [BattleMonHappiness], a
ret
.Actions:
INCLUDE "data/happiness_changes.asm"
StepHappiness:: ; 725a
; Raise the party's happiness by 1 point every other step cycle.

View File

@ -5,14 +5,18 @@ INCLUDE "includes.asm"
; but in different banks. This is enforced in pokecrystal.link.
SECTION "Pic Pointers", ROMX
PicPointers:: INCLUDE "gfx/pics/pic_pointers.asm"
INCLUDE "gfx/pics/pic_pointers.asm"
SECTION "Unown Pic Pointers", ROMX
UnownPicPointers:: INCLUDE "gfx/pics/unown_pic_pointers.asm"
INCLUDE "gfx/pics/unown_pic_pointers.asm"
SECTION "Trainer Pic Pointers", ROMX
TrainerPicPointers:: INCLUDE "gfx/trainer_pic_pointers.asm"
INCLUDE "gfx/trainer_pic_pointers.asm"
SECTION "Pics 1", ROMX

View File

@ -1,4 +1,5 @@
PicPointers::
; entries correspond to constants/pokemon_constants.asm, two apiece
add_pic BulbasaurFrontpic
add_pic BulbasaurBackpic
add_pic IvysaurFrontpic

View File

@ -1,4 +1,5 @@
UnownPicPointers::
; entries correspond to Unown letters, two apiece
add_pic UnownAFrontpic
add_pic UnownABackpic
add_pic UnownBFrontpic

View File

@ -1,8 +1,3 @@
; Format:
; Address
; Length, Bank
; Type, Palette
sprite_header: MACRO
; pointer, length, type, palette
dw \1
@ -10,6 +5,9 @@ sprite_header: MACRO
db \3, \4
ENDM
SpriteHeaders: ; 14736
; entries correspond to SPRITE_* constants
ChrisSprite: ; 14736
sprite_header ChrisSpriteGFX, 3, WALKING_SPRITE, PAL_OW_RED
; 1473c

View File

@ -1,4 +1,3 @@
TrainerPalettes: ; b0ce
PlayerPalette: ; b0ce

View File

@ -1,4 +1,5 @@
TrainerPicPointers::
; entries correspond to trainer classes (see constants/trainer_constants.asm)
add_pic FalknerPic
add_pic WhitneyPic
add_pic BugsyPic

View File

@ -1036,13 +1036,13 @@ IsHM:: ; 34df
; 34e7
IsHMMove:: ; 34e7
ld hl, .HMMoves
ld hl, HMMoves
ld de, 1
jp IsInArray
.HMMoves:
INCLUDE "data/hm_moves.asm"
; 34f8
GetMoveName:: ; 34f8
push hl

View File

@ -1,3 +1,4 @@
ItemNames::
db "MASTER BALL@"
db "ULTRA BALL@"
db "BRIGHTPOWDER@"

View File

@ -2350,9 +2350,9 @@ CheckSave:: ; 4cffe
ld c, $0
ret
MapTriggers:: ; 4d01e
INCLUDE "data/map_triggers.asm"
; 4d15b
_LoadMapPart:: ; 4d15b
ld hl, wMisc
@ -2572,9 +2572,10 @@ LinkTextbox2: ; 4d35b
INCLUDE "engine/delete_save_change_clock.asm"
Tilesets::
INCLUDE "tilesets/tileset_headers.asm"
FlagPredef: ; 4d7c1
; Perform action b on flag c in flag array hl.
; If checking a flag, check flag array d:hl unless d is 0.
@ -4589,10 +4590,9 @@ _SwitchPartyMons:
INCLUDE "gfx/load_pics.asm"
INCLUDE "engine/move_mon_wo_mail.asm"
BaseData::
INCLUDE "data/base_stats.asm"
PokemonNames::
INCLUDE "data/pokemon_names.asm"
Unknown_53d84: ; unreferenced
@ -4625,7 +4625,6 @@ INCLUDE "engine/engine_flags.asm"
INCLUDE "engine/variables.asm"
BattleText::
INCLUDE "text/battle.asm"
INCLUDE "engine/debug.asm"
@ -5517,12 +5516,10 @@ INCLUDE "text/phone/trainers1.asm"
SECTION "bank72", ROMX
ItemNames::
INCLUDE "items/item_names.asm"
INCLUDE "items/item_descriptions.asm"
MoveNames::
INCLUDE "battle/move_names.asm"
INCLUDE "engine/landmarks.asm"

View File

@ -1,3 +1,5 @@
BattleText::
BattleText_PlayerPickedUpPayDayMoney: ; 0x80730
text "<PLAYER> picked up"
line "¥@"

View File

@ -1,4 +1,3 @@
LoadMapGroupRoof:: ; 1c000
ld a, [MapGroup]
ld e, a
@ -17,9 +16,9 @@ LoadMapGroupRoof:: ; 1c000
ret
; 1c021
MapGroupRoofs: ; 1c021i
INCLUDE "data/mapgroup_roofs.asm"
; 1c03c
Roofs: ; 1c03c
INCBIN "gfx/tilesets/roofs/0.2bpp"

View File

@ -1,5 +1,3 @@
; entries correspond to TILESET_* constants
tileset: macro
dba \1GFX, \1Meta, \1Coll
dw \1Anim
@ -7,6 +5,8 @@ tileset: macro
dw \1PalMap
endm
Tilesets:: ; 4d596
; entries correspond to TILESET_* constants
tileset Tileset0
tileset TilesetJohto1
tileset TilesetJohto2
@ -44,3 +44,4 @@ endm
tileset TilesetKabutoWordRoom
tileset TilesetOmanyteWordRoom
tileset TilesetAerodactylWordRoom
; 4d7c1

View File

@ -1,4 +1,5 @@
TrainerClassAttributes: ; 3959c
; entries correspond to trainer classes (see constants/trainer_constants.asm)
; Falkner
db 0, 0 ; items

View File

@ -20,6 +20,7 @@ GetTrainerDVs: ; 270c4
; 270d6
TrainerClassDVs: ; 270d6
; entries correspond to trainer classes (see constants/trainer_constants.asm)
; Atk Spd
; Def Spc
db $9A, $77 ; falkner

View File

@ -1,5 +1,7 @@
; What music plays when a trainer notices you
TrainerEncounterMusic::
; entries correspond to trainer classes (see constants/trainer_constants.asm)
db MUSIC_HIKER_ENCOUNTER ; none
db MUSIC_YOUNGSTER_ENCOUNTER ; falkner
db MUSIC_LASS_ENCOUNTER ; whitney