Merge pull request #409 from roukaour/master

Document constants with comments, actual names, and more thorough usage
This commit is contained in:
yenatch 2017-12-10 01:47:10 -05:00 committed by GitHub
commit 94c7def488
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
255 changed files with 4844 additions and 4679 deletions

View File

@ -58,7 +58,7 @@ In the installer, select the following packages:
- `gcc-core` - `gcc-core`
Then download [**rgbds**](https://github.com/rednex/rgbds/releases/). Then download [**rgbds**](https://github.com/rednex/rgbds/releases/).
Extract the archive and put all the `exe` and `dll` files individually in `C:\cygwin64\usr\local\bin`. Extract rgbds-0.3.3-win64.tar.gz and put all the `exe` and `dll` files individually in **C:\Cygwin64\usr\local\bin**. If you are using 32-bit Windows and Cygwin, extract **rgbds-0.3.3-win32.tar.gz** to **C:\Cygwin\usr\local\bin**.
**Note: If you have an older rgbds, you will need to update to 0.3.3 or newer.** Ignore this if you have never installed rgbds before. **Note: If you have an older rgbds, you will need to update to 0.3.3 or newer.** Ignore this if you have never installed rgbds before.

View File

@ -140,8 +140,8 @@ gfx/pics/%/front.animated.tilemap: gfx/pics/%/front.2bpp gfx/pics/%/front.dimens
### Misc file-specific graphics rules ### Misc file-specific graphics rules
gfx/shrink1.2bpp: rgbgfx += -h gfx/shrink/shrink1.2bpp: rgbgfx += -h
gfx/shrink2.2bpp: rgbgfx += -h gfx/shrink/shrink2.2bpp: rgbgfx += -h
gfx/trainers/%.2bpp: rgbgfx += -h gfx/trainers/%.2bpp: rgbgfx += -h
gfx/trainers/%.pal: gfx/trainers/%.gbcpal gfx/trainers/%.pal: gfx/trainers/%.gbcpal
@ -153,7 +153,9 @@ gfx/mail/0b9d86.1bpp: tools/gfx += --remove-whitespace
gfx/mail/0b9dc6.1bpp: tools/gfx += --remove-whitespace gfx/mail/0b9dc6.1bpp: tools/gfx += --remove-whitespace
gfx/mail/0b9cfe.1bpp: tools/gfx += --remove-whitespace gfx/mail/0b9cfe.1bpp: tools/gfx += --remove-whitespace
gfx/pokedex/%.2bpp: tools/gfx += --trim-whitespace gfx/pokedex/pokedex.2bpp: tools/gfx += --trim-whitespace
gfx/pokedex/sgb.2bpp: tools/gfx += --trim-whitespace
gfx/pokedex/slowpoke.2bpp: tools/gfx += --trim-whitespace
gfx/title/crystal.2bpp: tools/gfx += --interleave --png=$< gfx/title/crystal.2bpp: tools/gfx += --interleave --png=$<
gfx/title/old_fg.2bpp: tools/gfx += --interleave --png=$< gfx/title/old_fg.2bpp: tools/gfx += --interleave --png=$<
@ -162,10 +164,10 @@ gfx/title/logo.2bpp: rgbgfx += -x 4
gfx/trade/ball.2bpp: tools/gfx += --remove-whitespace gfx/trade/ball.2bpp: tools/gfx += --remove-whitespace
gfx/trade/game_boy_n64.2bpp: tools/gfx += --trim-whitespace gfx/trade/game_boy_n64.2bpp: tools/gfx += --trim-whitespace
gfx/slots_2.2bpp: tools/gfx += --interleave --png=$< gfx/slots/slots_2.2bpp: tools/gfx += --interleave --png=$<
gfx/slots_3.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates --keep-whitespace --remove-xflip gfx/slots/slots_3.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates --keep-whitespace --remove-xflip
gfx/slots_3a.2bpp: tools/gfx += --interleave --png=$<
gfx/slots_3b.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates --keep-whitespace --remove-xflip gfx/card_flip/card_flip_2.2bpp: tools/gfx += --remove-whitespace
gfx/fx/angels.2bpp: tools/gfx += --trim-whitespace gfx/fx/angels.2bpp: tools/gfx += --trim-whitespace
gfx/fx/beam.2bpp: tools/gfx += --remove-xflip --remove-yflip --remove-whitespace gfx/fx/beam.2bpp: tools/gfx += --remove-xflip --remove-yflip --remove-whitespace
@ -185,18 +187,21 @@ gfx/fx/rocks.2bpp: tools/gfx += --remove-whitespace
gfx/fx/skyattack.2bpp: tools/gfx += --remove-whitespace gfx/fx/skyattack.2bpp: tools/gfx += --remove-whitespace
gfx/fx/status.2bpp: tools/gfx += --remove-whitespace gfx/fx/status.2bpp: tools/gfx += --remove-whitespace
gfx/misc/chris.2bpp: rgbgfx += -h gfx/player/chris.2bpp: rgbgfx += -h
gfx/misc/chris_card.2bpp: rgbgfx += -h gfx/player/chris_back.2bpp: rgbgfx += -h
gfx/misc/kris.2bpp: rgbgfx += -h gfx/player/kris.2bpp: rgbgfx += -h
gfx/misc/kris_card.2bpp: rgbgfx += -h gfx/player/kris_back.2bpp: rgbgfx += -h
gfx/misc/kris_back.2bpp: rgbgfx += -h
gfx/misc/dude.2bpp: rgbgfx += -h gfx/trainer_card/chris_card.2bpp: rgbgfx += -h
gfx/misc/unknown_egg.2bpp: rgbgfx += -h gfx/trainer_card/kris_card.2bpp: rgbgfx += -h
gfx/misc/player.2bpp: rgbgfx += -h
gfx/misc/pokegear.2bpp: rgbgfx += -x2 gfx/battle/dude.2bpp: rgbgfx += -h
gfx/misc/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace
gfx/misc/unknown_egg.2bpp: rgbgfx += -h
gfx/pokegear/pokegear.2bpp: rgbgfx += -x2
gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace
gfx/unknown/0e0ea8.2bpp: tools/gfx += --remove-whitespace
gfx/unknown/0f8f34.1bpp: tools/gfx += --trim-whitespace gfx/unknown/0f8f34.1bpp: tools/gfx += --trim-whitespace
gfx/unknown/16c173.2bpp: tools/gfx += --remove-duplicates --remove-xflip gfx/unknown/16c173.2bpp: tools/gfx += --remove-duplicates --remove-xflip
gfx/unknown/170d16.2bpp: tools/gfx += --trim-whitespace gfx/unknown/170d16.2bpp: tools/gfx += --trim-whitespace

View File

@ -22,7 +22,7 @@ _MapSetup_Sound_Off:: ; e8000
ld [hli], a ; ff26 ; music channels ld [hli], a ; ff26 ; music channels
ld hl, rNR10 ; sound channel registers ld hl, rNR10 ; sound channel registers
ld e, $4 ; number of channels ld e, NUM_MUSIC_CHANS
.clearsound .clearsound
; sound channel 1 2 3 4 ; sound channel 1 2 3 4
xor a xor a
@ -47,7 +47,7 @@ _MapSetup_Sound_Off:: ; e8000
ld a, e ld a, e
or d or d
jr nz, .clearchannels jr nz, .clearchannels
ld a, $77 ; max ld a, MAX_VOLUME
ld [Volume], a ld [Volume], a
call MusicOn call MusicOn
pop af pop af
@ -60,15 +60,15 @@ _MapSetup_Sound_Off:: ; e8000
MusicFadeRestart: ; e803d MusicFadeRestart: ; e803d
; restart but keep the music id to fade in to ; restart but keep the music id to fade in to
ld a, [MusicFadeIDHi] ld a, [MusicFadeID + 1]
push af push af
ld a, [MusicFadeIDLo] ld a, [MusicFadeID]
push af push af
call _MapSetup_Sound_Off call _MapSetup_Sound_Off
pop af pop af
ld [MusicFadeIDLo], a ld [MusicFadeID], a
pop af pop af
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
ret ret
; e8051 ; e8051
@ -151,7 +151,7 @@ _UpdateSound:: ; e805c
jr z, .next jr z, .next
; are we in a sfx channel right now? ; are we in a sfx channel right now?
ld a, [CurChannel] ld a, [CurChannel]
cp $4 cp CHAN5
jr nc, .next jr nc, .next
; are any sfx channels active? ; are any sfx channels active?
; if so, mute ; if so, mute
@ -174,7 +174,7 @@ _UpdateSound:: ; e805c
.next .next
; are we in a sfx channel right now? ; are we in a sfx channel right now?
ld a, [CurChannel] ld a, [CurChannel]
cp $4 ; sfx cp CHAN5
jr nc, .sfx_channel jr nc, .sfx_channel
ld hl, Channel5Flags - Channel1 ld hl, Channel5Flags - Channel1
add hl, bc add hl, bc
@ -654,11 +654,11 @@ FadeMusic: ; e8358
; restart sound ; restart sound
call MusicFadeRestart call MusicFadeRestart
; get new song id ; get new song id
ld a, [MusicFadeIDLo] ld a, [MusicFadeID]
and a and a
jr z, .quit ; this assumes there are fewer than 256 songs! jr z, .quit ; this assumes there are fewer than 256 songs!
ld e, a ld e, a
ld a, [MusicFadeIDHi] ld a, [MusicFadeID + 1]
ld d, a ld d, a
; load new song ; load new song
call _PlayMusic call _PlayMusic
@ -679,9 +679,9 @@ FadeMusic: ; e8358
xor a xor a
ld [Volume], a ld [Volume], a
; get new song id ; get new song id
ld a, [MusicFadeIDLo] ld a, [MusicFadeID]
ld e, a ld e, a
ld a, [MusicFadeIDHi] ld a, [MusicFadeID + 1]
ld d, a ld d, a
; load new song ; load new song
call _PlayMusic call _PlayMusic
@ -744,7 +744,7 @@ LoadNote: ; e83d1
sub [hl] sub [hl]
ld e, a ld e, a
ld a, d ld a, d
sbc a, 0 sbc 0
ld d, a ld d, a
ld hl, Channel1PitchWheelTarget + 1 - Channel1 ld hl, Channel1PitchWheelTarget + 1 - Channel1
add hl, bc add hl, bc
@ -766,7 +766,7 @@ LoadNote: ; e83d1
sub e sub e
ld e, a ld e, a
ld a, d ld a, d
sbc a, 0 sbc 0
ld d, a ld d, a
; ???? ; ????
ld hl, Channel1PitchWheelTarget + 1 - Channel1 ld hl, Channel1PitchWheelTarget + 1 - Channel1
@ -793,7 +793,7 @@ LoadNote: ; e83d1
sub [hl] sub [hl]
ld e, a ld e, a
ld a, d ld a, d
sbc a, 0 sbc 0
ld d, a ld d, a
ld hl, Channel1PitchWheelTarget + 1 - Channel1 ld hl, Channel1PitchWheelTarget + 1 - Channel1
add hl, bc add hl, bc
@ -1021,7 +1021,7 @@ ApplyPitchWheel: ; e84f9
sub e sub e
ld e, a ld e, a
ld a, d ld a, d
sbc a, 0 sbc 0
ld d, a ld d, a
; [Channel*Field0x25] *= 2 ; [Channel*Field0x25] *= 2
; if rollover: Frequency -= 1 ; if rollover: Frequency -= 1
@ -1031,10 +1031,10 @@ ApplyPitchWheel: ; e84f9
add a add a
ld [hl], a ld [hl], a
ld a, e ld a, e
sbc a, 0 sbc 0
ld e, a ld e, a
ld a, d ld a, d
sbc a, 0 sbc 0
ld d, a ld d, a
; Compare the dw at [Channel*PitchWheelTarget] to de. ; Compare the dw at [Channel*PitchWheelTarget] to de.
; If frequency is lower, we're finished. ; If frequency is lower, we're finished.
@ -1223,7 +1223,7 @@ ParseMusic: ; e85e1
bit SOUND_SUBROUTINE, [hl] ; in a subroutine? bit SOUND_SUBROUTINE, [hl] ; in a subroutine?
jr nz, .readcommand ; execute jr nz, .readcommand ; execute
ld a, [CurChannel] ld a, [CurChannel]
cp $4 ; channels 0-3? cp CHAN5
jr nc, .chan_5to8 jr nc, .chan_5to8
; ???? ; ????
ld hl, Channel5Flags - Channel1 ld hl, Channel5Flags - Channel1
@ -1237,7 +1237,7 @@ ParseMusic: ; e85e1
call nz, RestoreVolume call nz, RestoreVolume
; end music ; end music
ld a, [CurChannel] ld a, [CurChannel]
cp $4 ; channel 5? cp CHAN5
jr nz, .ok jr nz, .ok
; ???? ; ????
xor a xor a
@ -1266,7 +1266,7 @@ ParseMusic: ; e85e1
RestoreVolume: ; e8679 RestoreVolume: ; e8679
; ch5 only ; ch5 only
ld a, [CurChannel] ld a, [CurChannel]
cp $4 cp CHAN5
ret nz ret nz
xor a xor a
ld hl, Channel6CryPitch ld hl, Channel6CryPitch
@ -1364,9 +1364,9 @@ GetNoiseSample: ; e86c5
add hl, de add hl, de
; load sample pointer into NoiseSampleAddress ; load sample pointer into NoiseSampleAddress
ld a, [hli] ld a, [hli]
ld [NoiseSampleAddressLo], a ld [NoiseSampleAddress], a
ld a, [hl] ld a, [hl]
ld [NoiseSampleAddressHi], a ld [NoiseSampleAddress + 1], a
; clear ???? ; clear ????
xor a xor a
ld [wNoiseSampleDelay], a ld [wNoiseSampleDelay], a
@ -1378,7 +1378,7 @@ ParseMusicCommand: ; e870f
; reload command ; reload command
ld a, [CurMusicByte] ld a, [CurMusicByte]
; get command # ; get command #
sub a, $d0 ; first command sub $d0 ; first command
ld e, a ld e, a
ld d, 0 ld d, 0
; seek command pointer ; seek command pointer
@ -1968,7 +1968,7 @@ Music_NoteType: ; e8963
ld [hl], a ld [hl], a
ld a, [CurChannel] ld a, [CurChannel]
and $3 and $3
cp CHAN4 ; CHAN8 & $3 cp CHAN8 & $3
ret z ret z
; intensity ; intensity
call Music_Intensity call Music_Intensity
@ -2063,7 +2063,7 @@ Music_StereoPanning: ; e89ba
; params: 1 ; params: 1
; stereo on? ; stereo on?
ld a, [Options] ld a, [Options]
bit 5, a ; stereo bit STEREO, a
jr nz, Music_Panning jr nz, Music_Panning
; skip param ; skip param
call GetMusicByte call GetMusicByte
@ -2160,9 +2160,9 @@ Music_RestartChannel: ; e8a08
ld hl, Channel1MusicID - Channel1 ld hl, Channel1MusicID - Channel1
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
ld [MusicIDLo], a ld [MusicID], a
ld a, [hl] ld a, [hl]
ld [MusicIDHi], a ld [MusicID + 1], a
; update music bank ; update music bank
ld hl, Channel1MusicBank - Channel1 ld hl, Channel1MusicBank - Channel1
add hl, bc add hl, bc
@ -2437,7 +2437,7 @@ _PlayMusic:: ; e8b30
ld hl, MusicID ld hl, MusicID
ld [hl], e ; song number ld [hl], e ; song number
inc hl inc hl
ld [hl], d ; MusicIDHi (always $) ld [hl], d ; (always 0)
ld hl, Music ld hl, Music
add hl, de ; three add hl, de ; three
add hl, de ; byte add hl, de ; byte
@ -2466,8 +2466,8 @@ _PlayMusic:: ; e8b30
ld [Channel2JumpCondition], a ld [Channel2JumpCondition], a
ld [Channel3JumpCondition], a ld [Channel3JumpCondition], a
ld [Channel4JumpCondition], a ld [Channel4JumpCondition], a
ld [NoiseSampleAddressLo], a ld [NoiseSampleAddress], a
ld [NoiseSampleAddressHi], a ld [NoiseSampleAddress + 1], a
ld [wNoiseSampleDelay], a ld [wNoiseSampleDelay], a
ld [MusicNoiseSampleSet], a ld [MusicNoiseSampleSet], a
call MusicOn call MusicOn
@ -2552,7 +2552,7 @@ _PlayCryHeader:: ; e8b79
; This only applies in-battle. ; This only applies in-battle.
ld a, [Options] ld a, [Options]
bit 5, a ; stereo bit STEREO, a
jr z, .next jr z, .next
; [Tracks] &= [CryTracks] ; [Tracks] &= [CryTracks]
@ -2577,7 +2577,7 @@ _PlayCryHeader:: ; e8b79
ld a, [Volume] ld a, [Volume]
ld [LastVolume], a ld [LastVolume], a
ld a, $77 ld a, MAX_VOLUME
ld [Volume], a ld [Volume], a
.end .end
@ -2647,8 +2647,8 @@ _PlaySFX:: ; e8c04
ld a, $80 ld a, $80
ld [rNR44], a ; restart sound (freq hi = 0) ld [rNR44], a ; restart sound (freq hi = 0)
xor a xor a
ld [NoiseSampleAddressLo], a ld [NoiseSampleAddress], a
ld [NoiseSampleAddressHi], a ld [NoiseSampleAddress + 1], a
.chscleared .chscleared
; start reading sfx header for # chs ; start reading sfx header for # chs
ld hl, MusicID ld hl, MusicID
@ -2696,7 +2696,7 @@ PlayStereoSFX:: ; e8ca6
; standard procedure if stereo's off ; standard procedure if stereo's off
ld a, [Options] ld a, [Options]
bit 5, a bit STEREO, a
jp z, _PlaySFX jp z, _PlaySFX
; else, let's go ahead with this ; else, let's go ahead with this
@ -2825,9 +2825,9 @@ LoadChannel: ; e8d1b
; load music id ; load music id
ld hl, Channel1MusicID - Channel1 ld hl, Channel1MusicID - Channel1
add hl, bc add hl, bc
ld a, [MusicIDLo] ld a, [MusicID]
ld [hli], a ld [hli], a
ld a, [MusicIDHi] ld a, [MusicID + 1]
ld [hl], a ld [hl], a
; load music bank ; load music bank
ld hl, Channel1MusicBank - Channel1 ld hl, Channel1MusicBank - Channel1
@ -3231,7 +3231,7 @@ GetLRTracks: ; e8fc2
; gets the default sound l/r channels ; gets the default sound l/r channels
; stores mono/stereo table in hl ; stores mono/stereo table in hl
ld a, [Options] ld a, [Options]
bit 5, a ; stereo bit STEREO, a
; made redundant, could have had a purpose in gold ; made redundant, could have had a purpose in gold
jr nz, .stereo jr nz, .stereo
ld hl, MonoTracks ld hl, MonoTracks
@ -3279,7 +3279,7 @@ ClearChannels:: ; e8fe9
ld a, $80 ld a, $80
ld [hli], a ld [hli], a
ld hl, rNR10 ld hl, rNR10
ld e, $4 ld e, NUM_MUSIC_CHANS
.loop .loop
call ClearChannel call ClearChannel
dec e dec e

View File

@ -27,7 +27,7 @@ AI_SwitchOrTryItem: ; 38000
ld a, [TrainerClass] ld a, [TrainerClass]
dec a dec a
ld bc, 7 ld bc, NUM_TRAINER_ATTRIBUTES
call AddNTimes call AddNTimes
.ok .ok
bit SWITCH_OFTEN_F, [hl] bit SWITCH_OFTEN_F, [hl]
@ -174,8 +174,8 @@ AI_TryItem: ; 38105
ld a, [TrainerClass] ld a, [TrainerClass]
dec a dec a
ld hl, TrainerClassAttributes + 5 ld hl, TrainerClassAttributes + TRNATTR_AI_ITEM_SWITCH
ld bc, 7 ld bc, NUM_TRAINER_ATTRIBUTES
call AddNTimes call AddNTimes
ld b, h ld b, h
ld c, l ld c, l

View File

@ -57,7 +57,7 @@ _PlayBattleAnim: ; cc0e4
BattleAnimRunScript: ; cc11c BattleAnimRunScript: ; cc11c
ld a, [FXAnimIDHi] ld a, [FXAnimID + 1]
and a and a
jr nz, .hi_byte jr nz, .hi_byte
@ -86,9 +86,9 @@ BattleAnimRunScript: ; cc11c
ld de, ANIM_MISS ld de, ANIM_MISS
add hl, de add hl, de
ld a, l ld a, l
ld [FXAnimIDLo], a ld [FXAnimID], a
ld a, h ld a, h
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
.hi_byte .hi_byte
call WaitSFX call WaitSFX
@ -112,11 +112,11 @@ RunBattleAnimScript: ; cc163
call BattleAnimRequestPals call BattleAnimRequestPals
; Speed up Rollout's animation. ; Speed up Rollout's animation.
ld a, [FXAnimIDHi] ld a, [FXAnimID + 1]
or a or a
jr nz, .not_rollout jr nz, .not_rollout
ld a, [FXAnimIDLo] ld a, [FXAnimID]
cp ROLLOUT cp ROLLOUT
jr nz, .not_rollout jr nz, .not_rollout
@ -1393,7 +1393,7 @@ ClearBattleAnims: ; cc8d3
or b or b
jr nz, .loop jr nz, .loop
ld hl, FXAnimIDLo ld hl, FXAnimID
ld e, [hl] ld e, [hl]
inc hl inc hl
ld d, [hl] ld d, [hl]

View File

@ -868,7 +868,7 @@ BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed)
.BGSquares: .BGSquares:
bgsquare: MACRO bgsquare: MACRO
dn \1,\2 dn \1, \2
dw \3 dw \3
endm endm
@ -1538,10 +1538,10 @@ Tackle_BGEffect25_2d_two:
Functionc88a5: ; c88a5 (32:48a5) Functionc88a5: ; c88a5 (32:48a5)
push af push af
ld a, [FXAnimIDHi] ; FXAnimIDHi ld a, [FXAnimID + 1] ; FXAnimID + 1
or a or a
jr nz, .not_rollout jr nz, .not_rollout
ld a, [FXAnimIDLo] ; FXAnimID ld a, [FXAnimID] ; FXAnimID
cp ROLLOUT cp ROLLOUT
jr z, .rollout jr z, .rollout
.not_rollout .not_rollout
@ -2581,8 +2581,8 @@ BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52)
ld a, h ld a, h
push bc push bc
push af push af
ld hl, BGPals ; BGPals ld hl, BGPals
ld de, UnknBGPals ; wd000 ld de, UnknBGPals
ld b, a ld b, a
ld c, $1 ld c, $1
call CopyPals call CopyPals

View File

@ -633,7 +633,7 @@ ParsePlayerAction: ; 3c434
xor a xor a
ld [wMoveSelectionMenuType], a ld [wMoveSelectionMenuType], a
inc a ; POUND inc a ; POUND
ld [FXAnimIDLo], a ld [FXAnimID], a
call MoveSelectionScreen call MoveSelectionScreen
push af push af
call Call_LoadTempTileMapToTileMap call Call_LoadTempTileMapToTileMap
@ -1305,7 +1305,7 @@ HandleWrap: ; 3c874
ld a, [de] ld a, [de]
ld [wd265], a ld [wd265], a
ld [FXAnimIDLo], a ld [FXAnimID], a
call GetMoveName call GetMoveName
dec [hl] dec [hl]
jr z, .release_from_bounds jr z, .release_from_bounds
@ -1318,7 +1318,7 @@ HandleWrap: ; 3c874
call SwitchTurnCore call SwitchTurnCore
xor a xor a
ld [wNumHits], a ld [wNumHits], a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
predef PlayBattleAnim predef PlayBattleAnim
call SwitchTurnCore call SwitchTurnCore
@ -4213,7 +4213,7 @@ SendOutPlayerMon: ; 3db5f
call GetMonBackpic call GetMonBackpic
xor a xor a
ld [hGraphicStartTile], a ld [hGraphicStartTile], a
ld [wd0d2], a ld [wBattleMenuCursorBuffer], a
ld [CurMoveNum], a ld [CurMoveNum], a
ld [TypeModifier], a ld [TypeModifier], a
ld [wPlayerMoveStruct + MOVE_ANIM], a ld [wPlayerMoveStruct + MOVE_ANIM], a
@ -4551,11 +4551,11 @@ ItemRecoveryAnim: ; 3ddc8
push bc push bc
call EmptyBattleTextBox call EmptyBattleTextBox
ld a, RECOVER ld a, RECOVER
ld [FXAnimIDLo], a ld [FXAnimID], a
call SwitchTurnCore call SwitchTurnCore
xor a xor a
ld [wNumHits], a ld [wNumHits], a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
predef PlayBattleAnim predef PlayBattleAnim
call SwitchTurnCore call SwitchTurnCore
pop bc pop bc
@ -5130,7 +5130,7 @@ BattleMenu: ; 3e139
.next .next
ld a, $1 ld a, $1
ld [hBGMapMode], a ld [hBGMapMode], a
ld a, [wd0d2] ld a, [wBattleMenuCursorBuffer]
cp $1 cp $1
jp z, BattleMenu_Fight jp z, BattleMenu_Fight
cp $3 cp $3
@ -6267,13 +6267,13 @@ LoadEnemyMon: ; 3e8eb
; 25% chance of getting an item ; 25% chance of getting an item
call BattleRandom call BattleRandom
cp a, 1 + (75 percent) cp 1 + (75 percent)
ld a, NO_ITEM ld a, NO_ITEM
jr c, .UpdateItem jr c, .UpdateItem
; From there, an 8% chance for Item2 ; From there, an 8% chance for Item2
call BattleRandom call BattleRandom
cp a, 8 percent ; 8% of 25% = 2% Item2 cp 8 percent ; 8% of 25% = 2% Item2
ld a, [BaseItems] ld a, [BaseItems]
jr nc, .UpdateItem jr nc, .UpdateItem
ld a, [BaseItems+1] ld a, [BaseItems+1]
@ -6320,7 +6320,7 @@ LoadEnemyMon: ; 3e8eb
; Roaming monsters (Entei, Raikou) work differently ; Roaming monsters (Entei, Raikou) work differently
; They have their own structs, which are shorter than normal ; They have their own structs, which are shorter than normal
ld a, [BattleType] ld a, [BattleType]
cp a, BATTLETYPE_ROAMING cp BATTLETYPE_ROAMING
jr nz, .NotRoaming jr nz, .NotRoaming
; Grab HP ; Grab HP
@ -6361,7 +6361,7 @@ LoadEnemyMon: ; 3e8eb
; Forced shiny battle type ; Forced shiny battle type
; Used by Red Gyarados at Lake of Rage ; Used by Red Gyarados at Lake of Rage
cp a, BATTLETYPE_SHINY cp BATTLETYPE_SHINY
jr nz, .GenerateDVs jr nz, .GenerateDVs
ld b, ATKDEFDV_SHINY ; $ea ld b, ATKDEFDV_SHINY ; $ea
@ -6391,7 +6391,7 @@ LoadEnemyMon: ; 3e8eb
; Unown ; Unown
ld a, [TempEnemyMonSpecies] ld a, [TempEnemyMonSpecies]
cp a, UNOWN cp UNOWN
jr nz, .Magikarp jr nz, .Magikarp
; Get letter based on DVs ; Get letter based on DVs
@ -6406,7 +6406,7 @@ LoadEnemyMon: ; 3e8eb
; Skimming this part recommended ; Skimming this part recommended
ld a, [TempEnemyMonSpecies] ld a, [TempEnemyMonSpecies]
cp a, MAGIKARP cp MAGIKARP
jr nz, .Happiness jr nz, .Happiness
; Get Magikarp's length ; Get Magikarp's length
@ -6415,26 +6415,26 @@ LoadEnemyMon: ; 3e8eb
callab CalcMagikarpLength callab CalcMagikarpLength
; We're clear if the length is < 1536 ; We're clear if the length is < 1536
ld a, [MagikarpLength] ld a, [wMagikarpLength]
cp a, $06 ; $600 = 1536 cp $06 ; $600 = 1536
jr nz, .CheckMagikarpArea jr nz, .CheckMagikarpArea
; 5% chance of skipping size checks ; 5% chance of skipping size checks
call Random call Random
cp a, $0c ; / $100 cp $0c ; / $100
jr c, .CheckMagikarpArea jr c, .CheckMagikarpArea
; Try again if > 1614 ; Try again if > 1614
ld a, [MagikarpLength + 1] ld a, [wMagikarpLength + 1]
cp a, $50 cp $50
jr nc, .GenerateDVs jr nc, .GenerateDVs
; 20% chance of skipping this check ; 20% chance of skipping this check
call Random call Random
cp a, $32 ; / $100 cp $32 ; / $100
jr c, .CheckMagikarpArea jr c, .CheckMagikarpArea
; Try again if > 1598 ; Try again if > 1598
ld a, [MagikarpLength + 1] ld a, [wMagikarpLength + 1]
cp a, $40 cp $40
jr nc, .GenerateDVs jr nc, .GenerateDVs
.CheckMagikarpArea: .CheckMagikarpArea:
@ -6448,18 +6448,18 @@ LoadEnemyMon: ; 3e8eb
; Intended behavior enforces a minimum size at Lake of Rage ; Intended behavior enforces a minimum size at Lake of Rage
; The real behavior prevents size flooring in the Lake of Rage area ; The real behavior prevents size flooring in the Lake of Rage area
ld a, [MapGroup] ld a, [MapGroup]
cp a, GROUP_LAKE_OF_RAGE cp GROUP_LAKE_OF_RAGE
jr z, .Happiness jr z, .Happiness
ld a, [MapNumber] ld a, [MapNumber]
cp a, MAP_LAKE_OF_RAGE cp MAP_LAKE_OF_RAGE
jr z, .Happiness jr z, .Happiness
; 40% chance of not flooring ; 40% chance of not flooring
call Random call Random
cp a, $64 ; / $100 cp $64 ; / $100
jr c, .Happiness jr c, .Happiness
; Floor at length 1024 ; Floor at length 1024
ld a, [MagikarpLength] ld a, [wMagikarpLength]
cp a, 1024 >> 8 cp 1024 >> 8
jr c, .GenerateDVs ; try again jr c, .GenerateDVs ; try again
; Finally done with DVs ; Finally done with DVs
@ -6480,7 +6480,7 @@ LoadEnemyMon: ; 3e8eb
; If we're in a trainer battle, ; If we're in a trainer battle,
; get the rest of the parameters from the party struct ; get the rest of the parameters from the party struct
ld a, [wBattleMode] ld a, [wBattleMode]
cp a, TRAINER_BATTLE cp TRAINER_BATTLE
jr z, .OpponentParty jr z, .OpponentParty
; If we're in a wild battle, check wild-specific stuff ; If we're in a wild battle, check wild-specific stuff
@ -6515,7 +6515,7 @@ LoadEnemyMon: ; 3e8eb
; ..unless it's a RoamMon ; ..unless it's a RoamMon
ld a, [BattleType] ld a, [BattleType]
cp a, BATTLETYPE_ROAMING cp BATTLETYPE_ROAMING
jr nz, .Moves jr nz, .Moves
; Grab HP ; Grab HP
@ -6568,7 +6568,7 @@ LoadEnemyMon: ; 3e8eb
ld de, EnemyMonMoves ld de, EnemyMonMoves
; Are we in a trainer battle? ; Are we in a trainer battle?
ld a, [wBattleMode] ld a, [wBattleMode]
cp a, TRAINER_BATTLE cp TRAINER_BATTLE
jr nz, .WildMoves jr nz, .WildMoves
; Then copy moves from the party struct ; Then copy moves from the party struct
ld hl, OTPartyMon1Moves ld hl, OTPartyMon1Moves
@ -6588,14 +6588,14 @@ LoadEnemyMon: ; 3e8eb
ld [hli], a ld [hli], a
ld [hl], a ld [hl], a
; Make sure the predef knows this isn't a partymon ; Make sure the predef knows this isn't a partymon
ld [MagikarpLength], a ld [wEvolutionOldSpecies], a
; Fill moves based on level ; Fill moves based on level
predef FillMoves predef FillMoves
.PP: .PP:
; Trainer battle? ; Trainer battle?
ld a, [wBattleMode] ld a, [wBattleMode]
cp a, TRAINER_BATTLE cp TRAINER_BATTLE
jr z, .TrainerPP jr z, .TrainerPP
; Fill wild PP ; Fill wild PP
@ -6670,13 +6670,13 @@ CheckSleepingTreeMon: ; 3eb38
; Don't do anything if this isn't a tree encounter ; Don't do anything if this isn't a tree encounter
ld a, [BattleType] ld a, [BattleType]
cp a, BATTLETYPE_TREE cp BATTLETYPE_TREE
jr nz, .NotSleeping jr nz, .NotSleeping
; Get list for the time of day ; Get list for the time of day
ld hl, .Morn ld hl, .Morn
ld a, [TimeOfDay] ld a, [TimeOfDay]
cp a, DAY cp DAY
jr c, .Check jr c, .Check
ld hl, .Day ld hl, .Day
jr z, .Check jr z, .Check
@ -6759,7 +6759,7 @@ CheckUnownLetter: ; 3eb75
inc e inc e
inc e inc e
ld a, e ld a, e
cp a, .Set1 - .LetterSets cp .Set1 - .LetterSets
jr c, .loop jr c, .loop
; Hasn't been unlocked, or the letter is invalid ; Hasn't been unlocked, or the letter is invalid
@ -7285,9 +7285,9 @@ Call_PlayBattleAnim_OnlyIfVisible: ; 3ee0f
Call_PlayBattleAnim: ; 3ee17 Call_PlayBattleAnim: ; 3ee17
ld a, e ld a, e
ld [FXAnimIDLo], a ld [FXAnimID], a
ld a, d ld a, d
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
call WaitBGMap call WaitBGMap
predef_jump PlayBattleAnim predef_jump PlayBattleAnim
; 3ee27 ; 3ee27
@ -8405,7 +8405,7 @@ BattleIntro: ; 3f4dd
call LoadTrainerOrWildMonPic call LoadTrainerOrWildMonPic
xor a xor a
ld [TempBattleMonSpecies], a ld [TempBattleMonSpecies], a
ld [wd0d2], a ld [wBattleMenuCursorBuffer], a
xor a xor a
ld [hMapAnims], a ld [hMapAnims], a
callba PlayBattleMusic callba PlayBattleMusic
@ -8670,7 +8670,7 @@ CleanUpBattleRAM: ; 3f6d0
ld [wPartyMenuCursor], a ld [wPartyMenuCursor], a
ld [wKeyItemsPocketCursor], a ld [wKeyItemsPocketCursor], a
ld [wItemsPocketCursor], a ld [wItemsPocketCursor], a
ld [wd0d2], a ld [wBattleMenuCursorBuffer], a
ld [CurMoveNum], a ld [CurMoveNum], a
ld [wBallsPocketCursor], a ld [wBallsPocketCursor], a
ld [wLastPocket], a ld [wLastPocket], a

View File

@ -70,25 +70,25 @@ DoMove: ; 3402c
; Start at the first command. ; Start at the first command.
ld hl, BattleScriptBuffer ld hl, BattleScriptBuffer
ld a, l ld a, l
ld [BattleScriptBufferLoc], a ld [BattleScriptBufferAddress], a
ld a, h ld a, h
ld [BattleScriptBufferLoc + 1], a ld [BattleScriptBufferAddress + 1], a
.ReadMoveEffectCommand: .ReadMoveEffectCommand:
; ld a, [BattleScriptBufferLoc++] ; ld a, [BattleScriptBufferAddress++]
ld a, [BattleScriptBufferLoc] ld a, [BattleScriptBufferAddress]
ld l, a ld l, a
ld a, [BattleScriptBufferLoc + 1] ld a, [BattleScriptBufferAddress + 1]
ld h, a ld h, a
ld a, [hli] ld a, [hli]
push af push af
ld a, l ld a, l
ld [BattleScriptBufferLoc], a ld [BattleScriptBufferAddress], a
ld a, h ld a, h
ld [BattleScriptBufferLoc + 1], a ld [BattleScriptBufferAddress + 1], a
pop af pop af
; endturn_command (-2) is used to terminate branches without ending the read cycle. ; endturn_command (-2) is used to terminate branches without ending the read cycle.
@ -2103,7 +2103,7 @@ BattleCommand_LowerSub: ; 34eee
xor a xor a
ld [wNumHits], a ld [wNumHits], a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
inc a inc a
ld [wKickCounter], a ld [wKickCounter], a
ld a, SUBSTITUTE ld a, SUBSTITUTE
@ -2280,7 +2280,7 @@ BattleCommand_RaiseSub: ; 35004
xor a xor a
ld [wNumHits], a ld [wNumHits], a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
ld a, $2 ld a, $2
ld [wKickCounter], a ld [wKickCounter], a
ld a, SUBSTITUTE ld a, SUBSTITUTE
@ -2645,7 +2645,7 @@ BattleCommand_CheckDestinyBond: ; 351c0
call BattleCommand_SwitchTurn call BattleCommand_SwitchTurn
xor a xor a
ld [wNumHits], a ld [wNumHits], a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
inc a inc a
ld [wKickCounter], a ld [wKickCounter], a
ld a, DESTINY_BOND ld a, DESTINY_BOND
@ -2743,9 +2743,9 @@ BattleCommand_RageDamage: ; 3527b
EndMoveEffect: ; 352a3 EndMoveEffect: ; 352a3
ld a, [BattleScriptBufferLoc] ld a, [BattleScriptBufferAddress]
ld l, a ld l, a
ld a, [BattleScriptBufferLoc + 1] ld a, [BattleScriptBufferAddress + 1]
ld h, a ld h, a
ld a, $ff ld a, $ff
ld [hli], a ld [hli], a
@ -4738,9 +4738,9 @@ FarPlayBattleAnimation: ; 35d00
PlayFXAnimID: ; 35d08 PlayFXAnimID: ; 35d08
ld a, e ld a, e
ld [FXAnimIDLo], a ld [FXAnimID], a
ld a, d ld a, d
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
ld c, 3 ld c, 3
call DelayFrames call DelayFrames
@ -7097,9 +7097,9 @@ BattleCommand_EndLoop: ; 369b6
; Loop back to the command before 'critical'. ; Loop back to the command before 'critical'.
.loop_back_to_critical .loop_back_to_critical
ld a, [BattleScriptBufferLoc + 1] ld a, [BattleScriptBufferAddress + 1]
ld h, a ld h, a
ld a, [BattleScriptBufferLoc] ld a, [BattleScriptBufferAddress]
ld l, a ld l, a
.not_critical .not_critical
ld a, [hld] ld a, [hld]
@ -7107,9 +7107,9 @@ BattleCommand_EndLoop: ; 369b6
jr nz, .not_critical jr nz, .not_critical
inc hl inc hl
ld a, h ld a, h
ld [BattleScriptBufferLoc + 1], a ld [BattleScriptBufferAddress + 1], a
ld a, l ld a, l
ld [BattleScriptBufferLoc], a ld [BattleScriptBufferAddress], a
ret ret
; 36a82 ; 36a82
@ -7882,7 +7882,7 @@ BattleCommand_Substitute: ; 36e7c
xor a xor a
ld [wNumHits], a ld [wNumHits], a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
ld [wKickCounter], a ld [wKickCounter], a
ld a, SUBSTITUTE ld a, SUBSTITUTE
call LoadAnim call LoadAnim
@ -9862,14 +9862,14 @@ AnimateCurrentMove: ; 37e01
PlayDamageAnim: ; 37e19 PlayDamageAnim: ; 37e19
xor a xor a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
ld a, BATTLE_VARS_MOVE_ANIM ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar call GetBattleVar
and a and a
ret z ret z
ld [FXAnimIDLo], a ld [FXAnimID], a
ld a, [hBattleTurn] ld a, [hBattleTurn]
and a and a
@ -9888,7 +9888,7 @@ PlayDamageAnim: ; 37e19
LoadMoveAnim: ; 37e36 LoadMoveAnim: ; 37e36
xor a xor a
ld [wNumHits], a ld [wNumHits], a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
ld a, BATTLE_VARS_MOVE_ANIM ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar call GetBattleVar
@ -9901,7 +9901,7 @@ LoadMoveAnim: ; 37e36
LoadAnim: ; 37e44 LoadAnim: ; 37e44
ld [FXAnimIDLo], a ld [FXAnimID], a
; fallthrough ; fallthrough
; 37e47 ; 37e47
@ -9922,9 +9922,9 @@ PlayUserBattleAnim: ; 37e47
PlayOpponentBattleAnim: ; 37e54 PlayOpponentBattleAnim: ; 37e54
ld a, e ld a, e
ld [FXAnimIDLo], a ld [FXAnimID], a
ld a, d ld a, d
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
xor a xor a
ld [wNumHits], a ld [wNumHits], a
@ -9983,9 +9983,9 @@ BattleCommand_ClearText: ; 37e85
SkipToBattleCommand: ; 37e8c SkipToBattleCommand: ; 37e8c
; Skip over commands until reaching command b. ; Skip over commands until reaching command b.
ld a, [BattleScriptBufferLoc + 1] ld a, [BattleScriptBufferAddress + 1]
ld h, a ld h, a
ld a, [BattleScriptBufferLoc] ld a, [BattleScriptBufferAddress]
ld l, a ld l, a
.loop .loop
ld a, [hli] ld a, [hli]
@ -9993,9 +9993,9 @@ SkipToBattleCommand: ; 37e8c
jr nz, .loop jr nz, .loop
ld a, h ld a, h
ld [BattleScriptBufferLoc + 1], a ld [BattleScriptBufferAddress + 1], a
ld a, l ld a, l
ld [BattleScriptBufferLoc], a ld [BattleScriptBufferAddress], a
ret ret
; 37ea1 ; 37ea1

View File

@ -11,7 +11,7 @@ BattleCommand_Transform: ; 371cd
jp nz, BattleEffect_ButItFailed jp nz, BattleEffect_ButItFailed
xor a xor a
ld [wNumHits], a ld [wNumHits], a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
ld a, $1 ld a, $1
ld [wKickCounter], a ld [wKickCounter], a
ld a, BATTLE_VARS_SUBSTATUS4 ld a, BATTLE_VARS_SUBSTATUS4
@ -129,7 +129,7 @@ BattleCommand_Transform: ; 371cd
.after_anim .after_anim
xor a xor a
ld [wNumHits], a ld [wNumHits], a
ld [FXAnimIDHi], a ld [FXAnimID + 1], a
ld a, $2 ld a, $2
ld [wKickCounter], a ld [wKickCounter], a
pop af pop af

View File

@ -1,5 +1,5 @@
CalcMagikarpLength: ; fbbfc CalcMagikarpLength: ; fbbfc
; Return Magikarp's length (in mm) at MagikarpLength (big endian). ; Return Magikarp's length (in mm) at wMagikarpLength (big endian).
; ;
; input: ; input:
; de: EnemyMonDVs ; de: EnemyMonDVs
@ -16,9 +16,9 @@ CalcMagikarpLength: ; fbbfc
; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id) ; bc = rrc(dv[0]) ++ rrc(dv[1]) ^ rrc(id)
; if bc < 10: [MagikarpLength] = c + 190 ; if bc < 10: [wMagikarpLength] = c + 190
; if bc >= $ff00: [MagikarpLength] = c + 1370 ; if bc >= $ff00: [wMagikarpLength] = c + 1370
; else: [MagikarpLength] = z * 100 + (bc - x) / y ; else: [wMagikarpLength] = z * 100 + (bc - x) / y
; X, Y, and Z depend on the value of b as follows: ; X, Y, and Z depend on the value of b as follows:
@ -165,7 +165,7 @@ CalcMagikarpLength: ; fbbfc
.ok .ok
ld e, a ld e, a
ld hl, MagikarpLength ld hl, wMagikarpLength
ld [hl], d ld [hl], d
inc hl inc hl
ld [hl], e ld [hl], e

View File

@ -1,11 +1,11 @@
LoadBattleMenu: ; 24ef2 LoadBattleMenu: ; 24ef2
ld hl, BattleMenuDataHeader ld hl, BattleMenuDataHeader
call LoadMenuDataHeader call LoadMenuDataHeader
ld a, [wd0d2] ld a, [wBattleMenuCursorBuffer]
ld [wMenuCursorBuffer], a ld [wMenuCursorBuffer], a
call InterpretBattleMenu call InterpretBattleMenu
ld a, [wMenuCursorBuffer] ld a, [wMenuCursorBuffer]
ld [wd0d2], a ld [wBattleMenuCursorBuffer], a
call ExitMenu call ExitMenu
ret ret
; 24f0b ; 24f0b
@ -23,11 +23,11 @@ ContestBattleMenu: ; 24f13
; 24f19 ; 24f19
Function24f19: ; 24f19 Function24f19: ; 24f19
ld a, [wd0d2] ld a, [wBattleMenuCursorBuffer]
ld [wMenuCursorBuffer], a ld [wMenuCursorBuffer], a
call _2DMenu call _2DMenu
ld a, [wMenuCursorBuffer] ld a, [wMenuCursorBuffer]
ld [wd0d2], a ld [wBattleMenuCursorBuffer], a
call ExitMenu call ExitMenu
ret ret
; 24f2c ; 24f2c

View File

@ -1,573 +1,585 @@
BattleAnimObjects: ; ccb56 BattleAnimObjects: ; ccb56
battleanimobj: MACRO battleanimobj: MACRO
db \1 ; flags
; ??, ??, frameset, function, ??, tile offset ; bit 7: priority
db \1, \2, \3, \4, \5, \6 ; bit 6: y flip (for enemy)
; bit 5: x flip (for enemy)
; bit 0: enable enemy animation coord fixing (x = $b4 - x; see below for y)
db \2 ; enemy animation y fix param
; if $FF: y = y + 5 tiles
; else: y = -y - (1 tile) * (is_softboiled_animation)
db \3 ; video sequence
db \4 ; callback
db \5 ; palette
db \6 ; tile offset
endm endm
ABSOLUTE_X EQU $00
RELATIVE_X EQU $01
; ANIM_OBJ_00 ; ANIM_OBJ_00
battleanimobj $01, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_01 ; ANIM_OBJ_01
battleanimobj $01, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_02 ; ANIM_OBJ_02
battleanimobj $01, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_03 ; ANIM_OBJ_03
battleanimobj $01, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_04 ; ANIM_OBJ_04
battleanimobj $01, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_05 ; ANIM_OBJ_05
battleanimobj $01, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_06 ; ANIM_OBJ_06
battleanimobj $01, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_07 ; ANIM_OBJ_07
battleanimobj $01, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, $02, $01 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_08 ; ANIM_OBJ_08
battleanimobj $01, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_09 ; ANIM_OBJ_09
battleanimobj $01, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_0A ; ANIM_OBJ_0A
battleanimobj $01, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, $02, $01 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_0B ; ANIM_OBJ_0B
battleanimobj $01, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, $04, $03 battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_RED, $03
; ANIM_OBJ_0C ; ANIM_OBJ_0C
battleanimobj $01, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, $04, $03 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_RED, $03
; ANIM_OBJ_0D ; ANIM_OBJ_0D
battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, $04, $03 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_RED, $03
; ANIM_OBJ_0E ; ANIM_OBJ_0E
battleanimobj $01, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, $04, $03 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_RED, $03
; ANIM_OBJ_0F ; ANIM_OBJ_0F
battleanimobj $01, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, $04, $03 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_RED, $03
; ANIM_OBJ_BURNED ; ANIM_OBJ_BURNED
battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, $04, $03 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_RED, $03
; ANIM_OBJ_BLIZZARD ; ANIM_OBJ_BLIZZARD
battleanimobj $01, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, $06, $0a battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_BLUE, $0a
; ANIM_OBJ_12 ; ANIM_OBJ_12
battleanimobj $01, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, $06, $0a battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $0a
; ANIM_OBJ_ICE_BEAM ; ANIM_OBJ_ICE_BEAM
battleanimobj $01, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, $06, $0a battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_BLUE, $0a
; ANIM_OBJ_RAZOR_LEAF ; ANIM_OBJ_RAZOR_LEAF
battleanimobj $21, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, $05, $06 battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_GREEN, $06
; ANIM_OBJ_POKE_BALL ; ANIM_OBJ_POKE_BALL
battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, $04, $0b battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_RED, $0b
; ANIM_OBJ_POKE_BALL_BLOCKED ; ANIM_OBJ_POKE_BALL_BLOCKED
battleanimobj $00, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, $04, $0b battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_RED, $0b
; ANIM_OBJ_17 ; ANIM_OBJ_17
battleanimobj $01, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_RED, $08
; ANIM_OBJ_18 ; ANIM_OBJ_18
battleanimobj $01, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, $04, $08 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_RED, $08
; ANIM_OBJ_19 ; ANIM_OBJ_19
battleanimobj $01, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, $02, $0c battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_GRAY, $0c
; ANIM_OBJ_1A ; ANIM_OBJ_1A
battleanimobj $01, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, $02, $0c battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_GRAY, $0c
; ANIM_OBJ_1B ; ANIM_OBJ_1B
battleanimobj $01, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $07
; ANIM_OBJ_BALL_POOF ; ANIM_OBJ_BALL_POOF
battleanimobj $01, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, $02, $07 battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $07
; ANIM_OBJ_1D ; ANIM_OBJ_1D
battleanimobj $01, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, $07, $09 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_BROWN, $09
; ANIM_OBJ_1E ; ANIM_OBJ_1E
battleanimobj $01, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, $07, $09 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_BROWN, $09
; ANIM_OBJ_1F ; ANIM_OBJ_1F
battleanimobj $01, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, $07, $09 battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_BROWN, $09
; ANIM_OBJ_20 ; ANIM_OBJ_20
battleanimobj $01, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, $06, $21 battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_BLUE, $21
; ANIM_OBJ_BUBBLE ; ANIM_OBJ_BUBBLE
battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, $06, $0d battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_BLUE, $0d
; ANIM_OBJ_22 ; ANIM_OBJ_22
battleanimobj $00, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, $06, $0d battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_BLUE, $0d
; ANIM_OBJ_23 ; ANIM_OBJ_23
battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, $02, $0e battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_GRAY, $0e
; ANIM_OBJ_24 ; ANIM_OBJ_24
battleanimobj $61, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, $06, $04 battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_BLUE, $04
; ANIM_OBJ_25 ; ANIM_OBJ_25
battleanimobj $01, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, $06, $04 battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $04
; ANIM_OBJ_26 ; ANIM_OBJ_26
battleanimobj $01, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, $05, $0f battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_GREEN, $0f
; ANIM_OBJ_27 ; ANIM_OBJ_27
battleanimobj $61, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, $03, $10 battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $10
; ANIM_OBJ_28 ; ANIM_OBJ_28
battleanimobj $61, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10 battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_YELLOW, $10
; ANIM_OBJ_ICE_BUILDUP ; ANIM_OBJ_ICE_BUILDUP
battleanimobj $01, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, $06, $0a battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $0a
; ANIM_OBJ_FROZEN ; ANIM_OBJ_FROZEN
battleanimobj $01, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, $06, $0a battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $0a
; ANIM_OBJ_MASTER_BALL_SPARKLE ; ANIM_OBJ_MASTER_BALL_SPARKLE
battleanimobj $01, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, $07, $11 battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_BROWN, $11
; ANIM_OBJ_2C ; ANIM_OBJ_2C
battleanimobj $01, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, $03, $0d battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_YELLOW, $0d
; ANIM_OBJ_2D ; ANIM_OBJ_2D
battleanimobj $21, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, $03, $05 battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05
; ANIM_OBJ_2E ; ANIM_OBJ_2E
battleanimobj $21, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, $03, $05 battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05
; ANIM_OBJ_2F ; ANIM_OBJ_2F
battleanimobj $21, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, $03, $05 battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05
; ANIM_OBJ_30 ; ANIM_OBJ_30
battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, $03, $05 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_YELLOW, $05
; ANIM_OBJ_31 ; ANIM_OBJ_31
battleanimobj $21, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, $03, $05 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05
; ANIM_OBJ_LIGHTNING_BOLT ; ANIM_OBJ_LIGHTNING_BOLT
battleanimobj $21, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, $02, $08 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_GRAY, $08
; ANIM_OBJ_33 ; ANIM_OBJ_33
battleanimobj $21, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, $03, $05 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05
; ANIM_OBJ_34 ; ANIM_OBJ_34
battleanimobj $21, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, $02, $08 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_GRAY, $08
; ANIM_OBJ_35 ; ANIM_OBJ_35
battleanimobj $21, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, $02, $02 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_GRAY, $02
; ANIM_OBJ_36 ; ANIM_OBJ_36
battleanimobj $01, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, $02, $02 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_GRAY, $02
; ANIM_OBJ_37 ; ANIM_OBJ_37
battleanimobj $21, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, $02, $02 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02
; ANIM_OBJ_38 ; ANIM_OBJ_38
battleanimobj $21, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, $02, $02 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02
; ANIM_OBJ_39 ; ANIM_OBJ_39
battleanimobj $21, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, $02, $02 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02
; ANIM_OBJ_3A ; ANIM_OBJ_3A
battleanimobj $21, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, $02, $02 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02
; ANIM_OBJ_3B ; ANIM_OBJ_3B
battleanimobj $21, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, $02, $02 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02
; ANIM_OBJ_3C ; ANIM_OBJ_3C
battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, $05, $12 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_GREEN, $12
; ANIM_OBJ_3D ; ANIM_OBJ_3D
battleanimobj $01, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, $05, $12 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_GREEN, $12
; ANIM_OBJ_GUST ; ANIM_OBJ_GUST
battleanimobj $21, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, $02, $13 battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_GRAY, $13
; ANIM_OBJ_3F ; ANIM_OBJ_3F
battleanimobj $21, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, $02, $14 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $14
; ANIM_OBJ_40 ; ANIM_OBJ_40
battleanimobj $21, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, $02, $14 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $14
; ANIM_OBJ_41 ; ANIM_OBJ_41
battleanimobj $21, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, $02, $14 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_GRAY, $14
; ANIM_OBJ_42 ; ANIM_OBJ_42
battleanimobj $21, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, $02, $14 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_GRAY, $14
; ANIM_OBJ_43 ; ANIM_OBJ_43
battleanimobj $21, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, $02, $14 battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_GRAY, $14
; ANIM_OBJ_44 ; ANIM_OBJ_44
battleanimobj $21, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, $03, $11 battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $11
; ANIM_OBJ_ABSORB ; ANIM_OBJ_ABSORB
battleanimobj $01, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, $05, $12 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_GREEN, $12
; ANIM_OBJ_46 ; ANIM_OBJ_46
battleanimobj $21, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, $02, $15 battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_GRAY, $15
; ANIM_OBJ_47 ; ANIM_OBJ_47
battleanimobj $01, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, $03, $11 battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_YELLOW, $11
; ANIM_OBJ_48 ; ANIM_OBJ_48
battleanimobj $21, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, $05, $16 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_GREEN, $16
; ANIM_OBJ_49 ; ANIM_OBJ_49
battleanimobj $21, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, $05, $16 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_GREEN, $16
; ANIM_OBJ_LEECH_SEED ; ANIM_OBJ_LEECH_SEED
battleanimobj $21, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, $05, $06 battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_GREEN, $06
; ANIM_OBJ_4B ; ANIM_OBJ_4B
battleanimobj $21, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, $02, $0e battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_GRAY, $0e
; ANIM_OBJ_4C ; ANIM_OBJ_4C
battleanimobj $21, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, $02, $17 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_GRAY, $17
; ANIM_OBJ_4D ; ANIM_OBJ_4D
battleanimobj $01, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, $03, $11 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_YELLOW, $11
; ANIM_OBJ_4E ; ANIM_OBJ_4E
battleanimobj $61, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, $03, $10 battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $10
; ANIM_OBJ_4F ; ANIM_OBJ_4F
battleanimobj $61, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, $03, $10 battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_YELLOW, $10
; ANIM_OBJ_50 ; ANIM_OBJ_50
battleanimobj $21, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $03, $18 battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $18
; ANIM_OBJ_51 ; ANIM_OBJ_51
battleanimobj $21, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, $02, $18 battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $18
; ANIM_OBJ_CHICK ; ANIM_OBJ_CHICK
battleanimobj $21, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, $03, $19 battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_YELLOW, $19
; ANIM_OBJ_53 ; ANIM_OBJ_53
battleanimobj $01, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, $02, $19 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_GRAY, $19
; ANIM_OBJ_54 ; ANIM_OBJ_54
battleanimobj $01, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, $02, $19 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_GRAY, $19
; ANIM_OBJ_SKULL ; ANIM_OBJ_SKULL
battleanimobj $01, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, $02, $0c battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $0c
; ANIM_OBJ_56 ; ANIM_OBJ_56
battleanimobj $21, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, $07, $1a battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_BROWN, $1a
; ANIM_OBJ_57 ; ANIM_OBJ_57
battleanimobj $21, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, $07, $1a battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_BROWN, $1a
; ANIM_OBJ_58 ; ANIM_OBJ_58
battleanimobj $21, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, $02, $1a battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_GRAY, $1a
; ANIM_OBJ_PARALYZED ; ANIM_OBJ_PARALYZED
battleanimobj $21, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, $03, $19 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_YELLOW, $19
; ANIM_OBJ_5A ; ANIM_OBJ_5A
battleanimobj $21, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, $02, $1b battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_GRAY, $1b
; ANIM_OBJ_HAZE ; ANIM_OBJ_HAZE
battleanimobj $00, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, $02, $1c battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_GRAY, $1c
; ANIM_OBJ_MIST ; ANIM_OBJ_MIST
battleanimobj $21, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, $02, $1c battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_GRAY, $1c
; ANIM_OBJ_SMOG ; ANIM_OBJ_SMOG
battleanimobj $21, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, $02, $1c battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_GRAY, $1c
; ANIM_OBJ_POISON_GAS ; ANIM_OBJ_POISON_GAS
battleanimobj $21, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, $02, $1c battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_GRAY, $1c
; ANIM_OBJ_HORN ; ANIM_OBJ_HORN
battleanimobj $61, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, $02, $1d battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_GRAY, $1d
; ANIM_OBJ_60 ; ANIM_OBJ_60
battleanimobj $61, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, $02, $1d battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_GRAY, $1d
; ANIM_OBJ_61 ; ANIM_OBJ_61
battleanimobj $01, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, $04, $1e battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_RED, $1e
; ANIM_OBJ_62 ; ANIM_OBJ_62
battleanimobj $01, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, $02, $15 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_GRAY, $15
; ANIM_OBJ_63 ; ANIM_OBJ_63
battleanimobj $01, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, $07, $19 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_BROWN, $19
; ANIM_OBJ_64 ; ANIM_OBJ_64
battleanimobj $21, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, $02, $14 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_GRAY, $14
; ANIM_OBJ_65 ; ANIM_OBJ_65
battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, $02, $11 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_GRAY, $11
; ANIM_OBJ_66 ; ANIM_OBJ_66
battleanimobj $01, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, $04, $23 battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_RED, $23
; ANIM_OBJ_67 ; ANIM_OBJ_67
battleanimobj $01, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, $02, $1f battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_68 ; ANIM_OBJ_68
battleanimobj $01, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, $02, $1f battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_69 ; ANIM_OBJ_69
battleanimobj $01, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, $02, $1f battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_6A ; ANIM_OBJ_6A
battleanimobj $01, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, $03, $23 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_YELLOW, $23
; ANIM_OBJ_6B ; ANIM_OBJ_6B
battleanimobj $21, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, $02, $1f battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_6C ; ANIM_OBJ_6C
battleanimobj $01, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_YELLOW, $11
; ANIM_OBJ_6D ; ANIM_OBJ_6D
battleanimobj $01, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, $03, $11 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_YELLOW, $11
; ANIM_OBJ_SKY_ATTACK_FEAROW ; ANIM_OBJ_SKY_ATTACK_FEAROW
battleanimobj $21, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, $02, $20 battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_GRAY, $20
; ANIM_OBJ_LICK ; ANIM_OBJ_LICK
battleanimobj $21, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, $02, $04 battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $04
; ANIM_OBJ_WITHDRAW ; ANIM_OBJ_WITHDRAW
battleanimobj $21, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, $02, $18 battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $18
; ANIM_OBJ_71 ; ANIM_OBJ_71
battleanimobj $01, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, $06, $0d battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_BLUE, $0d
; ANIM_OBJ_72 ; ANIM_OBJ_72
battleanimobj $01, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, $03, $12 battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_YELLOW, $12
; ANIM_OBJ_73 ; ANIM_OBJ_73
battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, $02, $08 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_GRAY, $08
; ANIM_OBJ_74 ; ANIM_OBJ_74
battleanimobj $21, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, $02, $1c battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_GRAY, $1c
; ANIM_OBJ_75 ; ANIM_OBJ_75
battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, $02, $15 battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_GRAY, $15
; ANIM_OBJ_76 ; ANIM_OBJ_76
battleanimobj $21, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, $02, $14 battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_GRAY, $14
; ANIM_OBJ_77 ; ANIM_OBJ_77
battleanimobj $01, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, $02, $11 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_GRAY, $11
; ANIM_OBJ_78 ; ANIM_OBJ_78
battleanimobj $01, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, $02, $22 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $22
; ANIM_OBJ_79 ; ANIM_OBJ_79
battleanimobj $01, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, $02, $22 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $22
; ANIM_OBJ_7A ; ANIM_OBJ_7A
battleanimobj $01, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, $02, $1f battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_7B ; ANIM_OBJ_7B
battleanimobj $01, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, $03, $11 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_YELLOW, $11
; ANIM_OBJ_7C ; ANIM_OBJ_7C
battleanimobj $21, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, $03, $05 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $05
; ANIM_OBJ_7D ; ANIM_OBJ_7D
battleanimobj $a1, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, $06, $13 battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_BLUE, $13
; ANIM_OBJ_HEART ; ANIM_OBJ_HEART
battleanimobj $01, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, $04, $23 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_RED, $23
; ANIM_OBJ_7F ; ANIM_OBJ_7F
battleanimobj $01, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, $04, $03 battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_RED, $03
; ANIM_OBJ_80 ; ANIM_OBJ_80
battleanimobj $01, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, $04, $03 battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_RED, $03
; ANIM_OBJ_COTTON_SPORE ; ANIM_OBJ_COTTON_SPORE
battleanimobj $21, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, $02, $1f battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_82 ; ANIM_OBJ_82
battleanimobj $21, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, $02, $1f battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_83 ; ANIM_OBJ_83
battleanimobj $21, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, $02, $1f battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_84 ; ANIM_OBJ_84
battleanimobj $21, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, $03, $1f battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $1f
; ANIM_OBJ_85 ; ANIM_OBJ_85
battleanimobj $01, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, $02, $0e battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_GRAY, $0e
; ANIM_OBJ_86 ; ANIM_OBJ_86
battleanimobj $21, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, $04, $1f battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_RED, $1f
; ANIM_OBJ_87 ; ANIM_OBJ_87
battleanimobj $21, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, $02, $1f battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_88 ; ANIM_OBJ_88
battleanimobj $21, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, $02, $1f battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_89 ; ANIM_OBJ_89
battleanimobj $21, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, $02, $1f battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_8A ; ANIM_OBJ_8A
battleanimobj $21, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, $03, $23 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_YELLOW, $23
; ANIM_OBJ_8B ; ANIM_OBJ_8B
battleanimobj $01, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, $02, $19 battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_GRAY, $19
; ANIM_OBJ_8C ; ANIM_OBJ_8C
battleanimobj $21, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, $02, $15 battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_GRAY, $15
; ANIM_OBJ_8D ; ANIM_OBJ_8D
battleanimobj $21, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, $04, $19 battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_RED, $19
; ANIM_OBJ_SPIKES ; ANIM_OBJ_SPIKES
battleanimobj $21, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, $02, $1f battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_GRAY, $1f
; ANIM_OBJ_8F ; ANIM_OBJ_8F
battleanimobj $01, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, $02, $0a battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_GRAY, $0a
; ANIM_OBJ_90 ; ANIM_OBJ_90
battleanimobj $01, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, $04, $03 battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_RED, $03
; ANIM_OBJ_91 ; ANIM_OBJ_91
battleanimobj $01, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, $02, $08 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_GRAY, $08
; ANIM_OBJ_92 ; ANIM_OBJ_92
battleanimobj $01, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, $02, $1b battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $1b
; ANIM_OBJ_93 ; ANIM_OBJ_93
battleanimobj $21, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, $04, $23 battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_RED, $23
; ANIM_OBJ_94 ; ANIM_OBJ_94
battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, $02, $25 battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_GRAY, $25
; ANIM_OBJ_95 ; ANIM_OBJ_95
battleanimobj $21, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, $02, $25 battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_GRAY, $25
; ANIM_OBJ_96 ; ANIM_OBJ_96
battleanimobj $21, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, $02, $25 battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $25
; ANIM_OBJ_97 ; ANIM_OBJ_97
battleanimobj $21, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, $06, $25 battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $25
; ANIM_OBJ_98 ; ANIM_OBJ_98
battleanimobj $61, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, $05, $23 battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_GREEN, $23
; ANIM_OBJ_99 ; ANIM_OBJ_99
battleanimobj $21, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, $02, $23 battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_GRAY, $23
; ANIM_OBJ_9A ; ANIM_OBJ_9A
battleanimobj $21, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, $03, $23 battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_YELLOW, $23
; ANIM_OBJ_9B ; ANIM_OBJ_9B
battleanimobj $21, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, $02, $25 battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_GRAY, $25
; ANIM_OBJ_9C ; ANIM_OBJ_9C
battleanimobj $21, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, $03, $24 battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_YELLOW, $24
; ANIM_OBJ_9D ; ANIM_OBJ_9D
battleanimobj $01, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, $02, $24 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $24
; ANIM_OBJ_9E ; ANIM_OBJ_9E
battleanimobj $01, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, $03, $24 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $24
; ANIM_OBJ_9F ; ANIM_OBJ_9F
battleanimobj $01, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, $04, $12 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_RED, $12
; ANIM_OBJ_A0 ; ANIM_OBJ_A0
battleanimobj $21, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, $02, $02 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02
; ANIM_OBJ_A1 ; ANIM_OBJ_A1
battleanimobj $21, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, $02, $02 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $02
; ANIM_OBJ_A2 ; ANIM_OBJ_A2
battleanimobj $21, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, $07, $0f battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_BROWN, $0f
; ANIM_OBJ_A3 ; ANIM_OBJ_A3
battleanimobj $21, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, $03, $05 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_YELLOW, $05
; ANIM_OBJ_A4 ; ANIM_OBJ_A4
battleanimobj $21, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, $02, $25 battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_GRAY, $25
; ANIM_OBJ_A5 ; ANIM_OBJ_A5
battleanimobj $61, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, $02, $23 battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_GRAY, $23
; ANIM_OBJ_PERISH_SONG ; ANIM_OBJ_PERISH_SONG
battleanimobj $00, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, $02, $0e battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_GRAY, $0e
; ANIM_OBJ_A7 ; ANIM_OBJ_A7
battleanimobj $01, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, $02, $24 battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $24
; ANIM_OBJ_A8 ; ANIM_OBJ_A8
battleanimobj $21, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, $02, $13 battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_GRAY, $13
; ANIM_OBJ_A9 ; ANIM_OBJ_A9
battleanimobj $21, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, $02, $13 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_GRAY, $13
; ANIM_OBJ_AA ; ANIM_OBJ_AA
battleanimobj $01, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, $02, $01 battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_AB ; ANIM_OBJ_AB
battleanimobj $01, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, $02, $0e battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_GRAY, $0e
; ANIM_OBJ_AC ; ANIM_OBJ_AC
battleanimobj $01, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, $06, $17 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_BLUE, $17
; ANIM_OBJ_AD ; ANIM_OBJ_AD
battleanimobj $01, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, $02, $01 battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_GRAY, $01
; ANIM_OBJ_AE ; ANIM_OBJ_AE
battleanimobj $21, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, $03, $11 battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_YELLOW, $11
; ANIM_OBJ_AF ; ANIM_OBJ_AF
battleanimobj $21, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, $02, $04 battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_GRAY, $04
; ANIM_OBJ_B0 ; ANIM_OBJ_B0
battleanimobj $00, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, $04, $1c battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_RED, $1c
; ANIM_OBJ_B1 ; ANIM_OBJ_B1
battleanimobj $01, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, $02, $19 battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_GRAY, $19
; ANIM_OBJ_B2 ; ANIM_OBJ_B2
battleanimobj $01, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, $07, $09 battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_BROWN, $09
; ANIM_OBJ_B3 ; ANIM_OBJ_B3
battleanimobj $61, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, $03, $27 battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_YELLOW, $27
; ANIM_OBJ_B4 ; ANIM_OBJ_B4
battleanimobj $61, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, $06, $15 battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_BLUE, $15
; ANIM_OBJ_B5 ; ANIM_OBJ_B5
battleanimobj $21, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, $07, $09 battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_BROWN, $09
; ANIM_OBJ_FLOWER ; ANIM_OBJ_FLOWER
battleanimobj $01, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, $04, $1e battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_RED, $1e
; ANIM_OBJ_COTTON ; ANIM_OBJ_COTTON
battleanimobj $01, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, $04, $1f battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_RED, $1f
; ANIM_OBJ_PLAYERFEETFOLLOW ; ANIM_OBJ_PLAYERFEETFOLLOW
battleanimobj $00, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, $00, $28 battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_ENEMY, $28
; ANIM_OBJ_ENEMYFEETFOLLOW ; ANIM_OBJ_ENEMYFEETFOLLOW
battleanimobj $00, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, $01, $29 battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_PLAYER, $29
; ANIM_OBJ_BA ; ANIM_OBJ_BA
battleanimobj $00, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, $00, $28 battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_ENEMY, $28
; ANIM_OBJ_BB ; ANIM_OBJ_BB
battleanimobj $00, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, $01, $29 battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_PLAYER, $29
; ccfbe ; ccfbe

View File

@ -249,10 +249,10 @@ InitBattleAnimBuffer: ; ccaaa
.check_kinesis_softboiled_milkdrink .check_kinesis_softboiled_milkdrink
sub d sub d
push af push af
ld a, [FXAnimIDHi] ld a, [FXAnimID + 1]
or a or a
jr nz, .no_sub jr nz, .no_sub
ld a, [FXAnimIDLo] ld a, [FXAnimID]
cp KINESIS cp KINESIS
jr z, .kinesis jr z, .kinesis
cp SOFTBOILED cp SOFTBOILED

View File

@ -451,18 +451,18 @@ GetBallAnimPal: ; cd249 (33:5249)
; cd26c (33:526c) ; cd26c (33:526c)
.balls .balls
db MASTER_BALL, 5 db MASTER_BALL, PAL_BATTLE_GREEN
db ULTRA_BALL, 3 db ULTRA_BALL, PAL_BATTLE_YELLOW
db GREAT_BALL, 6 db GREAT_BALL, PAL_BATTLE_BLUE
db POKE_BALL, 4 db POKE_BALL, PAL_BATTLE_RED
db HEAVY_BALL, 2 db HEAVY_BALL, PAL_BATTLE_GRAY
db LEVEL_BALL, 7 db LEVEL_BALL, PAL_BATTLE_BROWN
db LURE_BALL, 6 db LURE_BALL, PAL_BATTLE_BLUE
db FAST_BALL, 6 db FAST_BALL, PAL_BATTLE_BLUE
db FRIEND_BALL, 3 db FRIEND_BALL, PAL_BATTLE_YELLOW
db MOON_BALL, 2 db MOON_BALL, PAL_BATTLE_GRAY
db LOVE_BALL, 4 db LOVE_BALL, PAL_BATTLE_RED
db -1, 2 db -1, PAL_BATTLE_GRAY
; cd284 ; cd284
BattleAnimFunction_10: ; cd284 (33:5284) BattleAnimFunction_10: ; cd284 (33:5284)
call BattleAnim_AnonJumptable call BattleAnim_AnonJumptable

View File

@ -256,9 +256,9 @@ _ShowLinkBattleParticipants: ; 2c1b2
ld de, OTPlayerName ld de, OTPlayerName
call PlaceString call PlaceString
hlcoord 9, 8 hlcoord 9, 8
ld a, $69 ; "V" ld a, "<BOLD_V>"
ld [hli], a ld [hli], a
ld [hl], $6a ; "S" ld [hl], "<BOLD_S>"
callba LinkBattle_TrainerHuds ; no need to callba callba LinkBattle_TrainerHuds ; no need to callba
ld b, SCGB_DIPLOMA ld b, SCGB_DIPLOMA
call GetSGBLayout call GetSGBLayout

View File

@ -22,6 +22,7 @@ INCLUDE "constants/animation_constants.asm"
INCLUDE "constants/phone_constants.asm" INCLUDE "constants/phone_constants.asm"
INCLUDE "constants/gfx_constants.asm" INCLUDE "constants/gfx_constants.asm"
INCLUDE "constants/pokemon_data_constants.asm" INCLUDE "constants/pokemon_data_constants.asm"
INCLUDE "constants/mobile_constants.asm"
INCLUDE "constants/misc_constants.asm" INCLUDE "constants/misc_constants.asm"
INCLUDE "constants/std_constants.asm" INCLUDE "constants/std_constants.asm"
INCLUDE "constants/deco_constants.asm" INCLUDE "constants/deco_constants.asm"

View File

@ -1,3 +1,4 @@
; battle_anim_struct members (see macros/wram.asm)
const_def const_def
const BATTLEANIMSTRUCT_INDEX const BATTLEANIMSTRUCT_INDEX
const BATTLEANIMSTRUCT_01 const BATTLEANIMSTRUCT_01
@ -25,6 +26,7 @@
const BATTLEANIMSTRUCT_17 const BATTLEANIMSTRUCT_17
BATTLEANIMSTRUCT_LENGTH EQU const_value BATTLEANIMSTRUCT_LENGTH EQU const_value
; BattleAnimObjects indexes (see battle/objects/data.asm)
const_def const_def
const ANIM_OBJ_00 const ANIM_OBJ_00
const ANIM_OBJ_01 const ANIM_OBJ_01
@ -215,6 +217,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const ANIM_OBJ_BA const ANIM_OBJ_BA
const ANIM_OBJ_BB const ANIM_OBJ_BB
; DoBattleAnimFrame arguments (see battle/objects/functions.asm)
const_def const_def
const BATTLEANIMFUNC_00 const BATTLEANIMFUNC_00
const BATTLEANIMFUNC_01 const BATTLEANIMFUNC_01
@ -297,6 +300,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const BATTLEANIMFUNC_4E const BATTLEANIMFUNC_4E
const BATTLEANIMFUNC_4F const BATTLEANIMFUNC_4F
; BattleAnimFrameData indexes (see battle/objects/framesets.asm)
const_def const_def
const BATTLEANIMFRAMESET_00 const BATTLEANIMFRAMESET_00
const BATTLEANIMFRAMESET_01 const BATTLEANIMFRAMESET_01
@ -484,6 +488,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const BATTLEANIMFRAMESET_B7 const BATTLEANIMFRAMESET_B7
const BATTLEANIMFRAMESET_B8 const BATTLEANIMFRAMESET_B8
; BattleAnimOAMData indexes (see battle/objects/oam.asm)
const_def const_def
const BATTLEANIMOAMSET_00 const BATTLEANIMOAMSET_00
const BATTLEANIMOAMSET_01 const BATTLEANIMOAMSET_01
@ -702,6 +707,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const BATTLEANIMOAMSET_D6 const BATTLEANIMOAMSET_D6
const BATTLEANIMOAMSET_D7 const BATTLEANIMOAMSET_D7
; BattleBGEffects indexes (see battle/bg_effects.asm)
const_value SET 1 const_value SET 1
const ANIM_BG_FLASH_INVERTED const ANIM_BG_FLASH_INVERTED
const ANIM_BG_FLASH_WHITE const ANIM_BG_FLASH_WHITE
@ -757,17 +763,19 @@ const_value SET 1
const ANIM_BG_WOBBLE_MON const ANIM_BG_WOBBLE_MON
const ANIM_BG_35 const ANIM_BG_35
; PokeAnims indexes (see gfx/pics/animation.asm)
const_def const_def
const ANIM_MON_SLOW ; 0 const ANIM_MON_SLOW
const ANIM_MON_NORMAL ; 1 const ANIM_MON_NORMAL
const ANIM_MON_MENU ; 2 const ANIM_MON_MENU
const ANIM_MON_TRADE ; 3 const ANIM_MON_TRADE
const ANIM_MON_EVOLVE ; 4 const ANIM_MON_EVOLVE
const ANIM_MON_HATCH ; 5 const ANIM_MON_HATCH
const ANIM_MON_UNUSED ; 6 const ANIM_MON_UNUSED
const ANIM_MON_EGG1 ; 7 const ANIM_MON_EGG1
const ANIM_MON_EGG2 ; 8 const ANIM_MON_EGG2
; AnimObjGFX indexes (see battle/objects/gfx_headers.asm)
const_value SET 1 const_value SET 1
const ANIM_GFX_HIT const ANIM_GFX_HIT
const ANIM_GFX_CUT const ANIM_GFX_CUT
@ -809,8 +817,20 @@ const_value SET 1
const ANIM_GFX_WAVE const ANIM_GFX_WAVE
const ANIM_GFX_AEROBLAST const ANIM_GFX_AEROBLAST
; battle_bg_effect struct members (see macros/wram.asm)
const_def const_def
const BG_EFFECT_STRUCT_FUNCTION const BG_EFFECT_STRUCT_FUNCTION
const BG_EFFECT_STRUCT_JT_INDEX const BG_EFFECT_STRUCT_JT_INDEX
const BG_EFFECT_STRUCT_BATTLE_TURN const BG_EFFECT_STRUCT_BATTLE_TURN
const BG_EFFECT_STRUCT_03 const BG_EFFECT_STRUCT_03
; animation object palettes
const_def
const PAL_BATTLE_ENEMY ; 0
const PAL_BATTLE_PLAYER ; 1
const PAL_BATTLE_GRAY ; 2
const PAL_BATTLE_YELLOW ; 3
const PAL_BATTLE_RED ; 4
const PAL_BATTLE_GREEN ; 5
const PAL_BATTLE_BLUE ; 6
const PAL_BATTLE_BROWN ; 7

View File

@ -1,63 +1,69 @@
; pitch ; pitch
const_def const_def
const __ const __ ; 0
const C_ const C_ ; 1
const C# const C# ; 2
const D_ const D_ ; 3
const D# const D# ; 4
const E_ const E_ ; 5
const F_ const F_ ; 6
const F# const F# ; 7
const G_ const G_ ; 8
const G# const G# ; 9
const A_ const A_ ; a
const A# const A# ; b
const B_ const B_ ; c
const CC ; used for pitchoffset const CC ; d (used for pitchoffset)
; channel ; channel
; ChannelPointers indexes (see engine/audio.asm)
const_def const_def
const CHAN1 const CHAN1 ; 0
const CHAN2 const CHAN2 ; 1
const CHAN3 const CHAN3 ; 2
const CHAN4 const CHAN4 ; 3
NUM_MUSIC_CHANS EQU const_value NUM_MUSIC_CHANS EQU const_value
NUM_NOISE_CHANS EQU const_value NUM_NOISE_CHANS EQU const_value
const CHAN5 const CHAN5 ; 4
const CHAN6 const CHAN6 ; 5
const CHAN7 const CHAN7 ; 6
const CHAN8 const CHAN8 ; 7
NUM_CHANNELS EQU const_value NUM_CHANNELS EQU const_value
; Flags1 ; Flags1
SOUND_CHANNEL_ON EQU 0 const_def
SOUND_SUBROUTINE EQU 1 const SOUND_CHANNEL_ON ; 0
SOUND_LOOPING EQU 2 const SOUND_SUBROUTINE ; 1
SOUND_SFX EQU 3 const SOUND_LOOPING ; 2
SOUND_NOISE EQU 4 const SOUND_SFX ; 3
SOUND_REST EQU 5 const SOUND_NOISE ; 4
const SOUND_REST ; 5
; Flags2 ; Flags2
const_def
SOUND_VIBRATO EQU 0 const SOUND_VIBRATO ; 0
SOUND_PITCH_WHEEL EQU 1 const SOUND_PITCH_WHEEL ; 1
SOUND_DUTY EQU 2 const SOUND_DUTY ; 2
SOUND_UNKN_0B EQU 3 const SOUND_UNKN_0B ; 3
SOUND_CRY_PITCH EQU 4 const SOUND_CRY_PITCH ; 4
SOUND_UNKN_0D EQU 5 const SOUND_UNKN_0D ; 5
SOUND_UNKN_0E EQU 6 const SOUND_UNKN_0E ; 6
SOUND_UNKN_0F EQU 7 const SOUND_UNKN_0F ; 7
; Flags3 ; Flags3
SOUND_VIBRATO_DIR EQU 0 const_def
SOUND_PITCH_WHEEL_DIR EQU 1 const SOUND_VIBRATO_DIR ; 0
const SOUND_PITCH_WHEEL_DIR ; 1
; NoteFlags ; NoteFlags
NOTE_DUTY_OVERRIDE EQU 0 const_def
NOTE_FREQ_OVERRIDE EQU 1 const NOTE_DUTY_OVERRIDE ; 0
NOTE_UNKN_3 EQU 3 const NOTE_FREQ_OVERRIDE ; 1
NOTE_NOISE_SAMPLING EQU 4 const NOTE_UNUSED ; 2
NOTE_REST EQU 5 const NOTE_UNKN_3 ; 3
NOTE_VIBRATO_OVERRIDE EQU 6 const NOTE_NOISE_SAMPLING ; 4
const NOTE_REST ; 5
const NOTE_VIBRATO_OVERRIDE ; 6
; Volume:
MAX_VOLUME EQU $77

View File

@ -1,12 +1,20 @@
; significant level values
MAX_LEVEL EQU 100 MAX_LEVEL EQU 100
MIN_LEVEL EQU 2 MIN_LEVEL EQU 2
EGG_LEVEL EQU 5 EGG_LEVEL EQU 5
; maximum moves known per mon
NUM_MOVES EQU 4 NUM_MOVES EQU 4
REST_TURNS EQU 2 ; significant stat values
MAX_STAT_LEVEL EQU 13
BASE_STAT_LEVEL EQU 7 BASE_STAT_LEVEL EQU 7
MAX_STAT_LEVEL EQU 13
; turns that Rest sleep lasts
REST_TURNS EQU 2
; PlayerStatLevels and EnemyStatLevels indexes
; used for GetStatName
const_def const_def
const ATTACK const ATTACK
const DEFENSE const DEFENSE
@ -15,10 +23,10 @@ BASE_STAT_LEVEL EQU 7
const SP_DEFENSE const SP_DEFENSE
const ACCURACY const ACCURACY
const EVASION const EVASION
const ABILITY const ABILITY ; used for BattleCommand_Curse
NUM_LEVEL_STATS EQU const_value NUM_LEVEL_STATS EQU const_value
; move struct ; move struct members (see battle/moves/moves.asm)
const_def const_def
const MOVE_ANIM const MOVE_ANIM
const MOVE_EFFECT const MOVE_EFFECT
@ -30,6 +38,9 @@ NUM_LEVEL_STATS EQU const_value
const MOVE_LENGTH const MOVE_LENGTH
; stat constants ; stat constants
; indexes for:
; - PlayerStats and EnemyStats (see wram.asm)
; - party_struct and battle_struct members (see macros/wram.asm)
const_value SET 1 const_value SET 1
const STAT_HP const STAT_HP
const STAT_ATK const STAT_ATK
@ -38,6 +49,8 @@ const_value SET 1
const STAT_SATK const STAT_SATK
const STAT_SDEF const STAT_SDEF
NUM_STATS EQU const_value NUM_STATS EQU const_value
; stat formula constants
STAT_MIN_NORMAL EQU 5 STAT_MIN_NORMAL EQU 5
STAT_MIN_HP EQU 10 STAT_MIN_HP EQU 10
@ -45,12 +58,12 @@ STAT_MIN_HP EQU 10
ATKDEFDV_SHINY EQU $EA ATKDEFDV_SHINY EQU $EA
SPDSPCDV_SHINY EQU $AA SPDSPCDV_SHINY EQU $AA
; battle classes ; battle classes (wBattleMode values)
const_value SET 1 const_value SET 1
const WILD_BATTLE const WILD_BATTLE
const TRAINER_BATTLE const TRAINER_BATTLE
; battle types ; battle types (BattleType values)
const_def const_def
const BATTLETYPE_NORMAL const BATTLETYPE_NORMAL
const BATTLETYPE_CANLOSE const BATTLETYPE_CANLOSE
@ -66,7 +79,7 @@ const_value SET 1
const BATTLETYPE_CELEBI const BATTLETYPE_CELEBI
const BATTLETYPE_SUICUNE const BATTLETYPE_SUICUNE
; battle variables ; GetBattleVar and GetBattleVarAddr arguments (see home/battle.asm)
const_def const_def
const BATTLE_VARS_SUBSTATUS1 const BATTLE_VARS_SUBSTATUS1
const BATTLE_VARS_SUBSTATUS2 const BATTLE_VARS_SUBSTATUS2
@ -90,8 +103,37 @@ const_value SET 1
const BATTLE_VARS_LAST_MOVE const BATTLE_VARS_LAST_MOVE
const BATTLE_VARS_LAST_MOVE_OPP const BATTLE_VARS_LAST_MOVE_OPP
; status ; GetBattleVar and GetBattleVarAddr internal indexes (see home/battle.asm)
SLP EQU 7 ; 0-7 turns const_def
const PLAYER_SUBSTATUS_1
const ENEMY_SUBSTATUS_1
const PLAYER_SUBSTATUS_2
const ENEMY_SUBSTATUS_2
const PLAYER_SUBSTATUS_3
const ENEMY_SUBSTATUS_3
const PLAYER_SUBSTATUS_4
const ENEMY_SUBSTATUS_4
const PLAYER_SUBSTATUS_5
const ENEMY_SUBSTATUS_5
const PLAYER_STATUS
const ENEMY_STATUS
const PLAYER_MOVE_ANIMATION
const ENEMY_MOVE_ANIMATION
const PLAYER_MOVE_EFFECT
const ENEMY_MOVE_EFFECT
const PLAYER_MOVE_POWER
const ENEMY_MOVE_POWER
const PLAYER_MOVE_TYPE
const ENEMY_MOVE_TYPE
const PLAYER_CUR_MOVE
const ENEMY_CUR_MOVE
const PLAYER_COUNTER_MOVE
const ENEMY_COUNTER_MOVE
const PLAYER_LAST_MOVE
const ENEMY_LAST_MOVE
; status condition bit flags
SLP EQU %111 ; 0-7 turns
const_value SET 3 const_value SET 3
const PSN const PSN
const BRN const BRN
@ -100,7 +142,7 @@ const_value SET 3
ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP
; substatus ; PlayerSubStatus1 or EnemySubStatus1 bit flags
enum_start 7, -1 enum_start 7, -1
enum SUBSTATUS_IN_LOVE enum SUBSTATUS_IN_LOVE
enum SUBSTATUS_ROLLOUT enum SUBSTATUS_ROLLOUT
@ -111,8 +153,10 @@ ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP
enum SUBSTATUS_CURSE enum SUBSTATUS_CURSE
enum SUBSTATUS_NIGHTMARE enum SUBSTATUS_NIGHTMARE
SUBSTATUS_CURLED EQU 0 ; PlayerSubStatus2 or EnemySubStatus2 bit flags
SUBSTATUS_CURLED EQU 0
; PlayerSubStatus3 or EnemySubStatus3 bit flags
enum_start 7, -1 enum_start 7, -1
enum SUBSTATUS_CONFUSED enum SUBSTATUS_CONFUSED
enum SUBSTATUS_FLYING enum SUBSTATUS_FLYING
@ -123,6 +167,7 @@ SUBSTATUS_CURLED EQU 0
enum SUBSTATUS_RAMPAGE enum SUBSTATUS_RAMPAGE
enum SUBSTATUS_BIDE enum SUBSTATUS_BIDE
; PlayerSubStatus4 or EnemySubStatus4 bit flags
enum_start 7, -1 enum_start 7, -1
enum SUBSTATUS_LEECH_SEED enum SUBSTATUS_LEECH_SEED
enum SUBSTATUS_RAGE enum SUBSTATUS_RAGE
@ -133,6 +178,7 @@ SUBSTATUS_CURLED EQU 0
enum SUBSTATUS_MIST enum SUBSTATUS_MIST
enum SUBSTATUS_X_ACCURACY enum SUBSTATUS_X_ACCURACY
; PlayerSubStatus5 or EnemySubStatus5 bit flags
enum_start 7, -1 enum_start 7, -1
enum SUBSTATUS_CANT_RUN enum SUBSTATUS_CANT_RUN
enum SUBSTATUS_DESTINY_BOND enum SUBSTATUS_DESTINY_BOND
@ -143,7 +189,7 @@ SUBSTATUS_CURLED EQU 0
enum SUBSTATUS_UNKNOWN_3 enum SUBSTATUS_UNKNOWN_3
enum SUBSTATUS_TOXIC enum SUBSTATUS_TOXIC
; environmental ; PlayerScreens or EnemyScreens bit flags
enum_start 4, -1 enum_start 4, -1
enum SCREENS_REFLECT enum SCREENS_REFLECT
enum SCREENS_LIGHT_SCREEN enum SCREENS_LIGHT_SCREEN
@ -151,7 +197,7 @@ SUBSTATUS_CURLED EQU 0
enum SCREENS_UNUSED enum SCREENS_UNUSED
enum SCREENS_SPIKES enum SCREENS_SPIKES
; weather ; Weather values
const_def const_def
const WEATHER_NONE const WEATHER_NONE
const WEATHER_RAIN const WEATHER_RAIN
@ -161,8 +207,7 @@ SUBSTATUS_CURLED EQU 0
const WEATHER_SUN_END const WEATHER_SUN_END
const WEATHER_SANDSTORM_END const WEATHER_SANDSTORM_END
; MoveEffectsPointers indexes (see battle/moves/move_effects_pointers.asm)
; move effects
const_def const_def
const EFFECT_NORMAL_HIT const EFFECT_NORMAL_HIT
const EFFECT_SLEEP const EFFECT_SLEEP
@ -322,35 +367,6 @@ SUBSTATUS_CURLED EQU 0
const EFFECT_FLY const EFFECT_FLY
const EFFECT_DEFENSE_CURL const EFFECT_DEFENSE_CURL
; Battle vars used in home/battle.asm
const_def
const PLAYER_SUBSTATUS_1
const ENEMY_SUBSTATUS_1
const PLAYER_SUBSTATUS_2
const ENEMY_SUBSTATUS_2
const PLAYER_SUBSTATUS_3
const ENEMY_SUBSTATUS_3
const PLAYER_SUBSTATUS_4
const ENEMY_SUBSTATUS_4
const PLAYER_SUBSTATUS_5
const ENEMY_SUBSTATUS_5
const PLAYER_STATUS
const ENEMY_STATUS
const PLAYER_MOVE_ANIMATION
const ENEMY_MOVE_ANIMATION
const PLAYER_MOVE_EFFECT
const ENEMY_MOVE_EFFECT
const PLAYER_MOVE_POWER
const ENEMY_MOVE_POWER
const PLAYER_MOVE_TYPE
const ENEMY_MOVE_TYPE
const PLAYER_CUR_MOVE
const ENEMY_CUR_MOVE
const PLAYER_COUNTER_MOVE
const ENEMY_COUNTER_MOVE
const PLAYER_LAST_MOVE
const ENEMY_LAST_MOVE
; wBattleAction ; wBattleAction
const_def const_def
const BATTLEACTION_MOVE1 const BATTLEACTION_MOVE1
@ -370,6 +386,7 @@ SUBSTATUS_CURLED EQU 0
const BATTLEACTION_E const BATTLEACTION_E
const BATTLEACTION_FORFEIT const BATTLEACTION_FORFEIT
; wBattleResult
const_def const_def
const WIN const WIN
const LOSE const LOSE

View File

@ -1,3 +1,4 @@
; BattleTowerAction arguments (see misc/battle_tower_5c.asm)
const_def const_def
const BATTLETOWERACTION_CHECK_EXPLANATION_READ const BATTLETOWERACTION_CHECK_EXPLANATION_READ
const BATTLETOWERACTION_SET_EXPLANATION_READ const BATTLETOWERACTION_SET_EXPLANATION_READ
@ -32,8 +33,19 @@
const BATTLETOWERACTION_CHOOSEREWARD ; save options const BATTLETOWERACTION_CHOOSEREWARD ; save options
const BATTLETOWERACTION_SAVEOPTIONS const BATTLETOWERACTION_SAVEOPTIONS
BATTLETOWER_NO_CHALLENGE EQU 0 ; sBattleTowerChallengeState
BATTLETOWER_SAVED_AND_LEFT EQU 1 const_def
BATTLETOWER_CHALLENGE_IN_PROGESS EQU 2 const BATTLETOWER_NO_CHALLENGE
BATTLETOWER_WON_CHALLENGE EQU 3 const BATTLETOWER_SAVED_AND_LEFT
BATTLETOWER_RECEIVED_REWARD EQU 4 const BATTLETOWER_CHALLENGE_IN_PROGESS
const BATTLETOWER_WON_CHALLENGE
const BATTLETOWER_RECEIVED_REWARD
BATTLETOWER_NROFPKMNS EQU 3
BATTLETOWER_TRAINERDATALENGTH EQU $24
BATTLETOWER_NROFTRAINERS EQU 7
BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS
BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + 3 * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH
; return value from BattleTowerAction(BATTLETOWERACTION_CHECKMOBILEEVENT)
MOBILE_EVENT_OBJECT_GS_BALL EQU $b

View File

@ -1,3 +1,4 @@
; GetSGBLayout arguments (see predef/cgb.asm and predef/sgb.asm)
const_def const_def
const SCGB_BATTLE_GRAYSCALE const SCGB_BATTLE_GRAYSCALE
const SCGB_BATTLE_COLORS const SCGB_BATTLE_COLORS

View File

@ -1,3 +1,4 @@
; Cries indexes (see audio/cry_pointers.asm)
const_def const_def
; gen 1 ; gen 1

View File

@ -1,3 +1,4 @@
; decoration types
const_value = 1 const_value = 1
const DECO_PLANT const DECO_PLANT
const DECO_BED const DECO_BED
@ -6,6 +7,7 @@ const_value = 1
const DECO_DOLL const DECO_DOLL
const DECO_BIGDOLL const DECO_BIGDOLL
; DecorationNames indexes (see engine/decorations.asm)
const_value = 1 const_value = 1
const PUT_IT_AWAY const PUT_IT_AWAY
const MAGNAPLANT const MAGNAPLANT
@ -33,6 +35,7 @@ const_value = 1
const YELLOW_CARPET const YELLOW_CARPET
const GREEN_CARPET const GREEN_CARPET
; DoDecorationAction2 arguments (see engine/decorations.asm)
const_value = 1 const_value = 1
const SET_UP_BED const SET_UP_BED
const PUT_AWAY_BED const PUT_AWAY_BED
@ -56,66 +59,67 @@ deco: MACRO
enum DECOFLAG_\1 enum DECOFLAG_\1
endm endm
; decorations
const_value = 1 const_value = 1
__enum__ = 0 __enum__ = 0
const BEDS const BEDS
deco FEATHERY_BED ; 2 (0) deco FEATHERY_BED
deco PINK_BED ; 3 (1) deco PINK_BED
deco POLKADOT_BED ; 4 (2) deco POLKADOT_BED
deco PIKACHU_BED ; 5 (3) deco PIKACHU_BED
const CARPETS const CARPETS
deco RED_CARPET ; 7 (4) deco RED_CARPET
deco BLUE_CARPET ; 8 (5) deco BLUE_CARPET
deco YELLOW_CARPET ; 9 (6) deco YELLOW_CARPET
deco GREEN_CARPET ; a (7) deco GREEN_CARPET
const PLANTS const PLANTS
deco MAGNAPLANT ; c (8) deco MAGNAPLANT
deco TROPICPLANT ; d (9) deco TROPICPLANT
deco JUMBOPLANT ; e (a) deco JUMBOPLANT
const POSTERS const POSTERS
deco TOWN_MAP ; 10 (b) deco TOWN_MAP
deco PIKACHU_POSTER ; 11 (c) deco PIKACHU_POSTER
deco CLEFAIRY_POSTER ; 12 (d) deco CLEFAIRY_POSTER
deco JIGGLYPUFF_POSTER ; 13(e) deco JIGGLYPUFF_POSTER
const CONSOLES const CONSOLES
deco FAMICOM ; 15 (f) deco FAMICOM
deco SNES ; 16 (10) deco SNES
deco N64 ; 17 (11) deco N64
deco VIRTUAL_BOY ; 18 (12) deco VIRTUAL_BOY
const BIG_DOLLS const BIG_DOLLS
deco BIG_SNORLAX_DOLL ; 1a (13) deco BIG_SNORLAX_DOLL
deco BIG_ONIX_DOLL ; 1b (14) deco BIG_ONIX_DOLL
deco BIG_LAPRAS_DOLL ; 1c (15) deco BIG_LAPRAS_DOLL
const DOLLS const DOLLS
deco PIKACHU_DOLL ; 1e (16) deco PIKACHU_DOLL
deco SURF_PIKACHU_DOLL ; 1f (17) deco SURF_PIKACHU_DOLL
deco CLEFAIRY_DOLL ; 20 (18) deco CLEFAIRY_DOLL
deco JIGGLYPUFF_DOLL ; 21 (19) deco JIGGLYPUFF_DOLL
deco BULBASAUR_DOLL ; 22 (1a) deco BULBASAUR_DOLL
deco CHARMANDER_DOLL ; 23 (1b) deco CHARMANDER_DOLL
deco SQUIRTLE_DOLL ; 24 (1c) deco SQUIRTLE_DOLL
deco POLIWAG_DOLL ; 25 (1d) deco POLIWAG_DOLL
deco DIGLETT_DOLL ; 26 (1e) deco DIGLETT_DOLL
deco STARMIE_DOLL ; 27 (1f) deco STARMIE_DOLL
deco MAGIKARP_DOLL ; 28 (20) deco MAGIKARP_DOLL
deco ODDISH_DOLL ; 29 (21) deco ODDISH_DOLL
deco GENGAR_DOLL ; 2a (22) deco GENGAR_DOLL
deco SHELLDER_DOLL ; 2b (23) deco SHELLDER_DOLL
deco GRIMER_DOLL ; 2c (24) deco GRIMER_DOLL
deco VOLTORB_DOLL ; 2d (25) deco VOLTORB_DOLL
deco WEEDLE_DOLL ; 2e (26) deco WEEDLE_DOLL
deco UNOWN_DOLL ; 2f (27) deco UNOWN_DOLL
deco GEODUDE_DOLL ; 30 (28) deco GEODUDE_DOLL
deco MACHOP_DOLL ; 31 (29) deco MACHOP_DOLL
deco TENTACOOL_DOLL ; 32 (2a) deco TENTACOOL_DOLL
deco GOLD_TROPHY_DOLL ; 33 (2b) deco GOLD_TROPHY_DOLL
deco SILVER_TROPHY_DOLL ; 34 (2c) deco SILVER_TROPHY_DOLL
NUM_NON_TROPHY_DECOS EQU $2b NUM_DECOS = __enum__
NUM_DECOS EQU $2d NUM_NON_TROPHY_DECOS = NUM_DECOS +- 2

View File

@ -1,22 +1,29 @@
; EngineFlags indexes (see engine/engine_flasg.asm)
const_def const_def
; wPokegearFlags
const ENGINE_RADIO_CARD const ENGINE_RADIO_CARD
const ENGINE_MAP_CARD const ENGINE_MAP_CARD
const ENGINE_PHONE_CARD const ENGINE_PHONE_CARD
const ENGINE_EXPN_CARD const ENGINE_EXPN_CARD
const ENGINE_POKEGEAR const ENGINE_POKEGEAR
; wDaycareMan
const ENGINE_DAYCARE_MAN_HAS_EGG const ENGINE_DAYCARE_MAN_HAS_EGG
const ENGINE_DAYCARE_MAN_HAS_MON const ENGINE_DAYCARE_MAN_HAS_MON
; wDaycareLady
const ENGINE_DAYCARE_LADY_HAS_MON const ENGINE_DAYCARE_LADY_HAS_MON
; wMomSavingMoney
const ENGINE_MOM_SAVING_MONEY const ENGINE_MOM_SAVING_MONEY
const ENGINE_DST const ENGINE_DST
; wUnusedTwoDayTimerOn
const ENGINE_0A const ENGINE_0A
; StatusFlags
const ENGINE_POKEDEX const ENGINE_POKEDEX
const ENGINE_UNOWN_DEX const ENGINE_UNOWN_DEX
const ENGINE_POKERUS const ENGINE_POKERUS
const ENGINE_ROCKET_SIGNAL_ON_CH20 const ENGINE_ROCKET_SIGNAL_ON_CH20
const ENGINE_CREDITS_SKIP const ENGINE_CREDITS_SKIP
const ENGINE_BUG_CONTEST_ON ; 10 const ENGINE_BUG_CONTEST_ON ; 10
; StatusFlags2
const ENGINE_BUG_CONTEST_TIMER const ENGINE_BUG_CONTEST_TIMER
const ENGINE_SAFARI_ZONE const ENGINE_SAFARI_ZONE
const ENGINE_ROCKETS_IN_RADIO_TOWER const ENGINE_ROCKETS_IN_RADIO_TOWER
@ -24,9 +31,11 @@
const ENGINE_GIVE_POKERUS const ENGINE_GIVE_POKERUS
const ENGINE_FLORIA const ENGINE_FLORIA
const ENGINE_ROCKETS_IN_MAHOGANY const ENGINE_ROCKETS_IN_MAHOGANY
; BikeFlags
const ENGINE_STRENGTH_ACTIVE const ENGINE_STRENGTH_ACTIVE
const ENGINE_ALWAYS_ON_BIKE const ENGINE_ALWAYS_ON_BIKE
const ENGINE_DOWNHILL const ENGINE_DOWNHILL
; JohtoBadges
const ENGINE_ZEPHYRBADGE const ENGINE_ZEPHYRBADGE
const ENGINE_HIVEBADGE const ENGINE_HIVEBADGE
const ENGINE_PLAINBADGE const ENGINE_PLAINBADGE
@ -35,6 +44,7 @@
const ENGINE_STORMBADGE ; 20 const ENGINE_STORMBADGE ; 20
const ENGINE_GLACIERBADGE const ENGINE_GLACIERBADGE
const ENGINE_RISINGBADGE const ENGINE_RISINGBADGE
; KantoBadges
const ENGINE_BOULDERBADGE const ENGINE_BOULDERBADGE
const ENGINE_CASCADEBADGE const ENGINE_CASCADEBADGE
const ENGINE_THUNDERBADGE const ENGINE_THUNDERBADGE
@ -43,6 +53,7 @@
const ENGINE_MARSHBADGE const ENGINE_MARSHBADGE
const ENGINE_VOLCANOBADGE const ENGINE_VOLCANOBADGE
const ENGINE_EARTHBADGE const ENGINE_EARTHBADGE
; UnlockedUnowns
const ENGINE_UNLOCKED_UNOWNS_1 const ENGINE_UNLOCKED_UNOWNS_1
const ENGINE_UNLOCKED_UNOWNS_2 const ENGINE_UNLOCKED_UNOWNS_2
const ENGINE_UNLOCKED_UNOWNS_3 const ENGINE_UNLOCKED_UNOWNS_3
@ -51,6 +62,7 @@
const ENGINE_UNLOCKED_UNOWNS_6 ; 30 const ENGINE_UNLOCKED_UNOWNS_6 ; 30
const ENGINE_UNLOCKED_UNOWNS_7 const ENGINE_UNLOCKED_UNOWNS_7
const ENGINE_UNLOCKED_UNOWNS_8 const ENGINE_UNLOCKED_UNOWNS_8
; VisitedSpawns
const ENGINE_FLYPOINT_KRISS_HOUSE const ENGINE_FLYPOINT_KRISS_HOUSE
const ENGINE_FLYPOINT_VIRIDIAN_POKECENTER const ENGINE_FLYPOINT_VIRIDIAN_POKECENTER
const ENGINE_FLYPOINT_PALLET const ENGINE_FLYPOINT_PALLET
@ -78,8 +90,11 @@
const ENGINE_FLYPOINT_BLACKTHORN const ENGINE_FLYPOINT_BLACKTHORN
const ENGINE_FLYPOINT_SILVER_CAVE const ENGINE_FLYPOINT_SILVER_CAVE
const ENGINE_FLYPOINT_UNUSED const ENGINE_FLYPOINT_UNUSED
; wLuckyNumberShowFlag
const ENGINE_LUCKY_NUMBER_SHOW const ENGINE_LUCKY_NUMBER_SHOW
; StatusFlags2
const ENGINE_4F const ENGINE_4F
; DailyFlags
const ENGINE_KURT_MAKING_BALLS ; 50 const ENGINE_KURT_MAKING_BALLS ; 50
const ENGINE_DAILY_BUG_CONTEST const ENGINE_DAILY_BUG_CONTEST
const ENGINE_SPECIAL_WILDDATA const ENGINE_SPECIAL_WILDDATA
@ -88,6 +103,7 @@
const ENGINE_SHUCKLE_GIVEN const ENGINE_SHUCKLE_GIVEN
const ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED const ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
const ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY const ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
; WeeklyFlags
const ENGINE_MT_MOON_SQUARE_CLEFAIRY const ENGINE_MT_MOON_SQUARE_CLEFAIRY
const ENGINE_UNION_CAVE_LAPRAS const ENGINE_UNION_CAVE_LAPRAS
const ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT const ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
@ -96,11 +112,16 @@
const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
const ENGINE_DAILY_MOVE_TUTOR const ENGINE_DAILY_MOVE_TUTOR
const ENGINE_BUENAS_PASSWORD const ENGINE_BUENAS_PASSWORD
; SwarmFlags
const ENGINE_BUENAS_PASSWORD_2 ; 60 const ENGINE_BUENAS_PASSWORD_2 ; 60
const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
; GameTimerPause
const ENGINE_62 const ENGINE_62
; PlayerGender
const ENGINE_PLAYER_IS_FEMALE const ENGINE_PLAYER_IS_FEMALE
; wCelebiEvent
const ENGINE_HAVE_EXAMINED_GS_BALL const ENGINE_HAVE_EXAMINED_GS_BALL
; wDailyRematchFlags
const ENGINE_JACK const ENGINE_JACK
const ENGINE_HUEY const ENGINE_HUEY
const ENGINE_GAVEN const ENGINE_GAVEN
@ -125,6 +146,7 @@
const ENGINE_WILTON const ENGINE_WILTON
const ENGINE_PARRY const ENGINE_PARRY
const ENGINE_ERIN const ENGINE_ERIN
; wDailyPhoneItemFlags
const ENGINE_BEVERLY_HAS_NUGGET const ENGINE_BEVERLY_HAS_NUGGET
const ENGINE_JOSE_HAS_STAR_PIECE const ENGINE_JOSE_HAS_STAR_PIECE
const ENGINE_WADE_HAS_ITEM const ENGINE_WADE_HAS_ITEM
@ -135,6 +157,7 @@
const ENGINE_TULLY_HAS_WATER_STONE const ENGINE_TULLY_HAS_WATER_STONE
const ENGINE_TIFFANY_HAS_PINK_BOW const ENGINE_TIFFANY_HAS_PINK_BOW
const ENGINE_WILTON_HAS_ITEM const ENGINE_WILTON_HAS_ITEM
; wDailyPhoneTimeOfDayFlags
const ENGINE_JACK_MONDAY_MORNING const ENGINE_JACK_MONDAY_MORNING
const ENGINE_HUEY_WEDNESDAY_NIGHT const ENGINE_HUEY_WEDNESDAY_NIGHT
const ENGINE_GAVEN_THURSDAY_MORNING const ENGINE_GAVEN_THURSDAY_MORNING
@ -159,7 +182,9 @@
const ENGINE_WILTON_THRUSDAY_MORNING const ENGINE_WILTON_THRUSDAY_MORNING
const ENGINE_PARRY_FRIDAY_AFTERNOON const ENGINE_PARRY_FRIDAY_AFTERNOON
const ENGINE_ERIN_SATURDAY_NIGHT const ENGINE_ERIN_SATURDAY_NIGHT
; wPlayerSpriteSetupFlags
const ENGINE_KRIS_IN_CABLE_CLUB const ENGINE_KRIS_IN_CABLE_CLUB
; SwarmFlags
const ENGINE_DUNSPARCE_SWARM ; a0 const ENGINE_DUNSPARCE_SWARM ; a0
const ENGINE_YANMA_SWARM const ENGINE_YANMA_SWARM
NUM_ENGINE_FLAGS EQU const_value NUM_ENGINE_FLAGS EQU const_value

View File

@ -1,7 +1,6 @@
; EventFlags bit flags
const_def const_def
; The first eight flags are reset upon reloading the map
; These first eight flags are reset upon reloading the map.
const EVENT_GAVE_KURT_APRICORNS ; 000 const EVENT_GAVE_KURT_APRICORNS ; 000
const EVENT_RECEIVED_BALLS_FROM_KURT const EVENT_RECEIVED_BALLS_FROM_KURT
const EVENT_DRAGON_SHRINE_QUESTION_2 const EVENT_DRAGON_SHRINE_QUESTION_2
@ -10,7 +9,7 @@
const EVENT_DRAGON_SHRINE_QUESTION_5 const EVENT_DRAGON_SHRINE_QUESTION_5
const EVENT_JUST_RECEIVED_DRATINI const EVENT_JUST_RECEIVED_DRATINI
const EVENT_IN_YOUR_ROOM const EVENT_IN_YOUR_ROOM
; Johto story events ; Johto Gym Leader TM gifts
const EVENT_GOT_TM31_MUD_SLAP const EVENT_GOT_TM31_MUD_SLAP
const EVENT_GOT_TM49_FURY_CUTTER const EVENT_GOT_TM49_FURY_CUTTER
const EVENT_GOT_TM01_DYNAMICPUNCH const EVENT_GOT_TM01_DYNAMICPUNCH
@ -19,6 +18,7 @@
const EVENT_GOT_TM23_IRON_TAIL const EVENT_GOT_TM23_IRON_TAIL
const EVENT_GOT_TM16_ICY_WIND const EVENT_GOT_TM16_ICY_WIND
const EVENT_GOT_TM24_DRAGONBREATH const EVENT_GOT_TM24_DRAGONBREATH
; HMs (EVENT_GOT_HM07_WATERFALL is with the Johto itemballs)
const EVENT_GOT_HM01_CUT const EVENT_GOT_HM01_CUT
const EVENT_GOT_HM02_FLY const EVENT_GOT_HM02_FLY
const EVENT_GOT_HM03_SURF const EVENT_GOT_HM03_SURF
@ -26,9 +26,11 @@
const EVENT_GOT_HM05_FLASH const EVENT_GOT_HM05_FLASH
const EVENT_GOT_HM06_WHIRLPOOL const EVENT_GOT_HM06_WHIRLPOOL
const EVENT_016 const EVENT_016
; Rods
const EVENT_GOT_OLD_ROD const EVENT_GOT_OLD_ROD
const EVENT_GOT_GOOD_ROD const EVENT_GOT_GOOD_ROD
const EVENT_GOT_SUPER_ROD const EVENT_GOT_SUPER_ROD
; Johto story events
const EVENT_GOT_A_POKEMON_FROM_ELM const EVENT_GOT_A_POKEMON_FROM_ELM
const EVENT_GOT_CYNDAQUIL_FROM_ELM const EVENT_GOT_CYNDAQUIL_FROM_ELM
const EVENT_GOT_TOTODILE_FROM_ELM const EVENT_GOT_TOTODILE_FROM_ELM
@ -128,7 +130,7 @@
const EVENT_GOT_TM12_SWEET_SCENT const EVENT_GOT_TM12_SWEET_SCENT
const EVENT_RELEASED_THE_BEASTS const EVENT_RELEASED_THE_BEASTS
const EVENT_GOT_MASTER_BALL_FROM_ELM const EVENT_GOT_MASTER_BALL_FROM_ELM
; Johto Signpost Items ; Johto signpost items
const EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION const EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION
const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE
const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS
@ -234,7 +236,7 @@
const EVENT_TALKED_TO_OAK_IN_KANTO const EVENT_TALKED_TO_OAK_IN_KANTO
const EVENT_GOT_HP_UP_FROM_VERMILION_GUY const EVENT_GOT_HP_UP_FROM_VERMILION_GUY
const EVENT_GOT_TM29_PSYCHIC const EVENT_GOT_TM29_PSYCHIC
; Kanto Signpost Items ; Kanto signpost items
const EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE const EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE
const EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE const EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE
const EVENT_UNDERGROUND_HIDDEN_X_SPECIAL const EVENT_UNDERGROUND_HIDDEN_X_SPECIAL
@ -608,7 +610,7 @@
const EVENT_255 const EVENT_255
const EVENT_256 const EVENT_256
const EVENT_257 const EVENT_257
; Kurt events ; Kurt Apricorn events
const EVENT_GAVE_KURT_RED_APRICORN const EVENT_GAVE_KURT_RED_APRICORN
const EVENT_GAVE_KURT_BLU_APRICORN const EVENT_GAVE_KURT_BLU_APRICORN
const EVENT_GAVE_KURT_YLW_APRICORN const EVENT_GAVE_KURT_YLW_APRICORN
@ -682,7 +684,7 @@
const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
const EVENT_29F const EVENT_29F
; Ruins Of Alph puzzles ; Ruins of Alph puzzles
const EVENT_SOLVED_HO_OH_PUZZLE ; 2a0 const EVENT_SOLVED_HO_OH_PUZZLE ; 2a0
const EVENT_SOLVED_KABUTO_PUZZLE const EVENT_SOLVED_KABUTO_PUZZLE
const EVENT_SOLVED_OMANYTE_PUZZLE const EVENT_SOLVED_OMANYTE_PUZZLE
@ -734,7 +736,7 @@
const EVENT_DECO_BIG_SNORLAX_DOLL const EVENT_DECO_BIG_SNORLAX_DOLL
const EVENT_DECO_BIG_ONIX_DOLL ; 2d0 const EVENT_DECO_BIG_ONIX_DOLL ; 2d0
const EVENT_DECO_BIG_LAPRAS_DOLL const EVENT_DECO_BIG_LAPRAS_DOLL
; More Johto events ; More Johto story events
const EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE const EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE
const EVENT_SWITCH_1 const EVENT_SWITCH_1
const EVENT_SWITCH_2 const EVENT_SWITCH_2
@ -818,7 +820,7 @@
const EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA const EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA
const EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA const EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA
const EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA const EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA
; More Crystal-specific events ; More Crystal-exclusive events in Johto
const EVENT_LISTENED_TO_INITIAL_RADIO const EVENT_LISTENED_TO_INITIAL_RADIO
const EVENT_WALL_OPENED_IN_HO_OH_CHAMBER const EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
const EVENT_WALL_OPENED_IN_KABUTO_CHAMBER const EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
@ -1015,7 +1017,7 @@
const EVENT_3E5 const EVENT_3E5
const EVENT_3E6 const EVENT_3E6
const EVENT_3E7 const EVENT_3E7
; Trainer Flags ; Trainer flags
; Swimmer F ; Swimmer F
const EVENT_BEAT_SWIMMERF_ELAINE const EVENT_BEAT_SWIMMERF_ELAINE
const EVENT_BEAT_SWIMMERF_PAULA const EVENT_BEAT_SWIMMERF_PAULA
@ -1530,7 +1532,7 @@
const EVENT_BEAT_ELITE_4_BRUNO const EVENT_BEAT_ELITE_4_BRUNO
const EVENT_BEAT_ELITE_4_KAREN const EVENT_BEAT_ELITE_4_KAREN
const EVENT_BEAT_CHAMPION_LANCE const EVENT_BEAT_CHAMPION_LANCE
; New to Crystal ; Crystal-exclusive trainer flags
const EVENT_BEAT_COOLTRAINERM_DARIN const EVENT_BEAT_COOLTRAINERM_DARIN
const EVENT_BEAT_COOLTRAINERF_CARA const EVENT_BEAT_COOLTRAINERF_CARA
const EVENT_BEAT_TWINS_LEA_AND_PIA const EVENT_BEAT_TWINS_LEA_AND_PIA
@ -1663,10 +1665,11 @@
const EVENT_63D const EVENT_63D
const EVENT_63E const EVENT_63E
const EVENT_63F const EVENT_63F
; Sprite visibility: When these events are cleared, the sprite becomes visible; when set, the sprite is hidden. ; Sprite visibility flags
; When these events are cleared, the sprite becomes visible; when set, the sprite is hidden.
; The map script command macros `disappear` and `appear` set/clear these flags and immediately apply the effect on visibility. ; The map script command macros `disappear` and `appear` set/clear these flags and immediately apply the effect on visibility.
; The map script command macros `setevent` and `clearevent` set/clear these flags, and their effects will be seen when the map is reloaded. ; The map script command macros `setevent` and `clearevent` set/clear these flags, and their effects will be seen when the map is reloaded.
; Johto items: 0x640 ; Johto itemballs
const EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB const EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
const EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB const EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
const EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB const EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
@ -1986,6 +1989,7 @@
const EVENT_MT_MOON_RIVAL const EVENT_MT_MOON_RIVAL
const EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL const EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
const EVENT_TELEPORT_GUY const EVENT_TELEPORT_GUY
; Kanto itemballs
const EVENT_PICKED_UP_FOCUS_BAND const EVENT_PICKED_UP_FOCUS_BAND
const EVENT_ROCK_TUNNEL_1F_ELIXER const EVENT_ROCK_TUNNEL_1F_ELIXER
const EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING const EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING

View File

@ -1,4 +1,3 @@
LEN_2BPP_TILE EQU 16 LEN_2BPP_TILE EQU 16
LEN_1BPP_TILE EQU 8 LEN_1BPP_TILE EQU 8
TILES_PER_FRAME EQU 6 TILES_PER_FRAME EQU 6
TILESIZE EQU $10

View File

@ -1,3 +1,9 @@
; item ids
; indexes for:
; - ItemAttributes (see items/item_attributes.asm)
; - ItemDescriptions (see items/item_descriptions.asm)
; - ItemEffects (see items/item_effects.asm)
; - ItemNames (see items/item_names.asm)
const_def const_def
const NO_ITEM ; $00 const NO_ITEM ; $00
const MASTER_BALL ; $01 const MASTER_BALL ; $01
@ -243,7 +249,7 @@
add_tm FIRE_PUNCH ; $F0 add_tm FIRE_PUNCH ; $F0
add_tm FURY_CUTTER ; $F1 add_tm FURY_CUTTER ; $F1
add_tm NIGHTMARE ; $F2 add_tm NIGHTMARE ; $F2
NUM_TMS = const_value - TM01 - 2 NUM_TMS = const_value - TM01 - 2 ; discount ITEM_C3 and ITEM_DC
add_hm CUT ; $F3 add_hm CUT ; $F3
add_hm FLY ; $F4 add_hm FLY ; $F4
@ -253,27 +259,37 @@ NUM_TMS = const_value - TM01 - 2
add_hm WHIRLPOOL ; $F8 add_hm WHIRLPOOL ; $F8
add_hm WATERFALL ; $F9 add_hm WATERFALL ; $F9
NUM_HMS = const_value - HM01 NUM_HMS = const_value - HM01
const HM_08 ; $FA const ITEM_FA ; $FA
add_mt FLAMETHROWER add_mt FLAMETHROWER
add_mt THUNDERBOLT add_mt THUNDERBOLT
add_mt ICE_BEAM add_mt ICE_BEAM
NUM_TM_HM_TUTOR = __enum__ +- 1
ITEM_FROM_MEM EQU $ff ITEM_FROM_MEM EQU $FF
; leftovers from red ; leftovers from red
SAFARI_BALL EQU 8 ; MOON_STONE SAFARI_BALL EQU $08 ; MOON_STONE
MOON_STONE_RED EQU 10 ; BURN_HEAL MOON_STONE_RED EQU $0A ; BURN_HEAL
FULL_HEAL_RED EQU 52 ; X_SPEED FULL_HEAL_RED EQU $34 ; X_SPEED
MAIL_MAX_LENGTH EQU $20
; pockets ; mail
MAIL_MSG_LENGTH EQU $20
MAILBOX_CAPACITY EQU 10
MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
; pack pockets
ITEM EQU 1 ITEM EQU 1
KEY_ITEM EQU 2 KEY_ITEM EQU 2
BALL EQU 3 BALL EQU 3
TM_HM EQU 4 TM_HM EQU 4
; pack pocket sizes
MAX_ITEMS EQU 20
MAX_KEY_ITEMS EQU 25
MAX_BALLS EQU 12
MAX_PC_ITEMS EQU 50
; item actions ; item actions
CANT_SELECT EQU 1 << 6 CANT_SELECT EQU 1 << 6
CANT_TOSS EQU 1 << 7 CANT_TOSS EQU 1 << 7
@ -356,6 +372,7 @@ const_value SET 70
const HELD_78 const HELD_78
const HELD_FOCUS_BAND const HELD_FOCUS_BAND
; item_attribute struct members (see items/item_attributes.asm)
const_def const_def
const ITEMATTR_PRICE const ITEMATTR_PRICE
const ITEMATTR_PRICE_HI const ITEMATTR_PRICE_HI
@ -366,11 +383,13 @@ const_value SET 70
const ITEMATTR_HELP const ITEMATTR_HELP
NUM_ITEMATTRS EQU const_value NUM_ITEMATTRS EQU const_value
ITEMMENU_NOUSE EQU 0 ; item menu types
ITEMMENU_CURRENT EQU 4 ITEMMENU_NOUSE EQU 0
ITEMMENU_PARTY EQU 5 ITEMMENU_CURRENT EQU 4
ITEMMENU_CLOSE EQU 6 ITEMMENU_PARTY EQU 5
ITEMMENU_CLOSE EQU 6
; mart types (see engine/mart.asm)
const_def const_def
const MARTTYPE_STANDARD const MARTTYPE_STANDARD
const MARTTYPE_BITTER const MARTTYPE_BITTER
@ -378,6 +397,7 @@ ITEMMENU_CLOSE EQU 6
const MARTTYPE_PHARMACY const MARTTYPE_PHARMACY
const MARTTYPE_ROOFTOP const MARTTYPE_ROOFTOP
; Marts indexes (see items/marts.asm)
const_def const_def
const MART_CHERRYGROVE const MART_CHERRYGROVE
const MART_CHERRYGROVE_DEX const MART_CHERRYGROVE_DEX
@ -414,7 +434,8 @@ ITEMMENU_CLOSE EQU 6
const MART_INDIGO_PLATEAU const MART_INDIGO_PLATEAU
const MART_UNDERGROUND const MART_UNDERGROUND
; PartyMenuActionText ; PartyMenuActionText values
; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm)
const_def const_def
const PARTYMENUACTION_CHOOSE_POKEMON const PARTYMENUACTION_CHOOSE_POKEMON
const PARTYMENUACTION_HEALING_ITEM const PARTYMENUACTION_HEALING_ITEM
@ -426,7 +447,7 @@ ITEMMENU_CLOSE EQU 6
const PARTYMENUACTION_GIVE_MON_FEMALE ; unused const PARTYMENUACTION_GIVE_MON_FEMALE ; unused
const PARTYMENUACTION_GIVE_ITEM const PARTYMENUACTION_GIVE_ITEM
const PARTYMENUACTION_MOBILE ; mobile const PARTYMENUACTION_MOBILE ; mobile
; PrintPartyMenuActionText arguments (see engine/party_menu.asm)
const_value set $f0 const_value set $f0
const PARTYMENUTEXT_HEAL_PSN const PARTYMENUTEXT_HEAL_PSN
const PARTYMENUTEXT_HEAL_BRN const PARTYMENUTEXT_HEAL_BRN

View File

@ -1,6 +1,7 @@
; Landmarks indexes (see engine/landmarks.asm)
const_def const_def
; Johto landmarks
const SPECIAL_MAP ; 00 const SPECIAL_MAP ; 00
const NEW_BARK_TOWN ; 01 const NEW_BARK_TOWN ; 01
const ROUTE_29 ; 02 const ROUTE_29 ; 02
@ -50,7 +51,6 @@
const SILVER_CAVE ; 2e const SILVER_CAVE ; 2e
KANTO_LANDMARK EQU const_value KANTO_LANDMARK EQU const_value
const PALLET_TOWN ; 2f const PALLET_TOWN ; 2f
const ROUTE_1 ; 30 const ROUTE_1 ; 30
const VIRIDIAN_CITY ; 31 const VIRIDIAN_CITY ; 31

View File

@ -5,7 +5,13 @@ GROUP_NONE EQU 0
MAP_NONE EQU 0 MAP_NONE EQU 0
; map group ids ; map group ids
; `newgroup` indexes are for:
; - MapGroupPointers (see maps/map_headers.asm)
; - OutdoorSprites (see engine/overworld.asm)
; - MapGroupRoofs (see tilesets/roofs.asm)
; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm)
const_def const_def
newgroup ; 1 newgroup ; 1
mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1 mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1
@ -473,40 +479,7 @@ MAP_NONE EQU 0
mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11 mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11
; elevator floors ; map permissions (wPermission)
const_def
const _B4F
const _B3F
const _B2F
const _B1F
const _1F
const _2F
const _3F
const _4F
const _5F
const _6F
const _7F
const _8F
const _9F
const _10F
const _11F
const _ROOF
; connection directions
const_def
const EAST_F
const WEST_F
const SOUTH_F
const NORTH_F
const_def
shift_const EAST
shift_const WEST
shift_const SOUTH
shift_const NORTH
; permissions
const_value SET 1 const_value SET 1
const TOWN const TOWN
const ROUTE const ROUTE
@ -516,7 +489,48 @@ const_value SET 1
const GATE const GATE
const DUNGEON const DUNGEON
; object struct ; map palettes (wPermission)
const_def
const PALETTE_AUTO
const PALETTE_DAY
const PALETTE_NITE
const PALETTE_MORN
const PALETTE_DARK
; fish groups
const_def
const FISHGROUP_NONE
const FISHGROUP_SHORE
const FISHGROUP_OCEAN
const FISHGROUP_LAKE
const FISHGROUP_POND
const FISHGROUP_DRATINI
const FISHGROUP_QWILFISH_SWARM
const FISHGROUP_REMORAID_SWARM
const FISHGROUP_GYARADOS
const FISHGROUP_DRATINI_2
const FISHGROUP_WHIRL_ISLANDS
const FISHGROUP_QWILFISH
const FISHGROUP_REMORAID
const FISHGROUP_QWILFISH_NO_SWARM
; connection directions
const_def
const EAST_F
const WEST_F
const SOUTH_F
const NORTH_F
; MapConnections
const_def
shift_const EAST
shift_const WEST
shift_const SOUTH
shift_const NORTH
; object_struct members (see macros/wram.asm)
const_def const_def
const OBJECT_SPRITE ; 00 const OBJECT_SPRITE ; 00
const OBJECT_MAP_OBJECT_INDEX ; 01 const OBJECT_MAP_OBJECT_INDEX ; 01
@ -553,7 +567,7 @@ const_value SET 1
const OBJECT_RANGE ; 20 const OBJECT_RANGE ; 20
; 33-39 are not used ; 33-39 are not used
; map object struct ; map_object struct members (see macros/wram.asm)
const_def const_def
const MAPOBJECT_OBJECT_STRUCT_ID ; 0 const MAPOBJECT_OBJECT_STRUCT_ID ; 0
const MAPOBJECT_SPRITE ; 1 const MAPOBJECT_SPRITE ; 1
@ -576,46 +590,25 @@ OBJECT_LENGTH EQU const_value
MAPOBJECT_SCREEN_HEIGHT EQU 11 MAPOBJECT_SCREEN_HEIGHT EQU 11
MAPOBJECT_SCREEN_WIDTH EQU 12 MAPOBJECT_SCREEN_WIDTH EQU 12
; object_struct OBJECT_FACING values
OW_DOWN EQU DOWN << 2 OW_DOWN EQU DOWN << 2
OW_UP EQU UP << 2 OW_UP EQU UP << 2
OW_LEFT EQU LEFT << 2 OW_LEFT EQU LEFT << 2
OW_RIGHT EQU RIGHT << 2 OW_RIGHT EQU RIGHT << 2
const_def ; object_struct OBJECT_FLAGS1 bit flags
const EMOTE_SHOCK ; 0 INVISIBLE EQU 0
const EMOTE_QUESTION ; 1 FIXED_FACING EQU 2
const EMOTE_HAPPY ; 2 SLIDING EQU 3
const EMOTE_SAD ; 3 EMOTE_OBJECT EQU 7
const EMOTE_HEART ; 4
const EMOTE_BOLT ; 5
const EMOTE_SLEEP ; 6
const EMOTE_FISH ; 7
const EMOTE_SHADOW ; 8
const EMOTE_ROD ; 9
const EMOTE_BOULDER_DUST ; 10
const EMOTE_0B ; 11
EMOTE_MEM EQU -1
const_def
const SIGNPOST_READ
const SIGNPOST_UP
const SIGNPOST_DOWN
const SIGNPOST_RIGHT
const SIGNPOST_LEFT
const SIGNPOST_IFSET
const SIGNPOST_IFNOTSET
const SIGNPOST_ITEM
const SIGNPOST_COPY
; I'm relocating spawn constants here, so that they can be used anywhere in the disassembly.
; SpawnPoints indexes (see engine/spawn_points.asm)
const_value = -1 const_value = -1
const SPAWN_N_A const SPAWN_N_A
const SPAWN_HOME const SPAWN_HOME
const SPAWN_DEBUG const SPAWN_DEBUG
; kanto
const SPAWN_PALLET const SPAWN_PALLET
const SPAWN_VIRIDIAN const SPAWN_VIRIDIAN
const SPAWN_PEWTER const SPAWN_PEWTER
@ -628,7 +621,7 @@ const_value = -1
const SPAWN_FUCHSIA const SPAWN_FUCHSIA
const SPAWN_CINNABAR const SPAWN_CINNABAR
const SPAWN_INDIGO const SPAWN_INDIGO
; johto
const SPAWN_NEW_BARK const SPAWN_NEW_BARK
const SPAWN_CHERRYGROVE const SPAWN_CHERRYGROVE
const SPAWN_VIOLET const SPAWN_VIOLET
@ -645,18 +638,21 @@ const_value = -1
const SPAWN_FAST_SHIP const SPAWN_FAST_SHIP
NUM_SPAWNS EQU const_value NUM_SPAWNS EQU const_value
; TryReadSign arguments (see engine/events.asm)
const_def const_def
const PALETTE_AUTO const SIGNPOST_READ
const PALETTE_DAY const SIGNPOST_UP
const PALETTE_NITE const SIGNPOST_DOWN
const PALETTE_MORN const SIGNPOST_RIGHT
const PALETTE_DARK const SIGNPOST_LEFT
const SIGNPOST_IFSET
INVISIBLE EQU 0 const SIGNPOST_IFNOTSET
FIXED_FACING EQU 2 const SIGNPOST_ITEM
SLIDING EQU 3 const SIGNPOST_COPY
EMOTE_OBJECT EQU 7
; person_event types
; TryObjectEvent arguments (see engine/events.asm)
const_def const_def
const PERSONTYPE_SCRIPT const PERSONTYPE_SCRIPT
const PERSONTYPE_ITEMBALL const PERSONTYPE_ITEMBALL
@ -666,7 +662,24 @@ EMOTE_OBJECT EQU 7
const PERSONTYPE_5 const PERSONTYPE_5
const PERSONTYPE_6 const PERSONTYPE_6
; fruit trees
; EmotesPointers indexes (see engine/overworld.asm)
const_def
const EMOTE_SHOCK ; 0
const EMOTE_QUESTION ; 1
const EMOTE_HAPPY ; 2
const EMOTE_SAD ; 3
const EMOTE_HEART ; 4
const EMOTE_BOLT ; 5
const EMOTE_SLEEP ; 6
const EMOTE_FISH ; 7
const EMOTE_SHADOW ; 8
const EMOTE_ROD ; 9
const EMOTE_BOULDER_DUST ; 10
const EMOTE_GRASS_RUSTLE ; 11
EMOTE_MEM EQU -1
; FruitTreeItems indexes (see engine/fruit_trees.asm)
const_value SET 1 const_value SET 1
const FRUITTREE_ROUTE_29 ; 01 const FRUITTREE_ROUTE_29 ; 01
const FRUITTREE_ROUTE_30_1 ; 02 const FRUITTREE_ROUTE_30_1 ; 02
@ -700,6 +713,27 @@ const_value SET 1
const FRUITTREE_FUCHSIA_CITY ; 1e const FRUITTREE_FUCHSIA_CITY ; 1e
NUM_FRUIT_TREES EQU const_value +- 1 NUM_FRUIT_TREES EQU const_value +- 1
; elevator floors
; used by `elevfloor`
const_def
const _B4F
const _B3F
const _B2F
const _B1F
const _1F
const _2F
const _3F
const _4F
const _5F
const _6F
const _7F
const _8F
const _9F
const _10F
const _11F
const _ROOF
; command queue members
CMDQUEUE_TYPE EQU 0 CMDQUEUE_TYPE EQU 0
CMDQUEUE_ADDR EQU 1 CMDQUEUE_ADDR EQU 1
CMDQUEUE_03 EQU 3 CMDQUEUE_03 EQU 3
@ -708,4 +742,9 @@ CMDQUEUE_05 EQU 5
CMDQUEUE_ENTRY_SIZE EQU 6 CMDQUEUE_ENTRY_SIZE EQU 6
CMDQUEUE_CAPACITY EQU 4 CMDQUEUE_CAPACITY EQU 4
; command queue types
CMDQUEUE_STONETABLE EQU 2 CMDQUEUE_STONETABLE EQU 2
; see engine/overworld.asm
MAX_OUTDOOR_SPRITES EQU 23
SPRITE_GFX_LIST_CAPACITY EQU $20

View File

@ -1,3 +1,5 @@
; hMapEntryMethod values
; MapSetupScripts indexes (see engine/map_setup.asm)
const_value SET $f1 const_value SET $f1
const MAPSETUP_WARP const MAPSETUP_WARP
const MAPSETUP_CONTINUE const MAPSETUP_CONTINUE
@ -12,6 +14,7 @@ const_value SET $f1
const MAPSETUP_BADWARP const MAPSETUP_BADWARP
const MAPSETUP_FLY const MAPSETUP_FLY
; callback types
const_value SET 1 const_value SET 1
const MAPCALLBACK_TILES const MAPCALLBACK_TILES
const MAPCALLBACK_OBJECTS const MAPCALLBACK_OBJECTS
@ -19,9 +22,10 @@ const_value SET 1
const MAPCALLBACK_SPRITES const MAPCALLBACK_SPRITES
const MAPCALLBACK_NEWMAP const MAPCALLBACK_NEWMAP
; Command descriptions from Condensation water's scripting compendium. ; MapSetupCommands indexes (see engine/map_setup.asm)
; Names taken from Condensation water's scripting compendium
; https://hax.iimarck.us/files/scriptingcodes_eng.htm
const_def const_def
const map_lcd_on ; 00 const map_lcd_on ; 00
const map_lcd_off ; 01 const map_lcd_off ; 01
const map_sound_off ; 02 const map_sound_off ; 02

View File

@ -1,21 +1,32 @@
PARTY_LENGTH EQU 6 ; Boolean checks
FALSE EQU 0
TRUE EQU 1
MAX_ITEMS EQU 20 ; genders
MAX_BALLS EQU 12 MALE EQU 0
MAX_KEY_ITEMS EQU 25 FEMALE EQU 1
MAX_PC_ITEMS EQU 50
; strings ; FlagAction arguments (see home/flag.asm)
RESET_FLAG EQU 0
SET_FLAG EQU 1
CHECK_FLAG EQU 2
; GetHPPal return values (see home.asm)
HP_GREEN EQU 0
HP_YELLOW EQU 1
HP_RED EQU 2
; name lengths
NAME_LENGTH EQU 11
PLAYER_NAME_LENGTH EQU 8 PLAYER_NAME_LENGTH EQU 8
BOX_NAME_LENGTH EQU 9 BOX_NAME_LENGTH EQU 9
PKMN_NAME_LENGTH EQU 11 PKMN_NAME_LENGTH EQU 11
MOVE_NAME_LENGTH EQU 13 MOVE_NAME_LENGTH EQU 13
ITEM_NAME_LENGTH EQU 13 ITEM_NAME_LENGTH EQU 13
TRAINER_CLASS_NAME_LENGTH EQU 13 TRAINER_CLASS_NAME_LENGTH EQU 13
NAME_LENGTH EQU 11
LV_CHAR EQU $6e
; GetName types ; GetName types (see home.asm)
PKMN_NAME EQU 1 PKMN_NAME EQU 1
MOVE_NAME EQU 2 MOVE_NAME EQU 2
; dummied out EQU 3 ; dummied out EQU 3
@ -25,35 +36,17 @@ ENEMY_OT_NAME EQU 6
TRAINER_NAME EQU 7 TRAINER_NAME EQU 7
; broken ptr EQU 8 ; broken ptr EQU 8
; hp
HP_GREEN EQU 0
HP_YELLOW EQU 1
HP_RED EQU 2
; boxes ; boxes
MONS_PER_BOX EQU 20 MONS_PER_BOX EQU 20
NUM_BOXES EQU 14 NUM_BOXES EQU 14
; mail
MAIL_STRUCT_LENGTH EQU $2f
MAILBOX_CAPACITY EQU 10
MAIL_MSG_LENGTH EQU $20
; hall of fame ; hall of fame
HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (PKMN_NAME_LENGTH +- 1) ; species, id, dvs, level, nick HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (PKMN_NAME_LENGTH +- 1) ; species, id, dvs, level, nick
HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
NUM_HOF_TEAMS = 30 NUM_HOF_TEAMS = 30
; flag manipulation
RESET_FLAG EQU 0
SET_FLAG EQU 1
CHECK_FLAG EQU 2
; Boolean checks
FALSE EQU 0
TRUE EQU 1
; joypad ; joypad
const_def const_def
@ -82,7 +75,9 @@ D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN
R_DPAD EQU %00100000 R_DPAD EQU %00100000
R_BUTTONS EQU %00010000 R_BUTTONS EQU %00010000
; screen ; screen
HP_BAR_LENGTH EQU 6 HP_BAR_LENGTH EQU 6
HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * 8 HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * 8
EXP_BAR_LENGTH EQU 8 EXP_BAR_LENGTH EQU 8
@ -101,51 +96,7 @@ WMISC_HEIGHT EQU 5 * 4
TILE_WIDTH EQU 8 TILE_WIDTH EQU 8
; movement ; printing text
STEP_SLOW EQU 0
STEP_WALK EQU 1
STEP_BIKE EQU 2
STEP_LEDGE EQU 3
STEP_ICE EQU 4
STEP_TURN EQU 5
STEP_BACK_LEDGE EQU 6
STEP_WALK_IN_PLACE EQU 7
; ai
CONTEXT_USE_F EQU 6
UNKNOWN_USE_F EQU 5
ALWAYS_USE_F EQU 4
SWITCH_SOMETIMES_F EQU 2
SWITCH_RARELY_F EQU 1
SWITCH_OFTEN_F EQU 0
CONTEXT_USE EQU 1 << CONTEXT_USE_F
UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
ALWAYS_USE EQU 1 << ALWAYS_USE_F
SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
SPRITE_GFX_LIST_CAPACITY EQU $20
const_value = 1
const MOM_ITEM
const MOM_DOLL
BATTLETOWER_NROFPKMNS EQU 3
BATTLETOWER_TRAINERDATALENGTH EQU $24
BATTLETOWER_NROFTRAINERS EQU 7
BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS
BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + 3 * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH
NUM_WILDMONS_PER_AREA_TIME_OF_DAY EQU 7
WILDMON_GRASS_STRUCTURE_LENGTH EQU 2 + 3 * (1 + 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY)
MOBILE_EVENT_OBJECT_GS_BALL EQU $b
MOBILE_LOGIN_PASSWORD_LENGTH EQU 17
MALE EQU 0
FEMALE EQU 1
PRINTNUM_MONEY_F EQU 5 PRINTNUM_MONEY_F EQU 5
PRINTNUM_RIGHTALIGN_F EQU 6 PRINTNUM_RIGHTALIGN_F EQU 6
@ -155,6 +106,20 @@ PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F
PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F
PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F
; movement
const_def
const STEP_SLOW ; 0
const STEP_WALK ; 1
const STEP_BIKE ; 2
const STEP_LEDGE ; 3
const STEP_ICE ; 4
const STEP_TURN ; 5
const STEP_BACK_LEDGE ; 6
const STEP_WALK_IN_PLACE ; 7
; ChangeHappiness arguments (see event/happiness_egg.asm)
const_value = 1 const_value = 1
const HAPPINESS_GAINLEVEL ; 01 const HAPPINESS_GAINLEVEL ; 01
const HAPPINESS_USEDITEM ; 02 const HAPPINESS_USEDITEM ; 02
@ -178,85 +143,16 @@ const_value = 1
const_def const_def
const LINK_NULL const LINK_NULL ; 0
const LINK_TIMECAPSULE const LINK_TIMECAPSULE ; 1
const LINK_TRADECENTER const LINK_TRADECENTER ; 2
const LINK_COLOSSEUM const LINK_COLOSSEUM ; 3
const LINK_MOBILE const LINK_MOBILE ; 4
SERIAL_TIMECAPSULE EQU $60 SERIAL_TIMECAPSULE EQU $60
SERIAL_TRADECENTER EQU $70 SERIAL_TRADECENTER EQU $70
SERIAL_BATTLE EQU $80 SERIAL_BATTLE EQU $80
HMENURETURN_SCRIPT EQU %10000000 HMENURETURN_SCRIPT EQU %10000000
HMENURETURN_ASM EQU %11111111 HMENURETURN_ASM EQU %11111111
NUM_MON_SUBMENU_ITEMS EQU 8
const_def
const ZEPHYRBADGE
const HIVEBADGE
const PLAINBADGE
const FOGBADGE
const MINERALBADGE
const STORMBADGE
const GLACIERBADGE
const RISINGBADGE
NUM_JOHTO_BADGES EQU const_value
const_def
const BOULDERBADGE
const CASCADEBADGE
const THUNDERBADGE
const RAINBOWBADGE
const SOULBADGE
const MARSHBADGE
const VOLCANOBADGE
const EARTHBADGE
NUM_KANTO_BADGES EQU const_value
NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
NUM_KANA EQU $2d
const_def
const EZCHAT_POKEMON
const EZCHAT_TYPES
const EZCHAT_GREETINGS
const EZCHAT_PEOPLE
const EZCHAT_BATTLE
const EZCHAT_EXCLAMATIONS
const EZCHAT_CONVERSATION
const EZCHAT_FEELINGS
const EZCHAT_CONDITIONS
const EZCHAT_LIFE
const EZCHAT_HOBBIES
const EZCHAT_ACTIONS
const EZCHAT_TIME
const EZCHAT_FAREWELLS
const EZCHAT_THISANDTHAT
SWARM_DUNSPARCE EQU 0
SWARM_YANMA EQU 1
FISHSWARM_QWILFISH EQU 1
FISHSWARM_REMORAID EQU 2
const_def
const FISHGROUP_NONE
const FISHGROUP_SHORE
const FISHGROUP_OCEAN
const FISHGROUP_LAKE
const FISHGROUP_POND
const FISHGROUP_DRATINI
const FISHGROUP_QWILFISH_SWARM
const FISHGROUP_REMORAID_SWARM
const FISHGROUP_GYARADOS
const FISHGROUP_DRATINI_2
const FISHGROUP_WHIRL_ISLANDS
const FISHGROUP_QWILFISH
const FISHGROUP_REMORAID
const FISHGROUP_QWILFISH_NO_SWARM
INIT_ENEMYOT_LIST EQU 1
INIT_BAG_ITEM_LIST EQU 2
INIT_OTHER_ITEM_LIST EQU 3
INIT_PLAYEROT_LIST EQU 4
INIT_MON_LIST EQU 5

View File

@ -0,0 +1,21 @@
; MobileEZChatCategoryPointers indexes (see misc/fixed_words.asm)
const_def
const EZCHAT_POKEMON
const EZCHAT_TYPES
const EZCHAT_GREETINGS
const EZCHAT_PEOPLE
const EZCHAT_BATTLE
const EZCHAT_EXCLAMATIONS
const EZCHAT_CONVERSATION
const EZCHAT_FEELINGS
const EZCHAT_CONDITIONS
const EZCHAT_LIFE
const EZCHAT_HOBBIES
const EZCHAT_ACTIONS
const EZCHAT_TIME
const EZCHAT_FAREWELLS
const EZCHAT_THISANDTHAT
NUM_KANA EQU 45 ; length of SortedPokemon table (see misc/fixed_words.asm)
MOBILE_LOGIN_PASSWORD_LENGTH EQU 17

View File

@ -1,291 +1,293 @@
; move ids
; indexes for:
; - MoveDescriptions (see battle/moves/move_descriptions.asm)
; - Moves (see battle/moves/moves.asm)
; - MoveNames (see battle/move_names.asm)
; - BattleAnimations (see battle/anims.asm)
const_def const_def
const NO_MOVE ; $00 const NO_MOVE ; 00
const POUND ; $01 const POUND ; 01
const KARATE_CHOP ; $02 const KARATE_CHOP ; 02
const DOUBLESLAP ; $03 const DOUBLESLAP ; 03
const COMET_PUNCH ; $04 const COMET_PUNCH ; 04
const MEGA_PUNCH ; $05 const MEGA_PUNCH ; 05
const PAY_DAY ; $06 const PAY_DAY ; 06
const FIRE_PUNCH ; $07 const FIRE_PUNCH ; 07
const ICE_PUNCH ; $08 const ICE_PUNCH ; 08
const THUNDERPUNCH ; $09 const THUNDERPUNCH ; 09
const SCRATCH ; $0a const SCRATCH ; 0a
const VICEGRIP ; $0b const VICEGRIP ; 0b
const GUILLOTINE ; $0c const GUILLOTINE ; 0c
const RAZOR_WIND ; $0d const RAZOR_WIND ; 0d
const SWORDS_DANCE ; $0e const SWORDS_DANCE ; 0e
const CUT ; $0f const CUT ; 0f
const GUST ; $10 const GUST ; 10
const WING_ATTACK ; $11 const WING_ATTACK ; 11
const WHIRLWIND ; $12 const WHIRLWIND ; 12
const FLY ; $13 const FLY ; 13
const BIND ; $14 const BIND ; 14
const SLAM ; $15 const SLAM ; 15
const VINE_WHIP ; $16 const VINE_WHIP ; 16
const STOMP ; $17 const STOMP ; 17
const DOUBLE_KICK ; $18 const DOUBLE_KICK ; 18
const MEGA_KICK ; $19 const MEGA_KICK ; 19
const JUMP_KICK ; $1a const JUMP_KICK ; 1a
const ROLLING_KICK ; $1b const ROLLING_KICK ; 1b
const SAND_ATTACK ; $1c const SAND_ATTACK ; 1c
const HEADBUTT ; $1d const HEADBUTT ; 1d
const HORN_ATTACK ; $1e const HORN_ATTACK ; 1e
const FURY_ATTACK ; $1f const FURY_ATTACK ; 1f
const HORN_DRILL ; $20 const HORN_DRILL ; 20
const TACKLE ; $21 const TACKLE ; 21
const BODY_SLAM ; $22 const BODY_SLAM ; 22
const WRAP ; $23 const WRAP ; 23
const TAKE_DOWN ; $24 const TAKE_DOWN ; 24
const THRASH ; $25 const THRASH ; 25
const DOUBLE_EDGE ; $26 const DOUBLE_EDGE ; 26
const TAIL_WHIP ; $27 const TAIL_WHIP ; 27
const POISON_STING ; $28 const POISON_STING ; 28
const TWINEEDLE ; $29 const TWINEEDLE ; 29
const PIN_MISSILE ; $2a const PIN_MISSILE ; 2a
const LEER ; $2b const LEER ; 2b
const BITE ; $2c const BITE ; 2c
const GROWL ; $2d const GROWL ; 2d
const ROAR ; $2e const ROAR ; 2e
const SING ; $2f const SING ; 2f
const SUPERSONIC ; $30 const SUPERSONIC ; 30
const SONICBOOM ; $31 const SONICBOOM ; 31
const DISABLE ; $32 const DISABLE ; 32
const ACID ; $33 const ACID ; 33
const EMBER ; $34 const EMBER ; 34
const FLAMETHROWER ; $35 const FLAMETHROWER ; 35
const MIST ; $36 const MIST ; 36
const WATER_GUN ; $37 const WATER_GUN ; 37
const HYDRO_PUMP ; $38 const HYDRO_PUMP ; 38
const SURF ; $39 const SURF ; 39
const ICE_BEAM ; $3a const ICE_BEAM ; 3a
const BLIZZARD ; $3b const BLIZZARD ; 3b
const PSYBEAM ; $3c const PSYBEAM ; 3c
const BUBBLEBEAM ; $3d const BUBBLEBEAM ; 3d
const AURORA_BEAM ; $3e const AURORA_BEAM ; 3e
const HYPER_BEAM ; $3f const HYPER_BEAM ; 3f
const PECK ; $40 const PECK ; 40
const DRILL_PECK ; $41 const DRILL_PECK ; 41
const SUBMISSION ; $42 const SUBMISSION ; 42
const LOW_KICK ; $43 const LOW_KICK ; 43
const COUNTER ; $44 const COUNTER ; 44
const SEISMIC_TOSS ; $45 const SEISMIC_TOSS ; 45
const STRENGTH ; $46 const STRENGTH ; 46
const ABSORB ; $47 const ABSORB ; 47
const MEGA_DRAIN ; $48 const MEGA_DRAIN ; 48
const LEECH_SEED ; $49 const LEECH_SEED ; 49
const GROWTH ; $4a const GROWTH ; 4a
const RAZOR_LEAF ; $4b const RAZOR_LEAF ; 4b
const SOLARBEAM ; $4c const SOLARBEAM ; 4c
const POISONPOWDER ; $4d const POISONPOWDER ; 4d
const STUN_SPORE ; $4e const STUN_SPORE ; 4e
const SLEEP_POWDER ; $4f const SLEEP_POWDER ; 4f
const PETAL_DANCE ; $50 const PETAL_DANCE ; 50
const STRING_SHOT ; $51 const STRING_SHOT ; 51
const DRAGON_RAGE ; $52 const DRAGON_RAGE ; 52
const FIRE_SPIN ; $53 const FIRE_SPIN ; 53
const THUNDERSHOCK ; $54 const THUNDERSHOCK ; 54
const THUNDERBOLT ; $55 const THUNDERBOLT ; 55
const THUNDER_WAVE ; $56 const THUNDER_WAVE ; 56
const THUNDER ; $57 const THUNDER ; 57
const ROCK_THROW ; $58 const ROCK_THROW ; 58
const EARTHQUAKE ; $59 const EARTHQUAKE ; 59
const FISSURE ; $5a const FISSURE ; 5a
const DIG ; $5b const DIG ; 5b
const TOXIC ; $5c const TOXIC ; 5c
const CONFUSION ; $5d const CONFUSION ; 5d
const PSYCHIC_M ; $5e const PSYCHIC_M ; 5e
const HYPNOSIS ; $5f const HYPNOSIS ; 5f
const MEDITATE ; $60 const MEDITATE ; 60
const AGILITY ; $61 const AGILITY ; 61
const QUICK_ATTACK ; $62 const QUICK_ATTACK ; 62
const RAGE ; $63 const RAGE ; 63
const TELEPORT ; $64 const TELEPORT ; 64
const NIGHT_SHADE ; $65 const NIGHT_SHADE ; 65
const MIMIC ; $66 const MIMIC ; 66
const SCREECH ; $67 const SCREECH ; 67
const DOUBLE_TEAM ; $68 const DOUBLE_TEAM ; 68
const RECOVER ; $69 const RECOVER ; 69
const HARDEN ; $6a const HARDEN ; 6a
const MINIMIZE ; $6b const MINIMIZE ; 6b
const SMOKESCREEN ; $6c const SMOKESCREEN ; 6c
const CONFUSE_RAY ; $6d const CONFUSE_RAY ; 6d
const WITHDRAW ; $6e const WITHDRAW ; 6e
const DEFENSE_CURL ; $6f const DEFENSE_CURL ; 6f
const BARRIER ; $70 const BARRIER ; 70
const LIGHT_SCREEN ; $71 const LIGHT_SCREEN ; 71
const HAZE ; $72 const HAZE ; 72
const REFLECT ; $73 const REFLECT ; 73
const FOCUS_ENERGY ; $74 const FOCUS_ENERGY ; 74
const BIDE ; $75 const BIDE ; 75
const METRONOME ; $76 const METRONOME ; 76
const MIRROR_MOVE ; $77 const MIRROR_MOVE ; 77
const SELFDESTRUCT ; $78 const SELFDESTRUCT ; 78
const EGG_BOMB ; $79 const EGG_BOMB ; 79
const LICK ; $7a const LICK ; 7a
const SMOG ; $7b const SMOG ; 7b
const SLUDGE ; $7c const SLUDGE ; 7c
const BONE_CLUB ; $7d const BONE_CLUB ; 7d
const FIRE_BLAST ; $7e const FIRE_BLAST ; 7e
const WATERFALL ; $7f const WATERFALL ; 7f
const CLAMP ; $80 const CLAMP ; 80
const SWIFT ; $81 const SWIFT ; 81
const SKULL_BASH ; $82 const SKULL_BASH ; 82
const SPIKE_CANNON ; $83 const SPIKE_CANNON ; 83
const CONSTRICT ; $84 const CONSTRICT ; 84
const AMNESIA ; $85 const AMNESIA ; 85
const KINESIS ; $86 const KINESIS ; 86
const SOFTBOILED ; $87 const SOFTBOILED ; 87
const HI_JUMP_KICK ; $88 const HI_JUMP_KICK ; 88
const GLARE ; $89 const GLARE ; 89
const DREAM_EATER ; $8a const DREAM_EATER ; 8a
const POISON_GAS ; $8b const POISON_GAS ; 8b
const BARRAGE ; $8c const BARRAGE ; 8c
const LEECH_LIFE ; $8d const LEECH_LIFE ; 8d
const LOVELY_KISS ; $8e const LOVELY_KISS ; 8e
const SKY_ATTACK ; $8f const SKY_ATTACK ; 8f
const TRANSFORM ; $90 const TRANSFORM ; 90
const BUBBLE ; $91 const BUBBLE ; 91
const DIZZY_PUNCH ; $92 const DIZZY_PUNCH ; 92
const SPORE ; $93 const SPORE ; 93
const FLASH ; $94 const FLASH ; 94
const PSYWAVE ; $95 const PSYWAVE ; 95
const SPLASH ; $96 const SPLASH ; 96
const ACID_ARMOR ; $97 const ACID_ARMOR ; 97
const CRABHAMMER ; $98 const CRABHAMMER ; 98
const EXPLOSION ; $99 const EXPLOSION ; 99
const FURY_SWIPES ; $9a const FURY_SWIPES ; 9a
const BONEMERANG ; $9b const BONEMERANG ; 9b
const REST ; $9c const REST ; 9c
const ROCK_SLIDE ; $9d const ROCK_SLIDE ; 9d
const HYPER_FANG ; $9e const HYPER_FANG ; 9e
const SHARPEN ; $9f const SHARPEN ; 9f
const CONVERSION ; $a0 const CONVERSION ; a0
const TRI_ATTACK ; $a1 const TRI_ATTACK ; a1
const SUPER_FANG ; $a2 const SUPER_FANG ; a2
const SLASH ; $a3 const SLASH ; a3
const SUBSTITUTE ; $a4 const SUBSTITUTE ; a4
const STRUGGLE ; $a5 const STRUGGLE ; a5
const SKETCH ; $a6 const SKETCH ; a6
const TRIPLE_KICK ; $a7 const TRIPLE_KICK ; a7
const THIEF ; $a8 const THIEF ; a8
const SPIDER_WEB ; $a9 const SPIDER_WEB ; a9
const MIND_READER ; $aa const MIND_READER ; aa
const NIGHTMARE ; $ab const NIGHTMARE ; ab
const FLAME_WHEEL ; $ac const FLAME_WHEEL ; ac
const SNORE ; $ad const SNORE ; ad
const CURSE ; $ae const CURSE ; ae
const FLAIL ; $af const FLAIL ; af
const CONVERSION2 ; $b0 const CONVERSION2 ; b0
const AEROBLAST ; $b1 const AEROBLAST ; b1
const COTTON_SPORE ; $b2 const COTTON_SPORE ; b2
const REVERSAL ; $b3 const REVERSAL ; b3
const SPITE ; $b4 const SPITE ; b4
const POWDER_SNOW ; $b5 const POWDER_SNOW ; b5
const PROTECT ; $b6 const PROTECT ; b6
const MACH_PUNCH ; $b7 const MACH_PUNCH ; b7
const SCARY_FACE ; $b8 const SCARY_FACE ; b8
const FAINT_ATTACK ; $b9 const FAINT_ATTACK ; b9
const SWEET_KISS ; $ba const SWEET_KISS ; ba
const BELLY_DRUM ; $bb const BELLY_DRUM ; bb
const SLUDGE_BOMB ; $bc const SLUDGE_BOMB ; bc
const MUD_SLAP ; $bd const MUD_SLAP ; bd
const OCTAZOOKA ; $be const OCTAZOOKA ; be
const SPIKES ; $bf const SPIKES ; bf
const ZAP_CANNON ; $c0 const ZAP_CANNON ; c0
const FORESIGHT ; $c1 const FORESIGHT ; c1
const DESTINY_BOND ; $c2 const DESTINY_BOND ; c2
const PERISH_SONG ; $c3 const PERISH_SONG ; c3
const ICY_WIND ; $c4 const ICY_WIND ; c4
const DETECT ; $c5 const DETECT ; c5
const BONE_RUSH ; $c6 const BONE_RUSH ; c6
const LOCK_ON ; $c7 const LOCK_ON ; c7
const OUTRAGE ; $c8 const OUTRAGE ; c8
const SANDSTORM ; $c9 const SANDSTORM ; c9
const GIGA_DRAIN ; $ca const GIGA_DRAIN ; ca
const ENDURE ; $cb const ENDURE ; cb
const CHARM ; $cc const CHARM ; cc
const ROLLOUT ; $cd const ROLLOUT ; cd
const FALSE_SWIPE ; $ce const FALSE_SWIPE ; ce
const SWAGGER ; $cf const SWAGGER ; cf
const MILK_DRINK ; $d0 const MILK_DRINK ; d0
const SPARK ; $d1 const SPARK ; d1
const FURY_CUTTER ; $d2 const FURY_CUTTER ; d2
const STEEL_WING ; $d3 const STEEL_WING ; d3
const MEAN_LOOK ; $d4 const MEAN_LOOK ; d4
const ATTRACT ; $d5 const ATTRACT ; d5
const SLEEP_TALK ; $d6 const SLEEP_TALK ; d6
const HEAL_BELL ; $d7 const HEAL_BELL ; d7
const RETURN ; $d8 const RETURN ; d8
const PRESENT ; $d9 const PRESENT ; d9
const FRUSTRATION ; $da const FRUSTRATION ; da
const SAFEGUARD ; $db const SAFEGUARD ; db
const PAIN_SPLIT ; $dc const PAIN_SPLIT ; dc
const SACRED_FIRE ; $dd const SACRED_FIRE ; dd
const MAGNITUDE ; $de const MAGNITUDE ; de
const DYNAMICPUNCH ; $df const DYNAMICPUNCH ; df
const MEGAHORN ; $e0 const MEGAHORN ; e0
const DRAGONBREATH ; $e1 const DRAGONBREATH ; e1
const BATON_PASS ; $e2 const BATON_PASS ; e2
const ENCORE ; $e3 const ENCORE ; e3
const PURSUIT ; $e4 const PURSUIT ; e4
const RAPID_SPIN ; $e5 const RAPID_SPIN ; e5
const SWEET_SCENT ; $e6 const SWEET_SCENT ; e6
const IRON_TAIL ; $e7 const IRON_TAIL ; e7
const METAL_CLAW ; $e8 const METAL_CLAW ; e8
const VITAL_THROW ; $e9 const VITAL_THROW ; e9
const MORNING_SUN ; $ea const MORNING_SUN ; ea
const SYNTHESIS ; $eb const SYNTHESIS ; eb
const MOONLIGHT ; $ec const MOONLIGHT ; ec
const HIDDEN_POWER ; $ed const HIDDEN_POWER ; ed
const CROSS_CHOP ; $ee const CROSS_CHOP ; ee
const TWISTER ; $ef const TWISTER ; ef
const RAIN_DANCE ; $f0 const RAIN_DANCE ; f0
const SUNNY_DAY ; $f1 const SUNNY_DAY ; f1
const CRUNCH ; $f2 const CRUNCH ; f2
const MIRROR_COAT ; $f3 const MIRROR_COAT ; f3
const PSYCH_UP ; $f4 const PSYCH_UP ; f4
const EXTREMESPEED ; $f5 const EXTREMESPEED ; f5
const ANCIENTPOWER ; $f6 const ANCIENTPOWER ; f6
const SHADOW_BALL ; $f7 const SHADOW_BALL ; f7
const FUTURE_SIGHT ; $f8 const FUTURE_SIGHT ; f8
const ROCK_SMASH ; $f9 const ROCK_SMASH ; f9
const WHIRLPOOL ; $fa const WHIRLPOOL ; fa
const BEAT_UP ; $fb const BEAT_UP ; fb
NUM_ATTACKS EQU const_value + -1
const_value SET const_value + -1 const MOVE_OR_ANIM_FC ; fc
const MOVE_OR_ANIM_FD ; fd
const MOVE_OR_ANIM_FE ; fe
const NUM_ATTACKS ; $fb ; Battle animations use the same constants as the moves up to this point
const ANIM_SWEET_SCENT_2 ; ff
; Battle animations use the same constants const ANIM_THROW_POKE_BALL ; 100
; as the moves up to this point. const ANIM_SEND_OUT_MON ; 101
const ANIM_FC ; $fc const ANIM_RETURN_MON ; 102
const ANIM_FD ; $fd const ANIM_CONFUSED ; 103
const ANIM_FE ; $fe const ANIM_SLP ; 104
const ANIM_SWEET_SCENT_2 ; $ff const ANIM_BRN ; 105
const ANIM_THROW_POKE_BALL ; $100 const ANIM_PSN ; 106
const ANIM_SEND_OUT_MON ; $101 const ANIM_SAP ; 107
const ANIM_RETURN_MON ; $102 const ANIM_FRZ ; 108
const ANIM_CONFUSED ; $103 const ANIM_PAR ; 109
const ANIM_SLP ; $104 const ANIM_IN_LOVE ; 10a
const ANIM_BRN ; $105 const ANIM_IN_SANDSTORM ; 10b
const ANIM_PSN ; $106 const ANIM_IN_NIGHTMARE ; 10c
const ANIM_SAP ; $107 const ANIM_IN_WHIRLPOOL ; 10d
const ANIM_FRZ ; $108
const ANIM_PAR ; $109
const ANIM_IN_LOVE ; $10a
const ANIM_IN_SANDSTORM ; $10b
const ANIM_IN_NIGHTMARE ; $10c
const ANIM_IN_WHIRLPOOL ; $10d
; battle anims ; battle anims
const ANIM_MISS ; $10e const ANIM_MISS ; 10e
const ANIM_ENEMY_DAMAGE ; $10f const ANIM_ENEMY_DAMAGE ; 10f
const ANIM_ENEMY_STAT_DOWN ; $110 const ANIM_ENEMY_STAT_DOWN ; 110
const ANIM_PLAYER_STAT_DOWN ; $111 const ANIM_PLAYER_STAT_DOWN ; 111
const ANIM_PLAYER_DAMAGE ; $112 const ANIM_PLAYER_DAMAGE ; 112
const ANIM_WOBBLE ; $113 const ANIM_WOBBLE ; 113
const ANIM_SHAKE ; $114 const ANIM_SHAKE ; 114
const ANIM_HIT_CONFUSION ; $115 const ANIM_HIT_CONFUSION ; 115
; wNumHits uses offsets from ANIM_MISS ; wNumHits uses offsets from ANIM_MISS
const_def const_def
@ -296,4 +298,4 @@ const_value SET const_value + -1
const BATTLEANIM_PLAYER_DAMAGE const BATTLEANIM_PLAYER_DAMAGE
const BATTLEANIM_WOBBLE const BATTLEANIM_WOBBLE
const BATTLEANIM_SHAKE const BATTLEANIM_SHAKE
const BATTLEANIM_HIT_CONFUSION const BATTLEANIM_HIT_CONFUSION

View File

@ -1,3 +1,5 @@
; song ids
; Music indexes (see audio/music_pointers.asm)
const_def const_def
const MUSIC_NONE ; 00 const MUSIC_NONE ; 00
@ -93,6 +95,8 @@
const MUSIC_LAKE_OF_RAGE_ROCKET_RADIO ; 5a const MUSIC_LAKE_OF_RAGE_ROCKET_RADIO ; 5a
const MUSIC_PRINTER ; 5b const MUSIC_PRINTER ; 5b
const MUSIC_POST_CREDITS ; 5c const MUSIC_POST_CREDITS ; 5c
; new to Crystal
const MUSIC_CLAIR ; 5d const MUSIC_CLAIR ; 5d
const MUSIC_MOBILE_ADAPTER_MENU ; 5e const MUSIC_MOBILE_ADAPTER_MENU ; 5e
const MUSIC_MOBILE_ADAPTER ; 5f const MUSIC_MOBILE_ADAPTER ; 5f
@ -104,4 +108,7 @@
const MUSIC_BATTLE_TOWER_LOBBY ; 65 const MUSIC_BATTLE_TOWER_LOBBY ; 65
const MUSIC_MOBILE_CENTER ; 66 const MUSIC_MOBILE_CENTER ; 66
MUSIC_MAHOGANY_MART EQU $64 ; leftover from gold ; GetMapHeaderMusic picks music for this value (see home/map.asm)
MUSIC_MAHOGANY_MART EQU $64
; GetMapHeaderMusic picks music for this bit flag
RADIO_TOWER_MUSIC EQU 7

View File

@ -1,4 +1,4 @@
; PhoneContacts indexes (see engine/phone.asm)
const_def const_def
const PHONE_00 const PHONE_00
const PHONE_MOM const PHONE_MOM
@ -39,6 +39,7 @@
const PHONE_PICNICKER_ERIN const PHONE_PICNICKER_ERIN
const PHONE_BUENA const PHONE_BUENA
; SpecialPhoneCallList indexes (see engine/phone.asm)
const_def const_def
const SPECIALCALL_NONE const SPECIALCALL_NONE
const SPECIALCALL_POKERUS const SPECIALCALL_POKERUS
@ -50,6 +51,7 @@
const SPECIALCALL_WORRIED const SPECIALCALL_WORRIED
const SPECIALCALL_MASTERBALL const SPECIALCALL_MASTERBALL
; phone struct members
const_def const_def
const PHONE_CONTACT_TRAINER_CLASS const PHONE_CONTACT_TRAINER_CLASS
const PHONE_CONTACT_TRAINER_NUMBER const PHONE_CONTACT_TRAINER_NUMBER
@ -64,4 +66,6 @@
const PHONE_CONTACT_SCRIPT2_ADDR_LO const PHONE_CONTACT_SCRIPT2_ADDR_LO
const PHONE_CONTACT_SCRIPT2_ADDR_HI const PHONE_CONTACT_SCRIPT2_ADDR_HI
PHONE_TABLE_WIDTH EQU const_value PHONE_TABLE_WIDTH EQU const_value
; maximum number of pokegear contacts
CONTACT_LIST_SIZE EQU 10 CONTACT_LIST_SIZE EQU 10

View File

@ -1,265 +1,280 @@
; pokemon ids
; pokemon ; indexes for:
; - CryHeaders (see audio/cry_headers.asm)
; - BaseData (see data/base_stats.asm)
; - EggMovePointers (see data/egg_move_pointers.asm)
; - EvosAttacksPointers (see data/evos_attacks_pointers.asm)
; - PokemonNames (see data/pokemon_names.asm)
; - PokedexDataPointerTable (see data/pokedex/entry_pointers.asm)
; - AnimationPointers (see gfx/pics/anim_pointers.asm)
; - BitmasksPointers (see gfx/pics/bitmask_pointers.asm)
; - AnimationExtraPointers (see gfx/pics/extra_pointers.asm)
; - FramesPointers (see gfx/pics/frame_pointers.asm)
; - PokemonPalettes (see gfx/pics/palette_pointers.asm)
; - PicPointers (see gfx/pics/pic_pointers.asm)
; - AlphabeticalPokedexOrder (see data/pokedex/order_alpha.asm)
; - NewPokedexOrder (see data/pokedex/order_new.asm)
; - MonMenuIcons (see menu/mon_icons.asm)
; - Pokered_MonIndices (see engine/time_capsule/conversion.asm)
; - SortedPokemon (see misc/fixed_words.asm)
const_value set 1 const_value set 1
const BULBASAUR const BULBASAUR ; 01
const IVYSAUR const IVYSAUR ; 02
const VENUSAUR const VENUSAUR ; 03
const CHARMANDER const CHARMANDER ; 04
const CHARMELEON const CHARMELEON ; 05
const CHARIZARD const CHARIZARD ; 06
const SQUIRTLE const SQUIRTLE ; 07
const WARTORTLE const WARTORTLE ; 08
const BLASTOISE const BLASTOISE ; 09
const CATERPIE const CATERPIE ; 0a
const METAPOD const METAPOD ; 0b
const BUTTERFREE const BUTTERFREE ; 0c
const WEEDLE const WEEDLE ; 0d
const KAKUNA const KAKUNA ; 0e
const BEEDRILL const BEEDRILL ; 0f
const PIDGEY const PIDGEY ; 10
const PIDGEOTTO const PIDGEOTTO ; 11
const PIDGEOT const PIDGEOT ; 12
const RATTATA const RATTATA ; 13
const RATICATE const RATICATE ; 14
const SPEAROW const SPEAROW ; 15
const FEAROW const FEAROW ; 16
const EKANS const EKANS ; 17
const ARBOK const ARBOK ; 18
const PIKACHU const PIKACHU ; 19
const RAICHU const RAICHU ; 1a
const SANDSHREW const SANDSHREW ; 1b
const SANDSLASH const SANDSLASH ; 1c
const NIDORAN_F const NIDORAN_F ; 1d
const NIDORINA const NIDORINA ; 1e
const NIDOQUEEN const NIDOQUEEN ; 1f
const NIDORAN_M const NIDORAN_M ; 20
const NIDORINO const NIDORINO ; 21
const NIDOKING const NIDOKING ; 22
const CLEFAIRY const CLEFAIRY ; 23
const CLEFABLE const CLEFABLE ; 24
const VULPIX const VULPIX ; 25
const NINETALES const NINETALES ; 26
const JIGGLYPUFF const JIGGLYPUFF ; 27
const WIGGLYTUFF const WIGGLYTUFF ; 28
const ZUBAT const ZUBAT ; 29
const GOLBAT const GOLBAT ; 2a
const ODDISH const ODDISH ; 2b
const GLOOM const GLOOM ; 2c
const VILEPLUME const VILEPLUME ; 2d
const PARAS const PARAS ; 2e
const PARASECT const PARASECT ; 2f
const VENONAT const VENONAT ; 30
const VENOMOTH const VENOMOTH ; 31
const DIGLETT const DIGLETT ; 32
const DUGTRIO const DUGTRIO ; 33
const MEOWTH const MEOWTH ; 34
const PERSIAN const PERSIAN ; 35
const PSYDUCK const PSYDUCK ; 36
const GOLDUCK const GOLDUCK ; 37
const MANKEY const MANKEY ; 38
const PRIMEAPE const PRIMEAPE ; 39
const GROWLITHE const GROWLITHE ; 3a
const ARCANINE const ARCANINE ; 3b
const POLIWAG const POLIWAG ; 3c
const POLIWHIRL const POLIWHIRL ; 3d
const POLIWRATH const POLIWRATH ; 3e
const ABRA const ABRA ; 3f
const KADABRA const KADABRA ; 40
const ALAKAZAM const ALAKAZAM ; 41
const MACHOP const MACHOP ; 42
const MACHOKE const MACHOKE ; 43
const MACHAMP const MACHAMP ; 44
const BELLSPROUT const BELLSPROUT ; 45
const WEEPINBELL const WEEPINBELL ; 46
const VICTREEBEL const VICTREEBEL ; 47
const TENTACOOL const TENTACOOL ; 48
const TENTACRUEL const TENTACRUEL ; 49
const GEODUDE const GEODUDE ; 4a
const GRAVELER const GRAVELER ; 4b
const GOLEM const GOLEM ; 4c
const PONYTA const PONYTA ; 4d
const RAPIDASH const RAPIDASH ; 4e
const SLOWPOKE const SLOWPOKE ; 4f
const SLOWBRO const SLOWBRO ; 50
const MAGNEMITE const MAGNEMITE ; 51
const MAGNETON const MAGNETON ; 52
const FARFETCH_D const FARFETCH_D ; 53
const DODUO const DODUO ; 54
const DODRIO const DODRIO ; 55
const SEEL const SEEL ; 56
const DEWGONG const DEWGONG ; 57
const GRIMER const GRIMER ; 58
const MUK const MUK ; 59
const SHELLDER const SHELLDER ; 5a
const CLOYSTER const CLOYSTER ; 5b
const GASTLY const GASTLY ; 5c
const HAUNTER const HAUNTER ; 5d
const GENGAR const GENGAR ; 5e
const ONIX const ONIX ; 5f
const DROWZEE const DROWZEE ; 60
const HYPNO const HYPNO ; 61
const KRABBY const KRABBY ; 62
const KINGLER const KINGLER ; 63
const VOLTORB const VOLTORB ; 64
const ELECTRODE const ELECTRODE ; 65
const EXEGGCUTE const EXEGGCUTE ; 66
const EXEGGUTOR const EXEGGUTOR ; 67
const CUBONE const CUBONE ; 68
const MAROWAK const MAROWAK ; 69
const HITMONLEE const HITMONLEE ; 6a
const HITMONCHAN const HITMONCHAN ; 6b
const LICKITUNG const LICKITUNG ; 6c
const KOFFING const KOFFING ; 6d
const WEEZING const WEEZING ; 6e
const RHYHORN const RHYHORN ; 6f
const RHYDON const RHYDON ; 70
const CHANSEY const CHANSEY ; 71
const TANGELA const TANGELA ; 72
const KANGASKHAN const KANGASKHAN ; 73
const HORSEA const HORSEA ; 74
const SEADRA const SEADRA ; 75
const GOLDEEN const GOLDEEN ; 76
const SEAKING const SEAKING ; 77
const STARYU const STARYU ; 78
const STARMIE const STARMIE ; 79
const MR__MIME const MR__MIME ; 7a
const SCYTHER const SCYTHER ; 7b
const JYNX const JYNX ; 7c
const ELECTABUZZ const ELECTABUZZ ; 7d
const MAGMAR const MAGMAR ; 7e
const PINSIR const PINSIR ; 7f
const TAUROS const TAUROS ; 80
const MAGIKARP const MAGIKARP ; 81
const GYARADOS const GYARADOS ; 82
const LAPRAS const LAPRAS ; 83
const DITTO const DITTO ; 84
const EEVEE const EEVEE ; 85
const VAPOREON const VAPOREON ; 86
const JOLTEON const JOLTEON ; 87
const FLAREON const FLAREON ; 88
const PORYGON const PORYGON ; 89
const OMANYTE const OMANYTE ; 8a
const OMASTAR const OMASTAR ; 8b
const KABUTO const KABUTO ; 8c
const KABUTOPS const KABUTOPS ; 8d
const AERODACTYL const AERODACTYL ; 8e
const SNORLAX const SNORLAX ; 8f
const ARTICUNO const ARTICUNO ; 90
const ZAPDOS const ZAPDOS ; 91
const MOLTRES const MOLTRES ; 92
const DRATINI const DRATINI ; 93
const DRAGONAIR const DRAGONAIR ; 94
const DRAGONITE const DRAGONITE ; 95
const MEWTWO const MEWTWO ; 96
const MEW const MEW ; 97
const CHIKORITA const CHIKORITA ; 98
const BAYLEEF const BAYLEEF ; 99
const MEGANIUM const MEGANIUM ; 9a
const CYNDAQUIL const CYNDAQUIL ; 9b
const QUILAVA const QUILAVA ; 9c
const TYPHLOSION const TYPHLOSION ; 9d
const TOTODILE const TOTODILE ; 9e
const CROCONAW const CROCONAW ; 9f
const FERALIGATR const FERALIGATR ; a0
const SENTRET const SENTRET ; a1
const FURRET const FURRET ; a2
const HOOTHOOT const HOOTHOOT ; a3
const NOCTOWL const NOCTOWL ; a4
const LEDYBA const LEDYBA ; a5
const LEDIAN const LEDIAN ; a6
const SPINARAK const SPINARAK ; a7
const ARIADOS const ARIADOS ; a8
const CROBAT const CROBAT ; a9
const CHINCHOU const CHINCHOU ; aa
const LANTURN const LANTURN ; ab
const PICHU const PICHU ; ac
const CLEFFA const CLEFFA ; ad
const IGGLYBUFF const IGGLYBUFF ; ae
const TOGEPI const TOGEPI ; af
const TOGETIC const TOGETIC ; b0
const NATU const NATU ; b1
const XATU const XATU ; b2
const MAREEP const MAREEP ; b3
const FLAAFFY const FLAAFFY ; b4
const AMPHAROS const AMPHAROS ; b5
const BELLOSSOM const BELLOSSOM ; b6
const MARILL const MARILL ; b7
const AZUMARILL const AZUMARILL ; b8
const SUDOWOODO const SUDOWOODO ; b9
const POLITOED const POLITOED ; ba
const HOPPIP const HOPPIP ; bb
const SKIPLOOM const SKIPLOOM ; bc
const JUMPLUFF const JUMPLUFF ; bd
const AIPOM const AIPOM ; be
const SUNKERN const SUNKERN ; bf
const SUNFLORA const SUNFLORA ; c0
const YANMA const YANMA ; c1
const WOOPER const WOOPER ; c2
const QUAGSIRE const QUAGSIRE ; c3
const ESPEON const ESPEON ; c4
const UMBREON const UMBREON ; c5
const MURKROW const MURKROW ; c6
const SLOWKING const SLOWKING ; c7
const MISDREAVUS const MISDREAVUS ; c8
const UNOWN const UNOWN ; c9
const WOBBUFFET const WOBBUFFET ; ca
const GIRAFARIG const GIRAFARIG ; cb
const PINECO const PINECO ; cc
const FORRETRESS const FORRETRESS ; cd
const DUNSPARCE const DUNSPARCE ; ce
const GLIGAR const GLIGAR ; cf
const STEELIX const STEELIX ; d0
const SNUBBULL const SNUBBULL ; d1
const GRANBULL const GRANBULL ; d2
const QWILFISH const QWILFISH ; d3
const SCIZOR const SCIZOR ; d4
const SHUCKLE const SHUCKLE ; d5
const HERACROSS const HERACROSS ; d6
const SNEASEL const SNEASEL ; d7
const TEDDIURSA const TEDDIURSA ; d8
const URSARING const URSARING ; d9
const SLUGMA const SLUGMA ; da
const MAGCARGO const MAGCARGO ; db
const SWINUB const SWINUB ; dc
const PILOSWINE const PILOSWINE ; dd
const CORSOLA const CORSOLA ; de
const REMORAID const REMORAID ; df
const OCTILLERY const OCTILLERY ; e0
const DELIBIRD const DELIBIRD ; e1
const MANTINE const MANTINE ; e2
const SKARMORY const SKARMORY ; e3
const HOUNDOUR const HOUNDOUR ; e4
const HOUNDOOM const HOUNDOOM ; e5
const KINGDRA const KINGDRA ; e6
const PHANPY const PHANPY ; e7
const DONPHAN const DONPHAN ; e8
const PORYGON2 const PORYGON2 ; e9
const STANTLER const STANTLER ; ea
const SMEARGLE const SMEARGLE ; eb
const TYROGUE const TYROGUE ; ec
const HITMONTOP const HITMONTOP ; ed
const SMOOCHUM const SMOOCHUM ; ee
const ELEKID const ELEKID ; ef
const MAGBY const MAGBY ; f0
const MILTANK const MILTANK ; f1
const BLISSEY const BLISSEY ; f2
const RAIKOU const RAIKOU ; f3
const ENTEI const ENTEI ; f4
const SUICUNE const SUICUNE ; f5
const LARVITAR const LARVITAR ; f6
const PUPITAR const PUPITAR ; f7
const TYRANITAR const TYRANITAR ; f8
const LUGIA const LUGIA ; f9
const HO_OH const HO_OH ; fa
const CELEBI const CELEBI ; fb
NUM_POKEMON EQU const_value +- 1
const MON_FC ; fc
const EGG ; fd
const MON_FE ; fe
const_value SET const_value + -1 ; party_struct members (see macros/wram.asm)
NUM_POKEMON EQU const_value
EGG EQU 253
; pokemon structure in RAM
MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)" MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)"
MON_ITEM EQUS "(PartyMon1Item - PartyMon1)" MON_ITEM EQUS "(PartyMon1Item - PartyMon1)"
MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)" MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)"
@ -293,7 +308,9 @@ BOXMON_STRUCT_LENGTH EQUS "(PartyMon1End - PartyMon1)"
PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)" PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)"
REDMON_STRUCT_LENGTH EQU 44 REDMON_STRUCT_LENGTH EQU 44
; MonMenuOptions indexes (see engine/mon_menu.asm)
const_value SET 1 const_value SET 1
; moves
const MONMENU_CUT ; 1 const MONMENU_CUT ; 1
const MONMENU_FLY ; 2 const MONMENU_FLY ; 2
const MONMENU_SURF ; 3 const MONMENU_SURF ; 3
@ -308,7 +325,7 @@ const_value SET 1
const MONMENU_ROCKSMASH ; 12 const MONMENU_ROCKSMASH ; 12
const MONMENU_MILKDRINK ; 13 const MONMENU_MILKDRINK ; 13
const MONMENU_SWEETSCENT ; 14 const MONMENU_SWEETSCENT ; 14
; options
const MONMENU_STATS ; 15 const MONMENU_STATS ; 15
const MONMENU_SWITCH ; 16 const MONMENU_SWITCH ; 16
const MONMENU_ITEM ; 17 const MONMENU_ITEM ; 17
@ -317,5 +334,14 @@ const_value SET 1
const MONMENU_MAIL ; 20 const MONMENU_MAIL ; 20
const MONMENU_ERROR ; 21 const MONMENU_ERROR ; 21
; MonMenuOptions types
MONMENU_FIELD_MOVE EQU 0 MONMENU_FIELD_MOVE EQU 0
MONMENU_MENUOPTION EQU 1 MONMENU_MENUOPTION EQU 1
NUM_MONMENU_ITEMS EQU 8
; maximum number of party pokemon
PARTY_LENGTH EQU 6
; number of Unown forms
NUM_UNOWN EQU 26

View File

@ -1,4 +1,5 @@
; growth rate ; BaseGrowthRate values
; GrowthRates indexes (see main.asm)
const_def const_def
const MEDIUM_FAST const MEDIUM_FAST
const SLIGHTLY_FAST const SLIGHTLY_FAST
@ -7,7 +8,7 @@
const FAST const FAST
const SLOW const SLOW
; egg group constants ; BaseEggGroups values
const_value SET 1 const_value SET 1
const MONSTER ; 1 const MONSTER ; 1
const AMPHIBIAN ; 2 const AMPHIBIAN ; 2
@ -26,7 +27,7 @@ const_value SET 1
const NO_EGGS ; f const NO_EGGS ; f
; menu sprites ; IconPointers indexes (see menu/mon_icons.asm)
const_value SET 1 const_value SET 1
const ICON_POLIWAG const ICON_POLIWAG
const ICON_JIGGLYPUFF const ICON_JIGGLYPUFF
@ -68,7 +69,7 @@ const_value SET 1
const ICON_BIGMON const ICON_BIGMON
; evolution types ; evolution types (used in data/evos_attacks.asm)
const_value SET 1 const_value SET 1
const EVOLVE_LEVEL const EVOLVE_LEVEL
const EVOLVE_ITEM const EVOLVE_ITEM
@ -76,26 +77,36 @@ const_value SET 1
const EVOLVE_HAPPINESS const EVOLVE_HAPPINESS
const EVOLVE_STAT const EVOLVE_STAT
; EVOLVE_HAPPINESS triggers
BASE_HAPPINESS EQU 70
FRIEND_BALL_HAPPINESS EQU 200
; happiness evolution triggers
HAPPINESS_TO_EVOLVE EQU 220
const_value SET 1 const_value SET 1
const TR_ANYTIME const TR_ANYTIME
const TR_MORNDAY const TR_MORNDAY
const TR_NITE const TR_NITE
; EVOLVE_STAT triggers
; stat evolution triggers
const_value SET 1 const_value SET 1
const ATK_GT_DEF const ATK_GT_DEF
const ATK_LT_DEF const ATK_LT_DEF
const ATK_EQ_DEF const ATK_EQ_DEF
NUM_GRASSMON EQU 7
NUM_WATERMON EQU 3 ; significant happiness values
BASE_HAPPINESS EQU 70
FRIEND_BALL_HAPPINESS EQU 200
HAPPINESS_TO_EVOLVE EQU 220
NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size
NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size
GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2 GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2
WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2 WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2
; swarms
SWARM_DUNSPARCE EQU 0
SWARM_YANMA EQU 1
FISHSWARM_QWILFISH EQU 1
FISHSWARM_REMORAID EQU 2

View File

@ -1,5 +1,5 @@
; wPrinterStatus
const_value SET 1 const_value SET 1
const PRINTER_STATUS_CHECKING const PRINTER_STATUS_CHECKING
const PRINTER_STATUS_TRANSMITTING const PRINTER_STATUS_TRANSMITTING
const PRINTER_STATUS_PRINTING const PRINTER_STATUS_PRINTING

View File

@ -1,3 +1,4 @@
; PlayRadioShow arguments, RadioJumptable indexes (see engine/radio.asm)
const_def const_def
const OAKS_POKEMON_TALK ; $00 const OAKS_POKEMON_TALK ; $00
const POKEDEX_SHOW ; $01 const POKEDEX_SHOW ; $01
@ -88,6 +89,7 @@
const POKEDEX_SHOW_7 ; $56 const POKEDEX_SHOW_7 ; $56
const POKEDEX_SHOW_8 ; $57 const POKEDEX_SHOW_8 ; $57
; PlayRadio arguments (see engine/pokegear.asm)
const_def const_def
const MAPRADIO_POKEMON_CHANNEL const MAPRADIO_POKEMON_CHANNEL
const MAPRADIO_OAKS_MON_TALK const MAPRADIO_OAKS_MON_TALK
@ -99,12 +101,7 @@
const MAPRADIO_LETS_ALL_SING const MAPRADIO_LETS_ALL_SING
const MAPRADIO_ROCKET const MAPRADIO_ROCKET
const_def ; PasswordTable indexes (see engine/radio.asm)
const BUENA_MON
const BUENA_ITEM
const BUENA_MOVE
const BUENA_STRING
const_def const_def
const BUENA_STARTERS const BUENA_STARTERS
const BUENA_DRINKS const BUENA_DRINKS
@ -119,3 +116,10 @@
const BUENA_STATIONS const BUENA_STATIONS
NUM_PASSWORD_CATEGORIES EQU const_value NUM_PASSWORD_CATEGORIES EQU const_value
NUM_PASSWORDS_PER_CATEGORY EQU 3 NUM_PASSWORDS_PER_CATEGORY EQU 3
; PasswordTable string types (see engine/radio.asm)
const_def
const BUENA_MON
const BUENA_ITEM
const BUENA_MOVE
const BUENA_STRING

View File

@ -2,6 +2,7 @@
PLAYER EQU 0 PLAYER EQU 0
LAST_TALKED EQU -2 LAST_TALKED EQU -2
; GetVarAction arguments (see engine/variables.asm)
const_def const_def
const VAR_STRINGBUFFER2 ; 00 const VAR_STRINGBUFFER2 ; 00
const VAR_PARTYCOUNT ; 01 const VAR_PARTYCOUNT ; 01
@ -32,10 +33,12 @@ LAST_TALKED EQU -2
const VAR_KENJI_BREAK ; 1a const VAR_KENJI_BREAK ; 1a
NUM_VARS EQU const_value ; 1b NUM_VARS EQU const_value ; 1b
; variable action types
RETVAR_STRBUF2 EQU (0 << 6) RETVAR_STRBUF2 EQU (0 << 6)
RETVAR_ADDR_DE EQU (1 << 6) RETVAR_ADDR_DE EQU (1 << 6)
RETVAR_EXECUTE EQU (2 << 6) RETVAR_EXECUTE EQU (2 << 6)
; PlayerEventScriptPointers indexes (see engine/events.asm)
const_value SET -1 const_value SET -1
const PLAYEREVENT_MAPSCRIPT const PLAYEREVENT_MAPSCRIPT
const PLAYEREVENT_NONE const PLAYEREVENT_NONE

View File

@ -1,3 +1,4 @@
; SFX indexes (see audio/sfx_pointers.asm)
const_def const_def
const SFX_DEX_FANFARE_50_79 ; 00 const SFX_DEX_FANFARE_50_79 ; 00
@ -191,6 +192,7 @@
const SFX_GLASS_TING ; bc const SFX_GLASS_TING ; bc
const SFX_GLASS_TING_2 ; bd const SFX_GLASS_TING_2 ; bd
; new to Crystal
const SFX_INTRO_UNOWN_1 ; be const SFX_INTRO_UNOWN_1 ; be
const SFX_INTRO_UNOWN_2 ; bf const SFX_INTRO_UNOWN_2 ; bf
const SFX_INTRO_UNOWN_3 ; c0 const SFX_INTRO_UNOWN_3 ; c0

View File

@ -1,5 +1,5 @@
; sprite ids
; sprites ; SpriteHeaders indexes (see gfx/overworld/sprite_headers.asm)
const_def const_def
const SPRITE_NONE ; 00 const SPRITE_NONE ; 00
const SPRITE_CHRIS ; 01 const SPRITE_CHRIS ; 01
@ -105,8 +105,8 @@
const SPRITE_RAIKOU ; 65 const SPRITE_RAIKOU ; 65
const SPRITE_STANDING_YOUNGSTER ; 66 const SPRITE_STANDING_YOUNGSTER ; 66
; SpriteMons indexes (see engine/overworld.asm)
const_value SET $80 const_value SET $80
SPRITE_POKEMON EQU const_value SPRITE_POKEMON EQU const_value
const SPRITE_UNOWN ; 80 const SPRITE_UNOWN ; 80
const SPRITE_GEODUDE ; 81 const SPRITE_GEODUDE ; 81
@ -144,10 +144,12 @@ SPRITE_POKEMON EQU const_value
const SPRITE_LUGIA ; a1 const SPRITE_LUGIA ; a1
const SPRITE_HO_OH ; a2 const SPRITE_HO_OH ; a2
; special GetMonSprite values (see engine/overworld.asm)
const_value SET $e0 const_value SET $e0
const SPRITE_DAYCARE_MON_1 ; e0 const SPRITE_DAYCARE_MON_1 ; e0
const SPRITE_DAYCARE_MON_2 ; e1 const SPRITE_DAYCARE_MON_2 ; e1
; VariableSprites indexes (see wram.asm)
const_value SET $f0 const_value SET $f0
SPRITE_VARS EQU const_value SPRITE_VARS EQU const_value
const SPRITE_CONSOLE ; f0 const SPRITE_CONSOLE ; f0
@ -164,13 +166,7 @@ SPRITE_VARS EQU const_value
const SPRITE_COPYCAT ; fb const SPRITE_COPYCAT ; fb
const SPRITE_JANINE_IMPERSONATOR ; fc const SPRITE_JANINE_IMPERSONATOR ; fc
; sprite types ; sprite_header struct members (see gfx/overworld/sprite_headers.asm)
const_value SET 1
const WALKING_SPRITE
const STANDING_SPRITE
const STILL_SPRITE
; sprite header fields
const_def const_def
const SPRITEHEADER_ADDR_LO const SPRITEHEADER_ADDR_LO
const SPRITEHEADER_ADDR_HI const SPRITEHEADER_ADDR_HI
@ -180,18 +176,24 @@ const_value SET 1
const SPRITEHEADER_PALETTE const SPRITEHEADER_PALETTE
NUM_SPRITEHEADER_FIELDS EQU const_value NUM_SPRITEHEADER_FIELDS EQU const_value
; sprite types
const_value SET 1
const WALKING_SPRITE
const STANDING_SPRITE
const STILL_SPRITE
; sprite palettes ; sprite palettes
const_def const_def
const PAL_OW_RED const PAL_OW_RED ; 0
const PAL_OW_BLUE const PAL_OW_BLUE ; 1
const PAL_OW_GREEN const PAL_OW_GREEN ; 2
const PAL_OW_BROWN const PAL_OW_BROWN ; 3
const PAL_OW_PINK const PAL_OW_PINK ; 4
const PAL_OW_SILVER const PAL_OW_SILVER ; 5
const PAL_OW_TREE const PAL_OW_TREE ; 6
const PAL_OW_ROCK const PAL_OW_ROCK ; 7
; sprite movement data table indices ; SpriteMovementData indexes (see data/map_objects.asm)
const_def const_def
const SPRITEMOVEDATA_00 ; 00 const SPRITEMOVEDATA_00 ; 00
const SPRITEMOVEDATA_ITEM_TREE ; 01 const SPRITEMOVEDATA_ITEM_TREE ; 01
@ -233,7 +235,7 @@ NUM_SPRITEHEADER_FIELDS EQU const_value
NUM_SPRITEMOVEDATA EQU const_value NUM_SPRITEMOVEDATA EQU const_value
SPRITEMOVEDATA_FIELDS EQU 6 SPRITEMOVEDATA_FIELDS EQU 6
; sprite movement functions ; MapObjectMovementPattern.Pointers indexes (see engine/map_objects.asm)
const_def const_def
const SPRITEMOVEFN_00 const SPRITEMOVEFN_00
const SPRITEMOVEFN_RANDOM_WALK_Y const SPRITEMOVEFN_RANDOM_WALK_Y
@ -264,8 +266,7 @@ SPRITEMOVEDATA_FIELDS EQU 6
const SPRITEMOVEFN_BOULDERDUST const SPRITEMOVEFN_BOULDERDUST
const SPRITEMOVEFN_GRASS const SPRITEMOVEFN_GRASS
MAX_OUTDOOR_SPRITES EQU 23 ; StepTypesJumptable indexes (see engine/map_objects.asm)
const_def const_def
const STEP_TYPE_00 const STEP_TYPE_00
const STEP_TYPE_SLEEP const STEP_TYPE_SLEEP
@ -294,6 +295,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const STEP_TYPE_18 const STEP_TYPE_18
const STEP_TYPE_SKYFALL_TOP const STEP_TYPE_SKYFALL_TOP
; PersonActionPairPointers indexes (see engine/map_object_action.asm)
const_def const_def
const PERSON_ACTION_00 const PERSON_ACTION_00
const PERSON_ACTION_STAND const PERSON_ACTION_STAND
@ -313,6 +315,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const PERSON_ACTION_GRASS_SHAKE const PERSON_ACTION_GRASS_SHAKE
const PERSON_ACTION_SKYFALL const PERSON_ACTION_SKYFALL
; Facings indexes (see engine/facings.asm)
const_def const_def
const FACING_STEP_DOWN_0 const FACING_STEP_DOWN_0
const FACING_STEP_DOWN_1 const FACING_STEP_DOWN_1
@ -347,6 +350,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const FACING_GRASS_1 const FACING_GRASS_1
const FACING_GRASS_2 const FACING_GRASS_2
; sprite_anim_struct members (see macros/wram.asm)
const_def const_def
const SPRITEANIMSTRUCT_INDEX ; 0 const SPRITEANIMSTRUCT_INDEX ; 0
const SPRITEANIMSTRUCT_FRAMESET_ID ; 1 const SPRITEANIMSTRUCT_FRAMESET_ID ; 1
@ -365,6 +369,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITEANIMSTRUCT_0E ; e const SPRITEANIMSTRUCT_0E ; e
const SPRITEANIMSTRUCT_0F ; f const SPRITEANIMSTRUCT_0F ; f
; SpriteAnimFrameData indexes (see data/sprite_engine.asm)
const_def const_def
const SPRITE_ANIM_FRAMESET_00 const SPRITE_ANIM_FRAMESET_00
const SPRITE_ANIM_FRAMESET_PARTY_MON const SPRITE_ANIM_FRAMESET_PARTY_MON
@ -377,13 +382,13 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
const SPRITE_ANIM_FRAMESET_09 ; unused? const SPRITE_ANIM_FRAMESET_09 ; unused?
const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
const SPRITE_ANIM_FRAMESET_0B const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR
const SPRITE_ANIM_FRAMESET_0C const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE
const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2
const SPRITE_ANIM_FRAMESET_SLOTS_EGG const SPRITE_ANIM_FRAMESET_SLOTS_EGG
const SPRITE_ANIM_FRAMESET_WALK_CYCLE const SPRITE_ANIM_FRAMESET_RED_WALK
const SPRITE_ANIM_FRAMESET_STILL_CURSOR const SPRITE_ANIM_FRAMESET_STILL_CURSOR
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
@ -433,29 +438,30 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT const SPRITE_ANIM_FRAMESET_CELEBI_LEFT
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT
; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
const_def const_def
const SPRITE_ANIM_SEQ_NULL const SPRITE_ANIM_SEQ_NULL
const SPRITE_ANIM_SEQ_01 const SPRITE_ANIM_SEQ_PARTY_MON
const SPRITE_ANIM_SEQ_02 const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
const SPRITE_ANIM_SEQ_03 const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
const SPRITE_ANIM_SEQ_04 const SPRITE_ANIM_SEQ_04
const SPRITE_ANIM_SEQ_05 const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR
const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
const SPRITE_ANIM_SEQ_07 const SPRITE_ANIM_SEQ_GS_INTRO_STAR
const SPRITE_ANIM_SEQ_08 const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE
const SPRITE_ANIM_SEQ_SLOT_GOLEM const SPRITE_ANIM_SEQ_SLOTS_GOLEM
const SPRITE_ANIM_SEQ_SLOTS_CHANSEY const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
const SPRITE_ANIM_SEQ_SLOTS_EGG const SPRITE_ANIM_SEQ_SLOTS_EGG
const SPRITE_ANIM_SEQ_0C const SPRITE_ANIM_SEQ_MAIL_CURSOR
const SPRITE_ANIM_SEQ_0D const SPRITE_ANIM_SEQ_0D
const SPRITE_ANIM_SEQ_0E const SPRITE_ANIM_SEQ_0E
const SPRITE_ANIM_SEQ_0F const SPRITE_ANIM_SEQ_0F
const SPRITE_ANIM_SEQ_10 const SPRITE_ANIM_SEQ_TRADE_POKE_BALL
const SPRITE_ANIM_SEQ_11 const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE
const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE
const SPRITE_ANIM_SEQ_13 const SPRITE_ANIM_SEQ_REVEAL_NEW_MON
const SPRITE_ANIM_SEQ_14 const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB
const SPRITE_ANIM_SEQ_15 const SPRITE_ANIM_SEQ_CUT_LEAVES
const SPRITE_ANIM_SEQ_FLY_FROM const SPRITE_ANIM_SEQ_FLY_FROM
const SPRITE_ANIM_SEQ_FLY_LEAF const SPRITE_ANIM_SEQ_FLY_LEAF
const SPRITE_ANIM_SEQ_FLY_TO const SPRITE_ANIM_SEQ_FLY_TO
@ -463,62 +469,63 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITE_ANIM_SEQ_1A const SPRITE_ANIM_SEQ_1A
const SPRITE_ANIM_SEQ_1B const SPRITE_ANIM_SEQ_1B
const SPRITE_ANIM_SEQ_1C const SPRITE_ANIM_SEQ_1C
const SPRITE_ANIM_SEQ_1D const SPRITE_ANIM_SEQ_INTRO_SUICUNE
const SPRITE_ANIM_SEQ_1E const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER
const SPRITE_ANIM_SEQ_1F const SPRITE_ANIM_SEQ_CELEBI
const SPRITE_ANIM_SEQ_20 const SPRITE_ANIM_SEQ_INTRO_UNOWN
const SPRITE_ANIM_SEQ_21 const SPRITE_ANIM_SEQ_INTRO_UNOWN_F
const SPRITE_ANIM_SEQ_22 const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY
; SpriteAnimSeqData indexes (see engine/sprites.asm)
const_def const_def
const SPRITE_ANIM_INDEX_00 const SPRITE_ANIM_INDEX_PARTY_MON
const SPRITE_ANIM_INDEX_01 const SPRITE_ANIM_INDEX_01
const SPRITE_ANIM_INDEX_02
const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
const SPRITE_ANIM_INDEX_04
const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
const SPRITE_ANIM_INDEX_SLOT_GOLEM const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
const SPRITE_ANIM_INDEX_GS_INTRO_STAR
const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
const SPRITE_ANIM_INDEX_SLOTS_GOLEM
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
const SPRITE_ANIM_INDEX_SLOTS_EGG const SPRITE_ANIM_INDEX_SLOTS_EGG
const SPRITE_ANIM_INDEX_09 const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
const SPRITE_ANIM_INDEX_RED_WALK const SPRITE_ANIM_INDEX_RED_WALK
const SPRITE_ANIM_INDEX_0B const SPRITE_ANIM_INDEX_0B
const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR const SPRITE_ANIM_INDEX_DUMMY_GAME
const SPRITE_ANIM_INDEX_0D const SPRITE_ANIM_INDEX_0D
const SPRITE_ANIM_INDEX_0E const SPRITE_ANIM_INDEX_TRADE_POKE_BALL
const SPRITE_ANIM_INDEX_0F const SPRITE_ANIM_INDEX_TRADE_POOF
const SPRITE_ANIM_INDEX_10 const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
const SPRITE_ANIM_INDEX_TRADEMON_ICON const SPRITE_ANIM_INDEX_TRADEMON_ICON
const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
const SPRITE_ANIM_INDEX_13 const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
const SPRITE_ANIM_INDEX_14 const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
const SPRITE_ANIM_INDEX_15 const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
const SPRITE_ANIM_INDEX_LEAF const SPRITE_ANIM_INDEX_LEAF
const SPRITE_ANIM_INDEX_CUT_TREE const SPRITE_ANIM_INDEX_CUT_TREE
const SPRITE_ANIM_INDEX_FLY_LEAF const SPRITE_ANIM_INDEX_FLY_LEAF
const SPRITE_ANIM_INDEX_19 const SPRITE_ANIM_INDEX_EGG_CRACK
const SPRITE_ANIM_INDEX_1A const SPRITE_ANIM_INDEX_1A
const SPRITE_ANIM_INDEX_1B const SPRITE_ANIM_INDEX_HEADBUTT
const SPRITE_ANIM_INDEX_1C const SPRITE_ANIM_INDEX_EGG_HATCH
const SPRITE_ANIM_INDEX_1D const SPRITE_ANIM_INDEX_1D
const SPRITE_ANIM_INDEX_BLUE_WALK const SPRITE_ANIM_INDEX_BLUE_WALK
const SPRITE_ANIM_INDEX_1F const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
const SPRITE_ANIM_INDEX_20 const SPRITE_ANIM_INDEX_20
const SPRITE_ANIM_INDEX_21 const SPRITE_ANIM_INDEX_21
const SPRITE_ANIM_INDEX_22 const SPRITE_ANIM_INDEX_22
const SPRITE_ANIM_INDEX_23 const SPRITE_ANIM_INDEX_23
const SPRITE_ANIM_INDEX_24 const SPRITE_ANIM_INDEX_24
const SPRITE_ANIM_INDEX_25 const SPRITE_ANIM_INDEX_25
const SPRITE_ANIM_INDEX_26 const SPRITE_ANIM_INDEX_INTRO_SUICUNE
const SPRITE_ANIM_INDEX_27 const SPRITE_ANIM_INDEX_INTRO_PICHU
const SPRITE_ANIM_INDEX_28 const SPRITE_ANIM_INDEX_INTRO_WOOPER
const SPRITE_ANIM_INDEX_29 const SPRITE_ANIM_INDEX_INTRO_UNOWN
const SPRITE_ANIM_INDEX_2A const SPRITE_ANIM_INDEX_INTRO_UNOWN_F
const SPRITE_ANIM_INDEX_2B const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
const SPRITE_ANIM_INDEX_2C const SPRITE_ANIM_INDEX_CELEBI
; SpriteAnimOAMData indexes (see data/sprite_engine.asm)
const_def const_def
const SPRITE_ANIM_FRAME_IDX_00 const SPRITE_ANIM_FRAME_IDX_00
const SPRITE_ANIM_FRAME_IDX_01 const SPRITE_ANIM_FRAME_IDX_01
const SPRITE_ANIM_FRAME_IDX_02 const SPRITE_ANIM_FRAME_IDX_02

View File

@ -1,3 +1,5 @@
; StdScripts indexes (see engine/std_scripts.asm)
; also used in CheckFacingTileForStd (see main.asm)
enum_start enum_start
enum pokecenternurse enum pokecenternurse
enum difficultbookshelf enum difficultbookshelf

View File

@ -1,9 +1,10 @@
LANDTILE EQU 0 ; collision values (see tilesets/collision.asm)
LANDTILE EQU $0
WATERTILE EQU $1
WALLTILE EQU $f WALLTILE EQU $f
WATERTILE EQU 1 TALK EQU $10
TALK EQU 1 << 4
; Tilesets indexes (see tilesets/tileset_headers.asm)
const_value SET 1 const_value SET 1
const TILESET_JOHTO_1 ; 01 const TILESET_JOHTO_1 ; 01
const TILESET_JOHTO_2 ; 02 const TILESET_JOHTO_2 ; 02
@ -42,12 +43,13 @@ const_value SET 1
const TILESET_OMANYTE_WORD_ROOM ; 23 const TILESET_OMANYTE_WORD_ROOM ; 23
const TILESET_AERODACTYL_WORD_ROOM ; 24 const TILESET_AERODACTYL_WORD_ROOM ; 24
; bg palette values (see tilesets/*_palette_map.asm)
const_def const_def
const PAL_BG_GRAY const PAL_BG_GRAY ; 0
const PAL_BG_RED const PAL_BG_RED ; 1
const PAL_BG_GREEN const PAL_BG_GREEN ; 2
const PAL_BG_WATER const PAL_BG_WATER ; 3
const PAL_BG_YELLOW const PAL_BG_YELLOW ; 4
const PAL_BG_BROWN const PAL_BG_BROWN ; 5
const PAL_BG_ROOF const PAL_BG_ROOF ; 6
const PAL_BG_TEXT const PAL_BG_TEXT ; 7

View File

@ -1,4 +1,11 @@
; trainer groups ; trainer class ids
; `trainerclass` indexes are for:
; - TrainerClassAttributes (see trainers/attributes.asm)
; - TrainerClassDVs (see trainers/dvs.asm)
; - TrainerGroups (see trainers/trainer_pointers.asm)
; - TrainerEncounterMusic (see audio/trainer_encounters.asm)
; - BTTrainerClassGenders (see misc/battle_tower_47.asm)
; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see trainers/trainers.asm)
enum_start enum_start
CHRIS EQU __enum__ CHRIS EQU __enum__
trainerclass TRAINER_NONE ; 0 trainerclass TRAINER_NONE ; 0
@ -26,21 +33,21 @@ KRIS EQU __enum__
trainerclass CLAIR ; 8 trainerclass CLAIR ; 8
trainerclass RIVAL1 ; 9 trainerclass RIVAL1 ; 9
const RIVAL1_1 const RIVAL1_1_CHIKORITA
const RIVAL1_2 const RIVAL1_1_CYNDAQUIL
const RIVAL1_3 const RIVAL1_1_TOTODILE
const RIVAL1_4 const RIVAL1_2_CHIKORITA
const RIVAL1_5 const RIVAL1_2_CYNDAQUIL
const RIVAL1_6 const RIVAL1_2_TOTODILE
const RIVAL1_7 const RIVAL1_3_CHIKORITA
const RIVAL1_8 const RIVAL1_3_CYNDAQUIL
const RIVAL1_9 const RIVAL1_3_TOTODILE
const RIVAL1_10 const RIVAL1_4_CHIKORITA
const RIVAL1_11 const RIVAL1_4_CYNDAQUIL
const RIVAL1_12 const RIVAL1_4_TOTODILE
const RIVAL1_13 const RIVAL1_5_CHIKORITA
const RIVAL1_14 const RIVAL1_5_CYNDAQUIL
const RIVAL1_15 const RIVAL1_5_TOTODILE
trainerclass POKEMON_PROF ; a trainerclass POKEMON_PROF ; a
@ -415,6 +422,12 @@ KRIS EQU __enum__
const MARKUS const MARKUS
trainerclass RIVAL2 ; 2a trainerclass RIVAL2 ; 2a
const RIVAL2_1_CHIKORITA
const RIVAL2_1_CYNDAQUIL
const RIVAL2_1_TOTODILE
const RIVAL2_2_CHIKORITA
const RIVAL2_2_CYNDAQUIL
const RIVAL2_2_TOTODILE
trainerclass GUITARIST ; 2b trainerclass GUITARIST ; 2b
const CLYDE const CLYDE
@ -492,6 +505,10 @@ KRIS EQU __enum__
const WAI const WAI
trainerclass EXECUTIVEM ; 33 trainerclass EXECUTIVEM ; 33
const EXECUTIVEM_1
const EXECUTIVEM_2
const EXECUTIVEM_3
const EXECUTIVEM_4
trainerclass PSYCHIC_T ; 34 trainerclass PSYCHIC_T ; 34
const NATHAN const NATHAN
@ -560,6 +577,8 @@ KRIS EQU __enum__
const QUENTIN const QUENTIN
trainerclass EXECUTIVEF ; 37 trainerclass EXECUTIVEF ; 37
const EXECUTIVEF_1
const EXECUTIVEF_2
trainerclass SAGE ; 38 trainerclass SAGE ; 38
const CHOW const CHOW
@ -648,12 +667,23 @@ KRIS EQU __enum__
const GRUNTF_4 const GRUNTF_4
const GRUNTF_5 const GRUNTF_5
trainerclass MYSTICALMAN ; 43 trainerclass MYSTICALMAN ; 43
const EUSINE const EUSINE
NUM_TRAINER_CLASSES EQU __enum__ NUM_TRAINER_CLASSES EQU __enum__
; TrainerClassAttributes fields (see trainers/attributes.asm)
const_def
const TRNATTR_ITEM1
const TRNATTR_ITEM2
const TRNATTR_BASEMONEY
const TRNATTR_AI_MOVE_WEIGHTS
const TRNATTR_AI2
const TRNATTR_AI_ITEM_SWITCH
const TRNATTR_AI4
NUM_TRAINER_ATTRIBUTES EQU const_value
; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags)
const_def const_def
const NO_AI const NO_AI
const_value = 0 const_value = 0
@ -674,12 +704,24 @@ const_value = 0
shift_const AI_14 shift_const AI_14
shift_const AI_15 shift_const AI_15
; TRNATTR_AI_ITEM_SWITCH bit flags
CONTEXT_USE_F EQU 6
UNKNOWN_USE_F EQU 5
ALWAYS_USE_F EQU 4
SWITCH_SOMETIMES_F EQU 2
SWITCH_RARELY_F EQU 1
SWITCH_OFTEN_F EQU 0
CONTEXT_USE EQU 1 << CONTEXT_USE_F
UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
ALWAYS_USE EQU 1 << ALWAYS_USE_F
SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
; TrainerTypes indexes (see trainers/read_party.asm)
const_def const_def
const TRNATTR_ITEM1 const TRAINERTYPE_NORMAL
const TRNATTR_ITEM2 const TRAINERTYPE_MOVES
const TRNATTR_BASEMONEY const TRAINERTYPE_ITEM
const TRNATTR_AI_MOVE_WEIGHTS const TRAINERTYPE_ITEM_MOVES
const TRNATTR_AI2
const TRNATTR_AI_ITEM_SWITCH
const TRNATTR_AI4
NUM_TRAINER_ATTRIBUTES EQU const_value

View File

@ -1,3 +1,7 @@
; TypeNames indexes (see text/types.asm)
; also used in:
; - TypeMatchup (see battle.type_matchup.asm)
; - Pokedex_SearchForMons.TypeConversionTable and Pokedex_PlaceSearchScreenTypeStrings.TypeStrings (see engine/pokedex.asm)
const_def const_def
PHYSICAL EQU const_value PHYSICAL EQU const_value

View File

@ -1,23 +1,26 @@
; MonType: ; cf5f ; MonType: ; cf5f
PARTYMON EQU 0 const_def
OTPARTYMON EQU 1 const PARTYMON ; 0
BOXMON EQU 2 const OTPARTYMON ; 1
TEMPMON EQU 3 const BOXMON ; 2
WILDMON EQU 4 const TEMPMON ; 3
const WILDMON ; 4
; Options: ; cfcc ; Options: (bits) ; cfcc
const_value SET 5
const STEREO ; 5
const BATTLE_SHIFT ; 6
const BATTLE_SCENE ; 7
; Options: (bits 0-2 values) ; cfcc
FAST_TEXT EQU 0 FAST_TEXT EQU 0
MED_TEXT EQU 1 MED_TEXT EQU 1
SLOW_TEXT EQU 2 SLOW_TEXT EQU 2
NO_TEXT_SCROLL EQU 4 NO_TEXT_SCROLL EQU 4
; bits
STEREO EQU 5
BATTLE_SHIFT EQU 6
BATTLE_SCENE EQU 7
; Options2: ; Options2:
MENU_ACCOUNT EQU 0 const_def
const MENU_ACCOUNT ; 0
; GBPrinter: ; GBPrinter:
PRINT_LIGHTEST EQU $00 PRINT_LIGHTEST EQU $00
@ -27,11 +30,12 @@ PRINT_DARKER EQU $60
PRINT_DARKEST EQU $7f PRINT_DARKEST EQU $7f
; WalkingDirection: ; d043 ; WalkingDirection: ; d043
STANDING EQU -1 const_value SET -1
DOWN EQU 0 const STANDING ; -1
UP EQU 1 const DOWN ; 0
LEFT EQU 2 const UP ; 1
RIGHT EQU 3 const LEFT ; 2
const RIGHT ; 3
; FacingDirection: ; d044 ; FacingDirection: ; d044
FACE_CURRENT EQU 0 FACE_CURRENT EQU 0
@ -41,10 +45,11 @@ FACE_LEFT EQU 2
FACE_RIGHT EQU 1 FACE_RIGHT EQU 1
; TimeOfDay: ; d269 ; TimeOfDay: ; d269
MORN EQU 0 const_def
DAY EQU 1 const MORN ; 0
NITE EQU 2 const DAY ; 1
DARKNESS EQU 3 const NITE ; 2
const DARKNESS ; 3
; ScriptFlags: ; d434 ; ScriptFlags: ; d434
SCRIPT_RUNNING EQU 2 SCRIPT_RUNNING EQU 2
@ -56,13 +61,14 @@ SCRIPT_WAIT_MOVEMENT EQU 2
SCRIPT_WAIT EQU 3 SCRIPT_WAIT EQU 3
; CurDay: ; d4cb ; CurDay: ; d4cb
SUNDAY EQU 0 const_def
MONDAY EQU 1 const SUNDAY ; 0
TUESDAY EQU 2 const MONDAY ; 1
WEDNESDAY EQU 3 const TUESDAY ; 2
THURSDAY EQU 4 const WEDNESDAY ; 3
FRIDAY EQU 5 const THURSDAY ; 4
SATURDAY EQU 6 const FRIDAY ; 5
const SATURDAY ; 6
; MapObjects: ; d71e ; MapObjects: ; d71e
@ -103,3 +109,35 @@ DAYCARE_DEPOSIT EQU 3
const DEXMODE_OLD const DEXMODE_OLD
const DEXMODE_ABC const DEXMODE_ABC
const DEXMODE_UNOWN const DEXMODE_UNOWN
; JohtoBadges:
const_def
const ZEPHYRBADGE
const HIVEBADGE
const PLAINBADGE
const FOGBADGE
const MINERALBADGE
const STORMBADGE
const GLACIERBADGE
const RISINGBADGE
NUM_JOHTO_BADGES EQU const_value
; KantoBadges:
const_def
const BOULDERBADGE
const CASCADEBADGE
const THUNDERBADGE
const RAINBOWBADGE
const SOULBADGE
const MARSHBADGE
const VOLCANOBADGE
const EARTHBADGE
NUM_KANTO_BADGES EQU const_value
NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
; wInitListType:
INIT_ENEMYOT_LIST EQU 1
INIT_BAG_ITEM_LIST EQU 2
INIT_OTHER_ITEM_LIST EQU 3
INIT_PLAYEROT_LIST EQU 4
INIT_MON_LIST EQU 5

View File

@ -1,3 +1,5 @@
; entries correspond to SPRITEMOVEDATA_* constants
sprite_movement_data: macro sprite_movement_data: macro
db \1, \2, \3, \4, \5 db \1, \2, \3, \4, \5
dn \6, 0 dn \6, 0

View File

@ -1,77 +1,78 @@
SpriteAnimFrameData: ; 8d6e6 SpriteAnimFrameData: ; 8d6e6
dw .Frameset_00 ; 00 ; entries correspond to SPRITE_ANIM_FRAMESET_* constants
dw .Frameset_01 ; 01 dw .Frameset_00
dw .Frameset_02 ; 02 dw .Frameset_PartyMon
dw .Frameset_03 ; 03 dw .Frameset_02
dw .Frameset_04 ; 04 dw .Frameset_03
dw .Frameset_05 ; 05 dw .Frameset_04
dw .Frameset_06 ; 06 dw .Frameset_05
dw .Frameset_07 ; 07 dw .Frameset_06
dw .Frameset_08 ; 08 dw .Frameset_07
dw .Frameset_09 ; 09 dw .Frameset_TextEntryCursor
dw .Frameset_0a ; 0a dw .Frameset_09
dw .Frameset_0b ; 0b dw .Frameset_GameFreakLogo
dw .Frameset_0c ; 0c dw .Frameset_GSIntroStar
dw .Frameset_0d ; 0d dw .Frameset_GSIntroSparkle
dw .Frameset_0e ; 0e dw .Frameset_SlotsGolem
dw .Frameset_0f ; 0f dw .Frameset_SlotsChansey
dw .Frameset_10 ; 10 dw .Frameset_SlotsChansey2
dw .Frameset_11 ; 11 dw .Frameset_SlotsEgg
dw .Frameset_12 ; 12 dw .Frameset_RedWalk
dw .Frameset_13 ; 13 dw .Frameset_StillCursor
dw .Frameset_14 ; 14 dw .Frameset_TradePokeBall
dw .Frameset_15 ; 15 dw .Frameset_TradePokeBall0
dw .Frameset_16 ; 16 dw .Frameset_TradePoof
dw .Frameset_17 ; 17 dw .Frameset_TradeTubeBulge
dw .Frameset_18 ; 18 dw .Frameset_TrademonIcon
dw .Frameset_19 ; 19 dw .Frameset_TrademonBubble
dw .Frameset_1a ; 1a dw .Frameset_EvolutionBallOfLight
dw .Frameset_1b ; 1b dw .Frameset_RadioTuningKnob
dw .Frameset_1c ; 1c dw .Frameset_MagnetTrainRed
dw .Frameset_1d ; 1d dw .Frameset_1c
dw .Frameset_1e ; 1e dw .Frameset_Leaf
dw .Frameset_1f ; 1f dw .Frameset_CutTree
dw .Frameset_20 ; 20 dw .Frameset_EggCrack
dw .Frameset_21 ; 21 dw .Frameset_EggHatch
dw .Frameset_22 ; 22 dw .Frameset_21
dw .Frameset_23 ; 23 dw .Frameset_22
dw .Frameset_24 ; 24 dw .Frameset_23
dw .Frameset_25 ; 25 headbutt dw .Frameset_24
dw .Frameset_26 ; 26 dw .Frameset_HeadbuttTree
dw .Frameset_27 ; 27 dw .Frameset_26
dw .Frameset_28 ; 28 dw .Frameset_27
dw .Frameset_29 ; 29 dw .Frameset_28
dw .Frameset_2a ; 2a dw .Frameset_29
dw .Frameset_2b ; 2b dw .Frameset_2a
dw .Frameset_2c ; 2c dw .Frameset_2b
dw .Frameset_2d ; 2d dw .Frameset_2c
dw .Frameset_2e ; 2e dw .Frameset_BlueWalk
dw .Frameset_2f ; 2f dw .Frameset_MagnetTrainBlue
dw .Frameset_30 ; 30 dw .Frameset_2f
dw .Frameset_31 ; 31 dw .Frameset_30
dw .Frameset_32 ; 32 dw .Frameset_31
dw .Frameset_33 ; 33 dw .Frameset_32
dw .Frameset_34 ; 34 dw .Frameset_33
dw .Frameset_35 ; 35 dw .Frameset_34
dw .Frameset_36 ; 36 dw .Frameset_IntroSuicune
dw .Frameset_37 ; 37 dw .Frameset_IntroSuicune2
dw .Frameset_38 ; 38 dw .Frameset_IntroPichu
dw .Frameset_39 ; 39 unown in intro dw .Frameset_IntroWooper
dw .Frameset_3a ; 3a unown in intro dw .Frameset_IntroUnown1
dw .Frameset_3b ; 3b unown in intro dw .Frameset_IntroUnown2
dw .Frameset_3c ; 3c unown in intro dw .Frameset_IntroUnown3
dw .Frameset_3d ; 3d dw .Frameset_IntroUnown4
dw .Frameset_3e ; 3e dw .Frameset_IntroUnownF2
dw .Frameset_3f ; 3f dw .Frameset_IntroSuicuneAway
dw .Frameset_40 ; 40 celebi on the left dw .Frameset_IntroUnownF
dw .Frameset_41 ; 41 celebi on the right dw .Frameset_CelebiLeft
dw .Frameset_CelebiRight
; 8d76a ; 8d76a
.Frameset_00: .Frameset_00:
frame SPRITE_ANIM_FRAME_IDX_00, 32 frame SPRITE_ANIM_FRAME_IDX_00, 32
endanim endanim
.Frameset_01: .Frameset_PartyMon:
frame SPRITE_ANIM_FRAME_IDX_00, 8 frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8 frame SPRITE_ANIM_FRAME_IDX_01, 8
dorestart dorestart
@ -101,21 +102,21 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_40, 4 frame SPRITE_ANIM_FRAME_IDX_40, 4
dorestart dorestart
.Frameset_11: .Frameset_RedWalk:
frame SPRITE_ANIM_FRAME_IDX_00, 8 frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8 frame SPRITE_ANIM_FRAME_IDX_01, 8
frame SPRITE_ANIM_FRAME_IDX_00, 8 frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP
dorestart dorestart
.Frameset_2d: .Frameset_BlueWalk:
frame SPRITE_ANIM_FRAME_IDX_63, 8 frame SPRITE_ANIM_FRAME_IDX_63, 8
frame SPRITE_ANIM_FRAME_IDX_64, 8 frame SPRITE_ANIM_FRAME_IDX_64, 8
frame SPRITE_ANIM_FRAME_IDX_63, 8 frame SPRITE_ANIM_FRAME_IDX_63, 8
frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP
dorestart dorestart
.Frameset_2e: .Frameset_MagnetTrainBlue:
frame SPRITE_ANIM_FRAME_IDX_65, 8 frame SPRITE_ANIM_FRAME_IDX_65, 8
frame SPRITE_ANIM_FRAME_IDX_66, 8 frame SPRITE_ANIM_FRAME_IDX_66, 8
frame SPRITE_ANIM_FRAME_IDX_65, 8 frame SPRITE_ANIM_FRAME_IDX_65, 8
@ -127,7 +128,7 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_1F, 1 frame SPRITE_ANIM_FRAME_IDX_1F, 1
dorestart dorestart
.Frameset_08: .Frameset_TextEntryCursor:
frame SPRITE_ANIM_FRAME_IDX_20, 1 frame SPRITE_ANIM_FRAME_IDX_20, 1
dorepeat 1 dorepeat 1
dorestart dorestart
@ -137,7 +138,7 @@ SpriteAnimFrameData: ; 8d6e6
dorepeat 1 dorepeat 1
dorestart dorestart
.Frameset_0a: .Frameset_GameFreakLogo:
frame SPRITE_ANIM_FRAME_IDX_81, 12 frame SPRITE_ANIM_FRAME_IDX_81, 12
frame SPRITE_ANIM_FRAME_IDX_82, 1 frame SPRITE_ANIM_FRAME_IDX_82, 1
frame SPRITE_ANIM_FRAME_IDX_83, 1 frame SPRITE_ANIM_FRAME_IDX_83, 1
@ -155,33 +156,33 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_8B, 7 frame SPRITE_ANIM_FRAME_IDX_8B, 7
endanim endanim
.Frameset_0b: .Frameset_GSIntroStar:
frame SPRITE_ANIM_FRAME_IDX_23, 3 frame SPRITE_ANIM_FRAME_IDX_23, 3
frame SPRITE_ANIM_FRAME_IDX_23, 3, OAM_Y_FLIP frame SPRITE_ANIM_FRAME_IDX_23, 3, OAM_Y_FLIP
dorestart dorestart
.Frameset_0c: .Frameset_GSIntroSparkle:
frame SPRITE_ANIM_FRAME_IDX_24, 2 frame SPRITE_ANIM_FRAME_IDX_24, 2
frame SPRITE_ANIM_FRAME_IDX_25, 2 frame SPRITE_ANIM_FRAME_IDX_25, 2
frame SPRITE_ANIM_FRAME_IDX_26, 2 frame SPRITE_ANIM_FRAME_IDX_26, 2
frame SPRITE_ANIM_FRAME_IDX_25, 2 frame SPRITE_ANIM_FRAME_IDX_25, 2
dorestart dorestart
.Frameset_0d: .Frameset_SlotsGolem:
frame SPRITE_ANIM_FRAME_IDX_27, 7 frame SPRITE_ANIM_FRAME_IDX_27, 7
frame SPRITE_ANIM_FRAME_IDX_28, 7 frame SPRITE_ANIM_FRAME_IDX_28, 7
frame SPRITE_ANIM_FRAME_IDX_27, 7, OAM_Y_FLIP frame SPRITE_ANIM_FRAME_IDX_27, 7, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_28, 7, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_28, 7, OAM_X_FLIP
dorestart dorestart
.Frameset_0e: .Frameset_SlotsChansey:
frame SPRITE_ANIM_FRAME_IDX_29, 7 frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2A, 7 frame SPRITE_ANIM_FRAME_IDX_2A, 7
frame SPRITE_ANIM_FRAME_IDX_29, 7 frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2B, 7 frame SPRITE_ANIM_FRAME_IDX_2B, 7
dorestart dorestart
.Frameset_0f: .Frameset_SlotsChansey2:
frame SPRITE_ANIM_FRAME_IDX_29, 7 frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2C, 7 frame SPRITE_ANIM_FRAME_IDX_2C, 7
frame SPRITE_ANIM_FRAME_IDX_2D, 7 frame SPRITE_ANIM_FRAME_IDX_2D, 7
@ -189,56 +190,56 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_29, 7 frame SPRITE_ANIM_FRAME_IDX_29, 7
endanim endanim
.Frameset_10: .Frameset_SlotsEgg:
frame SPRITE_ANIM_FRAME_IDX_2E, 20 frame SPRITE_ANIM_FRAME_IDX_2E, 20
endanim endanim
.Frameset_12: .Frameset_StillCursor:
frame SPRITE_ANIM_FRAME_IDX_2F, 32 frame SPRITE_ANIM_FRAME_IDX_2F, 32
endanim endanim
.Frameset_13: .Frameset_TradePokeBall:
frame SPRITE_ANIM_FRAME_IDX_30, 32 frame SPRITE_ANIM_FRAME_IDX_30, 32
endanim endanim
.Frameset_14: .Frameset_TradePokeBall0:
frame SPRITE_ANIM_FRAME_IDX_30, 3 frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3 frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3 frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
dorestart dorestart
.Frameset_15: .Frameset_TradePoof:
frame SPRITE_ANIM_FRAME_IDX_32, 4 frame SPRITE_ANIM_FRAME_IDX_32, 4
frame SPRITE_ANIM_FRAME_IDX_33, 4 frame SPRITE_ANIM_FRAME_IDX_33, 4
frame SPRITE_ANIM_FRAME_IDX_34, 4 frame SPRITE_ANIM_FRAME_IDX_34, 4
delanim delanim
.Frameset_16: .Frameset_TradeTubeBulge:
frame SPRITE_ANIM_FRAME_IDX_35, 3 frame SPRITE_ANIM_FRAME_IDX_35, 3
frame SPRITE_ANIM_FRAME_IDX_36, 3 frame SPRITE_ANIM_FRAME_IDX_36, 3
dorestart dorestart
.Frameset_17: .Frameset_TrademonIcon:
frame SPRITE_ANIM_FRAME_IDX_37, 7 frame SPRITE_ANIM_FRAME_IDX_37, 7
frame SPRITE_ANIM_FRAME_IDX_38, 7 frame SPRITE_ANIM_FRAME_IDX_38, 7
dorestart dorestart
.Frameset_18: .Frameset_TrademonBubble:
frame SPRITE_ANIM_FRAME_IDX_39, 32 frame SPRITE_ANIM_FRAME_IDX_39, 32
endanim endanim
.Frameset_19: .Frameset_EvolutionBallOfLight:
frame SPRITE_ANIM_FRAME_IDX_3B, 2 frame SPRITE_ANIM_FRAME_IDX_3B, 2
frame SPRITE_ANIM_FRAME_IDX_3A, 2 frame SPRITE_ANIM_FRAME_IDX_3A, 2
frame SPRITE_ANIM_FRAME_IDX_3B, 2 frame SPRITE_ANIM_FRAME_IDX_3B, 2
endanim endanim
.Frameset_1a: .Frameset_RadioTuningKnob:
frame SPRITE_ANIM_FRAME_IDX_3C, 32 frame SPRITE_ANIM_FRAME_IDX_3C, 32
endanim endanim
.Frameset_1b: .Frameset_MagnetTrainRed:
frame SPRITE_ANIM_FRAME_IDX_41, 8 frame SPRITE_ANIM_FRAME_IDX_41, 8
frame SPRITE_ANIM_FRAME_IDX_42, 8 frame SPRITE_ANIM_FRAME_IDX_42, 8
frame SPRITE_ANIM_FRAME_IDX_41, 8 frame SPRITE_ANIM_FRAME_IDX_41, 8
@ -292,11 +293,11 @@ SpriteAnimFrameData: ; 8d6e6
dorepeat 32 dorepeat 32
endanim endanim
.Frameset_1d: .Frameset_Leaf:
frame SPRITE_ANIM_FRAME_IDX_4F, 32 frame SPRITE_ANIM_FRAME_IDX_4F, 32
endanim endanim
.Frameset_1e: .Frameset_CutTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2 frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_51, 16 frame SPRITE_ANIM_FRAME_IDX_51, 16
dorepeat 1 dorepeat 1
@ -305,11 +306,11 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_53, 1 frame SPRITE_ANIM_FRAME_IDX_53, 1
delanim delanim
.Frameset_1f: .Frameset_EggCrack:
frame SPRITE_ANIM_FRAME_IDX_54, 32 frame SPRITE_ANIM_FRAME_IDX_54, 32
endanim endanim
.Frameset_20: .Frameset_EggHatch:
frame SPRITE_ANIM_FRAME_IDX_55, 32 frame SPRITE_ANIM_FRAME_IDX_55, 32
endanim endanim
@ -334,7 +335,7 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_5A, 10 frame SPRITE_ANIM_FRAME_IDX_5A, 10
dorestart dorestart
.Frameset_25: .Frameset_HeadbuttTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2 frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_5B, 2 frame SPRITE_ANIM_FRAME_IDX_5B, 2
frame SPRITE_ANIM_FRAME_IDX_50, 2 frame SPRITE_ANIM_FRAME_IDX_50, 2
@ -424,53 +425,53 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_6B, 2 frame SPRITE_ANIM_FRAME_IDX_6B, 2
delanim delanim
.Frameset_35: .Frameset_IntroSuicune:
frame SPRITE_ANIM_FRAME_IDX_6E, 3 frame SPRITE_ANIM_FRAME_IDX_6E, 3
frame SPRITE_ANIM_FRAME_IDX_6F, 3 frame SPRITE_ANIM_FRAME_IDX_6F, 3
frame SPRITE_ANIM_FRAME_IDX_70, 3 frame SPRITE_ANIM_FRAME_IDX_70, 3
frame SPRITE_ANIM_FRAME_IDX_71, 3 frame SPRITE_ANIM_FRAME_IDX_71, 3
dorestart dorestart
.Frameset_36: .Frameset_IntroSuicune2:
frame SPRITE_ANIM_FRAME_IDX_71, 3 frame SPRITE_ANIM_FRAME_IDX_71, 3
frame SPRITE_ANIM_FRAME_IDX_6E, 7 frame SPRITE_ANIM_FRAME_IDX_6E, 7
endanim endanim
.Frameset_37: .Frameset_IntroPichu:
frame SPRITE_ANIM_FRAME_IDX_72, 32 frame SPRITE_ANIM_FRAME_IDX_72, 32
frame SPRITE_ANIM_FRAME_IDX_73, 7 frame SPRITE_ANIM_FRAME_IDX_73, 7
frame SPRITE_ANIM_FRAME_IDX_74, 7 frame SPRITE_ANIM_FRAME_IDX_74, 7
endanim endanim
.Frameset_38: .Frameset_IntroWooper:
frame SPRITE_ANIM_FRAME_IDX_75, 3 frame SPRITE_ANIM_FRAME_IDX_75, 3
endanim endanim
.Frameset_39: .Frameset_IntroUnown1:
frame SPRITE_ANIM_FRAME_IDX_76, 3 frame SPRITE_ANIM_FRAME_IDX_76, 3
frame SPRITE_ANIM_FRAME_IDX_77, 3 frame SPRITE_ANIM_FRAME_IDX_77, 3
frame SPRITE_ANIM_FRAME_IDX_78, 7 frame SPRITE_ANIM_FRAME_IDX_78, 7
delanim delanim
.Frameset_3a: .Frameset_IntroUnown2:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP 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_77, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP
delanim delanim
.Frameset_3b: .Frameset_IntroUnown3:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_Y_FLIP 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_77, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_Y_FLIP frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_Y_FLIP
delanim delanim
.Frameset_3c: .Frameset_IntroUnown4:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP, OAM_Y_FLIP 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_77, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP, OAM_Y_FLIP frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP, OAM_Y_FLIP
delanim delanim
.Frameset_3d: .Frameset_IntroUnownF2:
frame SPRITE_ANIM_FRAME_IDX_79, 3 frame SPRITE_ANIM_FRAME_IDX_79, 3
frame SPRITE_ANIM_FRAME_IDX_7A, 3 frame SPRITE_ANIM_FRAME_IDX_7A, 3
frame SPRITE_ANIM_FRAME_IDX_7B, 3 frame SPRITE_ANIM_FRAME_IDX_7B, 3
@ -478,26 +479,27 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_7D, 7 frame SPRITE_ANIM_FRAME_IDX_7D, 7
endanim endanim
.Frameset_3e: .Frameset_IntroSuicuneAway:
frame SPRITE_ANIM_FRAME_IDX_7E, 3 frame SPRITE_ANIM_FRAME_IDX_7E, 3
endanim endanim
.Frameset_3f: .Frameset_IntroUnownF:
dorepeat 0 dorepeat 0
endanim endanim
.Frameset_40: .Frameset_CelebiLeft:
frame SPRITE_ANIM_FRAME_IDX_7F, 8 frame SPRITE_ANIM_FRAME_IDX_7F, 8
frame SPRITE_ANIM_FRAME_IDX_80, 8 frame SPRITE_ANIM_FRAME_IDX_80, 8
endanim endanim
.Frameset_41: .Frameset_CelebiRight:
frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP
endanim endanim
; 8d94d ; 8d94d
SpriteAnimOAMData: ; 8d94d SpriteAnimOAMData: ; 8d94d
; entries correspond to SPRITE_ANIM_FRAME_IDX_* constants
; vtile offset, pointer ; vtile offset, pointer
dbw $00, .OAMData_00 ; 00 dbw $00, .OAMData_00 ; 00
dbw $04, .OAMData_00 ; 01 dbw $04, .OAMData_00 ; 01
@ -1632,6 +1634,7 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, 0, 4, $52, $01 dsprite 0, 0, 0, 4, $52, $01
dsprite 0, 0, 1, 4, $53, $01 dsprite 0, 0, 1, 4, $53, $01
; 8e706 ; 8e706
BrokenStdGFXPointers: ; Broken 2bpp pointers BrokenStdGFXPointers: ; Broken 2bpp pointers
dbbw $80, $01, .deleted ; 128-tile 2bpp at 1:672a (inside Multiply) dbbw $80, $01, .deleted ; 128-tile 2bpp at 1:672a (inside Multiply)
dbbw $80, $01, .deleted dbbw $80, $01, .deleted

View File

@ -141,7 +141,7 @@ ConvertTrainerBattlePokeballTilesTo2bpp: ; 8c2cf
; 8c2f4 ; 8c2f4
TrainerBattlePokeballTiles: ; 8c2f4 TrainerBattlePokeballTiles: ; 8c2f4
INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp" INCBIN "gfx/ow_fx/trainer_battle_pokeball_tiles.2bpp"
FlashyTransitionToBattle: ; 8c314 FlashyTransitionToBattle: ; 8c314

View File

@ -1783,7 +1783,7 @@ BillsPC_CopyMon: ; e2fd6 (38:6fd6)
call CopyNicknameToTemp call CopyNicknameToTemp
ld hl, PartyMonOT ld hl, PartyMonOT
call CopyOTNameToTemp call CopyOTNameToTemp
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) ld hl, PartyMon1
ld bc, PARTYMON_STRUCT_LENGTH ld bc, PARTYMON_STRUCT_LENGTH
ld a, [CurPartyMon] ld a, [CurPartyMon]
call AddNTimes call AddNTimes
@ -2280,8 +2280,8 @@ BillsPC_InitGFX: ; e33e8 (38:73e8)
ret ret
; e3419 (38:7419) ; e3419 (38:7419)
PCSelectLZ: INCBIN "gfx/pc.2bpp.lz" PCSelectLZ: INCBIN "gfx/pc/pc.2bpp.lz"
PCMailGFX: INCBIN "gfx/pc_mail.2bpp" PCMailGFX: INCBIN "gfx/pc/pc_mail.2bpp"
; e34dd ; e34dd
PCString_ChooseaPKMN: db "Choose a <PK><MN>.@" PCString_ChooseaPKMN: db "Choose a <PK><MN>.@"

View File

@ -245,10 +245,10 @@ ClearPCItemScreen: ; e58b
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
ld a, " " ld a, " "
call ByteFill call ByteFill
hlcoord 0,0 hlcoord 0, 0
lb bc, 10, 18 lb bc, 10, 18
call TextBox call TextBox
hlcoord 0,12 hlcoord 0, 12
lb bc, 4, 18 lb bc, 4, 18
call TextBox call TextBox
call WaitBGMap2 call WaitBGMap2

View File

@ -234,7 +234,7 @@ HatchEggs: ; 16f70 (5:6f70)
callba SetEggMonCaughtData callba SetEggMonCaughtData
callba TrainerRankings_EggsHatched callba TrainerRankings_EggsHatched
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) ld hl, PartyMon1Species
ld bc, PARTYMON_STRUCT_LENGTH ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes call AddNTimes
ld a, [hl] ld a, [hl]
@ -263,7 +263,7 @@ HatchEggs: ; 16f70 (5:6f70)
ld [wd26b], a ld [wd26b], a
call GetBaseData call GetBaseData
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) ld hl, PartyMon1
ld bc, PARTYMON_STRUCT_LENGTH ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes call AddNTimes
push hl push hl
@ -309,7 +309,7 @@ HatchEggs: ; 16f70 (5:6f70)
ld a, [PlayerID + 1] ld a, [PlayerID + 1]
ld [hl], a ld [hl], a
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMonOT ; wddff (aliases: PartyMonOT) ld hl, PartyMonOT
ld bc, NAME_LENGTH ld bc, NAME_LENGTH
call AddNTimes call AddNTimes
ld d, h ld d, h
@ -803,7 +803,7 @@ EggHatch_CrackShell: ; 1736d (5:736d)
add 9 * 8 + 4 add 9 * 8 + 4
ld d, a ld d, a
ld e, 11 * 8 ld e, 11 * 8
ld a, SPRITE_ANIM_INDEX_19 ld a, SPRITE_ANIM_INDEX_EGG_CRACK
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc add hl, bc
@ -813,7 +813,7 @@ EggHatch_CrackShell: ; 1736d (5:736d)
; 17393 (5:7393) ; 17393 (5:7393)
EggHatchGFX: ; 17393 EggHatchGFX: ; 17393
INCBIN "gfx/unknown/017393.2bpp" INCBIN "gfx/evo/egg_hatch.2bpp"
; 173b3 ; 173b3
Hatch_InitShellFragments: ; 173b3 (5:73b3) Hatch_InitShellFragments: ; 173b3 (5:73b3)
@ -833,7 +833,7 @@ Hatch_InitShellFragments: ; 173b3 (5:73b3)
push hl push hl
push bc push bc
ld a, SPRITE_ANIM_INDEX_1C ld a, SPRITE_ANIM_INDEX_EGG_HATCH
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID ld hl, SPRITEANIMSTRUCT_TILE_ID

View File

@ -499,12 +499,12 @@ CardFlip_DisplayCardFaceUp: ; e03ec
.Deck: ; e0459 .Deck: ; e0459
; level, pic anchor (3x3) ; level, pic anchor (3x3)
db "1",$4e, "1",$57, "1",$69, "1",$60 db "1", $4e, "1", $57, "1", $69, "1", $60
db "2",$4e, "2",$57, "2",$69, "2",$60 db "2", $4e, "2", $57, "2", $69, "2", $60
db "3",$4e, "3",$57, "3",$69, "3",$60 db "3", $4e, "3", $57, "3", $69, "3", $60
db "4",$4e, "4",$57, "4",$69, "4",$60 db "4", $4e, "4", $57, "4", $69, "4", $60
db "5",$4e, "5",$57, "5",$69, "5",$60 db "5", $4e, "5", $57, "5", $69, "5", $60
db "6",$4e, "6",$57, "6",$69, "6",$60 db "6", $4e, "6", $57, "6", $69, "6", $60
; e0489 ; e0489
CardFlip_UpdateCoinBalanceDisplay: ; e0489 CardFlip_UpdateCoinBalanceDisplay: ; e0489
@ -1712,19 +1712,19 @@ CardFlip_InitAttrPals: ; e0c37 (38:4c37)
; e0cdb ; e0cdb
CardFlipLZ03: ; e0cdb CardFlipLZ03: ; e0cdb
INCBIN "gfx/unknown/0e0cdb.2bpp.lz" INCBIN "gfx/card_flip/card_flip_3.2bpp.lz"
CardFlipOffButtonGFX: ; e0cf6 CardFlipOffButtonGFX: ; e0cf6
INCBIN "gfx/unknown/0e0cf6.2bpp" INCBIN "gfx/card_flip/off.2bpp"
CardFlipOnButtonGFX: ; e0d06 CardFlipOnButtonGFX: ; e0d06
INCBIN "gfx/unknown/0e0d06.2bpp" INCBIN "gfx/card_flip/on.2bpp"
CardFlipLZ01: ; e0d16 CardFlipLZ01: ; e0d16
INCBIN "gfx/unknown/0e0d16.2bpp.lz" INCBIN "gfx/card_flip/card_flip_1.2bpp.lz"
CardFlipLZ02: ; e0ea8 CardFlipLZ02: ; e0ea8
INCBIN "gfx/unknown/0e0ea8.2bpp.lz" INCBIN "gfx/card_flip/card_flip_2.2bpp.lz"
CardFlipTilemap: ; e110c CardFlipTilemap: ; e110c
db $ef, $15, $27, $2a, $2a, $06, $27, $2a, $2a, $06, $27 db $ef, $15, $27, $2a, $2a, $06, $27, $2a, $2a, $06, $27

View File

@ -66,7 +66,7 @@ RestartClock: ; 20021 (8:4021)
.SetClock: ; 20051 (8:4051) .SetClock: ; 20051 (8:4051)
ld a, 1 ld a, 1
ld [Buffer1], a ; which digit ld [Buffer1], a ; which digit
ld [Buffer2], a ; wd1eb (aliases: MovementType) ld [Buffer2], a
ld a, 8 ld a, 8
ld [Buffer3], a ld [Buffer3], a
call UpdateTime call UpdateTime
@ -151,7 +151,7 @@ RestartClock: ; 20021 (8:4021)
ret ret
.pressed_up .pressed_up
ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength) ld a, [Buffer1]
call ResetClock_GetWraparoundTime call ResetClock_GetWraparoundTime
ld a, [de] ld a, [de]
inc a inc a
@ -163,7 +163,7 @@ RestartClock: ; 20021 (8:4021)
jr .done_scroll jr .done_scroll
.pressed_down .pressed_down
ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength) ld a, [Buffer1]
call ResetClock_GetWraparoundTime call ResetClock_GetWraparoundTime
ld a, [de] ld a, [de]
dec a dec a
@ -176,14 +176,14 @@ RestartClock: ; 20021 (8:4021)
jr .done_scroll jr .done_scroll
.pressed_left .pressed_left
ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength) ld hl, Buffer1
dec [hl] dec [hl]
jr nz, .done_scroll jr nz, .done_scroll
ld [hl], $3 ld [hl], $3
jr .done_scroll jr .done_scroll
.pressed_right .pressed_right
ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength) ld hl, Buffer1
inc [hl] inc [hl]
ld a, [hl] ld a, [hl]
cp $4 cp $4
@ -209,14 +209,14 @@ RestartClock: ; 20021 (8:4021)
ld c, a ld c, a
decoord 11, 8 decoord 11, 8
callba PrintHoursMins callba PrintHoursMins
ld a, [Buffer2] ; wd1eb (aliases: MovementType) ld a, [Buffer2]
lb de, " ", " " lb de, " ", " "
call .PlaceChars call .PlaceChars
ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength) ld a, [Buffer1]
lb de, "▲", "▼" lb de, "▲", "▼"
call .PlaceChars call .PlaceChars
ld a, [Buffer1] ; wd1ea (aliases: MagikarpLength) ld a, [Buffer1]
ld [Buffer2], a ; wd1eb (aliases: MovementType) ld [Buffer2], a
ret ret
; 20160 (8:4160) ; 20160 (8:4160)

View File

@ -196,7 +196,7 @@ Credits:: ; 109847
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
ld [CreditsPos], a ld [CreditsPos], a
ld [wcd21], a ld [CreditsUnusedCD21], a
ld [CreditsTimer], a ld [CreditsTimer], a
.execution_loop .execution_loop
@ -491,7 +491,7 @@ ParseCredits: ; 1099aa
ld a, MUSIC_POST_CREDITS % $100 ld a, MUSIC_POST_CREDITS % $100
ld [MusicFadeID], a ld [MusicFadeID], a
ld a, MUSIC_POST_CREDITS / $100 ld a, MUSIC_POST_CREDITS / $100
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
ret ret
.get .get
@ -1303,9 +1303,9 @@ CreditsStrings:
.Copyright: .Copyright:
; (C) 1 9 9 5 - 2 0 0 1 N i n t e n d o ; (C) 1 9 9 5 - 2 0 0 1 N i n t e n d o
db $60,$61,$62,$63,$64,$65,$66, $67, $68, $69, $6a, $6b, $6c db $60,$61,$62,$63,$64,$65,$66,$67,$68,$69,$6a,$6b,$6c
; (C) 1 9 9 5 - 2 0 0 1 C r e a t u r e s i n c . ; (C) 1 9 9 5 - 2 0 0 1 C r e a t u r e s i n c .
next $60,$61,$62,$63,$64,$65,$66, $6d, $6e, $6f, $70, $71, $72, $7a, $7b, $7c next $60,$61,$62,$63,$64,$65,$66,$6d,$6e,$6f,$70,$71,$72, $7a,$7b,$7c
; (C) 1 9 9 5 - 2 0 0 1 G A M E F R E A K i n c . ; (C) 1 9 9 5 - 2 0 0 1 G A M E F R E A K i n c .
next $60,$61,$62,$63,$64,$65,$66, $73, $74, $75, $76, $77, $78, $79, $7a, $7b, $7c next $60,$61,$62,$63,$64,$65,$66,$73,$74,$75,$76,$77,$78,$79, $7a,$7b,$7c
db "@" db "@"

View File

@ -183,7 +183,7 @@ PlaceGameFreakPresents_2: ; e46ba
.place_presents .place_presents
ld [hl], 0 ld [hl], 0
ld hl, .presents ld hl, .presents
decoord 7,11 decoord 7, 11
ld bc, .end - .presents ld bc, .end - .presents
call CopyBytes call CopyBytes
call PlaceGameFreakPresents_AdvanceIndex call PlaceGameFreakPresents_AdvanceIndex
@ -773,7 +773,7 @@ IntroScene7: ; e4b3f (39:4b3f)
call Intro_ResetLYOverrides call Intro_ResetLYOverrides
callba ClearSpriteAnims callba ClearSpriteAnims
depixel 13, 27, 4, 0 depixel 13, 27, 4, 0
ld a, SPRITE_ANIM_INDEX_26 ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld a, $f0 ld a, $f0
ld [wGlobalAnimXOffset], a ld [wGlobalAnimXOffset], a
@ -866,7 +866,7 @@ IntroScene10: ; e4c4f (39:4c4f)
.pichu .pichu
depixel 21, 16, 1, 0 depixel 21, 16, 1, 0
ld a, SPRITE_ANIM_INDEX_27 ld a, SPRITE_ANIM_INDEX_INTRO_PICHU
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld de, SFX_INTRO_PICHU ld de, SFX_INTRO_PICHU
call PlaySFX call PlaySFX
@ -874,7 +874,7 @@ IntroScene10: ; e4c4f (39:4c4f)
.wooper .wooper
depixel 22, 6 depixel 22, 6
ld a, SPRITE_ANIM_INDEX_28 ld a, SPRITE_ANIM_INDEX_INTRO_WOOPER
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld de, SFX_INTRO_PICHU ld de, SFX_INTRO_PICHU
call PlaySFX call PlaySFX
@ -1054,7 +1054,7 @@ IntroScene13: ; e4d6d (39:4d6d)
ld [hWY], a ld [hWY], a
callba ClearSpriteAnims callba ClearSpriteAnims
depixel 13, 11, 4, 0 depixel 13, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_26 ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld de, MUSIC_CRYSTAL_OPENING ld de, MUSIC_CRYSTAL_OPENING
call PlayMusic call PlayMusic
@ -1165,10 +1165,10 @@ IntroScene15: ; e4e40 (39:4e40)
callba ClearSpriteAnims callba ClearSpriteAnims
call Intro_SetCGBPalUpdate call Intro_SetCGBPalUpdate
depixel 8, 5 depixel 8, 5
ld a, SPRITE_ANIM_INDEX_2A ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN_F
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
depixel 12, 0 depixel 12, 0
ld a, SPRITE_ANIM_INDEX_2B ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
xor a xor a
ld [wIntroSceneFrameCounter], a ld [wIntroSceneFrameCounter], a
@ -1317,7 +1317,7 @@ IntroScene19: ; e4f7e (39:4f7e)
ld [hl], $7f ld [hl], $7f
call Intro_SetCGBPalUpdate call Intro_SetCGBPalUpdate
depixel 12, 0 depixel 12, 0
ld a, SPRITE_ANIM_INDEX_2B ld a, SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
xor a xor a
ld [wIntroSceneFrameCounter], a ld [wIntroSceneFrameCounter], a
@ -1617,7 +1617,7 @@ Intro_Scene24_ApplyPaletteFade: ; e5172 (39:5172)
CrystalIntro_InitUnownAnim: ; e51dc (39:51dc) CrystalIntro_InitUnownAnim: ; e51dc (39:51dc)
push de push de
ld a, SPRITE_ANIM_INDEX_29 ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
@ -1627,7 +1627,7 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc)
pop de pop de
push de push de
ld a, SPRITE_ANIM_INDEX_29 ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
@ -1637,7 +1637,7 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc)
pop de pop de
push de push de
ld a, SPRITE_ANIM_INDEX_29 ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
@ -1646,7 +1646,7 @@ CrystalIntro_InitUnownAnim: ; e51dc (39:51dc)
call ReinitSpriteAnimFrame call ReinitSpriteAnimFrame
pop de pop de
ld a, SPRITE_ANIM_INDEX_29 ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc

View File

@ -908,16 +908,16 @@ DecoAction_putawayornament: ; 26dc9
DecoAction_FinishUp_Ornament: ; 26dd6 DecoAction_FinishUp_Ornament: ; 26dd6
call QueryWhichSide call QueryWhichSide
ld a, [wd1ec] ld a, [wSelectedDecoration]
ld [hl], a ld [hl], a
ld a, [wd1ed] ld a, [wOtherDecoration]
ld [de], a ld [de], a
xor a xor a
ret ret
; 26de3 ; 26de3
DecoAction_SetItUp_Ornament: ; 26de3 DecoAction_SetItUp_Ornament: ; 26de3
ld a, [wd1ec] ld a, [wSelectedDecoration]
and a and a
jr z, .nothingthere jr z, .nothingthere
ld b, a ld b, a
@ -931,7 +931,7 @@ DecoAction_SetItUp_Ornament: ; 26de3
ld hl, StringBuffer4 ld hl, StringBuffer4
call GetDecorationName call GetDecorationName
ld a, [MenuSelection] ld a, [MenuSelection]
ld [wd1ec], a ld [wSelectedDecoration], a
call .getwhichside call .getwhichside
ld hl, DecoText_PutAwayAndSetUp ld hl, DecoText_PutAwayAndSetUp
call MenuTextBoxBackup call MenuTextBoxBackup
@ -940,7 +940,7 @@ DecoAction_SetItUp_Ornament: ; 26de3
.nothingthere .nothingthere
ld a, [MenuSelection] ld a, [MenuSelection]
ld [wd1ec], a ld [wSelectedDecoration], a
call .getwhichside call .getwhichside
ld a, [MenuSelection] ld a, [MenuSelection]
ld hl, StringBuffer3 ld hl, StringBuffer3
@ -960,11 +960,11 @@ DecoAction_SetItUp_Ornament: ; 26de3
.getwhichside ; 26e33 .getwhichside ; 26e33
ld a, [MenuSelection] ld a, [MenuSelection]
ld b, a ld b, a
ld a, [wd1ed] ld a, [wOtherDecoration]
cp b cp b
ret nz ret nz
xor a xor a
ld [wd1ed], a ld [wOtherDecoration], a
ret ret
; 26e41 ; 26e41
@ -975,7 +975,7 @@ UnknownText_0x26e41: ; 0x26e41
; 0x26e46 ; 0x26e46
DecoAction_PutItAway_Ornament: ; 26e46 DecoAction_PutItAway_Ornament: ; 26e46
ld a, [wd1ec] ld a, [wSelectedDecoration]
and a and a
jr z, .nothingthere jr z, .nothingthere
ld hl, StringBuffer3 ld hl, StringBuffer3
@ -983,7 +983,7 @@ DecoAction_PutItAway_Ornament: ; 26e46
ld a, $1 ld a, $1
ld [Buffer5], a ld [Buffer5], a
xor a xor a
ld [wd1ec], a ld [wSelectedDecoration], a
ld hl, DecoText_PutAwayTheDeco ld hl, DecoText_PutAwayTheDeco
call MenuTextBoxBackup call MenuTextBoxBackup
xor a xor a
@ -1015,9 +1015,9 @@ DecoAction_AskWhichSide: ; 26e70
ld [Buffer2], a ld [Buffer2], a
call QueryWhichSide call QueryWhichSide
ld a, [hl] ld a, [hl]
ld [wd1ec], a ld [wSelectedDecoration], a
ld a, [de] ld a, [de]
ld [wd1ed], a ld [wOtherDecoration], a
xor a xor a
ret ret

View File

@ -85,10 +85,10 @@ PrintDiplomaPage2: ; 1dd7ae
; 1dd805 ; 1dd805
DiplomaGFX: ; 1dd805 DiplomaGFX: ; 1dd805
INCBIN "gfx/unknown/1dd805.2bpp.lz" INCBIN "gfx/diploma/diploma.2bpp.lz"
DiplomaPage1Tilemap: ; 1ddc4b DiplomaPage1Tilemap: ; 1ddc4b
INCBIN "gfx/unknown/1ddc4b.tilemap" INCBIN "gfx/diploma/page1.tilemap"
DiplomaPage2Tilemap: ; 1dddb3 DiplomaPage2Tilemap: ; 1dddb3
INCBIN "gfx/unknown/1dddb3.tilemap" INCBIN "gfx/diploma/page2.tilemap"

View File

@ -109,7 +109,7 @@ endr
.spawn_object .spawn_object
depixel 6, 3, 4, 4 depixel 6, 3, 4, 4
ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ld a, SPRITE_ANIM_INDEX_DUMMY_GAME
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld a, 5 ld a, 5
ld [wDummyGameNumberTriesRemaining], a ld [wDummyGameNumberTriesRemaining], a
@ -609,4 +609,4 @@ DummyGame_InterpretJoypad_AnimateCursor: ; e21a1 (38:61a1)
; e2221 (38:6221) ; e2221 (38:6221)
LZ_e2221: ; e2221 LZ_e2221: ; e2221
INCBIN "gfx/unknown/0e2221.2bpp.lz" INCBIN "gfx/dummy_game/dummy_game.2bpp.lz"

View File

@ -208,7 +208,7 @@ ENDM
engine_flag WeeklyFlags, 6 ; move tutor engine_flag WeeklyFlags, 6 ; move tutor
engine_flag WeeklyFlags, 7 ; buenas password engine_flag WeeklyFlags, 7 ; buenas password
engine_flag SwarmFlags, 0 ; $60 engine_flag SwarmFlags, 0 ; buenas password 2
engine_flag SwarmFlags, 1 ; goldenrod dept store sale is on engine_flag SwarmFlags, 1 ; goldenrod dept store sale is on
engine_flag GameTimerPause, 7 ; $62 engine_flag GameTimerPause, 7 ; $62

View File

@ -627,7 +627,7 @@ CmdQueue_StoneTable: ; 97f42
ld hl, OBJECT_MOVEMENTTYPE ld hl, OBJECT_MOVEMENTTYPE
add hl, de add hl, de
ld a, [hl] ld a, [hl]
cp STEP_TYPE_SKYFALL_TOP cp SPRITEMOVEDATA_STRENGTH_BOULDER
jr nz, .next jr nz, .next
ld hl, OBJECT_NEXT_TILE ld hl, OBJECT_NEXT_TILE

View File

@ -850,9 +850,9 @@ LoadFishingGFX: ; b84b3
; b84f2 ; b84f2
FishingGFX: ; b84f2 FishingGFX: ; b84f2
INCBIN "gfx/overworld/chris_fish.2bpp" INCBIN "gfx/ow_fx/chris_fish.2bpp"
; b8582 ; b8582
KrisFishingGFX: ; b8582 KrisFishingGFX: ; b8582
INCBIN "gfx/overworld/kris_fish.2bpp" INCBIN "gfx/ow_fx/kris_fish.2bpp"
; b8612 ; b8612

View File

@ -316,7 +316,7 @@ EvolutionAnimation: ; 4e5e1
.GenerateBallOfLight: ; 4e7e8 .GenerateBallOfLight: ; 4e7e8
push de push de
depixel 9, 11 depixel 9, 11
ld a, SPRITE_ANIM_INDEX_13 ld a, SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc

View File

@ -1,4 +1,5 @@
Facings: ; 4049 Facings: ; 4049
; entries correspond to FACING_* constants
dw FacingStepDown0 dw FacingStepDown0
dw FacingStepDown1 dw FacingStepDown1
dw FacingStepDown2 dw FacingStepDown2
@ -31,7 +32,8 @@ Facings: ; 4049
dw FacingBoulderDust2 dw FacingBoulderDust2
dw FacingGrass1 dw FacingGrass1
dw FacingGrass2 dw FacingGrass2
FacingsEnd: dw 0 FacingsEnd:
dw 0
NUM_FACINGS EQU (FacingsEnd - Facings) / 2 NUM_FACINGS EQU (FacingsEnd - Facings) / 2
@ -41,12 +43,6 @@ NUM_FACINGS EQU (FacingsEnd - Facings) / 2
; Format: ; Format:
; db y, x, attributes, tile index ; db y, x, attributes, tile index
; Attributes:
X_FLIP EQU 1 << OAM_X_FLIP
Y_FLIP EQU 1 << OAM_Y_FLIP
BEHIND_BG EQU 1 << OAM_PRIORITY
FacingStepDown0: FacingStepDown0:
FacingStepDown2: FacingStepDown2:
FacingWeirdTree0: FacingWeirdTree0:

View File

@ -137,7 +137,7 @@ HealMachineAnim: ; 12324
; 123fc ; 123fc
.HealMachineGFX: ; 123fc .HealMachineGFX: ; 123fc
INCBIN "gfx/unknown/0123fc.2bpp" INCBIN "gfx/ow_fx/heal_machine.2bpp"
; 1241c ; 1241c
.HOF_OAM: ; 1241c .HOF_OAM: ; 1241c

View File

@ -68,9 +68,9 @@ InitGenderScreen: ; 48e14 (12:4e14)
ld a, $10 ld a, $10
ld [MusicFade], a ld [MusicFade], a
ld a, MUSIC_NONE ld a, MUSIC_NONE
ld [MusicFadeIDLo], a ld [MusicFadeID], a
ld a, $0 ld a, $0
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
ld c, 8 ld c, 8
call DelayFrames call DelayFrames
call ClearBGPalettes call ClearBGPalettes

View File

@ -111,8 +111,8 @@ _ResetWRAM: ; 5bae
xor a xor a
call ByteFill call ByteFill
ld hl, wd000 ld hl, wRAM1Start
ld bc, wGameData - wd000 ld bc, wGameData - wRAM1Start
xor a xor a
call ByteFill call ByteFill
@ -375,9 +375,9 @@ Continue: ; 5d65
ld a, $8 ld a, $8
ld [MusicFade], a ld [MusicFade], a
ld a, MUSIC_NONE % $100 ld a, MUSIC_NONE % $100
ld [MusicFadeIDLo], a ld [MusicFadeID], a
ld a, MUSIC_NONE / $100 ld a, MUSIC_NONE / $100
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
call ClearBGPalettes call ClearBGPalettes
call Continue_MobileAdapterMenu call Continue_MobileAdapterMenu
call CloseWindow call CloseWindow
@ -429,9 +429,9 @@ Continue_MobileAdapterMenu: ; 5df0
ld a, 5 ld a, 5
ld [MusicFade], a ld [MusicFade], a
ld a, MUSIC_MOBILE_ADAPTER_MENU % $100 ld a, MUSIC_MOBILE_ADAPTER_MENU % $100
ld [MusicFadeIDLo], a ld [MusicFadeID], a
ld a, MUSIC_MOBILE_ADAPTER_MENU / $100 ld a, MUSIC_MOBILE_ADAPTER_MENU / $100
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
ld c, 20 ld c, 20
call DelayFrames call DelayFrames
ld c, $1 ld c, $1
@ -440,9 +440,9 @@ Continue_MobileAdapterMenu: ; 5df0
ld a, 8 ld a, 8
ld [MusicFade], a ld [MusicFade], a
ld a, MUSIC_NONE % $100 ld a, MUSIC_NONE % $100
ld [MusicFadeIDLo], a ld [MusicFadeID], a
ld a, MUSIC_NONE / $100 ld a, MUSIC_NONE / $100
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
ld c, 35 ld c, 35
call DelayFrames call DelayFrames
ret ret
@ -859,9 +859,9 @@ ShrinkPlayer: ; 610f
ld [MusicFade], a ld [MusicFade], a
ld de, MUSIC_NONE ld de, MUSIC_NONE
ld a, e ld a, e
ld [MusicFadeIDLo], a ld [MusicFadeID], a
ld a, d ld a, d
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
ld de, SFX_ESCAPE_ROPE ld de, SFX_ESCAPE_ROPE
call PlaySFX call PlaySFX
@ -1051,7 +1051,7 @@ StartTitleScreen: ; 6219
ld b, SCGB_DIPLOMA ld b, SCGB_DIPLOMA
call GetSGBLayout call GetSGBLayout
call UpdateTimePals call UpdateTimePals
ld a, [wcf64] ld a, [wIntroSceneFrameCounter]
cp $5 cp $5
jr c, .ok jr c, .ok
xor a xor a
@ -1191,7 +1191,7 @@ TitleScreenTimer: ; 62f6
inc [hl] inc [hl]
; Start a timer ; Start a timer
ld hl, wcf65 ld hl, wTitleScreenTimer
ld de, 73 * 60 + 36 ld de, 73 * 60 + 36
ld [hl], e ld [hl], e
inc hl inc hl
@ -1202,7 +1202,7 @@ TitleScreenTimer: ; 62f6
TitleScreenMain: ; 6304 TitleScreenMain: ; 6304
; Run the timer down. ; Run the timer down.
ld hl, wcf65 ld hl, wTitleScreenTimer
ld e, [hl] ld e, [hl]
inc hl inc hl
ld d, [hl] ld d, [hl]
@ -1268,7 +1268,7 @@ TitleScreenMain: ; 6304
ld a, 1 ld a, 1
.done .done
ld [wcf64], a ld [wIntroSceneFrameCounter], a
; Return to the intro sequence. ; Return to the intro sequence.
ld hl, wJumptableIndex ld hl, wJumptableIndex
@ -1282,18 +1282,18 @@ TitleScreenMain: ; 6304
; Fade out the title screen music ; Fade out the title screen music
xor a xor a
ld [MusicFadeIDLo], a ld [MusicFadeID], a
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
ld hl, MusicFade ld hl, MusicFade
ld [hl], 8 ; 1 second ld [hl], 8 ; 1 second
ld hl, wcf65 ld hl, wTitleScreenTimer
inc [hl] inc [hl]
ret ret
.clock_reset .clock_reset
ld a, 4 ld a, 4
ld [wcf64], a ld [wIntroSceneFrameCounter], a
; Return to the intro sequence. ; Return to the intro sequence.
ld hl, wJumptableIndex ld hl, wJumptableIndex
@ -1305,7 +1305,7 @@ TitleScreenEnd: ; 6375
; Wait until the music is done fading. ; Wait until the music is done fading.
ld hl, wcf65 ld hl, wTitleScreenTimer
inc [hl] inc [hl]
ld a, [MusicFade] ld a, [MusicFade]
@ -1313,7 +1313,7 @@ TitleScreenEnd: ; 6375
ret nz ret nz
ld a, 2 ld a, 2
ld [wcf64], a ld [wIntroSceneFrameCounter], a
; Back to the intro. ; Back to the intro.
ld hl, wJumptableIndex ld hl, wJumptableIndex
@ -1332,8 +1332,8 @@ ResetClock: ; 6392
; 639b ; 639b
Function639b: ; unreferenced Function639b: ; unreferenced
; If bit 0 or 1 of [wcf65] is set, we don't need to be here. ; If bit 0 or 1 of [wTitleScreenTimer] is set, we don't need to be here.
ld a, [wcf65] ld a, [wTitleScreenTimer]
and $3 and $3
ret nz ret nz
ld bc, SpriteAnim10 ld bc, SpriteAnim10
@ -1345,8 +1345,8 @@ Function639b: ; unreferenced
add hl, hl add hl, hl
ld de, Data63ca ld de, Data63ca
add hl, de add hl, de
; If bit 2 of [wcf65] is set, get the second dw; else, get the first dw ; If bit 2 of [wTitleScreenTimer] is set, get the second dw; else, get the first dw
ld a, [wcf65] ld a, [wTitleScreenTimer]
and %00000100 and %00000100
srl a srl a
srl a srl a

View File

@ -331,7 +331,7 @@ ReceiveKeyItem: ; d35a
ret ret
TossKeyItem: ; d374 TossKeyItem: ; d374
ld a, [wd107] ld a, [CurItemQuantity]
ld e, a ld e, a
ld d, 0 ld d, 0
ld hl, NumKeyItems ld hl, NumKeyItems

View File

@ -390,7 +390,7 @@ Gen2ToGen2LinkComms: ; 28177
ld [de], a ld [de], a
.skip_mail .skip_mail
ld hl, wLinkData ld hl, wLinkPlayerName
ld de, OTPlayerName ld de, OTPlayerName
ld bc, NAME_LENGTH ld bc, NAME_LENGTH
call CopyBytes call CopyBytes
@ -1143,7 +1143,7 @@ TimeCapsule_ReplaceTeruSama: ; 28771
db ITEM_BE, BERRY db ITEM_BE, BERRY
db ITEM_C3, BERRY db ITEM_C3, BERRY
db ITEM_DC, BERRY db ITEM_DC, BERRY
db HM_08, BERRY db ITEM_FA, BERRY
db -1, BERRY db -1, BERRY
db 0 db 0
; 2879e ; 2879e

View File

@ -1,5 +1,5 @@
LinkCommsBorderGFX: LinkCommsBorderGFX:
INCBIN "gfx/unknown/16cfc1.2bpp" INCBIN "gfx/trade/border_tiles.2bpp"
; 16d421 ; 16d421
__LoadTradeScreenBorder: ; 16d421 __LoadTradeScreenBorder: ; 16d421
@ -35,13 +35,13 @@ Function16d43b: ; 16d43b
; 16d465 ; 16d465
Tilemap_16d465: Tilemap_16d465:
INCBIN "gfx/unknown/16d465.tilemap" INCBIN "gfx/trade/border_mobile_fullscreen.tilemap"
Tilemap_16d5cd: Tilemap_16d5cd:
INCBIN "gfx/unknown/16d5cd.tilemap" INCBIN "gfx/trade/border_cable_top.tilemap"
Tilemap_16d5f5: Tilemap_16d5f5:
INCBIN "gfx/unknown/16d5f5.tilemap" INCBIN "gfx/trade/border_cable_bottom.tilemap"
_LinkTextbox: ; 16d61d _LinkTextbox: ; 16d61d
ld h, d ld h, d

View File

@ -1,36 +1,22 @@
ld hl, OBJECT_ACTION PersonActionPairPointers: ; 445f
add hl, bc ; entries correspond to PERSON_ACTION_* constants
ld a, [hl] dw SetFacingStanding, SetFacingStanding
ld l, a dw SetFacingStandAction, SetFacingCurrent
ld h, 0 dw SetFacingStepAction, SetFacingCurrent
add hl, hl dw SetFacingBumpAction, SetFacingCurrent
add hl, hl dw SetFacingCounterclockwiseSpin, SetFacingCurrent
add hl, de dw SetFacingCounterclockwiseSpin2, SetFacingStanding
ld a, [hli] dw SetFacingFish, SetFacingFish
ld h, [hl] dw SetFacingShadow, SetFacingStanding
ld l, a dw SetFacingEmote, SetFacingEmote
call _hl_ dw SetFacingBigDollSym, SetFacingBigDollSym
ret dw SetFacingBounce, SetFacingFreezeBounce
; 445f dw SetFacingWeirdTree, SetFacingCurrent
dw SetFacingBigDollAsym, SetFacingBigDollAsym
Pointers445f: ; 445f dw SetFacingBigDoll, SetFacingBigDoll
dw SetFacingStanding, SetFacingStanding ; 00 dw SetFacingBoulderDust, SetFacingStanding
dw SetFacingStandAction, SetFacingCurrent ; 01 standing? dw SetFacingGrassShake, SetFacingStanding
dw SetFacingStepAction, SetFacingCurrent ; 02 walking? dw SetFacingSkyfall, SetFacingCurrent
dw SetFacingBumpAction, SetFacingCurrent ; 03 bumping?
dw SetFacingCounterclockwiseSpin, SetFacingCurrent ; 04
dw SetFacingCounterclockwiseSpin2, SetFacingStanding ; 05
dw SetFacingFish, SetFacingFish ; 06
dw SetFacingShadow, SetFacingStanding ; 07
dw SetFacingEmote, SetFacingEmote ; 08
dw SetFacingBigDollSym, SetFacingBigDollSym ; 09
dw SetFacingBounce, SetFacingFreezeBounce ; 0a
dw SetFacingWeirdTree, SetFacingCurrent ; 0b
dw SetFacingBigDollAsym, SetFacingBigDollAsym ; 0c
dw SetFacingBigDoll, SetFacingBigDoll ; 0d
dw SetFacingBoulderDust, SetFacingStanding ; 0e
dw SetFacingGrassShake, SetFacingStanding ; 0f
dw SetFacingSkyfall, SetFacingCurrent ; 10
; 44a3 ; 44a3
SetFacingStanding: ; 44a3 SetFacingStanding: ; 44a3

View File

@ -155,8 +155,8 @@ Function437b: ; 437b
jr nz, SetFacingStanding jr nz, SetFacingStanding
bit 5, [hl] bit 5, [hl]
jr nz, asm_4448 jr nz, asm_4448
ld de, Pointers445f ; use first column ld de, PersonActionPairPointers ; use first column
jr asm_444d jr _HandleObjectAction
; 4440 ; 4440
Function4440: ; 4440 Function4440: ; 4440
@ -164,13 +164,28 @@ Function4440: ; 4440
add hl, bc add hl, bc
bit INVISIBLE, [hl] bit INVISIBLE, [hl]
jr nz, SetFacingStanding jr nz, SetFacingStanding
asm_4448 ; use second column asm_4448
ld de, Pointers445f + 2 ld de, PersonActionPairPointers + 2 ; use second column
jr asm_444d jr _HandleObjectAction
; 444d ; 444d
asm_444d _HandleObjectAction
; call [4 * ObjectStructs[ObjInd, OBJECT_ACTION] + de] ; call [4 * ObjectStructs[ObjInd, OBJECT_ACTION] + de]
ld hl, OBJECT_ACTION
add hl, bc
ld a, [hl]
ld l, a
ld h, 0
add hl, hl
add hl, hl
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
call _hl_
ret
; 445f
INCLUDE "engine/map_object_action.asm" INCLUDE "engine/map_object_action.asm"
CopyNextCoordsTileToStandingCoordsTile: ; 4600 CopyNextCoordsTileToStandingCoordsTile: ; 4600
@ -535,6 +550,7 @@ MapObjectMovementPattern: ; 47dd
ret ret
.Pointers: ; 47e9 .Pointers: ; 47e9
; entries correspond to SPRITEMOVEFN_* constants
dw .Null_00 ; 00 dw .Null_00 ; 00
dw .RandomWalkY ; 01 dw .RandomWalkY ; 01
dw .RandomWalkX ; 02 dw .RandomWalkX ; 02
@ -1085,7 +1101,7 @@ SetRandomStepDuration: ; 4b2d
; 4b45 ; 4b45
StepTypesJumptable: ; 4b45 StepTypesJumptable: ; 4b45
; These pointers use OBJECT_STEP_TYPE. See constants/sprite_constants.asm ; entries correspond to STEP_TYPE_* constants
dw ObjectMovementReset ; 00 dw ObjectMovementReset ; 00
dw MapObjectMovementPattern ; unused dw MapObjectMovementPattern ; unused
dw NPCStep ; 02 npc walk dw NPCStep ; 02 npc walk

View File

@ -414,9 +414,9 @@ RetainOldPalettes: ; 1556d
RotatePalettesRightMapAndMusic: ; 15574 RotatePalettesRightMapAndMusic: ; 15574
ld e, 0 ld e, 0
ld a, [MusicFadeIDLo] ld a, [MusicFadeID]
ld d, 0 ld d, 0
ld a, [MusicFadeIDHi] ld a, [MusicFadeID + 1]
ld a, $4 ld a, $4
ld [MusicFade], a ld [MusicFade], a
call RotateThreePalettesRight call RotateThreePalettesRight

View File

@ -370,9 +370,9 @@ BuyMenu: ; 15c62
call FadeToMenu call FadeToMenu
callba BlankScreen callba BlankScreen
xor a xor a
ld [wd045 + 1], a ld [wMenuScrollPositionBackup], a
ld a, 1 ld a, 1
ld [wd045], a ld [wMenuCursorBufferBackup], a
.loop .loop
call BuyMenuLoop ; menu loop call BuyMenuLoop ; menu loop
jr nc, .loop jr nc, .loop
@ -471,15 +471,15 @@ BuyMenuLoop: ; 15cef
call UpdateSprites call UpdateSprites
ld hl, MenuDataHeader_Buy ld hl, MenuDataHeader_Buy
call CopyMenuDataHeader call CopyMenuDataHeader
ld a, [wd045] ld a, [wMenuCursorBufferBackup]
ld [wMenuCursorBuffer], a ld [wMenuCursorBuffer], a
ld a, [wd045 + 1] ld a, [wMenuScrollPositionBackup]
ld [wMenuScrollPosition], a ld [wMenuScrollPosition], a
call ScrollingMenu call ScrollingMenu
ld a, [wMenuScrollPosition] ld a, [wMenuScrollPosition]
ld [wd045 + 1], a ld [wMenuScrollPositionBackup], a
ld a, [wMenuCursorY] ld a, [wMenuCursorY]
ld [wd045], a ld [wMenuCursorBufferBackup], a
call SpeechTextBox call SpeechTextBox
ld a, [wMenuJoypad] ld a, [wMenuJoypad]
cp B_BUTTON cp B_BUTTON

View File

@ -178,7 +178,7 @@ InitPartyMenuIcon: ; 8e908 (23:6908)
; x coord ; x coord
ld e, $10 ld e, $10
; type is partymon icon ; type is partymon icon
ld a, SPRITE_ANIM_INDEX_00 ld a, SPRITE_ANIM_INDEX_PARTY_MON
call InitSpriteAnimStruct call InitSpriteAnimStruct
pop af pop af
ld hl, SPRITEANIMSTRUCT_TILE_ID ld hl, SPRITEANIMSTRUCT_TILE_ID
@ -215,7 +215,9 @@ SetPartyMonIconAnimSpeed: ; 8e936 (23:6936)
; 8e95e (23:695e) ; 8e95e (23:695e)
.speeds ; 8e95e .speeds ; 8e95e
db $00, $40, $80 db $00 ; HP_GREEN
db $40 ; HP_YELLOW
db $80 ; HP_RED
; 8e961 ; 8e961
NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961) NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961)
@ -225,7 +227,7 @@ NamingScreen_InitAnimatedMonIcon: ; 8e961 (23:6961)
xor a xor a
call GetIconGFX call GetIconGFX
depixel 4, 4, 4, 0 depixel 4, 4, 4, 0
ld a, SPRITE_ANIM_INDEX_00 ld a, SPRITE_ANIM_INDEX_PARTY_MON
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc add hl, bc
@ -238,9 +240,9 @@ MoveList_InitAnimatedMonIcon: ; 8e97d (23:697d)
ld [CurIcon], a ld [CurIcon], a
xor a xor a
call GetIconGFX call GetIconGFX
ld d, 3 * 8 + 2 ld d, 3 * 8 + 2 ; depixel 3, 4, 2, 4
ld e, 4 * 8 + 4 ld e, 4 * 8 + 4
ld a, SPRITE_ANIM_INDEX_00 ld a, SPRITE_ANIM_INDEX_PARTY_MON
call InitSpriteAnimStruct call InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc add hl, bc
@ -376,7 +378,7 @@ FreezeMonIcons: ; 8ea4a
jr .ok jr .ok
.loadwithtwo .loadwithtwo
ld a, SPRITE_ANIM_SEQ_02 ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
.ok .ok
push hl push hl
@ -407,7 +409,7 @@ UnfreezeMonIcons: ; 8ea71
ld b, h ld b, h
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc add hl, bc
ld [hl], SPRITE_ANIM_SEQ_01 ld [hl], SPRITE_ANIM_SEQ_PARTY_MON
pop hl pop hl
.next .next
ld bc, $10 ld bc, $10
@ -428,11 +430,11 @@ HoldSwitchmonIcon: ; 8ea8c
jr z, .next jr z, .next
cp d cp d
jr z, .is_switchmon jr z, .is_switchmon
ld a, SPRITE_ANIM_SEQ_03 ld a, SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
jr .join_back jr .join_back
.is_switchmon .is_switchmon
ld a, SPRITE_ANIM_SEQ_02 ld a, SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
.join_back .join_back
push hl push hl
ld c, l ld c, l

View File

@ -9,8 +9,7 @@ MonMenuOptionStrings: ; 24caf
; 24cd9 ; 24cd9
MonMenuOptions: ; 24cd9 MonMenuOptions: ; 24cd9
; moves
; Moves
db MONMENU_FIELD_MOVE, MONMENU_CUT, CUT db MONMENU_FIELD_MOVE, MONMENU_CUT, CUT
db MONMENU_FIELD_MOVE, MONMENU_FLY, FLY db MONMENU_FIELD_MOVE, MONMENU_FLY, FLY
db MONMENU_FIELD_MOVE, MONMENU_SURF, SURF db MONMENU_FIELD_MOVE, MONMENU_SURF, SURF
@ -25,8 +24,7 @@ MonMenuOptions: ; 24cd9
db MONMENU_FIELD_MOVE, MONMENU_ROCKSMASH, ROCK_SMASH db MONMENU_FIELD_MOVE, MONMENU_ROCKSMASH, ROCK_SMASH
db MONMENU_FIELD_MOVE, MONMENU_MILKDRINK, MILK_DRINK db MONMENU_FIELD_MOVE, MONMENU_MILKDRINK, MILK_DRINK
db MONMENU_FIELD_MOVE, MONMENU_SWEETSCENT, SWEET_SCENT db MONMENU_FIELD_MOVE, MONMENU_SWEETSCENT, SWEET_SCENT
; options
; Options
db MONMENU_MENUOPTION, MONMENU_STATS, 1 ; STATS db MONMENU_MENUOPTION, MONMENU_STATS, 1 ; STATS
db MONMENU_MENUOPTION, MONMENU_SWITCH, 2 ; SWITCH db MONMENU_MENUOPTION, MONMENU_SWITCH, 2 ; SWITCH
db MONMENU_MENUOPTION, MONMENU_ITEM, 3 ; ITEM db MONMENU_MENUOPTION, MONMENU_ITEM, 3 ; ITEM
@ -34,7 +32,6 @@ MonMenuOptions: ; 24cd9
db MONMENU_MENUOPTION, MONMENU_MOVE, 5 ; MOVE db MONMENU_MENUOPTION, MONMENU_MOVE, 5 ; MOVE
db MONMENU_MENUOPTION, MONMENU_MAIL, 6 ; MAIL db MONMENU_MENUOPTION, MONMENU_MAIL, 6 ; MAIL
db MONMENU_MENUOPTION, MONMENU_ERROR, 7 ; ERROR! db MONMENU_MENUOPTION, MONMENU_ERROR, 7 ; ERROR!
db -1 db -1
; 24d19 ; 24d19
@ -216,7 +213,7 @@ GetMonSubmenuItems: ; 24dd4
.skip2 .skip2
ld a, [Buffer1] ld a, [Buffer1]
cp NUM_MON_SUBMENU_ITEMS cp NUM_MONMENU_ITEMS
jr z, .ok2 jr z, .ok2
ld a, MONMENU_CANCEL ld a, MONMENU_CANCEL
call AddMonMenuItem call AddMonMenuItem
@ -261,7 +258,7 @@ ResetMonSubmenu: ; 24e68
xor a xor a
ld [Buffer1], a ld [Buffer1], a
ld hl, Buffer2 ld hl, Buffer2
ld bc, NUM_MON_SUBMENU_ITEMS + 1 ld bc, NUM_MONMENU_ITEMS + 1
call ByteFill call ByteFill
ret ret
; 24e76 ; 24e76

View File

@ -1543,7 +1543,7 @@ CalcPkmnStatC: ; e17b
call Divide call Divide
ld a, c ld a, c
cp STAT_HP cp STAT_HP
ld a, 5 ld a, STAT_MIN_NORMAL
jr nz, .not_hp jr nz, .not_hp
ld a, [CurPartyLevel] ld a, [CurPartyLevel]
ld b, a ld b, a
@ -1556,7 +1556,7 @@ CalcPkmnStatC: ; e17b
ld [hMultiplicand + 1], a ld [hMultiplicand + 1], a
.no_overflow_3 .no_overflow_3
ld a, 10 ld a, STAT_MIN_HP
.not_hp .not_hp
ld b, a ld b, a

View File

@ -815,7 +815,7 @@ Function104e93: ; 104e93 (41:4e93)
ld c, rRP % $100 ld c, rRP % $100
ld d, $3d ld d, $3d
call Function104dd1 call Function104dd1
ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) ld hl, hPrintNum2
ld a, $5a ld a, $5a
ld [hli], a ld [hli], a
ld [hl], b ld [hl], b
@ -830,7 +830,7 @@ Function104e93: ; 104e93 (41:4e93)
ld a, [hPrintNum6] ld a, [hPrintNum6]
ld [hPrintNum3], a ld [hPrintNum3], a
push hl push hl
ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) ld hl, hPrintNum2
ld b, $2 ld b, $2
call Function104ed6 call Function104ed6
ld hl, hMGStatusFlags ld hl, hMGStatusFlags
@ -934,7 +934,7 @@ Function104f57: ; 104f57 (41:4f57)
ld [hPrintNum6], a ld [hPrintNum6], a
push bc push bc
push hl push hl
ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) ld hl, hPrintNum2
ld b, $2 ld b, $2
call Function104faf call Function104faf
ld a, [hPrintNum3] ld a, [hPrintNum3]
@ -954,11 +954,11 @@ Function104f57: ; 104f57 (41:4f57)
ld e, a ld e, a
push hl push hl
push de push de
ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) ld hl, hPrintNum2
ld b, $2 ld b, $2
call Function104faf call Function104faf
pop de pop de
ld hl, hPrintNum2 ; $ffb4 (aliases: hMultiplicand) ld hl, hPrintNum2
ld a, [hli] ld a, [hli]
xor d xor d
ld b, a ld b, a

View File

@ -9,7 +9,7 @@ PrepMysteryGiftDataToSend: ; 2c642 (b:4642)
ld a, [hli] ld a, [hli]
ld [de], a ld [de], a
ld b, a ld b, a
inc de inc de ; wc802
ld a, [hl] ld a, [hl]
ld [de], a ld [de], a
ld c, a ld c, a

View File

@ -419,7 +419,7 @@ NamingScreenJoypadLoop: ; 11915
jr nz, .got_cursor_position jr nz, .got_cursor_position
ld d, 8 * 8 ld d, 8 * 8
.got_cursor_position .got_cursor_position
ld a, SPRITE_ANIM_INDEX_02 ld a, SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld a, c ld a, c
ld [wNamingScreenCursorObjectPointer], a ld [wNamingScreenCursorObjectPointer], a
@ -946,11 +946,11 @@ LoadNamingScreenGFX: ; 11c51
; 11cb7 ; 11cb7
NamingScreenGFX_Border: ; 11cb7 NamingScreenGFX_Border: ; 11cb7
INCBIN "gfx/unknown/011cb7.2bpp" INCBIN "gfx/namingscreen/border.2bpp"
; 11cc7 ; 11cc7
NamingScreenGFX_Cursor: ; 11cc7 NamingScreenGFX_Cursor: ; 11cc7
INCBIN "gfx/unknown/011cc7.2bpp" INCBIN "gfx/namingscreen/cursor.2bpp"
; 11ce7 ; 11ce7
NameInputLower: NameInputLower:
@ -985,16 +985,16 @@ BoxNameInputUpper:
; 11e5d ; 11e5d
GFX_11e5d: ; ???? NamingScreenGFX_End: ; unused
INCBIN "gfx/unknown/011e5d.1bpp" INCBIN "gfx/namingscreen/end.1bpp"
; 11e6d ; 11e6d
NamingScreenGFX_MiddleLine: NamingScreenGFX_MiddleLine:
INCBIN "gfx/unknown/011e65.1bpp" INCBIN "gfx/namingscreen/middle_line.1bpp"
; 11e6d ; 11e6d
NamingScreenGFX_UnderLine: ; 11e6d NamingScreenGFX_UnderLine: ; 11e6d
INCBIN "gfx/unknown/011e6d.1bpp" INCBIN "gfx/namingscreen/underline.1bpp"
; 11e75 ; 11e75
_ComposeMailMessage: ; 11e75 (mail?) _ComposeMailMessage: ; 11e75 (mail?)
@ -1039,7 +1039,7 @@ _ComposeMailMessage: ; 11e75 (mail?)
; init mail icon ; init mail icon
depixel 3, 2 depixel 3, 2
ld a, SPRITE_ANIM_INDEX_00 ld a, SPRITE_ANIM_INDEX_PARTY_MON
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
@ -1174,7 +1174,7 @@ INCBIN "gfx/icon/mail2.2bpp"
.init_blinking_cursor ; 1201b (4:601b) .init_blinking_cursor ; 1201b (4:601b)
depixel 9, 2 depixel 9, 2
ld a, SPRITE_ANIM_INDEX_09 ld a, SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld a, c ld a, c
ld [wNamingScreenCursorObjectPointer], a ld [wNamingScreenCursorObjectPointer], a

View File

@ -181,7 +181,7 @@ MapCallbackSprites_LoadUsedSpritesGFX: ; 14209
callba LoadEmote callba LoadEmote
call GetMapPermission call GetMapPermission
call CheckOutdoorMap call CheckOutdoorMap
ld c, EMOTE_0B ld c, EMOTE_GRASS_RUSTLE
jr z, .outdoor jr z, .outdoor
ld c, EMOTE_BOULDER_DUST ld c, EMOTE_BOULDER_DUST
.outdoor .outdoor
@ -723,10 +723,8 @@ emote_header: MACRO
ENDM ENDM
EmotesPointers: ; 144d EmotesPointers: ; 144d
; dw source address ; entries correspond to EMOTE_* constants
; db length, bank ; graphics address, length, starting tile
; dw dest address
emote_header ShockEmote, 4, $78 emote_header ShockEmote, 4, $78
emote_header QuestionEmote, 4, $78 emote_header QuestionEmote, 4, $78
emote_header HappyEmote, 4, $78 emote_header HappyEmote, 4, $78
@ -736,9 +734,9 @@ EmotesPointers: ; 144d
emote_header SleepEmote, 4, $78 emote_header SleepEmote, 4, $78
emote_header FishEmote, 4, $78 emote_header FishEmote, 4, $78
emote_header JumpShadowGFX, 1, $7c emote_header JumpShadowGFX, 1, $7c
emote_header FishingRodGFX2, 2, $7c emote_header FishingRodGFX, 2, $7c
emote_header BoulderDustGFX, 2, $7e emote_header BoulderDustGFX, 2, $7e
emote_header FishingRodGFX4, 1, $7e emote_header GrassRustleGFX, 1, $7e
; 14495 ; 14495

View File

@ -1716,6 +1716,6 @@ TextJump_YouCantUseItInABattle: ; 0x10b11
; 0x10b16 ; 0x10b16
PackMenuGFX: PackMenuGFX:
INCBIN "gfx/misc/pack_menu.2bpp" INCBIN "gfx/pack/pack_menu.2bpp"
PackGFX: PackGFX:
INCBIN "gfx/misc/pack.2bpp" INCBIN "gfx/pack/pack.2bpp"

View File

@ -203,7 +203,7 @@ ChooseRandomCaller: ; 900bf (24:40bf)
GetAvailableCallers: ; 900de (24:40de) GetAvailableCallers: ; 900de (24:40de)
callba CheckTime callba CheckTime
ld a, c ld a, c
ld [EngineBuffer1], a ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput) ld [EngineBuffer1], a
ld hl, EngineBuffer3 ld hl, EngineBuffer3
ld bc, 11 ld bc, 11
xor a xor a
@ -219,7 +219,7 @@ GetAvailableCallers: ; 900de (24:40de)
ld hl, PhoneContacts + PHONE_CONTACT_SCRIPT2_TIME ld hl, PhoneContacts + PHONE_CONTACT_SCRIPT2_TIME
ld bc, PHONE_TABLE_WIDTH ld bc, PHONE_TABLE_WIDTH
call AddNTimes call AddNTimes
ld a, [EngineBuffer1] ; wd03e (aliases: MenuItemsList, CurFruitTree, CurInput) ld a, [EngineBuffer1]
and [hl] and [hl]
jr z, .not_good_for_call jr z, .not_good_for_call
ld bc, PHONE_CONTACT_MAP_GROUP - PHONE_CONTACT_SCRIPT2_TIME ld bc, PHONE_CONTACT_MAP_GROUP - PHONE_CONTACT_SCRIPT2_TIME
@ -381,11 +381,11 @@ Function90199: ; 90199 (24:4199)
.DoPhoneCall: .DoPhoneCall:
ld a, b ld a, b
ld [wd002], a ld [PhoneScriptBank], a
ld a, l ld a, l
ld [wd003], a ld [PhoneCaller], a
ld a, h ld a, h
ld [wd004], a ld [PhoneCaller + 1], a
ld b, BANK(UnknownScript_0x90205) ld b, BANK(UnknownScript_0x90205)
ld de, UnknownScript_0x90205 ld de, UnknownScript_0x90205
call ExecuteCallbackScript call ExecuteCallbackScript
@ -495,9 +495,9 @@ PhoneCall:: ; 9029a
ld a, b ld a, b
ld [PhoneScriptBank], a ld [PhoneScriptBank], a
ld a, e ld a, e
ld [PhoneCallerLo], a ld [PhoneCaller], a
ld a, d ld a, d
ld [PhoneCallerHi], a ld [PhoneCaller + 1], a
call Phone_FirstOfTwoRings call Phone_FirstOfTwoRings
call Phone_FirstOfTwoRings call Phone_FirstOfTwoRings
callba TrainerRankings_PhoneCalls callba TrainerRankings_PhoneCalls
@ -518,14 +518,14 @@ Phone_FirstOfTwoRings: ; 902b3
Phone_CallerTextboxWithName2: ; 902c9 Phone_CallerTextboxWithName2: ; 902c9
call Phone_CallerTextbox call Phone_CallerTextbox
hlcoord 1, 2 hlcoord 1, 2
ld [hl], $62 ld [hl], "<PHONE>"
inc hl inc hl
inc hl inc hl
ld a, [PhoneScriptBank] ld a, [PhoneScriptBank]
ld b, a ld b, a
ld a, [PhoneCallerLo] ld a, [PhoneCaller]
ld e, a ld e, a
ld a, [PhoneCallerHi] ld a, [PhoneCaller + 1]
ld d, a ld d, a
call FarPlaceString call FarPlaceString
ret ret
@ -618,7 +618,7 @@ Function90363: ; 90363 (24:4363)
push bc push bc
call Phone_CallerTextbox call Phone_CallerTextbox
hlcoord 1, 1 hlcoord 1, 1
ld [hl], $62 ld [hl], "<PHONE>"
inc hl inc hl
inc hl inc hl
ld d, h ld d, h
@ -769,7 +769,7 @@ phone: MACRO
db \6 db \6
dba \7 ; script 2 dba \7 ; script 2
ENDM ENDM
; entries correspond to PHONE_* constants
phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript
phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript

View File

@ -117,7 +117,7 @@ Pokedex_CheckUnlockedUnownMode: ; 400a2
ret ret
Pokedex_InitCursorPosition: ; 400b4 Pokedex_InitCursorPosition: ; 400b4
ld hl, wPokedexDataStart ld hl, wPokedexOrder
ld a, [wLastDexEntry] ld a, [wLastDexEntry]
and a and a
jr z, .done jr z, .done
@ -512,7 +512,7 @@ Pokedex_InitOptionScreen: ; 4039d (10:439d)
call ClearSprites call ClearSprites
call Pokedex_DrawOptionScreenBG call Pokedex_DrawOptionScreenBG
call Pokedex_InitArrowCursor call Pokedex_InitArrowCursor
ld a, [wCurrentDexMode] ld a, [wCurrentDexMode] ; Index of the topmost visible item in a scrolling menu ???
ld [wDexArrowCursorPosIndex], a ld [wDexArrowCursorPosIndex], a
call Pokedex_DisplayModeDescription call Pokedex_DisplayModeDescription
call WaitBGMap call WaitBGMap
@ -1479,11 +1479,11 @@ Pokedex_PrintListing: ; 40b0f (10:4b0f)
ld a, " " ld a, " "
call Pokedex_FillBox call Pokedex_FillBox
; Load de with wPokedexDataStart + [wDexListingScrollOffset] ; Load de with wPokedexOrder + [wDexListingScrollOffset]
ld a, [wDexListingScrollOffset] ld a, [wDexListingScrollOffset]
ld e, a ld e, a
ld d, $0 ld d, $0
ld hl, wPokedexDataStart ld hl, wPokedexOrder
add hl, de add hl, de
ld e, l ld e, l
ld d, h ld d, h
@ -1583,7 +1583,7 @@ Pokedex_GetSelectedMon: ; 40bb1
add [hl] add [hl]
ld e, a ld e, a
ld d, $0 ld d, $0
ld hl, wPokedexDataStart ld hl, wPokedexOrder
add hl, de add hl, de
ld a, [hl] ld a, [hl]
ld [wd265], a ld [wd265], a
@ -1614,8 +1614,8 @@ Pokedex_CheckSeen: ; 40bd0
Pokedex_OrderMonsByMode: ; 40bdc Pokedex_OrderMonsByMode: ; 40bdc
ld hl, wPokedexDataStart ld hl, wPokedexOrder
ld bc, wPokedexMetadata - wPokedexDataStart ld bc, wPokedexOrderEnd - wPokedexOrder
xor a xor a
call ByteFill call ByteFill
ld a, [wCurrentDexMode] ld a, [wCurrentDexMode]
@ -1632,7 +1632,7 @@ Pokedex_OrderMonsByMode: ; 40bdc
.NewMode: ; 40bf6 (10:4bf6) .NewMode: ; 40bf6 (10:4bf6)
ld de, NewPokedexOrder ld de, NewPokedexOrder
ld hl, wPokedexDataStart ld hl, wPokedexOrder
ld c, NUM_POKEMON ld c, NUM_POKEMON
.loopnew .loopnew
ld a, [de] ld a, [de]
@ -1644,7 +1644,7 @@ Pokedex_OrderMonsByMode: ; 40bdc
ret ret
.OldMode: ; 40c08 (10:4c08) .OldMode: ; 40c08 (10:4c08)
ld hl, wPokedexDataStart ld hl, wPokedexOrder
ld a, $1 ld a, $1
ld c, NUM_POKEMON ld c, NUM_POKEMON
.loopold .loopold
@ -1656,7 +1656,7 @@ Pokedex_OrderMonsByMode: ; 40bdc
ret ret
.FindLastSeen: ; 40c18 (10:4c18) .FindLastSeen: ; 40c18 (10:4c18)
ld hl, wPokedexDataStart + NUM_POKEMON - 1 ld hl, wPokedexOrder + NUM_POKEMON - 1
ld d, NUM_POKEMON ld d, NUM_POKEMON
ld e, d ld e, d
.loopfindend .loopfindend
@ -1675,7 +1675,7 @@ Pokedex_OrderMonsByMode: ; 40bdc
Pokedex_ABCMode: ; 40c30 Pokedex_ABCMode: ; 40c30
xor a xor a
ld [wDexListingEnd], a ld [wDexListingEnd], a
ld hl, wPokedexDataStart ld hl, wPokedexOrder
ld de, AlphabeticalPokedexOrder ld de, AlphabeticalPokedexOrder
ld c, NUM_POKEMON ld c, NUM_POKEMON
.loop1abc .loop1abc
@ -1915,8 +1915,8 @@ Pokedex_SearchForMons: ; 41086
add hl, de add hl, de
ld a, [hl] ld a, [hl]
ld [wDexConvertedMonType], a ld [wDexConvertedMonType], a
ld hl, wPokedexDataStart ld hl, wPokedexOrder
ld de, wPokedexDataStart ld de, wPokedexOrder
ld c, NUM_POKEMON ld c, NUM_POKEMON
xor a xor a
ld [wDexSearchResultCount], a ld [wDexSearchResultCount], a

View File

@ -136,7 +136,7 @@ Pokegear_LoadGFX: ; 90c4e
; 90cb2 ; 90cb2
FastShipGFX: ; 90cb2 FastShipGFX: ; 90cb2
INCBIN "gfx/misc/fast_ship.2bpp" INCBIN "gfx/pokegear/fast_ship.2bpp"
; 90d32 ; 90d32
InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32) InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32)
@ -751,7 +751,7 @@ TownMap_GetKantoLandmarkLimits: ; 910e8
PokegearRadio_Init: ; 910f9 (24:50f9) PokegearRadio_Init: ; 910f9 (24:50f9)
call InitPokegearTilemap call InitPokegearTilemap
depixel 4, 10, 4, 4 depixel 4, 10, 4, 4
ld a, SPRITE_ANIM_INDEX_14 ld a, SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc add hl, bc
@ -1407,7 +1407,7 @@ PokegearText_DeleteStoredNumber: ; 0x914d8
; 0x914dd ; 0x914dd
PokegearSpritesGFX: ; 914dd PokegearSpritesGFX: ; 914dd
INCBIN "gfx/misc/pokegear_sprites.2bpp.lz" INCBIN "gfx/pokegear/pokegear_sprites.2bpp.lz"
; 9150d ; 9150d
RadioTilemapRLE: ; 9150d RadioTilemapRLE: ; 9150d
@ -1619,8 +1619,8 @@ RadioChannels:
LoadStation_OaksPokemonTalk: ; 91753 (24:5753) LoadStation_OaksPokemonTalk: ; 91753 (24:5753)
xor a ; OAKS_POKEMON_TALK xor a ; OAKS_POKEMON_TALK
ld [wd002], a ld [wCurrentRadioLine], a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1629,9 +1629,9 @@ LoadStation_OaksPokemonTalk: ; 91753 (24:5753)
LoadStation_PokedexShow: ; 91766 (24:5766) LoadStation_PokedexShow: ; 91766 (24:5766)
ld a, POKEDEX_SHOW ld a, POKEDEX_SHOW
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1640,9 +1640,9 @@ LoadStation_PokedexShow: ; 91766 (24:5766)
LoadStation_PokemonMusic: ; 9177b (24:577b) LoadStation_PokemonMusic: ; 9177b (24:577b)
ld a, POKEMON_MUSIC ld a, POKEMON_MUSIC
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1651,9 +1651,9 @@ LoadStation_PokemonMusic: ; 9177b (24:577b)
LoadStation_LuckyChannel: ; 91790 (24:5790) LoadStation_LuckyChannel: ; 91790 (24:5790)
ld a, LUCKY_CHANNEL ld a, LUCKY_CHANNEL
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1662,9 +1662,9 @@ LoadStation_LuckyChannel: ; 91790 (24:5790)
LoadStation_BuenasPassword: ; 917a5 (24:57a5) LoadStation_BuenasPassword: ; 917a5 (24:57a5)
ld a, BUENAS_PASSWORD ld a, BUENAS_PASSWORD
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1682,9 +1682,9 @@ NotBuenasPasswordName: db "@"
LoadStation_UnownRadio: ; 917d5 (24:57d5) LoadStation_UnownRadio: ; 917d5 (24:57d5)
ld a, UNOWN_RADIO ld a, UNOWN_RADIO
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1693,9 +1693,9 @@ LoadStation_UnownRadio: ; 917d5 (24:57d5)
LoadStation_PlacesAndPeople: ; 917ea (24:57ea) LoadStation_PlacesAndPeople: ; 917ea (24:57ea)
ld a, PLACES_AND_PEOPLE ld a, PLACES_AND_PEOPLE
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1704,9 +1704,9 @@ LoadStation_PlacesAndPeople: ; 917ea (24:57ea)
LoadStation_LetsAllSing: ; 917ff (24:57ff) LoadStation_LetsAllSing: ; 917ff (24:57ff)
ld a, LETS_ALL_SING ld a, LETS_ALL_SING
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1717,9 +1717,9 @@ LoadStation_LetsAllSing: ; 917ff (24:57ff)
LoadStation_RocketRadio: ; 91814 LoadStation_RocketRadio: ; 91814
ld a, ROCKET_RADIO ld a, ROCKET_RADIO
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1730,9 +1730,9 @@ LoadStation_RocketRadio: ; 91814
LoadStation_PokeFluteRadio: ; 91829 (24:5829) LoadStation_PokeFluteRadio: ; 91829 (24:5829)
ld a, POKE_FLUTE_RADIO ld a, POKE_FLUTE_RADIO
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1741,9 +1741,9 @@ LoadStation_PokeFluteRadio: ; 91829 (24:5829)
LoadStation_EvolutionRadio: ; 9183e (24:583e) LoadStation_EvolutionRadio: ; 9183e (24:583e)
ld a, EVOLUTION_RADIO ld a, EVOLUTION_RADIO
ld [wd002], a ld [wCurrentRadioLine], a
xor a xor a
ld [wd005], a ld [wNumRadioLinesPrinted], a
ld a, BANK(PlayRadioShow) ld a, BANK(PlayRadioShow)
ld hl, PlayRadioShow ld hl, PlayRadioShow
call Radio_BackUpFarCallParams call Radio_BackUpFarCallParams
@ -1855,20 +1855,20 @@ _TownMap: ; 9191c
ld a, $e3 ld a, $e3
ld [rLCDC], a ld [rLCDC], a
call TownMap_GetCurrentLandmark call TownMap_GetCurrentLandmark
ld [wd002], a ld [wTownMapPlayerIconLandmark], a
ld [wd003], a ld [wTownMapCursorLandmark], a
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
call .InitTilemap call .InitTilemap
call WaitBGMap2 call WaitBGMap2
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
call PokegearMap_InitPlayerIcon call PokegearMap_InitPlayerIcon
ld a, [wd003] ld a, [wTownMapCursorLandmark]
call PokegearMap_InitCursor call PokegearMap_InitCursor
ld a, c ld a, c
ld [wd004], a ld [wTownMapCursorObjectPointer], a
ld a, b ld a, b
ld [wd005], a ld [wTownMapCursorObjectPointer + 1], a
ld b, SCGB_POKEGEAR_PALS ld b, SCGB_POKEGEAR_PALS
call GetSGBLayout call GetSGBLayout
call SetPalettes call SetPalettes
@ -1880,7 +1880,7 @@ _TownMap: ; 9191c
call DelayFrame call DelayFrame
.dmg .dmg
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr nc, .kanto jr nc, .kanto
ld d, KANTO_LANDMARK - 1 ld d, KANTO_LANDMARK - 1
@ -1925,7 +1925,7 @@ _TownMap: ; 9191c
jr .loop jr .loop
.pressed_up .pressed_up
ld hl, wd003 ld hl, wTownMapCursorLandmark
ld a, [hl] ld a, [hl]
cp d cp d
jr c, .okay jr c, .okay
@ -1938,7 +1938,7 @@ _TownMap: ; 9191c
jr .next jr .next
.pressed_down .pressed_down
ld hl, wd003 ld hl, wTownMapCursorLandmark
ld a, [hl] ld a, [hl]
cp e cp e
jr nz, .okay2 jr nz, .okay2
@ -1951,20 +1951,20 @@ _TownMap: ; 9191c
.next .next
push de push de
ld a, [wd003] ld a, [wTownMapCursorLandmark]
call PokegearMap_UpdateLandmarkName call PokegearMap_UpdateLandmarkName
ld a, [wd004] ld a, [wTownMapCursorObjectPointer]
ld c, a ld c, a
ld a, [wd005] ld a, [wTownMapCursorObjectPointer + 1]
ld b, a ld b, a
ld a, [wd003] ld a, [wTownMapCursorLandmark]
call PokegearMap_UpdateCursorPosition call PokegearMap_UpdateCursorPosition
pop de pop de
jr .loop2 jr .loop2
; 91a04 ; 91a04
.InitTilemap: ; 91a04 .InitTilemap: ; 91a04
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr nc, .kanto2 jr nc, .kanto2
ld e, $0 ld e, $0
@ -1992,7 +1992,7 @@ _TownMap: ; 9191c
call ByteFill call ByteFill
hlcoord 19, 2 hlcoord 19, 2
ld [hl], $17 ld [hl], $17
ld a, [wd003] ld a, [wTownMapCursorLandmark]
call PokegearMap_UpdateLandmarkName call PokegearMap_UpdateLandmarkName
callba TownMapPals callba TownMapPals
ret ret
@ -2147,7 +2147,7 @@ _FlyMap: ; 91af3
jr .exit jr .exit
.pressedA .pressedA
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
ld l, a ld l, a
ld h, 0 ld h, 0
add hl, hl add hl, hl
@ -2155,7 +2155,7 @@ _FlyMap: ; 91af3
add hl, de add hl, de
ld a, [hl] ld a, [hl]
.exit .exit
ld [wd002], a ld [wTownMapPlayerIconLandmark], a
pop af pop af
ld [hInMenu], a ld [hInMenu], a
call ClearBGPalettes call ClearBGPalettes
@ -2165,7 +2165,7 @@ _FlyMap: ; 91af3
ld [hBGMapAddress], a ld [hBGMapAddress], a
ld a, VBGMap0 / $100 ld a, VBGMap0 / $100
ld [hBGMapAddress + 1], a ld [hBGMapAddress + 1], a
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
ld e, a ld e, a
ret ret
@ -2186,7 +2186,7 @@ FlyMapScroll: ; 91b73
ret ret
.ScrollNext: .ScrollNext:
ld hl, wd002 ld hl, wTownMapPlayerIconLandmark
ld a, [hl] ld a, [hl]
cp d cp d
jr nz, .NotAtEndYet jr nz, .NotAtEndYet
@ -2200,7 +2200,7 @@ FlyMapScroll: ; 91b73
jr .Finally jr .Finally
.ScrollPrev: .ScrollPrev:
ld hl, wd002 ld hl, wTownMapPlayerIconLandmark
ld a, [hl] ld a, [hl]
cp e cp e
jr nz, .NotAtStartYet jr nz, .NotAtStartYet
@ -2269,7 +2269,7 @@ TownMapBubble: ; 91bb5
.Name: .Name:
; We need the map location of the default flypoint ; We need the map location of the default flypoint
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
ld l, a ld l, a
ld h, 0 ld h, 0
add hl, hl ; two bytes per flypoint add hl, hl ; two bytes per flypoint
@ -2285,7 +2285,7 @@ TownMapBubble: ; 91bb5
; 91c17 ; 91c17
GetMapCursorCoordinates: ; 91c17 GetMapCursorCoordinates: ; 91c17
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
ld l, a ld l, a
ld h, $0 ld h, $0
add hl, hl add hl, hl
@ -2293,9 +2293,9 @@ GetMapCursorCoordinates: ; 91c17
add hl, de add hl, de
ld e, [hl] ld e, [hl]
callba GetLandmarkCoords callba GetLandmarkCoords
ld a, [wd003] ld a, [wTownMapCursorCoordinates]
ld c, a ld c, a
ld a, [wd004] ld a, [wTownMapCursorCoordinates + 1]
ld b, a ld b, a
ld hl, $4 ld hl, $4
add hl, bc add hl, bc
@ -2389,8 +2389,7 @@ FlyMap: ; 91c90
ld c, a ld c, a
call GetWorldMapLocation call GetWorldMapLocation
; If we're not in a valid location, i.e. Pokecenter floor 2F, ; If we're not in a valid location, i.e. Pokecenter floor 2F,
; the backup map information is used.
; the backup map information is used
cp SPECIAL_MAP cp SPECIAL_MAP
jr nz, .CheckRegion jr nz, .CheckRegion
ld a, [BackupMapGroup] ld a, [BackupMapGroup]
@ -2399,7 +2398,7 @@ FlyMap: ; 91c90
ld c, a ld c, a
call GetWorldMapLocation call GetWorldMapLocation
.CheckRegion: .CheckRegion:
; The first 46 locations are part of Johto. The rest are in Kanto ; The first 46 locations are part of Johto. The rest are in Kanto.
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr nc, .KantoFlyMap jr nc, .KantoFlyMap
.JohtoFlyMap: .JohtoFlyMap:
@ -2407,10 +2406,10 @@ FlyMap: ; 91c90
push af push af
; Start from New Bark Town ; Start from New Bark Town
ld a, FLY_NEW_BARK ld a, FLY_NEW_BARK
ld [wd002], a ld [wTownMapPlayerIconLandmark], a
; Flypoints begin at New Bark Town... ; Flypoints begin at New Bark Town...
ld [StartFlypoint], a ld [StartFlypoint], a
; ..and end at Silver Cave ; ..and end at Silver Cave.
ld a, FLY_MT_SILVER ld a, FLY_MT_SILVER
ld [EndFlypoint], a ld [EndFlypoint], a
; Fill out the map ; Fill out the map
@ -2422,17 +2421,13 @@ FlyMap: ; 91c90
.KantoFlyMap: .KantoFlyMap:
; The event that there are no flypoints enabled in a map is not ; The event that there are no flypoints enabled in a map is not
; accounted for. As a result, if you attempt to select a flypoint ; accounted for. As a result, if you attempt to select a flypoint
; when there are none enabled, the game will crash. Additionally, ; when there are none enabled, the game will crash. Additionally,
; the flypoint selection has a default starting point that ; the flypoint selection has a default starting point that
; can be flown to even if none are enabled ; can be flown to even if none are enabled.
; To prevent both of these things from happening when the player ; To prevent both of these things from happening when the player
; enters Kanto, fly access is restricted until Indigo Plateau is ; enters Kanto, fly access is restricted until Indigo Plateau is
; visited and its flypoint enabled.
; visited and its flypoint enabled
push af push af
ld c, SPAWN_INDIGO ld c, SPAWN_INDIGO
call HasVisitedSpawn call HasVisitedSpawn
@ -2447,9 +2442,8 @@ FlyMap: ; 91c90
ld a, FLY_INDIGO ld a, FLY_INDIGO
ld [EndFlypoint], a ld [EndFlypoint], a
; Because Indigo Plateau is the first flypoint the player ; Because Indigo Plateau is the first flypoint the player
; visits, it's made the default flypoint.
; visits, it's made the default flypoint ld [wTownMapPlayerIconLandmark], a
ld [wd002], a
; Fill out the map ; Fill out the map
call FillKantoMap call FillKantoMap
call .MapHud call .MapHud
@ -2462,7 +2456,7 @@ FlyMap: ; 91c90
; Start from New Bark Town ; Start from New Bark Town
ld a, FLY_NEW_BARK ld a, FLY_NEW_BARK
ld [wd002], a ld [wTownMapPlayerIconLandmark], a
; Flypoints begin at New Bark Town... ; Flypoints begin at New Bark Town...
ld [StartFlypoint], a ld [StartFlypoint], a
; ..and end at Silver Cave ; ..and end at Silver Cave
@ -2477,21 +2471,21 @@ FlyMap: ; 91c90
call TownMapBGUpdate call TownMapBGUpdate
call TownMapMon call TownMapMon
ld a, c ld a, c
ld [wd003], a ld [wTownMapCursorCoordinates], a
ld a, b ld a, b
ld [wd004], a ld [wTownMapCursorCoordinates + 1], a
ret ret
; 91d11 ; 91d11
_Area: ; 91d11 _Area: ; 91d11
; e: Current landmark ; e: Current landmark
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
push af push af
ld a, [wd003] ld a, [wTownMapCursorLandmark]
push af push af
ld a, e ld a, e
ld [wd002], a ld [wTownMapPlayerIconLandmark], a
call ClearSprites call ClearSprites
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
@ -2545,9 +2539,9 @@ _Area: ; 91d11
.a_b .a_b
call ClearSprites call ClearSprites
pop af pop af
ld [wd003], a ld [wTownMapCursorLandmark], a
pop af pop af
ld [wd002], a ld [wTownMapPlayerIconLandmark], a
ret ret
; 91d9b ; 91d9b
@ -2636,7 +2630,7 @@ _Area: ; 91d11
; 91e1e ; 91e1e
.GetAndPlaceNest: ; 91e1e .GetAndPlaceNest: ; 91e1e
ld [wd003], a ld [wTownMapCursorLandmark], a
ld e, a ld e, a
callba FindNest ; load nest landmarks into TileMap[0,0] callba FindNest ; load nest landmarks into TileMap[0,0]
decoord 0, 0 decoord 0, 0
@ -2678,7 +2672,7 @@ _Area: ; 91d11
.HideNestsShowPlayer: ; 91e5a .HideNestsShowPlayer: ; 91e5a
call .CheckPlayerLocation call .CheckPlayerLocation
ret c ret c
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
ld e, a ld e, a
callba GetLandmarkCoords callba GetLandmarkCoords
ld c, e ld c, e
@ -2731,22 +2725,21 @@ _Area: ; 91d11
.CheckPlayerLocation: ; 91ea9 .CheckPlayerLocation: ; 91ea9
; Don't show the player's sprite if you're ; Don't show the player's sprite if you're
; not in the same region as what's currently ; not in the same region as what's currently
; on the screen. ; on the screen.
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
cp FAST_SHIP cp FAST_SHIP
jr z, .johto jr z, .johto
cp KANTO_LANDMARK cp KANTO_LANDMARK
jr c, .johto jr c, .johto
.kanto .kanto
ld a, [wd003] ld a, [wTownMapCursorLandmark]
and a and a
jr z, .clear jr z, .clear
jr .ok jr .ok
.johto .johto
ld a, [wd003] ld a, [wTownMapCursorLandmark]
and a and a
jr nz, .clear jr nz, .clear
.ok .ok
@ -2764,7 +2757,7 @@ _Area: ; 91d11
; 91ed0 ; 91ed0
.GetPlayerOrFastShipIcon: ; 91ed0 .GetPlayerOrFastShipIcon: ; 91ed0
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
cp FAST_SHIP cp FAST_SHIP
jr z, .FastShip jr z, .FastShip
callba GetPlayerIcon callba GetPlayerIcon
@ -2910,7 +2903,7 @@ TownMapMon: ; 91f7b
callba GetSpeciesIcon callba GetSpeciesIcon
; Animation/palette ; Animation/palette
depixel 0, 0 depixel 0, 0
ld a, SPRITE_ANIM_INDEX_00 ld a, SPRITE_ANIM_INDEX_PARTY_MON
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc add hl, bc
@ -2977,11 +2970,11 @@ LoadTownMapGFX: ; 91ff2
; 91fff ; 91fff
JohtoMap: ; 91fff JohtoMap: ; 91fff
INCBIN "gfx/misc/johto.bin" INCBIN "gfx/pokegear/johto.bin"
; 92168 ; 92168
KantoMap: ; 92168 KantoMap: ; 92168
INCBIN "gfx/misc/kanto.bin" INCBIN "gfx/pokegear/kanto.bin"
; 922d1 ; 922d1
PokedexNestIconGFX: ; 922d1 PokedexNestIconGFX: ; 922d1
@ -2991,7 +2984,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp"
; XXX ; XXX
xor a xor a
ld [wd002], a ld [wTownMapPlayerIconLandmark], a
call ClearBGPalettes call ClearBGPalettes
call ClearTileMap call ClearTileMap
call ClearSprites call ClearSprites
@ -3019,9 +3012,9 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp"
call TownMapBGUpdate call TownMapBGUpdate
call TownMapMon call TownMapMon
ld a, c ld a, c
ld [wd003], a ld [wTownMapCursorCoordinates], a
ld a, b ld a, b
ld [wd004], a ld [wTownMapCursorCoordinates + 1], a
ld b, SCGB_POKEGEAR_PALS ld b, SCGB_POKEGEAR_PALS
call GetSGBLayout call GetSGBLayout
call SetPalettes call SetPalettes
@ -3045,7 +3038,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp"
jr .finished_a_b jr .finished_a_b
.pressedA .pressedA
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
ld l, a ld l, a
ld h, 0 ld h, 0
add hl, hl add hl, hl
@ -3053,7 +3046,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp"
add hl, de add hl, de
ld a, [hl] ld a, [hl]
.finished_a_b .finished_a_b
ld [wd002], a ld [wTownMapPlayerIconLandmark], a
pop af pop af
ld [hInMenu], a ld [hInMenu], a
call ClearBGPalettes call ClearBGPalettes
@ -3063,7 +3056,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp"
ld [hBGMapAddress], a ld [hBGMapAddress], a
ld a, VBGMap0 / $100 ld a, VBGMap0 / $100
ld [hBGMapAddress + 1], a ld [hBGMapAddress + 1], a
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
ld e, a ld e, a
ret ret
@ -3080,7 +3073,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp"
ret ret
.down_right .down_right
ld hl, wd002 ld hl, wTownMapPlayerIconLandmark
ld a, [hl] ld a, [hl]
cp FLY_INDIGO cp FLY_INDIGO
jr c, .okay_dr jr c, .okay_dr
@ -3090,7 +3083,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp"
jr .continue jr .continue
.up_left .up_left
ld hl, wd002 ld hl, wTownMapPlayerIconLandmark
ld a, [hl] ld a, [hl]
and a and a
jr nz, .okay_ul jr nz, .okay_ul
@ -3098,7 +3091,7 @@ INCBIN "gfx/pokegear/flymap_label_border.1bpp"
.okay_ul .okay_ul
dec [hl] dec [hl]
.continue .continue
ld a, [wd002] ld a, [wTownMapPlayerIconLandmark]
cp KANTO_FLYPOINT cp KANTO_FLYPOINT
jr c, .johto jr c, .johto
call FillKantoMap call FillKantoMap

View File

@ -292,13 +292,13 @@ Printer_WaitHandshake: ; 841c3 (21:41c3)
Printer_CopyPacket: ; 841e2 (21:41e2) Printer_CopyPacket: ; 841e2 (21:41e2)
ld a, [hli] ld a, [hli]
ld [wca82], a ld [wPrinterData], a
ld a, [hli] ld a, [hli]
ld [wca83], a ld [wPrinterData + 1], a
ld a, [hli] ld a, [hli]
ld [wca84], a ld [wPrinterData + 2], a
ld a, [hli] ld a, [hli]
ld [wca85], a ld [wPrinterData + 3], a
ld a, [hli] ld a, [hli]
ld [wPrinterChecksum], a ld [wPrinterChecksum], a
ld a, [hl] ld a, [hl]
@ -307,7 +307,7 @@ Printer_CopyPacket: ; 841e2 (21:41e2)
Printer_ResetData: ; 841fb (21:41fb) Printer_ResetData: ; 841fb (21:41fb)
xor a xor a
ld hl, wca82 ld hl, wPrinterData
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
@ -326,7 +326,7 @@ Printer_ResetData: ; 841fb (21:41fb)
Printer_ComputeChecksum: ; 84219 (21:4219) Printer_ComputeChecksum: ; 84219 (21:4219)
ld hl, 0 ld hl, 0
ld bc, 4 ld bc, 4
ld de, wca82 ld de, wPrinterData
call .ComputeChecksum call .ComputeChecksum
ld a, [wPrinterSendByteCounter] ld a, [wPrinterSendByteCounter]
ld c, a ld c, a
@ -476,10 +476,10 @@ _PrinterReceive:: ; 842db
dw Printer_DoNothing ; 00 dw Printer_DoNothing ; 00
dw Printer_Send0x33 ; 01 dw Printer_Send0x33 ; 01
dw Printer_Sendwca82 ; 02 dw Printer_SendPrinterData1 ; 02
dw Printer_Sendwca83 ; 03 dw Printer_SendPrinterData2 ; 03
dw Printer_Sendwca84 ; 04 dw Printer_SendPrinterData3 ; 04
dw Printer_Sendwca85 ; 05 dw Printer_SendPrinterData4 ; 05
dw Printer_SendNextByte ; 06 dw Printer_SendNextByte ; 06
dw Printer_SendwPrinterChecksumLo ; 07 dw Printer_SendwPrinterChecksumLo ; 07
dw Printer_SendwPrinterChecksumHi ; 08 dw Printer_SendwPrinterChecksumHi ; 08
@ -524,26 +524,26 @@ Printer_Send0x33: ; 84330 (21:4330)
call Printer_NextInstruction call Printer_NextInstruction
ret ret
Printer_Sendwca82: ; 84339 (21:4339) Printer_SendPrinterData1: ; 84339 (21:4339)
ld a, [wca82] ld a, [wPrinterData]
call Printer_SerialSend call Printer_SerialSend
call Printer_NextInstruction call Printer_NextInstruction
ret ret
Printer_Sendwca83: ; 84343 (21:4343) Printer_SendPrinterData2: ; 84343 (21:4343)
ld a, [wca83] ld a, [wPrinterData + 1]
call Printer_SerialSend call Printer_SerialSend
call Printer_NextInstruction call Printer_NextInstruction
ret ret
Printer_Sendwca84: ; 8434d (21:434d) Printer_SendPrinterData3: ; 8434d (21:434d)
ld a, [wca84] ld a, [wPrinterData + 2]
call Printer_SerialSend call Printer_SerialSend
call Printer_NextInstruction call Printer_NextInstruction
ret ret
Printer_Sendwca85: ; 84357 (21:4357) Printer_SendPrinterData4: ; 84357 (21:4357)
ld a, [wca85] ld a, [wPrinterData + 3]
call Printer_SerialSend call Printer_SerialSend
call Printer_NextInstruction call Printer_NextInstruction
ret ret

View File

@ -275,7 +275,7 @@ _PrintNum:: ; c4c7
dec e dec e
ret nz ret nz
inc hl inc hl
ld [hl], "·" ld [hl], "<DOT>"
ret ret
.PrintLeadingZero: ; c644 .PrintLeadingZero: ; c644

View File

@ -234,7 +234,7 @@ OaksPkmnTalk4:
jr z, .done jr z, .done
.next .next
dec hl dec hl
ld de, WILDMON_GRASS_STRUCTURE_LENGTH ld de, GRASS_WILDDATA_LENGTH
add hl, de add hl, de
jr .loop jr .loop
@ -249,12 +249,12 @@ endr
cp 3 cp 3
jr z, .loop2 jr z, .loop2
ld bc, 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY ld bc, 2 * NUM_GRASSMON
call AddNTimes call AddNTimes
.loop3 .loop3
; Choose one of the middle three Pokemon. ; Choose one of the middle three Pokemon.
call Random call Random
and NUM_WILDMONS_PER_AREA_TIME_OF_DAY and NUM_GRASSMON
cp 2 cp 2
jr c, .loop3 jr c, .loop3
cp 5 cp 5

View File

@ -979,7 +979,7 @@ Script_cry:
ret ret
GetScriptPerson: GetScriptPerson:
and a and a ; PLAYER?
ret z ret z
cp LAST_TALKED cp LAST_TALKED
ret z ret z
@ -1355,19 +1355,19 @@ Script_earthquake:
; param (DecimalParam) ; param (DecimalParam)
ld hl, EarthquakeMovement ld hl, EarthquakeMovement
ld de, wd002 ld de, wEarthquakeMovementDataBuffer
ld bc, EarthquakeMovementEnd - EarthquakeMovement ld bc, EarthquakeMovementEnd - EarthquakeMovement
call CopyBytes call CopyBytes
call GetScriptByte call GetScriptByte
ld [wd003], a ld [wEarthquakeMovementDataBuffer + 1], a
and (1 << 6) - 1 and %00111111
ld [wd005], a ld [wEarthquakeMovementDataBuffer + 3], a
ld b, BANK(.script) ld b, BANK(.script)
ld de, .script ld de, .script
jp ScriptCall jp ScriptCall
.script .script
applymovement PLAYER, wd002 applymovement PLAYER, wEarthquakeMovementDataBuffer
end end
EarthquakeMovement: EarthquakeMovement:
@ -2170,7 +2170,7 @@ Script_givepokeitem:
ld b, a ld b, a
push bc push bc
inc hl inc hl
ld bc, MAIL_MAX_LENGTH ld bc, MAIL_MSG_LENGTH
ld de, wd002 ld de, wd002
ld a, [ScriptBank] ld a, [ScriptBank]
call FarCopyBytes call FarCopyBytes
@ -2668,7 +2668,7 @@ Script_warp:
call GetScriptByte call GetScriptByte
ld [YCoord], a ld [YCoord], a
ld a, -1 ld a, -1
ld [wd001], a ld [DefaultSpawnpoint], a
ld a, MAPSETUP_WARP ld a, MAPSETUP_WARP
ld [hMapEntryMethod], a ld [hMapEntryMethod], a
ld a, 1 ld a, 1
@ -2681,7 +2681,7 @@ Script_warp:
call GetScriptByte call GetScriptByte
call GetScriptByte call GetScriptByte
ld a, -1 ld a, -1
ld [wd001], a ld [DefaultSpawnpoint], a
ld a, MAPSETUP_BADWARP ld a, MAPSETUP_BADWARP
ld [hMapEntryMethod], a ld [hMapEntryMethod], a
ld a, 1 ld a, 1
@ -2955,9 +2955,9 @@ ExitScriptSubroutine:
ld e, [hl] ld e, [hl]
ld d, $0 ld d, $0
ld hl, wScriptStack ld hl, wScriptStack
add hl,de add hl, de
add hl,de add hl, de
add hl,de add hl, de
ld a, [hli] ld a, [hli]
ld b, a ld b, a
and " " and " "

View File

@ -94,7 +94,7 @@ CheckRegisteredItem: ; 13345
dec a dec a
cp [hl] cp [hl]
jr nc, .NotEnoughItems jr nc, .NotEnoughItems
ld [wd107], a ld [CurItemQuantity], a
and a and a
ret ret

View File

@ -1067,7 +1067,7 @@ ReelAction_InitGolem: ; 92d20
push bc push bc
push af push af
depixel 12, 13 depixel 12, 13
ld a, SPRITE_ANIM_INDEX_SLOT_GOLEM ld a, SPRITE_ANIM_INDEX_SLOTS_GOLEM
call _InitSpriteAnimStruct call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0E ld hl, SPRITEANIMSTRUCT_0E
add hl, bc add hl, bc
@ -2211,17 +2211,17 @@ Reel3Tilemap: ; 9334b
; 9335d ; 9335d
SlotsTilemap: ; 9335d SlotsTilemap: ; 9335d
INCBIN "gfx/slots.tilemap" INCBIN "gfx/slots/slots.tilemap"
; 9344d ; 9344d
Slots1LZ: ; 9344d Slots1LZ: ; 9344d
INCBIN "gfx/slots_1.2bpp.lz" INCBIN "gfx/slots/slots_1.2bpp.lz"
; 935cd ; 935cd
Slots2LZ: ; 935cd Slots2LZ: ; 935cd
INCBIN "gfx/slots_2.2bpp.lz" INCBIN "gfx/slots/slots_2.2bpp.lz"
; 9382d ; 9382d
Slots3LZ: ; 9382d Slots3LZ: ; 9382d
INCBIN "gfx/slots_3.2bpp.lz" INCBIN "gfx/slots/slots_3.2bpp.lz"
; 93a3d ; 93a3d

View File

@ -42,17 +42,16 @@ ENDM
LoadSpawnPoint: ; 1531f LoadSpawnPoint: ; 1531f
; loads the spawn point in wd001 ; loads the spawn point in DefaultSpawnpoint
push hl push hl
push de push de
ld a, [wd001] ld a, [DefaultSpawnpoint]
cp SPAWN_N_A cp SPAWN_N_A
jr z, .spawn_n_a jr z, .spawn_n_a
ld l, a ld l, a
ld h, 0 ld h, 0
rept 2 ; multiply hl by 4 add hl, hl
add hl,hl add hl, hl
endr
ld de, SpawnPoints ld de, SpawnPoints
add hl, de add hl, de
ld a, [hli] ld a, [hli]

View File

@ -2,9 +2,9 @@
Special:: ; c01b Special:: ; c01b
; Run script special de. ; Run script special de.
ld hl, SpecialsPointers ld hl, SpecialsPointers
add hl,de add hl, de
add hl,de add hl, de
add hl,de add hl, de
ld b, [hl] ld b, [hl]
inc hl inc hl
ld a, [hli] ld a, [hli]
@ -618,9 +618,9 @@ SpecialGameboyCheck: ; c478
Special_FadeOutMusic: ; c48f Special_FadeOutMusic: ; c48f
ld a, MUSIC_NONE % $100 ld a, MUSIC_NONE % $100
ld [MusicFadeIDLo], a ld [MusicFadeID], a
ld a, MUSIC_NONE / $100 ld a, MUSIC_NONE / $100
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
ld a, $2 ld a, $2
ld [MusicFade], a ld [MusicFade], a
ret ret

View File

@ -13,54 +13,54 @@ DoAnimFrame: ; 8d24b
; 8d25b ; 8d25b
.Jumptable: ; 8d25b (23:525b) .Jumptable: ; 8d25b (23:525b)
; entries correspond to SPRITE_ANIM_SEQ_* constants
dw .Null ; null dw .Null
dw .one ; bouncing mon icon dw .PartyMon
dw .two ; bouncing mon icon, selected dw .PartyMonSwitch
dw .three ; bouncing mon icon, menu open dw .PartyMonSelected
dw .four dw .sprite_anim_seq_04
dw .namingscreencursor dw .namingscreencursor
dw .GameFreakLogo ; Game Freak logo dw .GameFreakLogo
dw .seven dw .GSIntroStar
dw .eight dw .GSIntroSparkle
dw .SlotsGolem ; Something to do with slots dw .SlotsGolem
dw .SlotsChansey ; Something to do with slots dw .SlotsChansey
dw .SlotsChanseyEgg ; Something to do with slots dw .SlotsChanseyEgg
dw .mailcompositioncursor ; blinking cursor dw .MailCursor
dw .thirteen dw .sprite_anim_seq_0D
dw .fourteen dw .sprite_anim_seq_0E
dw .fifteen dw .sprite_anim_seq_0F
dw .sixteen dw .TradePokeBall
dw .seventeen dw .TradeTubeBulge
dw .eighteen dw .TrademonInTube
dw .EggShell ; finish egg hatching animation dw .RevealNewMon
dw .RadioTuningKnob ; radio tuning knob dw .RadioTuningKnob
dw .twentyone ; cut grass leaves dw .CutLeaves
dw .FlyFrom ; flying sprite dw .FlyFrom
dw .FlyLeaf ; flying leaves dw .FlyLeaf
dw .FlyTo ; fly to dw .FlyTo
dw .twentyfive dw .sprite_anim_seq_19
dw .twentysix dw .sprite_anim_seq_1A
dw .twentyseven dw .sprite_anim_seq_1B
dw .twentyeight dw .sprite_anim_seq_1C
dw .twentynine ; intro suicune dw .IntroSuicune
dw .thirty ; intro pichu wooper dw .IntroPichuWooper
dw .thirtyone ; celebi dw .Celebi
dw .thirtytwo ; intro unown dw .IntroUnown
dw .thirtythree ; intro unown F with suicune leaping up dw .IntroUnownF
dw .thirtyfour ; intro suicune facing away from us dw .IntroSuicuneAway
.Null: ; 8d2a1 (23:52a1) .Null: ; 8d2a1 (23:52a1)
ret ret
.one ; 8d2a2 (23:52a2) .PartyMon ; 8d2a2 (23:52a2)
ld a, [wMenuCursorY] ld a, [wMenuCursorY]
ld hl, SPRITEANIMSTRUCT_INDEX ld hl, SPRITEANIMSTRUCT_INDEX
add hl, bc add hl, bc
cp [hl] cp [hl]
jr z, .two jr z, .PartyMonSwitch
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
@ -71,7 +71,7 @@ DoAnimFrame: ; 8d24b
ld [hl], $0 ld [hl], $0
ret ret
.two ; 8d2b9 (23:52b9) .PartyMonSwitch ; 8d2b9 (23:52b9)
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
ld [hl], 8 * 3 ld [hl], 8 * 3
@ -113,7 +113,7 @@ DoAnimFrame: ; 8d24b
ld [hl], a ld [hl], a
ret ret
.three ; 8d2ea (23:52ea) .PartyMonSelected ; 8d2ea (23:52ea)
ld a, [wMenuCursorY] ld a, [wMenuCursorY]
ld hl, SPRITEANIMSTRUCT_INDEX ld hl, SPRITEANIMSTRUCT_INDEX
@ -132,7 +132,7 @@ DoAnimFrame: ; 8d24b
ld [hl], 8 * 3 ld [hl], 8 * 3
ret ret
.four ; 8d302 (23:5302) .sprite_anim_seq_04 ; 8d302 (23:5302)
call .AnonymousJumptable call .AnonymousJumptable
jp hl jp hl
; 8d306 (23:5306) ; 8d306 (23:5306)
@ -203,7 +203,7 @@ DoAnimFrame: ; 8d24b
ret ret
; 8d35a ; 8d35a
.twentyfive ; 8d35a (23:535a) .sprite_anim_seq_19 ; 8d35a (23:535a)
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -221,7 +221,7 @@ DoAnimFrame: ; 8d24b
callab NamingScreen_AnimateCursor callab NamingScreen_AnimateCursor
ret ret
.mailcompositioncursor ; 8d373 (23:5373) .MailCursor ; 8d373 (23:5373)
callab ComposeMail_AnimateCursor callab ComposeMail_AnimateCursor
ret ret
@ -229,7 +229,7 @@ DoAnimFrame: ; 8d24b
callab GameFreakLogoJumper callab GameFreakLogoJumper
ret ret
.seven ; 8d381 (23:5381) .GSIntroStar ; 8d381 (23:5381)
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -279,7 +279,7 @@ DoAnimFrame: ; 8d24b
call DeinitializeSprite call DeinitializeSprite
ret ret
.eight ; 8d3c3 (23:53c3) .GSIntroSparkle ; 8d3c3 (23:53c3)
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
ld a, [hli] ld a, [hli]
@ -404,33 +404,33 @@ DoAnimFrame: ; 8d24b
ld [hl], a ld [hl], a
ret ret
.thirteen ; 8d46e (23:546e) .sprite_anim_seq_0D ; 8d46e (23:546e)
callab ret_e00ed callab ret_e00ed
ret ret
.fifteen ; 8d475 (23:5475) .sprite_anim_seq_0F ; 8d475 (23:5475)
callab AnimatePokegearModeIndicatorArrow callab AnimatePokegearModeIndicatorArrow
ret ret
.fourteen ; 8d47c (23:547c) .sprite_anim_seq_0E ; 8d47c (23:547c)
callab DummyGame_InterpretJoypad_AnimateCursor callab DummyGame_InterpretJoypad_AnimateCursor
ret ret
.sixteen ; 8d483 (23:5483) .TradePokeBall ; 8d483 (23:5483)
call .AnonymousJumptable call .AnonymousJumptable
jp hl jp hl
; 8d487 (23:5487) ; 8d487 (23:5487)
; Anonymous dw (see .AnonymousJumptable) ; Anonymous dw (see .AnonymousJumptable)
dw .sixteen_zero dw .TradePokeBall_zero
dw .sixteen_one dw .TradePokeBall_one
dw .sixteen_two dw .TradePokeBall_two
dw .sixteen_three dw .TradePokeBall_three
dw .sixteen_four dw .TradePokeBall_four
dw .sixteen_five dw .TradePokeBall_five
; 8d493 ; 8d493
.sixteen_zero ; 8d493 .TradePokeBall_zero ; 8d493
ld a, SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 ld a, SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
call _ReinitSpriteAnimFrame call _ReinitSpriteAnimFrame
@ -444,7 +444,7 @@ DoAnimFrame: ; 8d24b
ret ret
; 8d4a5 ; 8d4a5
.sixteen_two ; 8d4a5 .TradePokeBall_two ; 8d4a5
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -460,7 +460,7 @@ DoAnimFrame: ; 8d24b
add hl, bc add hl, bc
ld [hl], $40 ld [hl], $40
.sixteen_three ; 8d4b8 .TradePokeBall_three ; 8d4b8
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -478,10 +478,10 @@ DoAnimFrame: ; 8d24b
.asm_8d4cd .asm_8d4cd
ld de, SFX_GOT_SAFARI_BALLS ld de, SFX_GOT_SAFARI_BALLS
call PlaySFX call PlaySFX
jr .sixteen_five jr .TradePokeBall_five
; 8d4d5 ; 8d4d5
.sixteen_one ; 8d4d5 .TradePokeBall_one ; 8d4d5
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
ld [hl], $4 ld [hl], $4
@ -496,7 +496,7 @@ DoAnimFrame: ; 8d24b
ret ret
; 8d4e8 ; 8d4e8
.sixteen_four ; 8d4e8 .TradePokeBall_four ; 8d4e8
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_0D
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -542,12 +542,12 @@ DoAnimFrame: ; 8d24b
call .IncrementJumptableIndex call .IncrementJumptableIndex
ret ret
.sixteen_five ; 8d526 .TradePokeBall_five ; 8d526
call DeinitializeSprite call DeinitializeSprite
ret ret
; 8d52a ; 8d52a
.seventeen ; 8d52a (23:552a) .TradeTubeBulge ; 8d52a (23:552a)
ld hl, SPRITEANIMSTRUCT_XCOORD ld hl, SPRITEANIMSTRUCT_XCOORD
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -565,11 +565,11 @@ DoAnimFrame: ; 8d24b
call DeinitializeSprite call DeinitializeSprite
ret ret
.eighteen ; 8d543 (23:5543) .TrademonInTube ; 8d543 (23:5543)
callab TradeAnim_AnimateTrademonInTube callab TradeAnim_AnimateTrademonInTube
ret ret
.EggShell: ; 8d54a (23:554a) .RevealNewMon: ; 8d54a (23:554a)
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -610,7 +610,7 @@ DoAnimFrame: ; 8d24b
callab AnimateTuningKnob callab AnimateTuningKnob
ret ret
.twentyone ; 8d57f (23:557f) .CutLeaves ; 8d57f (23:557f)
ld hl, SPRITEANIMSTRUCT_0D ld hl, SPRITEANIMSTRUCT_0D
add hl, bc add hl, bc
ld e, [hl] ld e, [hl]
@ -749,15 +749,15 @@ DoAnimFrame: ; 8d24b
ld [hl], a ld [hl], a
ret ret
.twentyseven ; 8d630 (23:5630) .sprite_anim_seq_1B ; 8d630 (23:5630)
callba Function108bc7 callba Function108bc7
ret ret
.twentyeight ; 8d637 (23:5637) .sprite_anim_seq_1C ; 8d637 (23:5637)
callba Function108be0 callba Function108be0
ret ret
.twentynine ; 8d63e (23:563e) .IntroSuicune ; 8d63e (23:563e)
ld a, [wcf65] ld a, [wcf65]
and a and a
jr nz, .asm_8d645 jr nz, .asm_8d645
@ -784,7 +784,7 @@ DoAnimFrame: ; 8d24b
call _ReinitSpriteAnimFrame call _ReinitSpriteAnimFrame
ret ret
.thirty ; 8d666 (23:5666) .IntroPichuWooper ; 8d666 (23:5666)
ld hl, SPRITEANIMSTRUCT_0C ld hl, SPRITEANIMSTRUCT_0C
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -803,7 +803,7 @@ DoAnimFrame: ; 8d24b
.asm_8d67f .asm_8d67f
ret ret
.thirtytwo ; 8d680 (23:5680) .IntroUnown ; 8d680 (23:5680)
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
add hl, bc add hl, bc
ld d, [hl] ld d, [hl]
@ -830,7 +830,7 @@ DoAnimFrame: ; 8d24b
ld [hl], a ld [hl], a
ret ret
.thirtythree ; 8d6a2 (23:56a2) .IntroUnownF ; 8d6a2 (23:56a2)
ld a, [wcf64] ld a, [wcf64]
cp $40 cp $40
ret nz ret nz
@ -838,7 +838,7 @@ DoAnimFrame: ; 8d24b
call _ReinitSpriteAnimFrame call _ReinitSpriteAnimFrame
ret ret
.thirtyfour ; 8d6ae (23:56ae) .IntroSuicuneAway ; 8d6ae (23:56ae)
ld hl, SPRITEANIMSTRUCT_YCOORD ld hl, SPRITEANIMSTRUCT_YCOORD
add hl, bc add hl, bc
ld a, [hl] ld a, [hl]
@ -846,11 +846,11 @@ DoAnimFrame: ; 8d24b
ld [hl], a ld [hl], a
ret ret
.twentysix ; 8d6b7 (23:56b7) .sprite_anim_seq_1A ; 8d6b7 (23:56b7)
callba AnimateEZChatCursor callba AnimateEZChatCursor
ret ret
.thirtyone ; 8d6be (23:56be) .Celebi ; 8d6be (23:56be)
callba UpdateCelebiPosition callba UpdateCelebiPosition
ret ret

View File

@ -551,51 +551,97 @@ BrokenGetStdGraphics: ; 8d1ac
; 8d1c4 ; 8d1c4
SpriteAnimSeqData: ; 8d1c4 SpriteAnimSeqData: ; 8d1c4
; entries correspond to SPRITE_ANIM_INDEX_* constants
; frameset sequence, tile ; frameset sequence, tile
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_01, $00 ; 00 ; SPRITE_ANIM_INDEX_PARTY_MON
db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00 ; 01 db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_05, $05 ; 02 ; SPRITE_ANIM_INDEX_01
db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; 03 db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00
db SPRITE_ANIM_FRAMESET_0B, SPRITE_ANIM_SEQ_07, $06 ; 04 gs intro star ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_0C, SPRITE_ANIM_SEQ_08, $06 ; 05 gs intro sparkle db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05
db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOT_GOLEM, $07 ; 06 slots golem ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; 07 slots chansey db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00
db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; 08 slots egg ; SPRITE_ANIM_INDEX_GS_INTRO_STAR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_0C, $05 ; 09 db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06
db SPRITE_ANIM_FRAMESET_WALK_CYCLE, SPRITE_ANIM_SEQ_NULL, $00 ; 0a walk cycle ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08 ; 0b db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08 ; 0c ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08 ; 0d db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07
db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_10, $00 ; 0e ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; 0f db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07
db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_11, $00 ; 10 ; SPRITE_ANIM_INDEX_SLOTS_EGG
db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; 11 db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07
db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; 12 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_13, $00 ; 13 db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05
db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_14, $00 ; 14 radio tuning knob ; SPRITE_ANIM_INDEX_RED_WALK
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; 15 chris on magnet train db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_15, $00 ; 16 leaves when cutting down a tree ; SPRITE_ANIM_INDEX_0B
db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; 17 db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; 18 flying leaves ; SPRITE_ANIM_INDEX_DUMMY_GAME
db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; 19 db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08
db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; 1a ; SPRITE_ANIM_INDEX_0D
db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; 1b headbutt db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08
db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_13, $00 ; 1c ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; 1d db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00
db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; 1e kris on map ; SPRITE_ANIM_INDEX_TRADE_POOF
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; 1f kris on magnet train db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00
db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00 ; 20 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00 ; 21 db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00
db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00 ; 22 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00 ; 23 db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00
db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00 ; 24 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00 ; 25 db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_1D, $00 ; 26 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_1E, $00 ; 27 db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00
db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_1E, $00 ; 28 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_20, $00 ; 29 intro unown db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_21, $00 ; 2a ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_22, $00 ; 2b db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00
; SPRITE_ANIM_INDEX_CUT_TREE
db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_FLY_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00
; SPRITE_ANIM_INDEX_EGG_CRACK
db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_1A
db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00
; SPRITE_ANIM_INDEX_HEADBUTT
db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_EGG_HATCH
db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00
; SPRITE_ANIM_INDEX_1D
db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00
; SPRITE_ANIM_INDEX_BLUE_WALK
db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_20
db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_21
db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_22
db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_23
db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00
; SPRITE_ANIM_INDEX_24
db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00
; SPRITE_ANIM_INDEX_25
db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_INTRO_SUICUNE
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00
; SPRITE_ANIM_INDEX_INTRO_PICHU
db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00
; SPRITE_ANIM_INDEX_INTRO_WOOPER
db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00
; SPRITE_ANIM_INDEX_INTRO_UNOWN
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00
; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00
; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
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 db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; 2c
; 8d24b ; 8d24b

View File

@ -16,7 +16,7 @@ StartMenu:: ; 125cd
call LoadMenuDataHeader call LoadMenuDataHeader
call .SetUpMenuItems call .SetUpMenuItems
ld a, [wd0d2] ld a, [wBattleMenuCursorBuffer]
ld [wMenuCursorBuffer], a ld [wMenuCursorBuffer], a
call .DrawMenuAccount_ call .DrawMenuAccount_
call DrawVariableLengthMenuBox call DrawVariableLengthMenuBox
@ -32,7 +32,7 @@ StartMenu:: ; 125cd
call UpdateSprites call UpdateSprites
call UpdateTimePals call UpdateTimePals
call .SetUpMenuItems call .SetUpMenuItems
ld a, [wd0d2] ld a, [wBattleMenuCursorBuffer]
ld [wMenuCursorBuffer], a ld [wMenuCursorBuffer], a
.Select: .Select:
@ -40,7 +40,7 @@ StartMenu:: ; 125cd
jr c, .Exit jr c, .Exit
call .DrawMenuAccount call .DrawMenuAccount
ld a, [wMenuCursorBuffer] ld a, [wMenuCursorBuffer]
ld [wd0d2], a ld [wBattleMenuCursorBuffer], a
call PlayClickSFX call PlayClickSFX
call PlaceHollowCursor call PlaceHollowCursor
call .OpenMenu call .OpenMenu
@ -614,7 +614,7 @@ TossItemFromPC: ; 129f4
pop af pop af
jr c, .quit jr c, .quit
pop hl pop hl
ld a, [wd107] ld a, [CurItemQuantity]
call TossItem call TossItem
call PartyMonItemName call PartyMonItemName
ld hl, .TossedThisMany ld hl, .TossedThisMany

View File

@ -3,7 +3,7 @@ BattleStatsScreenInit: ; 4dc7b (13:5c7b)
cp LINK_MOBILE cp LINK_MOBILE
jr nz, StatsScreenInit jr nz, StatsScreenInit
ld a, [wBattleMode] ; wd22d (aliases: EnemyMonEnd) ld a, [wBattleMode]
and a and a
jr z, StatsScreenInit jr z, StatsScreenInit
jr _MobileStatsScreenInit jr _MobileStatsScreenInit
@ -377,7 +377,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea)
call .PlaceHPBar call .PlaceHPBar
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo) ld a, [CurBaseData]
ld [wd265], a ld [wd265], a
ld [CurSpecies], a ld [CurSpecies], a
hlcoord 8, 0 hlcoord 8, 0
@ -401,7 +401,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea)
hlcoord 9, 4 hlcoord 9, 4
ld a, "/" ld a, "/"
ld [hli], a ld [hli], a
ld a, [CurBaseData] ; wd236 (aliases: BaseDexNo) ld a, [CurBaseData]
ld [wd265], a ld [wd265], a
call GetPokemonName call GetPokemonName
call PlaceString call PlaceString
@ -420,7 +420,7 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea)
ld d, a ld d, a
ld e, [hl] ld e, [hl]
callba ComputeHPBarPixels callba ComputeHPBarPixels
ld hl, wcda1 ld hl, wCurHPPal
call SetHPPal call SetHPPal
ld b, SCGB_STATS_SCREEN_HP_PALS ld b, SCGB_STATS_SCREEN_HP_PALS
call GetSGBLayout call GetSGBLayout
@ -453,7 +453,7 @@ Function4df7f: ; 4df7f
ld bc, SCREEN_WIDTH ld bc, SCREEN_WIDTH
ld d, SCREEN_HEIGHT ld d, SCREEN_HEIGHT
.loop .loop
ld a, $31 ld a, "|"
ld [hl], a ld [hl], a
add hl, bc add hl, bc
dec d dec d
@ -487,7 +487,7 @@ StatsScreen_PlaceShinyIcon: ; 4dfa6 (13:5fa6)
ret ret
StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6) StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
ld a, [BaseDexNo] ; wd236 (aliases: BaseDexNo) ld a, [BaseDexNo]
ld [wd265], a ld [wd265], a
ld [CurSpecies], a ld [CurSpecies], a
xor a xor a
@ -583,7 +583,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
hlcoord 9, 8 hlcoord 9, 8
ld de, SCREEN_WIDTH ld de, SCREEN_WIDTH
ld b, 10 ld b, 10
ld a, $31 ld a, "|"
.vertical_divider .vertical_divider
ld [hl], a ld [hl], a
add hl, de add hl, de
@ -601,7 +601,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
call .CalcExpToNextLevel call .CalcExpToNextLevel
hlcoord 13, 13 hlcoord 13, 13
lb bc, 3, 7 lb bc, 3, 7
ld de, Buffer1 ; wd1ea (aliases: MagikarpLength) ld de, Buffer1
call PrintNum call PrintNum
ld de, .LevelUpStr ld de, .LevelUpStr
hlcoord 10, 12 hlcoord 10, 12
@ -649,14 +649,14 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
ld a, [hQuotient + 1] ld a, [hQuotient + 1]
sbc [hl] sbc [hl]
dec hl dec hl
ld [Buffer2], a ; wd1eb (aliases: MovementType) ld [Buffer2], a
ld a, [hQuotient] ld a, [hQuotient]
sbc [hl] sbc [hl]
ld [Buffer1], a ; wd1ea (aliases: MagikarpLength) ld [Buffer1], a
ret ret
.AlreadyAtMaxLevel: .AlreadyAtMaxLevel:
ld hl, Buffer1 ; wd1ea (aliases: MagikarpLength) ld hl, Buffer1
xor a xor a
ld [hli], a ld [hli], a
ld [hli], a ld [hli], a
@ -743,7 +743,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
hlcoord 10, 8 hlcoord 10, 8
ld de, SCREEN_WIDTH ld de, SCREEN_WIDTH
ld b, 10 ld b, 10
ld a, $31 ld a, "|"
.BluePageVerticalDivider: .BluePageVerticalDivider:
ld [hl], a ld [hl], a
add hl, de add hl, de
@ -891,7 +891,7 @@ StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad)
.PartyMon: ; 4e2bf (13:62bf) .PartyMon: ; 4e2bf (13:62bf)
ld a, [CurPartyMon] ld a, [CurPartyMon]
ld hl, PartyMons ; wdcdf (aliases: PartyMon1, PartyMon1Species) ld hl, PartyMon1
ld bc, PARTYMON_STRUCT_LENGTH ld bc, PARTYMON_STRUCT_LENGTH
call AddNTimes call AddNTimes
ld b, h ld b, h
@ -918,7 +918,7 @@ StatsScreen_GetAnimationParam: ; 4e2ad (13:62ad)
ret ret
.Tempmon: ; 4e2ed (13:62ed) .Tempmon: ; 4e2ed (13:62ed)
ld bc, TempMonSpecies ; wd10e (aliases: TempMon) ld bc, TempMonSpecies
jr .CheckEggFaintedFrzSlp ; utterly pointless jr .CheckEggFaintedFrzSlp ; utterly pointless
.CheckEggFaintedFrzSlp: ; 4e2f2 (13:62f2) .CheckEggFaintedFrzSlp: ; 4e2f2 (13:62f2)
@ -973,7 +973,7 @@ Unknown_4e32a: ; 4e32a
EggStatsScreen: ; 4e33a EggStatsScreen: ; 4e33a
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
ld hl, wcda1 ld hl, wCurHPPal
call SetHPPal call SetHPPal
ld b, SCGB_STATS_SCREEN_HP_PALS ld b, SCGB_STATS_SCREEN_HP_PALS
call GetSGBLayout call GetSGBLayout

View File

@ -10,9 +10,9 @@ InitClock: ; 90672 (24:4672)
ld a, $10 ld a, $10
ld [MusicFade], a ld [MusicFade], a
ld a, MUSIC_NONE % $100 ld a, MUSIC_NONE % $100
ld [MusicFadeIDLo], a ld [MusicFadeID], a
ld a, MUSIC_NONE / $100 ld a, MUSIC_NONE / $100
ld [MusicFadeIDHi], a ld [MusicFadeID + 1], a
ld c, 8 ld c, 8
call DelayFrames call DelayFrames
call RotateFourPalettesLeft call RotateFourPalettesLeft
@ -23,17 +23,17 @@ InitClock: ; 90672 (24:4672)
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
call LoadStandardFont call LoadStandardFont
ld de, GFX_908fb ld de, TimeSetBackgroundGFX
ld hl, VTiles2 tile $00 ld hl, VTiles2 tile $00
lb bc, BANK(GFX_908fb), 1 lb bc, BANK(TimeSetBackgroundGFX), 1
call Request1bpp call Request1bpp
ld de, GFX_90903 ld de, TimeSetUpArrowGFX
ld hl, VTiles2 tile $01 ld hl, VTiles2 tile $01
lb bc, BANK(GFX_90903), 1 lb bc, BANK(TimeSetUpArrowGFX), 1
call Request1bpp call Request1bpp
ld de, GFX_9090b ld de, TimeSetDownArrowGFX
ld hl, VTiles2 tile $02 ld hl, VTiles2 tile $02
lb bc, BANK(GFX_9090b), 1 lb bc, BANK(TimeSetDownArrowGFX), 1
call Request1bpp call Request1bpp
call .ClearScreen call .ClearScreen
call WaitBGMap call WaitBGMap
@ -396,12 +396,12 @@ OakText_ResponseToSetTime: ; 0x908b8
db "@" db "@"
; 0x908fb ; 0x908fb
GFX_908fb: ; 908fb TimeSetBackgroundGFX: ; 908fb
INCBIN "gfx/unknown/0908fb.1bpp" INCBIN "gfx/timeset/background.1bpp"
GFX_90903: ; 90903 TimeSetUpArrowGFX: ; 90903
INCBIN "gfx/unknown/090903.1bpp" INCBIN "gfx/timeset/up_arrow.1bpp"
GFX_9090b: ; 9090b TimeSetDownArrowGFX: ; 9090b
INCBIN "gfx/unknown/09090b.1bpp" INCBIN "gfx/timeset/down_arrow.1bpp"
; 90913 ; 90913
Special_SetDayOfWeek: ; 90913 Special_SetDayOfWeek: ; 90913
@ -409,13 +409,13 @@ Special_SetDayOfWeek: ; 90913
push af push af
ld a, $1 ld a, $1
ld [hInMenu], a ld [hInMenu], a
ld de, GFX_90903 ld de, TimeSetUpArrowGFX
ld hl, VTiles1 tile $6f ld hl, VTiles1 tile $6f
lb bc, BANK(GFX_90903), 1 lb bc, BANK(TimeSetUpArrowGFX), 1
call Request1bpp call Request1bpp
ld de, GFX_9090b ld de, TimeSetDownArrowGFX
ld hl, VTiles1 tile $75 ld hl, VTiles1 tile $75
lb bc, BANK(GFX_9090b), 1 lb bc, BANK(TimeSetDownArrowGFX), 1
call Request1bpp call Request1bpp
xor a xor a
ld [wTempDayOfWeek], a ld [wTempDayOfWeek], a

View File

@ -10,10 +10,10 @@ _TitleScreen: ; 10ed67
; Reset timing variables ; Reset timing variables
ld hl, wJumptableIndex ld hl, wJumptableIndex
ld [hli], a ; cf63 ; Scene? ld [hli], a ; wJumptableIndex
ld [hli], a ; cf64 ld [hli], a ; wIntroSceneFrameCounter
ld [hli], a ; cf65 ; Timer lo ld [hli], a ; wTitleScreenTimer
ld [hl], a ; cf66 ; Timer hi ld [hl], a ; wTitleScreenTimer + 1
; Turn LCD off ; Turn LCD off
call DisableLCD call DisableLCD
@ -145,12 +145,12 @@ _TitleScreen: ; 10ed67
; Update palette colors ; Update palette colors
ld hl, TitleScreenPalettes ld hl, TitleScreenPalettes
ld de, UnknBGPals ld de, UnknBGPals
ld bc, 4 * 32 ld bc, 16 palettes
call CopyBytes call CopyBytes
ld hl, TitleScreenPalettes ld hl, TitleScreenPalettes
ld de, BGPals ld de, BGPals
ld bc, 4 * 32 ld bc, 16 palettes
call CopyBytes call CopyBytes
; Restore WRAM bank ; Restore WRAM bank

Some files were not shown because too many files have changed in this diff Show More