mirror of
https://github.com/pret/pokegold.git
synced 2026-03-21 17:34:16 -05:00
Replace hardware_constants.asm with the community-standard hardware.inc 5.0 (#130)
This commit is contained in:
parent
7c3ac3e1b8
commit
f57be98873
220
audio/engine.asm
220
audio/engine.asm
|
|
@ -14,27 +14,27 @@ _InitSound::
|
|||
push bc
|
||||
push af
|
||||
call MusicOff
|
||||
ld hl, rNR50 ; channel control registers
|
||||
ld hl, rAUDVOL ; channel control registers
|
||||
xor a
|
||||
ld [hli], a ; rNR50 ; volume/vin
|
||||
ld [hli], a ; rNR51 ; sfx channels
|
||||
ld [hli], a ; rAUDVOL ; volume/vin
|
||||
ld [hli], a ; rAUDTERM ; sfx channels
|
||||
ld a, $80 ; all channels on
|
||||
ld [hli], a ; rNR52 ; music channels
|
||||
ld [hli], a ; rAUDENA ; music channels
|
||||
|
||||
ld hl, rNR10 ; sound channel registers
|
||||
ld hl, rAUD1SWEEP ; sound channel registers
|
||||
ld e, NUM_MUSIC_CHANS
|
||||
.clearsound
|
||||
; sound channel 1 2 3 4
|
||||
xor a
|
||||
ld [hli], a ; rNR10, rNR20, rNR30, rNR40 ; sweep = 0
|
||||
ld [hli], a ; rAUD1SWEEP, rNR20, rAUD3ENA, rNR40 ; sweep = 0
|
||||
|
||||
ld [hli], a ; rNR11, rNR21, rNR31, rNR41 ; length/wavepattern = 0
|
||||
ld [hli], a ; rAUD1LEN, rAUD2LEN, rAUD3LEN, rAUD4LEN ; length/wavepattern = 0
|
||||
ld a, $8
|
||||
ld [hli], a ; rNR12, rNR22, rNR32, rNR42 ; envelope = 0
|
||||
ld [hli], a ; rAUD1ENV, rAUD2ENV, rAUD3LEVEL, rAUD4ENV ; envelope = 0
|
||||
xor a
|
||||
ld [hli], a ; rNR13, rNR23, rNR33, rNR43 ; frequency lo = 0
|
||||
ld [hli], a ; rAUD1LOW, rAUD2LOW, rAUD3LOW, rAUD4POLY ; frequency lo = 0
|
||||
ld a, $80
|
||||
ld [hli], a ; rNR14, rNR24, rNR34, rNR44 ; restart sound (freq hi = 0)
|
||||
ld [hli], a ; rAUD1HIGH, rAUD2HIGH, rAUD3HIGH, rAUD4GO ; restart sound (freq hi = 0)
|
||||
dec e
|
||||
jr nz, .clearsound
|
||||
|
||||
|
|
@ -203,10 +203,10 @@ _UpdateSound::
|
|||
call FadeMusic
|
||||
; write volume to hardware register
|
||||
ld a, [wVolume]
|
||||
ldh [rNR50], a
|
||||
ldh [rAUDVOL], a
|
||||
; write SO on/off to hardware register
|
||||
ld a, [wSoundOutput]
|
||||
ldh [rNR51], a
|
||||
ldh [rAUDTERM], a
|
||||
ret
|
||||
|
||||
UpdateChannels:
|
||||
|
|
@ -250,7 +250,7 @@ UpdateChannels:
|
|||
jr z, .noPitchSweep
|
||||
;
|
||||
ld a, [wPitchSweep]
|
||||
ldh [rNR10], a
|
||||
ldh [rAUD1SWEEP], a
|
||||
.noPitchSweep
|
||||
bit NOTE_REST, [hl] ; rest
|
||||
jr nz, .ch1_rest
|
||||
|
|
@ -264,36 +264,36 @@ UpdateChannels:
|
|||
|
||||
.ch1_frequency_override
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR13], a
|
||||
ldh [rAUD1LOW], a
|
||||
ld a, [wCurTrackFrequency + 1]
|
||||
ldh [rNR14], a
|
||||
ldh [rAUD1HIGH], a
|
||||
.ch1_check_duty_override
|
||||
bit NOTE_DUTY_OVERRIDE, [hl]
|
||||
ret z
|
||||
ld a, [wCurTrackDuty]
|
||||
ld d, a
|
||||
ldh a, [rNR11]
|
||||
ldh a, [rAUD1LEN]
|
||||
and $3f ; sound length
|
||||
or d
|
||||
ldh [rNR11], a
|
||||
ldh [rAUD1LEN], a
|
||||
ret
|
||||
|
||||
.ch1_vibrato_override
|
||||
ld a, [wCurTrackDuty]
|
||||
ld d, a
|
||||
ldh a, [rNR11]
|
||||
ldh a, [rAUD1LEN]
|
||||
and $3f ; sound length
|
||||
or d
|
||||
ldh [rNR11], a
|
||||
ldh [rAUD1LEN], a
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR13], a
|
||||
ldh [rAUD1LOW], a
|
||||
ret
|
||||
|
||||
.ch1_rest
|
||||
ldh a, [rNR52]
|
||||
ldh a, [rAUDENA]
|
||||
and %10001110 ; ch1 off
|
||||
ldh [rNR52], a
|
||||
ld hl, rNR10
|
||||
ldh [rAUDENA], a
|
||||
ld hl, rAUD1SWEEP
|
||||
call ClearChannel
|
||||
ret
|
||||
|
||||
|
|
@ -301,14 +301,14 @@ UpdateChannels:
|
|||
ld hl, wCurTrackDuty
|
||||
ld a, $3f ; sound length
|
||||
or [hl]
|
||||
ldh [rNR11], a
|
||||
ldh [rAUD1LEN], a
|
||||
ld a, [wCurTrackVolumeEnvelope]
|
||||
ldh [rNR12], a
|
||||
ldh [rAUD1ENV], a
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR13], a
|
||||
ldh [rAUD1LOW], a
|
||||
ld a, [wCurTrackFrequency + 1]
|
||||
or $80
|
||||
ldh [rNR14], a
|
||||
ldh [rAUD1HIGH], a
|
||||
ret
|
||||
|
||||
.Channel2:
|
||||
|
|
@ -325,35 +325,35 @@ UpdateChannels:
|
|||
ret z
|
||||
ld a, [wCurTrackDuty]
|
||||
ld d, a
|
||||
ldh a, [rNR21]
|
||||
ldh a, [rAUD2LEN]
|
||||
and $3f ; sound length
|
||||
or d
|
||||
ldh [rNR21], a
|
||||
ldh [rAUD2LEN], a
|
||||
ret
|
||||
|
||||
.ch2_frequency_override ; unreferenced
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR23], a
|
||||
ldh [rAUD2LOW], a
|
||||
ld a, [wCurTrackFrequency + 1]
|
||||
ldh [rNR24], a
|
||||
ldh [rAUD2HIGH], a
|
||||
ret
|
||||
|
||||
.ch2_vibrato_override
|
||||
ld a, [wCurTrackDuty]
|
||||
ld d, a
|
||||
ldh a, [rNR21]
|
||||
ldh a, [rAUD2LEN]
|
||||
and $3f ; sound length
|
||||
or d
|
||||
ldh [rNR21], a
|
||||
ldh [rAUD2LEN], a
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR23], a
|
||||
ldh [rAUD2LOW], a
|
||||
ret
|
||||
|
||||
.ch2_rest
|
||||
ldh a, [rNR52]
|
||||
ldh a, [rAUDENA]
|
||||
and %10001101 ; ch2 off
|
||||
ldh [rNR52], a
|
||||
ld hl, rNR21 - 1 ; there is no rNR20
|
||||
ldh [rAUDENA], a
|
||||
ld hl, rAUD2LEN - 1 ; there is no rNR20
|
||||
call ClearChannel
|
||||
ret
|
||||
|
||||
|
|
@ -361,14 +361,14 @@ UpdateChannels:
|
|||
ld hl, wCurTrackDuty
|
||||
ld a, $3f ; sound length
|
||||
or [hl]
|
||||
ldh [rNR21], a
|
||||
ldh [rAUD2LEN], a
|
||||
ld a, [wCurTrackVolumeEnvelope]
|
||||
ldh [rNR22], a
|
||||
ldh [rAUD2ENV], a
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR23], a
|
||||
ldh [rAUD2LOW], a
|
||||
ld a, [wCurTrackFrequency + 1]
|
||||
or $80 ; initial (restart)
|
||||
ldh [rNR24], a
|
||||
ldh [rAUD2HIGH], a
|
||||
ret
|
||||
|
||||
.Channel3:
|
||||
|
|
@ -385,37 +385,37 @@ UpdateChannels:
|
|||
|
||||
.ch3_frequency_override ; unreferenced
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR33], a
|
||||
ldh [rAUD3LOW], a
|
||||
ld a, [wCurTrackFrequency + 1]
|
||||
ldh [rNR34], a
|
||||
ldh [rAUD3HIGH], a
|
||||
ret
|
||||
|
||||
.ch3_vibrato_override
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR33], a
|
||||
ldh [rAUD3LOW], a
|
||||
ret
|
||||
|
||||
.ch3_rest
|
||||
ldh a, [rNR52]
|
||||
ldh a, [rAUDENA]
|
||||
and %10001011 ; ch3 off
|
||||
ldh [rNR52], a
|
||||
ld hl, rNR30
|
||||
ldh [rAUDENA], a
|
||||
ld hl, rAUD3ENA
|
||||
call ClearChannel
|
||||
ret
|
||||
|
||||
.ch3_noise_sampling
|
||||
ld a, $3f ; sound length
|
||||
ldh [rNR31], a
|
||||
ldh [rAUD3LEN], a
|
||||
xor a
|
||||
ldh [rNR30], a
|
||||
ldh [rAUD3ENA], a
|
||||
call .load_wave_pattern
|
||||
ld a, $80
|
||||
ldh [rNR30], a
|
||||
ldh [rAUD3ENA], a
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR33], a
|
||||
ldh [rAUD3LOW], a
|
||||
ld a, [wCurTrackFrequency + 1]
|
||||
or $80
|
||||
ldh [rNR34], a
|
||||
ldh [rAUD3HIGH], a
|
||||
ret
|
||||
|
||||
.load_wave_pattern
|
||||
|
|
@ -432,44 +432,44 @@ rept 4
|
|||
endr
|
||||
ld de, WaveSamples
|
||||
add hl, de
|
||||
; load wavepattern into rWave_0-rWave_f
|
||||
; load wavepattern into rAUD3WAVE_0-rAUD3WAVE_F
|
||||
ld a, [hli]
|
||||
ldh [rWave_0], a
|
||||
ldh [rAUD3WAVE_0], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_1], a
|
||||
ldh [rAUD3WAVE_1], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_2], a
|
||||
ldh [rAUD3WAVE_2], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_3], a
|
||||
ldh [rAUD3WAVE_3], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_4], a
|
||||
ldh [rAUD3WAVE_4], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_5], a
|
||||
ldh [rAUD3WAVE_5], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_6], a
|
||||
ldh [rAUD3WAVE_6], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_7], a
|
||||
ldh [rAUD3WAVE_7], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_8], a
|
||||
ldh [rAUD3WAVE_8], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_9], a
|
||||
ldh [rAUD3WAVE_9], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_a], a
|
||||
ldh [rAUD3WAVE_A], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_b], a
|
||||
ldh [rAUD3WAVE_B], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_c], a
|
||||
ldh [rAUD3WAVE_C], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_d], a
|
||||
ldh [rAUD3WAVE_D], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_e], a
|
||||
ldh [rAUD3WAVE_E], a
|
||||
ld a, [hli]
|
||||
ldh [rWave_f], a
|
||||
ldh [rAUD3WAVE_F], a
|
||||
pop hl
|
||||
ld a, [wCurTrackVolumeEnvelope]
|
||||
and $f0
|
||||
sla a
|
||||
ldh [rNR32], a
|
||||
ldh [rAUD3LEVEL], a
|
||||
ret
|
||||
|
||||
.Channel4:
|
||||
|
|
@ -484,26 +484,26 @@ endr
|
|||
|
||||
.ch4_frequency_override ; unreferenced
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR43], a
|
||||
ldh [rAUD4POLY], a
|
||||
ret
|
||||
|
||||
.ch4_rest
|
||||
ldh a, [rNR52]
|
||||
ldh a, [rAUDENA]
|
||||
and %10000111 ; ch4 off
|
||||
ldh [rNR52], a
|
||||
ld hl, rNR41 - 1 ; there is no rNR40
|
||||
ldh [rAUDENA], a
|
||||
ld hl, rAUD4LEN - 1 ; there is no rNR40
|
||||
call ClearChannel
|
||||
ret
|
||||
|
||||
.ch4_noise_sampling
|
||||
ld a, $3f ; sound length
|
||||
ldh [rNR41], a
|
||||
ldh [rAUD4LEN], a
|
||||
ld a, [wCurTrackVolumeEnvelope]
|
||||
ldh [rNR42], a
|
||||
ldh [rAUD4ENV], a
|
||||
ld a, [wCurTrackFrequency]
|
||||
ldh [rNR43], a
|
||||
ldh [rAUD4POLY], a
|
||||
ld a, $80
|
||||
ldh [rNR44], a
|
||||
ldh [rAUD4GO], a
|
||||
ret
|
||||
|
||||
_CheckSFX:
|
||||
|
|
@ -557,15 +557,15 @@ PlayDanger:
|
|||
|
||||
.applychannel
|
||||
xor a
|
||||
ldh [rNR10], a
|
||||
ldh [rAUD1SWEEP], a
|
||||
ld a, [hli]
|
||||
ldh [rNR11], a
|
||||
ldh [rAUD1LEN], a
|
||||
ld a, [hli]
|
||||
ldh [rNR12], a
|
||||
ldh [rAUD1ENV], a
|
||||
ld a, [hli]
|
||||
ldh [rNR13], a
|
||||
ldh [rAUD1LOW], a
|
||||
ld a, [hli]
|
||||
ldh [rNR14], a
|
||||
ldh [rAUD1HIGH], a
|
||||
|
||||
.increment
|
||||
ld a, d
|
||||
|
|
@ -1227,7 +1227,7 @@ ParseMusic:
|
|||
jr nz, .ok
|
||||
; sweep = 0
|
||||
xor a
|
||||
ldh [rNR10], a
|
||||
ldh [rAUD1SWEEP], a
|
||||
.ok
|
||||
; stop playing
|
||||
; turn channel off
|
||||
|
|
@ -2476,56 +2476,56 @@ _PlaySFX::
|
|||
jr z, .ch6
|
||||
res SOUND_CHANNEL_ON, [hl] ; turn it off
|
||||
xor a
|
||||
ldh [rNR11], a ; length/wavepattern = 0
|
||||
ldh [rAUD1LEN], a ; length/wavepattern = 0
|
||||
ld a, $8
|
||||
ldh [rNR12], a ; envelope = 0
|
||||
ldh [rAUD1ENV], a ; envelope = 0
|
||||
xor a
|
||||
ldh [rNR13], a ; frequency lo = 0
|
||||
ldh [rAUD1LOW], a ; frequency lo = 0
|
||||
ld a, $80
|
||||
ldh [rNR14], a ; restart sound (freq hi = 0)
|
||||
ldh [rAUD1HIGH], a ; restart sound (freq hi = 0)
|
||||
xor a
|
||||
ld [wPitchSweep], a ; pitch sweep off
|
||||
ldh [rNR10], a ; pitch sweep off
|
||||
ldh [rAUD1SWEEP], a ; pitch sweep off
|
||||
.ch6
|
||||
ld hl, wChannel6Flags1
|
||||
bit SOUND_CHANNEL_ON, [hl]
|
||||
jr z, .ch7
|
||||
res SOUND_CHANNEL_ON, [hl] ; turn it off
|
||||
xor a
|
||||
ldh [rNR21], a ; length/wavepattern = 0
|
||||
ldh [rAUD2LEN], a ; length/wavepattern = 0
|
||||
ld a, $8
|
||||
ldh [rNR22], a ; envelope = 0
|
||||
ldh [rAUD2ENV], a ; envelope = 0
|
||||
xor a
|
||||
ldh [rNR23], a ; frequency lo = 0
|
||||
ldh [rAUD2LOW], a ; frequency lo = 0
|
||||
ld a, $80
|
||||
ldh [rNR24], a ; restart sound (freq hi = 0)
|
||||
ldh [rAUD2HIGH], a ; restart sound (freq hi = 0)
|
||||
.ch7
|
||||
ld hl, wChannel7Flags1
|
||||
bit SOUND_CHANNEL_ON, [hl]
|
||||
jr z, .ch8
|
||||
res SOUND_CHANNEL_ON, [hl] ; turn it off
|
||||
xor a
|
||||
ldh [rNR30], a ; sound mode #3 off
|
||||
ldh [rNR31], a ; length/wavepattern = 0
|
||||
ldh [rAUD3ENA], a ; sound mode #3 off
|
||||
ldh [rAUD3LEN], a ; length/wavepattern = 0
|
||||
ld a, $8
|
||||
ldh [rNR32], a ; envelope = 0
|
||||
ldh [rAUD3LEVEL], a ; envelope = 0
|
||||
xor a
|
||||
ldh [rNR33], a ; frequency lo = 0
|
||||
ldh [rAUD3LOW], a ; frequency lo = 0
|
||||
ld a, $80
|
||||
ldh [rNR34], a ; restart sound (freq hi = 0)
|
||||
ldh [rAUD3HIGH], a ; restart sound (freq hi = 0)
|
||||
.ch8
|
||||
ld hl, wChannel8Flags1
|
||||
bit SOUND_CHANNEL_ON, [hl]
|
||||
jr z, .chscleared
|
||||
res SOUND_CHANNEL_ON, [hl] ; turn it off
|
||||
xor a
|
||||
ldh [rNR41], a ; length/wavepattern = 0
|
||||
ldh [rAUD4LEN], a ; length/wavepattern = 0
|
||||
ld a, $8
|
||||
ldh [rNR42], a ; envelope = 0
|
||||
ldh [rAUD4ENV], a ; envelope = 0
|
||||
xor a
|
||||
ldh [rNR43], a ; frequency lo = 0
|
||||
ldh [rAUD4POLY], a ; frequency lo = 0
|
||||
ld a, $80
|
||||
ldh [rNR44], a ; restart sound (freq hi = 0)
|
||||
ldh [rAUD4GO], a ; restart sound (freq hi = 0)
|
||||
xor a
|
||||
ld [wNoiseSampleAddress], a
|
||||
ld [wNoiseSampleAddress + 1], a
|
||||
|
|
@ -2798,13 +2798,13 @@ ChannelPointers:
|
|||
|
||||
ClearChannels::
|
||||
; runs ClearChannel for all 4 channels
|
||||
ld hl, rNR50
|
||||
ld hl, rAUDVOL
|
||||
xor a
|
||||
ld [hli], a
|
||||
ld [hli], a
|
||||
ld a, $80
|
||||
ld [hli], a
|
||||
ld hl, rNR10
|
||||
ld hl, rAUD1SWEEP
|
||||
ld e, NUM_MUSIC_CHANS
|
||||
.loop
|
||||
call ClearChannel
|
||||
|
|
@ -2813,20 +2813,20 @@ ClearChannels::
|
|||
ret
|
||||
|
||||
ClearChannel:
|
||||
; input: hl = beginning hw sound register (rNR10, rNR20, rNR30, rNR40)
|
||||
; input: hl = beginning hw sound register (rAUD1SWEEP, rNR20, rAUD3ENA, rNR40)
|
||||
; output: 00 00 80 00 80
|
||||
|
||||
; sound channel 1 2 3 4
|
||||
xor a
|
||||
ld [hli], a ; rNR10, rNR20, rNR30, rNR40 ; sweep = 0
|
||||
ld [hli], a ; rAUD1SWEEP, rNR20, rAUD3ENA, rNR40 ; sweep = 0
|
||||
|
||||
ld [hli], a ; rNR11, rNR21, rNR31, rNR41 ; length/wavepattern = 0
|
||||
ld [hli], a ; rAUD1LEN, rAUD2LEN, rAUD3LEN, rAUD4LEN ; length/wavepattern = 0
|
||||
ld a, $8
|
||||
ld [hli], a ; rNR12, rNR22, rNR32, rNR42 ; envelope = 0
|
||||
ld [hli], a ; rAUD1ENV, rAUD2ENV, rAUD3LEVEL, rAUD4ENV ; envelope = 0
|
||||
xor a
|
||||
ld [hli], a ; rNR13, rNR23, rNR33, rNR43 ; frequency lo = 0
|
||||
ld [hli], a ; rAUD1LOW, rAUD2LOW, rAUD3LOW, rAUD4POLY ; frequency lo = 0
|
||||
ld a, $80
|
||||
ld [hli], a ; rNR14, rNR24, rNR34, rNR44 ; restart sound (freq hi = 0)
|
||||
ld [hli], a ; rAUD1HIGH, rAUD2HIGH, rAUD3HIGH, rAUD4GO ; restart sound (freq hi = 0)
|
||||
ret
|
||||
|
||||
PlayTrainerEncounterMusic::
|
||||
|
|
|
|||
|
|
@ -1,21 +1,7 @@
|
|||
DEF TILE_WIDTH EQU 8 ; pixels
|
||||
DEF LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes
|
||||
DEF LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes
|
||||
|
||||
DEF NUM_PAL_COLORS EQU 4
|
||||
DEF PAL_COLOR_SIZE EQU 2
|
||||
DEF PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
|
||||
DEF TILE_1BPP_SIZE EQU TILE_SIZE / 2 ; bytes
|
||||
|
||||
DEF PALRGB_WHITE EQU palred 31 + palgreen 31 + palblue 31 ; $7fff
|
||||
|
||||
DEF SCREEN_WIDTH EQU 20 ; tiles
|
||||
DEF SCREEN_HEIGHT EQU 18 ; tiles
|
||||
DEF SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels
|
||||
DEF SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels
|
||||
|
||||
DEF BG_MAP_WIDTH EQU 32 ; tiles
|
||||
DEF BG_MAP_HEIGHT EQU 32 ; tiles
|
||||
|
||||
DEF METATILE_WIDTH EQU 4 ; tiles
|
||||
DEF SCREEN_META_WIDTH EQU 6 ; metatiles
|
||||
DEF SCREEN_META_HEIGHT EQU 5 ; metatiles
|
||||
|
|
@ -33,15 +19,6 @@ DEF HP_GREEN EQU 0
|
|||
DEF HP_YELLOW EQU 1
|
||||
DEF HP_RED EQU 2
|
||||
|
||||
; sprite_oam_struct members (see macros/ram.asm)
|
||||
rsreset
|
||||
DEF SPRITEOAMSTRUCT_YCOORD rb ; 0
|
||||
DEF SPRITEOAMSTRUCT_XCOORD rb ; 1
|
||||
DEF SPRITEOAMSTRUCT_TILE_ID rb ; 2
|
||||
DEF SPRITEOAMSTRUCT_ATTRIBUTES rb ; 3
|
||||
DEF SPRITEOAMSTRUCT_LENGTH EQU _RS
|
||||
DEF NUM_SPRITE_OAM_STRUCTS EQU 40 ; see wShadowOAM
|
||||
|
||||
DEF SPRITE_GFX_LIST_CAPACITY EQU 12 ; see wUsedSprites
|
||||
|
||||
DEF OAM_YCOORD_HIDDEN EQU 160 ; hides an OAM offscreen
|
||||
|
|
|
|||
929
constants/hardware.inc
Normal file
929
constants/hardware.inc
Normal file
|
|
@ -0,0 +1,929 @@
|
|||
;******************************************************************************
|
||||
; Game Boy hardware constant definitions
|
||||
; https://github.com/gbdev/hardware.inc
|
||||
;******************************************************************************
|
||||
|
||||
; To the extent possible under law, the authors of this work have
|
||||
; waived all copyright and related or neighboring rights to the work.
|
||||
; See https://creativecommons.org/publicdomain/zero/1.0/ for details.
|
||||
; SPDX-License-Identifier: CC0-1.0
|
||||
|
||||
; If this file was already included, don't do it again
|
||||
if !def(HARDWARE_INC)
|
||||
|
||||
; Check for the minimum supported RGBDS version
|
||||
if !def(__RGBDS_MAJOR__) || !def(__RGBDS_MINOR__) || !def(__RGBDS_PATCH__)
|
||||
fail "This version of 'hardware.inc' requires RGBDS version 0.5.0 or later"
|
||||
endc
|
||||
if __RGBDS_MAJOR__ == 0 && __RGBDS_MINOR__ < 5
|
||||
fail "This version of 'hardware.inc' requires RGBDS version 0.5.0 or later."
|
||||
endc
|
||||
|
||||
; Define the include guard and the current hardware.inc version
|
||||
; (do this after the RGBDS version check since the `def` syntax depends on it)
|
||||
def HARDWARE_INC equ 1
|
||||
def HARDWARE_INC_VERSION equs "5.0.0"
|
||||
|
||||
; Usage: rev_Check_hardware_inc <min_ver>
|
||||
; Examples:
|
||||
; rev_Check_hardware_inc 1.2.3
|
||||
; rev_Check_hardware_inc 1.2 (equivalent to 1.2.0)
|
||||
; rev_Check_hardware_inc 1 (equivalent to 1.0.0)
|
||||
MACRO rev_Check_hardware_inc
|
||||
if _NARG == 1 ; Actual invocation by the user
|
||||
def hw_inc_cur_ver\@ equs strrpl("{HARDWARE_INC_VERSION}", ".", ",")
|
||||
def hw_inc_min_ver\@ equs strrpl("\1", ".", ",")
|
||||
rev_Check_hardware_inc {hw_inc_cur_ver\@}, {hw_inc_min_ver\@}, 0, 0
|
||||
purge hw_inc_cur_ver\@, hw_inc_min_ver\@
|
||||
else ; Recursive invocation
|
||||
if \1 != \4 || (\2 < \5 || (\2 == \5 && \3 < \6))
|
||||
fail "Version \1.\2.\3 of 'hardware.inc' is incompatible with requested version \4.\5.\6"
|
||||
endc
|
||||
endc
|
||||
ENDM
|
||||
|
||||
|
||||
;******************************************************************************
|
||||
; Memory-mapped registers ($FFxx range)
|
||||
;******************************************************************************
|
||||
|
||||
; -- JOYP / P1 ($FF00) --------------------------------------------------------
|
||||
; Joypad face buttons
|
||||
def rJOYP equ $FF00
|
||||
|
||||
def B_JOYP_GET_BUTTONS equ 5 ; 0 = reading buttons [r/w]
|
||||
def B_JOYP_GET_CTRL_PAD equ 4 ; 0 = reading Control Pad [r/w]
|
||||
def JOYP_GET equ %00_11_0000 ; select which inputs to read from the lower nybble
|
||||
def JOYP_GET_BUTTONS equ %00_01_0000 ; reading A/B/Select/Start buttons
|
||||
def JOYP_GET_CTRL_PAD equ %00_10_0000 ; reading Control Pad directions
|
||||
def JOYP_GET_NONE equ %00_11_0000 ; reading nothing
|
||||
|
||||
def B_JOYP_START equ 3 ; 0 = Start is pressed (if reading buttons) [ro]
|
||||
def B_JOYP_SELECT equ 2 ; 0 = Select is pressed (if reading buttons) [ro]
|
||||
def B_JOYP_B equ 1 ; 0 = B is pressed (if reading buttons) [ro]
|
||||
def B_JOYP_A equ 0 ; 0 = A is pressed (if reading buttons) [ro]
|
||||
def B_JOYP_DOWN equ 3 ; 0 = Down is pressed (if reading Control Pad) [ro]
|
||||
def B_JOYP_UP equ 2 ; 0 = Up is pressed (if reading Control Pad) [ro]
|
||||
def B_JOYP_LEFT equ 1 ; 0 = Left is pressed (if reading Control Pad) [ro]
|
||||
def B_JOYP_RIGHT equ 0 ; 0 = Right is pressed (if reading Control Pad) [ro]
|
||||
def JOYP_INPUTS equ %0000_1111
|
||||
def JOYP_START equ 1 << B_JOYP_START
|
||||
def JOYP_SELECT equ 1 << B_JOYP_SELECT
|
||||
def JOYP_B equ 1 << B_JOYP_B
|
||||
def JOYP_A equ 1 << B_JOYP_A
|
||||
def JOYP_DOWN equ 1 << B_JOYP_DOWN
|
||||
def JOYP_UP equ 1 << B_JOYP_UP
|
||||
def JOYP_LEFT equ 1 << B_JOYP_LEFT
|
||||
def JOYP_RIGHT equ 1 << B_JOYP_RIGHT
|
||||
|
||||
; Combined input byte, with Control Pad in high nybble (conventional order)
|
||||
def B_PAD_DOWN equ 7
|
||||
def B_PAD_UP equ 6
|
||||
def B_PAD_LEFT equ 5
|
||||
def B_PAD_RIGHT equ 4
|
||||
def B_PAD_START equ 3
|
||||
def B_PAD_SELECT equ 2
|
||||
def B_PAD_B equ 1
|
||||
def B_PAD_A equ 0
|
||||
def PAD_DOWN equ 1 << B_PAD_DOWN
|
||||
def PAD_UP equ 1 << B_PAD_UP
|
||||
def PAD_LEFT equ 1 << B_PAD_LEFT
|
||||
def PAD_RIGHT equ 1 << B_PAD_RIGHT
|
||||
def PAD_START equ 1 << B_PAD_START
|
||||
def PAD_SELECT equ 1 << B_PAD_SELECT
|
||||
def PAD_B equ 1 << B_PAD_B
|
||||
def PAD_A equ 1 << B_PAD_A
|
||||
|
||||
; Combined input byte, with Control Pad in low nybble (swapped order)
|
||||
def B_PAD_SWAP_START equ 7
|
||||
def B_PAD_SWAP_SELECT equ 6
|
||||
def B_PAD_SWAP_B equ 5
|
||||
def B_PAD_SWAP_A equ 4
|
||||
def B_PAD_SWAP_DOWN equ 3
|
||||
def B_PAD_SWAP_UP equ 2
|
||||
def B_PAD_SWAP_LEFT equ 1
|
||||
def B_PAD_SWAP_RIGHT equ 0
|
||||
def PAD_SWAP_START equ 1 << B_PAD_SWAP_START
|
||||
def PAD_SWAP_SELECT equ 1 << B_PAD_SWAP_SELECT
|
||||
def PAD_SWAP_B equ 1 << B_PAD_SWAP_B
|
||||
def PAD_SWAP_A equ 1 << B_PAD_SWAP_A
|
||||
def PAD_SWAP_DOWN equ 1 << B_PAD_SWAP_DOWN
|
||||
def PAD_SWAP_UP equ 1 << B_PAD_SWAP_UP
|
||||
def PAD_SWAP_LEFT equ 1 << B_PAD_SWAP_LEFT
|
||||
def PAD_SWAP_RIGHT equ 1 << B_PAD_SWAP_RIGHT
|
||||
|
||||
; -- SB ($FF01) ---------------------------------------------------------------
|
||||
; Serial transfer data [r/w]
|
||||
def rSB equ $FF01
|
||||
|
||||
; -- SC ($FF02) ---------------------------------------------------------------
|
||||
; Serial transfer control
|
||||
def rSC equ $FF02
|
||||
|
||||
def B_SC_START equ 7 ; reading 1 = transfer in progress, writing 1 = start transfer [r/w]
|
||||
def B_SC_SPEED equ 1 ; (CGB only) 1 = use faster internal clock [r/w]
|
||||
def B_SC_SOURCE equ 0 ; 0 = use external clock ("slave"), 1 = use internal clock ("master") [r/w]
|
||||
def SC_START equ 1 << B_SC_START
|
||||
def SC_SPEED equ 1 << B_SC_SPEED
|
||||
def SC_SLOW equ 0 << B_SC_SPEED
|
||||
def SC_FAST equ 1 << B_SC_SPEED
|
||||
def SC_SOURCE equ 1 << B_SC_SOURCE
|
||||
def SC_EXTERNAL equ 0 << B_SC_SOURCE
|
||||
def SC_INTERNAL equ 1 << B_SC_SOURCE
|
||||
|
||||
; -- $FF03 is unused ----------------------------------------------------------
|
||||
|
||||
; -- DIV ($FF04) --------------------------------------------------------------
|
||||
; Divider register [r/w]
|
||||
def rDIV equ $FF04
|
||||
|
||||
; -- TIMA ($FF05) -------------------------------------------------------------
|
||||
; Timer counter [r/w]
|
||||
def rTIMA equ $FF05
|
||||
|
||||
; -- TMA ($FF06) --------------------------------------------------------------
|
||||
; Timer modulo [r/w]
|
||||
def rTMA equ $FF06
|
||||
|
||||
; -- TAC ($FF07) --------------------------------------------------------------
|
||||
; Timer control
|
||||
def rTAC equ $FF07
|
||||
|
||||
def B_TAC_START equ 2 ; enable incrementing TIMA [r/w]
|
||||
def TAC_STOP equ 0 << B_TAC_START
|
||||
def TAC_START equ 1 << B_TAC_START
|
||||
|
||||
def TAC_CLOCK equ %000000_11 ; the frequency at which TIMA increments [r/w]
|
||||
def TAC_4KHZ equ %000000_00 ; every 256 M-cycles = ~4 KHz on DMG
|
||||
def TAC_262KHZ equ %000000_01 ; every 4 M-cycles = ~262 KHz on DMG
|
||||
def TAC_65KHZ equ %000000_10 ; every 16 M-cycles = ~65 KHz on DMG
|
||||
def TAC_16KHZ equ %000000_11 ; every 64 M-cycles = ~16 KHz on DMG
|
||||
|
||||
; -- $FF08-$FF0E are unused ---------------------------------------------------
|
||||
|
||||
; -- IF ($FF0F) ---------------------------------------------------------------
|
||||
; Pending interrupts
|
||||
def rIF equ $FF0F
|
||||
|
||||
def B_IF_JOYPAD equ 4 ; 1 = joypad interrupt is pending [r/w]
|
||||
def B_IF_SERIAL equ 3 ; 1 = serial interrupt is pending [r/w]
|
||||
def B_IF_TIMER equ 2 ; 1 = timer interrupt is pending [r/w]
|
||||
def B_IF_STAT equ 1 ; 1 = STAT interrupt is pending [r/w]
|
||||
def B_IF_VBLANK equ 0 ; 1 = VBlank interrupt is pending [r/w]
|
||||
def IF_JOYPAD equ 1 << B_IF_JOYPAD
|
||||
def IF_SERIAL equ 1 << B_IF_SERIAL
|
||||
def IF_TIMER equ 1 << B_IF_TIMER
|
||||
def IF_STAT equ 1 << B_IF_STAT
|
||||
def IF_VBLANK equ 1 << B_IF_VBLANK
|
||||
|
||||
; -- AUD1SWEEP / NR10 ($FF10) -------------------------------------------------
|
||||
; Audio channel 1 sweep
|
||||
def rAUD1SWEEP equ $FF10
|
||||
|
||||
def AUD1SWEEP_TIME equ %0_111_0000 ; how long between sweep iterations
|
||||
; (in 128 Hz ticks, ~7.8 ms apart) [r/w]
|
||||
|
||||
def B_AUD1SWEEP_DIR equ 3 ; sweep direction [r/w]
|
||||
def AUD1SWEEP_DIR equ 1 << B_AUD1SWEEP_DIR
|
||||
def AUD1SWEEP_UP equ 0 << B_AUD1SWEEP_DIR
|
||||
def AUD1SWEEP_DOWN equ 1 << B_AUD1SWEEP_DIR
|
||||
|
||||
def AUD1SWEEP_SHIFT equ %00000_111 ; how much the period increases/decreases per iteration [r/w]
|
||||
|
||||
; -- AUD1LEN / NR11 ($FF11) ---------------------------------------------------
|
||||
; Audio channel 1 length timer and duty cycle
|
||||
def rAUD1LEN equ $FF11
|
||||
|
||||
def AUD1LEN_DUTY equ %11_000000 ; ratio of time spent high vs. time spent low [r/w]
|
||||
def AUD1LEN_DUTY_12_5 equ %00_000000 ; 12.5%
|
||||
def AUD1LEN_DUTY_25 equ %01_000000 ; 25%
|
||||
def AUD1LEN_DUTY_50 equ %10_000000 ; 50%
|
||||
def AUD1LEN_DUTY_75 equ %11_000000 ; 75%
|
||||
|
||||
def AUD1LEN_TIMER equ %00_111111 ; initial length timer (0-63) [wo]
|
||||
|
||||
; -- AUD1ENV / NR12 ($FF12) ---------------------------------------------------
|
||||
; Audio channel 1 volume and envelope
|
||||
def rAUD1ENV equ $FF12
|
||||
|
||||
def AUD1ENV_INIT_VOLUME equ %1111_0000 ; initial volume [r/w]
|
||||
|
||||
def B_AUD1ENV_DIR equ 3 ; direction of volume envelope [r/w]
|
||||
def AUD1ENV_DIR equ 1 << B_AUD1ENV_DIR
|
||||
def AUD1ENV_DOWN equ 0 << B_AUD1ENV_DIR
|
||||
def AUD1ENV_UP equ 1 << B_AUD1ENV_DIR
|
||||
|
||||
def AUD1ENV_PACE equ %00000_111 ; how long between envelope iterations
|
||||
; (in 64 Hz ticks, ~15.6 ms apart) [r/w]
|
||||
|
||||
; -- AUD1LOW / NR13 ($FF13) ---------------------------------------------------
|
||||
; Audio channel 1 period (low 8 bits) [r/w]
|
||||
def rAUD1LOW equ $FF13
|
||||
|
||||
; -- AUD1HIGH / NR14 ($FF14) --------------------------------------------------
|
||||
; Audio channel 1 period (high 3 bits) and control
|
||||
def rAUD1HIGH equ $FF14
|
||||
|
||||
def B_AUD1HIGH_RESTART equ 7 ; 1 = restart the channel [wo]
|
||||
def B_AUD1HIGH_LEN_ENABLE equ 6 ; 1 = reset the channel after the length timer expires [r/w]
|
||||
def AUD1HIGH_RESTART equ 1 << B_AUD1HIGH_RESTART
|
||||
def AUD1HIGH_LENGTH_OFF equ 0 << B_AUD1HIGH_LEN_ENABLE
|
||||
def AUD1HIGH_LENGTH_ON equ 1 << B_AUD1HIGH_LEN_ENABLE
|
||||
|
||||
def AUD1HIGH_PERIOD_HIGH equ %00000_111 ; upper 3 bits of the channel's period [r/w]
|
||||
|
||||
; -- $FF15 is unused ----------------------------------------------------------
|
||||
|
||||
; -- AUD2LEN / NR21 ($FF16) ---------------------------------------------------
|
||||
; Audio channel 2 length timer and duty cycle
|
||||
def rAUD2LEN equ $FF16
|
||||
|
||||
def AUD2LEN_DUTY equ %11_000000 ; ratio of time spent high vs. time spent low [r/w]
|
||||
def AUD2LEN_DUTY_12_5 equ %00_000000 ; 12.5%
|
||||
def AUD2LEN_DUTY_25 equ %01_000000 ; 25%
|
||||
def AUD2LEN_DUTY_50 equ %10_000000 ; 50%
|
||||
def AUD2LEN_DUTY_75 equ %11_000000 ; 75%
|
||||
|
||||
def AUD2LEN_TIMER equ %00_111111 ; initial length timer (0-63) [wo]
|
||||
|
||||
; -- AUD2ENV / NR22 ($FF17) ---------------------------------------------------
|
||||
; Audio channel 2 volume and envelope
|
||||
def rAUD2ENV equ $FF17
|
||||
|
||||
def AUD2ENV_INIT_VOLUME equ %1111_0000 ; initial volume [r/w]
|
||||
|
||||
def B_AUD2ENV_DIR equ 3 ; direction of volume envelope [r/w]
|
||||
def AUD2ENV_DIR equ 1 << B_AUD2ENV_DIR
|
||||
def AUD2ENV_DOWN equ 0 << B_AUD2ENV_DIR
|
||||
def AUD2ENV_UP equ 1 << B_AUD2ENV_DIR
|
||||
|
||||
def AUD2ENV_PACE equ %00000_111 ; how long between envelope iterations
|
||||
; (in 64 Hz ticks, ~15.6 ms apart) [r/w]
|
||||
|
||||
; -- AUD2LOW / NR23 ($FF18) ---------------------------------------------------
|
||||
; Audio channel 2 period (low 8 bits) [r/w]
|
||||
def rAUD2LOW equ $FF18
|
||||
|
||||
; -- AUD2HIGH / NR24 ($FF19) --------------------------------------------------
|
||||
; Audio channel 2 period (high 3 bits) and control
|
||||
def rAUD2HIGH equ $FF19
|
||||
|
||||
def B_AUD2HIGH_RESTART equ 7 ; 1 = restart the channel [wo]
|
||||
def B_AUD2HIGH_LEN_ENABLE equ 6 ; 1 = reset the channel after the length timer expires [r/w]
|
||||
def AUD2HIGH_RESTART equ 1 << B_AUD2HIGH_RESTART
|
||||
def AUD2HIGH_LENGTH_OFF equ 0 << B_AUD2HIGH_LEN_ENABLE
|
||||
def AUD2HIGH_LENGTH_ON equ 1 << B_AUD2HIGH_LEN_ENABLE
|
||||
|
||||
def AUD2HIGH_PERIOD_HIGH equ %00000_111 ; upper 3 bits of the channel's period [r/w]
|
||||
|
||||
; -- AUD3ENA / NR30 ($FF1A) ---------------------------------------------------
|
||||
; Audio channel 3 enable
|
||||
def rAUD3ENA equ $FF1A
|
||||
|
||||
def B_AUD3ENA_ENABLE equ 7 ; 1 = channel is active [r/w]
|
||||
def AUD3ENA_OFF equ 0 << B_AUD3ENA_ENABLE
|
||||
def AUD3ENA_ON equ 1 << B_AUD3ENA_ENABLE
|
||||
|
||||
; -- AUD3LEN / NR31 ($FF1B) ---------------------------------------------------
|
||||
; Audio channel 3 length timer [wo]
|
||||
def rAUD3LEN equ $FF1B
|
||||
|
||||
; -- AUD3LEVEL / NR32 ($FF1C) -------------------------------------------------
|
||||
; Audio channel 3 volume
|
||||
def rAUD3LEVEL equ $FF1C
|
||||
|
||||
def AUD3LEVEL_VOLUME equ %0_11_00000 ; volume level [r/w]
|
||||
def AUD3LEVEL_MUTE equ %0_00_00000 ; 0% (muted)
|
||||
def AUD3LEVEL_100 equ %0_01_00000 ; 100%
|
||||
def AUD3LEVEL_50 equ %0_10_00000 ; 50%
|
||||
def AUD3LEVEL_25 equ %0_11_00000 ; 25%
|
||||
|
||||
; -- AUD3LOW / NR33 ($FF1D) ---------------------------------------------------
|
||||
; Audio channel 3 period (low 8 bits) [r/w]
|
||||
def rAUD3LOW equ $FF1D
|
||||
|
||||
; -- AUD3HIGH / NR34 ($FF1E) --------------------------------------------------
|
||||
; Audio channel 3 period (high 3 bits) and control
|
||||
def rAUD3HIGH equ $FF1E
|
||||
|
||||
def B_AUD3HIGH_RESTART equ 7 ; 1 = restart the channel [wo]
|
||||
def B_AUD3HIGH_LEN_ENABLE equ 6 ; 1 = reset the channel after the length timer expires [r/w]
|
||||
def AUD3HIGH_RESTART equ 1 << B_AUD3HIGH_RESTART
|
||||
def AUD3HIGH_LENGTH_OFF equ 0 << B_AUD3HIGH_LEN_ENABLE
|
||||
def AUD3HIGH_LENGTH_ON equ 1 << B_AUD3HIGH_LEN_ENABLE
|
||||
|
||||
def AUD3HIGH_PERIOD_HIGH equ %00000_111 ; upper 3 bits of the channel's period [r/w]
|
||||
|
||||
; -- $FF1F is unused ----------------------------------------------------------
|
||||
|
||||
; -- AUD4LEN / NR41 ($FF20) ---------------------------------------------------
|
||||
; Audio channel 4 length timer
|
||||
def rAUD4LEN equ $FF20
|
||||
|
||||
def AUD4LEN_TIMER equ %00_111111 ; initial length timer (0-63) [wo]
|
||||
|
||||
; -- AUD4ENV / NR42 ($FF21) ---------------------------------------------------
|
||||
; Audio channel 4 volume and envelope
|
||||
def rAUD4ENV equ $FF21
|
||||
|
||||
def AUD4ENV_INIT_VOLUME equ %1111_0000 ; initial volume [r/w]
|
||||
|
||||
def B_AUD4ENV_DIR equ 3 ; direction of volume envelope [r/w]
|
||||
def AUD4ENV_DIR equ 1 << B_AUD4ENV_DIR
|
||||
def AUD4ENV_DOWN equ 0 << B_AUD4ENV_DIR
|
||||
def AUD4ENV_UP equ 1 << B_AUD4ENV_DIR
|
||||
|
||||
def AUD4ENV_PACE equ %00000_111 ; how long between envelope iterations
|
||||
; (in 64 Hz ticks, ~15.6 ms apart) [r/w]
|
||||
|
||||
; -- AUD4POLY / NR43 ($FF22) --------------------------------------------------
|
||||
; Audio channel 4 period and randomness
|
||||
def rAUD4POLY equ $FF22
|
||||
|
||||
def AUD4POLY_SHIFT equ %1111_0000 ; coarse control of the channel's period [r/w]
|
||||
|
||||
def B_AUD4POLY_WIDTH equ 3 ; controls the noise generator (LFSR)'s step width [r/w]
|
||||
def AUD4POLY_15STEP equ 0 << B_AUD4POLY_WIDTH
|
||||
def AUD4POLY_7STEP equ 1 << B_AUD4POLY_WIDTH
|
||||
|
||||
def AUD4POLY_DIV equ %00000_111 ; fine control of the channel's period [r/w]
|
||||
|
||||
; -- AUD4GO / NR44 ($FF23) ----------------------------------------------------
|
||||
; Audio channel 4 control
|
||||
def rAUD4GO equ $FF23
|
||||
|
||||
def B_AUD4GO_RESTART equ 7 ; 1 = restart the channel [wo]
|
||||
def B_AUD4GO_LEN_ENABLE equ 6 ; 1 = reset the channel after the length timer expires [r/w]
|
||||
def AUD4GO_RESTART equ 1 << B_AUD4GO_RESTART
|
||||
def AUD4GO_LENGTH_OFF equ 0 << B_AUD4GO_LEN_ENABLE
|
||||
def AUD4GO_LENGTH_ON equ 1 << B_AUD4GO_LEN_ENABLE
|
||||
|
||||
; -- AUDVOL / NR50 ($FF24) ----------------------------------------------------
|
||||
; Audio master volume and VIN mixer
|
||||
def rAUDVOL equ $FF24
|
||||
|
||||
def B_AUDVOL_VIN_LEFT equ 7 ; 1 = output VIN to left ear (SO2, speaker 2) [r/w]
|
||||
def AUDVOL_VIN_LEFT equ 1 << B_AUDVOL_VIN_LEFT
|
||||
|
||||
def AUDVOL_LEFT equ %0_111_0000 ; 0 = barely audible, 7 = full volume [r/w]
|
||||
|
||||
def B_AUDVOL_VIN_RIGHT equ 3 ; 1 = output VIN to right ear (SO1, speaker 1) [r/w]
|
||||
def AUDVOL_VIN_RIGHT equ 1 << B_AUDVOL_VIN_RIGHT
|
||||
|
||||
def AUDVOL_RIGHT equ %00000_111 ; 0 = barely audible, 7 = full volume [r/w]
|
||||
|
||||
; -- AUDTERM / NR51 ($FF25) ---------------------------------------------------
|
||||
; Audio channel mixer
|
||||
def rAUDTERM equ $FF25
|
||||
|
||||
def B_AUDTERM_4_LEFT equ 7 ; 1 = output channel 4 to left ear [r/w]
|
||||
def B_AUDTERM_3_LEFT equ 6 ; 1 = output channel 3 to left ear [r/w]
|
||||
def B_AUDTERM_2_LEFT equ 5 ; 1 = output channel 2 to left ear [r/w]
|
||||
def B_AUDTERM_1_LEFT equ 4 ; 1 = output channel 1 to left ear [r/w]
|
||||
def B_AUDTERM_4_RIGHT equ 3 ; 1 = output channel 4 to right ear [r/w]
|
||||
def B_AUDTERM_3_RIGHT equ 2 ; 1 = output channel 3 to right ear [r/w]
|
||||
def B_AUDTERM_2_RIGHT equ 1 ; 1 = output channel 2 to right ear [r/w]
|
||||
def B_AUDTERM_1_RIGHT equ 0 ; 1 = output channel 1 to right ear [r/w]
|
||||
def AUDTERM_4_LEFT equ 1 << B_AUDTERM_4_LEFT
|
||||
def AUDTERM_3_LEFT equ 1 << B_AUDTERM_3_LEFT
|
||||
def AUDTERM_2_LEFT equ 1 << B_AUDTERM_2_LEFT
|
||||
def AUDTERM_1_LEFT equ 1 << B_AUDTERM_1_LEFT
|
||||
def AUDTERM_4_RIGHT equ 1 << B_AUDTERM_4_RIGHT
|
||||
def AUDTERM_3_RIGHT equ 1 << B_AUDTERM_3_RIGHT
|
||||
def AUDTERM_2_RIGHT equ 1 << B_AUDTERM_2_RIGHT
|
||||
def AUDTERM_1_RIGHT equ 1 << B_AUDTERM_1_RIGHT
|
||||
|
||||
; -- AUDENA / NR52 ($FF26) ----------------------------------------------------
|
||||
; Audio master enable
|
||||
def rAUDENA equ $FF26
|
||||
|
||||
def B_AUDENA_ENABLE equ 7 ; 0 = disable the APU (resets all audio registers to 0!) [r/w]
|
||||
def B_AUDENA_ENABLE_CH4 equ 3 ; 1 = channel 4 is running [ro]
|
||||
def B_AUDENA_ENABLE_CH3 equ 2 ; 1 = channel 3 is running [ro]
|
||||
def B_AUDENA_ENABLE_CH2 equ 1 ; 1 = channel 2 is running [ro]
|
||||
def B_AUDENA_ENABLE_CH1 equ 0 ; 1 = channel 1 is running [ro]
|
||||
def AUDENA_OFF equ 0 << B_AUDENA_ENABLE
|
||||
def AUDENA_ON equ 1 << B_AUDENA_ENABLE
|
||||
def AUDENA_CH4_OFF equ 0 << B_AUDENA_ENABLE_CH4
|
||||
def AUDENA_CH4_ON equ 1 << B_AUDENA_ENABLE_CH4
|
||||
def AUDENA_CH3_OFF equ 0 << B_AUDENA_ENABLE_CH3
|
||||
def AUDENA_CH3_ON equ 1 << B_AUDENA_ENABLE_CH3
|
||||
def AUDENA_CH2_OFF equ 0 << B_AUDENA_ENABLE_CH2
|
||||
def AUDENA_CH2_ON equ 1 << B_AUDENA_ENABLE_CH2
|
||||
def AUDENA_CH1_OFF equ 0 << B_AUDENA_ENABLE_CH1
|
||||
def AUDENA_CH1_ON equ 1 << B_AUDENA_ENABLE_CH1
|
||||
|
||||
; -- $FF27-$FF2F are unused ---------------------------------------------------
|
||||
|
||||
; -- AUD3WAVE ($FF30-$FF3F) ---------------------------------------------------
|
||||
; Audio channel 3 wave pattern RAM [r/w]
|
||||
def _AUD3WAVERAM equ $FF30 ; $FF30-$FF3F
|
||||
|
||||
def rAUD3WAVE_0 equ $FF30
|
||||
def rAUD3WAVE_1 equ $FF31
|
||||
def rAUD3WAVE_2 equ $FF32
|
||||
def rAUD3WAVE_3 equ $FF33
|
||||
def rAUD3WAVE_4 equ $FF34
|
||||
def rAUD3WAVE_5 equ $FF35
|
||||
def rAUD3WAVE_6 equ $FF36
|
||||
def rAUD3WAVE_7 equ $FF37
|
||||
def rAUD3WAVE_8 equ $FF38
|
||||
def rAUD3WAVE_9 equ $FF39
|
||||
def rAUD3WAVE_A equ $FF3A
|
||||
def rAUD3WAVE_B equ $FF3B
|
||||
def rAUD3WAVE_C equ $FF3C
|
||||
def rAUD3WAVE_D equ $FF3D
|
||||
def rAUD3WAVE_E equ $FF3E
|
||||
def rAUD3WAVE_F equ $FF3F
|
||||
|
||||
def AUD3WAVE_SIZE equ 16
|
||||
|
||||
; -- LCDC ($FF40) -------------------------------------------------------------
|
||||
; PPU graphics control
|
||||
def rLCDC equ $FF40
|
||||
|
||||
def B_LCDC_ENABLE equ 7 ; whether the PPU (and LCD) are turned on [r/w]
|
||||
def B_LCDC_WIN_MAP equ 6 ; which tilemap the Window reads from [r/w]
|
||||
def B_LCDC_WINDOW equ 5 ; whether the Window is enabled [r/w]
|
||||
def B_LCDC_BLOCKS equ 4 ; which "tile blocks" the BG and Window use [r/w]
|
||||
def B_LCDC_BG_MAP equ 3 ; which tilemap the BG reads from [r/w]
|
||||
def B_LCDC_OBJ_SIZE equ 2 ; how many pixels tall each OBJ is [r/w]
|
||||
def B_LCDC_OBJS equ 1 ; whether OBJs are enabled [r/w]
|
||||
def B_LCDC_BG equ 0 ; (DMG only) whether the BG is enabled [r/w]
|
||||
def B_LCDC_PRIO equ 0 ; (CGB only) whether OBJ priority bits are enabled [r/w]
|
||||
def LCDC_ENABLE equ 1 << B_LCDC_ENABLE
|
||||
def LCDC_OFF equ 0 << B_LCDC_ENABLE
|
||||
def LCDC_ON equ 1 << B_LCDC_ENABLE
|
||||
def LCDC_WIN_MAP equ 1 << B_LCDC_WIN_MAP
|
||||
def LCDC_WIN_9800 equ 0 << B_LCDC_WIN_MAP
|
||||
def LCDC_WIN_9C00 equ 1 << B_LCDC_WIN_MAP
|
||||
def LCDC_WINDOW equ 1 << B_LCDC_WINDOW
|
||||
def LCDC_WIN_OFF equ 0 << B_LCDC_WINDOW
|
||||
def LCDC_WIN_ON equ 1 << B_LCDC_WINDOW
|
||||
def LCDC_BLOCKS equ 1 << B_LCDC_BLOCKS
|
||||
def LCDC_BLOCK21 equ 0 << B_LCDC_BLOCKS
|
||||
def LCDC_BLOCK01 equ 1 << B_LCDC_BLOCKS
|
||||
def LCDC_BG_MAP equ 1 << B_LCDC_BG_MAP
|
||||
def LCDC_BG_9800 equ 0 << B_LCDC_BG_MAP
|
||||
def LCDC_BG_9C00 equ 1 << B_LCDC_BG_MAP
|
||||
def LCDC_OBJ_SIZE equ 1 << B_LCDC_OBJ_SIZE
|
||||
def LCDC_OBJ_8 equ 0 << B_LCDC_OBJ_SIZE
|
||||
def LCDC_OBJ_16 equ 1 << B_LCDC_OBJ_SIZE
|
||||
def LCDC_OBJS equ 1 << B_LCDC_OBJS
|
||||
def LCDC_OBJ_OFF equ 0 << B_LCDC_OBJS
|
||||
def LCDC_OBJ_ON equ 1 << B_LCDC_OBJS
|
||||
def LCDC_BG equ 1 << B_LCDC_BG
|
||||
def LCDC_BG_OFF equ 0 << B_LCDC_BG
|
||||
def LCDC_BG_ON equ 1 << B_LCDC_BG
|
||||
def LCDC_PRIO equ 1 << B_LCDC_PRIO
|
||||
def LCDC_PRIO_OFF equ 0 << B_LCDC_PRIO
|
||||
def LCDC_PRIO_ON equ 1 << B_LCDC_PRIO
|
||||
|
||||
; -- STAT ($FF41) -------------------------------------------------------------
|
||||
; Graphics status and interrupt control
|
||||
def rSTAT equ $FF41
|
||||
|
||||
def B_STAT_LYC equ 6 ; 1 = LY match triggers the STAT interrupt [r/w]
|
||||
def B_STAT_MODE_2 equ 5 ; 1 = OAM Scan triggers the PPU interrupt [r/w]
|
||||
def B_STAT_MODE_1 equ 4 ; 1 = VBlank triggers the PPU interrupt [r/w]
|
||||
def B_STAT_MODE_0 equ 3 ; 1 = HBlank triggers the PPU interrupt [r/w]
|
||||
def B_STAT_LYCF equ 2 ; 1 = LY is currently equal to LYC [ro]
|
||||
def B_STAT_BUSY equ 1 ; 1 = the PPU is currently accessing VRAM [ro]
|
||||
def STAT_LYC equ 1 << B_STAT_LYC
|
||||
def STAT_MODE_2 equ 1 << B_STAT_MODE_2
|
||||
def STAT_MODE_1 equ 1 << B_STAT_MODE_1
|
||||
def STAT_MODE_0 equ 1 << B_STAT_MODE_0
|
||||
def STAT_LYCF equ 1 << B_STAT_LYCF
|
||||
def STAT_BUSY equ 1 << B_STAT_BUSY
|
||||
|
||||
def STAT_MODE equ %000000_11 ; PPU's current status [ro]
|
||||
def STAT_HBLANK equ %000000_00 ; waiting after a line's rendering (HBlank)
|
||||
def STAT_VBLANK equ %000000_01 ; waiting between frames (VBlank)
|
||||
def STAT_OAM equ %000000_10 ; checking which OBJs will be rendered on this line (OAM scan)
|
||||
def STAT_LCD equ %000000_11 ; pushing pixels to the LCD
|
||||
|
||||
; -- SCY ($FF42) --------------------------------------------------------------
|
||||
; Background Y scroll offset (in pixels) [r/w]
|
||||
def rSCY equ $FF42
|
||||
|
||||
; -- SCX ($FF43) --------------------------------------------------------------
|
||||
; Background X scroll offset (in pixels) [r/w]
|
||||
def rSCX equ $FF43
|
||||
|
||||
; -- LY ($FF44) ---------------------------------------------------------------
|
||||
; Y coordinate of the line currently processed by the PPU (0-153) [ro]
|
||||
def rLY equ $FF44
|
||||
|
||||
def LY_VBLANK equ 144 ; 144-153 is the VBlank period
|
||||
|
||||
; -- LYC ($FF45) --------------------------------------------------------------
|
||||
; Value that LY is constantly compared to [r/w]
|
||||
def rLYC equ $FF45
|
||||
|
||||
; -- DMA ($FF46) --------------------------------------------------------------
|
||||
; OAM DMA start address (high 8 bits) and start [wo]
|
||||
def rDMA equ $FF46
|
||||
|
||||
; -- BGP ($FF47) --------------------------------------------------------------
|
||||
; (DMG only) Background color mapping [r/w]
|
||||
def rBGP equ $FF47
|
||||
|
||||
def BGP_SGB_TRANSFER equ %11_10_01_00 ; set BGP to this value before SGB VRAM transfer
|
||||
|
||||
; -- OBP0 ($FF48) -------------------------------------------------------------
|
||||
; (DMG only) OBJ color mapping #0 [r/w]
|
||||
def rOBP0 equ $FF48
|
||||
|
||||
; -- OBP1 ($FF49) -------------------------------------------------------------
|
||||
; (DMG only) OBJ color mapping #1 [r/w]
|
||||
def rOBP1 equ $FF49
|
||||
|
||||
; -- WY ($FF4A) ---------------------------------------------------------------
|
||||
; Y coordinate of the Window's top-left pixel (0-143) [r/w]
|
||||
def rWY equ $FF4A
|
||||
|
||||
; -- WX ($FF4B) ---------------------------------------------------------------
|
||||
; X coordinate of the Window's top-left pixel, plus 7 (7-166) [r/w]
|
||||
def rWX equ $FF4B
|
||||
|
||||
def WX_OFS equ 7 ; subtract this to get the actual Window Y coordinate
|
||||
|
||||
; -- SYS / KEY0 ($FF4C) -------------------------------------------------------
|
||||
; (CGB boot ROM only) CPU mode select
|
||||
def rSYS equ $FF4C
|
||||
|
||||
; This is known as the "CPU mode register" in Fig. 11 of this patent:
|
||||
; https://patents.google.com/patent/US6322447B1/en?oq=US6322447bi
|
||||
; "OBJ priority mode designating register" in the same patent
|
||||
; Credit to @mattcurrie for this finding!
|
||||
|
||||
def SYS_MODE equ %0000_11_00 ; current system mode [r/w]
|
||||
def SYS_CGB equ %0000_00_00 ; CGB mode
|
||||
def SYS_DMG equ %0000_01_00 ; DMG compatibility mode
|
||||
def SYS_PGB1 equ %0000_10_00 ; LCD is driven externally, CPU is stopped
|
||||
def SYS_PGB2 equ %0000_11_00 ; LCD is driven externally, CPU is running
|
||||
|
||||
; -- SPD / KEY1 ($FF4D) -------------------------------------------------------
|
||||
; (CGB only) Double-speed mode control
|
||||
def rSPD equ $FF4D
|
||||
|
||||
def B_SPD_DOUBLE equ 7 ; current clock speed [ro]
|
||||
def B_SPD_PREPARE equ 0 ; 1 = next `stop` instruction will switch clock speeds [r/w]
|
||||
def SPD_SINGLE equ 0 << B_SPD_DOUBLE
|
||||
def SPD_DOUBLE equ 1 << B_SPD_DOUBLE
|
||||
def SPD_PREPARE equ 1 << B_SPD_PREPARE
|
||||
|
||||
; -- $FF4E is unused ----------------------------------------------------------
|
||||
|
||||
; -- VBK ($FF4F) --------------------------------------------------------------
|
||||
; (CGB only) VRAM bank number (0 or 1)
|
||||
def rVBK equ $FF4F
|
||||
|
||||
def VBK_BANK equ %0000000_1 ; mapped VRAM bank [r/w]
|
||||
|
||||
; -- BANK ($FF50) -------------------------------------------------------------
|
||||
; (boot ROM only) Boot ROM mapping control
|
||||
def rBANK equ $FF50
|
||||
|
||||
def B_BANK_ON equ 0 ; whether the boot ROM is mapped [wo]
|
||||
def BANK_ON equ 0 << B_BANK_ON
|
||||
def BANK_OFF equ 1 << B_BANK_ON
|
||||
|
||||
; -- VDMA_SRC_HIGH / HDMA1 ($FF51) --------------------------------------------
|
||||
; (CGB only) VRAM DMA source address (high 8 bits) [wo]
|
||||
def rVDMA_SRC_HIGH equ $FF51
|
||||
|
||||
; -- VDMA_SRC_LOW / HDMA2 ($FF52) ---------------------------------------------
|
||||
; (CGB only) VRAM DMA source address (low 8 bits) [wo]
|
||||
def rVDMA_SRC_LOW equ $FF52
|
||||
|
||||
; -- VDMA_DEST_HIGH / HDMA3 ($FF53) -------------------------------------------
|
||||
; (CGB only) VRAM DMA destination address (high 8 bits) [wo]
|
||||
def rVDMA_DEST_HIGH equ $FF53
|
||||
|
||||
; -- VDMA_DEST_LOW / HDMA3 ($FF54) --------------------------------------------
|
||||
; (CGB only) VRAM DMA destination address (low 8 bits) [wo]
|
||||
def rVDMA_DEST_LOW equ $FF54
|
||||
|
||||
; -- VDMA_LEN / HDMA5 ($FF55) -------------------------------------------------
|
||||
; (CGB only) VRAM DMA length, mode, and start
|
||||
def rVDMA_LEN equ $FF55
|
||||
|
||||
def B_VDMA_LEN_MODE equ 7 ; on write: VRAM DMA mode [wo]
|
||||
def VDMA_LEN_MODE equ 1 << B_VDMA_LEN_MODE
|
||||
def VDMA_LEN_MODE_GENERAL equ 0 << B_VDMA_LEN_MODE ; GDMA (general-purpose)
|
||||
def VDMA_LEN_MODE_HBLANK equ 1 << B_VDMA_LEN_MODE ; HDMA (HBlank)
|
||||
|
||||
def B_VDMA_LEN_BUSY equ 7 ; on read: is a VRAM DMA active?
|
||||
def VDMA_LEN_BUSY equ 1 << B_VDMA_LEN_BUSY
|
||||
def VDMA_LEN_NO equ 0 << B_VDMA_LEN_BUSY
|
||||
def VDMA_LEN_YES equ 1 << B_VDMA_LEN_BUSY
|
||||
|
||||
def VDMA_LEN_SIZE equ %0_1111111 ; how many 16-byte blocks (minus 1) to transfer [r/w]
|
||||
|
||||
; -- RP ($FF56) ---------------------------------------------------------------
|
||||
; (CGB only) Infrared communications port
|
||||
def rRP equ $FF56
|
||||
|
||||
def RP_READ equ %11_000000 ; whether the IR read is enabled [r/w]
|
||||
def RP_DISABLE equ %00_000000
|
||||
def RP_ENABLE equ %11_000000
|
||||
|
||||
def B_RP_DATA_IN equ 1 ; 0 = IR light is being received [ro]
|
||||
def B_RP_LED_ON equ 0 ; 1 = IR light is being sent [r/w]
|
||||
def RP_DATA_IN equ 1 << B_RP_DATA_IN
|
||||
def RP_LED_ON equ 1 << B_RP_LED_ON
|
||||
def RP_WRITE_LOW equ 0 << B_RP_LED_ON
|
||||
def RP_WRITE_HIGH equ 1 << B_RP_LED_ON
|
||||
|
||||
; -- $FF57-$FF67 are unused ---------------------------------------------------
|
||||
|
||||
; -- BGPI / BCPS ($FF68) ------------------------------------------------------
|
||||
; (CGB only) Background palette I/O index
|
||||
def rBGPI equ $FF68
|
||||
|
||||
def B_BGPI_AUTOINC equ 7 ; whether the index field is incremented after each write to BCPD [r/w]
|
||||
def BGPI_AUTOINC equ 1 << B_BGPI_AUTOINC
|
||||
|
||||
def BGPI_INDEX equ %00_111111 ; the index within Palette RAM accessed via BCPD [r/w]
|
||||
|
||||
; -- BGPD / BCPD ($FF69) ------------------------------------------------------
|
||||
; (CGB only) Background palette I/O access [r/w]
|
||||
def rBGPD equ $FF69
|
||||
|
||||
; -- OBPI / OCPS ($FF6A) ------------------------------------------------------
|
||||
; (CGB only) OBJ palette I/O index
|
||||
def rOBPI equ $FF6A
|
||||
|
||||
def B_OBPI_AUTOINC equ 7 ; whether the index field is incremented after each write to OBPD [r/w]
|
||||
def OBPI_AUTOINC equ 1 << B_OBPI_AUTOINC
|
||||
|
||||
def OBPI_INDEX equ %00_111111 ; the index within Palette RAM accessed via OBPD [r/w]
|
||||
|
||||
; -- OBPD / OCPD ($FF6B) ------------------------------------------------------
|
||||
; (CGB only) OBJ palette I/O access [r/w]
|
||||
def rOBPD equ $FF6B
|
||||
|
||||
; -- OPRI ($FF6C) -------------------------------------------------------------
|
||||
; (CGB boot ROM only) OBJ draw priority mode
|
||||
def rOPRI equ $FF6C
|
||||
|
||||
def B_OPRI_PRIORITY equ 0 ; which drawing priority is used for OBJs [r/w]
|
||||
def OPRI_PRIORITY equ 1 << B_OPRI_PRIORITY
|
||||
def OPRI_OAM equ 0 << B_OPRI_PRIORITY ; CGB mode default: earliest OBJ in OAM wins
|
||||
def OPRI_COORD equ 1 << B_OPRI_PRIORITY ; DMG mode default: leftmost OBJ wins
|
||||
|
||||
; -- $FF6D-$FF6F are unused ---------------------------------------------------
|
||||
|
||||
; -- WBK / SVBK ($FF70) -------------------------------------------------------
|
||||
; (CGB only) WRAM bank number
|
||||
def rWBK equ $FF70
|
||||
|
||||
def WBK_BANK equ %00000_111 ; mapped WRAM bank (0-7) [r/w]
|
||||
|
||||
; -- $FF71-$FF75 are unused ---------------------------------------------------
|
||||
|
||||
; -- PCM12 ($FF76) ------------------------------------------------------------
|
||||
; Audio channels 1 and 2 output
|
||||
def rPCM12 equ $FF76
|
||||
|
||||
def PCM12_CH2 equ %1111_0000 ; audio channel 2 output [ro]
|
||||
def PCM12_CH1 equ %0000_1111 ; audio channel 1 output [ro]
|
||||
|
||||
; -- PCM34 ($FF77) ------------------------------------------------------------
|
||||
; Audio channels 3 and 4 output
|
||||
def rPCM34 equ $FF77
|
||||
|
||||
def PCM34_CH4 equ %1111_0000 ; audio channel 4 output [ro]
|
||||
def PCM34_CH3 equ %0000_1111 ; audio channel 3 output [ro]
|
||||
|
||||
; -- $FF78-$FF7F are unused ---------------------------------------------------
|
||||
|
||||
; -- IE ($FFFF) ---------------------------------------------------------------
|
||||
; Interrupt enable
|
||||
def rIE equ $FFFF
|
||||
|
||||
def B_IE_JOYPAD equ 4 ; 1 = joypad interrupt is enabled [r/w]
|
||||
def B_IE_SERIAL equ 3 ; 1 = serial interrupt is enabled [r/w]
|
||||
def B_IE_TIMER equ 2 ; 1 = timer interrupt is enabled [r/w]
|
||||
def B_IE_STAT equ 1 ; 1 = STAT interrupt is enabled [r/w]
|
||||
def B_IE_VBLANK equ 0 ; 1 = VBlank interrupt is enabled [r/w]
|
||||
def IE_JOYPAD equ 1 << B_IE_JOYPAD
|
||||
def IE_SERIAL equ 1 << B_IE_SERIAL
|
||||
def IE_TIMER equ 1 << B_IE_TIMER
|
||||
def IE_STAT equ 1 << B_IE_STAT
|
||||
def IE_VBLANK equ 1 << B_IE_VBLANK
|
||||
|
||||
|
||||
;******************************************************************************
|
||||
; Cartridge registers (MBC)
|
||||
;******************************************************************************
|
||||
|
||||
; Note that these "registers" are each actually accessible at an entire address range;
|
||||
; however, one address for each of these ranges is considered the "canonical" one, and
|
||||
; these addresses are what's provided here.
|
||||
|
||||
; -- RAMG ($0000-$1FFF) -------------------------------------------------------
|
||||
; Whether SRAM can be accessed [wo]
|
||||
def rRAMG equ $0000
|
||||
|
||||
; Common values
|
||||
def RAMG_SRAM_DISABLE equ $00
|
||||
def RAMG_SRAM_ENABLE equ $0A ; some MBCs accept any value whose low nybble is $A
|
||||
|
||||
; -- ROMB0 ($2000-$3FFF) ------------------------------------------------------
|
||||
; ROM bank number (low 8 bits when applicable) [wo]
|
||||
def rROMB0 equ $2000
|
||||
|
||||
; -- ROMB1 ($3000-$3FFF) ------------------------------------------------------
|
||||
; (MBC5 only) ROM bank number high bit (bit 8) [wo]
|
||||
def rROMB1 equ $3000
|
||||
|
||||
; -- RAMB ($4000-$5FFF) -------------------------------------------------------
|
||||
; SRAM bank number [wo]
|
||||
def rRAMB equ $4000
|
||||
|
||||
; (MBC3-only) Special RAM bank numbers that actually map values into RTCREG
|
||||
def RAMB_RTC_S equ $08 ; seconds counter (0-59)
|
||||
def RAMB_RTC_M equ $09 ; minutes counter (0-59)
|
||||
def RAMB_RTC_H equ $0A ; hours counter (0-23)
|
||||
def RAMB_RTC_DL equ $0B ; days counter, low byte (0-255)
|
||||
def RAMB_RTC_DH equ $0C ; days counter, high bit and other flags
|
||||
def B_RAMB_RTC_DH_CARRY equ 7 ; 1 = days counter overflowed [wo]
|
||||
def B_RAMB_RTC_DH_HALT equ 6 ; 0 = run timer, 1 = stop timer [wo]
|
||||
def B_RAMB_RTC_DH_HIGH equ 0 ; days counter, high bit (bit 8) [wo]
|
||||
def RAMB_RTC_DH_CARRY equ 1 << B_RAMB_RTC_DH_CARRY
|
||||
def RAMB_RTC_DH_HALT equ 1 << B_RAMB_RTC_DH_HALT
|
||||
def RAMB_RTC_DH_HIGH equ 1 << B_RAMB_RTC_DH_HIGH
|
||||
|
||||
def B_RAMB_RUMBLE equ 3 ; (MBC5 and MBC7 only) enable the rumble motor (if any)
|
||||
def RAMB_RUMBLE equ 1 << B_RAMB_RUMBLE
|
||||
def RAMB_RUMBLE_OFF equ 0 << B_RAMB_RUMBLE
|
||||
def RAMB_RUMBLE_ON equ 1 << B_RAMB_RUMBLE
|
||||
|
||||
; -- RTCLATCH ($6000-$7FFF) ---------------------------------------------------
|
||||
; (MBC3 only) RTC latch clock data [wo]
|
||||
def rRTCLATCH equ $6000
|
||||
|
||||
; Write $00 then $01 to latch the current time into RTCREG
|
||||
def RTCLATCH_START equ $00
|
||||
def RTCLATCH_FINISH equ $01
|
||||
|
||||
; -- RTCREG ($A000-$BFFF) -----------------------------------------------------
|
||||
; (MBC3 only) RTC register [r/w]
|
||||
def rRTCREG equ $A000
|
||||
|
||||
|
||||
;******************************************************************************
|
||||
; Screen-related constants
|
||||
;******************************************************************************
|
||||
|
||||
def SCREEN_WIDTH_PX equ 160 ; width of screen in pixels
|
||||
def SCREEN_HEIGHT_PX equ 144 ; height of screen in pixels
|
||||
def SCREEN_WIDTH equ 20 ; width of screen in bytes
|
||||
def SCREEN_HEIGHT equ 18 ; height of screen in bytes
|
||||
def SCREEN_AREA equ SCREEN_WIDTH * SCREEN_HEIGHT ; size of screen in bytes
|
||||
|
||||
def TILEMAP_WIDTH_PX equ 256 ; width of tilemap in pixels
|
||||
def TILEMAP_HEIGHT_PX equ 256 ; height of tilemap in pixels
|
||||
def TILEMAP_WIDTH equ 32 ; width of tilemap in bytes
|
||||
def TILEMAP_HEIGHT equ 32 ; height of tilemap in bytes
|
||||
def TILEMAP_AREA equ TILEMAP_WIDTH * TILEMAP_HEIGHT ; size of tilemap in bytes
|
||||
|
||||
def TILE_WIDTH equ 8 ; width of tile in pixels
|
||||
def TILE_HEIGHT equ 8 ; height of tile in pixels
|
||||
def TILE_SIZE equ 16 ; size of tile in bytes (2 bits/pixel)
|
||||
|
||||
def COLOR_SIZE equ 2 ; size of color in bytes (little-endian BGR555)
|
||||
def COLOR_GREEN_LOW equ %111_00000 ; for the low byte
|
||||
def COLOR_RED equ %000_11111 ; for the low byte
|
||||
def COLOR_BLUE equ %0_11111_00 ; for the high byte
|
||||
def COLOR_GREEN_HIGH equ %000000_11 ; for the high byte
|
||||
def PAL_COLORS equ 4 ; colors per palette
|
||||
def PAL_SIZE equ COLOR_SIZE * PAL_COLORS ; size of palette in bytes
|
||||
|
||||
; Tilemaps the BG or Window can read from (controlled by LCDC)
|
||||
def TILEMAP0 equ $9800 ; $9800-$9BFF
|
||||
def TILEMAP1 equ $9C00 ; $9C00-$9FFF
|
||||
|
||||
; (CGB only) BG tile attribute fields
|
||||
def B_BG_PRIO equ 7 ; whether the BG tile colors 1-3 are drawn below OBJs
|
||||
def B_BG_YFLIP equ 6 ; whether the whole BG tile is flipped vertically
|
||||
def B_BG_XFLIP equ 5 ; whether the whole BG tile is flipped horizontally
|
||||
def B_BG_BANK1 equ 3 ; which VRAM bank the BG tile is taken from
|
||||
def BG_PALETTE equ %00000_111 ; which palette the BG tile uses
|
||||
def BG_PRIO equ 1 << B_BG_PRIO
|
||||
def BG_YFLIP equ 1 << B_BG_YFLIP
|
||||
def BG_XFLIP equ 1 << B_BG_XFLIP
|
||||
def BG_BANK0 equ 0 << B_BG_BANK1
|
||||
def BG_BANK1 equ 1 << B_BG_BANK1
|
||||
|
||||
|
||||
;******************************************************************************
|
||||
; OBJ-related constants
|
||||
;******************************************************************************
|
||||
|
||||
; OAM attribute field offsets
|
||||
rsreset
|
||||
def OAMA_Y rb ; 0
|
||||
def OAM_Y_OFS equ 16 ; subtract 16 from what's written to OAM to get the real Y position
|
||||
def OAMA_X rb ; 1
|
||||
def OAM_X_OFS equ 8 ; subtract 8 from what's written to OAM to get the real X position
|
||||
def OAMA_TILEID rb ; 2
|
||||
def OAMA_FLAGS rb ; 3
|
||||
def B_OAM_PRIO equ 7 ; whether the OBJ is drawn above BG colors 1-3
|
||||
def B_OAM_YFLIP equ 6 ; whether the whole OBJ is flipped vertically
|
||||
def B_OAM_XFLIP equ 5 ; whether the whole OBJ is flipped horizontally
|
||||
def B_OAM_PAL1 equ 4 ; (DMG only) which of the two palettes the OBJ uses
|
||||
def B_OAM_BANK1 equ 3 ; (CGB only) which VRAM bank the OBJ takes its tile(s) from
|
||||
def OAM_PALETTE equ %00000_111 ; (CGB only) which palette the OBJ uses
|
||||
def OAM_PRIO equ 1 << B_OAM_PRIO
|
||||
def OAM_YFLIP equ 1 << B_OAM_YFLIP
|
||||
def OAM_XFLIP equ 1 << B_OAM_XFLIP
|
||||
def OAM_PAL0 equ 0 << B_OAM_PAL1
|
||||
def OAM_PAL1 equ 1 << B_OAM_PAL1
|
||||
def OAM_BANK0 equ 0 << B_OAM_BANK1
|
||||
def OAM_BANK1 equ 1 << B_OAM_BANK1
|
||||
def OBJ_SIZE rb 0 ; size of OBJ in bytes = 4
|
||||
|
||||
def OAM_COUNT equ 40 ; how many OBJs there are room for in OAM
|
||||
def OAM_SIZE equ OBJ_SIZE * OAM_COUNT
|
||||
|
||||
|
||||
;******************************************************************************
|
||||
; Interrupt vector addresses
|
||||
;******************************************************************************
|
||||
|
||||
def INT_HANDLER_VBLANK equ $0040 ; VBlank interrupt handler address
|
||||
def INT_HANDLER_STAT equ $0048 ; STAT interrupt handler address
|
||||
def INT_HANDLER_TIMER equ $0050 ; timer interrupt handler address
|
||||
def INT_HANDLER_SERIAL equ $0058 ; serial interrupt handler address
|
||||
def INT_HANDLER_JOYPAD equ $0060 ; joypad interrupt handler address
|
||||
|
||||
|
||||
;******************************************************************************
|
||||
; Boot-up register values
|
||||
;******************************************************************************
|
||||
|
||||
; Register A = CPU type
|
||||
def BOOTUP_A_DMG equ $01
|
||||
def BOOTUP_A_CGB equ $11 ; CGB or AGB
|
||||
def BOOTUP_A_MGB equ $FF
|
||||
def BOOTUP_A_SGB equ BOOTUP_A_DMG
|
||||
def BOOTUP_A_SGB2 equ BOOTUP_A_MGB
|
||||
|
||||
; Register B = CPU qualifier (if A is BOOTUP_A_CGB)
|
||||
def B_BOOTUP_B_AGB equ 0
|
||||
def BOOTUP_B_CGB equ 0 << B_BOOTUP_B_AGB
|
||||
def BOOTUP_B_AGB equ 1 << B_BOOTUP_B_AGB
|
||||
|
||||
|
||||
;******************************************************************************
|
||||
; Aliases
|
||||
;******************************************************************************
|
||||
|
||||
; Prefer the standard names to these aliases, which may be official but are
|
||||
; less directly meaningful or human-readable.
|
||||
|
||||
def rP1 equ rJOYP
|
||||
|
||||
def rNR10 equ rAUD1SWEEP
|
||||
def rNR11 equ rAUD1LEN
|
||||
def rNR12 equ rAUD1ENV
|
||||
def rNR13 equ rAUD1LOW
|
||||
def rNR14 equ rAUD1HIGH
|
||||
def rNR21 equ rAUD2LEN
|
||||
def rNR22 equ rAUD2ENV
|
||||
def rNR23 equ rAUD2LOW
|
||||
def rNR24 equ rAUD2HIGH
|
||||
def rNR30 equ rAUD3ENA
|
||||
def rNR31 equ rAUD3LEN
|
||||
def rNR32 equ rAUD3LEVEL
|
||||
def rNR33 equ rAUD3LOW
|
||||
def rNR34 equ rAUD3HIGH
|
||||
def rNR41 equ rAUD4LEN
|
||||
def rNR42 equ rAUD4ENV
|
||||
def rNR43 equ rAUD4POLY
|
||||
def rNR44 equ rAUD4GO
|
||||
def rNR50 equ rAUDVOL
|
||||
def rNR51 equ rAUDTERM
|
||||
def rNR52 equ rAUDENA
|
||||
|
||||
def rKEY0 equ rSYS
|
||||
def rKEY1 equ rSPD
|
||||
|
||||
def rHDMA1 equ rVDMA_SRC_HIGH
|
||||
def rHDMA2 equ rVDMA_SRC_LOW
|
||||
def rHDMA3 equ rVDMA_DEST_HIGH
|
||||
def rHDMA4 equ rVDMA_DEST_LOW
|
||||
def rHDMA5 equ rVDMA_LEN
|
||||
|
||||
def rBCPS equ rBGPI
|
||||
def rBCPD equ rBGPD
|
||||
|
||||
def rOCPS equ rOBPI
|
||||
def rOCPD equ rOBPD
|
||||
|
||||
def rSVBK equ rWBK
|
||||
|
||||
endc ; HARDWARE_INC
|
||||
|
|
@ -1,153 +0,0 @@
|
|||
; Graciously derived from:
|
||||
; https://gbdev.io/pandocs/
|
||||
; https://github.com/gbdev/hardware.inc
|
||||
; http://gameboy.mongenel.com/dmg/asmmemmap.html
|
||||
|
||||
; MBC3
|
||||
DEF MBC3SRamEnable EQU $0000
|
||||
DEF MBC3RomBank EQU $2000
|
||||
DEF MBC3SRamBank EQU $4000
|
||||
DEF MBC3LatchClock EQU $6000
|
||||
DEF MBC3RTC EQU $a000
|
||||
|
||||
DEF SRAM_DISABLE EQU $00
|
||||
DEF SRAM_ENABLE EQU $0a
|
||||
|
||||
DEF NUM_SRAM_BANKS EQU 4
|
||||
|
||||
DEF RTC_S EQU $08 ; Seconds 0-59 (0-3Bh)
|
||||
DEF RTC_M EQU $09 ; Minutes 0-59 (0-3Bh)
|
||||
DEF RTC_H EQU $0a ; Hours 0-23 (0-17h)
|
||||
DEF RTC_DL EQU $0b ; Lower 8 bits of Day Counter (0-FFh)
|
||||
DEF RTC_DH EQU $0c ; Upper 1 bit of Day Counter, Carry Bit, Halt Flag
|
||||
DEF RTC_DH_HI EQU 0 ; Most significant bit of Day Counter (Bit 8)
|
||||
DEF RTC_DH_HALT EQU 6 ; Halt (0=Active, 1=Stop Timer)
|
||||
DEF RTC_DH_OVERFLOW EQU 7 ; Day Counter Carry Bit (1=Counter Overflow)
|
||||
|
||||
; interrupt flags
|
||||
DEF VBLANK EQU 0
|
||||
DEF LCD_STAT EQU 1
|
||||
DEF TIMER EQU 2
|
||||
DEF SERIAL EQU 3
|
||||
DEF JOYPAD EQU 4
|
||||
DEF IE_DEFAULT EQU (1 << JOYPAD) | (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
|
||||
|
||||
; OAM attribute flags
|
||||
DEF OAM_TILE_BANK EQU 3
|
||||
DEF OAM_OBP_NUM EQU 4 ; non CGB Mode Only
|
||||
DEF OAM_X_FLIP EQU 5
|
||||
DEF OAM_Y_FLIP EQU 6
|
||||
DEF OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)
|
||||
|
||||
; BG Map attribute flags
|
||||
DEF PALETTE_MASK EQU %111
|
||||
DEF VRAM_BANK_1 EQU 1 << OAM_TILE_BANK ; $08
|
||||
DEF OBP_NUM EQU 1 << OAM_OBP_NUM ; $10
|
||||
DEF X_FLIP EQU 1 << OAM_X_FLIP ; $20
|
||||
DEF Y_FLIP EQU 1 << OAM_Y_FLIP ; $40
|
||||
DEF PRIORITY EQU 1 << OAM_PRIORITY ; $80
|
||||
|
||||
; Hardware registers
|
||||
DEF rJOYP EQU $ff00 ; Joypad (R/W)
|
||||
DEF rJOYP_BUTTONS EQU 4
|
||||
DEF rJOYP_DPAD EQU 5
|
||||
DEF rSB EQU $ff01 ; Serial transfer data (R/W)
|
||||
DEF rSC EQU $ff02 ; Serial Transfer Control (R/W)
|
||||
DEF rSC_ON EQU 7
|
||||
DEF rSC_CGB EQU 1
|
||||
DEF rSC_CLOCK EQU 0
|
||||
DEF rDIV EQU $ff04 ; Divider Register (R/W)
|
||||
DEF rTIMA EQU $ff05 ; Timer counter (R/W)
|
||||
DEF rTMA EQU $ff06 ; Timer Modulo (R/W)
|
||||
DEF rTAC EQU $ff07 ; Timer Control (R/W)
|
||||
DEF rTAC_ON EQU 2
|
||||
DEF rTAC_4096_HZ EQU %00
|
||||
DEF rTAC_262144_HZ EQU %01
|
||||
DEF rTAC_65536_HZ EQU %10
|
||||
DEF rTAC_16384_HZ EQU %11
|
||||
DEF rIF EQU $ff0f ; Interrupt Flag (R/W)
|
||||
DEF rNR10 EQU $ff10 ; Channel 1 Sweep register (R/W)
|
||||
DEF rNR11 EQU $ff11 ; Channel 1 Sound length/Wave pattern duty (R/W)
|
||||
DEF rNR12 EQU $ff12 ; Channel 1 Volume Envelope (R/W)
|
||||
DEF rNR13 EQU $ff13 ; Channel 1 Frequency lo (Write Only)
|
||||
DEF rNR14 EQU $ff14 ; Channel 1 Frequency hi (R/W)
|
||||
DEF rNR21 EQU $ff16 ; Channel 2 Sound Length/Wave Pattern Duty (R/W)
|
||||
DEF rNR22 EQU $ff17 ; Channel 2 Volume Envelope (R/W)
|
||||
DEF rNR23 EQU $ff18 ; Channel 2 Frequency lo data (W)
|
||||
DEF rNR24 EQU $ff19 ; Channel 2 Frequency hi data (R/W)
|
||||
DEF rNR30 EQU $ff1a ; Channel 3 Sound on/off (R/W)
|
||||
DEF rNR31 EQU $ff1b ; Channel 3 Sound Length
|
||||
DEF rNR32 EQU $ff1c ; Channel 3 Select output level (R/W)
|
||||
DEF rNR33 EQU $ff1d ; Channel 3 Frequency's lower data (W)
|
||||
DEF rNR34 EQU $ff1e ; Channel 3 Frequency's higher data (R/W)
|
||||
DEF rNR41 EQU $ff20 ; Channel 4 Sound Length (R/W)
|
||||
DEF rNR42 EQU $ff21 ; Channel 4 Volume Envelope (R/W)
|
||||
DEF rNR43 EQU $ff22 ; Channel 4 Polynomial Counter (R/W)
|
||||
DEF rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Inital (R/W)
|
||||
DEF rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W)
|
||||
DEF rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W)
|
||||
DEF rNR52 EQU $ff26 ; Sound on/off
|
||||
DEF rWave_0 EQU $ff30
|
||||
DEF rWave_1 EQU $ff31
|
||||
DEF rWave_2 EQU $ff32
|
||||
DEF rWave_3 EQU $ff33
|
||||
DEF rWave_4 EQU $ff34
|
||||
DEF rWave_5 EQU $ff35
|
||||
DEF rWave_6 EQU $ff36
|
||||
DEF rWave_7 EQU $ff37
|
||||
DEF rWave_8 EQU $ff38
|
||||
DEF rWave_9 EQU $ff39
|
||||
DEF rWave_a EQU $ff3a
|
||||
DEF rWave_b EQU $ff3b
|
||||
DEF rWave_c EQU $ff3c
|
||||
DEF rWave_d EQU $ff3d
|
||||
DEF rWave_e EQU $ff3e
|
||||
DEF rWave_f EQU $ff3f
|
||||
DEF rLCDC EQU $ff40 ; LCD Control (R/W)
|
||||
DEF rLCDC_BG_PRIORITY EQU 0 ; 0=Off, 1=On
|
||||
DEF rLCDC_SPRITES_ENABLE EQU 1 ; 0=Off, 1=On
|
||||
DEF rLCDC_SPRITE_SIZE EQU 2 ; 0=8x8, 1=8x16
|
||||
DEF rLCDC_BG_TILEMAP EQU 3 ; 0=9800-9BFF, 1=9C00-9FFF
|
||||
DEF rLCDC_TILE_DATA EQU 4 ; 0=8800-97FF, 1=8000-8FFF
|
||||
DEF rLCDC_WINDOW_ENABLE EQU 5 ; 0=Off, 1=On
|
||||
DEF rLCDC_WINDOW_TILEMAP EQU 6 ; 0=9800-9BFF, 1=9C00-9FFF
|
||||
DEF rLCDC_ENABLE EQU 7 ; 0=Off, 1=On
|
||||
DEF LCDC_DEFAULT EQU (1 << rLCDC_ENABLE) | (1 << rLCDC_WINDOW_TILEMAP) | (1 << rLCDC_WINDOW_ENABLE) | (1 << rLCDC_SPRITES_ENABLE) | (1 << rLCDC_BG_PRIORITY)
|
||||
DEF rSTAT EQU $ff41 ; LCDC Status (R/W)
|
||||
DEF rSCY EQU $ff42 ; Scroll Y (R/W)
|
||||
DEF rSCX EQU $ff43 ; Scroll X (R/W)
|
||||
DEF rLY EQU $ff44 ; LCDC Y-Coordinate (R)
|
||||
DEF LY_VBLANK EQU 144
|
||||
DEF rLYC EQU $ff45 ; LY Compare (R/W)
|
||||
DEF rDMA EQU $ff46 ; DMA Transfer and Start Address (W)
|
||||
DEF rBGP EQU $ff47 ; BG Palette Data (R/W) - Non CGB Mode Only
|
||||
DEF rOBP0 EQU $ff48 ; Object Palette 0 Data (R/W) - Non CGB Mode Only
|
||||
DEF rOBP1 EQU $ff49 ; Object Palette 1 Data (R/W) - Non CGB Mode Only
|
||||
DEF rWY EQU $ff4a ; Window Y Position (R/W)
|
||||
DEF rWX EQU $ff4b ; Window X Position minus 7 (R/W)
|
||||
DEF rLCDMODE EQU $ff4c
|
||||
DEF rKEY1 EQU $ff4d ; CGB Mode Only - Prepare Speed Switch
|
||||
DEF KEY1_PREPARE EQU 0 ; 0=No, 1=Prepare (R/W)
|
||||
DEF KEY1_DBLSPEED EQU 7 ; 0=Normal Speed, 1=Double Speed (R)
|
||||
DEF rVBK EQU $ff4f ; CGB Mode Only - VRAM Bank
|
||||
DEF rBLCK EQU $ff50
|
||||
DEF rHDMA1 EQU $ff51 ; CGB Mode Only - New DMA Source, High
|
||||
DEF rHDMA2 EQU $ff52 ; CGB Mode Only - New DMA Source, Low
|
||||
DEF rHDMA3 EQU $ff53 ; CGB Mode Only - New DMA Destination, High
|
||||
DEF rHDMA4 EQU $ff54 ; CGB Mode Only - New DMA Destination, Low
|
||||
DEF rHDMA5 EQU $ff55 ; CGB Mode Only - New DMA Length/Mode/Start
|
||||
DEF rRP EQU $ff56 ; CGB Mode Only - Infrared Communications Port
|
||||
DEF rRP_LED_ON EQU 0
|
||||
DEF rRP_RECEIVING EQU 1
|
||||
DEF rRP_ENABLE_READ_MASK EQU %11000000
|
||||
DEF rBGPI EQU $ff68 ; CGB Mode Only - Background Palette Index
|
||||
DEF rBGPI_AUTO_INCREMENT EQU 7 ; increment rBGPI after write to rBGPD
|
||||
DEF rBGPD EQU $ff69 ; CGB Mode Only - Background Palette Data
|
||||
DEF rOBPI EQU $ff6a ; CGB Mode Only - Sprite Palette Index
|
||||
DEF rOBPI_AUTO_INCREMENT EQU 7 ; increment rOBPI after write to rOBPD
|
||||
DEF rOBPD EQU $ff6b ; CGB Mode Only - Sprite Palette Data
|
||||
DEF rOPRI EQU $ff6c ; CGB Mode Only - Object Priority Mode
|
||||
DEF rSVBK EQU $ff70 ; CGB Mode Only - WRAM Bank
|
||||
DEF rPCM12 EQU $ff76 ; Channel 1 & 2 Amplitude (R)
|
||||
DEF rPCM34 EQU $ff77 ; Channel 3 & 4 Amplitude (R)
|
||||
DEF rIE EQU $ffff ; Interrupt Enable (R/W)
|
||||
|
|
@ -350,3 +350,9 @@ DEF DAYCARE_INTRO_SEEN_F EQU 7
|
|||
const VBLANK_UNUSED_6 ; 6
|
||||
const VBLANK_UNUSED_7 ; 7
|
||||
DEF NUM_VBLANK_HANDLERS EQU const_value
|
||||
|
||||
; rLCDC::
|
||||
DEF LCDC_DEFAULT EQU LCDC_ON | LCDC_WIN_9C00 | LCDC_WIN_ON | LCDC_BLOCK21 | LCDC_BG_9800 | LCDC_OBJ_8 | LCDC_OBJ_ON | LCDC_BG_OFF | LCDC_PRIO_ON
|
||||
|
||||
; rIE::
|
||||
DEF IE_DEFAULT EQU IE_JOYPAD | IE_SERIAL | IE_TIMER | IE_STAT | IE_VBLANK
|
||||
|
|
|
|||
|
|
@ -241,29 +241,29 @@ BattleAnimFrameData:
|
|||
oamdelete
|
||||
|
||||
.Frameset_CutDownRight:
|
||||
oamframe BATTLE_ANIM_OAMSET_4B, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4C, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 4, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4B, 2, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4C, 2, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 4, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, B_OAM_XFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, B_OAM_XFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, B_OAM_XFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, B_OAM_XFLIP
|
||||
oamdelete
|
||||
|
||||
.Frameset_CutUpRight:
|
||||
oamframe BATTLE_ANIM_OAMSET_4B, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4C, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 4, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4B, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4C, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 4, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4E, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamdelete
|
||||
|
||||
.Frameset_CutLongDownLeft:
|
||||
|
|
@ -283,19 +283,19 @@ BattleAnimFrameData:
|
|||
oamdelete
|
||||
|
||||
.Frameset_CutLongDownRight:
|
||||
oamframe BATTLE_ANIM_OAMSET_4B, 1, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4C, 1, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 1, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4F, 1, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_50, 1, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_51, 1, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4B, 1, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4C, 1, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 1, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4F, 1, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_50, 1, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_51, 1, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, B_OAM_XFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, B_OAM_XFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, B_OAM_XFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, B_OAM_XFLIP
|
||||
oamdelete
|
||||
|
||||
.Frameset_BallPoof:
|
||||
|
|
@ -309,7 +309,7 @@ BattleAnimFrameData:
|
|||
oamframe BATTLE_ANIM_OAMSET_0A, 7
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 7
|
||||
oamframe BATTLE_ANIM_OAMSET_0A, 7
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 7, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 7, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_PokeBall2:
|
||||
|
|
@ -328,7 +328,7 @@ BattleAnimFrameData:
|
|||
oamframe BATTLE_ANIM_OAMSET_0A, 7
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 7
|
||||
oamframe BATTLE_ANIM_OAMSET_0A, 7
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 7, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 7, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0A, 7
|
||||
oamend
|
||||
|
||||
|
|
@ -400,9 +400,9 @@ BattleAnimFrameData:
|
|||
oamframe BATTLE_ANIM_OAMSET_16, 8
|
||||
oamframe BATTLE_ANIM_OAMSET_17, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_17, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_16, 8, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_15, 8, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_16, 8, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_16, 8, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_15, 8, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_16, 8, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_17, 4
|
||||
oamrestart
|
||||
|
||||
|
|
@ -567,10 +567,10 @@ BattleAnimFrameData:
|
|||
oamdelete
|
||||
|
||||
.Frameset_ThunderRight:
|
||||
oamframe BATTLE_ANIM_OAMSET_3A, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_3B, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_3C, 2, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_3D, 32, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_3A, 2, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_3B, 2, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_3C, 2, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_3D, 32, B_OAM_XFLIP
|
||||
oamdelete
|
||||
|
||||
.Frameset_ThunderWaveDisable:
|
||||
|
|
@ -617,7 +617,7 @@ BattleAnimFrameData:
|
|||
oamend
|
||||
|
||||
.Frameset_ClampFlipped:
|
||||
oamframe BATTLE_ANIM_OAMSET_48, 8, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_48, 8, B_OAM_XFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_Bite1:
|
||||
|
|
@ -663,9 +663,9 @@ BattleAnimFrameData:
|
|||
oamwait 0
|
||||
oamframe BATTLE_ANIM_OAMSET_14, 0
|
||||
oamframe BATTLE_ANIM_OAMSET_15, 0
|
||||
oamframe BATTLE_ANIM_OAMSET_14, 0, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_14, 0, B_OAM_XFLIP
|
||||
oamwait 0
|
||||
oamframe BATTLE_ANIM_OAMSET_16, 0, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_16, 0, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_15, 0
|
||||
oamframe BATTLE_ANIM_OAMSET_16, 0
|
||||
oamrestart
|
||||
|
|
@ -676,31 +676,31 @@ BattleAnimFrameData:
|
|||
oamdelete
|
||||
|
||||
.Frameset_VineWhip2:
|
||||
oamframe BATTLE_ANIM_OAMSET_56, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 4, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_56, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 4, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamdelete
|
||||
|
||||
.Frameset_RazorWind1:
|
||||
oamframe BATTLE_ANIM_OAMSET_56, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_58, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_58, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_58, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 2
|
||||
oamdelete
|
||||
|
||||
.Frameset_RazorWind2:
|
||||
oamframe BATTLE_ANIM_OAMSET_56, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_58, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_56, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_58, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_58, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamdelete
|
||||
|
||||
.Frameset_SonicboomJP:
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_58, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_58, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_57, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_58, 1
|
||||
oamrestart
|
||||
|
|
@ -714,18 +714,18 @@ BattleAnimFrameData:
|
|||
|
||||
.Frameset_Egg:
|
||||
oamframe BATTLE_ANIM_OAMSET_0A, 10
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 3, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_5D, 3, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 3, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0A, 2, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 1, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 3, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_5D, 3, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 3, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0A, 2, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 1, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_5D, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 1
|
||||
oamrestart
|
||||
|
||||
.Frameset_EggWobble:
|
||||
oamframe BATTLE_ANIM_OAMSET_0A, 3
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 7, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 7, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_0A, 7
|
||||
oamframe BATTLE_ANIM_OAMSET_0B, 7
|
||||
oamframe BATTLE_ANIM_OAMSET_0A, 3
|
||||
|
|
@ -776,7 +776,7 @@ BattleAnimFrameData:
|
|||
oamend
|
||||
|
||||
.Frameset_Sound3:
|
||||
oamframe BATTLE_ANIM_OAMSET_6E, 8, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_6E, 8, B_OAM_YFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_Wave:
|
||||
|
|
@ -824,12 +824,12 @@ BattleAnimFrameData:
|
|||
oamframe BATTLE_ANIM_OAMSET_7B, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_7C, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_7D, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_7C, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_7B, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_7A, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_79, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_78, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_77, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_7C, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_7B, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_7A, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_79, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_78, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_77, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamdelete
|
||||
|
||||
.Frameset_Chick1:
|
||||
|
|
@ -838,8 +838,8 @@ BattleAnimFrameData:
|
|||
oamrestart
|
||||
|
||||
.Frameset_Chick2:
|
||||
oamframe BATTLE_ANIM_OAMSET_1B, 4, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_7E, 4, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_1B, 4, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_7E, 4, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_Amnesia1:
|
||||
|
|
@ -908,7 +908,7 @@ BattleAnimFrameData:
|
|||
oamend
|
||||
|
||||
.Frameset_ParalyzedFlipped:
|
||||
oamframe BATTLE_ANIM_OAMSET_8E, 8, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_8E, 8, B_OAM_XFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_Haze:
|
||||
|
|
@ -948,7 +948,7 @@ BattleAnimFrameData:
|
|||
|
||||
.Frameset_SpinningBone:
|
||||
oamframe BATTLE_ANIM_OAMSET_97, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_97, 1, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_97, 1, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_Star:
|
||||
|
|
@ -1009,8 +1009,8 @@ BattleAnimFrameData:
|
|||
oamframe BATTLE_ANIM_OAMSET_A5, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_A6, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_A7, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_A6, 4, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_A5, 4, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_A6, 4, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_A5, 4, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_DefenseCurl:
|
||||
|
|
@ -1018,8 +1018,8 @@ BattleAnimFrameData:
|
|||
oamframe BATTLE_ANIM_OAMSET_A9, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_AA, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_AB, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_AA, 4, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_A9, 4, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_AA, 4, B_OAM_XFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_A9, 4, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_MetronomeHand:
|
||||
|
|
@ -1048,7 +1048,7 @@ BattleAnimFrameData:
|
|||
|
||||
.Frameset_HealBell:
|
||||
oamframe BATTLE_ANIM_OAMSET_B1, 7
|
||||
oamframe BATTLE_ANIM_OAMSET_B1, 7, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_B1, 7, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_BatonPass:
|
||||
|
|
@ -1060,15 +1060,15 @@ BattleAnimFrameData:
|
|||
oamend
|
||||
|
||||
.Frameset_LockOn2:
|
||||
oamframe BATTLE_ANIM_OAMSET_B3, 8, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_B3, 8, B_OAM_XFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_LockOn3:
|
||||
oamframe BATTLE_ANIM_OAMSET_B3, 8, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_B3, 8, B_OAM_YFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_LockOn4:
|
||||
oamframe BATTLE_ANIM_OAMSET_B3, 8, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_B3, 8, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_MindReader1:
|
||||
|
|
@ -1076,15 +1076,15 @@ BattleAnimFrameData:
|
|||
oamend
|
||||
|
||||
.Frameset_MindReader2:
|
||||
oamframe BATTLE_ANIM_OAMSET_B5, 8, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_B5, 8, B_OAM_XFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_MindReader3:
|
||||
oamframe BATTLE_ANIM_OAMSET_B5, 8, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_B5, 8, B_OAM_YFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_MindReader4:
|
||||
oamframe BATTLE_ANIM_OAMSET_B5, 8, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_B5, 8, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_Safeguard:
|
||||
|
|
@ -1112,7 +1112,7 @@ BattleAnimFrameData:
|
|||
oamend
|
||||
|
||||
.Frameset_ImpFlipped:
|
||||
oamframe BATTLE_ANIM_OAMSET_B8, 32, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_B8, 32, B_OAM_XFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_Cherub:
|
||||
|
|
@ -1124,7 +1124,7 @@ BattleAnimFrameData:
|
|||
oamend
|
||||
|
||||
.Frameset_EncoreHand:
|
||||
oamframe BATTLE_ANIM_OAMSET_BB, 32, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_BB, 32, B_OAM_XFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_EncoreHandFlipped:
|
||||
|
|
@ -1171,26 +1171,26 @@ BattleAnimFrameData:
|
|||
oamdelete
|
||||
|
||||
.Frameset_CrossChop2:
|
||||
oamframe BATTLE_ANIM_OAMSET_4B, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4C, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 32, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 32, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 32, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4F, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_50, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_51, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4B, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4C, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 32, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 32, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4D, 32, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_4F, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_50, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_51, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamwait 2
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_52, 2, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamdelete
|
||||
|
||||
.Frameset_ZapCannon:
|
||||
oamframe BATTLE_ANIM_OAMSET_C3, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_C3, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_C3, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_CurseNail:
|
||||
|
|
@ -1205,7 +1205,7 @@ BattleAnimFrameData:
|
|||
|
||||
.Frameset_RapidSpin:
|
||||
oamframe BATTLE_ANIM_OAMSET_C8, 1
|
||||
oamframe BATTLE_ANIM_OAMSET_C8, 1, OAM_X_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_C8, 1, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_Swagger:
|
||||
|
|
@ -1221,7 +1221,7 @@ BattleAnimFrameData:
|
|||
oamrestart
|
||||
|
||||
.Frameset_UpsideDownPunch:
|
||||
oamframe BATTLE_ANIM_OAMSET_03, 32, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_03, 32, B_OAM_YFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_Rain:
|
||||
|
|
@ -1238,8 +1238,8 @@ BattleAnimFrameData:
|
|||
.Frameset_SpiralUnused:
|
||||
oamframe BATTLE_ANIM_OAMSET_CD, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_CE, 4
|
||||
oamframe BATTLE_ANIM_OAMSET_CD, 4, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_CE, 4, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_CD, 4, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe BATTLE_ANIM_OAMSET_CE, 4, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_Aeroblast:
|
||||
|
|
|
|||
|
|
@ -241,9 +241,9 @@ BattleAnimOAMData:
|
|||
|
||||
.OAMData_02:
|
||||
dbsprite -1, -1, 0, 0, $00, $0
|
||||
dbsprite 0, -1, 0, 0, $00, X_FLIP
|
||||
dbsprite -1, 0, 0, 0, $00, Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -1, 0, 0, $00, OAM_XFLIP
|
||||
dbsprite -1, 0, 0, 0, $00, OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_c3:
|
||||
dbsprite -2, -2, 4, 4, $00, $0
|
||||
|
|
@ -259,13 +259,13 @@ BattleAnimOAMData:
|
|||
.OAMData_01:
|
||||
dbsprite -2, -2, 4, 4, $00, $0
|
||||
dbsprite -1, -2, 4, 4, $01, $0
|
||||
dbsprite 0, -2, 4, 4, $00, X_FLIP
|
||||
dbsprite 0, -2, 4, 4, $00, OAM_XFLIP
|
||||
dbsprite -2, -1, 4, 4, $02, $0
|
||||
dbsprite -1, -1, 4, 4, $03, $0
|
||||
dbsprite 0, -1, 4, 4, $02, X_FLIP | Y_FLIP
|
||||
dbsprite -2, 0, 4, 4, $00, Y_FLIP
|
||||
dbsprite -1, 0, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 0, 4, 4, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -1, 4, 4, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -2, 0, 4, 4, $00, OAM_YFLIP
|
||||
dbsprite -1, 0, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 0, 4, 4, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_cf:
|
||||
dbsprite -2, -2, 4, 0, $00, $0
|
||||
|
|
@ -274,12 +274,12 @@ BattleAnimOAMData:
|
|||
dbsprite -2, -1, 4, 0, $03, $0
|
||||
dbsprite -1, -1, 4, 0, $04, $0
|
||||
dbsprite 0, -1, 4, 0, $05, $0
|
||||
dbsprite -2, 0, 4, 0, $05, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 0, 4, 0, $04, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 0, 4, 0, $03, X_FLIP | Y_FLIP
|
||||
dbsprite -2, 1, 4, 0, $02, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 1, 4, 0, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 1, 4, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite -2, 0, 4, 0, $05, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, 0, 4, 0, $04, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 0, 4, 0, $03, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -2, 1, 4, 0, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, 1, 4, 0, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 1, 4, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_1c:
|
||||
dbsprite -2, -2, 0, 0, $00, $0
|
||||
|
|
@ -304,56 +304,56 @@ BattleAnimOAMData:
|
|||
dbsprite -1, -2, 0, 0, $01, $0
|
||||
dbsprite -2, -1, 0, 0, $02, $0
|
||||
dbsprite -1, -1, 0, 0, $03, $0
|
||||
dbsprite 0, -2, 0, 0, $01, X_FLIP
|
||||
dbsprite 1, -2, 0, 0, $00, X_FLIP
|
||||
dbsprite 0, -1, 0, 0, $03, X_FLIP
|
||||
dbsprite 1, -1, 0, 0, $02, X_FLIP
|
||||
dbsprite -2, 0, 0, 0, $02, Y_FLIP
|
||||
dbsprite -1, 0, 0, 0, $03, Y_FLIP
|
||||
dbsprite -2, 1, 0, 0, $00, Y_FLIP
|
||||
dbsprite -1, 1, 0, 0, $01, Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $03, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 0, 0, 0, $02, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 1, 0, 0, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -2, 0, 0, $01, OAM_XFLIP
|
||||
dbsprite 1, -2, 0, 0, $00, OAM_XFLIP
|
||||
dbsprite 0, -1, 0, 0, $03, OAM_XFLIP
|
||||
dbsprite 1, -1, 0, 0, $02, OAM_XFLIP
|
||||
dbsprite -2, 0, 0, 0, $02, OAM_YFLIP
|
||||
dbsprite -1, 0, 0, 0, $03, OAM_YFLIP
|
||||
dbsprite -2, 1, 0, 0, $00, OAM_YFLIP
|
||||
dbsprite -1, 1, 0, 0, $01, OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $03, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 0, 0, 0, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 1, 0, 0, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_09:
|
||||
dbsprite -3, -3, 4, 4, $00, $0
|
||||
dbsprite -2, -3, 4, 4, $01, $0
|
||||
dbsprite -3, -2, 4, 4, $02, $0
|
||||
dbsprite -2, -2, 4, 4, $03, $0
|
||||
dbsprite 0, -3, 4, 4, $01, X_FLIP
|
||||
dbsprite 1, -3, 4, 4, $00, X_FLIP
|
||||
dbsprite 0, -2, 4, 4, $03, X_FLIP
|
||||
dbsprite 1, -2, 4, 4, $02, X_FLIP
|
||||
dbsprite -3, 0, 4, 4, $02, Y_FLIP
|
||||
dbsprite -2, 0, 4, 4, $03, Y_FLIP
|
||||
dbsprite -3, 1, 4, 4, $00, Y_FLIP
|
||||
dbsprite -2, 1, 4, 4, $01, Y_FLIP
|
||||
dbsprite 0, 0, 4, 4, $03, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 0, 4, 4, $02, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 1, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 4, 4, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -3, 4, 4, $01, OAM_XFLIP
|
||||
dbsprite 1, -3, 4, 4, $00, OAM_XFLIP
|
||||
dbsprite 0, -2, 4, 4, $03, OAM_XFLIP
|
||||
dbsprite 1, -2, 4, 4, $02, OAM_XFLIP
|
||||
dbsprite -3, 0, 4, 4, $02, OAM_YFLIP
|
||||
dbsprite -2, 0, 4, 4, $03, OAM_YFLIP
|
||||
dbsprite -3, 1, 4, 4, $00, OAM_YFLIP
|
||||
dbsprite -2, 1, 4, 4, $01, OAM_YFLIP
|
||||
dbsprite 0, 0, 4, 4, $03, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 0, 4, 4, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 1, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 4, 4, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_0c:
|
||||
dbsprite -1, -1, 0, 4, $00, $0
|
||||
dbsprite 0, -1, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -1, 0, 4, $00, OAM_XFLIP
|
||||
|
||||
.OAMData_6a:
|
||||
dbsprite -1, 0, 0, 0, $00, $0
|
||||
dbsprite 0, 0, 0, 0, $00, X_FLIP
|
||||
dbsprite 0, 0, 0, 0, $00, OAM_XFLIP
|
||||
|
||||
.OAMData_04:
|
||||
dbsprite -1, -1, 0, 0, $00, $0
|
||||
dbsprite 0, -1, 0, 0, $00, X_FLIP
|
||||
dbsprite 0, -1, 0, 0, $00, OAM_XFLIP
|
||||
dbsprite -1, 0, 0, 0, $01, $0
|
||||
dbsprite 0, 0, 0, 0, $01, X_FLIP
|
||||
dbsprite 0, 0, 0, 0, $01, OAM_XFLIP
|
||||
|
||||
.OAMData_5d:
|
||||
dbsprite -1, -1, 0, 0, $00, $0
|
||||
dbsprite 0, -1, 0, 0, $01, $0
|
||||
dbsprite -1, 0, 0, 0, $00, Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $01, Y_FLIP
|
||||
dbsprite -1, 0, 0, 0, $00, OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $01, OAM_YFLIP
|
||||
|
||||
.OAMData_13:
|
||||
dbsprite -1, -1, 0, 2, $02, $0
|
||||
|
|
@ -387,33 +387,33 @@ BattleAnimOAMData:
|
|||
|
||||
.OAMData_2a:
|
||||
dbsprite -1, -3, 0, 4, $00, $0
|
||||
dbsprite 0, -3, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -3, 0, 4, $00, OAM_XFLIP
|
||||
dbsprite -1, -2, 0, 4, $01, $0
|
||||
dbsprite 0, -2, 0, 4, $01, X_FLIP
|
||||
dbsprite 0, -2, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite -1, -1, 4, 4, $02, $0
|
||||
|
||||
.OAMData_2b:
|
||||
dbsprite -1, -4, 0, 4, $00, $0
|
||||
dbsprite 0, -4, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -4, 0, 4, $00, OAM_XFLIP
|
||||
dbsprite -1, -3, 0, 4, $01, $0
|
||||
dbsprite 0, -3, 0, 4, $01, X_FLIP
|
||||
dbsprite 0, -3, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite -1, -2, 4, 4, $02, $0
|
||||
dbsprite -1, -1, 4, 4, $02, $0
|
||||
|
||||
.OAMData_2c:
|
||||
dbsprite -1, -5, 0, 4, $00, $0
|
||||
dbsprite 0, -5, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -5, 0, 4, $00, OAM_XFLIP
|
||||
dbsprite -1, -4, 0, 4, $01, $0
|
||||
dbsprite 0, -4, 0, 4, $01, X_FLIP
|
||||
dbsprite 0, -4, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite -1, -3, 4, 4, $02, $0
|
||||
dbsprite -1, -2, 4, 4, $02, $0
|
||||
dbsprite -1, -1, 4, 4, $02, $0
|
||||
|
||||
.OAMData_2d:
|
||||
dbsprite -1, -6, 0, 4, $00, $0
|
||||
dbsprite 0, -6, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -6, 0, 4, $00, OAM_XFLIP
|
||||
dbsprite -1, -5, 0, 4, $01, $0
|
||||
dbsprite 0, -5, 0, 4, $01, X_FLIP
|
||||
dbsprite 0, -5, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite -1, -4, 4, 4, $02, $0
|
||||
dbsprite -1, -3, 4, 4, $02, $0
|
||||
dbsprite -1, -2, 4, 4, $02, $0
|
||||
|
|
@ -421,9 +421,9 @@ BattleAnimOAMData:
|
|||
|
||||
.OAMData_2e:
|
||||
dbsprite -1, -7, 0, 4, $00, $0
|
||||
dbsprite 0, -7, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -7, 0, 4, $00, OAM_XFLIP
|
||||
dbsprite -1, -6, 0, 4, $01, $0
|
||||
dbsprite 0, -6, 0, 4, $01, X_FLIP
|
||||
dbsprite 0, -6, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite -1, -5, 4, 4, $02, $0
|
||||
dbsprite -1, -4, 4, 4, $02, $0
|
||||
dbsprite -1, -3, 4, 4, $02, $0
|
||||
|
|
@ -432,15 +432,15 @@ BattleAnimOAMData:
|
|||
|
||||
.OAMData_2f:
|
||||
dbsprite -1, -1, 0, 0, $00, $0
|
||||
dbsprite 0, -1, 0, 0, $00, X_FLIP
|
||||
dbsprite 0, -1, 0, 0, $00, OAM_XFLIP
|
||||
dbsprite -1, 0, 0, 0, $01, $0
|
||||
dbsprite 0, 0, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_30:
|
||||
dbsprite -1, -1, 0, 0, $00, $0
|
||||
dbsprite 0, -1, 0, 0, $01, $0
|
||||
dbsprite -1, 0, 0, 0, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 0, 0, 0, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_31:
|
||||
dbsprite -1, -2, 0, 4, $00, $0
|
||||
|
|
@ -526,28 +526,28 @@ BattleAnimOAMData:
|
|||
dbsprite 1, -1, 0, 4, $0b, $0
|
||||
|
||||
.OAMData_3e:
|
||||
dbsprite -2, 1, 0, 4, $00, Y_FLIP
|
||||
dbsprite -1, 1, 0, 4, $02, Y_FLIP
|
||||
dbsprite 0, 1, 0, 4, $02, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 0, 4, $00, X_FLIP | Y_FLIP
|
||||
dbsprite -3, -1, 0, 4, $09, X_FLIP
|
||||
dbsprite -2, -1, 0, 4, $08, X_FLIP
|
||||
dbsprite -2, 1, 0, 4, $00, OAM_YFLIP
|
||||
dbsprite -1, 1, 0, 4, $02, OAM_YFLIP
|
||||
dbsprite 0, 1, 0, 4, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 0, 4, $00, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -3, -1, 0, 4, $09, OAM_XFLIP
|
||||
dbsprite -2, -1, 0, 4, $08, OAM_XFLIP
|
||||
dbsprite -1, -1, 0, 4, $06, $0
|
||||
dbsprite 0, -1, 0, 4, $07, $0
|
||||
dbsprite 1, -1, 0, 4, $08, $0
|
||||
dbsprite 2, -1, 0, 4, $09, $0
|
||||
dbsprite -3, 0, 0, 4, $01, X_FLIP
|
||||
dbsprite -2, 0, 0, 4, $00, X_FLIP
|
||||
dbsprite -3, 0, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite -2, 0, 0, 4, $00, OAM_XFLIP
|
||||
dbsprite -1, 0, 0, 4, $0c, $0
|
||||
dbsprite 0, 0, 0, 4, $0d, $0
|
||||
dbsprite 1, 0, 0, 4, $00, $0
|
||||
dbsprite 2, 0, 0, 4, $01, $0
|
||||
dbsprite -2, -3, 0, 4, $00, $0
|
||||
dbsprite -1, -3, 0, 4, $02, $0
|
||||
dbsprite 0, -3, 0, 4, $02, X_FLIP
|
||||
dbsprite 1, -3, 0, 4, $00, X_FLIP
|
||||
dbsprite -3, -2, 0, 4, $03, X_FLIP
|
||||
dbsprite -2, -2, 0, 4, $02, X_FLIP
|
||||
dbsprite 0, -3, 0, 4, $02, OAM_XFLIP
|
||||
dbsprite 1, -3, 0, 4, $00, OAM_XFLIP
|
||||
dbsprite -3, -2, 0, 4, $03, OAM_XFLIP
|
||||
dbsprite -2, -2, 0, 4, $02, OAM_XFLIP
|
||||
dbsprite -1, -2, 0, 4, $04, $0
|
||||
dbsprite 0, -2, 0, 4, $05, $0
|
||||
dbsprite 1, -2, 0, 4, $02, $0
|
||||
|
|
@ -556,62 +556,62 @@ BattleAnimOAMData:
|
|||
.OAMData_41:
|
||||
dbsprite -2, -3, 0, 4, $00, $0
|
||||
dbsprite -1, -3, 0, 4, $02, $0
|
||||
dbsprite 0, -3, 0, 4, $02, X_FLIP
|
||||
dbsprite 1, -3, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -3, 0, 4, $02, OAM_XFLIP
|
||||
dbsprite 1, -3, 0, 4, $00, OAM_XFLIP
|
||||
dbsprite -3, -2, 4, 4, $00, $0
|
||||
dbsprite -2, -2, 4, 4, $01, $0
|
||||
dbsprite -1, -2, 0, 4, $05, X_FLIP
|
||||
dbsprite 0, -2, 0, 4, $04, X_FLIP
|
||||
dbsprite 0, -2, 4, 4, $01, X_FLIP
|
||||
dbsprite 1, -2, 4, 4, $00, X_FLIP
|
||||
dbsprite -1, -2, 0, 4, $05, OAM_XFLIP
|
||||
dbsprite 0, -2, 0, 4, $04, OAM_XFLIP
|
||||
dbsprite 0, -2, 4, 4, $01, OAM_XFLIP
|
||||
dbsprite 1, -2, 4, 4, $00, OAM_XFLIP
|
||||
dbsprite -3, -1, 4, 4, $02, $0
|
||||
dbsprite -2, -1, 4, 4, $03, $0
|
||||
dbsprite -1, -1, 0, 4, $07, X_FLIP
|
||||
dbsprite 0, -1, 0, 4, $06, X_FLIP
|
||||
dbsprite 0, -1, 4, 4, $03, X_FLIP
|
||||
dbsprite 1, -1, 4, 4, $02, X_FLIP
|
||||
dbsprite -1, -1, 0, 4, $07, OAM_XFLIP
|
||||
dbsprite 0, -1, 0, 4, $06, OAM_XFLIP
|
||||
dbsprite 0, -1, 4, 4, $03, OAM_XFLIP
|
||||
dbsprite 1, -1, 4, 4, $02, OAM_XFLIP
|
||||
dbsprite -3, 0, 4, 4, $04, $0
|
||||
dbsprite -2, 0, 4, 4, $05, $0
|
||||
dbsprite -1, 0, 0, 4, $0d, X_FLIP
|
||||
dbsprite 0, 0, 0, 4, $0c, X_FLIP
|
||||
dbsprite 0, 0, 4, 4, $05, X_FLIP
|
||||
dbsprite 1, 0, 4, 4, $04, X_FLIP
|
||||
dbsprite -2, 1, 0, 4, $00, Y_FLIP
|
||||
dbsprite -1, 1, 0, 4, $02, Y_FLIP
|
||||
dbsprite 0, 1, 0, 4, $02, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 0, 4, $00, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 0, 0, 4, $0d, OAM_XFLIP
|
||||
dbsprite 0, 0, 0, 4, $0c, OAM_XFLIP
|
||||
dbsprite 0, 0, 4, 4, $05, OAM_XFLIP
|
||||
dbsprite 1, 0, 4, 4, $04, OAM_XFLIP
|
||||
dbsprite -2, 1, 0, 4, $00, OAM_YFLIP
|
||||
dbsprite -1, 1, 0, 4, $02, OAM_YFLIP
|
||||
dbsprite 0, 1, 0, 4, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 0, 4, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_42:
|
||||
dbsprite -1, -3, 4, 0, $02, $0
|
||||
dbsprite -1, 2, 4, 0, $02, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 2, 4, 0, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -3, -1, 0, 4, $01, $0
|
||||
dbsprite 2, -1, 0, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 2, -1, 0, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, -4, 4, 0, $02, $0
|
||||
dbsprite -1, 3, 4, 0, $02, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 3, 4, 0, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -4, -1, 0, 4, $01, $0
|
||||
dbsprite 3, -1, 0, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 3, -1, 0, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_44:
|
||||
dbsprite -3, -3, 5, 5, $00, X_FLIP
|
||||
dbsprite -3, -3, 5, 5, $00, OAM_XFLIP
|
||||
dbsprite 1, -3, 3, 5, $00, $0
|
||||
dbsprite -3, 1, 5, 3, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 3, 3, $00, Y_FLIP
|
||||
dbsprite -4, -4, 5, 5, $00, X_FLIP
|
||||
dbsprite -3, 1, 5, 3, $00, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 3, 3, $00, OAM_YFLIP
|
||||
dbsprite -4, -4, 5, 5, $00, OAM_XFLIP
|
||||
dbsprite 2, -4, 3, 5, $00, $0
|
||||
dbsprite -4, 2, 5, 3, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 2, 2, 3, 3, $00, Y_FLIP
|
||||
dbsprite -4, 2, 5, 3, $00, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 2, 2, 3, 3, $00, OAM_YFLIP
|
||||
|
||||
.OAMData_46:
|
||||
dbsprite -1, -3, 4, 4, $02, $0
|
||||
dbsprite -1, 1, 4, 4, $02, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 1, 4, 4, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -3, -1, 4, 4, $01, $0
|
||||
dbsprite 1, -1, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, -1, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_47:
|
||||
dbsprite -2, -2, 0, 0, $00, X_FLIP
|
||||
dbsprite -2, -2, 0, 0, $00, OAM_XFLIP
|
||||
dbsprite 1, -2, 0, 0, $00, $0
|
||||
dbsprite -2, 1, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 0, 0, $00, Y_FLIP
|
||||
dbsprite -2, 1, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 0, 0, $00, OAM_YFLIP
|
||||
|
||||
.OAMData_48:
|
||||
dbsprite -1, -3, 4, 0, $00, $0
|
||||
|
|
@ -622,38 +622,38 @@ BattleAnimOAMData:
|
|||
dbsprite -1, 2, 4, 0, $00, $0
|
||||
|
||||
.OAMData_49:
|
||||
dbsprite -2, -1, 0, 4, $00, X_FLIP
|
||||
dbsprite -1, -1, 0, 2, $00, X_FLIP
|
||||
dbsprite -2, -1, 0, 4, $00, OAM_XFLIP
|
||||
dbsprite -1, -1, 0, 2, $00, OAM_XFLIP
|
||||
dbsprite 0, -1, 0, 2, $00, $0
|
||||
dbsprite 1, -1, 0, 4, $00, $0
|
||||
|
||||
.OAMData_4a:
|
||||
dbsprite -1, -1, 0, 4, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -1, 0, 4, $00, Y_FLIP
|
||||
dbsprite -1, -1, 0, 4, $00, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, -1, 0, 4, $00, OAM_YFLIP
|
||||
|
||||
.OAMData_0f:
|
||||
dbsprite -1, -1, 4, 4, $00, $0
|
||||
dbsprite -2, -1, 4, 4, $01, $0
|
||||
dbsprite -1, -1, 4, 4, $01, X_FLIP
|
||||
dbsprite -2, 0, 4, 4, $01, Y_FLIP
|
||||
dbsprite -1, 0, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -1, -1, 4, 4, $01, OAM_XFLIP
|
||||
dbsprite -2, 0, 4, 4, $01, OAM_YFLIP
|
||||
dbsprite -1, 0, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_4c:
|
||||
dbsprite -1, -1, 4, 4, $00, $0
|
||||
dbsprite -2, 0, 6, 2, $00, $0
|
||||
dbsprite -3, 0, 6, 2, $01, $0
|
||||
dbsprite -2, 0, 6, 2, $01, X_FLIP
|
||||
dbsprite -3, 1, 6, 2, $01, Y_FLIP
|
||||
dbsprite -2, 1, 6, 2, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -2, 0, 6, 2, $01, OAM_XFLIP
|
||||
dbsprite -3, 1, 6, 2, $01, OAM_YFLIP
|
||||
dbsprite -2, 1, 6, 2, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_4d:
|
||||
dbsprite -1, -1, 4, 4, $00, $0
|
||||
dbsprite -2, 0, 6, 2, $00, $0
|
||||
dbsprite -2, 1, 0, 0, $00, $0
|
||||
dbsprite -3, 1, 0, 0, $01, $0
|
||||
dbsprite -2, 1, 0, 0, $01, X_FLIP
|
||||
dbsprite -3, 2, 0, 0, $01, Y_FLIP
|
||||
dbsprite -2, 2, 0, 0, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -2, 1, 0, 0, $01, OAM_XFLIP
|
||||
dbsprite -3, 2, 0, 0, $01, OAM_YFLIP
|
||||
dbsprite -2, 2, 0, 0, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_4f:
|
||||
dbsprite -1, -1, 4, 4, $00, $0
|
||||
|
|
@ -661,9 +661,9 @@ BattleAnimOAMData:
|
|||
dbsprite -2, 1, 0, 0, $00, $0
|
||||
dbsprite -3, 1, 2, 6, $00, $0
|
||||
dbsprite -4, 1, 2, 6, $01, $0
|
||||
dbsprite -3, 1, 2, 6, $01, X_FLIP
|
||||
dbsprite -4, 2, 2, 6, $01, Y_FLIP
|
||||
dbsprite -3, 2, 2, 6, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -3, 1, 2, 6, $01, OAM_XFLIP
|
||||
dbsprite -4, 2, 2, 6, $01, OAM_YFLIP
|
||||
dbsprite -3, 2, 2, 6, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_50:
|
||||
dbsprite -1, -1, 4, 4, $00, $0
|
||||
|
|
@ -672,9 +672,9 @@ BattleAnimOAMData:
|
|||
dbsprite -3, 1, 2, 6, $00, $0
|
||||
dbsprite -4, 2, 4, 4, $00, $0
|
||||
dbsprite -5, 2, 4, 4, $01, $0
|
||||
dbsprite -4, 2, 4, 4, $01, X_FLIP
|
||||
dbsprite -5, 3, 4, 4, $01, Y_FLIP
|
||||
dbsprite -4, 3, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -4, 2, 4, 4, $01, OAM_XFLIP
|
||||
dbsprite -5, 3, 4, 4, $01, OAM_YFLIP
|
||||
dbsprite -4, 3, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_51:
|
||||
dbsprite -1, -1, 4, 4, $00, $0
|
||||
|
|
@ -684,21 +684,21 @@ BattleAnimOAMData:
|
|||
dbsprite -4, 2, 4, 4, $00, $0
|
||||
dbsprite -5, 3, 6, 2, $00, $0
|
||||
dbsprite -6, 3, 6, 2, $01, $0
|
||||
dbsprite -5, 3, 6, 2, $01, X_FLIP
|
||||
dbsprite -6, 4, 6, 2, $01, Y_FLIP
|
||||
dbsprite -5, 4, 6, 2, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -5, 3, 6, 2, $01, OAM_XFLIP
|
||||
dbsprite -6, 4, 6, 2, $01, OAM_YFLIP
|
||||
dbsprite -5, 4, 6, 2, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_59:
|
||||
dbsprite -2, -1, 0, 4, $00, $0
|
||||
dbsprite -1, -1, 0, 4, $01, $0
|
||||
dbsprite 0, -1, 0, 4, $01, X_FLIP
|
||||
dbsprite 1, -1, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -1, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite 1, -1, 0, 4, $00, OAM_XFLIP
|
||||
|
||||
.OAMData_5a:
|
||||
dbsprite -2, -1, 0, 4, $02, $0
|
||||
dbsprite -1, -1, 0, 4, $01, $0
|
||||
dbsprite 0, -1, 0, 4, $01, X_FLIP
|
||||
dbsprite 1, -1, 0, 4, $02, X_FLIP
|
||||
dbsprite 0, -1, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite 1, -1, 0, 4, $02, OAM_XFLIP
|
||||
|
||||
.OAMData_60:
|
||||
dbsprite -1, -1, 4, 0, $00, $0
|
||||
|
|
@ -718,62 +718,62 @@ BattleAnimOAMData:
|
|||
dbsprite 2, -2, 4, 4, $08, $0
|
||||
|
||||
.OAMData_65:
|
||||
dbsprite -4, -2, 4, 4, $08, X_FLIP
|
||||
dbsprite -3, -2, 4, 4, $07, X_FLIP
|
||||
dbsprite -4, -1, 4, 4, $06, X_FLIP
|
||||
dbsprite -3, -1, 4, 4, $05, X_FLIP
|
||||
dbsprite -2, -1, 4, 4, $04, X_FLIP
|
||||
dbsprite -1, -1, 4, 4, $03, X_FLIP
|
||||
dbsprite 0, -1, 4, 4, $02, X_FLIP
|
||||
dbsprite 1, -1, 4, 4, $01, X_FLIP
|
||||
dbsprite 2, -1, 4, 4, $00, X_FLIP
|
||||
dbsprite -4, -2, 4, 4, $08, OAM_XFLIP
|
||||
dbsprite -3, -2, 4, 4, $07, OAM_XFLIP
|
||||
dbsprite -4, -1, 4, 4, $06, OAM_XFLIP
|
||||
dbsprite -3, -1, 4, 4, $05, OAM_XFLIP
|
||||
dbsprite -2, -1, 4, 4, $04, OAM_XFLIP
|
||||
dbsprite -1, -1, 4, 4, $03, OAM_XFLIP
|
||||
dbsprite 0, -1, 4, 4, $02, OAM_XFLIP
|
||||
dbsprite 1, -1, 4, 4, $01, OAM_XFLIP
|
||||
dbsprite 2, -1, 4, 4, $00, OAM_XFLIP
|
||||
|
||||
.OAMData_d4:
|
||||
dbsprite -4, 0, 4, 0, $00, OBP_NUM
|
||||
dbsprite -3, 0, 4, 0, $01, OBP_NUM
|
||||
dbsprite -2, 0, 4, 0, $02, OBP_NUM
|
||||
dbsprite -1, 0, 4, 0, $03, OBP_NUM
|
||||
dbsprite 0, 0, 4, 0, $04, OBP_NUM
|
||||
dbsprite 1, 0, 4, 0, $05, OBP_NUM
|
||||
dbsprite 2, 0, 4, 0, $06, OBP_NUM
|
||||
dbsprite -4, 0, 4, 0, $00, OAM_PAL1
|
||||
dbsprite -3, 0, 4, 0, $01, OAM_PAL1
|
||||
dbsprite -2, 0, 4, 0, $02, OAM_PAL1
|
||||
dbsprite -1, 0, 4, 0, $03, OAM_PAL1
|
||||
dbsprite 0, 0, 4, 0, $04, OAM_PAL1
|
||||
dbsprite 1, 0, 4, 0, $05, OAM_PAL1
|
||||
dbsprite 2, 0, 4, 0, $06, OAM_PAL1
|
||||
|
||||
.OAMData_d6:
|
||||
dbsprite -4, -1, 4, 0, $00, OBP_NUM
|
||||
dbsprite -4, 0, 4, 0, $01, OBP_NUM
|
||||
dbsprite -3, -1, 4, 0, $02, OBP_NUM
|
||||
dbsprite -3, 0, 4, 0, $03, OBP_NUM
|
||||
dbsprite -2, -1, 4, 0, $04, OBP_NUM
|
||||
dbsprite -2, 0, 4, 0, $05, OBP_NUM
|
||||
dbsprite -1, -1, 4, 0, $06, OBP_NUM
|
||||
dbsprite -1, 0, 4, 0, $07, OBP_NUM
|
||||
dbsprite 0, -1, 4, 0, $08, OBP_NUM
|
||||
dbsprite 0, 0, 4, 0, $09, OBP_NUM
|
||||
dbsprite 1, -1, 4, 0, $0a, OBP_NUM
|
||||
dbsprite 1, 0, 4, 0, $0b, OBP_NUM
|
||||
dbsprite 2, -1, 4, 0, $0c, OBP_NUM
|
||||
dbsprite 2, 0, 4, 0, $0d, OBP_NUM
|
||||
dbsprite -4, -1, 4, 0, $00, OAM_PAL1
|
||||
dbsprite -4, 0, 4, 0, $01, OAM_PAL1
|
||||
dbsprite -3, -1, 4, 0, $02, OAM_PAL1
|
||||
dbsprite -3, 0, 4, 0, $03, OAM_PAL1
|
||||
dbsprite -2, -1, 4, 0, $04, OAM_PAL1
|
||||
dbsprite -2, 0, 4, 0, $05, OAM_PAL1
|
||||
dbsprite -1, -1, 4, 0, $06, OAM_PAL1
|
||||
dbsprite -1, 0, 4, 0, $07, OAM_PAL1
|
||||
dbsprite 0, -1, 4, 0, $08, OAM_PAL1
|
||||
dbsprite 0, 0, 4, 0, $09, OAM_PAL1
|
||||
dbsprite 1, -1, 4, 0, $0a, OAM_PAL1
|
||||
dbsprite 1, 0, 4, 0, $0b, OAM_PAL1
|
||||
dbsprite 2, -1, 4, 0, $0c, OAM_PAL1
|
||||
dbsprite 2, 0, 4, 0, $0d, OAM_PAL1
|
||||
|
||||
.OAMData_d5:
|
||||
dbsprite -3, 0, 0, 0, $00, $1 | OBP_NUM
|
||||
dbsprite -2, 0, 0, 0, $01, $1 | OBP_NUM
|
||||
dbsprite -1, 0, 0, 0, $02, $1 | OBP_NUM
|
||||
dbsprite 0, 0, 0, 0, $03, $1 | OBP_NUM
|
||||
dbsprite 1, 0, 0, 0, $04, $1 | OBP_NUM
|
||||
dbsprite 2, 0, 0, 0, $05, $1 | OBP_NUM
|
||||
dbsprite -3, 0, 0, 0, $00, $1 | OAM_PAL1
|
||||
dbsprite -2, 0, 0, 0, $01, $1 | OAM_PAL1
|
||||
dbsprite -1, 0, 0, 0, $02, $1 | OAM_PAL1
|
||||
dbsprite 0, 0, 0, 0, $03, $1 | OAM_PAL1
|
||||
dbsprite 1, 0, 0, 0, $04, $1 | OAM_PAL1
|
||||
dbsprite 2, 0, 0, 0, $05, $1 | OAM_PAL1
|
||||
|
||||
.OAMData_d7:
|
||||
dbsprite -3, 0, 0, 0, $00, $1 | OBP_NUM
|
||||
dbsprite -3, 1, 0, 0, $01, $1 | OBP_NUM
|
||||
dbsprite -2, 0, 0, 0, $02, $1 | OBP_NUM
|
||||
dbsprite -2, 1, 0, 0, $03, $1 | OBP_NUM
|
||||
dbsprite -1, 0, 0, 0, $04, $1 | OBP_NUM
|
||||
dbsprite -1, 1, 0, 0, $05, $1 | OBP_NUM
|
||||
dbsprite 0, 0, 0, 0, $06, $1 | OBP_NUM
|
||||
dbsprite 0, 1, 0, 0, $07, $1 | OBP_NUM
|
||||
dbsprite 1, 0, 0, 0, $08, $1 | OBP_NUM
|
||||
dbsprite 1, 1, 0, 0, $09, $1 | OBP_NUM
|
||||
dbsprite 2, 0, 0, 0, $0a, $1 | OBP_NUM
|
||||
dbsprite 2, 1, 0, 0, $0b, $1 | OBP_NUM
|
||||
dbsprite -3, 0, 0, 0, $00, $1 | OAM_PAL1
|
||||
dbsprite -3, 1, 0, 0, $01, $1 | OAM_PAL1
|
||||
dbsprite -2, 0, 0, 0, $02, $1 | OAM_PAL1
|
||||
dbsprite -2, 1, 0, 0, $03, $1 | OAM_PAL1
|
||||
dbsprite -1, 0, 0, 0, $04, $1 | OAM_PAL1
|
||||
dbsprite -1, 1, 0, 0, $05, $1 | OAM_PAL1
|
||||
dbsprite 0, 0, 0, 0, $06, $1 | OAM_PAL1
|
||||
dbsprite 0, 1, 0, 0, $07, $1 | OAM_PAL1
|
||||
dbsprite 1, 0, 0, 0, $08, $1 | OAM_PAL1
|
||||
dbsprite 1, 1, 0, 0, $09, $1 | OAM_PAL1
|
||||
dbsprite 2, 0, 0, 0, $0a, $1 | OAM_PAL1
|
||||
dbsprite 2, 1, 0, 0, $0b, $1 | OAM_PAL1
|
||||
|
||||
.OAMData_6e:
|
||||
dbsprite 0, -2, 4, 4, $00, $0
|
||||
|
|
@ -788,94 +788,94 @@ BattleAnimOAMData:
|
|||
dbsprite 0, -1, 4, 4, $02, $0
|
||||
|
||||
.OAMData_77:
|
||||
dbsprite 1, -4, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, -4, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_78:
|
||||
dbsprite 1, -4, 4, 4, $00, $0
|
||||
dbsprite 0, -4, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, -3, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -4, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, -3, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_79:
|
||||
dbsprite 1, -4, 4, 4, $01, $0
|
||||
dbsprite 0, -4, 4, 4, $00, $0
|
||||
dbsprite -1, -4, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -1, -4, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, -3, 4, 4, $00, $0
|
||||
dbsprite 0, -3, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, -2, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -3, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, -2, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_7a:
|
||||
dbsprite -2, -4, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -2, -4, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, -4, 4, 4, $00, $0
|
||||
dbsprite 0, -4, 4, 4, $01, $0
|
||||
dbsprite -1, -3, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -1, -3, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, -3, 4, 4, $00, $0
|
||||
dbsprite 1, -3, 4, 4, $01, $0
|
||||
dbsprite 0, -2, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -2, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, -2, 4, 4, $00, $0
|
||||
dbsprite 1, -1, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, -1, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_7b:
|
||||
dbsprite -3, -4, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -3, -4, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -2, -4, 4, 4, $00, $0
|
||||
dbsprite -1, -4, 4, 4, $01, $0
|
||||
dbsprite -2, -3, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -2, -3, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, -3, 4, 4, $00, $0
|
||||
dbsprite 0, -3, 4, 4, $01, $0
|
||||
dbsprite -1, -2, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -1, -2, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, -2, 4, 4, $00, $0
|
||||
dbsprite 1, -2, 4, 4, $01, $0
|
||||
dbsprite 0, -1, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -1, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, -1, 4, 4, $00, $0
|
||||
dbsprite 1, 0, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 0, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_7c:
|
||||
dbsprite -3, -4, 4, 4, $00, $0
|
||||
dbsprite -2, -4, 4, 4, $01, $0
|
||||
dbsprite -3, -3, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -3, -3, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -2, -3, 4, 4, $00, $0
|
||||
dbsprite -1, -3, 4, 4, $01, $0
|
||||
dbsprite -2, -2, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -2, -2, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, -2, 4, 4, $00, $0
|
||||
dbsprite 0, -2, 4, 4, $01, $0
|
||||
dbsprite -1, -1, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -1, -1, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, -1, 4, 4, $00, $0
|
||||
dbsprite 1, -1, 4, 4, $01, $0
|
||||
dbsprite 0, 0, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 0, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 0, 4, 4, $00, $0
|
||||
dbsprite 1, 1, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_7d:
|
||||
dbsprite -3, -4, 4, 4, $01, $0
|
||||
dbsprite -3, -3, 4, 4, $00, $0
|
||||
dbsprite -2, -3, 4, 4, $01, $0
|
||||
dbsprite -3, -2, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -3, -2, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -2, -2, 4, 4, $00, $0
|
||||
dbsprite -1, -2, 4, 4, $01, $0
|
||||
dbsprite -2, -1, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -2, -1, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, -1, 4, 4, $00, $0
|
||||
dbsprite 0, -1, 4, 4, $01, $0
|
||||
dbsprite -1, 0, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 0, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 0, 4, 4, $00, $0
|
||||
dbsprite 1, 0, 4, 4, $01, $0
|
||||
dbsprite 0, 1, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 1, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 4, 4, $00, $0
|
||||
dbsprite 1, 2, 4, 4, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 2, 4, 4, $01, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_70:
|
||||
dbsprite -1, -2, 0, 0, $00, $0
|
||||
dbsprite -1, -1, 0, 0, $01, $0
|
||||
dbsprite 0, -2, 0, 0, $00, X_FLIP
|
||||
dbsprite 0, -1, 0, 0, $01, X_FLIP
|
||||
dbsprite -1, 0, 0, 0, $01, Y_FLIP
|
||||
dbsprite -1, 1, 0, 0, $00, Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 1, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -2, 0, 0, $00, OAM_XFLIP
|
||||
dbsprite 0, -1, 0, 0, $01, OAM_XFLIP
|
||||
dbsprite -1, 0, 0, 0, $01, OAM_YFLIP
|
||||
dbsprite -1, 1, 0, 0, $00, OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 1, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_81:
|
||||
dbsprite -1, -1, 0, 0, $00, $0
|
||||
dbsprite 0, -1, 0, 0, $01, $0
|
||||
dbsprite -1, 0, 0, 0, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 0, 0, 0, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_87:
|
||||
dbsprite -1, -2, 0, 4, $00, $0
|
||||
|
|
@ -923,8 +923,8 @@ BattleAnimOAMData:
|
|||
dbsprite -1, -3, 4, 4, $00, $0
|
||||
dbsprite -1, -2, 4, 4, $01, $0
|
||||
dbsprite -1, -1, 4, 4, $02, $0
|
||||
dbsprite -1, 0, 4, 4, $01, Y_FLIP
|
||||
dbsprite -1, 1, 4, 4, $00, Y_FLIP
|
||||
dbsprite -1, 0, 4, 4, $01, OAM_YFLIP
|
||||
dbsprite -1, 1, 4, 4, $00, OAM_YFLIP
|
||||
|
||||
.OAMData_8f:
|
||||
dbsprite -2, -1, 0, 4, $00, $0
|
||||
|
|
@ -988,9 +988,9 @@ BattleAnimOAMData:
|
|||
dbsprite -1, 0, 0, 4, $02, $0
|
||||
dbsprite 0, 0, 0, 4, $03, $0
|
||||
dbsprite -1, -1, 0, 4, $01, $0
|
||||
dbsprite 0, -1, 0, 4, $01, X_FLIP
|
||||
dbsprite 0, -1, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite -1, -2, 0, 4, $00, $0
|
||||
dbsprite 0, -2, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -2, 0, 4, $00, OAM_XFLIP
|
||||
|
||||
.OAMData_9f:
|
||||
dbsprite -2, -1, 0, 0, $00, $0
|
||||
|
|
@ -1018,49 +1018,49 @@ BattleAnimOAMData:
|
|||
dbsprite -2, -1, 4, 4, $03, $0
|
||||
dbsprite -1, -1, 4, 4, $04, $0
|
||||
dbsprite 0, -1, 4, 4, $05, $0
|
||||
dbsprite -2, 0, 4, 4, $00, Y_FLIP
|
||||
dbsprite -1, 0, 4, 4, $01, Y_FLIP
|
||||
dbsprite 0, 0, 4, 4, $02, Y_FLIP
|
||||
dbsprite -2, 0, 4, 4, $00, OAM_YFLIP
|
||||
dbsprite -1, 0, 4, 4, $01, OAM_YFLIP
|
||||
dbsprite 0, 0, 4, 4, $02, OAM_YFLIP
|
||||
|
||||
.OAMData_ac:
|
||||
dbsprite -2, -1, 0, 4, $00, $0
|
||||
dbsprite -1, -1, 0, 4, $01, $0
|
||||
dbsprite 0, -1, 0, 4, $01, X_FLIP
|
||||
dbsprite 1, -1, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -1, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite 1, -1, 0, 4, $00, OAM_XFLIP
|
||||
|
||||
.OAMData_bc:
|
||||
dbsprite -3, -1, 0, 4, $00, $0
|
||||
dbsprite -2, -1, 0, 4, $01, $0
|
||||
dbsprite -1, -1, 0, 4, $02, $0
|
||||
dbsprite 0, -1, 0, 4, $02, X_FLIP
|
||||
dbsprite 1, -1, 0, 4, $01, X_FLIP
|
||||
dbsprite 2, -1, 0, 4, $00, X_FLIP
|
||||
dbsprite 0, -1, 0, 4, $02, OAM_XFLIP
|
||||
dbsprite 1, -1, 0, 4, $01, OAM_XFLIP
|
||||
dbsprite 2, -1, 0, 4, $00, OAM_XFLIP
|
||||
|
||||
.OAMData_c1:
|
||||
dbsprite -2, -2, 0, 0, $00, $0
|
||||
dbsprite -1, -2, 0, 0, $01, $0
|
||||
dbsprite 0, -2, 0, 0, $02, $0
|
||||
dbsprite 1, -2, 0, 0, $00, X_FLIP
|
||||
dbsprite 1, -2, 0, 0, $00, OAM_XFLIP
|
||||
dbsprite -2, -1, 0, 0, $03, $0
|
||||
dbsprite -1, -1, 0, 0, $04, $0
|
||||
dbsprite 0, -1, 0, 0, $04, X_FLIP
|
||||
dbsprite 0, -1, 0, 0, $04, OAM_XFLIP
|
||||
dbsprite 1, -1, 0, 0, $05, $0
|
||||
dbsprite -2, 0, 0, 0, $05, X_FLIP | Y_FLIP
|
||||
dbsprite -1, 0, 0, 0, $04, Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $04, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 0, 0, 0, $03, X_FLIP | Y_FLIP
|
||||
dbsprite -2, 1, 0, 0, $00, Y_FLIP
|
||||
dbsprite -1, 1, 0, 0, $02, X_FLIP | Y_FLIP
|
||||
dbsprite 0, 1, 0, 0, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite -2, 0, 0, 0, $05, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, 0, 0, 0, $04, OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $04, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 0, 0, 0, $03, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -2, 1, 0, 0, $00, OAM_YFLIP
|
||||
dbsprite -1, 1, 0, 0, $02, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 1, 0, 0, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_c2:
|
||||
dbsprite -2, -1, 0, 0, $00, $0
|
||||
dbsprite -1, -1, 0, 0, $01, $0
|
||||
dbsprite 0, -1, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -1, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, 0, 0, 0, $00, $0
|
||||
dbsprite 0, 0, 0, 0, $01, $0
|
||||
dbsprite 1, 0, 0, 0, $00, X_FLIP | Y_FLIP
|
||||
dbsprite 1, 0, 0, 0, $00, OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_c8:
|
||||
dbsprite 1, -1, 4, 0, $00, $0
|
||||
|
|
@ -1072,9 +1072,9 @@ BattleAnimOAMData:
|
|||
|
||||
.OAMData_ca:
|
||||
dbsprite -1, -1, 0, 0, $00, $0
|
||||
dbsprite 0, -1, 0, 0, $01, X_FLIP | Y_FLIP
|
||||
dbsprite 0, -1, 0, 0, $01, OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite -1, 0, 0, 0, $01, $0
|
||||
dbsprite 0, 0, 0, 0, $01, X_FLIP
|
||||
dbsprite 0, 0, 0, 0, $01, OAM_XFLIP
|
||||
|
||||
.OAMData_cc:
|
||||
dbsprite -13, -2, 4, 0, $00, $0
|
||||
|
|
|
|||
|
|
@ -60,7 +60,7 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_ICE_BEAM
|
||||
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_ICE_BEAM, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ICE
|
||||
; BATTLE_ANIM_OBJ_RAZOR_LEAF
|
||||
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1, BATTLE_ANIM_FUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_PLANT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $78, BATTLE_ANIM_FRAMESET_RAZOR_LEAF_1, BATTLE_ANIM_FUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_PLANT
|
||||
; BATTLE_ANIM_OBJ_POKE_BALL
|
||||
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_POKE_BALL_1, BATTLE_ANIM_FUNC_POKEBALL, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_POKE_BALL
|
||||
; BATTLE_ANIM_OBJ_POKE_BALL_BLOCKED
|
||||
|
|
@ -92,15 +92,15 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_SING
|
||||
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1, BATTLE_ANIM_FUNC_SING, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
|
||||
; BATTLE_ANIM_OBJ_WATER_GUN
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLE_ANIM_FRAMESET_WATER_GUN_1, BATTLE_ANIM_FUNC_WATER_GUN, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_WATER
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $80, BATTLE_ANIM_FRAMESET_WATER_GUN_1, BATTLE_ANIM_FUNC_WATER_GUN, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_WATER
|
||||
; BATTLE_ANIM_OBJ_HYDRO_PUMP
|
||||
battleanimobj RELATIVE_X, $b4, BATTLE_ANIM_FRAMESET_HYDRO_PUMP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_WATER
|
||||
; BATTLE_ANIM_OBJ_POWDER
|
||||
battleanimobj RELATIVE_X, $40, BATTLE_ANIM_FRAMESET_POWDER, BATTLE_ANIM_FUNC_POWDER, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_POWDER
|
||||
; BATTLE_ANIM_OBJ_BEAM
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLE_ANIM_FRAMESET_BEAM, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $98, BATTLE_ANIM_FRAMESET_BEAM, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
|
||||
; BATTLE_ANIM_OBJ_BEAM_TIP
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLE_ANIM_FRAMESET_BEAM_TIP, BATTLE_ANIM_FUNC_SHAKE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $98, BATTLE_ANIM_FRAMESET_BEAM_TIP, BATTLE_ANIM_FUNC_SHAKE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
|
||||
; BATTLE_ANIM_OBJ_ICE_BUILDUP
|
||||
battleanimobj RELATIVE_X, $b8, BATTLE_ANIM_FRAMESET_ICE_BUILDUP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ICE
|
||||
; BATTLE_ANIM_OBJ_FROZEN
|
||||
|
|
@ -110,81 +110,81 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_RECOVER
|
||||
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_SMALL_BUBBLE, BATTLE_ANIM_FUNC_RECOVER, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BUBBLE
|
||||
; BATTLE_ANIM_OBJ_THUNDER_CENTER
|
||||
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_THUNDER_CENTER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $b0, BATTLE_ANIM_FRAMESET_THUNDER_CENTER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
; BATTLE_ANIM_OBJ_THUNDER_LEFT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_THUNDER_LEFT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $b0, BATTLE_ANIM_FRAMESET_THUNDER_LEFT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
; BATTLE_ANIM_OBJ_THUNDER_RIGHT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_THUNDER_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $b0, BATTLE_ANIM_FRAMESET_THUNDER_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
; BATTLE_ANIM_OBJ_THUNDER_WAVE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE, BATTLE_ANIM_FUNC_THUNDER_WAVE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE, BATTLE_ANIM_FUNC_THUNDER_WAVE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
; BATTLE_ANIM_OBJ_THUNDERBOLT_SPARKS
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERBOLT_SPARKS, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERBOLT_SPARKS, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
; BATTLE_ANIM_OBJ_THUNDERBOLT_CORE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERBOLT_CORE, BATTLE_ANIM_FUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EXPLOSION
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERBOLT_CORE, BATTLE_ANIM_FUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EXPLOSION
|
||||
; BATTLE_ANIM_OBJ_THUNDERSHOCK_SPARKS
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERSHOCK_SPARKS, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERSHOCK_SPARKS, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
; BATTLE_ANIM_OBJ_THUNDERSHOCK_CORE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERSHOCK_CORE, BATTLE_ANIM_FUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EXPLOSION
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_THUNDERSHOCK_CORE, BATTLE_ANIM_FUNC_MOVE_IN_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EXPLOSION
|
||||
; BATTLE_ANIM_OBJ_CLAMP
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_CLAMP, BATTLE_ANIM_FUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_CLAMP, BATTLE_ANIM_FUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
; BATTLE_ANIM_OBJ_BITE
|
||||
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_BITE_1, BATTLE_ANIM_FUNC_BITE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
; BATTLE_ANIM_OBJ_CUT_DOWN_LEFT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_DOWN_LEFT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_DOWN_LEFT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
; BATTLE_ANIM_OBJ_CUT_DOWN_RIGHT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_DOWN_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_DOWN_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
; BATTLE_ANIM_OBJ_CUT_UP_RIGHT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_UP_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_UP_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
; BATTLE_ANIM_OBJ_CUT_LONG_DOWN_LEFT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_LEFT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_LEFT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
; BATTLE_ANIM_OBJ_CUT_LONG_DOWN_RIGHT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_CUT_LONG_DOWN_RIGHT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
; BATTLE_ANIM_OBJ_SOLAR_BEAM_CHARGE
|
||||
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_CHARGE_ORB_1, BATTLE_ANIM_FUNC_SOLAR_BEAM, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_CHARGE
|
||||
; BATTLE_ANIM_OBJ_ABSORB_CENTER
|
||||
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_ABSORB_CENTER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_CHARGE
|
||||
; BATTLE_ANIM_OBJ_GUST
|
||||
battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLE_ANIM_FRAMESET_GUST, BATTLE_ANIM_FUNC_GUST, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WIND
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $b8, BATTLE_ANIM_FRAMESET_GUST, BATTLE_ANIM_FUNC_GUST, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WIND
|
||||
; BATTLE_ANIM_OBJ_VINE_WHIP1
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_VINE_WHIP_1, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_VINE_WHIP_1, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
; BATTLE_ANIM_OBJ_VINE_WHIP2
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_VINE_WHIP_2, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_VINE_WHIP_2, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
; BATTLE_ANIM_OBJ_RAZOR_WIND1
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_RAZOR_WIND_1, BATTLE_ANIM_FUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_RAZOR_WIND_1, BATTLE_ANIM_FUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
; BATTLE_ANIM_OBJ_RAZOR_WIND2
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_RAZOR_WIND_2, BATTLE_ANIM_FUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_RAZOR_WIND_2, BATTLE_ANIM_FUNC_RAZOR_WIND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
; BATTLE_ANIM_OBJ_SONICBOOM_JP
|
||||
battleanimobj RELATIVE_X | X_FLIP, $98, BATTLE_ANIM_FRAMESET_SONICBOOM_JP, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $98, BATTLE_ANIM_FRAMESET_SONICBOOM_JP, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
; BATTLE_ANIM_OBJ_WARP
|
||||
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_WARP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $80, BATTLE_ANIM_FRAMESET_WARP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
|
||||
; BATTLE_ANIM_OBJ_ABSORB
|
||||
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_CHARGE_ORB_2, BATTLE_ANIM_FUNC_ABSORB, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_CHARGE
|
||||
; BATTLE_ANIM_OBJ_EGG
|
||||
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_EGG, BATTLE_ANIM_FUNC_EGG, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $b0, BATTLE_ANIM_FRAMESET_EGG, BATTLE_ANIM_FUNC_EGG, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
|
||||
; BATTLE_ANIM_OBJ_FOCUS
|
||||
battleanimobj RELATIVE_X, $b0, BATTLE_ANIM_FRAMESET_FOCUS, BATTLE_ANIM_FUNC_MOVE_UP, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
|
||||
; BATTLE_ANIM_OBJ_BIND1
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_BIND_1, BATTLE_ANIM_FUNC_WRAP, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_ROPE
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_BIND_1, BATTLE_ANIM_FUNC_WRAP, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_ROPE
|
||||
; BATTLE_ANIM_OBJ_BIND2
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_BIND_3, BATTLE_ANIM_FUNC_WRAP, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_ROPE
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_BIND_3, BATTLE_ANIM_FUNC_WRAP, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_ROPE
|
||||
; BATTLE_ANIM_OBJ_LEECH_SEED
|
||||
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLE_ANIM_FRAMESET_LEECH_SEED_1, BATTLE_ANIM_FUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_PLANT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $68, BATTLE_ANIM_FRAMESET_LEECH_SEED_1, BATTLE_ANIM_FUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_PLANT
|
||||
; BATTLE_ANIM_OBJ_SOUND
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SOUND_1, BATTLE_ANIM_FUNC_SOUND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_SOUND_1, BATTLE_ANIM_FUNC_SOUND, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
|
||||
; BATTLE_ANIM_OBJ_WAVE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_WAVE, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_PSYCHIC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_WAVE, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_PSYCHIC
|
||||
; BATTLE_ANIM_OBJ_CONFUSE_RAY
|
||||
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_CONFUSE_RAY_1, BATTLE_ANIM_FUNC_CONFUSE_RAY, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
|
||||
; BATTLE_ANIM_OBJ_LEER
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLE_ANIM_FRAMESET_LEER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $88, BATTLE_ANIM_FRAMESET_LEER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
|
||||
; BATTLE_ANIM_OBJ_LEER_TIP
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLE_ANIM_FRAMESET_BEAM_TIP, BATTLE_ANIM_FUNC_SHAKE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $88, BATTLE_ANIM_FRAMESET_BEAM_TIP, BATTLE_ANIM_FUNC_SHAKE, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_BEAM
|
||||
; BATTLE_ANIM_OBJ_SCREEN
|
||||
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLE_ANIM_FRAMESET_REFLECT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_REFLECT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $88, BATTLE_ANIM_FRAMESET_REFLECT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_REFLECT
|
||||
; BATTLE_ANIM_OBJ_HARDEN
|
||||
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_REFLECT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_REFLECT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $80, BATTLE_ANIM_FRAMESET_REFLECT, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_REFLECT
|
||||
; BATTLE_ANIM_OBJ_CHICK
|
||||
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLE_ANIM_FRAMESET_CHICK_1, BATTLE_ANIM_FUNC_DIZZY, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_STATUS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $50, BATTLE_ANIM_FRAMESET_CHICK_1, BATTLE_ANIM_FUNC_DIZZY, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_STATUS
|
||||
; BATTLE_ANIM_OBJ_AMNESIA
|
||||
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_AMNESIA_1, BATTLE_ANIM_FUNC_AMNESIA, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_STATUS
|
||||
; BATTLE_ANIM_OBJ_ASLEEP
|
||||
|
|
@ -192,27 +192,27 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_SKULL_CROSSBONE
|
||||
battleanimobj RELATIVE_X, $50, BATTLE_ANIM_FRAMESET_SKULL_CROSSBONE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_POISON
|
||||
; BATTLE_ANIM_OBJ_DIG_SAND
|
||||
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLE_ANIM_FRAMESET_DIG_SAND, BATTLE_ANIM_FUNC_DIG, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_SAND
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $a8, BATTLE_ANIM_FRAMESET_DIG_SAND, BATTLE_ANIM_FUNC_DIG, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_SAND
|
||||
; BATTLE_ANIM_OBJ_DIG_PILE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLE_ANIM_FRAMESET_DIG_PILE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_SAND
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $a8, BATTLE_ANIM_FRAMESET_DIG_PILE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_SAND
|
||||
; BATTLE_ANIM_OBJ_SAND
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SAND, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SAND
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_SAND, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SAND
|
||||
; BATTLE_ANIM_OBJ_PARALYZED
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_PARALYZED, BATTLE_ANIM_FUNC_PARALYZED, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_STATUS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_PARALYZED, BATTLE_ANIM_FUNC_PARALYZED, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_STATUS
|
||||
; BATTLE_ANIM_OBJ_STRING_SHOT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_STRING_SHOT_1, BATTLE_ANIM_FUNC_STRING, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WEB
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_STRING_SHOT_1, BATTLE_ANIM_FUNC_STRING, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WEB
|
||||
; BATTLE_ANIM_OBJ_HAZE
|
||||
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
|
||||
; BATTLE_ANIM_OBJ_MIST
|
||||
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLE_ANIM_FRAMESET_MIST, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $48, BATTLE_ANIM_FRAMESET_MIST, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
|
||||
; BATTLE_ANIM_OBJ_SMOG
|
||||
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $48, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
|
||||
; BATTLE_ANIM_OBJ_POISON_GAS
|
||||
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $78, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
|
||||
; BATTLE_ANIM_OBJ_HORN
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLE_ANIM_FRAMESET_HORN, BATTLE_ANIM_FUNC_HORN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HORN
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $90, BATTLE_ANIM_FRAMESET_HORN, BATTLE_ANIM_FUNC_HORN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HORN
|
||||
; BATTLE_ANIM_OBJ_NEEDLE
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLE_ANIM_FRAMESET_NEEDLE, BATTLE_ANIM_FUNC_NEEDLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HORN
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $90, BATTLE_ANIM_FRAMESET_NEEDLE, BATTLE_ANIM_FUNC_NEEDLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HORN
|
||||
; BATTLE_ANIM_OBJ_PETAL_DANCE
|
||||
battleanimobj RELATIVE_X, $48, BATTLE_ANIM_FRAMESET_FLOWER, BATTLE_ANIM_FUNC_PETAL_DANCE, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FLOWER
|
||||
; BATTLE_ANIM_OBJ_SLUDGE_BOMB
|
||||
|
|
@ -220,7 +220,7 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_PAY_DAY
|
||||
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_PAY_DAY, BATTLE_ANIM_FUNC_THIEF_PAYDAY, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_STATUS
|
||||
; BATTLE_ANIM_OBJ_SONICBOOM_JP_UNUSED
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SONICBOOM_JP, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_SONICBOOM_JP, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
; BATTLE_ANIM_OBJ_MIMIC
|
||||
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE, BATTLE_ANIM_FUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SPEED
|
||||
; BATTLE_ANIM_OBJ_ATTRACT
|
||||
|
|
@ -234,17 +234,17 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_SWIFT
|
||||
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_STAR, BATTLE_ANIM_FUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_OBJECTS
|
||||
; BATTLE_ANIM_OBJ_KINESIS
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SPOON, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_SPOON, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_FLASH
|
||||
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_SPARKLE, BATTLE_ANIM_FUNC_SHINY, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
|
||||
; BATTLE_ANIM_OBJ_SHINY
|
||||
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_SPARKLE, BATTLE_ANIM_FUNC_SHINY, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
|
||||
; BATTLE_ANIM_OBJ_SKY_ATTACK
|
||||
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLE_ANIM_FRAMESET_SKY_ATTACK, BATTLE_ANIM_FUNC_SKY_ATTACK, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SKY_ATTACK
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $88, BATTLE_ANIM_FRAMESET_SKY_ATTACK, BATTLE_ANIM_FUNC_SKY_ATTACK, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SKY_ATTACK
|
||||
; BATTLE_ANIM_OBJ_LICK
|
||||
battleanimobj RELATIVE_X | X_FLIP, $98, BATTLE_ANIM_FRAMESET_LICK, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WATER
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $98, BATTLE_ANIM_FRAMESET_LICK, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WATER
|
||||
; BATTLE_ANIM_OBJ_WITHDRAW
|
||||
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_WITHDRAW_SHELL, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_REFLECT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $80, BATTLE_ANIM_FRAMESET_WITHDRAW_SHELL, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_REFLECT
|
||||
; BATTLE_ANIM_OBJ_DRAIN
|
||||
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_SMALL_BUBBLE, BATTLE_ANIM_FUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_BUBBLE
|
||||
; BATTLE_ANIM_OBJ_GROWTH
|
||||
|
|
@ -252,11 +252,11 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_CONVERSION2
|
||||
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_CONVERSION, BATTLE_ANIM_FUNC_ABSORB_CIRCLE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EXPLOSION
|
||||
; BATTLE_ANIM_OBJ_SMOKE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_SMOKE_FLAME_WHEEL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $a0, BATTLE_ANIM_FRAMESET_HAZE, BATTLE_ANIM_FUNC_SMOKE_FLAME_WHEEL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HAZE
|
||||
; BATTLE_ANIM_OBJ_SMOKESCREEN
|
||||
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $a0, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
|
||||
; BATTLE_ANIM_OBJ_SWORDS_DANCE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_SWORD, BATTLE_ANIM_FUNC_GROWTH_SWORDS_DANCE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $b0, BATTLE_ANIM_FRAMESET_SWORD, BATTLE_ANIM_FUNC_GROWTH_SWORDS_DANCE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WHIP
|
||||
; BATTLE_ANIM_OBJ_SPEED_LINE
|
||||
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_SPEED_LINE_1, BATTLE_ANIM_FUNC_SPEED_LINE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SPEED
|
||||
; BATTLE_ANIM_OBJ_SHARPEN
|
||||
|
|
@ -268,9 +268,9 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_METRONOME_SPARKLE
|
||||
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_CIRCLING_SPARKLE, BATTLE_ANIM_FUNC_METRONOME_SPARKLE_SKETCH, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
|
||||
; BATTLE_ANIM_OBJ_DISABLE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_THUNDER_WAVE_DISABLE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
; BATTLE_ANIM_OBJ_AGILITY
|
||||
battleanimobj RELATIVE_X | X_FLIP | PRIORITY, $88, BATTLE_ANIM_FRAMESET_AGILITY, BATTLE_ANIM_FUNC_AGILITY, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_WIND
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_PRIO, $88, BATTLE_ANIM_FRAMESET_AGILITY, BATTLE_ANIM_FUNC_AGILITY, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_WIND
|
||||
; BATTLE_ANIM_OBJ_HEART
|
||||
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_HEART, BATTLE_ANIM_FUNC_FLOAT_UP, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_OBJECTS
|
||||
; BATTLE_ANIM_OBJ_FLAME_WHEEL
|
||||
|
|
@ -278,33 +278,33 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_SACRED_FIRE
|
||||
battleanimobj RELATIVE_X, $a8, BATTLE_ANIM_FRAMESET_FLAMETHROWER, BATTLE_ANIM_FUNC_SACRED_FIRE, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FIRE
|
||||
; BATTLE_ANIM_OBJ_COTTON_SPORE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLE_ANIM_FRAMESET_COTTON, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $68, BATTLE_ANIM_FRAMESET_COTTON, BATTLE_ANIM_FUNC_SPIRAL_DESCENT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_MILK_DRINK
|
||||
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLE_ANIM_FRAMESET_MILK_BOTTLE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $b0, BATTLE_ANIM_FRAMESET_MILK_BOTTLE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_ANGER
|
||||
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_ANGER_VEIN, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $80, BATTLE_ANIM_FRAMESET_ANGER_VEIN, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_HEAL_BELL
|
||||
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLE_ANIM_FRAMESET_HEAL_BELL, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $50, BATTLE_ANIM_FRAMESET_HEAL_BELL, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_HEAL_BELL_NOTE
|
||||
battleanimobj RELATIVE_X, $40, BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1, BATTLE_ANIM_FUNC_HEAL_BELL_NOTES, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
|
||||
; BATTLE_ANIM_OBJ_BATON_PASS
|
||||
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLE_ANIM_FRAMESET_BATON_PASS, BATTLE_ANIM_FUNC_BATON_PASS, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $a8, BATTLE_ANIM_FRAMESET_BATON_PASS, BATTLE_ANIM_FUNC_BATON_PASS, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_LOCK_ON
|
||||
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLE_ANIM_FRAMESET_LOCK_ON_1, BATTLE_ANIM_FUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $88, BATTLE_ANIM_FRAMESET_LOCK_ON_1, BATTLE_ANIM_FUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_MIND_READER
|
||||
battleanimobj RELATIVE_X | X_FLIP, $88, BATTLE_ANIM_FRAMESET_MIND_READER_1, BATTLE_ANIM_FUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $88, BATTLE_ANIM_FRAMESET_MIND_READER_1, BATTLE_ANIM_FUNC_LOCK_ON_MIND_READER, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_SAFEGUARD
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SAFEGUARD, BATTLE_ANIM_FUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_SAFEGUARD, BATTLE_ANIM_FUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_PROTECT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_STAR, BATTLE_ANIM_FUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_OBJECTS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_STAR, BATTLE_ANIM_FUNC_SAFEGUARD_PROTECT, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_OBJECTS
|
||||
; BATTLE_ANIM_OBJ_THIEF
|
||||
battleanimobj RELATIVE_X, $ff, BATTLE_ANIM_FRAMESET_ITEM_BAG, BATTLE_ANIM_FUNC_THIEF_PAYDAY, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_STATUS
|
||||
; BATTLE_ANIM_OBJ_OCTAZOOKA
|
||||
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $a0, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_EGG
|
||||
; BATTLE_ANIM_OBJ_PRESENT
|
||||
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_ITEM_BAG, BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_STATUS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $a0, BATTLE_ANIM_FRAMESET_ITEM_BAG, BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_STATUS
|
||||
; BATTLE_ANIM_OBJ_SPIKES
|
||||
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLE_ANIM_FRAMESET_SPIKE, BATTLE_ANIM_FUNC_SPIKES, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $70, BATTLE_ANIM_FRAMESET_SPIKE, BATTLE_ANIM_FUNC_SPIKES, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_MISC
|
||||
; BATTLE_ANIM_OBJ_POWDER_SNOW
|
||||
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_POWDER_SNOW, BATTLE_ANIM_FUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ICE
|
||||
; BATTLE_ANIM_OBJ_DRAGONBREATH
|
||||
|
|
@ -314,25 +314,25 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_SPIDER_WEB
|
||||
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_SPIDER_WEB, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WEB
|
||||
; BATTLE_ANIM_OBJ_CAKE_UNUSED
|
||||
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLE_ANIM_FRAMESET_UNUSED_CAKE, BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_OBJECTS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $a0, BATTLE_ANIM_FRAMESET_UNUSED_CAKE, BATTLE_ANIM_FUNC_PRESENT_SMOKESCREEN, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_OBJECTS
|
||||
; BATTLE_ANIM_OBJ_NIGHTMARE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_IMP, BATTLE_ANIM_FUNC_DIZZY, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $80, BATTLE_ANIM_FRAMESET_IMP, BATTLE_ANIM_FUNC_DIZZY, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
; BATTLE_ANIM_OBJ_IN_NIGHTMARE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_IMP_FLIPPED, BATTLE_ANIM_FUNC_FLOAT_UP, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $80, BATTLE_ANIM_FRAMESET_IMP_FLIPPED, BATTLE_ANIM_FUNC_FLOAT_UP, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
; BATTLE_ANIM_OBJ_LOVELY_KISS
|
||||
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_IMP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $80, BATTLE_ANIM_FRAMESET_IMP, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
; BATTLE_ANIM_OBJ_SWEET_KISS
|
||||
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_CHERUB, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ANGELS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $80, BATTLE_ANIM_FRAMESET_CHERUB, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_ANGELS
|
||||
; BATTLE_ANIM_OBJ_SKETCH
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLE_ANIM_FRAMESET_PENCIL, BATTLE_ANIM_FUNC_METRONOME_SPARKLE_SKETCH, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_OBJECTS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $80, BATTLE_ANIM_FRAMESET_PENCIL, BATTLE_ANIM_FUNC_METRONOME_SPARKLE_SKETCH, PAL_BATTLE_OB_GREEN, BATTLE_ANIM_GFX_OBJECTS
|
||||
; BATTLE_ANIM_OBJ_ENCORE_HAND
|
||||
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLE_ANIM_FRAMESET_ENCORE_HAND, BATTLE_ANIM_FUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_OBJECTS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $80, BATTLE_ANIM_FRAMESET_ENCORE_HAND, BATTLE_ANIM_FUNC_CLAMP_ENCORE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_OBJECTS
|
||||
; BATTLE_ANIM_OBJ_ENCORE_STAR
|
||||
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLE_ANIM_FRAMESET_STAR, BATTLE_ANIM_FUNC_ENCORE_BELLY_DRUM, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_OBJECTS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $70, BATTLE_ANIM_FRAMESET_STAR, BATTLE_ANIM_FUNC_ENCORE_BELLY_DRUM, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_OBJECTS
|
||||
; BATTLE_ANIM_OBJ_DESTINY_BOND
|
||||
battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLE_ANIM_FRAMESET_DESTINY_BOND, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $c0, BATTLE_ANIM_FRAMESET_DESTINY_BOND, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
; BATTLE_ANIM_OBJ_MORNING_SUN
|
||||
battleanimobj RELATIVE_X | X_FLIP, $40, BATTLE_ANIM_FRAMESET_MORNING_SUN, BATTLE_ANIM_FUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SHINE
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $40, BATTLE_ANIM_FRAMESET_MORNING_SUN, BATTLE_ANIM_FUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SHINE
|
||||
; BATTLE_ANIM_OBJ_GLIMMER
|
||||
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_GLIMMER, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SHINE
|
||||
; BATTLE_ANIM_OBJ_MOONLIGHT
|
||||
|
|
@ -340,25 +340,25 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_HIDDEN_POWER
|
||||
battleanimobj RELATIVE_X, $88, BATTLE_ANIM_FRAMESET_CHARGE_ORB_1, BATTLE_ANIM_FUNC_HIDDEN_POWER, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_CHARGE
|
||||
; BATTLE_ANIM_OBJ_CROSS_CHOP1
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CROSS_CHOP_1, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_CROSS_CHOP_1, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
; BATTLE_ANIM_OBJ_CROSS_CHOP2
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_CROSS_CHOP_2, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_CROSS_CHOP_2, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_CUT
|
||||
; BATTLE_ANIM_OBJ_SANDSTORM
|
||||
battleanimobj RELATIVE_X | X_FLIP, $00, BATTLE_ANIM_FRAMESET_SANDSTORM, BATTLE_ANIM_FUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_POWDER
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $00, BATTLE_ANIM_FRAMESET_SANDSTORM, BATTLE_ANIM_FUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_POWDER
|
||||
; BATTLE_ANIM_OBJ_ZAP_CANNON
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_ZAP_CANNON, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_ZAP_CANNON, BATTLE_ANIM_FUNC_USER_TO_TARGET_DISAPPEAR, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_LIGHTNING
|
||||
; BATTLE_ANIM_OBJ_SPITE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $40, BATTLE_ANIM_FRAMESET_IMP, BATTLE_ANIM_FUNC_POWDER, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $40, BATTLE_ANIM_FRAMESET_IMP, BATTLE_ANIM_FUNC_POWDER, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_ANGELS
|
||||
; BATTLE_ANIM_OBJ_CURSE
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLE_ANIM_FRAMESET_CURSE_NAIL, BATTLE_ANIM_FUNC_CURSE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_OBJECTS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $90, BATTLE_ANIM_FRAMESET_CURSE_NAIL, BATTLE_ANIM_FUNC_CURSE, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_OBJECTS
|
||||
; BATTLE_ANIM_OBJ_PERISH_SONG
|
||||
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_MUSIC_NOTE_1, BATTLE_ANIM_FUNC_PERISH_SONG, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_NOISE
|
||||
; BATTLE_ANIM_OBJ_FORESIGHT
|
||||
battleanimobj RELATIVE_X, $80, BATTLE_ANIM_FRAMESET_FORESIGHT_SHINE, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_SHINE
|
||||
; BATTLE_ANIM_OBJ_RAPID_SPIN
|
||||
battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLE_ANIM_FRAMESET_RAPID_SPIN, BATTLE_ANIM_FUNC_RAPID_SPIN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WIND
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $b8, BATTLE_ANIM_FRAMESET_RAPID_SPIN, BATTLE_ANIM_FUNC_RAPID_SPIN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WIND
|
||||
; BATTLE_ANIM_OBJ_SWAGGER
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_SWAGGER, BATTLE_ANIM_FUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WIND
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_SWAGGER, BATTLE_ANIM_FUNC_SWAGGER_MORNING_SUN, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WIND
|
||||
; BATTLE_ANIM_OBJ_BELLY_DRUM_HAND
|
||||
battleanimobj RELATIVE_X, $a8, BATTLE_ANIM_FRAMESET_PALM, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
|
||||
; BATTLE_ANIM_OBJ_BELLY_DRUM_NOTE
|
||||
|
|
@ -368,9 +368,9 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_BETA_PURSUIT
|
||||
battleanimobj RELATIVE_X, $a8, BATTLE_ANIM_FRAMESET_UPSIDE_DOWN_PUNCH, BATTLE_ANIM_FUNC_BETA_PURSUIT, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_HIT
|
||||
; BATTLE_ANIM_OBJ_SHOOTING_SPARKLE
|
||||
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLE_ANIM_FRAMESET_GROWING_SPARKLE, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $90, BATTLE_ANIM_FRAMESET_GROWING_SPARKLE, BATTLE_ANIM_FUNC_USER_TO_TARGET, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_SPEED
|
||||
; BATTLE_ANIM_OBJ_RAIN
|
||||
battleanimobj RELATIVE_X | X_FLIP, $00, BATTLE_ANIM_FRAMESET_RAIN, BATTLE_ANIM_FUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WATER
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $00, BATTLE_ANIM_FRAMESET_RAIN, BATTLE_ANIM_FUNC_RAIN_SANDSTORM, PAL_BATTLE_OB_GRAY, BATTLE_ANIM_GFX_WATER
|
||||
; BATTLE_ANIM_OBJ_B0
|
||||
battleanimobj ABSOLUTE_X, $00, BATTLE_ANIM_FRAMESET_MIST, BATTLE_ANIM_FUNC_BATTLE_ANIM_OBJ_B0, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_HAZE
|
||||
; BATTLE_ANIM_OBJ_PSYCH_UP
|
||||
|
|
@ -378,11 +378,11 @@ BattleAnimObjects:
|
|||
; BATTLE_ANIM_OBJ_ANCIENTPOWER
|
||||
battleanimobj RELATIVE_X, $b8, BATTLE_ANIM_FRAMESET_BIG_ROCK, BATTLE_ANIM_FUNC_ANCIENT_POWER, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_ROCKS
|
||||
; BATTLE_ANIM_OBJ_AEROBLAST
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLE_ANIM_FRAMESET_AEROBLAST, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_AEROBLAST
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $98, BATTLE_ANIM_FRAMESET_AEROBLAST, BATTLE_ANIM_FUNC_NULL, PAL_BATTLE_OB_YELLOW, BATTLE_ANIM_GFX_AEROBLAST
|
||||
; BATTLE_ANIM_OBJ_SHADOW_BALL
|
||||
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_WAVE_TO_TARGET, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_EGG
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP | OAM_YFLIP, $98, BATTLE_ANIM_FRAMESET_BARRAGE_BALL, BATTLE_ANIM_FUNC_WAVE_TO_TARGET, PAL_BATTLE_OB_BLUE, BATTLE_ANIM_GFX_EGG
|
||||
; BATTLE_ANIM_OBJ_ROCK_SMASH
|
||||
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLE_ANIM_FRAMESET_BIG_ROCK, BATTLE_ANIM_FUNC_ROCK_SMASH, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_ROCKS
|
||||
battleanimobj RELATIVE_X | OAM_XFLIP, $ff, BATTLE_ANIM_FRAMESET_BIG_ROCK, BATTLE_ANIM_FUNC_ROCK_SMASH, PAL_BATTLE_OB_BROWN, BATTLE_ANIM_GFX_ROCKS
|
||||
; BATTLE_ANIM_OBJ_FLOWER
|
||||
battleanimobj RELATIVE_X, $90, BATTLE_ANIM_FRAMESET_FLOWER, BATTLE_ANIM_FUNC_USER_TO_TARGET_SPIN, PAL_BATTLE_OB_RED, BATTLE_ANIM_GFX_FLOWER
|
||||
; BATTLE_ANIM_OBJ_COTTON
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ MapGroupRoofs:
|
|||
|
||||
Roofs:
|
||||
; entries correspond to ROOF_* constants
|
||||
table_width ROOF_LENGTH * LEN_2BPP_TILE
|
||||
table_width ROOF_LENGTH * TILE_SIZE
|
||||
INCBIN "gfx/tilesets/roofs/new_bark.2bpp"
|
||||
INCBIN "gfx/tilesets/roofs/violet.2bpp"
|
||||
INCBIN "gfx/tilesets/roofs/azalea.2bpp"
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ PokemonPalettes:
|
|||
; Shiny palettes are defined directly, not generated.
|
||||
|
||||
; 2 middle palettes, front and shiny, with 2 colors each
|
||||
table_width PAL_COLOR_SIZE * 2 * 2
|
||||
table_width COLOR_SIZE * 2 * 2
|
||||
|
||||
; 000
|
||||
RGB 30, 22, 17
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ SpriteAnimFrameData:
|
|||
oamframe SPRITE_ANIM_OAMSET_RED_WALK_1, 8
|
||||
oamframe SPRITE_ANIM_OAMSET_RED_WALK_2, 8
|
||||
oamframe SPRITE_ANIM_OAMSET_RED_WALK_1, 8
|
||||
oamframe SPRITE_ANIM_OAMSET_RED_WALK_2, 8, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_RED_WALK_2, 8, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_GSIntroBubble:
|
||||
|
|
@ -96,12 +96,12 @@ SpriteAnimFrameData:
|
|||
oamrestart
|
||||
|
||||
.Frameset_GSIntroMagikarp:
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1, 1, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2, 1, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1, 1, B_OAM_XFLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2, 1, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_UnusedIntroAerodactyl:
|
||||
oamframe SPRITE_ANIM_OAMSET_UNUSED_INTRO_AERODACTYL, 7, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_UNUSED_INTRO_AERODACTYL, 7, B_OAM_XFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_GSIntroLapras:
|
||||
|
|
@ -120,7 +120,7 @@ SpriteAnimFrameData:
|
|||
oamend
|
||||
|
||||
.Frameset_GSIntroJigglypuff:
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1, 25, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1, 25, B_OAM_XFLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3, 9
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1, 25
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3, 9
|
||||
|
|
@ -166,7 +166,7 @@ SpriteAnimFrameData:
|
|||
oamdelete
|
||||
|
||||
.Frameset_GSIntroCyndaquil:
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL, 24, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL, 24, B_OAM_XFLIP
|
||||
oamdelete
|
||||
|
||||
.Frameset_GSIntroTotodile:
|
||||
|
|
@ -205,7 +205,7 @@ ENDC
|
|||
|
||||
.Frameset_GSGameFreakLogoStar:
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR, 3
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR, 3, OAM_Y_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR, 3, B_OAM_YFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_GSGameFreakLogoSparkle:
|
||||
|
|
@ -218,8 +218,8 @@ ENDC
|
|||
.Frameset_SlotsGolem:
|
||||
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7
|
||||
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7
|
||||
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, OAM_Y_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, B_OAM_YFLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_SlotsChansey:
|
||||
|
|
@ -253,7 +253,7 @@ ENDC
|
|||
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
|
||||
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
|
||||
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
|
||||
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_TradePoof:
|
||||
|
|
@ -290,7 +290,7 @@ ENDC
|
|||
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
|
||||
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8
|
||||
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8
|
||||
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_Unknown1: ; unreferenced
|
||||
|
|
@ -310,9 +310,9 @@ ENDC
|
|||
|
||||
.Frameset_Unknown4: ; unreferenced
|
||||
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1
|
||||
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_Y_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1, B_OAM_XFLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_UNUSED_49, 1, B_OAM_YFLIP
|
||||
oamrestart
|
||||
|
||||
.Frameset_Unknown5: ; unreferenced
|
||||
|
|
@ -362,15 +362,15 @@ ENDC
|
|||
oamend
|
||||
|
||||
.Frameset_EggHatch2:
|
||||
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32, B_OAM_XFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_EggHatch3:
|
||||
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_Y_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32, B_OAM_YFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_EggHatch4:
|
||||
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP, OAM_Y_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_EGG_HATCH, 32, B_OAM_XFLIP, B_OAM_YFLIP
|
||||
oamend
|
||||
|
||||
.Frameset_GSIntroHoOhLugia:
|
||||
|
|
@ -399,5 +399,5 @@ ENDC
|
|||
oamframe SPRITE_ANIM_OAMSET_TREE_1, 2
|
||||
oamframe SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2
|
||||
oamframe SPRITE_ANIM_OAMSET_TREE_1, 2
|
||||
oamframe SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP
|
||||
oamframe SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, B_OAM_XFLIP
|
||||
oamrestart
|
||||
|
|
|
|||
|
|
@ -123,37 +123,37 @@ ENDC
|
|||
.OAMData_GSGameFreakLogoStar:
|
||||
db 4
|
||||
dbsprite -1, -1, 0, 0, $00, 0
|
||||
dbsprite 0, -1, 0, 0, $00, 0 | X_FLIP
|
||||
dbsprite 0, -1, 0, 0, $00, 0 | OAM_XFLIP
|
||||
dbsprite -1, 0, 0, 0, $01, 0
|
||||
dbsprite 0, 0, 0, 0, $01, 0 | X_FLIP
|
||||
dbsprite 0, 0, 0, 0, $01, 0 | OAM_XFLIP
|
||||
|
||||
.OAMData_TradePokeBall1:
|
||||
db 4
|
||||
dbsprite -1, -1, 0, 0, $00, 0 | PRIORITY
|
||||
dbsprite 0, -1, 0, 0, $00, 0 | X_FLIP | PRIORITY
|
||||
dbsprite -1, 0, 0, 0, $01, 0 | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $01, 0 | X_FLIP | PRIORITY
|
||||
dbsprite -1, -1, 0, 0, $00, 0 | OAM_PRIO
|
||||
dbsprite 0, -1, 0, 0, $00, 0 | OAM_XFLIP | OAM_PRIO
|
||||
dbsprite -1, 0, 0, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 0, $01, 0 | OAM_XFLIP | OAM_PRIO
|
||||
|
||||
.OAMData_GSIntroSmallFireball:
|
||||
db 4
|
||||
dbsprite -1, -1, 0, 0, $00, 0
|
||||
dbsprite 0, -1, 0, 0, $00, 0 | X_FLIP
|
||||
dbsprite -1, 0, 0, 0, $00, 0 | Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, -1, 0, 0, $00, 0 | OAM_XFLIP
|
||||
dbsprite -1, 0, 0, 0, $00, 0 | OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_TradeTubeBulge:
|
||||
db 4
|
||||
dbsprite -1, -1, 0, 0, $00, 7
|
||||
dbsprite 0, -1, 0, 0, $00, 7 | X_FLIP
|
||||
dbsprite -1, 0, 0, 0, $00, 7 | Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $00, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, -1, 0, 0, $00, 7 | OAM_XFLIP
|
||||
dbsprite -1, 0, 0, 0, $00, 7 | OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $00, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_Unknown1: ; unreferenced
|
||||
db 4
|
||||
dbsprite -1, -1, 0, 0, $00, 0 | PRIORITY
|
||||
dbsprite 0, -1, 0, 0, $00, 0 | X_FLIP | PRIORITY
|
||||
dbsprite -1, 0, 0, 0, $00, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP | PRIORITY
|
||||
dbsprite -1, -1, 0, 0, $00, 0 | OAM_PRIO
|
||||
dbsprite 0, -1, 0, 0, $00, 0 | OAM_XFLIP | OAM_PRIO
|
||||
dbsprite -1, 0, 0, 0, $00, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | OAM_XFLIP | OAM_YFLIP | OAM_PRIO
|
||||
|
||||
.OAMData_TradePoofBubble:
|
||||
db 16
|
||||
|
|
@ -161,18 +161,18 @@ ENDC
|
|||
dbsprite -1, -2, 0, 0, $01, 0
|
||||
dbsprite -2, -1, 0, 0, $02, 0
|
||||
dbsprite -1, -1, 0, 0, $03, 0
|
||||
dbsprite 0, -2, 0, 0, $01, 0 | X_FLIP
|
||||
dbsprite 1, -2, 0, 0, $00, 0 | X_FLIP
|
||||
dbsprite 0, -1, 0, 0, $03, 0 | X_FLIP
|
||||
dbsprite 1, -1, 0, 0, $02, 0 | X_FLIP
|
||||
dbsprite -2, 0, 0, 0, $02, 0 | Y_FLIP
|
||||
dbsprite -1, 0, 0, 0, $03, 0 | Y_FLIP
|
||||
dbsprite -2, 1, 0, 0, $00, 0 | Y_FLIP
|
||||
dbsprite -1, 1, 0, 0, $01, 0 | Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $03, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 1, 0, 0, 0, $02, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, 1, 0, 0, $01, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 0, 0, $00, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, -2, 0, 0, $01, 0 | OAM_XFLIP
|
||||
dbsprite 1, -2, 0, 0, $00, 0 | OAM_XFLIP
|
||||
dbsprite 0, -1, 0, 0, $03, 0 | OAM_XFLIP
|
||||
dbsprite 1, -1, 0, 0, $02, 0 | OAM_XFLIP
|
||||
dbsprite -2, 0, 0, 0, $02, 0 | OAM_YFLIP
|
||||
dbsprite -1, 0, 0, 0, $03, 0 | OAM_YFLIP
|
||||
dbsprite -2, 1, 0, 0, $00, 0 | OAM_YFLIP
|
||||
dbsprite -1, 1, 0, 0, $01, 0 | OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $03, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 0, 0, 0, $02, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 1, 0, 0, $01, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 0, 0, $00, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_GSIntroBigFireball:
|
||||
db 36
|
||||
|
|
@ -185,33 +185,33 @@ ENDC
|
|||
dbsprite -3, -1, 0, 0, $06, 0
|
||||
dbsprite -2, -1, 0, 0, $05, 0
|
||||
dbsprite -1, -1, 0, 0, $05, 0
|
||||
dbsprite 0, -3, 0, 0, $02, 0 | X_FLIP
|
||||
dbsprite 1, -3, 0, 0, $01, 0 | X_FLIP
|
||||
dbsprite 2, -3, 0, 0, $00, 0 | X_FLIP
|
||||
dbsprite 0, -2, 0, 0, $05, 0 | X_FLIP
|
||||
dbsprite 1, -2, 0, 0, $04, 0 | X_FLIP
|
||||
dbsprite 2, -2, 0, 0, $03, 0 | X_FLIP
|
||||
dbsprite 0, -1, 0, 0, $05, 0 | X_FLIP
|
||||
dbsprite 1, -1, 0, 0, $05, 0 | X_FLIP
|
||||
dbsprite 2, -1, 0, 0, $06, 0 | X_FLIP
|
||||
dbsprite -3, 0, 0, 0, $06, 0 | Y_FLIP
|
||||
dbsprite -2, 0, 0, 0, $05, 0 | Y_FLIP
|
||||
dbsprite -1, 0, 0, 0, $05, 0 | Y_FLIP
|
||||
dbsprite -3, 1, 0, 0, $03, 0 | Y_FLIP
|
||||
dbsprite -2, 1, 0, 0, $04, 0 | Y_FLIP
|
||||
dbsprite -1, 1, 0, 0, $05, 0 | Y_FLIP
|
||||
dbsprite -3, 2, 0, 0, $00, 0 | Y_FLIP
|
||||
dbsprite -2, 2, 0, 0, $01, 0 | Y_FLIP
|
||||
dbsprite -1, 2, 0, 0, $02, 0 | Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $05, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 1, 0, 0, 0, $05, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 2, 0, 0, 0, $06, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, 1, 0, 0, $05, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 1, 1, 0, 0, $04, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 2, 1, 0, 0, $03, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, 2, 0, 0, $02, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 1, 2, 0, 0, $01, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 2, 2, 0, 0, $00, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, -3, 0, 0, $02, 0 | OAM_XFLIP
|
||||
dbsprite 1, -3, 0, 0, $01, 0 | OAM_XFLIP
|
||||
dbsprite 2, -3, 0, 0, $00, 0 | OAM_XFLIP
|
||||
dbsprite 0, -2, 0, 0, $05, 0 | OAM_XFLIP
|
||||
dbsprite 1, -2, 0, 0, $04, 0 | OAM_XFLIP
|
||||
dbsprite 2, -2, 0, 0, $03, 0 | OAM_XFLIP
|
||||
dbsprite 0, -1, 0, 0, $05, 0 | OAM_XFLIP
|
||||
dbsprite 1, -1, 0, 0, $05, 0 | OAM_XFLIP
|
||||
dbsprite 2, -1, 0, 0, $06, 0 | OAM_XFLIP
|
||||
dbsprite -3, 0, 0, 0, $06, 0 | OAM_YFLIP
|
||||
dbsprite -2, 0, 0, 0, $05, 0 | OAM_YFLIP
|
||||
dbsprite -1, 0, 0, 0, $05, 0 | OAM_YFLIP
|
||||
dbsprite -3, 1, 0, 0, $03, 0 | OAM_YFLIP
|
||||
dbsprite -2, 1, 0, 0, $04, 0 | OAM_YFLIP
|
||||
dbsprite -1, 1, 0, 0, $05, 0 | OAM_YFLIP
|
||||
dbsprite -3, 2, 0, 0, $00, 0 | OAM_YFLIP
|
||||
dbsprite -2, 2, 0, 0, $01, 0 | OAM_YFLIP
|
||||
dbsprite -1, 2, 0, 0, $02, 0 | OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $05, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 0, 0, 0, $05, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 2, 0, 0, 0, $06, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 1, 0, 0, $05, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 1, 0, 0, $04, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 2, 1, 0, 0, $03, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 0, 2, 0, 0, $02, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 1, 2, 0, 0, $01, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 2, 2, 0, 0, $00, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_Unused43_4A:
|
||||
db 9
|
||||
|
|
@ -320,10 +320,10 @@ ENDC
|
|||
|
||||
.OAMData_MagnetTrainRed:
|
||||
db 4
|
||||
dbsprite -1, -1, 0, 0, $00, PAL_OW_RED | PRIORITY
|
||||
dbsprite 0, -1, 0, 0, $01, PAL_OW_RED | PRIORITY
|
||||
dbsprite -1, 0, 0, 0, $02, PAL_OW_RED | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $03, PAL_OW_RED | PRIORITY
|
||||
dbsprite -1, -1, 0, 0, $00, PAL_OW_RED | OAM_PRIO
|
||||
dbsprite 0, -1, 0, 0, $01, PAL_OW_RED | OAM_PRIO
|
||||
dbsprite -1, 0, 0, 0, $02, PAL_OW_RED | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 0, $03, PAL_OW_RED | OAM_PRIO
|
||||
|
||||
.OAMData_PartyMonWithMail1:
|
||||
db 4
|
||||
|
|
@ -389,23 +389,23 @@ ENDC
|
|||
dbsprite -2, -1, 0, 0, $21, 0
|
||||
dbsprite -1, -1, 0, 0, $22, 0
|
||||
dbsprite 0, -1, 0, 0, $23, 0
|
||||
dbsprite -3, 0, 0, 0, $30, 0 | PRIORITY
|
||||
dbsprite -2, 0, 0, 0, $31, 0 | PRIORITY
|
||||
dbsprite -1, 0, 0, 0, $32, 0 | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $33, 0 | PRIORITY
|
||||
dbsprite 1, 0, 0, 0, $34, 0 | PRIORITY
|
||||
dbsprite -3, 1, 0, 0, $40, 0 | PRIORITY
|
||||
dbsprite -2, 1, 0, 0, $41, 0 | PRIORITY
|
||||
dbsprite -1, 1, 0, 0, $42, 0 | PRIORITY
|
||||
dbsprite 0, 1, 0, 0, $43, 0 | PRIORITY
|
||||
dbsprite 1, 1, 0, 0, $44, 0 | PRIORITY
|
||||
dbsprite 2, 1, 0, 0, $45, 0 | PRIORITY
|
||||
dbsprite -3, 2, 0, 0, $50, 0 | PRIORITY
|
||||
dbsprite -2, 2, 0, 0, $51, 0 | PRIORITY
|
||||
dbsprite -1, 2, 0, 0, $52, 0 | PRIORITY
|
||||
dbsprite 0, 2, 0, 0, $53, 0 | PRIORITY
|
||||
dbsprite 1, 2, 0, 0, $54, 0 | PRIORITY
|
||||
dbsprite 2, 2, 0, 0, $55, 0 | PRIORITY
|
||||
dbsprite -3, 0, 0, 0, $30, 0 | OAM_PRIO
|
||||
dbsprite -2, 0, 0, 0, $31, 0 | OAM_PRIO
|
||||
dbsprite -1, 0, 0, 0, $32, 0 | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 0, $33, 0 | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 0, $34, 0 | OAM_PRIO
|
||||
dbsprite -3, 1, 0, 0, $40, 0 | OAM_PRIO
|
||||
dbsprite -2, 1, 0, 0, $41, 0 | OAM_PRIO
|
||||
dbsprite -1, 1, 0, 0, $42, 0 | OAM_PRIO
|
||||
dbsprite 0, 1, 0, 0, $43, 0 | OAM_PRIO
|
||||
dbsprite 1, 1, 0, 0, $44, 0 | OAM_PRIO
|
||||
dbsprite 2, 1, 0, 0, $45, 0 | OAM_PRIO
|
||||
dbsprite -3, 2, 0, 0, $50, 0 | OAM_PRIO
|
||||
dbsprite -2, 2, 0, 0, $51, 0 | OAM_PRIO
|
||||
dbsprite -1, 2, 0, 0, $52, 0 | OAM_PRIO
|
||||
dbsprite 0, 2, 0, 0, $53, 0 | OAM_PRIO
|
||||
dbsprite 1, 2, 0, 0, $54, 0 | OAM_PRIO
|
||||
dbsprite 2, 2, 0, 0, $55, 0 | OAM_PRIO
|
||||
|
||||
.OAMData_GSIntroLapras2:
|
||||
db 27
|
||||
|
|
@ -419,23 +419,23 @@ ENDC
|
|||
dbsprite -2, -1, 0, 0, $21, 0
|
||||
dbsprite -1, -1, 0, 0, $22, 0
|
||||
dbsprite 0, -1, 0, 0, $23, 0
|
||||
dbsprite -3, 0, 0, 0, $30, 0 | PRIORITY
|
||||
dbsprite -2, 0, 0, 0, $31, 0 | PRIORITY
|
||||
dbsprite -1, 0, 0, 0, $32, 0 | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $33, 0 | PRIORITY
|
||||
dbsprite 1, 0, 0, 0, $34, 0 | PRIORITY
|
||||
dbsprite -3, 1, 0, 0, $40, 0 | PRIORITY
|
||||
dbsprite -2, 1, 0, 0, $41, 0 | PRIORITY
|
||||
dbsprite -1, 1, 0, 0, $42, 0 | PRIORITY
|
||||
dbsprite 0, 1, 0, 0, $43, 0 | PRIORITY
|
||||
dbsprite 1, 1, 0, 0, $44, 0 | PRIORITY
|
||||
dbsprite 2, 1, 0, 0, $45, 0 | PRIORITY
|
||||
dbsprite -3, 2, 0, 0, $50, 0 | PRIORITY
|
||||
dbsprite -2, 2, 0, 0, $51, 0 | PRIORITY
|
||||
dbsprite -1, 2, 0, 0, $52, 0 | PRIORITY
|
||||
dbsprite 0, 2, 0, 0, $53, 0 | PRIORITY
|
||||
dbsprite 1, 2, 0, 0, $54, 0 | PRIORITY
|
||||
dbsprite 2, 2, 0, 0, $55, 0 | PRIORITY
|
||||
dbsprite -3, 0, 0, 0, $30, 0 | OAM_PRIO
|
||||
dbsprite -2, 0, 0, 0, $31, 0 | OAM_PRIO
|
||||
dbsprite -1, 0, 0, 0, $32, 0 | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 0, $33, 0 | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 0, $34, 0 | OAM_PRIO
|
||||
dbsprite -3, 1, 0, 0, $40, 0 | OAM_PRIO
|
||||
dbsprite -2, 1, 0, 0, $41, 0 | OAM_PRIO
|
||||
dbsprite -1, 1, 0, 0, $42, 0 | OAM_PRIO
|
||||
dbsprite 0, 1, 0, 0, $43, 0 | OAM_PRIO
|
||||
dbsprite 1, 1, 0, 0, $44, 0 | OAM_PRIO
|
||||
dbsprite 2, 1, 0, 0, $45, 0 | OAM_PRIO
|
||||
dbsprite -3, 2, 0, 0, $50, 0 | OAM_PRIO
|
||||
dbsprite -2, 2, 0, 0, $51, 0 | OAM_PRIO
|
||||
dbsprite -1, 2, 0, 0, $52, 0 | OAM_PRIO
|
||||
dbsprite 0, 2, 0, 0, $53, 0 | OAM_PRIO
|
||||
dbsprite 1, 2, 0, 0, $54, 0 | OAM_PRIO
|
||||
dbsprite 2, 2, 0, 0, $55, 0 | OAM_PRIO
|
||||
|
||||
.OAMData_GSIntroLapras3:
|
||||
db 29
|
||||
|
|
@ -452,22 +452,22 @@ ENDC
|
|||
dbsprite -1, -1, 0, 0, $22, 0
|
||||
dbsprite 0, -1, 0, 0, $23, 0
|
||||
dbsprite 1, -1, 0, 0, $24, 0
|
||||
dbsprite -3, 0, 0, 0, $30, 0 | PRIORITY
|
||||
dbsprite -2, 0, 0, 0, $31, 0 | PRIORITY
|
||||
dbsprite -1, 0, 0, 0, $32, 0 | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $33, 0 | PRIORITY
|
||||
dbsprite 1, 0, 0, 0, $34, 0 | PRIORITY
|
||||
dbsprite -3, 1, 0, 0, $40, 0 | PRIORITY
|
||||
dbsprite -2, 1, 0, 0, $41, 0 | PRIORITY
|
||||
dbsprite -1, 1, 0, 0, $42, 0 | PRIORITY
|
||||
dbsprite 0, 1, 0, 0, $43, 0 | PRIORITY
|
||||
dbsprite 1, 1, 0, 0, $44, 0 | PRIORITY
|
||||
dbsprite 2, 1, 0, 0, $45, 0 | PRIORITY
|
||||
dbsprite -2, 2, 0, 0, $51, 0 | PRIORITY
|
||||
dbsprite -1, 2, 0, 0, $52, 0 | PRIORITY
|
||||
dbsprite 0, 2, 0, 0, $53, 0 | PRIORITY
|
||||
dbsprite 1, 2, 0, 0, $54, 0 | PRIORITY
|
||||
dbsprite 2, 2, 0, 0, $55, 0 | PRIORITY
|
||||
dbsprite -3, 0, 0, 0, $30, 0 | OAM_PRIO
|
||||
dbsprite -2, 0, 0, 0, $31, 0 | OAM_PRIO
|
||||
dbsprite -1, 0, 0, 0, $32, 0 | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 0, $33, 0 | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 0, $34, 0 | OAM_PRIO
|
||||
dbsprite -3, 1, 0, 0, $40, 0 | OAM_PRIO
|
||||
dbsprite -2, 1, 0, 0, $41, 0 | OAM_PRIO
|
||||
dbsprite -1, 1, 0, 0, $42, 0 | OAM_PRIO
|
||||
dbsprite 0, 1, 0, 0, $43, 0 | OAM_PRIO
|
||||
dbsprite 1, 1, 0, 0, $44, 0 | OAM_PRIO
|
||||
dbsprite 2, 1, 0, 0, $45, 0 | OAM_PRIO
|
||||
dbsprite -2, 2, 0, 0, $51, 0 | OAM_PRIO
|
||||
dbsprite -1, 2, 0, 0, $52, 0 | OAM_PRIO
|
||||
dbsprite 0, 2, 0, 0, $53, 0 | OAM_PRIO
|
||||
dbsprite 1, 2, 0, 0, $54, 0 | OAM_PRIO
|
||||
dbsprite 2, 2, 0, 0, $55, 0 | OAM_PRIO
|
||||
|
||||
.OAMData_GSIntroNote:
|
||||
db 2
|
||||
|
|
@ -496,9 +496,9 @@ ENDC
|
|||
.OAMData_TextEntryCursor:
|
||||
db 4
|
||||
dbsprite -1, -1, 7, 7, $00, 0
|
||||
dbsprite 0, -1, 0, 7, $00, 0 | X_FLIP
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | Y_FLIP
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, -1, 0, 7, $00, 0 | OAM_XFLIP
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | OAM_YFLIP
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_TextEntryCursorBig:
|
||||
db 10
|
||||
|
|
@ -506,90 +506,90 @@ ENDC
|
|||
dbsprite 1, -1, 0, 7, $01, 0
|
||||
dbsprite 2, -1, 0, 7, $01, 0
|
||||
dbsprite 3, -1, 0, 7, $01, 0
|
||||
dbsprite 4, -1, 0, 7, $00, 0 | X_FLIP
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | Y_FLIP
|
||||
dbsprite 1, 0, 0, 0, $01, 0 | Y_FLIP
|
||||
dbsprite 2, 0, 0, 0, $01, 0 | Y_FLIP
|
||||
dbsprite 3, 0, 0, 0, $01, 0 | Y_FLIP
|
||||
dbsprite 4, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 4, -1, 0, 7, $00, 0 | OAM_XFLIP
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | OAM_YFLIP
|
||||
dbsprite 1, 0, 0, 0, $01, 0 | OAM_YFLIP
|
||||
dbsprite 2, 0, 0, 0, $01, 0 | OAM_YFLIP
|
||||
dbsprite 3, 0, 0, 0, $01, 0 | OAM_YFLIP
|
||||
dbsprite 4, 0, 0, 0, $00, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
.OAMData_GSGameFreakLogo:
|
||||
db 15
|
||||
dbsprite -2, -3, 4, 4, $00, 1 | OBP_NUM
|
||||
dbsprite -1, -3, 4, 4, $01, 1 | OBP_NUM
|
||||
dbsprite 0, -3, 4, 4, $02, 1 | OBP_NUM
|
||||
dbsprite -2, -2, 4, 4, $03, 1 | OBP_NUM
|
||||
dbsprite -1, -2, 4, 4, $04, 1 | OBP_NUM
|
||||
dbsprite 0, -2, 4, 4, $05, 1 | OBP_NUM
|
||||
dbsprite -2, -1, 4, 4, $06, 1 | OBP_NUM
|
||||
dbsprite -1, -1, 4, 4, $07, 1 | OBP_NUM
|
||||
dbsprite 0, -1, 4, 4, $08, 1 | OBP_NUM
|
||||
dbsprite -2, 0, 4, 4, $09, 1 | OBP_NUM
|
||||
dbsprite -1, 0, 4, 4, $0a, 1 | OBP_NUM
|
||||
dbsprite 0, 0, 4, 4, $0b, 1 | OBP_NUM
|
||||
dbsprite -2, 1, 4, 4, $0c, 1 | OBP_NUM
|
||||
dbsprite -1, 1, 4, 4, $0d, 1 | OBP_NUM
|
||||
dbsprite 0, 1, 4, 4, $0e, 1 | OBP_NUM
|
||||
dbsprite -2, -3, 4, 4, $00, 1 | OAM_PAL1
|
||||
dbsprite -1, -3, 4, 4, $01, 1 | OAM_PAL1
|
||||
dbsprite 0, -3, 4, 4, $02, 1 | OAM_PAL1
|
||||
dbsprite -2, -2, 4, 4, $03, 1 | OAM_PAL1
|
||||
dbsprite -1, -2, 4, 4, $04, 1 | OAM_PAL1
|
||||
dbsprite 0, -2, 4, 4, $05, 1 | OAM_PAL1
|
||||
dbsprite -2, -1, 4, 4, $06, 1 | OAM_PAL1
|
||||
dbsprite -1, -1, 4, 4, $07, 1 | OAM_PAL1
|
||||
dbsprite 0, -1, 4, 4, $08, 1 | OAM_PAL1
|
||||
dbsprite -2, 0, 4, 4, $09, 1 | OAM_PAL1
|
||||
dbsprite -1, 0, 4, 4, $0a, 1 | OAM_PAL1
|
||||
dbsprite 0, 0, 4, 4, $0b, 1 | OAM_PAL1
|
||||
dbsprite -2, 1, 4, 4, $0c, 1 | OAM_PAL1
|
||||
dbsprite -1, 1, 4, 4, $0d, 1 | OAM_PAL1
|
||||
dbsprite 0, 1, 4, 4, $0e, 1 | OAM_PAL1
|
||||
|
||||
.OAMData_SlotsGolem:
|
||||
db 6
|
||||
dbsprite -2, -2, 4, 4, $00, 5 | OBP_NUM
|
||||
dbsprite -1, -2, 4, 4, $02, 5 | OBP_NUM
|
||||
dbsprite 0, -2, 4, 4, $00, 5 | OBP_NUM | X_FLIP
|
||||
dbsprite -2, 0, 4, 4, $04, 5 | OBP_NUM
|
||||
dbsprite -1, 0, 4, 4, $06, 5 | OBP_NUM
|
||||
dbsprite 0, 0, 4, 4, $04, 5 | OBP_NUM | X_FLIP
|
||||
dbsprite -2, -2, 4, 4, $00, 5 | OAM_PAL1
|
||||
dbsprite -1, -2, 4, 4, $02, 5 | OAM_PAL1
|
||||
dbsprite 0, -2, 4, 4, $00, 5 | OAM_PAL1 | OAM_XFLIP
|
||||
dbsprite -2, 0, 4, 4, $04, 5 | OAM_PAL1
|
||||
dbsprite -1, 0, 4, 4, $06, 5 | OAM_PAL1
|
||||
dbsprite 0, 0, 4, 4, $04, 5 | OAM_PAL1 | OAM_XFLIP
|
||||
|
||||
.OAMData_SlotsChansey1:
|
||||
db 6
|
||||
dbsprite -2, -2, 4, 4, $00, 6 | OBP_NUM
|
||||
dbsprite -1, -2, 4, 4, $02, 6 | OBP_NUM
|
||||
dbsprite 0, -2, 4, 4, $04, 6 | OBP_NUM
|
||||
dbsprite -2, 0, 4, 4, $06, 6 | OBP_NUM
|
||||
dbsprite -1, 0, 4, 4, $08, 6 | OBP_NUM
|
||||
dbsprite 0, 0, 4, 4, $0a, 6 | OBP_NUM
|
||||
dbsprite -2, -2, 4, 4, $00, 6 | OAM_PAL1
|
||||
dbsprite -1, -2, 4, 4, $02, 6 | OAM_PAL1
|
||||
dbsprite 0, -2, 4, 4, $04, 6 | OAM_PAL1
|
||||
dbsprite -2, 0, 4, 4, $06, 6 | OAM_PAL1
|
||||
dbsprite -1, 0, 4, 4, $08, 6 | OAM_PAL1
|
||||
dbsprite 0, 0, 4, 4, $0a, 6 | OAM_PAL1
|
||||
|
||||
.OAMData_SlotsChansey2:
|
||||
db 6
|
||||
dbsprite -2, -2, 4, 4, $00, 6 | OBP_NUM
|
||||
dbsprite -1, -2, 4, 4, $02, 6 | OBP_NUM
|
||||
dbsprite 0, -2, 4, 4, $04, 6 | OBP_NUM
|
||||
dbsprite -2, 0, 4, 4, $0c, 6 | OBP_NUM
|
||||
dbsprite -1, 0, 4, 4, $0e, 6 | OBP_NUM
|
||||
dbsprite 0, 0, 4, 4, $10, 6 | OBP_NUM
|
||||
dbsprite -2, -2, 4, 4, $00, 6 | OAM_PAL1
|
||||
dbsprite -1, -2, 4, 4, $02, 6 | OAM_PAL1
|
||||
dbsprite 0, -2, 4, 4, $04, 6 | OAM_PAL1
|
||||
dbsprite -2, 0, 4, 4, $0c, 6 | OAM_PAL1
|
||||
dbsprite -1, 0, 4, 4, $0e, 6 | OAM_PAL1
|
||||
dbsprite 0, 0, 4, 4, $10, 6 | OAM_PAL1
|
||||
|
||||
.OAMData_SlotsChansey3:
|
||||
db 6
|
||||
dbsprite -2, -2, 4, 4, $00, 6 | OBP_NUM
|
||||
dbsprite -1, -2, 4, 4, $02, 6 | OBP_NUM
|
||||
dbsprite 0, -2, 4, 4, $04, 6 | OBP_NUM
|
||||
dbsprite -2, 0, 4, 4, $12, 6 | OBP_NUM
|
||||
dbsprite -1, 0, 4, 4, $14, 6 | OBP_NUM
|
||||
dbsprite 0, 0, 4, 4, $16, 6 | OBP_NUM
|
||||
dbsprite -2, -2, 4, 4, $00, 6 | OAM_PAL1
|
||||
dbsprite -1, -2, 4, 4, $02, 6 | OAM_PAL1
|
||||
dbsprite 0, -2, 4, 4, $04, 6 | OAM_PAL1
|
||||
dbsprite -2, 0, 4, 4, $12, 6 | OAM_PAL1
|
||||
dbsprite -1, 0, 4, 4, $14, 6 | OAM_PAL1
|
||||
dbsprite 0, 0, 4, 4, $16, 6 | OAM_PAL1
|
||||
|
||||
.OAMData_SlotsChansey4:
|
||||
db 6
|
||||
dbsprite -2, -2, 4, 4, $00, 6 | OBP_NUM
|
||||
dbsprite -1, -2, 4, 4, $02, 6 | OBP_NUM
|
||||
dbsprite 0, -2, 4, 4, $04, 6 | OBP_NUM
|
||||
dbsprite -2, 0, 4, 4, $18, 6 | OBP_NUM
|
||||
dbsprite -1, 0, 4, 4, $1a, 6 | OBP_NUM
|
||||
dbsprite 0, 0, 4, 4, $1c, 6 | OBP_NUM
|
||||
dbsprite -2, -2, 4, 4, $00, 6 | OAM_PAL1
|
||||
dbsprite -1, -2, 4, 4, $02, 6 | OAM_PAL1
|
||||
dbsprite 0, -2, 4, 4, $04, 6 | OAM_PAL1
|
||||
dbsprite -2, 0, 4, 4, $18, 6 | OAM_PAL1
|
||||
dbsprite -1, 0, 4, 4, $1a, 6 | OAM_PAL1
|
||||
dbsprite 0, 0, 4, 4, $1c, 6 | OAM_PAL1
|
||||
|
||||
.OAMData_SlotsChansey5:
|
||||
db 6
|
||||
dbsprite -2, -2, 4, 4, $1e, 6 | OBP_NUM
|
||||
dbsprite -1, -2, 4, 4, $20, 6 | OBP_NUM
|
||||
dbsprite 0, -2, 4, 4, $22, 6 | OBP_NUM
|
||||
dbsprite -2, 0, 4, 4, $24, 6 | OBP_NUM
|
||||
dbsprite -1, 0, 4, 4, $26, 6 | OBP_NUM
|
||||
dbsprite 0, 0, 4, 4, $28, 6 | OBP_NUM
|
||||
dbsprite -2, -2, 4, 4, $1e, 6 | OAM_PAL1
|
||||
dbsprite -1, -2, 4, 4, $20, 6 | OAM_PAL1
|
||||
dbsprite 0, -2, 4, 4, $22, 6 | OAM_PAL1
|
||||
dbsprite -2, 0, 4, 4, $24, 6 | OAM_PAL1
|
||||
dbsprite -1, 0, 4, 4, $26, 6 | OAM_PAL1
|
||||
dbsprite 0, 0, 4, 4, $28, 6 | OAM_PAL1
|
||||
|
||||
.OAMData_RadioTuningKnob:
|
||||
db 3
|
||||
dbsprite -1, -2, 4, 4, $00, 0 | OBP_NUM
|
||||
dbsprite -1, -1, 4, 4, $00, 0 | OBP_NUM
|
||||
dbsprite -1, 0, 4, 4, $00, 0 | OBP_NUM
|
||||
dbsprite -1, -2, 4, 4, $00, 0 | OAM_PAL1
|
||||
dbsprite -1, -1, 4, 4, $00, 0 | OAM_PAL1
|
||||
dbsprite -1, 0, 4, 4, $00, 0 | OAM_PAL1
|
||||
|
||||
.OAMData_Unused4B:
|
||||
db 6
|
||||
|
|
@ -730,7 +730,7 @@ IF DEF(_GOLD)
|
|||
|
||||
.OAMData_GSTitleTrail:
|
||||
db 1
|
||||
dbsprite -1, -1, 4, 4, $00, 1 | OBP_NUM
|
||||
dbsprite -1, -1, 4, 4, $00, 1 | OAM_PAL1
|
||||
|
||||
ELIF DEF(_SILVER)
|
||||
.OAMData_GSIntroLugia1:
|
||||
|
|
|
|||
|
|
@ -60,10 +60,10 @@ FacingStepDown1: ; walking down 1
|
|||
|
||||
FacingStepDown3: ; walking down 2
|
||||
db 4 ; #
|
||||
db 0, 8, X_FLIP, $80
|
||||
db 0, 0, X_FLIP, $81
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $82
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $83
|
||||
db 0, 8, OAM_XFLIP, $80
|
||||
db 0, 0, OAM_XFLIP, $81
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | OAM_XFLIP, $82
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | OAM_XFLIP, $83
|
||||
|
||||
FacingStepUp0:
|
||||
FacingStepUp2: ; standing up
|
||||
|
|
@ -82,10 +82,10 @@ FacingStepUp1: ; walking up 1
|
|||
|
||||
FacingStepUp3: ; walking up 2
|
||||
db 4 ; #
|
||||
db 0, 8, X_FLIP, $84
|
||||
db 0, 0, X_FLIP, $85
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $86
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $87
|
||||
db 0, 8, OAM_XFLIP, $84
|
||||
db 0, 0, OAM_XFLIP, $85
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | OAM_XFLIP, $86
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | OAM_XFLIP, $87
|
||||
|
||||
FacingStepLeft0:
|
||||
FacingStepLeft2: ; standing left
|
||||
|
|
@ -98,10 +98,10 @@ FacingStepLeft2: ; standing left
|
|||
FacingStepRight0:
|
||||
FacingStepRight2: ; standing right
|
||||
db 4 ; #
|
||||
db 0, 8, X_FLIP, $08
|
||||
db 0, 0, X_FLIP, $09
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $0a
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $0b
|
||||
db 0, 8, OAM_XFLIP, $08
|
||||
db 0, 0, OAM_XFLIP, $09
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | OAM_XFLIP, $0a
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | OAM_XFLIP, $0b
|
||||
|
||||
FacingStepLeft1:
|
||||
FacingStepLeft3: ; walking left
|
||||
|
|
@ -114,10 +114,10 @@ FacingStepLeft3: ; walking left
|
|||
FacingStepRight1:
|
||||
FacingStepRight3: ; walking right
|
||||
db 4 ; #
|
||||
db 0, 8, X_FLIP, $88
|
||||
db 0, 0, X_FLIP, $89
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $8a
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $8b
|
||||
db 0, 8, OAM_XFLIP, $88
|
||||
db 0, 0, OAM_XFLIP, $89
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | OAM_XFLIP, $8a
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | OAM_XFLIP, $8b
|
||||
|
||||
FacingFishDown: ; fishing down
|
||||
db 5 ; #
|
||||
|
|
@ -141,14 +141,14 @@ FacingFishLeft: ; fishing left
|
|||
db 0, 8, 0, $09
|
||||
db 8, 0, RELATIVE_ATTRIBUTES, $0a
|
||||
db 8, 8, RELATIVE_ATTRIBUTES, $0b
|
||||
db 5, -8, ABSOLUTE_TILE_ID | X_FLIP, $fd
|
||||
db 5, -8, ABSOLUTE_TILE_ID | OAM_XFLIP, $fd
|
||||
|
||||
FacingFishRight: ; fishing right
|
||||
db 5 ; #
|
||||
db 0, 8, X_FLIP, $08
|
||||
db 0, 0, X_FLIP, $09
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | X_FLIP, $0a
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | X_FLIP, $0b
|
||||
db 0, 8, OAM_XFLIP, $08
|
||||
db 0, 0, OAM_XFLIP, $09
|
||||
db 8, 8, RELATIVE_ATTRIBUTES | OAM_XFLIP, $0a
|
||||
db 8, 0, RELATIVE_ATTRIBUTES | OAM_XFLIP, $0b
|
||||
db 5, 16, ABSOLUTE_TILE_ID, $fd
|
||||
|
||||
FacingEmote: ; emote
|
||||
|
|
@ -161,7 +161,7 @@ FacingEmote: ; emote
|
|||
FacingShadow: ; shadow
|
||||
db 2 ; #
|
||||
db 0, 0, ABSOLUTE_TILE_ID, $fc
|
||||
db 0, 8, ABSOLUTE_TILE_ID | X_FLIP, $fc
|
||||
db 0, 8, ABSOLUTE_TILE_ID | OAM_XFLIP, $fc
|
||||
|
||||
FacingBigDollSymmetric: ; big snorlax or lapras doll
|
||||
db 16 ; #
|
||||
|
|
@ -173,14 +173,14 @@ FacingBigDollSymmetric: ; big snorlax or lapras doll
|
|||
db 16, 8, 0, $05
|
||||
db 24, 0, 0, $06
|
||||
db 24, 8, 0, $07
|
||||
db 0, 24, X_FLIP, $00
|
||||
db 0, 16, X_FLIP, $01
|
||||
db 8, 24, X_FLIP, $02
|
||||
db 8, 16, X_FLIP, $03
|
||||
db 16, 24, X_FLIP, $04
|
||||
db 16, 16, X_FLIP, $05
|
||||
db 24, 24, X_FLIP, $06
|
||||
db 24, 16, X_FLIP, $07
|
||||
db 0, 24, OAM_XFLIP, $00
|
||||
db 0, 16, OAM_XFLIP, $01
|
||||
db 8, 24, OAM_XFLIP, $02
|
||||
db 8, 16, OAM_XFLIP, $03
|
||||
db 16, 24, OAM_XFLIP, $04
|
||||
db 16, 16, OAM_XFLIP, $05
|
||||
db 24, 24, OAM_XFLIP, $06
|
||||
db 24, 16, OAM_XFLIP, $07
|
||||
|
||||
FacingWeirdTree1:
|
||||
db 4 ; #
|
||||
|
|
@ -191,10 +191,10 @@ FacingWeirdTree1:
|
|||
|
||||
FacingWeirdTree3:
|
||||
db 4 ; #
|
||||
db 0, 8, X_FLIP, $04
|
||||
db 0, 0, X_FLIP, $05
|
||||
db 8, 8, X_FLIP, $06
|
||||
db 8, 0, X_FLIP, $07
|
||||
db 0, 8, OAM_XFLIP, $04
|
||||
db 0, 0, OAM_XFLIP, $05
|
||||
db 8, 8, OAM_XFLIP, $06
|
||||
db 8, 0, OAM_XFLIP, $07
|
||||
|
||||
FacingBigDollAsymmetric: ; big doll other than snorlax or lapras
|
||||
db 14 ; #
|
||||
|
|
@ -206,11 +206,11 @@ FacingBigDollAsymmetric: ; big doll other than snorlax or lapras
|
|||
db 24, 8, 0, $0a
|
||||
db 0, 24, 0, $03
|
||||
db 0, 16, 0, $02
|
||||
db 8, 24, X_FLIP, $02
|
||||
db 8, 24, OAM_XFLIP, $02
|
||||
db 8, 16, 0, $06
|
||||
db 16, 24, 0, $09
|
||||
db 16, 16, 0, $08
|
||||
db 24, 24, X_FLIP, $04
|
||||
db 24, 24, OAM_XFLIP, $04
|
||||
db 24, 16, 0, $0b
|
||||
|
||||
FacingBoulderDust1: ; boulder dust 1
|
||||
|
|
@ -230,9 +230,9 @@ FacingBoulderDust2: ; boulder dust 2
|
|||
FacingGrass1:
|
||||
db 2 ; #
|
||||
db 8, 0, 0, $00
|
||||
db 8, 8, 0 | X_FLIP, $00
|
||||
db 8, 8, 0 | OAM_XFLIP, $00
|
||||
|
||||
FacingGrass2:
|
||||
db 2 ; #
|
||||
db 9, -1, 0, $00
|
||||
db 9, 9, 0 | X_FLIP, $00
|
||||
db 9, 9, 0 | OAM_XFLIP, $00
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ TrainerPalettes:
|
|||
; Each .gbcpal is generated from the corresponding .png, and
|
||||
; only the middle two colors are included, not black or white.
|
||||
|
||||
table_width PAL_COLOR_SIZE * 2
|
||||
table_width COLOR_SIZE * 2
|
||||
|
||||
PlayerPalette: ; Chris uses the same colors as Cal
|
||||
INCBIN "gfx/trainers/cal.gbcpal", middle_colors
|
||||
|
|
|
|||
|
|
@ -599,7 +599,7 @@ StartTrainerBattle_LoadPokeBallGraphics:
|
|||
call CopyBytes
|
||||
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, PAL_BG_TEXT
|
||||
call ByteFill
|
||||
|
||||
|
|
|
|||
|
|
@ -7776,7 +7776,7 @@ StartBattle:
|
|||
call ShowLinkBattleParticipants
|
||||
farcall ClearBattleRAM
|
||||
ld hl, rLCDC
|
||||
res rLCDC_WINDOW_TILEMAP, [hl] ; select vBGMap0/vBGMap2
|
||||
res B_LCDC_WIN_MAP, [hl] ; select vBGMap0/vBGMap2
|
||||
ld a, [wOtherTrainerClass]
|
||||
and a
|
||||
jr nz, .trainer
|
||||
|
|
@ -7797,7 +7797,7 @@ StartBattle:
|
|||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
ld hl, rLCDC
|
||||
set rLCDC_WINDOW_TILEMAP, [hl] ; select vBGMap1/vBGMap3
|
||||
set B_LCDC_WIN_MAP, [hl] ; select vBGMap1/vBGMap3
|
||||
call EmptyBattleTextbox
|
||||
hlcoord 9, 7
|
||||
lb bc, 5, 11
|
||||
|
|
@ -8091,7 +8091,7 @@ _DisplayLinkRecord:
|
|||
call CloseSRAM
|
||||
hlcoord 0, 0, wAttrmap
|
||||
xor a
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call ByteFill
|
||||
call WaitBGMap2
|
||||
ld b, SCGB_DIPLOMA
|
||||
|
|
@ -8583,13 +8583,13 @@ InitBattleDisplay:
|
|||
call OpenSRAM
|
||||
|
||||
ld hl, sDecompressScratch
|
||||
ld bc, BG_MAP_WIDTH * BG_MAP_HEIGHT
|
||||
ld bc, TILEMAP_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
|
||||
ld de, sDecompressScratch
|
||||
hlbgcoord 0, 0
|
||||
lb bc, BANK(@), (BG_MAP_WIDTH * BG_MAP_HEIGHT) / LEN_2BPP_TILE
|
||||
lb bc, BANK(@), (TILEMAP_AREA) / TILE_SIZE
|
||||
call Request2bpp
|
||||
|
||||
call CloseSRAM
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ BattleIntroSlidingPics:
|
|||
push bc
|
||||
ld hl, wShadowOAMSprite00XCoord
|
||||
ld c, $12 ; 18
|
||||
ld de, SPRITEOAMSTRUCT_LENGTH
|
||||
ld de, OBJ_SIZE
|
||||
.loop2
|
||||
dec [hl]
|
||||
dec [hl]
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@ ShowOTTrainerMonsRemaining:
|
|||
ld [hl], 4 * TILE_WIDTH
|
||||
ld a, -TILE_WIDTH
|
||||
ld [wPlaceBallsDirection], a
|
||||
ld hl, wShadowOAMSprite00 + PARTY_LENGTH * SPRITEOAMSTRUCT_LENGTH
|
||||
ld hl, wShadowOAMSprite00 + PARTY_LENGTH * OBJ_SIZE
|
||||
jp LoadTrainerHudOAM
|
||||
|
||||
StageBallTilesData:
|
||||
|
|
@ -197,7 +197,7 @@ LinkBattle_TrainerHuds:
|
|||
ld a, 10 * TILE_WIDTH
|
||||
ld [hli], a
|
||||
ld [hl], 13 * TILE_WIDTH
|
||||
ld hl, wShadowOAMSprite00 + PARTY_LENGTH * SPRITEOAMSTRUCT_LENGTH
|
||||
ld hl, wShadowOAMSprite00 + PARTY_LENGTH * OBJ_SIZE
|
||||
jp LoadTrainerHudOAM
|
||||
|
||||
LoadTrainerHudOAM:
|
||||
|
|
|
|||
|
|
@ -195,9 +195,9 @@ PlaceWindowOverBattleTextbox: ; unreferenced
|
|||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
; bgcoord hBGMapAddress, 0, 20
|
||||
ld a, LOW(vBGMap0 + 20 * BG_MAP_WIDTH)
|
||||
ld a, LOW(vBGMap0 + 20 * TILEMAP_WIDTH)
|
||||
ldh [hBGMapAddress], a
|
||||
ld a, HIGH(vBGMap0 + 20 * BG_MAP_WIDTH)
|
||||
ld a, HIGH(vBGMap0 + 20 * TILEMAP_WIDTH)
|
||||
ldh [hBGMapAddress + 1], a
|
||||
call WaitBGMap2
|
||||
ld a, (SCREEN_HEIGHT - TEXTBOX_HEIGHT) * TILE_WIDTH
|
||||
|
|
@ -217,13 +217,13 @@ BattleAnim_ClearOAM:
|
|||
|
||||
; Instead of deleting the sprites, make them all use PAL_BATTLE_OB_ENEMY
|
||||
ld hl, wShadowOAMSprite00Attributes
|
||||
ld c, NUM_SPRITE_OAM_STRUCTS
|
||||
ld c, OAM_COUNT
|
||||
.loop
|
||||
ld a, [hl]
|
||||
and ~(PALETTE_MASK | VRAM_BANK_1) ; zeros out the palette bits
|
||||
and ~(OAM_PALETTE | OAM_BANK1) ; zeros out the palette bits
|
||||
assert PAL_BATTLE_OB_ENEMY == 0
|
||||
ld [hli], a
|
||||
rept SPRITEOAMSTRUCT_LENGTH - 1
|
||||
rept OBJ_SIZE - 1
|
||||
inc hl
|
||||
endr
|
||||
dec c
|
||||
|
|
@ -650,7 +650,7 @@ BattleAnimCmd_5GFX:
|
|||
.loop
|
||||
vc_hook Reduce_move_anim_flashing_PRESENT
|
||||
ld a, [wBattleAnimGFXTempTileID]
|
||||
cp (vTiles1 - vTiles0) / LEN_2BPP_TILE - BATTLEANIM_BASE_TILE
|
||||
cp (vTiles1 - vTiles0) / TILE_SIZE - BATTLEANIM_BASE_TILE
|
||||
ret nc
|
||||
call GetBattleAnimByte
|
||||
ld [hli], a
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ BattleAnimOAMUpdate:
|
|||
ld hl, wBattleAnimTempOAMFlags
|
||||
ld a, [wBattleAnimTempFrameOAMFlags]
|
||||
xor [hl]
|
||||
and PRIORITY | Y_FLIP | X_FLIP
|
||||
and OAM_PRIO | OAM_YFLIP | OAM_XFLIP
|
||||
ld [hl], a
|
||||
pop af
|
||||
|
||||
|
|
@ -118,7 +118,7 @@ BattleAnimOAMUpdate:
|
|||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit OAM_Y_FLIP, [hl]
|
||||
bit B_OAM_YFLIP, [hl]
|
||||
jr z, .no_yflip
|
||||
add $8
|
||||
xor $ff
|
||||
|
|
@ -139,7 +139,7 @@ BattleAnimOAMUpdate:
|
|||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wBattleAnimTempOAMFlags
|
||||
bit OAM_X_FLIP, [hl]
|
||||
bit B_OAM_XFLIP, [hl]
|
||||
jr z, .no_xflip
|
||||
add $8
|
||||
xor $ff
|
||||
|
|
@ -164,14 +164,14 @@ BattleAnimOAMUpdate:
|
|||
ld b, a
|
||||
ld a, [hl]
|
||||
xor b
|
||||
and PRIORITY | Y_FLIP | X_FLIP
|
||||
and OAM_PRIO | OAM_YFLIP | OAM_XFLIP
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
and OBP_NUM
|
||||
and OAM_PAL1
|
||||
or b
|
||||
ld b, a
|
||||
ld a, [wBattleAnimTempPalette]
|
||||
and PALETTE_MASK | VRAM_BANK_1
|
||||
and OAM_PALETTE | OAM_BANK1
|
||||
or b
|
||||
ld [de], a
|
||||
|
||||
|
|
@ -203,7 +203,7 @@ InitBattleAnimBuffer:
|
|||
add hl, bc
|
||||
ld a, [hl]
|
||||
|
||||
and PRIORITY
|
||||
and OAM_PRIO
|
||||
ld [wBattleAnimTempOAMFlags], a
|
||||
xor a
|
||||
ld [wBattleAnimTempFrameOAMFlags], a
|
||||
|
|
|
|||
|
|
@ -938,7 +938,7 @@ BattleAnimFunction_RazorLeaf:
|
|||
call ReinitBattleAnimFrameset
|
||||
ld hl, BATTLEANIMSTRUCT_OAMFLAGS
|
||||
add hl, bc
|
||||
res OAM_X_FLIP, [hl]
|
||||
res B_OAM_XFLIP, [hl]
|
||||
.four
|
||||
.five
|
||||
.six
|
||||
|
|
@ -2649,7 +2649,7 @@ BattleAnimFunction_String:
|
|||
; Obj Param 0 flips when used by enemy
|
||||
ld hl, BATTLEANIMSTRUCT_OAMFLAGS
|
||||
add hl, bc
|
||||
set OAM_Y_FLIP, [hl]
|
||||
set B_OAM_YFLIP, [hl]
|
||||
.not_param_zero
|
||||
assert BATTLE_ANIM_FRAMESET_STRING_SHOT_1 + 1 == BATTLE_ANIM_FRAMESET_STRING_SHOT_2 \
|
||||
&& BATTLE_ANIM_FRAMESET_STRING_SHOT_2 + 1 == BATTLE_ANIM_FRAMESET_STRING_SHOT_3
|
||||
|
|
|
|||
|
|
@ -37,14 +37,14 @@ GetBattleAnimFrame:
|
|||
push af
|
||||
ld a, [hl]
|
||||
push hl
|
||||
and ~(Y_FLIP << 1 | X_FLIP << 1)
|
||||
and ~(OAM_YFLIP << 1 | OAM_XFLIP << 1)
|
||||
ld hl, BATTLEANIMSTRUCT_DURATION
|
||||
add hl, bc
|
||||
ld [hl], a
|
||||
pop hl
|
||||
.okay
|
||||
ld a, [hl]
|
||||
and Y_FLIP << 1 | X_FLIP << 1 ; The << 1 is compensated in the "oamframe" macro
|
||||
and OAM_YFLIP << 1 | OAM_XFLIP << 1 ; The << 1 is compensated in the "oamframe" macro
|
||||
srl a
|
||||
ld [wBattleAnimTempFrameOAMFlags], a
|
||||
pop af
|
||||
|
|
|
|||
|
|
@ -142,12 +142,12 @@ DebugColor_InitVRAM:
|
|||
call ByteFill
|
||||
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
xor a
|
||||
call ByteFill
|
||||
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
xor a
|
||||
call ByteFill
|
||||
|
||||
|
|
@ -189,7 +189,7 @@ DebugColor_InitPalettes:
|
|||
ld bc, 16 palettes
|
||||
call CopyBytes
|
||||
|
||||
ld a, 1 << rBGPI_AUTO_INCREMENT
|
||||
ld a, BGPI_AUTOINC
|
||||
ldh [rBGPI], a
|
||||
ld hl, Palette_DebugBG
|
||||
ld c, 8 palettes
|
||||
|
|
@ -199,7 +199,7 @@ DebugColor_InitPalettes:
|
|||
dec c
|
||||
jr nz, .bg_loop
|
||||
|
||||
ld a, 1 << rOBPI_AUTO_INCREMENT
|
||||
ld a, OBPI_AUTOINC
|
||||
ldh [rOBPI], a
|
||||
ld hl, Palette_DebugOB
|
||||
ld c, 8 palettes
|
||||
|
|
@ -292,7 +292,7 @@ DebugColor_InitScreen:
|
|||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, DEBUGTEST_BLACK
|
||||
call ByteFill
|
||||
hlcoord 1, 3
|
||||
|
|
@ -1080,11 +1080,11 @@ TilesetColorPicker: ; unreferenced
|
|||
ld a, HIGH(vBGMap1)
|
||||
ldh [hBGMapAddress + 1], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, DEBUGTEST_BLACK
|
||||
call ByteFill
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, PAL_BG_TEXT
|
||||
call ByteFill
|
||||
decoord 1, 1, 0
|
||||
|
|
@ -1176,7 +1176,7 @@ DebugColorMain2: ; unreferenced
|
|||
ld hl, wDebugTilesetCurPalette
|
||||
ld a, [hl]
|
||||
inc a
|
||||
and PALETTE_MASK
|
||||
and OAM_PALETTE
|
||||
cp PAL_BG_TEXT
|
||||
jr nz, .palette_ok
|
||||
xor a ; PAL_BG_GRAY
|
||||
|
|
@ -1284,7 +1284,7 @@ DebugTileset_SelectColorBox:
|
|||
inc a
|
||||
|
||||
.done
|
||||
maskbits NUM_PAL_COLORS
|
||||
maskbits PAL_COLORS
|
||||
ld [wDebugTilesetCurColor], a
|
||||
ld e, a
|
||||
ld d, 0
|
||||
|
|
|
|||
|
|
@ -1238,18 +1238,18 @@ DebugRoom_DayHTimeString:
|
|||
db "DAY H<LF>TIME@"
|
||||
|
||||
DebugRoom_GetClock:
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
xor a
|
||||
ld [MBC3LatchClock], a
|
||||
ld [rRTCLATCH], a
|
||||
inc a
|
||||
ld [MBC3LatchClock], a
|
||||
ld b, RTC_DH - RTC_S + 1
|
||||
ld c, RTC_S
|
||||
ld [rRTCLATCH], a
|
||||
ld b, RAMB_RTC_DH - RAMB_RTC_S + 1
|
||||
ld c, RAMB_RTC_S
|
||||
.loop
|
||||
ld a, c
|
||||
ld [MBC3SRamBank], a
|
||||
ld a, [MBC3RTC]
|
||||
ld [rRAMB], a
|
||||
ld a, [rRTCREG]
|
||||
ld [hli], a
|
||||
inc c
|
||||
dec b
|
||||
|
|
@ -1258,15 +1258,15 @@ DebugRoom_GetClock:
|
|||
ret
|
||||
|
||||
DebugRoom_SetClock:
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld b, RTC_DH - RTC_S + 1
|
||||
ld c, RTC_S
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
ld b, RAMB_RTC_DH - RAMB_RTC_S + 1
|
||||
ld c, RAMB_RTC_S
|
||||
.loop
|
||||
ld a, c
|
||||
ld [MBC3SRamBank], a
|
||||
ld [rRAMB], a
|
||||
ld a, [hli]
|
||||
ld [MBC3RTC], a
|
||||
ld [rRTCREG], a
|
||||
inc c
|
||||
dec b
|
||||
jr nz, .loop
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ PlaceDiplomaOnScreen:
|
|||
call Decompress
|
||||
ld hl, DiplomaPage1Tilemap
|
||||
decoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call CopyBytes
|
||||
ld de, .Player
|
||||
hlcoord 2, 5
|
||||
|
|
@ -57,12 +57,12 @@ PlaceDiplomaOnScreen:
|
|||
|
||||
PrintDiplomaPage2:
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
ld hl, DiplomaPage2Tilemap
|
||||
decoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call CopyBytes
|
||||
ld de, .GameFreak
|
||||
hlcoord 8, 0
|
||||
|
|
|
|||
|
|
@ -36,7 +36,7 @@ ShakeHeadbuttTree:
|
|||
ld hl, SPRITEANIMSTRUCT_TILE_ID
|
||||
add hl, bc
|
||||
ld [hl], FIELDMOVE_TREE
|
||||
ld a, 36 * SPRITEOAMSTRUCT_LENGTH
|
||||
ld a, 36 * OBJ_SIZE
|
||||
ld [wCurSpriteOAMAddr], a
|
||||
farcall DoNextFrameForAllSprites
|
||||
call HideHeadbuttTree
|
||||
|
|
@ -51,7 +51,7 @@ ShakeHeadbuttTree:
|
|||
and a
|
||||
jr z, .done
|
||||
dec [hl]
|
||||
ld a, 36 * SPRITEOAMSTRUCT_LENGTH
|
||||
ld a, 36 * OBJ_SIZE
|
||||
ld [wCurSpriteOAMAddr], a
|
||||
farcall DoNextFrameForAllSprites
|
||||
call DelayFrame
|
||||
|
|
@ -122,7 +122,7 @@ OWCutAnimation:
|
|||
ld a, [wJumptableIndex]
|
||||
bit JUMPTABLE_EXIT_F, a
|
||||
jr nz, .finish
|
||||
ld a, 36 * SPRITEOAMSTRUCT_LENGTH
|
||||
ld a, 36 * OBJ_SIZE
|
||||
ld [wCurSpriteOAMAddr], a
|
||||
callfar DoNextFrameForAllSprites
|
||||
call OWCutJumptable
|
||||
|
|
@ -319,7 +319,7 @@ FlyFromAnim:
|
|||
ld a, [wJumptableIndex]
|
||||
bit JUMPTABLE_EXIT_F, a
|
||||
jr nz, .exit
|
||||
ld a, 0 * SPRITEOAMSTRUCT_LENGTH
|
||||
ld a, 0 * OBJ_SIZE
|
||||
ld [wCurSpriteOAMAddr], a
|
||||
callfar DoNextFrameForAllSprites
|
||||
call FlyFunction_FrameTimer
|
||||
|
|
@ -356,7 +356,7 @@ FlyToAnim:
|
|||
ld a, [wJumptableIndex]
|
||||
bit JUMPTABLE_EXIT_F, a
|
||||
jr nz, .exit
|
||||
ld a, 0 * SPRITEOAMSTRUCT_LENGTH
|
||||
ld a, 0 * OBJ_SIZE
|
||||
ld [wCurSpriteOAMAddr], a
|
||||
callfar DoNextFrameForAllSprites
|
||||
call FlyFunction_FrameTimer
|
||||
|
|
@ -375,7 +375,7 @@ FlyToAnim:
|
|||
ld c, 4
|
||||
.OAMloop
|
||||
ld [hli], a ; tile id
|
||||
rept SPRITEOAMSTRUCT_LENGTH - 1
|
||||
rept OBJ_SIZE - 1
|
||||
inc hl
|
||||
endr
|
||||
inc a
|
||||
|
|
|
|||
|
|
@ -231,7 +231,7 @@ AnimateHOFMonEntrance:
|
|||
ld hl, wTempMonDVs
|
||||
predef GetUnownLetter
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
ld de, vTiles2 tile $31
|
||||
|
|
@ -255,7 +255,7 @@ AnimateHOFMonEntrance:
|
|||
xor a
|
||||
ld [wBoxAlignment], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
hlcoord 6, 5
|
||||
|
|
@ -448,7 +448,7 @@ DisplayHOFMon:
|
|||
ld a, "@"
|
||||
ld [wStringBuffer2 + MON_NAME_LENGTH - 1], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
hlcoord 0, 0
|
||||
|
|
@ -520,7 +520,7 @@ HOF_AnimatePlayerPic:
|
|||
lb bc, BANK(FontExtra), 1
|
||||
call Request2bpp
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
|
||||
|
|
@ -550,7 +550,7 @@ HOF_AnimatePlayerPic:
|
|||
xor a
|
||||
ld [wBoxAlignment], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
ld a, CAL
|
||||
|
|
|
|||
|
|
@ -134,25 +134,25 @@ ENDM
|
|||
ret
|
||||
|
||||
.PC_ElmsLab_OAM:
|
||||
dbsprite 4, 4, 2, 0, $7c, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 4, 4, 6, 0, $7c, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 4, 4, 0, 6, $7d, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 5, 4, 0, 6, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP
|
||||
dbsprite 4, 5, 0, 3, $7d, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 5, 5, 0, 3, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP
|
||||
dbsprite 4, 6, 0, 0, $7d, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 5, 6, 0, 0, $7d, PAL_OW_TREE | OBP_NUM | X_FLIP
|
||||
dbsprite 4, 4, 2, 0, $7c, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 4, 4, 6, 0, $7c, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 4, 4, 0, 6, $7d, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 5, 4, 0, 6, $7d, PAL_OW_TREE | OAM_PAL1 | OAM_XFLIP
|
||||
dbsprite 4, 5, 0, 3, $7d, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 5, 5, 0, 3, $7d, PAL_OW_TREE | OAM_PAL1 | OAM_XFLIP
|
||||
dbsprite 4, 6, 0, 0, $7d, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 5, 6, 0, 0, $7d, PAL_OW_TREE | OAM_PAL1 | OAM_XFLIP
|
||||
|
||||
.HealMachineGFX:
|
||||
INCBIN "gfx/overworld/heal_machine.2bpp"
|
||||
|
||||
.HOF_OAM:
|
||||
dbsprite 10, 7, 1, 4, $7d, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 10, 7, 6, 4, $7d, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 9, 7, 5, 3, $7d, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 11, 7, 2, 3, $7d, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 9, 7, 1, 1, $7d, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 11, 7, 5, 1, $7d, PAL_OW_TREE | OBP_NUM
|
||||
dbsprite 10, 7, 1, 4, $7d, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 10, 7, 6, 4, $7d, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 9, 7, 5, 3, $7d, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 11, 7, 2, 3, $7d, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 9, 7, 1, 1, $7d, PAL_OW_TREE | OAM_PAL1
|
||||
dbsprite 11, 7, 5, 1, $7d, PAL_OW_TREE | OAM_PAL1
|
||||
|
||||
.LoadPalettes:
|
||||
call IsCGB
|
||||
|
|
|
|||
|
|
@ -167,7 +167,7 @@ DrawMagnetTrain:
|
|||
xor a
|
||||
.loop
|
||||
call GetMagnetTrainBGTiles
|
||||
ld b, BG_MAP_WIDTH / 2
|
||||
ld b, TILEMAP_WIDTH / 2
|
||||
call .FillAlt
|
||||
inc a
|
||||
cp SCREEN_HEIGHT
|
||||
|
|
@ -244,19 +244,19 @@ SetMagnetTrainPals:
|
|||
|
||||
; bushes
|
||||
hlbgcoord 0, 0
|
||||
ld bc, 4 * BG_MAP_WIDTH
|
||||
ld bc, 4 * TILEMAP_WIDTH
|
||||
ld a, PAL_BG_GREEN
|
||||
call ByteFill
|
||||
|
||||
; train
|
||||
hlbgcoord 0, 4
|
||||
ld bc, 10 * BG_MAP_WIDTH
|
||||
ld bc, 10 * TILEMAP_WIDTH
|
||||
xor a ; PAL_BG_GRAY
|
||||
call ByteFill
|
||||
|
||||
; more bushes
|
||||
hlbgcoord 0, 14
|
||||
ld bc, 4 * BG_MAP_WIDTH
|
||||
ld bc, 4 * TILEMAP_WIDTH
|
||||
ld a, PAL_BG_GREEN
|
||||
call ByteFill
|
||||
|
||||
|
|
|
|||
|
|
@ -204,7 +204,7 @@ INCBIN "gfx/printer/bold_b.1bpp"
|
|||
|
||||
PlaceUnownPrinterFrontpic:
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
hlcoord 7, 11
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ RotateUnownFrontpic:
|
|||
ld hl, wPrintedUnownTileDest
|
||||
call .Copy
|
||||
pop hl
|
||||
ld bc, LEN_2BPP_TILE
|
||||
ld bc, TILE_SIZE
|
||||
add hl, bc
|
||||
pop bc
|
||||
inc c
|
||||
|
|
@ -44,7 +44,7 @@ RotateUnownFrontpic:
|
|||
ret
|
||||
|
||||
.Copy:
|
||||
ld c, LEN_2BPP_TILE
|
||||
ld c, TILE_SIZE
|
||||
.loop_copy
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
|
|
|
|||
|
|
@ -502,7 +502,7 @@ CardFlip_InitTilemap:
|
|||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, $29
|
||||
call ByteFill
|
||||
hlcoord 9, 0
|
||||
|
|
@ -1149,25 +1149,25 @@ PlaceOAMCardBorder:
|
|||
dbsprite 1, 0, 0, 0, $06, 0
|
||||
dbsprite 2, 0, 0, 0, $06, 0
|
||||
dbsprite 3, 0, 0, 0, $06, 0
|
||||
dbsprite 4, 0, 0, 0, $04, 0 | X_FLIP
|
||||
dbsprite 4, 0, 0, 0, $04, 0 | OAM_XFLIP
|
||||
|
||||
dbsprite 0, 1, 0, 0, $05, 0
|
||||
dbsprite 4, 1, 0, 0, $05, 0 | X_FLIP
|
||||
dbsprite 4, 1, 0, 0, $05, 0 | OAM_XFLIP
|
||||
|
||||
dbsprite 0, 2, 0, 0, $05, 0
|
||||
dbsprite 4, 2, 0, 0, $05, 0 | X_FLIP
|
||||
dbsprite 4, 2, 0, 0, $05, 0 | OAM_XFLIP
|
||||
|
||||
dbsprite 0, 3, 0, 0, $05, 0
|
||||
dbsprite 4, 3, 0, 0, $05, 0 | X_FLIP
|
||||
dbsprite 4, 3, 0, 0, $05, 0 | OAM_XFLIP
|
||||
|
||||
dbsprite 0, 4, 0, 0, $05, $00
|
||||
dbsprite 4, 4, 0, 0, $05, 0 | X_FLIP
|
||||
dbsprite 4, 4, 0, 0, $05, 0 | OAM_XFLIP
|
||||
|
||||
dbsprite 0, 5, 0, 0, $04, 0 | Y_FLIP
|
||||
dbsprite 1, 5, 0, 0, $06, 0 | Y_FLIP
|
||||
dbsprite 2, 5, 0, 0, $06, 0 | Y_FLIP
|
||||
dbsprite 3, 5, 0, 0, $06, 0 | Y_FLIP
|
||||
dbsprite 4, 5, 0, 0, $04, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, 5, 0, 0, $04, 0 | OAM_YFLIP
|
||||
dbsprite 1, 5, 0, 0, $06, 0 | OAM_YFLIP
|
||||
dbsprite 2, 5, 0, 0, $06, 0 | OAM_YFLIP
|
||||
dbsprite 3, 5, 0, 0, $06, 0 | OAM_YFLIP
|
||||
dbsprite 4, 5, 0, 0, $04, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
|
||||
ChooseCard_HandleJoypad:
|
||||
ld hl, hJoyLast
|
||||
|
|
@ -1400,145 +1400,145 @@ ENDM
|
|||
|
||||
.SingleTile:
|
||||
db 6
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 1, 0, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 0, 7, 5, $00, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 0, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 1, 0, 0, 5, $03, 0 | PRIORITY
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 0, 7, 5, $00, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 5, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 5, $03, 0 | OAM_PRIO
|
||||
|
||||
.PokeGroup:
|
||||
db 26
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 1, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
|
||||
dbsprite -1, 1, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 1, 0, 0, $01, 0 | X_FLIP | PRIORITY
|
||||
dbsprite -1, 2, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 2, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 3, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 3, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 4, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 4, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 5, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 5, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 6, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 6, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 7, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 7, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 8, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 8, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 9, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 9, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 10, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 10, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 10, 7, 1, $00, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 0, 10, 0, 1, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 1, 10, 0, 1, $03, 0 | PRIORITY
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 0, $00, 0 | OAM_XFLIP | OAM_PRIO
|
||||
dbsprite -1, 1, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 1, 0, 0, $01, 0 | OAM_XFLIP | OAM_PRIO
|
||||
dbsprite -1, 2, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 2, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 3, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 3, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 4, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 4, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 5, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 5, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 6, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 6, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 7, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 7, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 8, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 8, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 9, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 9, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 10, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 10, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 10, 7, 1, $00, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 0, 10, 0, 1, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 1, 10, 0, 1, $03, 0 | OAM_PRIO
|
||||
|
||||
.NumGroup:
|
||||
db 20
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 1, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 2, 0, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 4, 0, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 5, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 6, 0, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 7, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 8, 0, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 0, 7, 5, $00, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 0, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 1, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 2, 0, 0, 5, $03, 0 | PRIORITY
|
||||
dbsprite 3, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 4, 0, 0, 5, $03, 0 | PRIORITY
|
||||
dbsprite 5, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 6, 0, 0, 5, $03, 0 | PRIORITY
|
||||
dbsprite 7, 0, 0, 5, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 8, 0, 0, 5, $03, 0 | PRIORITY
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 2, 0, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 4, 0, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 5, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 6, 0, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 7, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 8, 0, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 0, 7, 5, $00, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 0, 0, 0, 5, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 5, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 2, 0, 0, 5, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 0, 0, 5, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 4, 0, 0, 5, $03, 0 | OAM_PRIO
|
||||
dbsprite 5, 0, 0, 5, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 6, 0, 0, 5, $03, 0 | OAM_PRIO
|
||||
dbsprite 7, 0, 0, 5, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 8, 0, 0, 5, $03, 0 | OAM_PRIO
|
||||
|
||||
.NumGroupPair:
|
||||
db 30
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | PRIORITY
|
||||
dbsprite 1, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 2, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 3, 0, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 4, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 5, 0, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 6, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 7, 0, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 8, 0, 0, 0, $02, 0 | PRIORITY
|
||||
dbsprite 9, 0, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 0, 1, 0, 0, $01, 0 | PRIORITY
|
||||
dbsprite 3, 1, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 5, 1, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 7, 1, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 9, 1, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 0, 2, 0, 0, $01, 0 | PRIORITY
|
||||
dbsprite 3, 2, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 5, 2, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 7, 2, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 9, 2, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 0, 2, 0, 1, $00, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 1, 2, 0, 1, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 2, 2, 0, 1, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 3, 2, 0, 1, $03, 0 | PRIORITY
|
||||
dbsprite 4, 2, 0, 1, $03, 0 | PRIORITY
|
||||
dbsprite 5, 2, 0, 1, $03, 0 | PRIORITY
|
||||
dbsprite 6, 2, 0, 1, $03, 0 | PRIORITY
|
||||
dbsprite 7, 2, 0, 1, $03, 0 | PRIORITY
|
||||
dbsprite 8, 2, 0, 1, $03, 0 | PRIORITY
|
||||
dbsprite 9, 2, 0, 1, $03, 0 | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 2, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 3, 0, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 4, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 5, 0, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 6, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 7, 0, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 8, 0, 0, 0, $02, 0 | OAM_PRIO
|
||||
dbsprite 9, 0, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 0, 1, 0, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 3, 1, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 5, 1, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 7, 1, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 9, 1, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 0, 2, 0, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 3, 2, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 5, 2, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 7, 2, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 9, 2, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 0, 2, 0, 1, $00, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 1, 2, 0, 1, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 2, 2, 0, 1, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 3, 2, 0, 1, $03, 0 | OAM_PRIO
|
||||
dbsprite 4, 2, 0, 1, $03, 0 | OAM_PRIO
|
||||
dbsprite 5, 2, 0, 1, $03, 0 | OAM_PRIO
|
||||
dbsprite 6, 2, 0, 1, $03, 0 | OAM_PRIO
|
||||
dbsprite 7, 2, 0, 1, $03, 0 | OAM_PRIO
|
||||
dbsprite 8, 2, 0, 1, $03, 0 | OAM_PRIO
|
||||
dbsprite 9, 2, 0, 1, $03, 0 | OAM_PRIO
|
||||
|
||||
.PokeGroupPair:
|
||||
db 38
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | PRIORITY
|
||||
dbsprite 3, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
|
||||
dbsprite -1, 1, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 3, 1, 0, 0, $01, 0 | X_FLIP | PRIORITY
|
||||
dbsprite -1, 2, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 3, 2, 0, 0, $01, 0 | X_FLIP | PRIORITY
|
||||
dbsprite -1, 3, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 3, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 3, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 4, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 4, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 4, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 5, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 5, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 5, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 6, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 6, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 6, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 7, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 7, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 7, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 8, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 8, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 8, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 9, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 9, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 9, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 10, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 10, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 10, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 11, 7, 0, $01, 0 | PRIORITY
|
||||
dbsprite 1, 11, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite 3, 11, 0, 0, $03, 0 | PRIORITY
|
||||
dbsprite -1, 11, 7, 1, $00, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 0, 11, 0, 1, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 1, 11, 0, 1, $03, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 2, 11, 0, 1, $02, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 3, 11, 0, 1, $03, 0 | X_FLIP | Y_FLIP | PRIORITY
|
||||
dbsprite -1, 0, 7, 0, $00, 0 | OAM_PRIO
|
||||
dbsprite 3, 0, 0, 0, $00, 0 | OAM_XFLIP | OAM_PRIO
|
||||
dbsprite -1, 1, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 3, 1, 0, 0, $01, 0 | OAM_XFLIP | OAM_PRIO
|
||||
dbsprite -1, 2, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 3, 2, 0, 0, $01, 0 | OAM_XFLIP | OAM_PRIO
|
||||
dbsprite -1, 3, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 3, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 3, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 4, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 4, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 4, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 5, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 5, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 5, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 6, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 6, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 6, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 7, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 7, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 7, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 8, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 8, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 8, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 9, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 9, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 9, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 10, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 10, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 10, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 11, 7, 0, $01, 0 | OAM_PRIO
|
||||
dbsprite 1, 11, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite 3, 11, 0, 0, $03, 0 | OAM_PRIO
|
||||
dbsprite -1, 11, 7, 1, $00, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 0, 11, 0, 1, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 1, 11, 0, 1, $03, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 2, 11, 0, 1, $02, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 3, 11, 0, 1, $03, 0 | OAM_XFLIP | OAM_YFLIP | OAM_PRIO
|
||||
|
||||
.Impossible:
|
||||
db 4
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | PRIORITY
|
||||
dbsprite 1, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
|
||||
dbsprite 0, 1, 0, 0, $00, 0 | Y_FLIP | PRIORITY
|
||||
dbsprite 1, 1, 0, 0, $00, 0 | X_FLIP | Y_FLIP | PRIORITY
|
||||
dbsprite 0, 0, 0, 0, $00, 0 | OAM_PRIO
|
||||
dbsprite 1, 0, 0, 0, $00, 0 | OAM_XFLIP | OAM_PRIO
|
||||
dbsprite 0, 1, 0, 0, $00, 0 | OAM_YFLIP | OAM_PRIO
|
||||
dbsprite 1, 1, 0, 0, $00, 0 | OAM_XFLIP | OAM_YFLIP | OAM_PRIO
|
||||
|
||||
CardFlip_InitAttrPals:
|
||||
ldh a, [hCGB]
|
||||
|
|
@ -1546,7 +1546,7 @@ CardFlip_InitAttrPals:
|
|||
ret z
|
||||
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
xor a
|
||||
call ByteFill
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ _MemoryGame:
|
|||
ld [hli], a
|
||||
ld [hl], $00
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
xor a
|
||||
call ByteFill
|
||||
xor a
|
||||
|
|
@ -447,7 +447,7 @@ MemoryGame_DeleteCard:
|
|||
|
||||
MemoryGame_InitStrings:
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, $1
|
||||
call ByteFill
|
||||
hlcoord 0, 0
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ _SlotMachine:
|
|||
ld hl, wOptions
|
||||
res NO_TEXT_SCROLL, [hl]
|
||||
ld hl, rLCDC
|
||||
res rLCDC_SPRITE_SIZE, [hl] ; 8x8
|
||||
res B_LCDC_OBJ_SIZE, [hl] ; 8x8
|
||||
ret
|
||||
|
||||
.InitGFX:
|
||||
|
|
@ -141,7 +141,7 @@ _SlotMachine:
|
|||
call CopyBytes
|
||||
|
||||
ld hl, rLCDC
|
||||
set rLCDC_SPRITE_SIZE, [hl] ; 8x16
|
||||
set B_LCDC_OBJ_SIZE, [hl] ; 8x16
|
||||
call EnableLCD
|
||||
ld hl, wSlots
|
||||
ld bc, wSlotsEnd - wSlots
|
||||
|
|
@ -260,12 +260,12 @@ AnimateSlotReelIcons: ; unreferenced
|
|||
and $7
|
||||
ret nz
|
||||
ld hl, wShadowOAMSprite16TileID
|
||||
ld c, NUM_SPRITE_OAM_STRUCTS - 16
|
||||
ld c, OAM_COUNT - 16
|
||||
.loop
|
||||
ld a, [hl]
|
||||
xor $20 ; alternate between $00-$1f and $20-$3f
|
||||
ld [hli], a ; tile id
|
||||
rept SPRITEOAMSTRUCT_LENGTH - 1
|
||||
rept OBJ_SIZE - 1
|
||||
inc hl
|
||||
endr
|
||||
dec c
|
||||
|
|
@ -826,7 +826,7 @@ Slots_UpdateReelPositionAndOAM:
|
|||
ld [hli], a ; tile id
|
||||
srl a
|
||||
srl a
|
||||
set OAM_PRIORITY, a
|
||||
set B_OAM_PRIO, a
|
||||
ld [hli], a ; attributes
|
||||
|
||||
ld a, [wCurReelYCoord]
|
||||
|
|
@ -840,7 +840,7 @@ Slots_UpdateReelPositionAndOAM:
|
|||
ld [hli], a ; tile id
|
||||
srl a
|
||||
srl a
|
||||
set OAM_PRIORITY, a
|
||||
set B_OAM_PRIO, a
|
||||
ld [hli], a ; attributes
|
||||
inc de
|
||||
ld a, [wCurReelYCoord]
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ _UnownPuzzle:
|
|||
call Decompress
|
||||
call LoadUnownPuzzlePiecesGFX
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, PUZZLE_BORDER
|
||||
call ByteFill
|
||||
hlcoord 4, 3
|
||||
|
|
@ -557,13 +557,13 @@ RedrawUnownPuzzlePieces:
|
|||
.OAM_NotHoldingPiece:
|
||||
dbsprite -1, -1, -4, -4, $00, 0
|
||||
dbsprite 0, -1, -4, -4, $01, 0
|
||||
dbsprite 0, -1, 4, -4, $00, 0 | X_FLIP
|
||||
dbsprite 0, -1, 4, -4, $00, 0 | OAM_XFLIP
|
||||
dbsprite -1, 0, -4, -4, $02, 0
|
||||
dbsprite 0, 0, -4, -4, $03, 0
|
||||
dbsprite 0, 0, 4, -4, $02, 0 | X_FLIP
|
||||
dbsprite -1, 0, -4, 4, $00, 0 | Y_FLIP
|
||||
dbsprite 0, 0, -4, 4, $01, 0 | Y_FLIP
|
||||
dbsprite 0, 0, 4, 4, $00, 0 | X_FLIP | Y_FLIP
|
||||
dbsprite 0, 0, 4, -4, $02, 0 | OAM_XFLIP
|
||||
dbsprite -1, 0, -4, 4, $00, 0 | OAM_YFLIP
|
||||
dbsprite 0, 0, -4, 4, $01, 0 | OAM_YFLIP
|
||||
dbsprite 0, 0, 4, 4, $00, 0 | OAM_XFLIP | OAM_YFLIP
|
||||
db -1
|
||||
|
||||
UnownPuzzleCoordData:
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ _CGB_FinishBattleScreenLayout:
|
|||
ld bc, 1 palettes
|
||||
call CopyBytes
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, PAL_BATTLE_BG_ENEMY_HP
|
||||
call ByteFill
|
||||
hlcoord 0, 4, wAttrmap
|
||||
|
|
@ -615,7 +615,7 @@ _CGB_TrainerCard:
|
|||
|
||||
; card border
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, $1 ; falkner
|
||||
call ByteFill
|
||||
; trainer sprite area
|
||||
|
|
|
|||
|
|
@ -450,7 +450,7 @@ LoadPalette_White_Col1_Col2_Black:
|
|||
ld [de], a
|
||||
inc de
|
||||
|
||||
ld c, 2 * PAL_COLOR_SIZE
|
||||
ld c, 2 * COLOR_SIZE
|
||||
.loop
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
|
|
@ -509,7 +509,7 @@ ResetBGPals:
|
|||
|
||||
WipeAttrmap:
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
xor a
|
||||
call ByteFill
|
||||
ret
|
||||
|
|
@ -523,7 +523,7 @@ ApplyPals:
|
|||
|
||||
ApplyAttrmap:
|
||||
ldh a, [rLCDC]
|
||||
bit rLCDC_ENABLE, a
|
||||
bit B_LCDC_ENABLE, a
|
||||
jr z, .UpdateVBank1
|
||||
ldh a, [hBGMapMode]
|
||||
push af
|
||||
|
|
@ -551,7 +551,7 @@ ApplyAttrmap:
|
|||
inc de
|
||||
dec c
|
||||
jr nz, .col
|
||||
ld a, BG_MAP_WIDTH - SCREEN_WIDTH
|
||||
ld a, TILEMAP_WIDTH - SCREEN_WIDTH
|
||||
add e
|
||||
jr nc, .okay
|
||||
inc d
|
||||
|
|
@ -647,7 +647,7 @@ CGBCopyBattleObjectPals: ; unreferenced
|
|||
call CheckCGB
|
||||
ret z
|
||||
ld hl, BattleObjectPals
|
||||
ld a, (1 << rOBPI_AUTO_INCREMENT) | $10
|
||||
ld a, OBPI_AUTOINC | $10
|
||||
ldh [rOBPI], a
|
||||
ld c, 6 palettes
|
||||
.loop
|
||||
|
|
@ -667,7 +667,7 @@ INCLUDE "gfx/battle_anims/battle_anims.pal"
|
|||
CGBCopyTwoPredefObjectPals: ; unreferenced
|
||||
call CheckCGB
|
||||
ret z
|
||||
ld a, (1 << rOBPI_AUTO_INCREMENT) | $10
|
||||
ld a, OBPI_AUTOINC | $10
|
||||
ldh [rOBPI], a
|
||||
ld a, PREDEFPAL_TRADE_TUBE
|
||||
call GetPredefPal
|
||||
|
|
@ -807,7 +807,7 @@ InitCGBPals::
|
|||
call ByteFill
|
||||
ld a, BANK(vTiles0)
|
||||
ldh [rVBK], a
|
||||
ld a, 1 << rBGPI_AUTO_INCREMENT
|
||||
ld a, BGPI_AUTOINC
|
||||
ldh [rBGPI], a
|
||||
ld c, 4 * TILE_WIDTH
|
||||
.bgpals_loop
|
||||
|
|
@ -817,7 +817,7 @@ InitCGBPals::
|
|||
ldh [rBGPD], a
|
||||
dec c
|
||||
jr nz, .bgpals_loop
|
||||
ld a, 1 << rOBPI_AUTO_INCREMENT
|
||||
ld a, OBPI_AUTOINC
|
||||
ldh [rOBPI], a
|
||||
ld c, 4 * TILE_WIDTH
|
||||
.obpals_loop
|
||||
|
|
@ -955,7 +955,7 @@ endr
|
|||
|
||||
SGBBorder_PushBGPals:
|
||||
call DisableLCD
|
||||
ld a, %11100100
|
||||
ld a, BGP_SGB_TRANSFER
|
||||
ldh [rBGP], a
|
||||
ld hl, PredefPals
|
||||
ld de, vTiles1
|
||||
|
|
@ -972,7 +972,7 @@ SGBBorder_PushBGPals:
|
|||
|
||||
SGBBorder_MorePalPushing:
|
||||
call DisableLCD
|
||||
ld a, $e4
|
||||
ld a, BGP_SGB_TRANSFER
|
||||
ldh [rBGP], a
|
||||
ld de, vTiles1
|
||||
ld bc, (6 + SCREEN_WIDTH + 6) * 5 * 2
|
||||
|
|
@ -1006,7 +1006,7 @@ SGBBorder_MorePalPushing:
|
|||
|
||||
SGBBorder_YetMorePalPushing:
|
||||
call DisableLCD
|
||||
ld a, %11100100
|
||||
ld a, BGP_SGB_TRANSFER
|
||||
ldh [rBGP], a
|
||||
ld de, vTiles1
|
||||
ld b, $80
|
||||
|
|
@ -1055,7 +1055,7 @@ ClearBytes:
|
|||
DrawDefaultTiles:
|
||||
; Draw 240 tiles (2/3 of the screen) from tiles in VRAM
|
||||
hlbgcoord 0, 0 ; BG Map 0
|
||||
ld de, BG_MAP_WIDTH - SCREEN_WIDTH
|
||||
ld de, TILEMAP_WIDTH - SCREEN_WIDTH
|
||||
ld a, $80 ; starting tile
|
||||
ld c, 12 + 1
|
||||
.line
|
||||
|
|
@ -1088,7 +1088,7 @@ INCLUDE "gfx/sgb/pal_packets.asm"
|
|||
INCLUDE "data/sgb_ctrl_packets.asm"
|
||||
|
||||
PredefPals:
|
||||
table_width PALETTE_SIZE
|
||||
table_width PAL_SIZE
|
||||
INCLUDE "gfx/sgb/predef.pal"
|
||||
assert_table_length NUM_PREDEF_PALS
|
||||
|
||||
|
|
@ -1218,7 +1218,7 @@ MapObjectPals::
|
|||
INCLUDE "gfx/overworld/npc_sprites.pal"
|
||||
|
||||
RoofPals:
|
||||
table_width PAL_COLOR_SIZE * 2 * 2
|
||||
table_width COLOR_SIZE * 2 * 2
|
||||
INCLUDE "gfx/tilesets/roofs.pal"
|
||||
assert_table_length NUM_MAP_GROUPS + 1
|
||||
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ _LoadFontsBattleExtra::
|
|||
LoadFrame:
|
||||
ld a, [wTextboxFrame]
|
||||
maskbits NUM_FRAMES
|
||||
ld bc, TEXTBOX_FRAME_TILES * LEN_1BPP_TILE
|
||||
ld bc, TEXTBOX_FRAME_TILES * TILE_1BPP_SIZE
|
||||
ld hl, Frames
|
||||
call AddNTimes
|
||||
ld d, h
|
||||
|
|
@ -79,7 +79,7 @@ StatsScreen_LoadFont::
|
|||
ld hl, vTiles2 tile $78
|
||||
lb bc, BANK(HPExpBarBorderGFX), 1
|
||||
call Get1bpp
|
||||
ld de, HPExpBarBorderGFX + 3 * LEN_1BPP_TILE
|
||||
ld de, HPExpBarBorderGFX + 3 * TILE_1BPP_SIZE
|
||||
ld hl, vTiles2 tile $76
|
||||
lb bc, BANK(HPExpBarBorderGFX), 2
|
||||
call Get1bpp
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ hTransferShadowOAM::
|
|||
ld a, HIGH(wShadowOAM)
|
||||
ldh [rDMA], a
|
||||
; wait for DMA to finish
|
||||
ld a, NUM_SPRITE_OAM_STRUCTS
|
||||
ld a, OAM_COUNT
|
||||
.wait
|
||||
dec a
|
||||
jr nz, .wait
|
||||
|
|
|
|||
|
|
@ -1414,7 +1414,7 @@ Pack_GetItemName:
|
|||
|
||||
Pack_ClearTilemap: ; unreferenced
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -49,17 +49,17 @@ Gen2ToGen1LinkComms:
|
|||
call DelayFrames
|
||||
xor a
|
||||
ldh [hSerialSend], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
|
||||
call DelayFrame
|
||||
xor a
|
||||
ldh [hSerialSend], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
|
||||
.player_1
|
||||
|
|
@ -75,7 +75,7 @@ endc
|
|||
call DelayFrames
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, 1 << SERIAL
|
||||
ld a, IE_SERIAL
|
||||
ldh [rIE], a
|
||||
|
||||
ld hl, wLinkBattleRNPreamble
|
||||
|
|
@ -102,7 +102,7 @@ endc
|
|||
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, (1 << JOYPAD) | (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK)
|
||||
ld a, IE_JOYPAD | IE_SERIAL | IE_TIMER | IE_VBLANK
|
||||
ldh [rIE], a
|
||||
|
||||
call Link_CopyRandomNumbers
|
||||
|
|
@ -215,17 +215,17 @@ Gen2ToGen2LinkComms:
|
|||
call DelayFrames
|
||||
xor a
|
||||
ldh [hSerialSend], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
|
||||
call DelayFrame
|
||||
xor a
|
||||
ldh [hSerialSend], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
|
||||
.player_1
|
||||
|
|
@ -241,7 +241,7 @@ endc
|
|||
call DelayFrames
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, 1 << SERIAL
|
||||
ld a, IE_SERIAL
|
||||
ldh [rIE], a
|
||||
|
||||
ld hl, wLinkBattleRNPreamble
|
||||
|
|
@ -278,7 +278,7 @@ endc
|
|||
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, (1 << JOYPAD) | (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK)
|
||||
ld a, IE_JOYPAD | IE_SERIAL | IE_TIMER | IE_VBLANK
|
||||
ldh [rIE], a
|
||||
ld de, MUSIC_NONE
|
||||
call PlayMusic
|
||||
|
|
@ -1493,9 +1493,9 @@ ExitLinkCommunications:
|
|||
xor a
|
||||
ldh [rSB], a
|
||||
ldh [hSerialSend], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
vc_hook ExitLinkCommunications_ret
|
||||
ret
|
||||
|
|
@ -2091,18 +2091,18 @@ WaitForOtherPlayerToExit:
|
|||
xor a
|
||||
ldh [rSB], a
|
||||
ldh [hSerialReceive], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld c, 3
|
||||
call DelayFrames
|
||||
xor a
|
||||
ldh [rSB], a
|
||||
ldh [hSerialReceive], a
|
||||
ld a, (0 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
ld c, 3
|
||||
call DelayFrames
|
||||
|
|
@ -2140,9 +2140,9 @@ SetBitsForTimeCapsuleRequest:
|
|||
ldh [rSB], a
|
||||
xor a
|
||||
ldh [hSerialReceive], a
|
||||
ld a, (0 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
xor a ; LINK_NULL
|
||||
ld [wPlayerLinkAction], a
|
||||
|
|
@ -2157,9 +2157,9 @@ WaitForLinkedFriend:
|
|||
ldh [rSB], a
|
||||
xor a
|
||||
ldh [hSerialReceive], a
|
||||
ld a, (0 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
call DelayFrame
|
||||
call DelayFrame
|
||||
|
|
@ -2182,9 +2182,9 @@ WaitForLinkedFriend:
|
|||
ldh [rSB], a
|
||||
xor a
|
||||
ldh [hSerialReceive], a
|
||||
ld a, (0 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_EXTERNAL
|
||||
; This vc_hook causes the Virtual Console to set [hSerialConnectionStatus] to
|
||||
; USING_INTERNAL_CLOCK, which allows the player to proceed past the link
|
||||
; receptionist's "Please wait." It assumes that hSerialConnectionStatus is at
|
||||
|
|
@ -2207,9 +2207,9 @@ WaitForLinkedFriend:
|
|||
.not_done
|
||||
ld a, USING_EXTERNAL_CLOCK
|
||||
ldh [rSB], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
call DelayFrame
|
||||
jr .loop
|
||||
|
|
|
|||
|
|
@ -324,14 +324,14 @@ endc
|
|||
jr c, .wait_frame
|
||||
|
||||
ld c, LOW(rRP)
|
||||
ld a, rRP_ENABLE_READ_MASK
|
||||
ld a, RP_ENABLE
|
||||
ldh [c], a
|
||||
|
||||
ld b, 60 * 4 ; 4 seconds
|
||||
.continue
|
||||
push bc
|
||||
call MysteryGift_UpdateJoypad
|
||||
ld b, 1 << rRP_RECEIVING
|
||||
ld b, RP_DATA_IN
|
||||
ld c, LOW(rRP)
|
||||
.in_vblank
|
||||
ldh a, [c]
|
||||
|
|
@ -536,7 +536,7 @@ EndOrContinueMysteryGiftIRCommunication:
|
|||
xor a
|
||||
ldh [rIF], a
|
||||
ldh a, [rIE]
|
||||
or 1 << VBLANK
|
||||
or IE_VBLANK
|
||||
ldh [rIE], a
|
||||
ei
|
||||
call DelayFrame
|
||||
|
|
@ -580,7 +580,7 @@ TryReceivingIRDataBlock:
|
|||
|
||||
InitializeIRCommunicationInterrupts:
|
||||
call StartFastIRTimer
|
||||
ld a, 1 << TIMER
|
||||
ld a, IE_TIMER
|
||||
ldh [rIE], a
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
|
|
@ -602,9 +602,9 @@ StartFastIRTimer:
|
|||
ld a, -2
|
||||
ldh [rTMA], a
|
||||
ldh [rTIMA], a
|
||||
ld a, rTAC_65536_HZ
|
||||
ld a, TAC_65KHZ
|
||||
ldh [rTAC], a
|
||||
or 1 << rTAC_ON
|
||||
or TAC_START
|
||||
ldh [rTAC], a
|
||||
ret
|
||||
|
||||
|
|
@ -614,14 +614,14 @@ StartSlowIRTimer:
|
|||
ldh [rTAC], a
|
||||
ldh [rTMA], a
|
||||
ldh [rTIMA], a
|
||||
ld a, rTAC_65536_HZ
|
||||
ld a, TAC_65KHZ
|
||||
ldh [rTAC], a
|
||||
or 1 << rTAC_ON
|
||||
or TAC_START
|
||||
ldh [rTAC], a
|
||||
ret
|
||||
|
||||
BeginIRCommunication:
|
||||
ld a, rRP_ENABLE_READ_MASK
|
||||
ld a, RP_ENABLE
|
||||
call ToggleIRCommunication
|
||||
ld a, IR_RECEIVER
|
||||
ldh [hMGRole], a
|
||||
|
|
@ -630,7 +630,7 @@ BeginIRCommunication:
|
|||
EndIRCommunication:
|
||||
xor a
|
||||
call ToggleIRCommunication
|
||||
ld a, rTAC_65536_HZ
|
||||
ld a, TAC_65KHZ
|
||||
ldh [rTAC], a
|
||||
ret
|
||||
|
||||
|
|
@ -644,7 +644,7 @@ ReceiveInfraredLEDOn:
|
|||
halt
|
||||
nop
|
||||
ldh a, [c]
|
||||
bit rRP_RECEIVING, a
|
||||
bit B_RP_DATA_IN, a
|
||||
jr z, .recv_loop
|
||||
or a
|
||||
ret
|
||||
|
|
@ -659,14 +659,14 @@ ReceiveInfraredLEDOff:
|
|||
halt
|
||||
nop
|
||||
ldh a, [c]
|
||||
bit rRP_RECEIVING, a
|
||||
bit B_RP_DATA_IN, a
|
||||
jr nz, .no_recv_loop
|
||||
or a
|
||||
ret
|
||||
|
||||
SendInfraredLEDOn:
|
||||
; Holds the IR LED on for d-1 interrupts.
|
||||
ld a, rRP_ENABLE_READ_MASK | (1 << rRP_LED_ON)
|
||||
ld a, RP_ENABLE | RP_LED_ON
|
||||
ldh [c], a
|
||||
.wait
|
||||
dec d
|
||||
|
|
@ -679,7 +679,7 @@ SendInfraredLEDOn:
|
|||
|
||||
SendInfraredLEDOff:
|
||||
; Holds the IR LED off for d-1 interrupts.
|
||||
ld a, rRP_ENABLE_READ_MASK
|
||||
ld a, RP_ENABLE
|
||||
ldh [c], a
|
||||
.wait
|
||||
dec d
|
||||
|
|
@ -698,7 +698,7 @@ InitializeIRCommunicationRoles:
|
|||
ldh [hMGRole], a
|
||||
.loop
|
||||
call MysteryGift_UpdateJoypad
|
||||
ld b, 1 << rRP_RECEIVING
|
||||
ld b, RP_DATA_IN
|
||||
ld c, LOW(rRP)
|
||||
; Check if we've pressed the B button to cancel
|
||||
ldh a, [hMGJoypadReleased]
|
||||
|
|
@ -885,7 +885,7 @@ SendIRDataMessage:
|
|||
ldh [rIF], a
|
||||
halt
|
||||
nop
|
||||
ld a, rRP_ENABLE_READ_MASK | (1 << rRP_LED_ON)
|
||||
ld a, RP_ENABLE | RP_LED_ON
|
||||
ldh [rRP], a
|
||||
; Turn the LED off for longer if the bit is 1
|
||||
ld d, 1
|
||||
|
|
@ -898,7 +898,7 @@ SendIRDataMessage:
|
|||
ldh a, [rTIMA]
|
||||
cp -8
|
||||
jr c, .wait
|
||||
ld a, rRP_ENABLE_READ_MASK
|
||||
ld a, RP_ENABLE
|
||||
ldh [rRP], a
|
||||
dec d
|
||||
jr z, .no_halt
|
||||
|
|
@ -1036,7 +1036,7 @@ ReceiveIRDataMessage:
|
|||
inc d
|
||||
jr z, .recv_done
|
||||
ldh a, [c]
|
||||
bit rRP_RECEIVING, a
|
||||
bit B_RP_DATA_IN, a
|
||||
jr z, .recv_loop
|
||||
ld d, 0
|
||||
.recv_done
|
||||
|
|
@ -1044,7 +1044,7 @@ ReceiveIRDataMessage:
|
|||
inc d
|
||||
jr z, .send_done
|
||||
ldh a, [c]
|
||||
bit rRP_RECEIVING, a
|
||||
bit B_RP_DATA_IN, a
|
||||
jr nz, .send_loop
|
||||
.send_done
|
||||
ldh a, [hMGPrevTIMA]
|
||||
|
|
@ -1102,7 +1102,7 @@ ReceiveEmptyIRDataBlock:
|
|||
MysteryGift_UpdateJoypad:
|
||||
; We can only get four inputs at a time.
|
||||
; We take d-pad first for no particular reason.
|
||||
ld a, 1 << rJOYP_DPAD
|
||||
ld a, JOYP_GET_CTRL_PAD
|
||||
ldh [rJOYP], a
|
||||
; Read twice to give the request time to take.
|
||||
ldh a, [rJOYP]
|
||||
|
|
@ -1111,7 +1111,7 @@ MysteryGift_UpdateJoypad:
|
|||
; The Joypad register output is in the lo nybble (inversed).
|
||||
; We make the hi nybble of our new container d-pad input.
|
||||
cpl
|
||||
and $f
|
||||
and JOYP_INPUTS
|
||||
swap a
|
||||
|
||||
; We'll keep this in b for now.
|
||||
|
|
@ -1119,7 +1119,7 @@ MysteryGift_UpdateJoypad:
|
|||
|
||||
; Buttons make 8 total inputs (A, B, Select, Start).
|
||||
; We can fit this into one byte.
|
||||
ld a, 1 << rJOYP_BUTTONS
|
||||
ld a, JOYP_GET_BUTTONS
|
||||
ldh [rJOYP], a
|
||||
; Wait for input to stabilize.
|
||||
rept 6
|
||||
|
|
@ -1127,7 +1127,7 @@ rept 6
|
|||
endr
|
||||
; Buttons take the lo nybble.
|
||||
cpl
|
||||
and $f
|
||||
and JOYP_INPUTS
|
||||
or b
|
||||
ld c, a
|
||||
; To get the delta we xor the last frame's input with the new one.
|
||||
|
|
|
|||
|
|
@ -65,7 +65,7 @@ InitMysteryGiftLayout:
|
|||
call ByteFill
|
||||
hlcoord 0, 0
|
||||
ld a, $3d
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
call ByteFill
|
||||
hlcoord 3, 7
|
||||
lb bc, 9, 15
|
||||
|
|
|
|||
|
|
@ -867,7 +867,7 @@ StartTitleScreen:
|
|||
call ClearBGPalettes
|
||||
|
||||
ld hl, rLCDC
|
||||
res rLCDC_SPRITE_SIZE, [hl] ; 8x8
|
||||
res B_LCDC_OBJ_SIZE, [hl] ; 8x8
|
||||
call ClearTilemap
|
||||
xor a
|
||||
ldh [hLCDCPointer], a
|
||||
|
|
|
|||
|
|
@ -574,7 +574,7 @@ RestoreOverworldMapTiles:
|
|||
call OpenSRAM
|
||||
hlcoord 0, 0
|
||||
ld de, sScratch
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call CopyBytes
|
||||
call CloseSRAM
|
||||
call LoadOverworldTilemapAndAttrmapPals
|
||||
|
|
@ -582,7 +582,7 @@ RestoreOverworldMapTiles:
|
|||
call OpenSRAM
|
||||
ld hl, sScratch
|
||||
decoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
.loop
|
||||
ld a, [hl]
|
||||
cp $61
|
||||
|
|
|
|||
|
|
@ -240,7 +240,7 @@ NamingScreen_IsTargetBox:
|
|||
NamingScreen_InitText:
|
||||
call WaitTop
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, NAMINGSCREEN_BORDER
|
||||
call ByteFill
|
||||
hlcoord 1, 1
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ SaveMenu_CopyTilemapAtOnce:
|
|||
ld l, 0
|
||||
ld a, SCREEN_HEIGHT
|
||||
ldh [hTilesPerCycle], a
|
||||
ld b, 1 << 1 ; not in v/hblank
|
||||
ld b, STAT_BUSY
|
||||
ld c, LOW(rSTAT)
|
||||
|
||||
.loop
|
||||
|
|
@ -69,7 +69,7 @@ rept SCREEN_WIDTH / 2
|
|||
inc l
|
||||
endr
|
||||
|
||||
ld de, BG_MAP_WIDTH - SCREEN_WIDTH
|
||||
ld de, TILEMAP_WIDTH - SCREEN_WIDTH
|
||||
add hl, de
|
||||
ldh a, [hTilesPerCycle]
|
||||
dec a
|
||||
|
|
|
|||
|
|
@ -564,10 +564,10 @@ TrainerCard_Page2_3_OAMUpdate:
|
|||
db -1
|
||||
|
||||
.facing2
|
||||
dbsprite 0, 0, 0, 0, $01, 0 | X_FLIP
|
||||
dbsprite 1, 0, 0, 0, $00, 0 | X_FLIP
|
||||
dbsprite 0, 1, 0, 0, $03, 0 | X_FLIP
|
||||
dbsprite 1, 1, 0, 0, $02, 0 | X_FLIP
|
||||
dbsprite 0, 0, 0, 0, $01, 0 | OAM_XFLIP
|
||||
dbsprite 1, 0, 0, 0, $00, 0 | OAM_XFLIP
|
||||
dbsprite 0, 1, 0, 0, $03, 0 | OAM_XFLIP
|
||||
dbsprite 1, 1, 0, 0, $02, 0 | OAM_XFLIP
|
||||
db -1
|
||||
|
||||
TrainerCard_JohtoBadgesOAM:
|
||||
|
|
|
|||
|
|
@ -395,7 +395,7 @@ ConstructCreditsTilemap:
|
|||
|
||||
ld a, $28
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
call ByteFill
|
||||
|
||||
ld a, $7f
|
||||
|
|
|
|||
|
|
@ -265,12 +265,12 @@ EvolutionAnimation:
|
|||
and $7
|
||||
ld b, a
|
||||
ld hl, wShadowOAMSprite00Attributes
|
||||
ld c, NUM_SPRITE_OAM_STRUCTS
|
||||
ld c, OAM_COUNT
|
||||
.loop6
|
||||
ld a, [hl]
|
||||
or b
|
||||
ld [hli], a ; attributes
|
||||
rept SPRITEOAMSTRUCT_LENGTH - 1
|
||||
rept OBJ_SIZE - 1
|
||||
inc hl
|
||||
endr
|
||||
dec c
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ InitDisplayForHallOfFame:
|
|||
ld a, " "
|
||||
call ByteFill
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
xor a
|
||||
call ByteFill
|
||||
xor a
|
||||
|
|
@ -39,7 +39,7 @@ InitDisplayForRedCredits:
|
|||
ld a, " "
|
||||
call ByteFill
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
xor a
|
||||
call ByteFill
|
||||
ld hl, wBGPals1
|
||||
|
|
|
|||
|
|
@ -434,7 +434,7 @@ Intro_UpdateTilemapAndBGMap:
|
|||
ld e, a
|
||||
ld a, [wIntroTilemapPointer + 1]
|
||||
ld d, a
|
||||
ld hl, -BG_MAP_WIDTH / 2
|
||||
ld hl, -TILEMAP_WIDTH / 2
|
||||
add hl, de
|
||||
ld a, l
|
||||
ld e, l
|
||||
|
|
@ -444,7 +444,7 @@ Intro_UpdateTilemapAndBGMap:
|
|||
ld [wIntroTilemapPointer + 1], a
|
||||
|
||||
hlcoord 0, 0
|
||||
ld c, BG_MAP_WIDTH / 2
|
||||
ld c, TILEMAP_WIDTH / 2
|
||||
.loop
|
||||
call Intro_Draw2x2Tiles
|
||||
dec c
|
||||
|
|
@ -454,7 +454,7 @@ Intro_UpdateTilemapAndBGMap:
|
|||
ld e, a
|
||||
ld a, [wIntroBGMapPointer + 1]
|
||||
ld d, a
|
||||
ld hl, -2 * BG_MAP_WIDTH
|
||||
ld hl, -2 * TILEMAP_WIDTH
|
||||
add hl, de
|
||||
ld a, l
|
||||
ld [wIntroBGMapPointer + 0], a
|
||||
|
|
@ -1171,17 +1171,17 @@ Copy128Tiles: ; unreferenced
|
|||
ret
|
||||
|
||||
Intro_DrawBackground:
|
||||
ld b, BG_MAP_WIDTH / 2
|
||||
ld b, TILEMAP_WIDTH / 2
|
||||
.outer_loop
|
||||
push hl
|
||||
ld c, BG_MAP_HEIGHT / 2
|
||||
ld c, TILEMAP_HEIGHT / 2
|
||||
.inner_loop
|
||||
call Intro_Draw2x2Tiles
|
||||
dec c
|
||||
jr nz, .inner_loop
|
||||
pop hl
|
||||
push bc
|
||||
ld bc, 2 * BG_MAP_WIDTH
|
||||
ld bc, 2 * TILEMAP_WIDTH
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec b
|
||||
|
|
@ -1216,7 +1216,7 @@ Intro_Draw2x2Tiles:
|
|||
inc de
|
||||
ld [hli], a
|
||||
pop hl
|
||||
ld bc, BG_MAP_WIDTH
|
||||
ld bc, TILEMAP_WIDTH
|
||||
add hl, bc
|
||||
ld a, [de]
|
||||
inc de
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ TitleScreen:
|
|||
ld [hli], a
|
||||
ld [hl], a
|
||||
ld hl, rLCDC
|
||||
set rLCDC_SPRITE_SIZE, [hl]
|
||||
set B_LCDC_OBJ_SIZE, [hl]
|
||||
call EnableLCD
|
||||
|
||||
; Reset timing variables
|
||||
|
|
@ -147,7 +147,7 @@ FillTitleScreenPals:
|
|||
ld a, 1
|
||||
ldh [rVBK], a
|
||||
hlbgcoord 0, 0
|
||||
ld bc, 18 * BG_MAP_WIDTH
|
||||
ld bc, 18 * TILEMAP_WIDTH
|
||||
xor a
|
||||
call ByteFill
|
||||
hlbgcoord 0, 0, vBGMap2
|
||||
|
|
@ -159,7 +159,7 @@ FillTitleScreenPals:
|
|||
ld a, 3
|
||||
call DrawTitleGraphic
|
||||
hlbgcoord 0, 12, vBGMap2
|
||||
ld bc, 5 * BG_MAP_WIDTH
|
||||
ld bc, 5 * TILEMAP_WIDTH
|
||||
ld a, 4
|
||||
call ByteFill
|
||||
ld a, 0
|
||||
|
|
@ -175,7 +175,7 @@ DrawTitleGraphic:
|
|||
dec c
|
||||
jr nz, .col
|
||||
pop hl
|
||||
ld bc, BG_MAP_WIDTH
|
||||
ld bc, TILEMAP_WIDTH
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec b
|
||||
|
|
@ -200,7 +200,7 @@ LoadTitleScreenTilemap:
|
|||
and a
|
||||
ret nz
|
||||
hlbgcoord 0, 11
|
||||
ld bc, BG_MAP_WIDTH
|
||||
ld bc, TILEMAP_WIDTH
|
||||
ld a, "@"
|
||||
call ByteFill
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -1214,7 +1214,7 @@ TradeAnim_Wait80Frames:
|
|||
|
||||
TradeAnim_BlankTilemap:
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -2309,7 +2309,7 @@ CheckObjectCoveredByTextbox:
|
|||
srl a
|
||||
cp SCREEN_WIDTH
|
||||
jr c, .ok3
|
||||
sub BG_MAP_WIDTH
|
||||
sub TILEMAP_WIDTH
|
||||
.ok3
|
||||
ldh [hCurSpriteXCoord], a
|
||||
|
||||
|
|
@ -2342,7 +2342,7 @@ CheckObjectCoveredByTextbox:
|
|||
srl a
|
||||
cp SCREEN_HEIGHT
|
||||
jr c, .ok6
|
||||
sub BG_MAP_HEIGHT
|
||||
sub TILEMAP_HEIGHT
|
||||
.ok6
|
||||
ldh [hCurSpriteYCoord], a
|
||||
|
||||
|
|
@ -2684,13 +2684,13 @@ _UpdateSprites::
|
|||
ret
|
||||
|
||||
.fill
|
||||
ld b, NUM_SPRITE_OAM_STRUCTS * SPRITEOAMSTRUCT_LENGTH
|
||||
ld b, OAM_SIZE
|
||||
ldh a, [hUsedSpriteIndex]
|
||||
cp b
|
||||
ret nc
|
||||
ld l, a
|
||||
ld h, HIGH(wShadowOAM)
|
||||
ld de, SPRITEOAMSTRUCT_LENGTH
|
||||
ld de, OBJ_SIZE
|
||||
ld a, b
|
||||
ld c, OAM_YCOORD_HIDDEN
|
||||
.loop
|
||||
|
|
@ -2833,23 +2833,23 @@ InitSprites:
|
|||
ld e, [hl]
|
||||
bit OBJ_FLAGS2_7_F, e
|
||||
jr z, .not_priority
|
||||
or PRIORITY
|
||||
or OAM_PRIO
|
||||
.not_priority
|
||||
bit USE_OBP1_F, e
|
||||
jr z, .not_obp_num
|
||||
or OBP_NUM
|
||||
or OAM_PAL1
|
||||
.not_obp_num
|
||||
ld hl, OBJECT_PALETTE
|
||||
add hl, bc
|
||||
ld d, a
|
||||
ld a, [hl]
|
||||
and PALETTE_MASK
|
||||
and OAM_PALETTE
|
||||
or d
|
||||
ld d, a
|
||||
xor a
|
||||
bit OVERHEAD_F, e
|
||||
jr z, .not_overhead
|
||||
or PRIORITY
|
||||
or OAM_PRIO
|
||||
.not_overhead
|
||||
ldh [hCurSpriteOAMFlags], a
|
||||
ld hl, OBJECT_SPRITE_TILE
|
||||
|
|
@ -2929,7 +2929,7 @@ InitSprites:
|
|||
ldh a, [hCurSpriteOAMFlags]
|
||||
or e
|
||||
.nope2
|
||||
and OBP_NUM | X_FLIP | Y_FLIP | PRIORITY
|
||||
and OAM_PAL1 | OAM_XFLIP | OAM_YFLIP | OAM_PRIO
|
||||
or d
|
||||
ld [bc], a ; attributes
|
||||
inc c
|
||||
|
|
|
|||
|
|
@ -68,7 +68,7 @@ WillObjectBumpIntoWater:
|
|||
ld e, [hl]
|
||||
ld hl, OBJECT_PALETTE
|
||||
add hl, bc
|
||||
bit OAM_PRIORITY, [hl]
|
||||
bit B_OAM_PRIO, [hl]
|
||||
jp nz, WillObjectRemainOnWater
|
||||
ld hl, OBJECT_TILE_COLLISION
|
||||
add hl, bc
|
||||
|
|
|
|||
|
|
@ -190,7 +190,7 @@ CopyMapObjectToObjectStruct:
|
|||
and MAPOBJECT_PALETTE_MASK
|
||||
jr z, .skip_color_override
|
||||
swap a
|
||||
and PALETTE_MASK
|
||||
and OAM_PALETTE
|
||||
ld [wTempObjectCopyPalette], a
|
||||
|
||||
.skip_color_override
|
||||
|
|
|
|||
|
|
@ -145,7 +145,7 @@ UpdateOverworldMap:
|
|||
|
||||
.ScrollOverworldMapDown:
|
||||
ld a, [wBGMapAnchor]
|
||||
add 2 * BG_MAP_WIDTH
|
||||
add 2 * TILEMAP_WIDTH
|
||||
ld [wBGMapAnchor], a
|
||||
jr nc, .not_overflowed
|
||||
ld a, [wBGMapAnchor + 1]
|
||||
|
|
@ -176,7 +176,7 @@ UpdateOverworldMap:
|
|||
|
||||
.ScrollOverworldMapUp:
|
||||
ld a, [wBGMapAnchor]
|
||||
sub 2 * BG_MAP_WIDTH
|
||||
sub 2 * TILEMAP_WIDTH
|
||||
ld [wBGMapAnchor], a
|
||||
jr nc, .not_underflowed
|
||||
ld a, [wBGMapAnchor + 1]
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ FindNest:
|
|||
; e: 0 = Johto, 1 = Kanto
|
||||
; wNamedObjectIndex: species
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
xor a
|
||||
call ByteFill
|
||||
ld a, e
|
||||
|
|
@ -123,7 +123,7 @@ FindNest:
|
|||
call GetWorldMapLocation
|
||||
ld c, a
|
||||
hlcoord 0, 0
|
||||
ld de, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld de, SCREEN_AREA
|
||||
.AppendNestLoop:
|
||||
ld a, [hli]
|
||||
cp c
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ PhoneRing_CopyTilemapAtOnce:
|
|||
ld l, 0
|
||||
ld a, SCREEN_HEIGHT
|
||||
ldh [hTilesPerCycle], a
|
||||
ld b, 1 << 1 ; not in v/hblank
|
||||
ld b, STAT_BUSY
|
||||
ld c, LOW(rSTAT)
|
||||
|
||||
.loop
|
||||
|
|
@ -72,7 +72,7 @@ rept SCREEN_WIDTH / 2
|
|||
inc l
|
||||
endr
|
||||
|
||||
ld de, BG_MAP_WIDTH - SCREEN_WIDTH
|
||||
ld de, TILEMAP_WIDTH - SCREEN_WIDTH
|
||||
add hl, de
|
||||
ldh a, [hTilesPerCycle]
|
||||
dec a
|
||||
|
|
|
|||
|
|
@ -219,7 +219,7 @@ Pokedex_InitMainScreen:
|
|||
call ClearSprites
|
||||
xor a
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
call ByteFill
|
||||
farcall DrawPokedexListWindow
|
||||
hlcoord 0, 17
|
||||
|
|
@ -721,7 +721,7 @@ Pokedex_InitSearchResultsScreen:
|
|||
ldh [hBGMapMode], a
|
||||
xor a
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call ByteFill
|
||||
call Pokedex_SetBGMapMode4
|
||||
call Pokedex_ResetBGMapMode
|
||||
|
|
@ -1076,7 +1076,7 @@ Pokedex_DrawMainScreenBG:
|
|||
call Pokedex_PlaceString
|
||||
ld a, $32
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call ByteFill
|
||||
hlcoord 0, 0
|
||||
lb bc, 7, 7
|
||||
|
|
@ -1379,7 +1379,7 @@ UnownModeLetterAndCursorCoords:
|
|||
Pokedex_FillBackgroundColor2:
|
||||
hlcoord 0, 0
|
||||
ld a, $32
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call ByteFill
|
||||
ret
|
||||
|
||||
|
|
@ -1995,24 +1995,24 @@ Pokedex_PutOldModeCursorOAM:
|
|||
dbsprite 11, 2, -1, 0, $32, 7
|
||||
dbsprite 12, 2, -1, 0, $32, 7
|
||||
dbsprite 13, 2, -1, 0, $33, 7
|
||||
dbsprite 16, 2, -2, 0, $33, 7 | X_FLIP
|
||||
dbsprite 17, 2, -2, 0, $32, 7 | X_FLIP
|
||||
dbsprite 18, 2, -2, 0, $32, 7 | X_FLIP
|
||||
dbsprite 19, 2, -2, 0, $32, 7 | X_FLIP
|
||||
dbsprite 20, 2, -2, 0, $31, 7 | X_FLIP
|
||||
dbsprite 20, 3, -2, 0, $30, 7 | X_FLIP
|
||||
dbsprite 9, 4, -1, 0, $30, 7 | Y_FLIP
|
||||
dbsprite 9, 5, -1, 0, $31, 7 | Y_FLIP
|
||||
dbsprite 10, 5, -1, 0, $32, 7 | Y_FLIP
|
||||
dbsprite 11, 5, -1, 0, $32, 7 | Y_FLIP
|
||||
dbsprite 12, 5, -1, 0, $32, 7 | Y_FLIP
|
||||
dbsprite 13, 5, -1, 0, $33, 7 | Y_FLIP
|
||||
dbsprite 16, 5, -2, 0, $33, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 17, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 18, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 19, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 20, 5, -2, 0, $31, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 20, 4, -2, 0, $30, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 16, 2, -2, 0, $33, 7 | OAM_XFLIP
|
||||
dbsprite 17, 2, -2, 0, $32, 7 | OAM_XFLIP
|
||||
dbsprite 18, 2, -2, 0, $32, 7 | OAM_XFLIP
|
||||
dbsprite 19, 2, -2, 0, $32, 7 | OAM_XFLIP
|
||||
dbsprite 20, 2, -2, 0, $31, 7 | OAM_XFLIP
|
||||
dbsprite 20, 3, -2, 0, $30, 7 | OAM_XFLIP
|
||||
dbsprite 9, 4, -1, 0, $30, 7 | OAM_YFLIP
|
||||
dbsprite 9, 5, -1, 0, $31, 7 | OAM_YFLIP
|
||||
dbsprite 10, 5, -1, 0, $32, 7 | OAM_YFLIP
|
||||
dbsprite 11, 5, -1, 0, $32, 7 | OAM_YFLIP
|
||||
dbsprite 12, 5, -1, 0, $32, 7 | OAM_YFLIP
|
||||
dbsprite 13, 5, -1, 0, $33, 7 | OAM_YFLIP
|
||||
dbsprite 16, 5, -2, 0, $33, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 17, 5, -2, 0, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 18, 5, -2, 0, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 19, 5, -2, 0, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 20, 5, -2, 0, $31, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 20, 4, -2, 0, $30, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
db -1
|
||||
|
||||
.CursorAtTopOAM:
|
||||
|
|
@ -2024,24 +2024,24 @@ Pokedex_PutOldModeCursorOAM:
|
|||
dbsprite 11, 2, -1, 0, $35, 7
|
||||
dbsprite 12, 2, -1, 0, $35, 7
|
||||
dbsprite 13, 2, -1, 0, $36, 7
|
||||
dbsprite 16, 2, -2, 0, $36, 7 | X_FLIP
|
||||
dbsprite 17, 2, -2, 0, $35, 7 | X_FLIP
|
||||
dbsprite 18, 2, -2, 0, $35, 7 | X_FLIP
|
||||
dbsprite 19, 2, -2, 0, $35, 7 | X_FLIP
|
||||
dbsprite 20, 2, -2, 0, $34, 7 | X_FLIP
|
||||
dbsprite 20, 3, -2, 0, $30, 7 | X_FLIP
|
||||
dbsprite 9, 4, -1, 0, $30, 7 | Y_FLIP
|
||||
dbsprite 9, 5, -1, 0, $31, 7 | Y_FLIP
|
||||
dbsprite 10, 5, -1, 0, $32, 7 | Y_FLIP
|
||||
dbsprite 11, 5, -1, 0, $32, 7 | Y_FLIP
|
||||
dbsprite 12, 5, -1, 0, $32, 7 | Y_FLIP
|
||||
dbsprite 13, 5, -1, 0, $33, 7 | Y_FLIP
|
||||
dbsprite 16, 5, -2, 0, $33, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 17, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 18, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 19, 5, -2, 0, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 20, 5, -2, 0, $31, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 20, 4, -2, 0, $30, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 16, 2, -2, 0, $36, 7 | OAM_XFLIP
|
||||
dbsprite 17, 2, -2, 0, $35, 7 | OAM_XFLIP
|
||||
dbsprite 18, 2, -2, 0, $35, 7 | OAM_XFLIP
|
||||
dbsprite 19, 2, -2, 0, $35, 7 | OAM_XFLIP
|
||||
dbsprite 20, 2, -2, 0, $34, 7 | OAM_XFLIP
|
||||
dbsprite 20, 3, -2, 0, $30, 7 | OAM_XFLIP
|
||||
dbsprite 9, 4, -1, 0, $30, 7 | OAM_YFLIP
|
||||
dbsprite 9, 5, -1, 0, $31, 7 | OAM_YFLIP
|
||||
dbsprite 10, 5, -1, 0, $32, 7 | OAM_YFLIP
|
||||
dbsprite 11, 5, -1, 0, $32, 7 | OAM_YFLIP
|
||||
dbsprite 12, 5, -1, 0, $32, 7 | OAM_YFLIP
|
||||
dbsprite 13, 5, -1, 0, $33, 7 | OAM_YFLIP
|
||||
dbsprite 16, 5, -2, 0, $33, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 17, 5, -2, 0, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 18, 5, -2, 0, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 19, 5, -2, 0, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 20, 5, -2, 0, $31, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 20, 4, -2, 0, $30, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
db -1
|
||||
|
||||
Pokedex_PutNewModeABCModeCursorOAM:
|
||||
|
|
@ -2055,21 +2055,21 @@ Pokedex_PutNewModeABCModeCursorOAM:
|
|||
dbsprite 10, 2, -1, 3, $32, 7
|
||||
dbsprite 11, 2, -1, 3, $32, 7
|
||||
dbsprite 12, 2, -1, 3, $33, 7
|
||||
dbsprite 16, 2, 0, 3, $33, 7 | X_FLIP
|
||||
dbsprite 17, 2, 0, 3, $32, 7 | X_FLIP
|
||||
dbsprite 18, 2, 0, 3, $32, 7 | X_FLIP
|
||||
dbsprite 19, 2, 0, 3, $31, 7 | X_FLIP
|
||||
dbsprite 19, 3, 0, 3, $30, 7 | X_FLIP
|
||||
dbsprite 9, 4, -1, 3, $30, 7 | Y_FLIP
|
||||
dbsprite 9, 5, -1, 3, $31, 7 | Y_FLIP
|
||||
dbsprite 10, 5, -1, 3, $32, 7 | Y_FLIP
|
||||
dbsprite 11, 5, -1, 3, $32, 7 | Y_FLIP
|
||||
dbsprite 12, 5, -1, 3, $33, 7 | Y_FLIP
|
||||
dbsprite 16, 5, 0, 3, $33, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 17, 5, 0, 3, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 18, 5, 0, 3, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 19, 5, 0, 3, $31, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 19, 4, 0, 3, $30, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 16, 2, 0, 3, $33, 7 | OAM_XFLIP
|
||||
dbsprite 17, 2, 0, 3, $32, 7 | OAM_XFLIP
|
||||
dbsprite 18, 2, 0, 3, $32, 7 | OAM_XFLIP
|
||||
dbsprite 19, 2, 0, 3, $31, 7 | OAM_XFLIP
|
||||
dbsprite 19, 3, 0, 3, $30, 7 | OAM_XFLIP
|
||||
dbsprite 9, 4, -1, 3, $30, 7 | OAM_YFLIP
|
||||
dbsprite 9, 5, -1, 3, $31, 7 | OAM_YFLIP
|
||||
dbsprite 10, 5, -1, 3, $32, 7 | OAM_YFLIP
|
||||
dbsprite 11, 5, -1, 3, $32, 7 | OAM_YFLIP
|
||||
dbsprite 12, 5, -1, 3, $33, 7 | OAM_YFLIP
|
||||
dbsprite 16, 5, 0, 3, $33, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 17, 5, 0, 3, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 18, 5, 0, 3, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 19, 5, 0, 3, $31, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 19, 4, 0, 3, $30, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
db -1
|
||||
|
||||
Pokedex_UpdateSearchResultsCursorOAM:
|
||||
|
|
@ -2087,24 +2087,24 @@ Pokedex_UpdateSearchResultsCursorOAM:
|
|||
dbsprite 11, 2, -1, 3, $32, 7
|
||||
dbsprite 12, 2, -1, 3, $32, 7
|
||||
dbsprite 13, 2, -1, 3, $33, 7
|
||||
dbsprite 16, 2, -2, 3, $33, 7 | X_FLIP
|
||||
dbsprite 17, 2, -2, 3, $32, 7 | X_FLIP
|
||||
dbsprite 18, 2, -2, 3, $32, 7 | X_FLIP
|
||||
dbsprite 19, 2, -2, 3, $32, 7 | X_FLIP
|
||||
dbsprite 20, 2, -2, 3, $31, 7 | X_FLIP
|
||||
dbsprite 20, 3, -2, 3, $30, 7 | X_FLIP
|
||||
dbsprite 9, 4, -1, 3, $30, 7 | Y_FLIP
|
||||
dbsprite 9, 5, -1, 3, $31, 7 | Y_FLIP
|
||||
dbsprite 10, 5, -1, 3, $32, 7 | Y_FLIP
|
||||
dbsprite 11, 5, -1, 3, $32, 7 | Y_FLIP
|
||||
dbsprite 12, 5, -1, 3, $32, 7 | Y_FLIP
|
||||
dbsprite 13, 5, -1, 3, $33, 7 | Y_FLIP
|
||||
dbsprite 16, 5, -2, 3, $33, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 17, 5, -2, 3, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 18, 5, -2, 3, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 19, 5, -2, 3, $32, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 20, 5, -2, 3, $31, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 20, 4, -2, 3, $30, 7 | X_FLIP | Y_FLIP
|
||||
dbsprite 16, 2, -2, 3, $33, 7 | OAM_XFLIP
|
||||
dbsprite 17, 2, -2, 3, $32, 7 | OAM_XFLIP
|
||||
dbsprite 18, 2, -2, 3, $32, 7 | OAM_XFLIP
|
||||
dbsprite 19, 2, -2, 3, $32, 7 | OAM_XFLIP
|
||||
dbsprite 20, 2, -2, 3, $31, 7 | OAM_XFLIP
|
||||
dbsprite 20, 3, -2, 3, $30, 7 | OAM_XFLIP
|
||||
dbsprite 9, 4, -1, 3, $30, 7 | OAM_YFLIP
|
||||
dbsprite 9, 5, -1, 3, $31, 7 | OAM_YFLIP
|
||||
dbsprite 10, 5, -1, 3, $32, 7 | OAM_YFLIP
|
||||
dbsprite 11, 5, -1, 3, $32, 7 | OAM_YFLIP
|
||||
dbsprite 12, 5, -1, 3, $32, 7 | OAM_YFLIP
|
||||
dbsprite 13, 5, -1, 3, $33, 7 | OAM_YFLIP
|
||||
dbsprite 16, 5, -2, 3, $33, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 17, 5, -2, 3, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 18, 5, -2, 3, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 19, 5, -2, 3, $32, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 20, 5, -2, 3, $31, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
dbsprite 20, 4, -2, 3, $30, 7 | OAM_XFLIP | OAM_YFLIP
|
||||
db -1
|
||||
|
||||
Pokedex_LoadCursorOAM:
|
||||
|
|
|
|||
|
|
@ -233,7 +233,7 @@ InitPokegearTilemap:
|
|||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, $4f
|
||||
call ByteFill
|
||||
ld a, [wPokegearCard]
|
||||
|
|
@ -2598,7 +2598,7 @@ TownMapPals:
|
|||
; Assign palettes based on tile ids
|
||||
hlcoord 0, 0
|
||||
decoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
.loop
|
||||
; Current tile
|
||||
ld a, [hli]
|
||||
|
|
@ -2618,7 +2618,7 @@ TownMapPals:
|
|||
adc 0
|
||||
ld h, a
|
||||
ld a, [hl]
|
||||
and PALETTE_MASK
|
||||
and OAM_PALETTE
|
||||
jr .update
|
||||
|
||||
.odd
|
||||
|
|
@ -2630,7 +2630,7 @@ TownMapPals:
|
|||
ld h, a
|
||||
ld a, [hl]
|
||||
swap a
|
||||
and PALETTE_MASK
|
||||
and OAM_PALETTE
|
||||
jr .update
|
||||
|
||||
.pal0
|
||||
|
|
|
|||
|
|
@ -1457,7 +1457,7 @@ BillsPC_UpdateSelectionCursor:
|
|||
inc hl
|
||||
ld [de], a ; y
|
||||
inc de
|
||||
rept SPRITEOAMSTRUCT_LENGTH - 1
|
||||
rept OBJ_SIZE - 1
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
inc de
|
||||
|
|
@ -1501,7 +1501,7 @@ BillsPC_UpdateInsertCursor:
|
|||
inc hl
|
||||
ld [de], a ; y
|
||||
inc de
|
||||
rept SPRITEOAMSTRUCT_LENGTH - 1
|
||||
rept OBJ_SIZE - 1
|
||||
ld a, [hli]
|
||||
ld [de], a
|
||||
inc de
|
||||
|
|
@ -2229,7 +2229,7 @@ BillsPC_ClearTilemap:
|
|||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -235,7 +235,7 @@ ClearPCItemScreen:
|
|||
call ClearBGPalettes
|
||||
call ClearSprites
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
hlcoord 0, 0
|
||||
|
|
|
|||
|
|
@ -634,7 +634,7 @@ Hatch_UpdateFrontpicBGMapCenter:
|
|||
push hl
|
||||
push bc
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
pop bc
|
||||
|
|
|
|||
|
|
@ -132,13 +132,13 @@ LoadSurfMailGFX:
|
|||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld de, SurfMailBorderGFX
|
||||
ld c, 8 * LEN_1BPP_TILE
|
||||
ld c, 8 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MailLaprasGFX
|
||||
ld c, 6 * LEN_1BPP_TILE
|
||||
ld c, 6 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color3
|
||||
ld de, SurfMailWaveGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
jr FinishLoadingSurfLiteBlueMailGFX
|
||||
|
||||
|
|
@ -146,25 +146,25 @@ LoadLiteBlueMailGFX:
|
|||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld de, LiteBlueMailBorderGFX
|
||||
ld c, 8 * LEN_1BPP_TILE
|
||||
ld c, 8 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MailDratiniGFX
|
||||
ld c, 6 * LEN_1BPP_TILE
|
||||
ld c, 6 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color3
|
||||
ld de, PortraitMailUnderlineGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
|
||||
FinishLoadingSurfLiteBlueMailGFX:
|
||||
ld de, SurfLiteBlueMailSmallShapesGFX
|
||||
ld c, 2 * LEN_1BPP_TILE
|
||||
ld c, 2 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld c, 2 * LEN_1BPP_TILE
|
||||
ld c, 2 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, SurfLiteBlueMailLargeShapesGFX
|
||||
ld c, 8 * LEN_1BPP_TILE
|
||||
ld c, 8 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld c, 8 * LEN_1BPP_TILE
|
||||
ld c, 8 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
|
||||
call DrawMailBorder
|
||||
|
|
@ -216,29 +216,29 @@ LoadEonMailGFX:
|
|||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld de, EonMailBorder1GFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, EonMailBorder2GFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, EonMailBorder2GFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, EonMailBorder1GFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, SurfMailBorderGFX + 6 * LEN_1BPP_TILE
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld de, SurfMailBorderGFX + 6 * TILE_1BPP_SIZE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MailEeveeGFX
|
||||
ld c, 6 * LEN_1BPP_TILE
|
||||
ld c, 6 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color3
|
||||
ld hl, vTiles2 tile $3d
|
||||
ld de, MailLargeCircleGFX
|
||||
ld c, 4 * LEN_1BPP_TILE
|
||||
ld c, 4 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, EonMailBorder2GFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
|
||||
ld a, $31
|
||||
|
|
@ -265,19 +265,19 @@ LoadLovelyMailGFX:
|
|||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld de, LovelyMailBorderGFX
|
||||
ld c, 5 * LEN_1BPP_TILE
|
||||
ld c, 5 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MailPoliwagGFX
|
||||
ld c, 6 * LEN_1BPP_TILE
|
||||
ld c, 6 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color3
|
||||
ld de, LovelyMailUnderlineGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, LovelyMailLargeHeartGFX
|
||||
ld c, 4 * LEN_1BPP_TILE
|
||||
ld c, 4 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, LovelyMailSmallHeartGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
|
||||
call DrawMailBorder2
|
||||
|
|
@ -325,25 +325,25 @@ LovelyEonMail_PlaceIcons:
|
|||
LoadMorphMailGFX:
|
||||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld bc, 5 * LEN_1BPP_TILE
|
||||
ld bc, 5 * TILE_1BPP_SIZE
|
||||
call MailGFX_GenerateMonochromeTilesColor2
|
||||
ld de, MorphMailBorderCornerGFX + 3 * LEN_1BPP_TILE
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld de, MorphMailBorderCornerGFX + 3 * TILE_1BPP_SIZE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MorphMailBorderCornerGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MorphMailBorderGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, EonMailBorder1GFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, MorphMailDividerGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MailDittoGFX
|
||||
ld c, 6 * LEN_1BPP_TILE
|
||||
ld c, 6 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color3
|
||||
call DrawMailBorder2
|
||||
ld a, $31
|
||||
|
|
@ -401,31 +401,31 @@ LoadBlueSkyMailGFX:
|
|||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld de, EonMailBorder1GFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld a, $ff
|
||||
ld bc, 1 tiles
|
||||
call ByteFill
|
||||
ld de, BlueSkyMailGrassGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color3
|
||||
ld de, MailDragoniteAndSentretGFX
|
||||
ld c, 23 * LEN_1BPP_TILE
|
||||
ld c, 23 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color3
|
||||
ld de, MailCloudGFX
|
||||
ld c, 6 * LEN_1BPP_TILE
|
||||
ld c, 6 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, FlowerMailBorderGFX + 6 * LEN_1BPP_TILE
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld de, FlowerMailBorderGFX + 6 * TILE_1BPP_SIZE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, MailCloudGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, MailCloudGFX + 2 * LEN_1BPP_TILE
|
||||
ld c, 2 * LEN_1BPP_TILE
|
||||
ld de, MailCloudGFX + 2 * TILE_1BPP_SIZE
|
||||
ld c, 2 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, MailCloudGFX + 5 * LEN_1BPP_TILE
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld de, MailCloudGFX + 5 * TILE_1BPP_SIZE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
|
||||
ld a, $31
|
||||
|
|
@ -487,18 +487,18 @@ LoadFlowerMailGFX:
|
|||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld de, FlowerMailBorderGFX
|
||||
ld c, 8 * LEN_1BPP_TILE
|
||||
ld c, 8 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, MailOddishGFX
|
||||
ld c, 4 * LEN_1BPP_TILE
|
||||
ld c, 4 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color3
|
||||
ld de, FlowerMailBorderGFX + 6 * LEN_1BPP_TILE
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld de, FlowerMailBorderGFX + 6 * TILE_1BPP_SIZE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, FlowerMailFlowerGFX
|
||||
ld c, 4 * LEN_1BPP_TILE
|
||||
ld c, 4 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld c, 4 * LEN_1BPP_TILE
|
||||
ld c, 4 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
|
||||
call DrawMailBorder
|
||||
|
|
@ -541,17 +541,17 @@ LoadPortraitMailGFX:
|
|||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld de, PortraitMailBorderGFX
|
||||
ld c, 5 * LEN_1BPP_TILE
|
||||
ld c, 5 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, PortraitMailUnderlineGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld hl, vTiles2 tile $3d
|
||||
ld de, PortraitMailLargePokeballGFX
|
||||
ld c, 4 * LEN_1BPP_TILE
|
||||
ld c, 4 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, PortraitMailSmallPokeballGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
|
||||
call DrawMailBorder2
|
||||
|
|
@ -571,22 +571,22 @@ LoadMusicMailGFX:
|
|||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld de, MusicMailBorderGFX
|
||||
ld c, 4 * LEN_1BPP_TILE
|
||||
ld c, 4 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MorphMailBorderGFX
|
||||
ld c, 2 * LEN_1BPP_TILE
|
||||
ld c, 2 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MailNatuGFX
|
||||
ld c, 6 * LEN_1BPP_TILE
|
||||
ld c, 6 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color3
|
||||
xor a
|
||||
ld bc, 1 tiles
|
||||
call ByteFill
|
||||
ld de, MusicMailLargeNoteGFX
|
||||
ld c, 3 * LEN_1BPP_TILE
|
||||
ld c, 3 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, MusicMailSmallNoteGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
|
||||
ld a, $31
|
||||
|
|
@ -612,19 +612,19 @@ LoadMusicMailGFX:
|
|||
LoadMirageMailGFX:
|
||||
push bc
|
||||
ld hl, vTiles2 tile $31
|
||||
ld bc, 5 * LEN_1BPP_TILE
|
||||
ld bc, 5 * TILE_1BPP_SIZE
|
||||
call MailGFX_GenerateMonochromeTilesColor2
|
||||
ld de, BlueSkyMailGrassGFX
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, MailMewGFX
|
||||
ld c, 18 * LEN_1BPP_TILE
|
||||
ld c, 18 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color2
|
||||
ld de, LiteBlueMailBorderGFX + 1 * LEN_1BPP_TILE
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld de, LiteBlueMailBorderGFX + 1 * TILE_1BPP_SIZE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
ld de, LiteBlueMailBorderGFX + 6 * LEN_1BPP_TILE
|
||||
ld c, 1 * LEN_1BPP_TILE
|
||||
ld de, LiteBlueMailBorderGFX + 6 * TILE_1BPP_SIZE
|
||||
ld c, 1 * TILE_1BPP_SIZE
|
||||
call LoadMailGFX_Color1
|
||||
|
||||
call DrawMailBorder2
|
||||
|
|
|
|||
|
|
@ -48,7 +48,7 @@ WritePartyMenuTilemap:
|
|||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill ; blank the tilemap
|
||||
call GetPartyMenuQualityIndexes
|
||||
|
|
|
|||
|
|
@ -26,9 +26,9 @@ _SwitchPartyMons:
|
|||
call ByteFill
|
||||
pop af
|
||||
ld hl, wShadowOAMSprite00
|
||||
ld bc, 4 * SPRITEOAMSTRUCT_LENGTH
|
||||
ld bc, 4 * OBJ_SIZE
|
||||
call AddNTimes
|
||||
ld de, SPRITEOAMSTRUCT_LENGTH
|
||||
ld de, OBJ_SIZE
|
||||
ld c, 4
|
||||
.gfx_loop
|
||||
ld [hl], OAM_YCOORD_HIDDEN
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ PrintDexEntry:
|
|||
push af
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, (1 << SERIAL) | (1 << VBLANK)
|
||||
ld a, IE_SERIAL | IE_VBLANK
|
||||
ldh [rIE], a
|
||||
|
||||
call Printer_StartTransmission
|
||||
|
|
@ -140,7 +140,7 @@ PrintPCBox:
|
|||
push af
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, (1 << SERIAL) | (1 << VBLANK)
|
||||
ld a, IE_SERIAL | IE_VBLANK
|
||||
ldh [rIE], a
|
||||
|
||||
ld hl, hVBlank
|
||||
|
|
@ -221,7 +221,7 @@ PrintUnownStamp:
|
|||
push af
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, (1 << SERIAL) | (1 << VBLANK)
|
||||
ld a, IE_SERIAL | IE_VBLANK
|
||||
ldh [rIE], a
|
||||
|
||||
ld hl, hVBlank
|
||||
|
|
@ -286,7 +286,7 @@ PrintMailAndExit:
|
|||
push af
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, (1 << SERIAL) | (1 << VBLANK)
|
||||
ld a, IE_SERIAL | IE_VBLANK
|
||||
ldh [rIE], a
|
||||
|
||||
xor a
|
||||
|
|
@ -329,7 +329,7 @@ PrintPartymon:
|
|||
push af
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, (1 << SERIAL) | (1 << VBLANK)
|
||||
ld a, IE_SERIAL | IE_VBLANK
|
||||
ldh [rIE], a
|
||||
|
||||
xor a
|
||||
|
|
@ -393,7 +393,7 @@ _PrintDiploma:
|
|||
push af
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, (1 << SERIAL) | (1 << VBLANK)
|
||||
ld a, IE_SERIAL | IE_VBLANK
|
||||
ldh [rIE], a
|
||||
|
||||
ld hl, hVBlank
|
||||
|
|
@ -463,9 +463,9 @@ CheckCancelPrint:
|
|||
ld [wPrinterOpcode], a
|
||||
ld a, $88
|
||||
ldh [rSB], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
.loop2
|
||||
ld a, [wPrinterOpcode]
|
||||
|
|
@ -481,14 +481,14 @@ CheckCancelPrint:
|
|||
Printer_CopyTilemapToBuffer:
|
||||
hlcoord 0, 0
|
||||
ld de, wPrinterTilemapBuffer
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call CopyBytes
|
||||
ret
|
||||
|
||||
Printer_CopyBufferToTilemap:
|
||||
ld hl, wPrinterTilemapBuffer
|
||||
decoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call CopyBytes
|
||||
ret
|
||||
|
||||
|
|
@ -630,7 +630,7 @@ PrintPCBox_Page1:
|
|||
xor a
|
||||
ld [wWhichBoxMonToPrint], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
call Printer_PlaceEmptyBoxSlotString
|
||||
|
|
@ -667,7 +667,7 @@ PrintPCBox_Page1:
|
|||
|
||||
PrintPCBox_Page2:
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
call Printer_PlaceEmptyBoxSlotString
|
||||
|
|
@ -684,7 +684,7 @@ PrintPCBox_Page2:
|
|||
|
||||
PrintPCBox_Page3:
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
call Printer_PlaceEmptyBoxSlotString
|
||||
|
|
@ -701,7 +701,7 @@ PrintPCBox_Page3:
|
|||
|
||||
PrintPCBox_Page4:
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
ld a, " "
|
||||
call ByteFill
|
||||
call Printer_PlaceEmptyBoxSlotString
|
||||
|
|
|
|||
|
|
@ -270,9 +270,9 @@ Printer_WaitHandshake:
|
|||
ld [wPrinterOpcode], a
|
||||
ld a, $88
|
||||
ldh [rSB], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ret
|
||||
|
||||
|
|
@ -613,9 +613,9 @@ Printer_Send0x08:
|
|||
|
||||
Printer_SerialSend:
|
||||
ldh [rSB], a
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ret
|
||||
|
||||
|
|
|
|||
|
|
@ -1,24 +1,24 @@
|
|||
StopRTC: ; unreferenced
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
call LatchClock
|
||||
ld a, RTC_DH
|
||||
ld [MBC3SRamBank], a
|
||||
ld a, [MBC3RTC]
|
||||
set RTC_DH_HALT, a
|
||||
ld [MBC3RTC], a
|
||||
ld a, RAMB_RTC_DH
|
||||
ld [rRAMB], a
|
||||
ld a, [rRTCREG]
|
||||
set B_RAMB_RTC_DH_HALT, a
|
||||
ld [rRTCREG], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
StartRTC:
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
call LatchClock
|
||||
ld a, RTC_DH
|
||||
ld [MBC3SRamBank], a
|
||||
ld a, [MBC3RTC]
|
||||
res RTC_DH_HALT, a
|
||||
ld [MBC3RTC], a
|
||||
ld a, RAMB_RTC_DH
|
||||
ld [rRAMB], a
|
||||
ld a, [rRTCREG]
|
||||
res B_RAMB_RTC_DH_HALT, a
|
||||
ld [rRTCREG], a
|
||||
call CloseSRAM
|
||||
ret
|
||||
|
||||
|
|
@ -74,15 +74,15 @@ StageRTCTimeForSave:
|
|||
ret
|
||||
|
||||
SaveRTC:
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
call LatchClock
|
||||
ld hl, MBC3RTC
|
||||
ld a, RTC_DH
|
||||
ld [MBC3SRamBank], a
|
||||
res RTC_DH_OVERFLOW, [hl]
|
||||
ld hl, rRTCREG
|
||||
ld a, RAMB_RTC_DH
|
||||
ld [rRAMB], a
|
||||
res B_RAMB_RTC_DH_CARRY, [hl]
|
||||
ld a, BANK(sRTCStatusFlags)
|
||||
ld [MBC3SRamBank], a
|
||||
ld [rRAMB], a
|
||||
xor a
|
||||
ld [sRTCStatusFlags], a
|
||||
call CloseSRAM
|
||||
|
|
@ -102,9 +102,9 @@ StartClock::
|
|||
|
||||
_FixDays:
|
||||
ld hl, hRTCDayHi
|
||||
bit RTC_DH_OVERFLOW, [hl]
|
||||
bit B_RAMB_RTC_DH_CARRY, [hl]
|
||||
jr nz, .reset_rtc
|
||||
bit RTC_DH_HALT, [hl]
|
||||
bit B_RAMB_RTC_DH_HALT, [hl]
|
||||
jr nz, .reset_rtc
|
||||
xor a
|
||||
ret
|
||||
|
|
@ -115,16 +115,16 @@ _FixDays:
|
|||
ret
|
||||
|
||||
_GetClock:
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
call LatchClock
|
||||
ld a, RTC_DH
|
||||
ld [MBC3SRamBank], a
|
||||
ld a, [MBC3RTC]
|
||||
ld a, RAMB_RTC_DH
|
||||
ld [rRAMB], a
|
||||
ld a, [rRTCREG]
|
||||
push af
|
||||
call CloseSRAM
|
||||
pop af
|
||||
bit RTC_DH_HALT, a
|
||||
bit B_RAMB_RTC_DH_HALT, a
|
||||
ret z
|
||||
|
||||
ld a, BANK(sRTCHaltCheckValue)
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ InitClock:
|
|||
xor a
|
||||
ldh [hBGMapMode], a
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_HEIGHT * SCREEN_WIDTH
|
||||
ld bc, SCREEN_AREA
|
||||
xor a
|
||||
call ByteFill
|
||||
ld a, $1
|
||||
|
|
|
|||
|
|
@ -305,7 +305,7 @@ AddOrSubtractY:
|
|||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wCurSpriteOAMFlags
|
||||
bit OAM_Y_FLIP, [hl]
|
||||
bit B_OAM_YFLIP, [hl]
|
||||
jr z, .ok
|
||||
; -8 - a
|
||||
add 8
|
||||
|
|
@ -320,7 +320,7 @@ AddOrSubtractX:
|
|||
push hl
|
||||
ld a, [hl]
|
||||
ld hl, wCurSpriteOAMFlags
|
||||
bit OAM_X_FLIP, [hl]
|
||||
bit B_OAM_XFLIP, [hl]
|
||||
jr z, .ok
|
||||
; -8 - a
|
||||
add 8
|
||||
|
|
@ -336,10 +336,10 @@ GetSpriteOAMAttr:
|
|||
ld b, a
|
||||
ld a, [hl]
|
||||
xor b
|
||||
and PRIORITY | Y_FLIP | X_FLIP
|
||||
and OAM_PRIO | OAM_YFLIP | OAM_XFLIP
|
||||
ld b, a
|
||||
ld a, [hl]
|
||||
and ~(PRIORITY | Y_FLIP | X_FLIP)
|
||||
and ~(OAM_PRIO | OAM_YFLIP | OAM_XFLIP)
|
||||
or b
|
||||
ret
|
||||
|
||||
|
|
@ -424,7 +424,7 @@ GetSpriteAnimFrame:
|
|||
push af
|
||||
ld a, [hl]
|
||||
push hl
|
||||
and ~(Y_FLIP << 1 | X_FLIP << 1)
|
||||
and ~(OAM_YFLIP << 1 | OAM_XFLIP << 1)
|
||||
ld hl, SPRITEANIMSTRUCT_DURATIONOFFSET
|
||||
add hl, bc
|
||||
add [hl]
|
||||
|
|
@ -434,7 +434,7 @@ GetSpriteAnimFrame:
|
|||
pop hl
|
||||
.okay
|
||||
ld a, [hl]
|
||||
and Y_FLIP << 1 | X_FLIP << 1 ; The << 1 is compensated in the "oamframe" macro
|
||||
and OAM_YFLIP << 1 | OAM_XFLIP << 1 ; The << 1 is compensated in the "oamframe" macro
|
||||
srl a
|
||||
ld [wCurSpriteOAMFlags], a
|
||||
pop af
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ _LoadOverworldAttrmapPals::
|
|||
ld h, a
|
||||
ld a, [hl]
|
||||
and $f
|
||||
bit OAM_TILE_BANK, a
|
||||
bit B_OAM_BANK1, a
|
||||
jr z, .next
|
||||
jr .by_map_group
|
||||
|
||||
|
|
@ -34,7 +34,7 @@ _LoadOverworldAttrmapPals::
|
|||
ld a, [hl]
|
||||
swap a
|
||||
and $f
|
||||
bit OAM_TILE_BANK, a
|
||||
bit B_OAM_BANK1, a
|
||||
jr z, .next
|
||||
|
||||
.by_map_group
|
||||
|
|
@ -76,7 +76,7 @@ _ScrollBGMapPalettes::
|
|||
ld h, a
|
||||
ld a, [hl]
|
||||
and $f
|
||||
bit OAM_TILE_BANK, a
|
||||
bit B_OAM_BANK1, a
|
||||
jr z, .next
|
||||
jr .by_map_group
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ _ScrollBGMapPalettes::
|
|||
ld a, [hl]
|
||||
swap a
|
||||
and $f
|
||||
bit OAM_TILE_BANK, a
|
||||
bit B_OAM_BANK1, a
|
||||
jr z, .next
|
||||
|
||||
.by_map_group
|
||||
|
|
|
|||
|
|
@ -296,7 +296,7 @@ ScrollTileUpDown: ; unreferenced
|
|||
ScrollTileLeft:
|
||||
ld h, d
|
||||
ld l, e
|
||||
ld c, LEN_2BPP_TILE / 4
|
||||
ld c, TILE_SIZE / 4
|
||||
.loop
|
||||
rept 4
|
||||
ld a, [hl]
|
||||
|
|
@ -310,7 +310,7 @@ endr
|
|||
ScrollTileRight:
|
||||
ld h, d
|
||||
ld l, e
|
||||
ld c, LEN_2BPP_TILE / 4
|
||||
ld c, TILE_SIZE / 4
|
||||
.loop
|
||||
rept 4
|
||||
ld a, [hl]
|
||||
|
|
@ -327,9 +327,9 @@ ScrollTileUp:
|
|||
ld d, [hl]
|
||||
inc hl
|
||||
ld e, [hl]
|
||||
ld bc, LEN_2BPP_TILE - 2
|
||||
ld bc, TILE_SIZE - 2
|
||||
add hl, bc
|
||||
ld a, LEN_2BPP_TILE / 4
|
||||
ld a, TILE_SIZE / 4
|
||||
.loop
|
||||
ld c, [hl]
|
||||
ld [hl], e
|
||||
|
|
@ -350,14 +350,14 @@ ScrollTileUp:
|
|||
ScrollTileDown:
|
||||
ld h, d
|
||||
ld l, e
|
||||
ld de, LEN_2BPP_TILE - 2
|
||||
ld de, TILE_SIZE - 2
|
||||
push hl
|
||||
add hl, de
|
||||
ld d, [hl]
|
||||
inc hl
|
||||
ld e, [hl]
|
||||
pop hl
|
||||
ld a, LEN_2BPP_TILE / 4
|
||||
ld a, TILE_SIZE / 4
|
||||
.loop
|
||||
ld b, [hl]
|
||||
ld [hl], d
|
||||
|
|
@ -632,7 +632,7 @@ WriteTile:
|
|||
ld [hl], e
|
||||
inc hl
|
||||
ld [hl], d
|
||||
rept (LEN_2BPP_TILE - 2) / 2
|
||||
rept (TILE_SIZE - 2) / 2
|
||||
pop de
|
||||
inc hl
|
||||
ld [hl], e
|
||||
|
|
@ -666,7 +666,7 @@ AnimateWaterPalette:
|
|||
ret nz
|
||||
|
||||
; Ready for BGPD input
|
||||
ld a, (1 << rBGPI_AUTO_INCREMENT) palette PAL_BG_WATER color 0
|
||||
ld a, BGPI_AUTOINC palette PAL_BG_WATER color 0
|
||||
ldh [rBGPI], a
|
||||
|
||||
; A cycle of 4 colors (0 1 2 1), updating every other tick
|
||||
|
|
@ -719,7 +719,7 @@ FlickeringCaveEntrancePalette:
|
|||
ret nz
|
||||
|
||||
; Ready for BGPD input
|
||||
ld a, (1 << rBGPI_AUTO_INCREMENT) palette PAL_BG_YELLOW color 0
|
||||
ld a, BGPI_AUTOINC palette PAL_BG_YELLOW color 0
|
||||
ldh [rBGPI], a
|
||||
|
||||
; A cycle of 2 colors (0 2), updating every other vblank
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ FontBattleExtra:
|
|||
INCBIN "gfx/font/font_battle_extra.2bpp"
|
||||
|
||||
Frames:
|
||||
table_width TEXTBOX_FRAME_TILES * LEN_1BPP_TILE
|
||||
table_width TEXTBOX_FRAME_TILES * TILE_1BPP_SIZE
|
||||
INCBIN "gfx/frames/1.1bpp"
|
||||
INCBIN "gfx/frames/2.1bpp"
|
||||
INCBIN "gfx/frames/3.1bpp"
|
||||
|
|
|
|||
|
|
@ -4,12 +4,12 @@
|
|||
; then a row of the bottom two tiles for those eight footprints.
|
||||
|
||||
; These macros help extract the first and the last two tiles, respectively.
|
||||
DEF footprint_top EQUS "0, 2 * LEN_1BPP_TILE"
|
||||
DEF footprint_bottom EQUS "2 * LEN_1BPP_TILE, 2 * LEN_1BPP_TILE"
|
||||
DEF footprint_top EQUS "0, 2 * TILE_1BPP_SIZE"
|
||||
DEF footprint_bottom EQUS "2 * TILE_1BPP_SIZE, 2 * TILE_1BPP_SIZE"
|
||||
|
||||
Footprints:
|
||||
; Entries correspond to Pokémon species, two apiece, 8 tops then 8 bottoms
|
||||
table_width LEN_1BPP_TILE * 4
|
||||
table_width TILE_1BPP_SIZE * 4
|
||||
|
||||
; 001-008 top halves
|
||||
INCBIN "gfx/footprints/bulbasaur.1bpp", footprint_top
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
MACRO tilepal
|
||||
; used in gfx/tilesets/*_palette_map.asm
|
||||
; vram bank, pals
|
||||
DEF x = \1 << OAM_TILE_BANK
|
||||
DEF x = OAM_BANK\1
|
||||
rept (_NARG - 1) / 2
|
||||
dn (x | PAL_BG_\3), (x | PAL_BG_\2)
|
||||
shift 2
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@ InitSound::
|
|||
push af
|
||||
ld a, BANK(_InitSound)
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
call _InitSound
|
||||
|
||||
pop af
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
|
|
@ -34,13 +34,13 @@ UpdateSound::
|
|||
push af
|
||||
ld a, BANK(_UpdateSound)
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
call _UpdateSound
|
||||
|
||||
pop af
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
|
|
@ -51,14 +51,14 @@ UpdateSound::
|
|||
_LoadMusicByte::
|
||||
; [wCurMusicByte] = [a:de]
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
ld a, [de]
|
||||
ld [wCurMusicByte], a
|
||||
ld a, BANK(LoadMusicByte)
|
||||
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
ret
|
||||
|
||||
PlayMusic::
|
||||
|
|
@ -73,7 +73,7 @@ PlayMusic::
|
|||
push af
|
||||
ld a, BANK(_PlayMusic) ; aka BANK(_InitSound)
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
ld a, e
|
||||
and a
|
||||
|
|
@ -88,7 +88,7 @@ PlayMusic::
|
|||
.end
|
||||
pop af
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
pop af
|
||||
pop bc
|
||||
pop de
|
||||
|
|
@ -107,7 +107,7 @@ PlayMusic2::
|
|||
push af
|
||||
ld a, BANK(_PlayMusic)
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
push de
|
||||
ld de, MUSIC_NONE
|
||||
|
|
@ -118,7 +118,7 @@ PlayMusic2::
|
|||
|
||||
pop af
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
|
|
@ -140,7 +140,7 @@ PlayCry::
|
|||
; Cries are stuck in one bank.
|
||||
ld a, BANK(PokemonCries)
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
ld hl, PokemonCries
|
||||
rept MON_CRY_LENGTH
|
||||
|
|
@ -163,13 +163,13 @@ endr
|
|||
|
||||
ld a, BANK(_PlayCry)
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
call _PlayCry
|
||||
|
||||
pop af
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
pop af
|
||||
pop bc
|
||||
|
|
@ -200,7 +200,7 @@ PlaySFX::
|
|||
push af
|
||||
ld a, BANK(_PlaySFX)
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
ld a, e
|
||||
ld [wCurSFX], a
|
||||
|
|
@ -208,7 +208,7 @@ PlaySFX::
|
|||
|
||||
pop af
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
.done
|
||||
pop af
|
||||
|
|
@ -498,9 +498,9 @@ TerminateExpBarSound::
|
|||
xor a
|
||||
ld [wChannel5Flags1], a
|
||||
ld [wPitchSweep], a
|
||||
ldh [rNR10], a
|
||||
ldh [rNR11], a
|
||||
ldh [rNR12], a
|
||||
ldh [rNR13], a
|
||||
ldh [rNR14], a
|
||||
ldh [rAUD1SWEEP], a
|
||||
ldh [rAUD1LEN], a
|
||||
ldh [rAUD1ENV], a
|
||||
ldh [rAUD1LOW], a
|
||||
ldh [rAUD1HIGH], a
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ FarCopyRadioText::
|
|||
ld d, a
|
||||
ld a, [hli]
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
ld a, e
|
||||
ld l, a
|
||||
ld a, d
|
||||
|
|
@ -174,7 +174,7 @@ FarCopyRadioText::
|
|||
call CopyBytes
|
||||
pop af
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
ret
|
||||
|
||||
|
||||
|
|
@ -252,6 +252,6 @@ PushLYOverrides::
|
|||
ld a, HIGH(wLYOverrides)
|
||||
ld [wRequested2bppDest + 1], a
|
||||
|
||||
ld a, (wLYOverridesEnd - wLYOverrides) / LEN_2BPP_TILE
|
||||
ld a, (wLYOverridesEnd - wLYOverrides) / TILE_SIZE
|
||||
ld [wRequested2bppSize], a
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -12,8 +12,8 @@ ClearSprites::
|
|||
HideSprites::
|
||||
; Set all OAM y-positions to 160 to hide them offscreen
|
||||
ld hl, wShadowOAMSprite00YCoord
|
||||
ld de, SPRITEOAMSTRUCT_LENGTH
|
||||
ld b, NUM_SPRITE_OAM_STRUCTS
|
||||
ld de, OBJ_SIZE
|
||||
ld b, OAM_COUNT
|
||||
ld a, OAM_YCOORD_HIDDEN
|
||||
.loop
|
||||
ld [hl], a ; y
|
||||
|
|
|
|||
10
home/gfx.asm
10
home/gfx.asm
|
|
@ -206,7 +206,7 @@ Request1bpp::
|
|||
Get2bpp::
|
||||
; copy c 2bpp tiles from b:de to hl
|
||||
ldh a, [rLCDC]
|
||||
bit rLCDC_ENABLE, a
|
||||
bit B_LCDC_ENABLE, a
|
||||
jp nz, Request2bpp
|
||||
|
||||
push hl
|
||||
|
|
@ -217,7 +217,7 @@ Get2bpp::
|
|||
; bank
|
||||
ld a, b
|
||||
|
||||
; bc = c * LEN_2BPP_TILE
|
||||
; bc = c * TILE_SIZE
|
||||
push af
|
||||
swap c
|
||||
ld a, $f
|
||||
|
|
@ -233,7 +233,7 @@ Get2bpp::
|
|||
Get1bpp::
|
||||
; copy c 1bpp tiles from b:de to hl
|
||||
ldh a, [rLCDC]
|
||||
bit rLCDC_ENABLE, a
|
||||
bit B_LCDC_ENABLE, a
|
||||
jp nz, Request1bpp
|
||||
|
||||
push de
|
||||
|
|
@ -243,7 +243,7 @@ Get1bpp::
|
|||
; bank
|
||||
ld a, b
|
||||
|
||||
; bc = c * LEN_1BPP_TILE
|
||||
; bc = c * TILE_1BPP_SIZE
|
||||
push af
|
||||
ld h, 0
|
||||
ld l, c
|
||||
|
|
@ -268,7 +268,7 @@ DuplicateGet2bpp:: ; unreferenced
|
|||
; bank
|
||||
ld a, b
|
||||
|
||||
; bc = c * LEN_2BPP_TILE
|
||||
; bc = c * TILE_SIZE
|
||||
ld h, 0
|
||||
ld l, c
|
||||
add hl, hl
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ FarCall::
|
|||
SECTION "rst10", ROM0[$0010]
|
||||
Bankswitch::
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
ret
|
||||
|
||||
SECTION "rst18", ROM0[$0018]
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@ Reset::
|
|||
jr Init
|
||||
|
||||
_Start::
|
||||
cp $11
|
||||
cp BOOTUP_A_CGB
|
||||
jr z, .cgb
|
||||
xor a ; FALSE
|
||||
jr .load
|
||||
|
|
@ -94,14 +94,14 @@ Init::
|
|||
ldh [hSCY], a
|
||||
ldh [rJOYP], a
|
||||
|
||||
ld a, $8 ; HBlank int enable
|
||||
ld a, STAT_MODE_0
|
||||
ldh [rSTAT], a
|
||||
|
||||
ld a, $90
|
||||
ld a, SCREEN_HEIGHT_PX
|
||||
ldh [hWY], a
|
||||
ldh [rWY], a
|
||||
|
||||
ld a, 7
|
||||
ld a, WX_OFS
|
||||
ldh [hWX], a
|
||||
ldh [rWX], a
|
||||
|
||||
|
|
@ -122,11 +122,11 @@ Init::
|
|||
|
||||
farcall StartClock
|
||||
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, SRAM_DISABLE
|
||||
ld [MBC3LatchClock], a
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
ld a, RAMG_SRAM_DISABLE
|
||||
ld [rRTCLATCH], a
|
||||
ld [rRAMG], a
|
||||
|
||||
ld a, LCDC_DEFAULT ; %11100011
|
||||
; LCD on
|
||||
|
|
|
|||
|
|
@ -38,7 +38,7 @@ UpdateJoypad::
|
|||
|
||||
; We can only get four inputs at a time.
|
||||
; We take d-pad first for no particular reason.
|
||||
ld a, 1 << rJOYP_DPAD
|
||||
ld a, JOYP_GET_CTRL_PAD
|
||||
ldh [rJOYP], a
|
||||
; Read twice to give the request time to take.
|
||||
ldh a, [rJOYP]
|
||||
|
|
@ -47,7 +47,7 @@ UpdateJoypad::
|
|||
; The Joypad register output is in the lo nybble (inversed).
|
||||
; We make the hi nybble of our new container d-pad input.
|
||||
cpl
|
||||
and $f
|
||||
and JOYP_INPUTS
|
||||
swap a
|
||||
|
||||
; We'll keep this in b for now.
|
||||
|
|
@ -55,7 +55,7 @@ UpdateJoypad::
|
|||
|
||||
; Buttons make 8 total inputs (A, B, Select, Start).
|
||||
; We can fit this into one byte.
|
||||
ld a, 1 << rJOYP_BUTTONS
|
||||
ld a, JOYP_GET_BUTTONS
|
||||
ldh [rJOYP], a
|
||||
; Wait for input to stabilize.
|
||||
rept 6
|
||||
|
|
@ -63,12 +63,12 @@ rept 6
|
|||
endr
|
||||
; Buttons take the lo nybble.
|
||||
cpl
|
||||
and $f
|
||||
and JOYP_INPUTS
|
||||
or b
|
||||
ld b, a
|
||||
|
||||
; Reset the joypad register since we're done with it.
|
||||
ld a, (1 << rJOYP_BUTTONS) | (1 << rJOYP_DPAD)
|
||||
ld a, JOYP_GET_NONE
|
||||
ldh [rJOYP], a
|
||||
|
||||
; To get the delta we xor the last frame's input with the new one.
|
||||
|
|
|
|||
|
|
@ -27,7 +27,7 @@ DisableLCD::
|
|||
|
||||
; Don't need to do anything if the LCD is already off
|
||||
ldh a, [rLCDC]
|
||||
bit rLCDC_ENABLE, a
|
||||
bit B_LCDC_ENABLE, a
|
||||
ret z
|
||||
|
||||
xor a
|
||||
|
|
@ -36,7 +36,7 @@ DisableLCD::
|
|||
ld b, a
|
||||
|
||||
; Disable VBlank
|
||||
res VBLANK, a
|
||||
res B_IE_VBLANK, a
|
||||
ldh [rIE], a
|
||||
|
||||
.wait
|
||||
|
|
@ -46,7 +46,7 @@ DisableLCD::
|
|||
jr nz, .wait
|
||||
|
||||
ldh a, [rLCDC]
|
||||
and ~(1 << rLCDC_ENABLE)
|
||||
and ~LCDC_ON
|
||||
ldh [rLCDC], a
|
||||
|
||||
xor a
|
||||
|
|
@ -57,6 +57,6 @@ DisableLCD::
|
|||
|
||||
EnableLCD::
|
||||
ldh a, [rLCDC]
|
||||
set rLCDC_ENABLE, a
|
||||
set B_LCDC_ENABLE, a
|
||||
ldh [rLCDC], a
|
||||
ret
|
||||
|
|
|
|||
10
home/map.asm
10
home/map.asm
|
|
@ -106,7 +106,7 @@ LoadOverworldTilemap::
|
|||
|
||||
ld a, "■"
|
||||
hlcoord 0, 0
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call ByteFill
|
||||
|
||||
ld a, BANK(_LoadOverworldTilemap)
|
||||
|
|
@ -276,7 +276,7 @@ LoadMapTimeOfDay::
|
|||
ld [hli], a
|
||||
dec c
|
||||
jr nz, .column
|
||||
ld bc, BG_MAP_WIDTH - SCREEN_WIDTH
|
||||
ld bc, TILEMAP_WIDTH - SCREEN_WIDTH
|
||||
add hl, bc
|
||||
pop bc
|
||||
dec b
|
||||
|
|
@ -1582,7 +1582,7 @@ ScrollMapDown::
|
|||
ld l, a
|
||||
ld a, [wBGMapAnchor + 1]
|
||||
ld h, a
|
||||
ld bc, BG_MAP_WIDTH tiles
|
||||
ld bc, TILEMAP_WIDTH tiles
|
||||
add hl, bc
|
||||
; cap d at HIGH(vBGMap0)
|
||||
ld a, h
|
||||
|
|
@ -1667,7 +1667,7 @@ UpdateBGMapRow::
|
|||
push de
|
||||
call .iteration
|
||||
pop de
|
||||
ld a, BG_MAP_WIDTH
|
||||
ld a, TILEMAP_WIDTH
|
||||
add e
|
||||
ld e, a
|
||||
|
||||
|
|
@ -1701,7 +1701,7 @@ UpdateBGMapColumn::
|
|||
ld [hli], a
|
||||
ld a, d
|
||||
ld [hli], a
|
||||
ld a, BG_MAP_WIDTH
|
||||
ld a, TILEMAP_WIDTH
|
||||
add e
|
||||
ld e, a
|
||||
jr nc, .skip
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ UpdateCGBPals::
|
|||
ld hl, wBGPals2
|
||||
|
||||
; copy 8 pals to bgpd
|
||||
ld a, 1 << rBGPI_AUTO_INCREMENT
|
||||
ld a, BGPI_AUTOINC
|
||||
ldh [rBGPI], a
|
||||
ld c, 8 / 2
|
||||
.bgp
|
||||
|
|
@ -35,7 +35,7 @@ endr
|
|||
; hl is now wOBPals2
|
||||
|
||||
; copy 8 pals to obpd
|
||||
ld a, 1 << rOBPI_AUTO_INCREMENT
|
||||
ld a, OBPI_AUTOINC
|
||||
ldh [rOBPI], a
|
||||
ld c, 8 / 2
|
||||
.obp
|
||||
|
|
@ -191,14 +191,14 @@ CopyPals::
|
|||
; copy c palettes in order b from de to hl
|
||||
|
||||
push bc
|
||||
ld c, NUM_PAL_COLORS
|
||||
ld c, PAL_COLORS
|
||||
.loop
|
||||
push de
|
||||
push hl
|
||||
|
||||
; get pal color
|
||||
ld a, b
|
||||
maskbits 1 << PAL_COLOR_SIZE
|
||||
maskbits 1 << COLOR_SIZE
|
||||
; 2 bytes per color
|
||||
add a
|
||||
ld l, a
|
||||
|
|
@ -216,7 +216,7 @@ CopyPals::
|
|||
ld [hl], d
|
||||
inc hl
|
||||
; next pal color
|
||||
rept PAL_COLOR_SIZE
|
||||
rept COLOR_SIZE
|
||||
srl b
|
||||
endr
|
||||
; source
|
||||
|
|
@ -226,7 +226,7 @@ endr
|
|||
jr nz, .loop
|
||||
|
||||
; de += 8 (next pal)
|
||||
ld a, PALETTE_SIZE
|
||||
ld a, PAL_SIZE
|
||||
add e
|
||||
jr nc, .ok
|
||||
inc d
|
||||
|
|
@ -259,7 +259,7 @@ ClearVBank1::
|
|||
ReloadPalettes::
|
||||
hlcoord 0, 0
|
||||
decoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
.loop
|
||||
ld a, [hli]
|
||||
cp "■"
|
||||
|
|
|
|||
|
|
@ -31,11 +31,11 @@ AskSerial::
|
|||
ldh [rSB], a
|
||||
|
||||
; switch to internal clock
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
|
||||
; start transfer
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -24,9 +24,9 @@ Serial::
|
|||
cp USING_INTERNAL_CLOCK
|
||||
jr z, .player2
|
||||
|
||||
ld a, (0 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
jr .player2
|
||||
|
||||
|
|
@ -57,9 +57,9 @@ Serial::
|
|||
bit 7, a ; wait until rDIV has incremented from 3 to $80 or more
|
||||
jr nz, .delay_loop
|
||||
|
||||
ld a, (0 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
jr .player2
|
||||
|
||||
|
|
@ -126,9 +126,9 @@ Serial_ExchangeByte::
|
|||
ldh a, [hSerialConnectionStatus]
|
||||
cp USING_INTERNAL_CLOCK
|
||||
jr nz, .not_player_2
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
.not_player_2
|
||||
.loop
|
||||
|
|
@ -156,8 +156,8 @@ Serial_ExchangeByte::
|
|||
|
||||
.not_player_1_or_timed_out
|
||||
ldh a, [rIE]
|
||||
and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
|
||||
cp 1 << SERIAL
|
||||
and IE_SERIAL | IE_TIMER | IE_STAT | IE_VBLANK
|
||||
cp IE_SERIAL
|
||||
jr nz, .loop
|
||||
ld a, [wLinkByteTimeout]
|
||||
dec a
|
||||
|
|
@ -180,8 +180,8 @@ Serial_ExchangeByte::
|
|||
xor a
|
||||
ldh [hSerialReceivedNewData], a
|
||||
ldh a, [rIE]
|
||||
and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
|
||||
sub 1 << SERIAL
|
||||
and IE_SERIAL | IE_TIMER | IE_STAT | IE_VBLANK
|
||||
sub IE_SERIAL
|
||||
jr nz, .non_serial_interrupts_enabled
|
||||
|
||||
; a == 0
|
||||
|
|
@ -212,8 +212,8 @@ Serial_ExchangeByte::
|
|||
|
||||
.timed_out
|
||||
ldh a, [rIE]
|
||||
and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
|
||||
cp 1 << SERIAL
|
||||
and IE_SERIAL | IE_TIMER | IE_STAT | IE_VBLANK
|
||||
cp IE_SERIAL
|
||||
ld a, SERIAL_NO_DATA_BYTE
|
||||
ret z
|
||||
ld a, [hl]
|
||||
|
|
@ -362,9 +362,9 @@ LinkTransfer::
|
|||
ldh a, [hSerialConnectionStatus]
|
||||
cp USING_INTERNAL_CLOCK
|
||||
jr nz, .player_1
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
|
||||
.player_1
|
||||
|
|
@ -392,9 +392,9 @@ LinkDataReceived::
|
|||
ldh a, [hSerialConnectionStatus]
|
||||
cp USING_INTERNAL_CLOCK
|
||||
ret nz
|
||||
ld a, (0 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (1 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_INTERNAL
|
||||
ldh [rSC], a
|
||||
ret
|
||||
|
||||
|
|
@ -407,8 +407,8 @@ SetBitsForTimeCapsuleRequestIfNotLinked:: ; unreferenced
|
|||
ldh [rSB], a
|
||||
xor a
|
||||
ldh [hSerialReceive], a
|
||||
ld a, (0 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
ld a, (1 << rSC_ON) | (0 << rSC_CLOCK)
|
||||
ld a, SC_START | SC_EXTERNAL
|
||||
ldh [rSC], a
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -3,21 +3,21 @@ OpenSRAM::
|
|||
push af
|
||||
; latch clock data
|
||||
ld a, 1
|
||||
ld [MBC3LatchClock], a
|
||||
ld [rRTCLATCH], a
|
||||
; enable sram/clock write
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
; select sram bank
|
||||
pop af
|
||||
ld [MBC3SRamBank], a
|
||||
ld [rRAMB], a
|
||||
ret
|
||||
|
||||
CloseSRAM::
|
||||
push af
|
||||
ld a, SRAM_DISABLE
|
||||
ld a, RAMG_SRAM_DISABLE
|
||||
; reset clock latch for next time
|
||||
ld [MBC3LatchClock], a
|
||||
ld [rRTCLATCH], a
|
||||
; disable sram/clock write
|
||||
ld [MBC3SRamEnable], a
|
||||
ld [rRAMG], a
|
||||
pop af
|
||||
ret
|
||||
|
|
|
|||
|
|
@ -26,14 +26,14 @@ ClearTilemap::
|
|||
|
||||
; Update the BG Map.
|
||||
ldh a, [rLCDC]
|
||||
bit rLCDC_ENABLE, a
|
||||
bit B_LCDC_ENABLE, a
|
||||
ret z
|
||||
jp WaitBGMap
|
||||
|
||||
ClearScreen::
|
||||
ld a, PAL_BG_TEXT
|
||||
hlcoord 0, 0, wAttrmap
|
||||
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
||||
ld bc, SCREEN_AREA
|
||||
call ByteFill
|
||||
jr ClearTilemap
|
||||
|
||||
|
|
@ -678,7 +678,7 @@ TextCommand_FAR::
|
|||
ld a, [hli]
|
||||
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
|
||||
push hl
|
||||
ld h, d
|
||||
|
|
@ -688,7 +688,7 @@ TextCommand_FAR::
|
|||
|
||||
pop af
|
||||
ldh [hROMBank], a
|
||||
ld [MBC3RomBank], a
|
||||
ld [rROMB0], a
|
||||
ret
|
||||
|
||||
TextCommand_BCD::
|
||||
|
|
|
|||
|
|
@ -104,7 +104,7 @@ CopyTilemapAtOnce::
|
|||
ld l, 0
|
||||
ld a, SCREEN_HEIGHT
|
||||
ldh [hTilesPerCycle], a
|
||||
ld b, 1 << 1 ; not in v/hblank
|
||||
ld b, STAT_BUSY
|
||||
ld c, LOW(rSTAT)
|
||||
|
||||
.loop
|
||||
|
|
@ -122,7 +122,7 @@ rept SCREEN_WIDTH / 2
|
|||
inc l
|
||||
endr
|
||||
|
||||
ld de, BG_MAP_WIDTH - SCREEN_WIDTH
|
||||
ld de, TILEMAP_WIDTH - SCREEN_WIDTH
|
||||
add hl, de
|
||||
ldh a, [hTilesPerCycle]
|
||||
dec a
|
||||
|
|
|
|||
|
|
@ -6,9 +6,9 @@ Timer:: ; unreferenced
|
|||
LatchClock::
|
||||
; latch clock counter data
|
||||
ld a, 0
|
||||
ld [MBC3LatchClock], a
|
||||
ld [rRTCLATCH], a
|
||||
ld a, 1
|
||||
ld [MBC3LatchClock], a
|
||||
ld [rRTCLATCH], a
|
||||
ret
|
||||
|
||||
UpdateTime::
|
||||
|
|
@ -22,35 +22,35 @@ GetClock::
|
|||
; store clock data in hRTCDayHi-hRTCSeconds
|
||||
|
||||
; enable clock r/w
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
|
||||
; clock data is 'backwards' in hram
|
||||
|
||||
call LatchClock
|
||||
ld hl, MBC3SRamBank
|
||||
ld de, MBC3RTC
|
||||
ld hl, rRAMB
|
||||
ld de, rRTCREG
|
||||
|
||||
ld [hl], RTC_S
|
||||
ld [hl], RAMB_RTC_S
|
||||
ld a, [de]
|
||||
maskbits 60
|
||||
ldh [hRTCSeconds], a
|
||||
|
||||
ld [hl], RTC_M
|
||||
ld [hl], RAMB_RTC_M
|
||||
ld a, [de]
|
||||
maskbits 60
|
||||
ldh [hRTCMinutes], a
|
||||
|
||||
ld [hl], RTC_H
|
||||
ld [hl], RAMB_RTC_H
|
||||
ld a, [de]
|
||||
maskbits 24
|
||||
ldh [hRTCHours], a
|
||||
|
||||
ld [hl], RTC_DL
|
||||
ld [hl], RAMB_RTC_DL
|
||||
ld a, [de]
|
||||
ldh [hRTCDayLo], a
|
||||
|
||||
ld [hl], RTC_DH
|
||||
ld [hl], RAMB_RTC_DH
|
||||
ld a, [de]
|
||||
ldh [hRTCDayHi], a
|
||||
|
||||
|
|
@ -64,10 +64,10 @@ FixDays::
|
|||
|
||||
; check if day count > 255 (bit 8 set)
|
||||
ldh a, [hRTCDayHi] ; DH
|
||||
bit RTC_DH_HI, a
|
||||
bit B_RAMB_RTC_DH_HIGH, a
|
||||
jr z, .daylo
|
||||
; reset dh (bit 8)
|
||||
res RTC_DH_HI, a
|
||||
res B_RAMB_RTC_DH_HIGH, a
|
||||
ldh [hRTCDayHi], a
|
||||
|
||||
; mod 140
|
||||
|
|
@ -206,43 +206,43 @@ SetClock::
|
|||
; set clock data from hram
|
||||
|
||||
; enable clock r/w
|
||||
ld a, SRAM_ENABLE
|
||||
ld [MBC3SRamEnable], a
|
||||
ld a, RAMG_SRAM_ENABLE
|
||||
ld [rRAMG], a
|
||||
|
||||
; set clock data
|
||||
; stored 'backwards' in hram
|
||||
|
||||
call LatchClock
|
||||
ld hl, MBC3SRamBank
|
||||
ld de, MBC3RTC
|
||||
ld hl, rRAMB
|
||||
ld de, rRTCREG
|
||||
|
||||
; seems to be a halt check that got partially commented out
|
||||
; this block is totally pointless
|
||||
ld [hl], RTC_DH
|
||||
ld [hl], RAMB_RTC_DH
|
||||
ld a, [de]
|
||||
bit RTC_DH_HALT, a
|
||||
bit B_RAMB_RTC_DH_HALT, a
|
||||
ld [de], a
|
||||
|
||||
; seconds
|
||||
ld [hl], RTC_S
|
||||
ld [hl], RAMB_RTC_S
|
||||
ldh a, [hRTCSeconds]
|
||||
ld [de], a
|
||||
; minutes
|
||||
ld [hl], RTC_M
|
||||
ld [hl], RAMB_RTC_M
|
||||
ldh a, [hRTCMinutes]
|
||||
ld [de], a
|
||||
; hours
|
||||
ld [hl], RTC_H
|
||||
ld [hl], RAMB_RTC_H
|
||||
ldh a, [hRTCHours]
|
||||
ld [de], a
|
||||
; day lo
|
||||
ld [hl], RTC_DL
|
||||
ld [hl], RAMB_RTC_DL
|
||||
ldh a, [hRTCDayLo]
|
||||
ld [de], a
|
||||
; day hi
|
||||
ld [hl], RTC_DH
|
||||
ld [hl], RAMB_RTC_DH
|
||||
ldh a, [hRTCDayHi]
|
||||
res RTC_DH_HALT, a ; make sure timer is active
|
||||
res B_RAMB_RTC_DH_HALT, a ; make sure timer is active
|
||||
ld [de], a
|
||||
|
||||
; cleanup
|
||||
|
|
|
|||
|
|
@ -190,13 +190,13 @@ VBlank_Cutscene::
|
|||
xor a
|
||||
ldh [rIF], a
|
||||
; enable lcd stat
|
||||
ld a, 1 << LCD_STAT
|
||||
ld a, IE_STAT
|
||||
ldh [rIE], a
|
||||
; rerequest serial int if applicable (still disabled)
|
||||
; request lcd stat
|
||||
ld a, b
|
||||
and 1 << SERIAL
|
||||
or 1 << LCD_STAT
|
||||
and IF_SERIAL
|
||||
or IF_STAT
|
||||
ldh [rIF], a
|
||||
|
||||
ei
|
||||
|
|
@ -286,7 +286,7 @@ VBlank_Credits::
|
|||
|
||||
xor a
|
||||
ldh [rIF], a
|
||||
ld a, 1 << LCD_STAT
|
||||
ld a, IE_STAT
|
||||
ldh [rIE], a
|
||||
; request lcd stat
|
||||
ldh [rIF], a
|
||||
|
|
@ -384,9 +384,10 @@ VBlank_Unused::
|
|||
xor a
|
||||
ldh [rIF], a
|
||||
; enable lcd stat
|
||||
ld a, 1 << LCD_STAT
|
||||
ld a, IE_STAT
|
||||
ldh [rIE], a
|
||||
; request lcd stat
|
||||
assert IE_STAT == IF_STAT
|
||||
ldh [rIF], a
|
||||
|
||||
ei
|
||||
|
|
|
|||
|
|
@ -169,7 +169,7 @@ DEF THIRD_HEIGHT EQU SCREEN_HEIGHT / 3
|
|||
ldh a, [hBGMapAddress]
|
||||
ld l, a
|
||||
|
||||
ld de, 2 * THIRD_HEIGHT * BG_MAP_WIDTH
|
||||
ld de, 2 * THIRD_HEIGHT * TILEMAP_WIDTH
|
||||
add hl, de
|
||||
|
||||
; Next time: top third
|
||||
|
|
@ -186,7 +186,7 @@ DEF THIRD_HEIGHT EQU SCREEN_HEIGHT / 3
|
|||
ldh a, [hBGMapAddress]
|
||||
ld l, a
|
||||
|
||||
ld de, THIRD_HEIGHT * BG_MAP_WIDTH
|
||||
ld de, THIRD_HEIGHT * TILEMAP_WIDTH
|
||||
add hl, de
|
||||
|
||||
; Next time: bottom third
|
||||
|
|
@ -212,7 +212,7 @@ DEF THIRD_HEIGHT EQU SCREEN_HEIGHT / 3
|
|||
ld a, THIRD_HEIGHT
|
||||
|
||||
; Discrepancy between wTilemap and BGMap
|
||||
ld bc, BG_MAP_WIDTH - (SCREEN_WIDTH - 1)
|
||||
ld bc, TILEMAP_WIDTH - (SCREEN_WIDTH - 1)
|
||||
|
||||
.row
|
||||
; Copy a row of 20 tiles
|
||||
|
|
@ -390,7 +390,7 @@ Video_DummyFunction:: ; unreferenced
|
|||
|
||||
EnableSpriteDisplay:: ; unreferenced
|
||||
ld hl, rLCDC
|
||||
set rLCDC_SPRITES_ENABLE, [hl]
|
||||
set B_LCDC_OBJS, [hl]
|
||||
ret
|
||||
|
||||
FillBGMap0WithBlack::
|
||||
|
|
@ -405,7 +405,7 @@ FillBGMap0WithBlack::
|
|||
jr z, .two
|
||||
; 3
|
||||
|
||||
DEF BG_THIRD_HEIGHT EQU (BG_MAP_HEIGHT - SCREEN_HEIGHT) / 2
|
||||
DEF BG_THIRD_HEIGHT EQU (TILEMAP_HEIGHT - SCREEN_HEIGHT) / 2
|
||||
|
||||
; Black out the 18 BG Map rows right of the screen area
|
||||
ld a, 2
|
||||
|
|
@ -419,7 +419,7 @@ DEF BG_THIRD_HEIGHT EQU (BG_MAP_HEIGHT - SCREEN_HEIGHT) / 2
|
|||
ld b, SCREEN_HEIGHT
|
||||
ld a, "■"
|
||||
.loop1
|
||||
rept BG_MAP_WIDTH - SCREEN_WIDTH
|
||||
rept TILEMAP_WIDTH - SCREEN_WIDTH
|
||||
ld [hli], a
|
||||
endr
|
||||
add hl, de
|
||||
|
|
@ -430,13 +430,13 @@ endr
|
|||
.two
|
||||
; Black out the top 7 BG Map rows below the screen area
|
||||
ld a, 1
|
||||
ld de, BG_MAP_WIDTH * SCREEN_HEIGHT
|
||||
ld de, TILEMAP_WIDTH * SCREEN_HEIGHT
|
||||
jr .go
|
||||
|
||||
.one
|
||||
; Black out the bottom 7 BG Map rows below the screen area
|
||||
xor a
|
||||
ld de, BG_MAP_WIDTH * (SCREEN_HEIGHT + BG_THIRD_HEIGHT)
|
||||
ld de, TILEMAP_WIDTH * (SCREEN_HEIGHT + BG_THIRD_HEIGHT)
|
||||
|
||||
.go
|
||||
ldh [hBlackOutBGMapThird], a
|
||||
|
|
@ -448,7 +448,7 @@ endr
|
|||
ld b, BG_THIRD_HEIGHT * 2
|
||||
ld a, "■"
|
||||
.loop2
|
||||
rept BG_MAP_WIDTH / 2
|
||||
rept TILEMAP_WIDTH / 2
|
||||
ld [hli], a
|
||||
endr
|
||||
dec b
|
||||
|
|
|
|||
|
|
@ -19,9 +19,8 @@ INCLUDE "macros/scripts/battle_commands.asm"
|
|||
INCLUDE "macros/scripts/battle_anims.asm"
|
||||
INCLUDE "macros/scripts/oam_anims.asm"
|
||||
|
||||
INCLUDE "macros/legacy.asm"
|
||||
INCLUDE "constants/hardware.inc"
|
||||
|
||||
INCLUDE "constants/hardware_constants.asm"
|
||||
INCLUDE "constants/deco_constants.asm"
|
||||
INCLUDE "constants/ram_constants.asm"
|
||||
INCLUDE "constants/misc_constants.asm"
|
||||
|
|
@ -73,3 +72,5 @@ ENDC
|
|||
IF DEF(_SILVER_VC)
|
||||
INCLUDE "vc/pokesilver.constants.asm"
|
||||
ENDC
|
||||
|
||||
INCLUDE "macros/legacy.asm"
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@ ENDM
|
|||
MACRO bgcoord
|
||||
; register, x, y[, origin]
|
||||
if _NARG < 4
|
||||
ld \1, (\3) * BG_MAP_WIDTH + (\2) + vBGMap0
|
||||
ld \1, (\3) * TILEMAP_WIDTH + (\2) + vBGMap0
|
||||
else
|
||||
ld \1, (\3) * BG_MAP_WIDTH + (\2) + \4
|
||||
ld \1, (\3) * TILEMAP_WIDTH + (\2) + \4
|
||||
endc
|
||||
ENDM
|
||||
|
||||
|
|
|
|||
|
|
@ -19,18 +19,18 @@ DEF palred EQUS "(1 << 0) *"
|
|||
DEF palgreen EQUS "(1 << 5) *"
|
||||
DEF palblue EQUS "(1 << 10) *"
|
||||
|
||||
DEF palettes EQUS "* PALETTE_SIZE"
|
||||
DEF palette EQUS "+ PALETTE_SIZE *"
|
||||
DEF color EQUS "+ PAL_COLOR_SIZE *"
|
||||
DEF colors EQUS "* PAL_COLOR_SIZE"
|
||||
DEF palettes EQUS "* PAL_SIZE"
|
||||
DEF palette EQUS "+ PAL_SIZE *"
|
||||
DEF color EQUS "+ COLOR_SIZE *"
|
||||
DEF colors EQUS "* COLOR_SIZE"
|
||||
|
||||
DEF tiles EQUS "* LEN_2BPP_TILE"
|
||||
DEF tile EQUS "+ LEN_2BPP_TILE *"
|
||||
DEF tiles EQUS "* TILE_SIZE"
|
||||
DEF tile EQUS "+ TILE_SIZE *"
|
||||
|
||||
; extracts the middle two colors from a 2bpp binary palette
|
||||
; example usage:
|
||||
; INCBIN "foo.gbcpal", middle_colors
|
||||
DEF middle_colors EQUS "PAL_COLOR_SIZE, PAL_COLOR_SIZE * 2"
|
||||
DEF middle_colors EQUS "COLOR_SIZE, COLOR_SIZE * 2"
|
||||
|
||||
MACRO dbpixel
|
||||
if _NARG >= 4
|
||||
|
|
|
|||
|
|
@ -417,3 +417,115 @@ DEF SPRITE_BUENA EQUS "SPRITE_BEAUTY"
|
|||
|
||||
DEF PAL_NPC_SILVER EQUS "PAL_NPC_EMOTE"
|
||||
DEF PAL_OW_SILVER EQUS "PAL_OW_EMOTE"
|
||||
|
||||
; constants/hardware.inc (formerly constants/hardware_constants.asm)
|
||||
|
||||
DEF MBC3SRamEnable EQU rRAMG
|
||||
DEF MBC3RomBank EQU rROMB0
|
||||
DEF MBC3SRamBank EQU rRAMB
|
||||
DEF MBC3LatchClock EQU rRTCLATCH
|
||||
DEF MBC3RTC EQU rRTCREG
|
||||
|
||||
DEF SRAM_DISABLE EQU RAMG_SRAM_DISABLE
|
||||
DEF SRAM_ENABLE EQU RAMG_SRAM_ENABLE
|
||||
|
||||
DEF RTC_S EQU RAMB_RTC_S
|
||||
DEF RTC_M EQU RAMB_RTC_M
|
||||
DEF RTC_H EQU RAMB_RTC_H
|
||||
DEF RTC_DL EQU RAMB_RTC_DL
|
||||
DEF RTC_DH EQU RAMB_RTC_DH
|
||||
DEF RTC_DH_HI EQU B_RAMB_RTC_DH_HIGH
|
||||
DEF RTC_DH_HALT EQU B_RAMB_RTC_DH_HALT
|
||||
DEF RTC_DH_OVERFLOW EQU B_RAMB_RTC_DH_CARRY
|
||||
|
||||
DEF VBLANK EQU B_IE_VBLANK
|
||||
DEF LCD_STAT EQU B_IE_STAT
|
||||
DEF TIMER EQU B_IE_TIMER
|
||||
DEF SERIAL EQU B_IE_SERIAL
|
||||
DEF JOYPAD EQU B_IE_JOYPAD
|
||||
|
||||
DEF OAM_TILE_BANK EQU B_OAM_BANK1
|
||||
DEF OAM_OBP_NUM EQU B_OAM_PAL1
|
||||
DEF OAM_X_FLIP EQU B_OAM_XFLIP
|
||||
DEF OAM_Y_FLIP EQU B_OAM_YFLIP
|
||||
DEF OAM_PRIORITY EQU B_OAM_PRIO
|
||||
DEF PALETTE_MASK EQU OAM_PALETTE
|
||||
DEF VRAM_BANK_1 EQU OAM_BANK1
|
||||
DEF OBP_NUM EQU OAM_PAL1
|
||||
DEF X_FLIP EQU OAM_XFLIP
|
||||
DEF Y_FLIP EQU OAM_YFLIP
|
||||
DEF PRIORITY EQU OAM_PRIO
|
||||
|
||||
; these bit flags are reversed in meaning
|
||||
DEF rJOYP_BUTTONS EQU B_JOYP_GET_CTRL_PAD
|
||||
DEF rJOYP_DPAD EQU B_JOYP_GET_BUTTONS
|
||||
|
||||
DEF rSC_ON EQU B_SC_START
|
||||
DEF rSC_CGB EQU B_SC_SPEED
|
||||
DEF rSC_CLOCK EQU B_SC_SOURCE
|
||||
|
||||
DEF rTAC_ON EQU B_TAC_START
|
||||
DEF rTAC_4096_HZ EQU TAC_4KHZ
|
||||
DEF rTAC_262144_HZ EQU TAC_262KHZ
|
||||
DEF rTAC_65536_HZ EQU TAC_65KHZ
|
||||
DEF rTAC_16384_HZ EQU TAC_16KHZ
|
||||
|
||||
DEF rWave_0 EQU rAUD3WAVE_0
|
||||
DEF rWave_1 EQU rAUD3WAVE_1
|
||||
DEF rWave_2 EQU rAUD3WAVE_2
|
||||
DEF rWave_3 EQU rAUD3WAVE_3
|
||||
DEF rWave_4 EQU rAUD3WAVE_4
|
||||
DEF rWave_5 EQU rAUD3WAVE_5
|
||||
DEF rWave_6 EQU rAUD3WAVE_6
|
||||
DEF rWave_7 EQU rAUD3WAVE_7
|
||||
DEF rWave_8 EQU rAUD3WAVE_8
|
||||
DEF rWave_9 EQU rAUD3WAVE_9
|
||||
DEF rWave_a EQU rAUD3WAVE_A
|
||||
DEF rWave_b EQU rAUD3WAVE_B
|
||||
DEF rWave_c EQU rAUD3WAVE_C
|
||||
DEF rWave_d EQU rAUD3WAVE_D
|
||||
DEF rWave_e EQU rAUD3WAVE_E
|
||||
DEF rWave_f EQU rAUD3WAVE_F
|
||||
|
||||
DEF rLCDC_BG_PRIORITY EQU B_LCDC_PRIO
|
||||
DEF rLCDC_SPRITES_ENABLE EQU B_LCDC_OBJS
|
||||
DEF rLCDC_SPRITE_SIZE EQU B_LCDC_OBJ_SIZE
|
||||
DEF rLCDC_BG_TILEMAP EQU B_LCDC_BG_MAP
|
||||
DEF rLCDC_TILE_DATA EQU B_LCDC_BLOCKS
|
||||
DEF rLCDC_WINDOW_ENABLE EQU B_LCDC_WINDOW
|
||||
DEF rLCDC_WINDOW_TILEMAP EQU B_LCDC_WIN_MAP
|
||||
DEF rLCDC_ENABLE EQU B_LCDC_ENABLE
|
||||
|
||||
DEF rLCDMODE EQU rSYS
|
||||
|
||||
DEF KEY1_PREPARE EQU B_SPD_PREPARE
|
||||
DEF KEY1_DBLSPEED EQU B_SPD_DOUBLE
|
||||
|
||||
DEF rBLCK EQU rBANK
|
||||
|
||||
DEF rRP_LED_ON EQU B_RP_LED_ON
|
||||
DEF rRP_RECEIVING EQU B_RP_DATA_IN
|
||||
DEF rRP_ENABLE_READ_MASK EQU RP_ENABLE
|
||||
|
||||
DEF rBGPI_AUTO_INCREMENT EQU B_BGPI_AUTOINC
|
||||
|
||||
DEF rOBPI_AUTO_INCREMENT EQU B_OBPI_AUTOINC
|
||||
|
||||
; constants/gfx_constants.asm
|
||||
|
||||
DEF LEN_1BPP_TILE EQU TILE_1BPP_SIZE
|
||||
DEF LEN_2BPP_TILE EQU TILE_SIZE
|
||||
|
||||
DEF NUM_PAL_COLORS EQU PAL_COLORS
|
||||
DEF PAL_COLOR_SIZE EQU COLOR_SIZE
|
||||
DEF PALETTE_SIZE EQU PAL_SIZE
|
||||
|
||||
DEF BG_MAP_WIDTH EQU TILEMAP_WIDTH
|
||||
DEF BG_MAP_HEIGHT EQU TILEMAP_HEIGHT
|
||||
|
||||
DEF SPRITEOAMSTRUCT_YCOORD EQU OAMA_Y
|
||||
DEF SPRITEOAMSTRUCT_XCOORD EQU OAMA_X
|
||||
DEF SPRITEOAMSTRUCT_TILE_ID EQU OAMA_TILEID
|
||||
DEF SPRITEOAMSTRUCT_ATTRIBUTES EQU OAMA_FLAGS
|
||||
DEF SPRITEOAMSTRUCT_LENGTH EQU OBJ_SIZE
|
||||
DEF NUM_SPRITE_OAM_STRUCTS EQU OAM_COUNT
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user