diff --git a/audio/engine.asm b/audio/engine.asm index 73ab53773..01d3228e4 100644 --- a/audio/engine.asm +++ b/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:: diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index e41fe82c7..c119732fc 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -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 32 ; see wUsedSprites ; PokeAnims indexes (see engine/gfx/pic_animation.asm) diff --git a/constants/hardware.inc b/constants/hardware.inc new file mode 100644 index 000000000..601232615 --- /dev/null +++ b/constants/hardware.inc @@ -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 +; 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 diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm deleted file mode 100644 index f170ad606..000000000 --- a/constants/hardware_constants.asm +++ /dev/null @@ -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 << 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) diff --git a/constants/ram_constants.asm b/constants/ram_constants.asm index cf7b5107c..d396c9493 100644 --- a/constants/ram_constants.asm +++ b/constants/ram_constants.asm @@ -381,3 +381,12 @@ DEF NUM_UNLOCKED_UNOWN_SETS EQU const_value const VBLANK_DMA_TRANSFER ; 6 const VBLANK_UNUSED ; 7 DEF NUM_VBLANK_HANDLERS EQU const_value + +; rRAMB:: +DEF NUM_SRAM_BANKS EQU 4 + +; 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_SERIAL | IE_TIMER | IE_STAT | IE_VBLANK diff --git a/data/battle_anims/framesets.asm b/data/battle_anims/framesets.asm index 4457bc721..f20f83537 100644 --- a/data/battle_anims/framesets.asm +++ b/data/battle_anims/framesets.asm @@ -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: diff --git a/data/battle_anims/oam.asm b/data/battle_anims/oam.asm index bd7cba487..5ed6b3558 100644 --- a/data/battle_anims/oam.asm +++ b/data/battle_anims/oam.asm @@ -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 diff --git a/data/battle_anims/objects.asm b/data/battle_anims/objects.asm index 56278e4fd..18977b0f7 100644 --- a/data/battle_anims/objects.asm +++ b/data/battle_anims/objects.asm @@ -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 diff --git a/data/maps/roofs.asm b/data/maps/roofs.asm index e344b0cb9..2c195b347 100644 --- a/data/maps/roofs.asm +++ b/data/maps/roofs.asm @@ -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" diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm index 1cd85152d..d2667005c 100644 --- a/data/pokemon/palettes.asm +++ b/data/pokemon/palettes.asm @@ -6,7 +6,7 @@ PokemonPalettes: ; Shiny palettes are defined directly, not generated. ; 2 middle palettes, normal and shiny, with 2 colors each - table_width PAL_COLOR_SIZE * 2 * 2 + table_width COLOR_SIZE * 2 * 2 ; 000 RGB 30, 22, 17 diff --git a/data/sprite_anims/framesets.asm b/data/sprite_anims/framesets.asm index c985ea734..56482330d 100644 --- a/data/sprite_anims/framesets.asm +++ b/data/sprite_anims/framesets.asm @@ -107,21 +107,21 @@ 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_BlueWalk: oamframe SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8 oamframe SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8 oamframe SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8 - oamframe SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8, OAM_X_FLIP + oamframe SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8, B_OAM_XFLIP oamrestart .Frameset_MagnetTrainBlue: oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8 oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8 oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8 - oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP + oamframe SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8, B_OAM_XFLIP oamrestart .Frameset_GSTitleTrail: @@ -159,7 +159,7 @@ SpriteAnimFrameData: .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: @@ -172,8 +172,8 @@ SpriteAnimFrameData: .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: @@ -207,7 +207,7 @@ SpriteAnimFrameData: 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: @@ -244,7 +244,7 @@ SpriteAnimFrameData: 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 @@ -264,9 +264,9 @@ SpriteAnimFrameData: .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 @@ -316,15 +316,15 @@ SpriteAnimFrameData: 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: @@ -340,7 +340,7 @@ SpriteAnimFrameData: 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 .Frameset_EZChatCursor1: @@ -378,30 +378,30 @@ SpriteAnimFrameData: 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 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 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 oamend .Frameset_MobileTradeOTBall: 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 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 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 oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3 oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3 oamframe SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3 @@ -455,21 +455,21 @@ SpriteAnimFrameData: oamdelete .Frameset_IntroUnown2: - oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP - oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP - oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP + oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, B_OAM_XFLIP + oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, B_OAM_XFLIP + oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, B_OAM_XFLIP oamdelete .Frameset_IntroUnown3: - oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_Y_FLIP - oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_Y_FLIP - oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_Y_FLIP + oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, B_OAM_YFLIP + oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, B_OAM_YFLIP + oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, B_OAM_YFLIP oamdelete .Frameset_IntroUnown4: - oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP - oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP - oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP + oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, B_OAM_XFLIP, B_OAM_YFLIP + oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, B_OAM_XFLIP, B_OAM_YFLIP + oamframe SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, B_OAM_XFLIP, B_OAM_YFLIP oamdelete .Frameset_IntroUnownF2: @@ -494,6 +494,6 @@ SpriteAnimFrameData: oamend .Frameset_CelebiRight: - oamframe SPRITE_ANIM_OAMSET_CELEBI_1, 8, OAM_X_FLIP - oamframe SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP + oamframe SPRITE_ANIM_OAMSET_CELEBI_1, 8, B_OAM_XFLIP + oamframe SPRITE_ANIM_OAMSET_CELEBI_2, 8, B_OAM_XFLIP oamend diff --git a/data/sprite_anims/oam.asm b/data/sprite_anims/oam.asm index 7da1f9a26..23260e390 100644 --- a/data/sprite_anims/oam.asm +++ b/data/sprite_anims/oam.asm @@ -163,37 +163,37 @@ SpriteAnimOAMData: .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_IntroUnownF2_1: 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 @@ -201,18 +201,18 @@ SpriteAnimOAMData: 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 @@ -225,33 +225,33 @@ SpriteAnimOAMData: 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 @@ -360,10 +360,10 @@ SpriteAnimOAMData: .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 @@ -417,22 +417,22 @@ SpriteAnimOAMData: 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 @@ -461,9 +461,9 @@ SpriteAnimOAMData: .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 @@ -471,90 +471,90 @@ SpriteAnimOAMData: 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 @@ -694,7 +694,7 @@ SpriteAnimOAMData: .OAMData_GSTitleTrail: db 1 - dbsprite -1, -1, 4, 4, $00, 1 | OBP_NUM + dbsprite -1, -1, 4, 4, $00, 1 | OAM_PAL1 .OAMData_EZChatCursor1: db 12 @@ -756,10 +756,10 @@ SpriteAnimOAMData: .OAMData_MagnetTrainBlue: db 4 - dbsprite -1, -1, 0, 0, $00, PAL_OW_BLUE | PRIORITY - dbsprite 0, -1, 0, 0, $01, PAL_OW_BLUE | PRIORITY - dbsprite -1, 0, 0, 0, $02, PAL_OW_BLUE | PRIORITY - dbsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | PRIORITY + dbsprite -1, -1, 0, 0, $00, PAL_OW_BLUE | OAM_PRIO + dbsprite 0, -1, 0, 0, $01, PAL_OW_BLUE | OAM_PRIO + dbsprite -1, 0, 0, 0, $02, PAL_OW_BLUE | OAM_PRIO + dbsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | OAM_PRIO .OAMData_MobileTradeCableBulge: db 1 @@ -774,43 +774,43 @@ SpriteAnimOAMData: .OAMData_MobileTradeOTPulse: db 4 - dbsprite -1, -2, 4, 0, $03, 4 | Y_FLIP - dbsprite -1, -1, 4, 0, $02, 4 | Y_FLIP - dbsprite -1, 0, 4, 0, $01, 4 | Y_FLIP - dbsprite -1, 1, 4, 0, $00, 4 | Y_FLIP + dbsprite -1, -2, 4, 0, $03, 4 | OAM_YFLIP + dbsprite -1, -1, 4, 0, $02, 4 | OAM_YFLIP + dbsprite -1, 0, 4, 0, $01, 4 | OAM_YFLIP + dbsprite -1, 1, 4, 0, $00, 4 | OAM_YFLIP .OAMData_MobileTradePing1: db 4 dbsprite -1, -1, 0, 0, $00, 1 - dbsprite 0, -1, 0, 0, $00, 1 | X_FLIP - dbsprite -1, 0, 0, 0, $00, 1 | Y_FLIP - dbsprite 0, 0, 0, 0, $00, 1 | X_FLIP | Y_FLIP + dbsprite 0, -1, 0, 0, $00, 1 | OAM_XFLIP + dbsprite -1, 0, 0, 0, $00, 1 | OAM_YFLIP + dbsprite 0, 0, 0, 0, $00, 1 | OAM_XFLIP | OAM_YFLIP .OAMData_MobileTradePing2: db 8 dbsprite -2, -2, 4, 4, $00, 1 dbsprite -1, -2, 4, 4, $01, 1 - dbsprite 0, -2, 4, 4, $00, 1 | X_FLIP + dbsprite 0, -2, 4, 4, $00, 1 | OAM_XFLIP dbsprite -2, -1, 4, 4, $02, 1 - dbsprite 0, -1, 4, 4, $02, 1 | X_FLIP - dbsprite -2, 0, 4, 4, $00, 1 | Y_FLIP - dbsprite -1, 0, 4, 4, $01, 1 | Y_FLIP - dbsprite 0, 0, 4, 4, $00, 1 | X_FLIP | Y_FLIP + dbsprite 0, -1, 4, 4, $02, 1 | OAM_XFLIP + dbsprite -2, 0, 4, 4, $00, 1 | OAM_YFLIP + dbsprite -1, 0, 4, 4, $01, 1 | OAM_YFLIP + dbsprite 0, 0, 4, 4, $00, 1 | OAM_XFLIP | OAM_YFLIP .OAMData_MobileTradePing3: db 12 dbsprite -2, -2, 0, 0, $00, 1 dbsprite -1, -2, 0, 0, $01, 1 dbsprite -2, -1, 0, 0, $02, 1 - dbsprite 0, -2, 0, 0, $01, 1 | X_FLIP - dbsprite 1, -2, 0, 0, $00, 1 | X_FLIP - dbsprite 1, -1, 0, 0, $02, 1 | X_FLIP - dbsprite -2, 0, 0, 0, $02, 1 | Y_FLIP - dbsprite -2, 1, 0, 0, $00, 1 | Y_FLIP - dbsprite -1, 1, 0, 0, $01, 1 | Y_FLIP - dbsprite 1, 0, 0, 0, $02, 1 | X_FLIP | Y_FLIP - dbsprite 0, 1, 0, 0, $01, 1 | X_FLIP | Y_FLIP - dbsprite 1, 1, 0, 0, $00, 1 | X_FLIP | Y_FLIP + dbsprite 0, -2, 0, 0, $01, 1 | OAM_XFLIP + dbsprite 1, -2, 0, 0, $00, 1 | OAM_XFLIP + dbsprite 1, -1, 0, 0, $02, 1 | OAM_XFLIP + dbsprite -2, 0, 0, 0, $02, 1 | OAM_YFLIP + dbsprite -2, 1, 0, 0, $00, 1 | OAM_YFLIP + dbsprite -1, 1, 0, 0, $01, 1 | OAM_YFLIP + dbsprite 1, 0, 0, 0, $02, 1 | OAM_XFLIP | OAM_YFLIP + dbsprite 0, 1, 0, 0, $01, 1 | OAM_XFLIP | OAM_YFLIP + dbsprite 1, 1, 0, 0, $00, 1 | OAM_XFLIP | OAM_YFLIP .OAMData_IntroSuicune1: db 36 @@ -951,50 +951,50 @@ SpriteAnimOAMData: .OAMData_IntroPichu: db 25 - dbsprite -3, -3, 4, 4, $00, 1 | VRAM_BANK_1 - dbsprite -2, -3, 4, 4, $01, 1 | VRAM_BANK_1 - dbsprite -1, -3, 4, 4, $02, 1 | VRAM_BANK_1 - dbsprite 0, -3, 4, 4, $03, 1 | VRAM_BANK_1 - dbsprite 1, -3, 4, 4, $04, 1 | VRAM_BANK_1 - dbsprite -3, -2, 4, 4, $10, 1 | VRAM_BANK_1 - dbsprite -2, -2, 4, 4, $11, 1 | VRAM_BANK_1 - dbsprite -1, -2, 4, 4, $12, 1 | VRAM_BANK_1 - dbsprite 0, -2, 4, 4, $13, 1 | VRAM_BANK_1 - dbsprite 1, -2, 4, 4, $14, 1 | VRAM_BANK_1 - dbsprite -3, -1, 4, 4, $20, 1 | VRAM_BANK_1 - dbsprite -2, -1, 4, 4, $21, 1 | VRAM_BANK_1 - dbsprite -1, -1, 4, 4, $22, 1 | VRAM_BANK_1 - dbsprite 0, -1, 4, 4, $23, 1 | VRAM_BANK_1 - dbsprite 1, -1, 4, 4, $24, 1 | VRAM_BANK_1 - dbsprite -3, 0, 4, 4, $30, 1 | VRAM_BANK_1 - dbsprite -2, 0, 4, 4, $31, 1 | VRAM_BANK_1 - dbsprite -1, 0, 4, 4, $32, 1 | VRAM_BANK_1 - dbsprite 0, 0, 4, 4, $33, 1 | VRAM_BANK_1 - dbsprite 1, 0, 4, 4, $34, 1 | VRAM_BANK_1 - dbsprite -3, 1, 4, 4, $40, 1 | VRAM_BANK_1 - dbsprite -2, 1, 4, 4, $41, 1 | VRAM_BANK_1 - dbsprite -1, 1, 4, 4, $42, 1 | VRAM_BANK_1 - dbsprite 0, 1, 4, 4, $43, 1 | VRAM_BANK_1 - dbsprite 1, 1, 4, 4, $44, 1 | VRAM_BANK_1 + dbsprite -3, -3, 4, 4, $00, 1 | OAM_BANK1 + dbsprite -2, -3, 4, 4, $01, 1 | OAM_BANK1 + dbsprite -1, -3, 4, 4, $02, 1 | OAM_BANK1 + dbsprite 0, -3, 4, 4, $03, 1 | OAM_BANK1 + dbsprite 1, -3, 4, 4, $04, 1 | OAM_BANK1 + dbsprite -3, -2, 4, 4, $10, 1 | OAM_BANK1 + dbsprite -2, -2, 4, 4, $11, 1 | OAM_BANK1 + dbsprite -1, -2, 4, 4, $12, 1 | OAM_BANK1 + dbsprite 0, -2, 4, 4, $13, 1 | OAM_BANK1 + dbsprite 1, -2, 4, 4, $14, 1 | OAM_BANK1 + dbsprite -3, -1, 4, 4, $20, 1 | OAM_BANK1 + dbsprite -2, -1, 4, 4, $21, 1 | OAM_BANK1 + dbsprite -1, -1, 4, 4, $22, 1 | OAM_BANK1 + dbsprite 0, -1, 4, 4, $23, 1 | OAM_BANK1 + dbsprite 1, -1, 4, 4, $24, 1 | OAM_BANK1 + dbsprite -3, 0, 4, 4, $30, 1 | OAM_BANK1 + dbsprite -2, 0, 4, 4, $31, 1 | OAM_BANK1 + dbsprite -1, 0, 4, 4, $32, 1 | OAM_BANK1 + dbsprite 0, 0, 4, 4, $33, 1 | OAM_BANK1 + dbsprite 1, 0, 4, 4, $34, 1 | OAM_BANK1 + dbsprite -3, 1, 4, 4, $40, 1 | OAM_BANK1 + dbsprite -2, 1, 4, 4, $41, 1 | OAM_BANK1 + dbsprite -1, 1, 4, 4, $42, 1 | OAM_BANK1 + dbsprite 0, 1, 4, 4, $43, 1 | OAM_BANK1 + dbsprite 1, 1, 4, 4, $44, 1 | OAM_BANK1 .OAMData_IntroWooper: db 16 - dbsprite -3, -2, 4, 0, $00, 2 | VRAM_BANK_1 - dbsprite -2, -2, 4, 0, $01, 2 | VRAM_BANK_1 - dbsprite -1, -2, 4, 0, $02, 2 | VRAM_BANK_1 - dbsprite 0, -2, 4, 0, $03, 2 | VRAM_BANK_1 - dbsprite -3, -1, 4, 0, $04, 2 | VRAM_BANK_1 - dbsprite -2, -1, 4, 0, $05, 2 | VRAM_BANK_1 - dbsprite -1, -1, 4, 0, $06, 2 | VRAM_BANK_1 - dbsprite 0, -1, 4, 0, $07, 2 | VRAM_BANK_1 - dbsprite -3, 0, 4, 0, $08, 2 | VRAM_BANK_1 - dbsprite -2, 0, 4, 0, $09, 2 | VRAM_BANK_1 - dbsprite -1, 0, 4, 0, $0a, 2 | VRAM_BANK_1 - dbsprite 0, 0, 4, 0, $0b, 2 | VRAM_BANK_1 - dbsprite -3, 1, 4, 0, $0c, 2 | VRAM_BANK_1 - dbsprite -2, 1, 4, 0, $0d, 2 | VRAM_BANK_1 - dbsprite -1, 1, 4, 0, $0e, 2 | VRAM_BANK_1 - dbsprite 0, 1, 4, 0, $0f, 2 | VRAM_BANK_1 + dbsprite -3, -2, 4, 0, $00, 2 | OAM_BANK1 + dbsprite -2, -2, 4, 0, $01, 2 | OAM_BANK1 + dbsprite -1, -2, 4, 0, $02, 2 | OAM_BANK1 + dbsprite 0, -2, 4, 0, $03, 2 | OAM_BANK1 + dbsprite -3, -1, 4, 0, $04, 2 | OAM_BANK1 + dbsprite -2, -1, 4, 0, $05, 2 | OAM_BANK1 + dbsprite -1, -1, 4, 0, $06, 2 | OAM_BANK1 + dbsprite 0, -1, 4, 0, $07, 2 | OAM_BANK1 + dbsprite -3, 0, 4, 0, $08, 2 | OAM_BANK1 + dbsprite -2, 0, 4, 0, $09, 2 | OAM_BANK1 + dbsprite -1, 0, 4, 0, $0a, 2 | OAM_BANK1 + dbsprite 0, 0, 4, 0, $0b, 2 | OAM_BANK1 + dbsprite -3, 1, 4, 0, $0c, 2 | OAM_BANK1 + dbsprite -2, 1, 4, 0, $0d, 2 | OAM_BANK1 + dbsprite -1, 1, 4, 0, $0e, 2 | OAM_BANK1 + dbsprite 0, 1, 4, 0, $0f, 2 | OAM_BANK1 .OAMData_IntroUnown1: db 1 @@ -1020,27 +1020,27 @@ SpriteAnimOAMData: db 8 dbsprite -2, -1, 0, 0, $00, 0 dbsprite -1, -1, 0, 0, $01, 0 - dbsprite 0, -1, 0, 0, $01, 0 | X_FLIP - dbsprite 1, -1, 0, 0, $00, 0 | X_FLIP - dbsprite -2, 0, 0, 0, $00, 0 | Y_FLIP - dbsprite -1, 0, 0, 0, $01, 0 | Y_FLIP - dbsprite 0, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP - dbsprite 1, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP + dbsprite 0, -1, 0, 0, $01, 0 | OAM_XFLIP + dbsprite 1, -1, 0, 0, $00, 0 | OAM_XFLIP + dbsprite -2, 0, 0, 0, $00, 0 | OAM_YFLIP + dbsprite -1, 0, 0, 0, $01, 0 | OAM_YFLIP + dbsprite 0, 0, 0, 0, $01, 0 | OAM_XFLIP | OAM_YFLIP + dbsprite 1, 0, 0, 0, $00, 0 | OAM_XFLIP | OAM_YFLIP .OAMData_IntroUnownF2_3: db 12 dbsprite -1, -3, 0, 0, $00, 0 dbsprite -1, -2, 0, 0, $01, 0 dbsprite -1, -1, 0, 0, $02, 0 - dbsprite 0, -3, 0, 0, $00, 0 | X_FLIP - dbsprite 0, -2, 0, 0, $01, 0 | X_FLIP - dbsprite 0, -1, 0, 0, $02, 0 | X_FLIP - dbsprite -1, 0, 0, 0, $02, 0 | Y_FLIP - dbsprite -1, 1, 0, 0, $01, 0 | Y_FLIP - dbsprite -1, 2, 0, 0, $00, 0 | Y_FLIP - dbsprite 0, 0, 0, 0, $02, 0 | X_FLIP | Y_FLIP - dbsprite 0, 1, 0, 0, $01, 0 | X_FLIP | Y_FLIP - dbsprite 0, 2, 0, 0, $00, 0 | X_FLIP | Y_FLIP + dbsprite 0, -3, 0, 0, $00, 0 | OAM_XFLIP + dbsprite 0, -2, 0, 0, $01, 0 | OAM_XFLIP + dbsprite 0, -1, 0, 0, $02, 0 | OAM_XFLIP + dbsprite -1, 0, 0, 0, $02, 0 | OAM_YFLIP + dbsprite -1, 1, 0, 0, $01, 0 | OAM_YFLIP + dbsprite -1, 2, 0, 0, $00, 0 | OAM_YFLIP + dbsprite 0, 0, 0, 0, $02, 0 | OAM_XFLIP | OAM_YFLIP + dbsprite 0, 1, 0, 0, $01, 0 | OAM_XFLIP | OAM_YFLIP + dbsprite 0, 2, 0, 0, $00, 0 | OAM_XFLIP | OAM_YFLIP .OAMData_IntroUnownF2_4_5: db 20 @@ -1067,26 +1067,26 @@ SpriteAnimOAMData: .OAMData_IntroSuicuneAway: db 20 - dbsprite 1, 0, 0, 0, $00, 1 | PRIORITY - dbsprite 2, 1, 0, 0, $00, 1 | PRIORITY - dbsprite 3, 2, 0, 0, $00, 1 | PRIORITY - dbsprite 4, 3, 0, 0, $00, 1 | PRIORITY - dbsprite 5, 4, 0, 0, $00, 1 | PRIORITY - dbsprite 6, 3, 0, 0, $00, 1 | PRIORITY - dbsprite 7, 2, 0, 0, $00, 1 | PRIORITY - dbsprite 8, 1, 0, 0, $00, 1 | PRIORITY - dbsprite 9, 0, 0, 0, $00, 1 | PRIORITY - dbsprite 10, 1, 0, 0, $00, 1 | PRIORITY - dbsprite 11, 2, 0, 0, $00, 1 | PRIORITY - dbsprite 12, 3, 0, 0, $00, 1 | PRIORITY - dbsprite 13, 4, 0, 0, $00, 1 | PRIORITY - dbsprite 14, 3, 0, 0, $00, 1 | PRIORITY - dbsprite 15, 2, 0, 0, $00, 1 | PRIORITY - dbsprite 16, 1, 0, 0, $00, 1 | PRIORITY - dbsprite -15, 0, 0, 0, $00, 1 | PRIORITY - dbsprite -14, 1, 0, 0, $00, 1 | PRIORITY - dbsprite -13, 2, 0, 0, $00, 1 | PRIORITY - dbsprite -12, 3, 0, 0, $00, 1 | PRIORITY + dbsprite 1, 0, 0, 0, $00, 1 | OAM_PRIO + dbsprite 2, 1, 0, 0, $00, 1 | OAM_PRIO + dbsprite 3, 2, 0, 0, $00, 1 | OAM_PRIO + dbsprite 4, 3, 0, 0, $00, 1 | OAM_PRIO + dbsprite 5, 4, 0, 0, $00, 1 | OAM_PRIO + dbsprite 6, 3, 0, 0, $00, 1 | OAM_PRIO + dbsprite 7, 2, 0, 0, $00, 1 | OAM_PRIO + dbsprite 8, 1, 0, 0, $00, 1 | OAM_PRIO + dbsprite 9, 0, 0, 0, $00, 1 | OAM_PRIO + dbsprite 10, 1, 0, 0, $00, 1 | OAM_PRIO + dbsprite 11, 2, 0, 0, $00, 1 | OAM_PRIO + dbsprite 12, 3, 0, 0, $00, 1 | OAM_PRIO + dbsprite 13, 4, 0, 0, $00, 1 | OAM_PRIO + dbsprite 14, 3, 0, 0, $00, 1 | OAM_PRIO + dbsprite 15, 2, 0, 0, $00, 1 | OAM_PRIO + dbsprite 16, 1, 0, 0, $00, 1 | OAM_PRIO + dbsprite -15, 0, 0, 0, $00, 1 | OAM_PRIO + dbsprite -14, 1, 0, 0, $00, 1 | OAM_PRIO + dbsprite -13, 2, 0, 0, $00, 1 | OAM_PRIO + dbsprite -12, 3, 0, 0, $00, 1 | OAM_PRIO .OAMData_Celebi: db 4 diff --git a/data/sprites/facings.asm b/data/sprites/facings.asm index 4a90fdddf..5191a3dae 100644 --- a/data/sprites/facings.asm +++ b/data/sprites/facings.asm @@ -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, ABSOLUTE_TILE_ID, $fe - db 8, 8, ABSOLUTE_TILE_ID | X_FLIP, $fe + db 8, 8, ABSOLUTE_TILE_ID | OAM_XFLIP, $fe FacingGrass2: db 2 ; # db 9, -1, ABSOLUTE_TILE_ID, $fe - db 9, 9, ABSOLUTE_TILE_ID | X_FLIP, $fe + db 9, 9, ABSOLUTE_TILE_ID | OAM_XFLIP, $fe diff --git a/data/trainers/palettes.asm b/data/trainers/palettes.asm index 679e06b5f..5179da171 100644 --- a/data/trainers/palettes.asm +++ b/data/trainers/palettes.asm @@ -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 diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md index fb193fe91..3bb326eac 100644 --- a/docs/bugs_and_glitches.md +++ b/docs/bugs_and_glitches.md @@ -1533,7 +1533,7 @@ To select a move in battle, you have to press and release the Up or Down buttons pop af ldh [hVBlank], a pop af - ldh [rSVBK], a + ldh [rWBK], a ``` The `[hInMenu]` value determines this button behavior. However, the battle moves menu doesn't actually set `[hInMenu]` to anything, so either behavior *may* have been intentional. The default 0 prevents continuous scrolling; a value of 1 allows it. (The Japanese release sets it to 0.) @@ -2749,7 +2749,7 @@ If `IsInArray` returns `nc`, data at `bc` will be executed as code. ld a, 1 .bank_loop push af - ldh [rSVBK], a + ldh [rWBK], a xor a ld hl, STARTOF(WRAMX) ld bc, SIZEOF(WRAMX) diff --git a/docs/design_flaws.md b/docs/design_flaws.md index 749e971fd..3d8d5eee8 100644 --- a/docs/design_flaws.md +++ b/docs/design_flaws.md @@ -149,12 +149,12 @@ In [gfx/footprints.asm](https://github.com/pret/pokecrystal/blob/master/gfx/foot ; 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 @@ -186,7 +186,7 @@ Store footprints contiguously: ```asm Footprints: - table_width LEN_1BPP_TILE * 4 + table_width TILE_1BPP_SIZE * 4 INCBIN "gfx/footprints/bulbasaur.1bpp" INCBIN "gfx/footprints/ivysaur.1bpp" diff --git a/engine/battle/battle_transition.asm b/engine/battle/battle_transition.asm index 12df05011..a3138c9e5 100644 --- a/engine/battle/battle_transition.asm +++ b/engine/battle/battle_transition.asm @@ -32,10 +32,10 @@ DoBattleTransition: jr .loop .done - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals1 ld bc, 8 palettes @@ -43,7 +43,7 @@ DoBattleTransition: call ByteFill pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, %11111111 ld [wBGP], a @@ -56,7 +56,7 @@ DoBattleTransition: ldh [hSCY], a ld a, $1 ; unnecessary bankswitch? - ldh [rSVBK], a + ldh [rWBK], a pop af vc_hook Stop_reducing_battle_transition_flashing ldh [hVBlank], a @@ -122,10 +122,10 @@ LoadTrainerBattlePokeballTiles: ret ConvertTrainerBattlePokeballTilesTo2bpp: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a push hl ld hl, wDecompressScratch ld bc, $28 tiles @@ -144,7 +144,7 @@ ConvertTrainerBattlePokeballTilesTo2bpp: ld c, $28 call Request2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a ret TrainerBattlePokeballTiles: @@ -313,7 +313,7 @@ StartTrainerBattle_SetUpForWavyOutro: vc_hook Stop_reducing_battle_transition_flashing_WavyOutro farcall RespawnPlayerAndOpponent ld a, BANK(wLYOverrides) - ldh [rSVBK], a + ldh [rWBK], a call StartTrainerBattle_NextScene ld a, LOW(rSCX) @@ -371,7 +371,7 @@ StartTrainerBattle_SetUpForSpinOutro: vc_hook Stop_reducing_battle_transition_flashing_SpinOutro farcall RespawnPlayerAndOpponent ld a, BANK(wLYOverrides) - ldh [rSVBK], a + ldh [rWBK], a call StartTrainerBattle_NextScene xor a ld [wBattleTransitionCounter], a @@ -514,7 +514,7 @@ StartTrainerBattle_SetUpForRandomScatterOutro: vc_hook Stop_reducing_battle_transition_flashing_ScatterOutro farcall RespawnPlayerAndOpponent ld a, BANK(wLYOverrides) - ldh [rSVBK], a + ldh [rWBK], a call StartTrainerBattle_NextScene ld a, $10 ld [wBattleTransitionCounter], a @@ -589,7 +589,7 @@ StartTrainerBattle_LoadPokeBallGraphics: ldh [hBGMapMode], a hlcoord 0, 0, wAttrmap - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld bc, SCREEN_AREA inc b inc c jr .enter_loop_midway @@ -661,10 +661,10 @@ StartTrainerBattle_LoadPokeBallGraphics: jr nz, .not_dark ld hl, .darkpals .not_dark - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a call .copypals push hl ld de, wBGPals1 palette PAL_BG_TEXT @@ -675,7 +675,7 @@ StartTrainerBattle_LoadPokeBallGraphics: ld bc, 1 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a call DelayFrame @@ -738,10 +738,10 @@ pusho b.X ; . = 0, X = 1 popo WipeLYOverrides: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wLYOverrides) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wLYOverrides call .wipe @@ -749,7 +749,7 @@ WipeLYOverrides: call .wipe pop af - ldh [rSVBK], a + ldh [rWBK], a ret .wipe diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 439fa2917..e23315c76 100644 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -8057,11 +8057,11 @@ BattleIntro: ld b, SCGB_BATTLE_GRAYSCALE call GetSGBLayout ld hl, rLCDC - res rLCDC_WINDOW_TILEMAP, [hl] ; select vBGMap0/vBGMap2 + res B_LCDC_WIN_MAP, [hl] ; select vBGMap0/vBGMap2 call InitBattleDisplay call BattleStartMessage ld hl, rLCDC - set rLCDC_WINDOW_TILEMAP, [hl] ; select vBGMap1/vBGMap3 + set B_LCDC_WIN_MAP, [hl] ; select vBGMap1/vBGMap3 xor a ldh [hBGMapMode], a call EmptyBattleTextbox @@ -8097,10 +8097,10 @@ InitEnemy: jp InitEnemyWildmon ; wild BackUpBGMap2: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wDecompressScratch ld bc, $40 tiles ; vBGMap3 - vBGMap2 ld a, $2 @@ -8116,7 +8116,7 @@ BackUpBGMap2: pop af ldh [rVBK], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret InitEnemyTrainer: @@ -8457,7 +8457,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 @@ -8951,23 +8951,23 @@ InitBattleDisplay: ret .BlankBGMap: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wDecompressScratch - ld bc, BG_MAP_WIDTH * BG_MAP_HEIGHT + ld bc, TILEMAP_AREA ld a, " " call ByteFill ld de, wDecompressScratch hlbgcoord 0, 0 - lb bc, BANK(@), (BG_MAP_WIDTH * BG_MAP_HEIGHT) / LEN_2BPP_TILE + lb bc, BANK(@), TILEMAP_AREA / TILE_SIZE call Request2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a ret .InitBackPic: @@ -9009,10 +9009,10 @@ GetTrainerBackpic: ret CopyBackpic: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld hl, vTiles0 ld de, vTiles2 tile $31 ldh a, [hROMBank] @@ -9020,7 +9020,7 @@ CopyBackpic: ld c, 7 * 7 call Get2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a call .LoadTrainerBackpicAsOAM ld a, $31 ldh [hGraphicStartTile], a diff --git a/engine/battle/sliding_intro.asm b/engine/battle/sliding_intro.asm index 5ce8c66e4..e66cf9762 100644 --- a/engine/battle/sliding_intro.asm +++ b/engine/battle/sliding_intro.asm @@ -1,8 +1,8 @@ BattleIntroSlidingPics: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wLYOverrides) - ldh [rSVBK], a + ldh [rWBK], a call .subfunction1 ld a, LOW(rSCX) ldh [hLCDCPointer], a @@ -10,7 +10,7 @@ BattleIntroSlidingPics: xor a ldh [hLCDCPointer], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret .subfunction1 @@ -59,7 +59,7 @@ BattleIntroSlidingPics: .subfunction3 ld hl, wShadowOAMSprite00XCoord ld c, $12 ; 18 - ld de, SPRITEOAMSTRUCT_LENGTH + ld de, OBJ_SIZE .loop3 dec [hl] dec [hl] diff --git a/engine/battle/trainer_huds.asm b/engine/battle/trainer_huds.asm index 74d144dee..a8ee5b010 100644 --- a/engine/battle/trainer_huds.asm +++ b/engine/battle/trainer_huds.asm @@ -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: diff --git a/engine/battle_anims/anim_commands.asm b/engine/battle_anims/anim_commands.asm index 4d41e9ccb..2e811e612 100644 --- a/engine/battle_anims/anim_commands.asm +++ b/engine/battle_anims/anim_commands.asm @@ -1,16 +1,16 @@ ; Battle animation command interpreter. PlayBattleAnim: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wActiveAnimObjects) - ldh [rSVBK], a + ldh [rWBK], a call _PlayBattleAnim pop af - ldh [rSVBK], a + ldh [rWBK], a ret _PlayBattleAnim: @@ -25,8 +25,8 @@ _PlayBattleAnim: call BattleAnimDelayFrame ld c, VBLANK_CUTSCENE - ldh a, [rKEY1] - bit KEY1_DBLSPEED, a + ldh a, [rSPD] + bit B_SPD_DOUBLE, a jr nz, .got_speed ld c, VBLANK_CUTSCENE_CGB @@ -154,10 +154,10 @@ BattleAnimRestoreHuds: call BattleAnimDelayFrame call WaitTop - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wCurBattleMon) ; aka BANK(wTempMon), BANK(wPartyMon1), and several others - ldh [rSVBK], a + ldh [rWBK], a ; this block should just be "call UpdateBattleHuds" ld hl, UpdateBattleHuds @@ -165,7 +165,7 @@ BattleAnimRestoreHuds: rst FarCall pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, $1 ldh [hBGMapMode], a @@ -224,9 +224,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 @@ -246,13 +246,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 @@ -676,7 +676,7 @@ BattleAnimCmd_5GFX: ld [wBattleAnimGFXTempTileID], a .loop ld a, [wBattleAnimGFXTempTileID] - cp (vTiles1 - vTiles0) / LEN_2BPP_TILE - BATTLEANIM_BASE_TILE + cp (vTiles1 - vTiles0) / TILE_SIZE - BATTLEANIM_BASE_TILE vc_hook Reduce_move_anim_flashing_PRESENT ret nc call GetBattleAnimByte @@ -897,10 +897,10 @@ BattleAnimCmd_E7: ret BattleAnimCmd_Transform: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wCurPartySpecies) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wCurPartySpecies] push af @@ -930,7 +930,7 @@ BattleAnimCmd_Transform: ld [wCurPartySpecies], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret BattleAnimCmd_UpdateActorPic: @@ -953,10 +953,10 @@ BattleAnimCmd_UpdateActorPic: ret BattleAnimCmd_RaiseSub: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, 1 ; unnecessary bankswitch? - ldh [rSVBK], a + ldh [rWBK], a xor a ; BANK(sScratch) call OpenSRAM @@ -1018,7 +1018,7 @@ GetSubstitutePic: ; used only for BANK(GetSubstitutePic) call CloseSRAM pop af - ldh [rSVBK], a + ldh [rWBK], a ret .CopyTile: @@ -1028,10 +1028,10 @@ GetSubstitutePic: ; used only for BANK(GetSubstitutePic) ret BattleAnimCmd_MinimizeOpp: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, 1 ; unnecessary bankswitch? - ldh [rSVBK], a + ldh [rWBK], a xor a ; BANK(sScratch) call OpenSRAM @@ -1040,7 +1040,7 @@ BattleAnimCmd_MinimizeOpp: call CloseSRAM pop af - ldh [rSVBK], a + ldh [rWBK], a ret GetMinimizePic: @@ -1084,10 +1084,10 @@ MinimizePic: INCBIN "gfx/battle/minimize.2bpp" BattleAnimCmd_Minimize: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, 1 ; unnecessary bankswitch? - ldh [rSVBK], a + ldh [rWBK], a xor a ; BANK(sScratch) call OpenSRAM @@ -1097,14 +1097,14 @@ BattleAnimCmd_Minimize: call CloseSRAM pop af - ldh [rSVBK], a + ldh [rWBK], a ret BattleAnimCmd_DropSub: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wCurPartySpecies) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wCurPartySpecies] push af @@ -1123,14 +1123,14 @@ BattleAnimCmd_DropSub: ld [wCurPartySpecies], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret BattleAnimCmd_BeatUp: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wCurPartySpecies) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wCurPartySpecies] push af @@ -1161,7 +1161,7 @@ BattleAnimCmd_BeatUp: call GetSGBLayout pop af - ldh [rSVBK], a + ldh [rWBK], a ret BattleAnimCmd_OAMOn: @@ -1238,10 +1238,10 @@ rept 4 add hl, de endr - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wEnemyMon) ; wBattleMon is in WRAM0, but wEnemyMon is in WRAMX - ldh [rSVBK], a + ldh [rWBK], a ldh a, [hBattleTurn] and a @@ -1300,7 +1300,7 @@ endr .done pop af - ldh [rSVBK], a + ldh [rWBK], a ret .CryData: @@ -1408,10 +1408,10 @@ BattleAnim_SetBGPals: ldh a, [hCGB] and a ret z - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals2 ld de, wBGPals1 ldh a, [rBGP] @@ -1425,7 +1425,7 @@ BattleAnim_SetBGPals: ld c, 2 call CopyPals pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret @@ -1435,10 +1435,10 @@ BattleAnim_SetOBPals: ldh a, [hCGB] and a ret z - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wOBPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wOBPals2 palette PAL_BATTLE_OB_GRAY ld de, wOBPals1 palette PAL_BATTLE_OB_GRAY ldh a, [rOBP0] @@ -1446,7 +1446,7 @@ BattleAnim_SetOBPals: ld c, 2 call CopyPals pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret diff --git a/engine/battle_anims/bg_effects.asm b/engine/battle_anims/bg_effects.asm index f980e6a0c..baaececc2 100644 --- a/engine/battle_anims/bg_effects.asm +++ b/engine/battle_anims/bg_effects.asm @@ -2557,10 +2557,10 @@ BGEffect_RapidCyclePals: BGEffects_LoadPlayerPals: ld h, a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld a, h push bc push af @@ -2577,17 +2577,17 @@ BGEffects_LoadPlayerPals: call CopyPals pop bc pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret BGEffects_LoadEnemyPals: ld h, a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld a, h push bc push af @@ -2604,7 +2604,7 @@ BGEffects_LoadEnemyPals: call CopyPals pop bc pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret diff --git a/engine/battle_anims/core.asm b/engine/battle_anims/core.asm index 9e314681b..7271ffa53 100644 --- a/engine/battle_anims/core.asm +++ b/engine/battle_anims/core.asm @@ -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 diff --git a/engine/battle_anims/functions.asm b/engine/battle_anims/functions.asm index 5314c3757..1c50a70bf 100644 --- a/engine/battle_anims/functions.asm +++ b/engine/battle_anims/functions.asm @@ -432,14 +432,14 @@ BattleAnimFunc_PokeBallBlocked: GetBallAnimPal: ld hl, BallColors - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wCurItem) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wCurItem] ld e, a pop af - ldh [rSVBK], a + ldh [rWBK], a .IsInArray: ld a, [hli] cp -1 @@ -944,7 +944,7 @@ BattleAnimFunc_RazorLeaf: call ReinitBattleAnimFrameset ld hl, BATTLEANIMSTRUCT_OAMFLAGS add hl, bc - res OAM_X_FLIP, [hl] + res B_OAM_XFLIP, [hl] .four .five .six @@ -2655,7 +2655,7 @@ BattleAnimFunc_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 diff --git a/engine/battle_anims/helpers.asm b/engine/battle_anims/helpers.asm index 90d9feab4..8cdd089cc 100644 --- a/engine/battle_anims/helpers.asm +++ b/engine/battle_anims/helpers.asm @@ -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 diff --git a/engine/battle_anims/pokeball_wobble.asm b/engine/battle_anims/pokeball_wobble.asm index d69766a53..48967f5c1 100644 --- a/engine/battle_anims/pokeball_wobble.asm +++ b/engine/battle_anims/pokeball_wobble.asm @@ -4,12 +4,12 @@ GetPokeBallWobble: push de - ldh a, [rSVBK] + ldh a, [rWBK] ld d, a push de ld a, BANK(wThrownBallWobbleCount) ; aka BANK(wFinalCatchRate) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wThrownBallWobbleCount] inc a @@ -54,7 +54,7 @@ GetPokeBallWobble: pop de ld e, a ld a, d - ldh [rSVBK], a + ldh [rWBK], a ld a, e pop de ret diff --git a/engine/debug/color_picker.asm b/engine/debug/color_picker.asm index 9ccdd52b0..033d3f6ff 100644 --- a/engine/debug/color_picker.asm +++ b/engine/debug/color_picker.asm @@ -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 @@ -184,17 +184,17 @@ DebugColor_InitPalettes: and a ret z - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_DebugBG ld de, wBGPals2 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 @@ -204,7 +204,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 @@ -224,7 +224,7 @@ DebugColor_InitPalettes: ld [wDebugDarkColor + 1], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret Palette_DebugBG: @@ -300,7 +300,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 @@ -462,10 +462,10 @@ DebugColor_UpdatePalettes: jr z, .sgb ; cgb - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals2 ld de, wDebugMiddleColors @@ -486,7 +486,7 @@ DebugColor_UpdatePalettes: ld [wJumptableIndex], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret .sgb @@ -1096,11 +1096,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 @@ -1162,10 +1162,10 @@ DebugTileset_LoadRGBMeter: ret DebugTileset_LoadPalettes: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wDebugTilesetCurPalette] ld l, a @@ -1182,7 +1182,7 @@ DebugTileset_LoadPalettes: call DebugColor_CalculateRGB pop af - ldh [rSVBK], a + ldh [rWBK], a ret DebugColorMain2: ; unreferenced @@ -1200,7 +1200,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 @@ -1215,10 +1215,10 @@ DebugColorMain2: ; unreferenced decoord 16, 1, 0 call DebugColor_DrawAttributeSwatch - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals2 ld a, [wDebugTilesetCurPalette] @@ -1229,7 +1229,7 @@ DebugColorMain2: ; unreferenced call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, 2 ldh [hBGMapMode], a @@ -1247,10 +1247,10 @@ DebugColorMain2: ; unreferenced ret DebugTileset_UpdatePalettes: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals2 ld a, [wDebugTilesetCurPalette] @@ -1276,7 +1276,7 @@ DebugTileset_UpdatePalettes: call DebugColor_PrintHexColor pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a @@ -1326,7 +1326,7 @@ DebugTileset_SelectColorBox: inc a .done - maskbits NUM_PAL_COLORS + maskbits PAL_COLORS ld [wDebugTilesetCurColor], a ld e, a ld d, 0 diff --git a/engine/debug/debug_room.asm b/engine/debug/debug_room.asm index fc9da1a0a..920c69e7d 100644 --- a/engine/debug/debug_room.asm +++ b/engine/debug/debug_room.asm @@ -1419,18 +1419,18 @@ DebugRoom_DayHTimeString: db "DAY HTIME@" 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 @@ -1439,15 +1439,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 diff --git a/engine/events/battle_tower/battle_tower.asm b/engine/events/battle_tower/battle_tower.asm index 162c1942c..5a430542c 100644 --- a/engine/events/battle_tower/battle_tower.asm +++ b/engine/events/battle_tower/battle_tower.asm @@ -11,10 +11,10 @@ Function1700ba: ret Function1700c4: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(w3_d202TrainerData) ; aka BANK(w3_dffc) and BANK(w3_d202Name) - ldh [rSVBK], a + ldh [rWBK], a call Function17042c @@ -48,7 +48,7 @@ Function1700c4: call CopyBytes call CloseSRAM pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function170114: @@ -548,10 +548,10 @@ INCLUDE "data/battle_tower/unknown_levels.asm" CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; copy the BattleTower-Trainer data that lies at 'wBT_OTTrainer' to 'wBT_OTTemp' - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBT_OTTrainer) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBT_OTTrainer ld de, wBT_OTTemp @@ -559,7 +559,7 @@ CopyBTTrainer_FromBT_OT_TowBT_OTTemp: call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, BANK(sBattleTowerChallengeState) call OpenSRAM @@ -1127,28 +1127,28 @@ BattleTowerAction_17: SaveBattleTowerLevelGroup: ld a, BANK(sBTChoiceOfLevelGroup) call OpenSRAM - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBTChoiceOfLvlGroup) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wBTChoiceOfLvlGroup] ld [sBTChoiceOfLevelGroup], a pop af - ldh [rSVBK], a + ldh [rWBK], a call CloseSRAM ret LoadBattleTowerLevelGroup: ; Load level group choice ld a, BANK(sBTChoiceOfLevelGroup) call OpenSRAM - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBTChoiceOfLvlGroup) - ldh [rSVBK], a + ldh [rWBK], a ld a, [sBTChoiceOfLevelGroup] ld [wBTChoiceOfLvlGroup], a pop af - ldh [rSVBK], a + ldh [rWBK], a call CloseSRAM ret @@ -1310,14 +1310,14 @@ String_MysteryJP: db "なぞナゾ@@" ; MYSTERY BattleTowerAction_0F: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(w3_d090) - ldh [rSVBK], a + ldh [rWBK], a ld a, [w3_d090] ld [wScriptVar], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret BattleTowerAction_10: @@ -1531,17 +1531,17 @@ BattleTowerAction_UbersCheck: LoadOpponentTrainerAndPokemonWithOTSprite: farcall LoadOpponentTrainerAndPokemon - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBT_OTTrainerClass) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBT_OTTrainerClass ld a, [hl] dec a ld c, a ld b, 0 pop af - ldh [rSVBK], a + ldh [rWBK], a ld hl, BTTrainerClassSprites add hl, bc ld a, [hl] diff --git a/engine/events/battle_tower/load_trainer.asm b/engine/events/battle_tower/load_trainer.asm index 9286383b7..939cde115 100644 --- a/engine/events/battle_tower/load_trainer.asm +++ b/engine/events/battle_tower/load_trainer.asm @@ -1,8 +1,8 @@ LoadOpponentTrainerAndPokemon: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBT_OTTrainer) - ldh [rSVBK], a + ldh [rWBK], a ; Fill wBT_OTTrainer with zeros xor a @@ -87,7 +87,7 @@ endc jr nz, .copy_bt_trainer_data_loop pop af - ldh [rSVBK], a + ldh [rWBK], a ret diff --git a/engine/events/battle_tower/trainer_text.asm b/engine/events/battle_tower/trainer_text.asm index 5f546ce7c..29ab74615 100644 --- a/engine/events/battle_tower/trainer_text.asm +++ b/engine/events/battle_tower/trainer_text.asm @@ -3,10 +3,10 @@ BattleTowerText:: ; 1: Intro text ; 2: Player lost ; 3: Player won - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBT_OTTrainerClass) - ldh [rSVBK], a + ldh [rWBK], a if DEF(_CRYSTAL11) ld hl, wBT_OTTrainerClass else @@ -79,7 +79,7 @@ endc ld h, a bccoord 1, 14 pop af - ldh [rSVBK], a + ldh [rWBK], a call PrintTextboxTextAt ret diff --git a/engine/events/celebi.asm b/engine/events/celebi.asm index c7544a1e5..2868b856b 100644 --- a/engine/events/celebi.asm +++ b/engine/events/celebi.asm @@ -37,7 +37,7 @@ CelebiShrineEvent: call GetCelebiSpriteTile inc d push de - ld a, 36 * SPRITEOAMSTRUCT_LENGTH + ld a, 36 * OBJ_SIZE ld [wCurSpriteOAMAddr], a farcall DoNextFrameForAllSprites call CelebiEvent_CountDown @@ -60,7 +60,7 @@ CelebiShrineEvent: ld c, 4 .OAMloop: ld [hli], a ; tile id -rept SPRITEOAMSTRUCT_LENGTH - 1 +rept OBJ_SIZE - 1 inc hl endr inc a diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index b8731fecc..6d8571542 100644 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -13,7 +13,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 @@ -51,12 +51,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 diff --git a/engine/events/field_moves.asm b/engine/events/field_moves.asm index 8a24c0a74..97e20aa15 100644 --- a/engine/events/field_moves.asm +++ b/engine/events/field_moves.asm @@ -37,7 +37,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 @@ -52,7 +52,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 @@ -127,7 +127,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 @@ -324,7 +324,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 @@ -361,7 +361,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 @@ -380,7 +380,7 @@ FlyToAnim: ld c, 4 .OAMloop ld [hli], a ; tile id -rept SPRITEOAMSTRUCT_LENGTH - 1 +rept OBJ_SIZE - 1 inc hl endr inc a diff --git a/engine/events/halloffame.asm b/engine/events/halloffame.asm index 60070eeda..d3ec0033f 100644 --- a/engine/events/halloffame.asm +++ b/engine/events/halloffame.asm @@ -237,7 +237,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 @@ -261,7 +261,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 @@ -452,7 +452,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 @@ -524,7 +524,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 farcall GetPlayerBackpic @@ -548,7 +548,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 farcall HOF_LoadTrainerFrontpic diff --git a/engine/events/heal_machine_anim.asm b/engine/events/heal_machine_anim.asm index a6f049646..383a0827c 100644 --- a/engine/events/heal_machine_anim.asm +++ b/engine/events/heal_machine_anim.asm @@ -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 @@ -195,10 +195,10 @@ INCLUDE "gfx/overworld/heal_machine.pal" ret .go - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wOBPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wOBPals2 palette PAL_OW_TREE ld a, [hli] @@ -230,7 +230,7 @@ INCLUDE "gfx/overworld/heal_machine.pal" ld [hl], a pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret diff --git a/engine/events/magnet_train.asm b/engine/events/magnet_train.asm index 0dcdc4584..318bf0dc0 100644 --- a/engine/events/magnet_train.asm +++ b/engine/events/magnet_train.asm @@ -14,10 +14,10 @@ MagnetTrain: .continue ld h, a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wMagnetTrain) - ldh [rSVBK], a + ldh [rWBK], a ld a, h ld [wMagnetTrainDirection], a @@ -80,7 +80,7 @@ MagnetTrain: ldh [hBGMapMode], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret MagnetTrain_UpdateLYOverrides: @@ -129,13 +129,13 @@ MagnetTrain_LoadGFX_PlayMusic: ldh [hSCY], a ; Load the player sprite's standing frames - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wPlayerGender) - ldh [rSVBK], a + ldh [rWBK], a farcall GetPlayerIcon pop af - ldh [rSVBK], a + ldh [rWBK], a ld hl, vTiles0 ld c, 4 call Request2bpp @@ -168,7 +168,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 @@ -245,19 +245,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 @@ -293,17 +293,17 @@ MagnetTrain_Jumptable: ld a, [wMagnetTrainPlayerSpriteInitX] ld e, a ld b, SPRITE_ANIM_OBJ_MAGNET_TRAIN_RED - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wPlayerGender) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wPlayerGender] bit PLAYERGENDER_FEMALE_F, a jr z, .got_gender ld b, SPRITE_ANIM_OBJ_MAGNET_TRAIN_BLUE .got_gender pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, b call InitSpriteAnimStruct ld hl, SPRITEANIMSTRUCT_TILE_ID @@ -392,10 +392,10 @@ MagnetTrain_Jumptable_FirstRunThrough: call PushLYOverrides call DelayFrame - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wEnvironment) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wTimeOfDayPal] push af ld a, [wEnvironment] @@ -422,7 +422,7 @@ MagnetTrain_Jumptable_FirstRunThrough: pop af ld [wTimeOfDayPal], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret MagnetTrainTilemap: diff --git a/engine/events/map_name_sign.asm b/engine/events/map_name_sign.asm index 467862077..2bef462b8 100644 --- a/engine/events/map_name_sign.asm +++ b/engine/events/map_name_sign.asm @@ -178,7 +178,7 @@ InitMapSignAttrmap: inc b inc c inc c - ld a, PAL_BG_TEXT | PRIORITY + ld a, PAL_BG_TEXT | OAM_PRIO .loop push bc push hl diff --git a/engine/events/poisonstep_pals.asm b/engine/events/poisonstep_pals.asm index 5154cf29b..4b604c110 100644 --- a/engine/events/poisonstep_pals.asm +++ b/engine/events/poisonstep_pals.asm @@ -25,10 +25,10 @@ LoadPoisonBGPals: ret .cgb - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals2 ld c, 4 palettes .loop @@ -39,7 +39,7 @@ LoadPoisonBGPals: dec c jr nz, .loop pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ld c, 4 diff --git a/engine/events/print_unown.asm b/engine/events/print_unown.asm index 22d88062f..1d4461de6 100644 --- a/engine/events/print_unown.asm +++ b/engine/events/print_unown.asm @@ -159,10 +159,10 @@ endc ret .Load2bppToSRAM: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld a, BANK(sScratch) call OpenSRAM @@ -175,7 +175,7 @@ endc call CloseSRAM pop af - ldh [rSVBK], a + ldh [rWBK], a ret .vacant @@ -225,7 +225,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 diff --git a/engine/events/print_unown_2.asm b/engine/events/print_unown_2.asm index aae80b11c..7d9316357 100644 --- a/engine/events/print_unown_2.asm +++ b/engine/events/print_unown_2.asm @@ -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 diff --git a/engine/events/unown_walls.asm b/engine/events/unown_walls.asm index 5c4875637..d7b78d9a4 100644 --- a/engine/events/unown_walls.asm +++ b/engine/events/unown_walls.asm @@ -157,7 +157,7 @@ _DisplayUnownWords_FillAttr: cp "@" ret z cp "Y" - ld a, VRAM_BANK_1 | PAL_BG_BROWN + ld a, OAM_BANK1 | PAL_BG_BROWN jr c, .got_pal ld a, PAL_BG_BROWN .got_pal diff --git a/engine/games/card_flip.asm b/engine/games/card_flip.asm index 002780750..bf1406b04 100644 --- a/engine/games/card_flip.asm +++ b/engine/games/card_flip.asm @@ -504,7 +504,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 @@ -1151,25 +1151,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 @@ -1402,145 +1402,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] @@ -1548,7 +1548,7 @@ CardFlip_InitAttrPals: ret z hlcoord 0, 0, wAttrmap - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld bc, SCREEN_AREA xor a call ByteFill @@ -1577,16 +1577,16 @@ CardFlip_InitAttrPals: ld a, $1 call CardFlip_FillBox - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, .palettes ld de, wBGPals1 ld bc, 9 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret .palettes diff --git a/engine/games/memory_game.asm b/engine/games/memory_game.asm index 2652c32c5..c352ba1e2 100644 --- a/engine/games/memory_game.asm +++ b/engine/games/memory_game.asm @@ -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 diff --git a/engine/games/slot_machine.asm b/engine/games/slot_machine.asm index 5dabf01a9..b5b0dc959 100644 --- a/engine/games/slot_machine.asm +++ b/engine/games/slot_machine.asm @@ -97,7 +97,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: @@ -142,7 +142,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 @@ -261,12 +261,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 @@ -827,7 +827,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] @@ -841,7 +841,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] diff --git a/engine/games/unown_puzzle.asm b/engine/games/unown_puzzle.asm index 56af8bb7c..770544218 100644 --- a/engine/games/unown_puzzle.asm +++ b/engine/games/unown_puzzle.asm @@ -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: diff --git a/engine/gfx/cgb_layouts.asm b/engine/gfx/cgb_layouts.asm index 9a5238099..86c4bd3e4 100644 --- a/engine/gfx/cgb_layouts.asm +++ b/engine/gfx/cgb_layouts.asm @@ -116,7 +116,7 @@ _CGB_BattleColors: _CGB_FinishBattleScreenLayout: call InitPartyMenuBGPal7 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 @@ -601,17 +601,17 @@ _CGB_UnownPuzzle: ld a, PREDEFPAL_UNOWN_PUZZLE call GetPredefPal call LoadHLPaletteIntoDE - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wOBPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wOBPals1 ld a, LOW(palred 31 + palgreen 0 + palblue 0) ld [hli], a ld a, HIGH(palred 31 + palgreen 0 + palblue 0) ld [hl], a pop af - ldh [rSVBK], a + ldh [rWBK], a call WipeAttrmap call ApplyAttrmap ret @@ -648,7 +648,7 @@ _CGB_TrainerCard: ; fill screen with opposite-gender palette for the card border hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA ld a, [wPlayerGender] and a ld a, $1 ; kris diff --git a/engine/gfx/color.asm b/engine/gfx/color.asm index ff399c41d..466780ea3 100644 --- a/engine/gfx/color.asm +++ b/engine/gfx/color.asm @@ -378,10 +378,10 @@ LoadStatsScreenPals: dec c add hl, bc add hl, bc - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld a, [hli] ld [wBGPals1 palette 0], a ld [wBGPals1 palette 2], a @@ -389,7 +389,7 @@ LoadStatsScreenPals: ld [wBGPals1 palette 0 + 1], a ld [wBGPals1 palette 2 + 1], a pop af - ldh [rSVBK], a + ldh [rWBK], a call ApplyPals ld a, $1 ret @@ -470,10 +470,10 @@ GetPredefPal: ret LoadHLPaletteIntoDE: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wOBPals1) - ldh [rSVBK], a + ldh [rWBK], a ld c, 1 palettes .loop ld a, [hli] @@ -482,14 +482,14 @@ LoadHLPaletteIntoDE: dec c jr nz, .loop pop af - ldh [rSVBK], a + ldh [rWBK], a ret LoadPalette_White_Col1_Col2_Black: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld a, LOW(PALRGB_WHITE) ld [de], a @@ -498,7 +498,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 @@ -513,7 +513,7 @@ LoadPalette_White_Col1_Col2_Black: inc de pop af - ldh [rSVBK], a + ldh [rWBK], a ret FillBoxCGB: @@ -538,10 +538,10 @@ ResetBGPals: push de push hl - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals1 ld c, 1 palettes @@ -560,7 +560,7 @@ ResetBGPals: jr nz, .loop pop af - ldh [rSVBK], a + ldh [rWBK], a pop hl pop de @@ -570,7 +570,7 @@ ResetBGPals: WipeAttrmap: hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA xor a call ByteFill ret @@ -585,7 +585,7 @@ ApplyPals: ApplyAttrmap: ldh a, [rLCDC] - bit rLCDC_ENABLE, a + bit B_LCDC_ENABLE, a jr z, .UpdateVBank1 ldh a, [hBGMapMode] push af @@ -613,7 +613,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 @@ -720,7 +720,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 @@ -741,7 +741,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 @@ -880,7 +880,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 @@ -890,7 +890,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 @@ -900,16 +900,16 @@ InitCGBPals:: ldh [rOBPD], a dec c jr nz, .obpals_loop - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals1 call .LoadWhitePals ld hl, wBGPals2 call .LoadWhitePals pop af - ldh [rSVBK], a + ldh [rWBK], a ret .LoadWhitePals: @@ -1038,7 +1038,7 @@ endr SGBBorder_PushBGPals: call DisableLCD - ld a, %11100100 + ld a, BGP_SGB_TRANSFER ldh [rBGP], a ld hl, PredefPals ld de, vTiles1 @@ -1055,7 +1055,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 @@ -1089,7 +1089,7 @@ SGBBorder_MorePalPushing: SGBBorder_YetMorePalPushing: call DisableLCD - ld a, %11100100 + ld a, BGP_SGB_TRANSFER ldh [rBGP], a ld de, vTiles1 ld b, $80 @@ -1138,7 +1138,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 @@ -1171,7 +1171,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 @@ -1220,10 +1220,10 @@ LoadMapPals: add hl, de ld e, l ld d, h - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals1 ld b, 8 .outer_loop @@ -1252,7 +1252,7 @@ LoadMapPals: dec b jr nz, .outer_loop pop af - ldh [rSVBK], a + ldh [rWBK], a .got_pals ld a, [wTimeOfDayPal] @@ -1308,7 +1308,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 diff --git a/engine/gfx/crystal_layouts.asm b/engine/gfx/crystal_layouts.asm index 9c2755e3d..6cbc62757 100644 --- a/engine/gfx/crystal_layouts.asm +++ b/engine/gfx/crystal_layouts.asm @@ -46,7 +46,7 @@ Crystal_FillBoxCGB: Crystal_WipeAttrmap: ; This is a copy of WipeAttrmap. hlcoord 0, 0, wAttrmap - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld bc, SCREEN_AREA xor a call ByteFill ret @@ -140,7 +140,7 @@ _CrystalCGB_MobileLayout1: call FarCopyWRAM call Crystal_WipeAttrmap hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA xor a call ByteFill hlcoord 0, 14, wAttrmap diff --git a/engine/gfx/dma_transfer.asm b/engine/gfx/dma_transfer.asm index c77cda100..9dafbe806 100644 --- a/engine/gfx/dma_transfer.asm +++ b/engine/gfx/dma_transfer.asm @@ -116,16 +116,16 @@ Function1040d4: ; unreferenced ld a, $1 ldh [rVBK], a ld a, BANK(w3_d800) - ldh [rSVBK], a + ldh [rWBK], a ld de, w3_d800 ldh a, [hBGMapAddress + 1] - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ldh a, [hBGMapAddress] - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld a, d - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a ld a, e - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ld a, $23 ldh [hDMATransfer], a call WaitDMATransfer @@ -139,7 +139,7 @@ Function1040fb: ; unreferenced ld a, $1 ldh [rVBK], a ld a, BANK(w3_d800) - ldh [rSVBK], a + ldh [rWBK], a ld hl, w3_d800 call HDMATransferToWRAMBank3 ret @@ -210,10 +210,10 @@ CallInSafeGFXMode: xor a ldh [hBGMapMode], a ldh [hMapAnims], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wScratchTilemap) - ldh [rSVBK], a + ldh [rWBK], a ldh a, [rVBK] push af @@ -222,7 +222,7 @@ CallInSafeGFXMode: pop af ldh [rVBK], a pop af - ldh [rSVBK], a + ldh [rWBK], a pop af ldh [hMapAnims], a pop af @@ -278,19 +278,19 @@ HDMATransfer_NoDI: ld e, a ld c, 2 * SCREEN_HEIGHT - ; [rHDMA1, rHDMA2] = hl & $fff0 + ; [rVDMA_SRC_HIGH, rVDMA_SRC_LOW] = hl & $fff0 ld a, h - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, l and $f0 - ldh [rHDMA2], a - ; [rHDMA3, rHDMA4] = de & $1ff0 + ldh [rVDMA_SRC_LOW], a + ; [rVDMA_DEST_HIGH, rVDMA_DEST_LOW] = de & $1ff0 ld a, d and $1f - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a ld a, e and $f0 - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ; b = c | %10000000 ld a, c dec c @@ -308,11 +308,11 @@ HDMATransfer_NoDI: ; while not [rSTAT] & 3: pass .loop2 ldh a, [rSTAT] - and $3 + and STAT_MODE jr z, .loop2 ; load the 5th byte of HDMA ld a, b - ldh [rHDMA5], a + ldh [rVDMA_LEN], a ; wait until rLY advances (c + 1) times ldh a, [rLY] inc c @@ -323,7 +323,7 @@ HDMATransfer_NoDI: ld a, [hl] dec c jr nz, .loop3 - ld hl, rHDMA5 + ld hl, rVDMA_LEN res 7, [hl] ret @@ -335,19 +335,19 @@ HDMATransfer_WaitForScanline128: ld b, $7f _continue_HDMATransfer: ; a lot of waiting around for hardware registers - ; [rHDMA1, rHDMA2] = hl & $fff0 + ; [rVDMA_SRC_HIGH, rVDMA_SRC_LOW] = hl & $fff0 ld a, h - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, l and $f0 ; high nybble - ldh [rHDMA2], a - ; [rHDMA3, rHDMA4] = de & $1ff0 + ldh [rVDMA_SRC_LOW], a + ; [rVDMA_DEST_HIGH, rVDMA_DEST_LOW] = de & $1ff0 ld a, d and $1f ; lower 5 bits - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a ld a, e and $f0 ; high nybble - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ; e = c | %10000000 ld a, c dec c @@ -367,16 +367,16 @@ _continue_HDMATransfer: ; while [rSTAT] & 3: pass .rstat_loop_1 ldh a, [rSTAT] - and $3 + and STAT_MODE jr nz, .rstat_loop_1 ; while not [rSTAT] & 3: pass .rstat_loop_2 ldh a, [rSTAT] - and $3 + and STAT_MODE jr z, .rstat_loop_2 ; load the 5th byte of HDMA ld a, e - ldh [rHDMA5], a + ldh [rVDMA_LEN], a ; wait until rLY advances (c + 1) times ldh a, [rLY] inc c @@ -387,7 +387,7 @@ _continue_HDMATransfer: ld a, [hl] dec c jr nz, .final_ly_loop - ld hl, rHDMA5 + ld hl, rVDMA_LEN res 7, [hl] ei @@ -395,14 +395,14 @@ _continue_HDMATransfer: _LoadHDMAParameters: ld a, h - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, l - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ldh a, [hBGMapAddress + 1] and $1f - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a ldh a, [hBGMapAddress] - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ret PadTilemapForHDMATransfer: @@ -435,7 +435,7 @@ PadMapForHDMATransfer: ; load the original padding value of c into hl for 32 - 20 = 12 rows ldh a, [hMapObjectIndex] - ld b, BG_MAP_WIDTH - SCREEN_WIDTH + ld b, TILEMAP_WIDTH - SCREEN_WIDTH .loop3 ld [hli], a dec b @@ -452,10 +452,10 @@ PadMapForHDMATransfer: HDMATransfer2bpp:: ; 2bpp when [rLCDC] & $80 ; switch to WRAM bank 6 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wScratchTilemap) - ldh [rSVBK], a + ldh [rWBK], a push bc push hl @@ -490,7 +490,7 @@ HDMATransfer2bpp:: ; restore the previous bank pop af - ldh [rSVBK], a + ldh [rWBK], a ret HDMATransfer1bpp:: @@ -520,10 +520,10 @@ HDMATransfer1bpp:: jr .loop .bankswitch - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wScratchTilemap) - ldh [rSVBK], a + ldh [rWBK], a push bc push hl @@ -554,7 +554,7 @@ HDMATransfer1bpp:: call HDMATransfer_WaitForScanline128 pop af - ldh [rSVBK], a + ldh [rWBK], a ret HDMATransfer_OnlyTopFourRows: @@ -593,7 +593,7 @@ HDMATransfer_OnlyTopFourRows: dec c jr nz, .inner_loop ld a, l - add BG_MAP_WIDTH - SCREEN_WIDTH + add TILEMAP_WIDTH - SCREEN_WIDTH ld l, a ld a, h adc 0 diff --git a/engine/gfx/load_font.asm b/engine/gfx/load_font.asm index 284965910..e94380875 100644 --- a/engine/gfx/load_font.asm +++ b/engine/gfx/load_font.asm @@ -20,22 +20,22 @@ _LoadStandardFont:: ld hl, vTiles1 lb bc, BANK(Font), 128 ; "A" to "9" ldh a, [rLCDC] - bit rLCDC_ENABLE, a + bit B_LCDC_ENABLE, a jp z, Copy1bpp ld de, Font ld hl, vTiles1 lb bc, BANK(Font), 32 ; "A" to "]" call Get1bppViaHDMA - ld de, Font + 32 * LEN_1BPP_TILE + ld de, Font + 32 * TILE_1BPP_SIZE ld hl, vTiles1 tile $20 lb bc, BANK(Font), 32 ; "a" to $bf call Get1bppViaHDMA - ld de, Font + 64 * LEN_1BPP_TILE + ld de, Font + 64 * TILE_1BPP_SIZE ld hl, vTiles1 tile $40 lb bc, BANK(Font), 32 ; "Ä" to "←" call Get1bppViaHDMA - ld de, Font + 96 * LEN_1BPP_TILE + ld de, Font + 96 * TILE_1BPP_SIZE ld hl, vTiles1 tile $60 lb bc, BANK(Font), 32 ; "'" to "9" call Get1bppViaHDMA @@ -74,7 +74,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 @@ -128,7 +128,7 @@ StatsScreen_LoadFont: ld hl, vTiles2 tile $78 lb bc, BANK(HPExpBarBorderGFX), 1 call Get1bppViaHDMA - 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 Get1bppViaHDMA diff --git a/engine/gfx/load_pics.asm b/engine/gfx/load_pics.asm index dd52d9407..5766dae47 100644 --- a/engine/gfx/load_pics.asm +++ b/engine/gfx/load_pics.asm @@ -53,11 +53,11 @@ GetMonFrontpic: ld [wCurSpecies], a call IsAPokemon ret c - ldh a, [rSVBK] + ldh a, [rWBK] push af call _GetFrontpic pop af - ldh [rSVBK], a + ldh [rWBK], a ret GetAnimatedFrontpic: @@ -65,14 +65,14 @@ GetAnimatedFrontpic: ld [wCurSpecies], a call IsAPokemon ret c - ldh a, [rSVBK] + ldh a, [rWBK] push af xor a ldh [hBGMapMode], a call _GetFrontpic call GetAnimatedEnemyFrontpic pop af - ldh [rSVBK], a + ldh [rWBK], a ret _GetFrontpic: @@ -84,7 +84,7 @@ _GetFrontpic: push bc call GetFrontpicPointer ld a, BANK(wDecompressEnemyFrontpic) - ldh [rSVBK], a + ldh [rWBK], a ld a, b ld de, wDecompressEnemyFrontpic call FarDecompress @@ -201,10 +201,10 @@ GetMonBackpic: ld b, a ld a, [wUnownLetter] ld c, a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a push de ; These are assumed to be at the same address in their respective banks. @@ -241,7 +241,7 @@ GetMonBackpic: ld b, a call Get2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a ret FixPicBank: @@ -320,10 +320,10 @@ GetTrainerPic: dec a ld bc, 3 call AddNTimes - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a push de ld a, BANK(TrainerPicPointers) call GetFarByte @@ -342,7 +342,7 @@ GetTrainerPic: ld b, a call Get2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a call WaitBGMap ld a, 1 ldh [hBGMapMode], a @@ -351,10 +351,10 @@ GetTrainerPic: DecompressGet2bpp: ; Decompress lz data from b:hl to wDecompressScratch, then copy it to address de. - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a push de push bc @@ -369,7 +369,7 @@ DecompressGet2bpp: call Get2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a ret FixBackpicAlignment: diff --git a/engine/gfx/load_push_oam.asm b/engine/gfx/load_push_oam.asm index 7abbb5151..1832cffd2 100644 --- a/engine/gfx/load_push_oam.asm +++ b/engine/gfx/load_push_oam.asm @@ -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 diff --git a/engine/gfx/pic_animation.asm b/engine/gfx/pic_animation.asm index 6a284806c..372f4ae94 100644 --- a/engine/gfx/pic_animation.asm +++ b/engine/gfx/pic_animation.asm @@ -103,10 +103,10 @@ LoadMonAnimation: ret SetUpPokeAnim: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wPokeAnimStruct) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wPokeAnimSceneIndex] ld c, a ld b, 0 @@ -121,7 +121,7 @@ SetUpPokeAnim: ld a, [wPokeAnimSceneIndex] ld c, a pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, c and JUMPTABLE_EXIT ret z @@ -254,16 +254,16 @@ PokeAnim_StereoCry: ret PokeAnim_DeinitFrames: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wPokeAnimCoord) - ldh [rSVBK], a + ldh [rWBK], a call PokeAnim_PlaceGraphic farcall HDMATransferTilemapToWRAMBank3 call PokeAnim_SetVBank0 farcall HDMATransferAttrmapToWRAMBank3 pop af - ldh [rSVBK], a + ldh [rWBK], a ret AnimateMon_CheckIfPokemon: @@ -280,10 +280,10 @@ AnimateMon_CheckIfPokemon: ret PokeAnim_InitPicAttributes: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wPokeAnimStruct) - ldh [rSVBK], a + ldh [rWBK], a push bc push de @@ -328,14 +328,14 @@ PokeAnim_InitPicAttributes: ld [wPokeAnimFrontpicHeight], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret PokeAnim_InitAnim: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wPokeAnimIdleFlag) - ldh [rSVBK], a + ldh [rWBK], a push bc ld hl, wPokeAnimIdleFlag ld bc, wPokeAnimStructEnd - wPokeAnimIdleFlag @@ -350,7 +350,7 @@ PokeAnim_InitAnim: call GetMonFramesPointer call GetMonBitmaskPointer pop af - ldh [rSVBK], a + ldh [rWBK], a ret PokeAnim_DoAnimScript: @@ -819,16 +819,16 @@ PokeAnim_PlaceGraphic: ret PokeAnim_SetVBank1: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wPokeAnimCoord) - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hBGMapMode], a call .SetFlag farcall HDMATransferAttrmapToWRAMBank3 pop af - ldh [rSVBK], a + ldh [rWBK], a ret .SetFlag: @@ -939,10 +939,10 @@ GetMonAnimPointer: ret PokeAnim_GetFrontpicDims: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wCurPartySpecies) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wCurPartySpecies] ld [wCurSpecies], a call GetBaseData @@ -950,7 +950,7 @@ PokeAnim_GetFrontpicDims: and $f ld c, a pop af - ldh [rSVBK], a + ldh [rWBK], a ret GetMonFramesPointer: diff --git a/engine/items/pack.asm b/engine/items/pack.asm index 9d81c6af8..d9e026698 100644 --- a/engine/items/pack.asm +++ b/engine/items/pack.asm @@ -1425,7 +1425,7 @@ Pack_GetItemName: Pack_ClearTilemap: ; unreferenced hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA ld a, " " call ByteFill ret diff --git a/engine/link/link.asm b/engine/link/link.asm index f01f24820..ffd306000 100644 --- a/engine/link/link.asm +++ b/engine/link/link.asm @@ -51,17 +51,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 @@ -77,7 +77,7 @@ endc call DelayFrames xor a ldh [rIF], a - ld a, 1 << SERIAL + ld a, IE_SERIAL ldh [rIE], a ld hl, wLinkBattleRNPreamble @@ -104,7 +104,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 @@ -217,17 +217,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 @@ -243,7 +243,7 @@ endc call DelayFrames xor a ldh [rIF], a - ld a, 1 << SERIAL + ld a, IE_SERIAL ldh [rIE], a ld hl, wLinkBattleRNPreamble @@ -280,7 +280,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 @@ -497,7 +497,7 @@ endc xor a ldh [rIF], a ldh a, [rIE] - set LCD_STAT, a + set B_IE_STAT, a ldh [rIE], a pop af ldh [rIF], a @@ -1640,9 +1640,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 @@ -2226,18 +2226,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 @@ -2283,9 +2283,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 @@ -2300,9 +2300,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 @@ -2325,9 +2325,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 @@ -2350,9 +2350,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 diff --git a/engine/link/link_trade.asm b/engine/link/link_trade.asm index 52149e810..b04546879 100644 --- a/engine/link/link_trade.asm +++ b/engine/link/link_trade.asm @@ -11,7 +11,7 @@ __LoadTradeScreenBorderGFX: LoadMobileTradeBorderTilemap: ld hl, MobileTradeBorderTilemap decoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call CopyBytes ret diff --git a/engine/link/mystery_gift.asm b/engine/link/mystery_gift.asm index 0577afe9a..491512aa1 100644 --- a/engine/link/mystery_gift.asm +++ b/engine/link/mystery_gift.asm @@ -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] @@ -539,7 +539,7 @@ EndOrContinueMysteryGiftIRCommunication: xor a ldh [rIF], a ldh a, [rIE] - or 1 << VBLANK + or IE_VBLANK ldh [rIE], a ei call DelayFrame @@ -696,7 +696,7 @@ EndNameCardIRCommunication: xor a ldh [rIF], a ldh a, [rIE] - or 1 << VBLANK + or IE_VBLANK ldh [rIE], a ei call DelayFrame @@ -737,7 +737,7 @@ TryReceivingIRDataBlock: InitializeIRCommunicationInterrupts: call StartFastIRTimer - ld a, 1 << TIMER + ld a, IE_TIMER ldh [rIE], a xor a ldh [rIF], a @@ -759,9 +759,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 @@ -771,14 +771,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 @@ -787,7 +787,7 @@ BeginIRCommunication: EndIRCommunication: xor a call ToggleIRCommunication - ld a, rTAC_65536_HZ + ld a, TAC_65KHZ ldh [rTAC], a ret @@ -801,7 +801,7 @@ ReceiveInfraredLEDOn: halt nop ldh a, [c] - bit rRP_RECEIVING, a + bit B_RP_DATA_IN, a jr z, .recv_loop or a ret @@ -816,14 +816,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 @@ -836,7 +836,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 @@ -855,7 +855,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] @@ -1042,7 +1042,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 @@ -1055,7 +1055,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 @@ -1193,7 +1193,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 @@ -1201,7 +1201,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] @@ -1259,7 +1259,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] @@ -1268,7 +1268,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. @@ -1276,7 +1276,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 @@ -1284,7 +1284,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. @@ -1476,7 +1476,7 @@ InitMysteryGiftLayout: call FarCopyBytes hlcoord 0, 0 ld a, $42 - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld bc, SCREEN_AREA call ByteFill hlcoord 3, 7 lb bc, 9, 15 @@ -1653,7 +1653,7 @@ DoNameCardSwap: ld b, 8 .dec_y_loop dec [hl] -rept SPRITEOAMSTRUCT_LENGTH +rept OBJ_SIZE inc hl endr dec b @@ -1662,7 +1662,7 @@ endr ld b, 8 .inc_y_loop inc [hl] -rept SPRITEOAMSTRUCT_LENGTH +rept OBJ_SIZE inc hl endr dec b @@ -1774,7 +1774,7 @@ InitNameCardLayout: call FarCopyBytes hlcoord 0, 0 ld a, $3f - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld bc, SCREEN_AREA call ByteFill hlcoord 3, 7 lb bc, 9, 15 @@ -1845,7 +1845,7 @@ InitNameCardLayout: ld [hl], $3e ld de, wShadowOAMSprite00 ld hl, .NameCardOAMData - ld bc, 16 * SPRITEOAMSTRUCT_LENGTH + ld bc, 16 * OBJ_SIZE call CopyBytes call EnableLCD call WaitBGMap diff --git a/engine/menus/init_gender.asm b/engine/menus/init_gender.asm index bd916ba15..271f9f712 100644 --- a/engine/menus/init_gender.asm +++ b/engine/menus/init_gender.asm @@ -69,11 +69,11 @@ InitGenderScreen: call InitCrystalData call LoadFontsExtra hlcoord 0, 0 - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld bc, SCREEN_AREA ld a, $0 call ByteFill hlcoord 0, 0, wAttrmap - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld bc, SCREEN_AREA xor a call ByteFill ret diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm index 22544aea2..65a145972 100644 --- a/engine/menus/intro_menu.asm +++ b/engine/menus/intro_menu.asm @@ -973,10 +973,10 @@ IntroSequence: ; fallthrough StartTitleScreen: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wLYOverrides) - ldh [rSVBK], a + ldh [rWBK], a call .TitleScreen call DelayFrame @@ -988,10 +988,10 @@ StartTitleScreen: call ClearBGPalettes pop af - ldh [rSVBK], a + ldh [rWBK], a ld hl, rLCDC - res rLCDC_SPRITE_SIZE, [hl] ; 8x8 + res B_LCDC_OBJ_SIZE, [hl] ; 8x8 call ClearScreen call WaitBGMap2 xor a diff --git a/engine/menus/menu.asm b/engine/menus/menu.asm index 78a429c82..3da6421f5 100644 --- a/engine/menus/menu.asm +++ b/engine/menus/menu.asm @@ -555,10 +555,10 @@ Place2DMenuCursor: ret _PushWindow:: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wWindowStack) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wWindowStackPointer ld e, [hl] @@ -620,7 +620,7 @@ _PushWindow:: ld [hl], d pop af - ldh [rSVBK], a + ldh [rWBK], a ld hl, wWindowStackSize inc [hl] ret @@ -658,10 +658,10 @@ _ExitMenu:: xor a ldh [hBGMapMode], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wWindowStack) - ldh [rSVBK], a + ldh [rWBK], a call GetWindowStackTop ld a, l @@ -688,7 +688,7 @@ _ExitMenu:: .done pop af - ldh [rSVBK], a + ldh [rWBK], a ld hl, wWindowStackSize dec [hl] ret @@ -701,7 +701,7 @@ RestoreOverworldMapTiles: ; unreferenced call OpenSRAM hlcoord 0, 0 ld de, sScratch - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call CopyBytes call CloseSRAM call LoadOverworldTilemapAndAttrmapPals @@ -709,7 +709,7 @@ RestoreOverworldMapTiles: ; unreferenced call OpenSRAM ld hl, sScratch decoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA .loop ld a, [hl] cp $61 diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index e0a0ed842..d81787ca5 100644 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -262,7 +262,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 diff --git a/engine/menus/savemenu_copytilemapatonce.asm b/engine/menus/savemenu_copytilemapatonce.asm index 2f30b7c7e..02a282fdf 100644 --- a/engine/menus/savemenu_copytilemapatonce.asm +++ b/engine/menus/savemenu_copytilemapatonce.asm @@ -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 diff --git a/engine/menus/trainer_card.asm b/engine/menus/trainer_card.asm index 2c7d0e5e3..7a79464aa 100644 --- a/engine/menus/trainer_card.asm +++ b/engine/menus/trainer_card.asm @@ -553,10 +553,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: diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index 1784cffc2..9f29a3864 100644 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -12,10 +12,10 @@ Credits:: .okay ld [wJumptableIndex], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wGBCPalettes) - ldh [rSVBK], a + ldh [rWBK], a call ClearBGPalettes call ClearTilemap @@ -107,7 +107,7 @@ Credits:: pop af ldh [hVBlank], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret Credits_HandleAButton: @@ -405,7 +405,7 @@ ConstructCreditsTilemap: ld a, $28 hlcoord 0, 0 - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld bc, SCREEN_AREA call ByteFill ld a, $7f diff --git a/engine/movie/evolution_animation.asm b/engine/movie/evolution_animation.asm index 30da991f5..09a7ddee9 100644 --- a/engine/movie/evolution_animation.asm +++ b/engine/movie/evolution_animation.asm @@ -341,12 +341,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 diff --git a/engine/movie/gbc_only.asm b/engine/movie/gbc_only.asm index b5fdefee1..bbf973c46 100644 --- a/engine/movie/gbc_only.asm +++ b/engine/movie/gbc_only.asm @@ -10,13 +10,13 @@ GBCOnlyScreen: ld hl, GBCOnlyGFX ld de, wGBCOnlyDecompressBuffer - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, 0 ; this has the same effect as selecting bank 1 - ldh [rSVBK], a + ldh [rWBK], a call Decompress pop af - ldh [rSVBK], a + ldh [rWBK], a ld de, wGBCOnlyDecompressBuffer ld hl, vTiles2 diff --git a/engine/movie/init_hof_credits.asm b/engine/movie/init_hof_credits.asm index b6a7d1ac0..3e529d7da 100644 --- a/engine/movie/init_hof_credits.asm +++ b/engine/movie/init_hof_credits.asm @@ -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 @@ -60,10 +60,10 @@ InitDisplayForRedCredits: ret ResetDisplayBetweenHallOfFameMons: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wDecompressScratch ld bc, wScratchAttrmap - wDecompressScratch ld a, " " @@ -74,5 +74,5 @@ ResetDisplayBetweenHallOfFameMons: ld c, 4 tiles call Request2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a ret diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 1f37c0fd3..8b2e6271a 100644 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -1,8 +1,8 @@ CrystalIntro: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wGBCPalettes) - ldh [rSVBK], a + ldh [rWBK], a ldh a, [hInMenu] push af ldh a, [hVBlank] @@ -41,7 +41,7 @@ CrystalIntro: pop af ldh [hInMenu], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret .InitRAMAddrs: @@ -116,10 +116,10 @@ IntroScene1: ld hl, IntroUnownATilemap debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroUnownsPalette ld de, wBGPals1 ld bc, 16 palettes @@ -129,7 +129,7 @@ IntroScene1: ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a ldh [hSCY], a @@ -189,10 +189,10 @@ IntroScene3: ld hl, IntroBackgroundTilemap debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroBackgroundPalette ld de, wBGPals1 ld bc, 16 palettes @@ -202,7 +202,7 @@ IntroScene3: ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a ldh [hSCY], a @@ -255,10 +255,10 @@ IntroScene5: ld hl, IntroUnownHITilemap debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroUnownsPalette ld de, wBGPals1 ld bc, 16 palettes @@ -268,7 +268,7 @@ IntroScene5: ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a ldh [hSCY], a @@ -361,10 +361,10 @@ IntroScene7: debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroBackgroundPalette ld de, wBGPals1 @@ -377,7 +377,7 @@ IntroScene7: call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a @@ -520,10 +520,10 @@ IntroScene11: ld hl, IntroUnownsTilemap debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroUnownsPalette ld de, wBGPals1 ld bc, 16 palettes @@ -533,7 +533,7 @@ IntroScene11: ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a ldh [hSCY], a @@ -646,10 +646,10 @@ IntroScene13: ld hl, IntroBackgroundTilemap debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroBackgroundPalette ld de, wBGPals1 ld bc, 16 palettes @@ -659,7 +659,7 @@ IntroScene13: ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a ldh [hSCY], a @@ -755,10 +755,10 @@ IntroScene15: debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles call Intro_LoadTilemap - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroSuicunePalette ld de, wBGPals1 ld bc, 16 palettes @@ -768,7 +768,7 @@ IntroScene15: ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a ld a, SCREEN_HEIGHT_PX @@ -829,10 +829,10 @@ IntroScene17: ld hl, IntroSuicuneCloseTilemap debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroSuicuneClosePalette ld de, wBGPals1 ld bc, 16 palettes @@ -842,7 +842,7 @@ IntroScene17: ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a ldh [hSCY], a @@ -903,10 +903,10 @@ IntroScene19: debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles call Intro_LoadTilemap - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroSuicunePalette ld de, wBGPals1 ld bc, 16 palettes @@ -916,7 +916,7 @@ IntroScene19: ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a ld a, -5 * TILE_WIDTH @@ -1073,10 +1073,10 @@ IntroScene26: ld hl, IntroCrystalUnownsTilemap debgcoord 0, 0 call Intro_DecompressRequest2bpp_64Tiles - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, IntroCrystalUnownsPalette ld de, wBGPals1 ld bc, 16 palettes @@ -1086,7 +1086,7 @@ IntroScene26: ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a xor a ldh [hSCX], a ldh [hSCY], a @@ -1161,10 +1161,10 @@ Intro_Scene24_ApplyPaletteFade: adc h ld h, a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ld de, wBGPals2 ld b, 8 ; number of BG pals .loop1 @@ -1180,7 +1180,7 @@ Intro_Scene24_ApplyPaletteFade: dec b jr nz, .loop1 pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret @@ -1250,10 +1250,10 @@ CrystalIntro_UnownFade: ld c, a ld b, 0 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a push hl push bc @@ -1304,7 +1304,7 @@ CrystalIntro_UnownFade: ld [hli], a pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret @@ -1345,10 +1345,10 @@ Intro_Scene20_AppearUnown: add a add a ld c, a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a push bc ld de, wBGPals2 @@ -1376,7 +1376,7 @@ Intro_Scene20_AppearUnown: call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret @@ -1403,10 +1403,10 @@ endr ld c, a ld b, 0 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a push hl ld hl, .FastFadePalettes @@ -1433,7 +1433,7 @@ endr ld [hli], a pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret @@ -1455,10 +1455,10 @@ rept 16 endr Intro_LoadTilemap: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wDecompressScratch decoord 0, 0 @@ -1471,7 +1471,7 @@ Intro_LoadTilemap: inc de dec c jr nz, .col - ld a, BG_MAP_WIDTH - SCREEN_WIDTH + ld a, TILEMAP_WIDTH - SCREEN_WIDTH add l ld l, a ld a, 0 @@ -1481,7 +1481,7 @@ Intro_LoadTilemap: jr nz, .row pop af - ldh [rSVBK], a + ldh [rWBK], a ret Intro_Scene16_AnimateSuicune: @@ -1499,7 +1499,7 @@ Intro_Scene16_AnimateSuicune: Intro_ColoredSuicuneFrameSwap: hlcoord 0, 0 - ld bc, SCREEN_HEIGHT * SCREEN_WIDTH + ld bc, SCREEN_AREA .loop ld a, [hl] and a @@ -1552,10 +1552,10 @@ Intro_SetCGBPalUpdate: ret Intro_ClearBGPals: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals2 ld bc, 16 palettes @@ -1563,7 +1563,7 @@ Intro_ClearBGPals: call ByteFill pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a call DelayFrame @@ -1571,10 +1571,10 @@ Intro_ClearBGPals: ret Intro_DecompressRequest2bpp_128Tiles: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a push de ld de, wDecompressScratch @@ -1586,14 +1586,14 @@ Intro_DecompressRequest2bpp_128Tiles: call Request2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a ret Intro_DecompressRequest2bpp_255Tiles: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a push de ld de, wDecompressScratch @@ -1605,14 +1605,14 @@ Intro_DecompressRequest2bpp_255Tiles: call Request2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a ret Intro_DecompressRequest2bpp_64Tiles: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a push de ld de, wDecompressScratch @@ -1624,14 +1624,14 @@ Intro_DecompressRequest2bpp_64Tiles: call Request2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a ret Intro_ResetLYOverrides: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wLYOverrides) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wLYOverrides ld bc, wLYOverridesEnd - wLYOverrides @@ -1639,16 +1639,16 @@ Intro_ResetLYOverrides: call ByteFill pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, LOW(rSCX) ldh [hLCDCPointer], a ret Intro_PerspectiveScrollBG: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wLYOverrides) - ldh [rSVBK], a + ldh [rWBK], a ; Scroll the grass every frame. ; Scroll the trees every other frame and at half speed. ; This creates an illusion of perspective. @@ -1672,7 +1672,7 @@ Intro_PerspectiveScrollBG: ld a, [wLYOverrides + 0] ldh [hSCX], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret IntroSuicuneRunGFX: diff --git a/engine/movie/splash.asm b/engine/movie/splash.asm index 016a60f33..eb35375c9 100644 --- a/engine/movie/splash.asm +++ b/engine/movie/splash.asm @@ -64,10 +64,10 @@ GameFreakPresentsInit: lb bc, BANK(GameFreakLogoGFX), 28 call Get1bpp - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld hl, GameFreakDittoGFX ld de, wDecompressScratch @@ -85,7 +85,7 @@ GameFreakPresentsInit: call Request2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a farcall ClearSpriteAnims depixel 10, 11, 4, 0 @@ -319,16 +319,16 @@ GameFreakLogo_Transform: ld hl, GameFreakDittoPaletteFade add hl, de add hl, de - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wOBPals2) - ldh [rSVBK], a + ldh [rWBK], a ld a, [hli] ld [wOBPals2 + 12], a ld a, [hli] ld [wOBPals2 + 13], a pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret diff --git a/engine/movie/title.asm b/engine/movie/title.asm index 16d56ab53..51f20fe8e 100644 --- a/engine/movie/title.asm +++ b/engine/movie/title.asm @@ -28,7 +28,7 @@ _TitleScreen: ; Clear screen palettes hlbgcoord 0, 0 - ld bc, 20 * BG_MAP_WIDTH + ld bc, 20 * TILEMAP_WIDTH xor a call ByteFill @@ -38,7 +38,7 @@ _TitleScreen: ; line 0 (copyright) hlbgcoord 0, 0, vBGMap1 - ld bc, BG_MAP_WIDTH + ld bc, TILEMAP_WIDTH ld a, 7 ; palette call ByteFill @@ -48,27 +48,27 @@ _TitleScreen: ; lines 3-4 hlbgcoord 0, 3 - ld bc, 2 * BG_MAP_WIDTH + ld bc, 2 * TILEMAP_WIDTH ld a, 2 call ByteFill ; line 5 hlbgcoord 0, 5 - ld bc, BG_MAP_WIDTH + ld bc, TILEMAP_WIDTH ld a, 3 call ByteFill ; line 6 hlbgcoord 0, 6 - ld bc, BG_MAP_WIDTH + ld bc, TILEMAP_WIDTH ld a, 4 call ByteFill ; line 7 hlbgcoord 0, 7 - ld bc, BG_MAP_WIDTH + ld bc, TILEMAP_WIDTH ld a, 5 call ByteFill ; lines 8-9 hlbgcoord 0, 8 - ld bc, 2 * BG_MAP_WIDTH + ld bc, 2 * TILEMAP_WIDTH ld a, 6 call ByteFill @@ -80,8 +80,8 @@ _TitleScreen: ; Suicune gfx hlbgcoord 0, 12 - ld bc, 6 * BG_MAP_WIDTH ; the rest of the screen - ld a, 0 | VRAM_BANK_1 + ld bc, 6 * TILEMAP_WIDTH ; the rest of the screen + ld a, 0 | OAM_BANK1 call ByteFill ; Back to VRAM bank 0 @@ -100,7 +100,7 @@ _TitleScreen: ; Clear screen tiles hlbgcoord 0, 0 - ld bc, 64 * BG_MAP_WIDTH + ld bc, 64 * TILEMAP_WIDTH ld a, " " call ByteFill @@ -126,10 +126,10 @@ _TitleScreen: call InitializeBackground ; Update palette colors - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, TitleScreenPalettes ld de, wBGPals1 @@ -142,14 +142,14 @@ _TitleScreen: call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ; LY/SCX trickery starts here - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wLYOverrides) - ldh [rSVBK], a + ldh [rWBK], a ; Make alternating lines come in from opposite sides @@ -178,7 +178,7 @@ _TitleScreen: ldh [hLCDCPointer], a pop af - ldh [rSVBK], a + ldh [rWBK], a ; Reset audio call ChannelsOff @@ -186,7 +186,7 @@ _TitleScreen: ; Set sprite size to 8x16 ldh a, [rLCDC] - set rLCDC_SPRITE_SIZE, a + set B_LCDC_OBJ_SIZE, a ldh [rLCDC], a ld a, +112 @@ -331,7 +331,7 @@ InitializeBackground: ld [hli], a ; tile id inc e inc e - ld a, 0 | PRIORITY + ld a, 0 | OAM_PRIO ld [hli], a ; attributes dec c jr nz, .loop2 @@ -353,7 +353,7 @@ AnimateTitleCrystal: ld a, [hl] add 2 ld [hli], a ; y -rept SPRITEOAMSTRUCT_LENGTH - 1 +rept OBJ_SIZE - 1 inc hl endr dec c diff --git a/engine/movie/trade_animation.asm b/engine/movie/trade_animation.asm index bb9ae2e63..0cb594857 100644 --- a/engine/movie/trade_animation.asm +++ b/engine/movie/trade_animation.asm @@ -1278,7 +1278,7 @@ TradeAnim_Wait80Frames: TradeAnim_BlankTilemap: hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA ld a, " " call ByteFill ret diff --git a/engine/movie/unused_title.asm b/engine/movie/unused_title.asm index db916e925..95a2785f0 100644 --- a/engine/movie/unused_title.asm +++ b/engine/movie/unused_title.asm @@ -31,7 +31,7 @@ UnusedTitleScreen: ; unreferenced ld hl, UnusedTitleBG_Tilemap debgcoord 0, 0 - ld bc, BG_MAP_WIDTH * BG_MAP_HEIGHT + ld bc, TILEMAP_AREA .copy ld a, 0 ldh [rVBK], a @@ -49,21 +49,21 @@ UnusedTitleScreen: ; unreferenced ld hl, UnusedTitleFG_OAM ld de, wShadowOAMSprite00 - ld bc, SPRITEOAMSTRUCT_LENGTH * NUM_SPRITE_OAM_STRUCTS + ld bc, OAM_SIZE call CopyBytes call EnableLCD ldh a, [rLCDC] - set rLCDC_SPRITES_ENABLE, a - set rLCDC_SPRITE_SIZE, a + set B_LCDC_OBJS, a + set B_LCDC_OBJ_SIZE, a ldh [rLCDC], a call DelayFrame - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, UnusedTitleBG_Palettes ld de, wBGPals1 @@ -86,7 +86,7 @@ UnusedTitleScreen: ; unreferenced call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a diff --git a/engine/overworld/init_map.asm b/engine/overworld/init_map.asm index 9e6c23f3c..e09fc0c76 100644 --- a/engine/overworld/init_map.asm +++ b/engine/overworld/init_map.asm @@ -78,27 +78,27 @@ LoadFonts_NoOAMUpdate:: ret HDMATransfer_FillBGMap0WithBlack: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld a, "■" ld hl, wDecompressScratch ld bc, wScratchAttrmap - wDecompressScratch call ByteFill ld a, HIGH(wDecompressScratch) - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, LOW(wDecompressScratch) - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld a, HIGH(vBGMap0 - STARTOF(VRAM)) - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a ld a, LOW(vBGMap0 - STARTOF(VRAM)) - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ld a, $3f ldh [hDMATransfer], a call DelayFrame pop af - ldh [rSVBK], a + ldh [rWBK], a ret diff --git a/engine/overworld/map_objects.asm b/engine/overworld/map_objects.asm index edc77288b..88e28f64c 100644 --- a/engine/overworld/map_objects.asm +++ b/engine/overworld/map_objects.asm @@ -2348,7 +2348,7 @@ CheckObjectCoveredByTextbox: srl a cp SCREEN_WIDTH jr c, .ok3 - sub BG_MAP_WIDTH + sub TILEMAP_WIDTH .ok3 ldh [hCurSpriteXCoord], a @@ -2381,7 +2381,7 @@ CheckObjectCoveredByTextbox: srl a cp SCREEN_HEIGHT jr c, .ok6 - sub BG_MAP_HEIGHT + sub TILEMAP_HEIGHT .ok6 ldh [hCurSpriteYCoord], a @@ -2524,13 +2524,13 @@ _SetPlayerPalette: ld [hl], a ld a, d swap a - and PALETTE_MASK + and OAM_PALETTE ld d, a ld bc, wPlayerStruct ld hl, OBJECT_PALETTE add hl, bc ld a, [hl] - and ~PALETTE_MASK + and ~OAM_PALETTE or d ld [hl], a ret @@ -2746,16 +2746,16 @@ _UpdateSprites:: .fill ld a, [wStateFlags] bit LAST_12_SPRITE_OAM_STRUCTS_RESERVED_F, a - ld b, NUM_SPRITE_OAM_STRUCTS * SPRITEOAMSTRUCT_LENGTH + ld b, OAM_SIZE jr z, .ok - ld b, (NUM_SPRITE_OAM_STRUCTS - 12) * SPRITEOAMSTRUCT_LENGTH + ld b, (OAM_COUNT - 12) * OBJ_SIZE .ok 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 @@ -2900,30 +2900,30 @@ InitSprites: xor a bit 7, [hl] ; tiles $80+ are in VRAM bank 0 jr nz, .not_vram1 - or VRAM_BANK_1 + or OAM_BANK1 .not_vram1 ld hl, OBJECT_FLAGS2 add hl, bc 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_X @@ -2999,7 +2999,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 diff --git a/engine/overworld/npc_movement.asm b/engine/overworld/npc_movement.asm index bf5a88ddf..f4c29bb48 100644 --- a/engine/overworld/npc_movement.asm +++ b/engine/overworld/npc_movement.asm @@ -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 diff --git a/engine/overworld/player_object.asm b/engine/overworld/player_object.asm index e76c0e387..1236fa97e 100644 --- a/engine/overworld/player_object.asm +++ b/engine/overworld/player_object.asm @@ -194,7 +194,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 diff --git a/engine/overworld/player_step.asm b/engine/overworld/player_step.asm index efc9bc901..6f2976cd7 100644 --- a/engine/overworld/player_step.asm +++ b/engine/overworld/player_step.asm @@ -149,7 +149,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] @@ -180,7 +180,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] diff --git a/engine/overworld/scripting.asm b/engine/overworld/scripting.asm index abeb63f97..90b7d1e5b 100644 --- a/engine/overworld/scripting.asm +++ b/engine/overworld/scripting.asm @@ -941,7 +941,7 @@ ApplyObjectFacing: .DisableTextTiles: call LoadOverworldTilemap hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA .loop res 7, [hl] inc hl diff --git a/engine/overworld/warp_connection.asm b/engine/overworld/warp_connection.asm index 02a84c460..1127de5e3 100644 --- a/engine/overworld/warp_connection.asm +++ b/engine/overworld/warp_connection.asm @@ -287,7 +287,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 diff --git a/engine/overworld/wildmons.asm b/engine/overworld/wildmons.asm index f9b072d7a..0e41bc14a 100644 --- a/engine/overworld/wildmons.asm +++ b/engine/overworld/wildmons.asm @@ -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 @@ -122,7 +122,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 diff --git a/engine/phone/phonering_copytilemapatonce.asm b/engine/phone/phonering_copytilemapatonce.asm index 0f222547a..74a16f069 100644 --- a/engine/phone/phonering_copytilemapatonce.asm +++ b/engine/phone/phonering_copytilemapatonce.asm @@ -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 diff --git a/engine/pokedex/pokedex.asm b/engine/pokedex/pokedex.asm index b7defc1d1..766754732 100644 --- a/engine/pokedex/pokedex.asm +++ b/engine/pokedex/pokedex.asm @@ -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: @@ -2308,16 +2308,16 @@ Pokedex_FillBox: jp FillBoxWithByte Pokedex_BlackOutBG: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals1 ld bc, 8 palettes xor a call ByteFill pop af - ldh [rSVBK], a + ldh [rWBK], a Pokedex_ApplyPrintPals: ld a, $ff diff --git a/engine/pokegear/pokegear.asm b/engine/pokegear/pokegear.asm index a1578696b..c96a8b2c6 100644 --- a/engine/pokegear/pokegear.asm +++ b/engine/pokegear/pokegear.asm @@ -241,7 +241,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] @@ -2654,7 +2654,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] @@ -2674,7 +2674,7 @@ TownMapPals: adc 0 ld h, a ld a, [hl] - and PALETTE_MASK + and OAM_PALETTE jr .update .odd @@ -2686,7 +2686,7 @@ TownMapPals: ld h, a ld a, [hl] swap a - and PALETTE_MASK + and OAM_PALETTE jr .update .pal0 diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index 3ba1399ad..f11bec505 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -1472,7 +1472,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 @@ -1490,20 +1490,20 @@ endr dbsprite 17, 4, 0, 6, $00, 0 dbsprite 18, 4, 0, 6, $00, 0 dbsprite 18, 4, 7, 6, $00, 0 - dbsprite 10, 7, 0, 1, $00, 0 | Y_FLIP - dbsprite 11, 7, 0, 1, $00, 0 | Y_FLIP - dbsprite 12, 7, 0, 1, $00, 0 | Y_FLIP - dbsprite 13, 7, 0, 1, $00, 0 | Y_FLIP - dbsprite 14, 7, 0, 1, $00, 0 | Y_FLIP - dbsprite 15, 7, 0, 1, $00, 0 | Y_FLIP - dbsprite 16, 7, 0, 1, $00, 0 | Y_FLIP - dbsprite 17, 7, 0, 1, $00, 0 | Y_FLIP - dbsprite 18, 7, 0, 1, $00, 0 | Y_FLIP - dbsprite 18, 7, 7, 1, $00, 0 | Y_FLIP + dbsprite 10, 7, 0, 1, $00, 0 | OAM_YFLIP + dbsprite 11, 7, 0, 1, $00, 0 | OAM_YFLIP + dbsprite 12, 7, 0, 1, $00, 0 | OAM_YFLIP + dbsprite 13, 7, 0, 1, $00, 0 | OAM_YFLIP + dbsprite 14, 7, 0, 1, $00, 0 | OAM_YFLIP + dbsprite 15, 7, 0, 1, $00, 0 | OAM_YFLIP + dbsprite 16, 7, 0, 1, $00, 0 | OAM_YFLIP + dbsprite 17, 7, 0, 1, $00, 0 | OAM_YFLIP + dbsprite 18, 7, 0, 1, $00, 0 | OAM_YFLIP + dbsprite 18, 7, 7, 1, $00, 0 | OAM_YFLIP dbsprite 9, 5, 6, 6, $01, 0 - dbsprite 9, 6, 6, 1, $01, 0 | Y_FLIP - dbsprite 19, 5, 1, 6, $01, 0 | X_FLIP - dbsprite 19, 6, 1, 1, $01, 0 | X_FLIP | Y_FLIP + dbsprite 9, 6, 6, 1, $01, 0 | OAM_YFLIP + dbsprite 19, 5, 1, 6, $01, 0 | OAM_XFLIP + dbsprite 19, 6, 1, 1, $01, 0 | OAM_XFLIP | OAM_YFLIP db -1 BillsPC_UpdateInsertCursor: @@ -1520,7 +1520,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 @@ -1529,14 +1529,14 @@ endr .OAM: dbsprite 10, 4, 0, 7, $06, 0 - dbsprite 11, 5, 0, 3, $00, 0 | Y_FLIP - dbsprite 12, 5, 0, 3, $00, 0 | Y_FLIP - dbsprite 13, 5, 0, 3, $00, 0 | Y_FLIP - dbsprite 14, 5, 0, 3, $00, 0 | Y_FLIP - dbsprite 15, 5, 0, 3, $00, 0 | Y_FLIP - dbsprite 16, 5, 0, 3, $00, 0 | Y_FLIP - dbsprite 17, 5, 0, 3, $00, 0 | Y_FLIP - dbsprite 18, 5, 0, 3, $00, 0 | Y_FLIP + dbsprite 11, 5, 0, 3, $00, 0 | OAM_YFLIP + dbsprite 12, 5, 0, 3, $00, 0 | OAM_YFLIP + dbsprite 13, 5, 0, 3, $00, 0 | OAM_YFLIP + dbsprite 14, 5, 0, 3, $00, 0 | OAM_YFLIP + dbsprite 15, 5, 0, 3, $00, 0 | OAM_YFLIP + dbsprite 16, 5, 0, 3, $00, 0 | OAM_YFLIP + dbsprite 17, 5, 0, 3, $00, 0 | OAM_YFLIP + dbsprite 18, 5, 0, 3, $00, 0 | OAM_YFLIP dbsprite 19, 4, 0, 7, $07, 0 db -1 @@ -2251,7 +2251,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 diff --git a/engine/pokemon/bills_pc_top.asm b/engine/pokemon/bills_pc_top.asm index 251007ff9..74af33f74 100644 --- a/engine/pokemon/bills_pc_top.asm +++ b/engine/pokemon/bills_pc_top.asm @@ -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 diff --git a/engine/pokemon/breeding.asm b/engine/pokemon/breeding.asm index b4d44fa7c..a344a7ec3 100644 --- a/engine/pokemon/breeding.asm +++ b/engine/pokemon/breeding.asm @@ -646,7 +646,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 diff --git a/engine/pokemon/mail_2.asm b/engine/pokemon/mail_2.asm index f9c5c68c3..9da2ce980 100644 --- a/engine/pokemon/mail_2.asm +++ b/engine/pokemon/mail_2.asm @@ -151,13 +151,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 @@ -165,25 +165,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 @@ -235,29 +235,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 @@ -284,19 +284,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 @@ -344,25 +344,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 @@ -420,31 +420,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 @@ -506,18 +506,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 @@ -560,17 +560,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 @@ -590,22 +590,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 @@ -631,19 +631,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 diff --git a/engine/pokemon/party_menu.asm b/engine/pokemon/party_menu.asm index f1b00b50c..c6cfb7214 100644 --- a/engine/pokemon/party_menu.asm +++ b/engine/pokemon/party_menu.asm @@ -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 diff --git a/engine/pokemon/switchpartymons.asm b/engine/pokemon/switchpartymons.asm index 3934f47d4..a957a7af3 100644 --- a/engine/pokemon/switchpartymons.asm +++ b/engine/pokemon/switchpartymons.asm @@ -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 diff --git a/engine/printer/printer.asm b/engine/printer/printer.asm index d5ae405c6..f5bc94bb5 100644 --- a/engine/printer/printer.asm +++ b/engine/printer/printer.asm @@ -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 @@ -291,7 +291,7 @@ PrintMail: push af xor a ldh [rIF], a - ld a, (1 << SERIAL) | (1 << VBLANK) + ld a, IE_SERIAL | IE_VBLANK ldh [rIE], a xor a @@ -333,7 +333,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 @@ -397,7 +397,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 @@ -467,9 +467,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] @@ -485,14 +485,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 @@ -634,7 +634,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 @@ -671,7 +671,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 @@ -688,7 +688,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 @@ -705,7 +705,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 diff --git a/engine/printer/printer_serial.asm b/engine/printer/printer_serial.asm index c086df001..5f06f0697 100644 --- a/engine/printer/printer_serial.asm +++ b/engine/printer/printer_serial.asm @@ -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 diff --git a/engine/rtc/rtc.asm b/engine/rtc/rtc.asm index f46f26344..a3a9e6f5e 100644 --- a/engine/rtc/rtc.asm +++ b/engine/rtc/rtc.asm @@ -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 @@ -101,9 +101,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 diff --git a/engine/rtc/timeset.asm b/engine/rtc/timeset.asm index f97dcfaf6..b68c80bb9 100644 --- a/engine/rtc/timeset.asm +++ b/engine/rtc/timeset.asm @@ -124,7 +124,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 diff --git a/engine/sprite_anims/core.asm b/engine/sprite_anims/core.asm index 7aa7123d7..ff3b2d29d 100644 --- a/engine/sprite_anims/core.asm +++ b/engine/sprite_anims/core.asm @@ -318,7 +318,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 @@ -333,7 +333,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 @@ -349,10 +349,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 @@ -437,7 +437,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] @@ -447,7 +447,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 diff --git a/engine/tilesets/map_palettes.asm b/engine/tilesets/map_palettes.asm index 2be20780a..04bab3ad5 100644 --- a/engine/tilesets/map_palettes.asm +++ b/engine/tilesets/map_palettes.asm @@ -37,7 +37,7 @@ _LoadOverworldAttrmapPals:: .next pop hl ld [de], a - res OAM_TILE_BANK + 4, [hl] + res B_OAM_BANK1 + 4, [hl] inc hl inc de dec c @@ -81,7 +81,7 @@ _ScrollBGMapPalettes:: .next pop hl ld [de], a - res OAM_TILE_BANK + 4, [hl] + res B_OAM_BANK1 + 4, [hl] inc hl inc de dec c diff --git a/engine/tilesets/tileset_anims.asm b/engine/tilesets/tileset_anims.asm index ca2a86a75..0ea240e9e 100644 --- a/engine/tilesets/tileset_anims.asm +++ b/engine/tilesets/tileset_anims.asm @@ -321,7 +321,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] @@ -335,7 +335,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] @@ -352,9 +352,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 @@ -375,14 +375,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 @@ -888,7 +888,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 @@ -922,13 +922,13 @@ 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 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ; A cycle of 4 colors (0 1 2 1), updating every other tick ld a, l @@ -964,7 +964,7 @@ AnimateWaterPalette: .end pop af - ldh [rSVBK], a + ldh [rWBK], a ret FlickeringCaveEntrancePalette: @@ -983,13 +983,13 @@ FlickeringCaveEntrancePalette: cp DARKNESS_PALSET ret nz - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ; 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 @@ -1013,7 +1013,7 @@ FlickeringCaveEntrancePalette: ldh [rBGPD], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret TowerPillarTilePointer1: dw vTiles2 tile $2d, TowerPillarTile1 diff --git a/engine/tilesets/timeofday_pals.asm b/engine/tilesets/timeofday_pals.asm index 1f5adaf68..07151bee1 100644 --- a/engine/tilesets/timeofday_pals.asm +++ b/engine/tilesets/timeofday_pals.asm @@ -43,14 +43,14 @@ _TimeOfDayPals:: ld hl, wBGPals1 palette PAL_BG_TEXT ; save wram bank - ldh a, [rSVBK] + ldh a, [rWBK] ld b, a ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ; push palette - ld c, NUM_PAL_COLORS + ld c, PAL_COLORS .push ld d, [hl] inc hl @@ -62,7 +62,7 @@ _TimeOfDayPals:: ; restore wram bank ld a, b - ldh [rSVBK], a + ldh [rWBK], a ; update sgb pals ld b, SCGB_MAPPALS @@ -72,14 +72,14 @@ _TimeOfDayPals:: ld hl, wOBPals1 - 1 ; last byte in wBGPals1 ; save wram bank - ldh a, [rSVBK] + ldh a, [rWBK] ld d, a ld a, BANK(wOBPals1) - ldh [rSVBK], a + ldh [rWBK], a ; pop palette - ld e, NUM_PAL_COLORS + ld e, PAL_COLORS .pop pop bc ld [hl], c @@ -91,7 +91,7 @@ _TimeOfDayPals:: ; restore wram bank ld a, d - ldh [rSVBK], a + ldh [rWBK], a ; update palettes call _UpdateTimePals @@ -159,10 +159,10 @@ FadeOutToBlack: FillWhiteBGColor: ; Copy white palette of wBGPals1 Pal0 into white palette of wBGPals1 Pal1-Pal6 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals1 ld a, [hli] @@ -183,7 +183,7 @@ endr jr nz, .loop pop af - ldh [rSVBK], a + ldh [rWBK], a ret ReplaceTimeOfDayPals: diff --git a/gfx/font.asm b/gfx/font.asm index 802eda304..a55f2056d 100644 --- a/gfx/font.asm +++ b/gfx/font.asm @@ -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" diff --git a/gfx/footprints.asm b/gfx/footprints.asm index 297929b34..5d7377632 100644 --- a/gfx/footprints.asm +++ b/gfx/footprints.asm @@ -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 diff --git a/gfx/tileset_palette_maps.asm b/gfx/tileset_palette_maps.asm index 678eb1837..c345a36c4 100644 --- a/gfx/tileset_palette_maps.asm +++ b/gfx/tileset_palette_maps.asm @@ -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 diff --git a/home/audio.asm b/home/audio.asm index fd47f1e62..e99accc1c 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -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 @@ -525,11 +525,11 @@ 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 ChannelsOff:: diff --git a/home/battle.asm b/home/battle.asm index 21998983c..142a6ff3a 100644 --- a/home/battle.asm +++ b/home/battle.asm @@ -163,7 +163,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 @@ -173,7 +173,7 @@ FarCopyRadioText:: call CopyBytes pop af ldh [hROMBank], a - ld [MBC3RomBank], a + ld [rROMB0], a ret MobileTextBorder:: @@ -275,6 +275,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 diff --git a/home/clear_sprites.asm b/home/clear_sprites.asm index d8e257663..aac6c71ae 100644 --- a/home/clear_sprites.asm +++ b/home/clear_sprites.asm @@ -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 diff --git a/home/copy.asm b/home/copy.asm index 64b1b04c6..841cc492a 100644 --- a/home/copy.asm +++ b/home/copy.asm @@ -94,41 +94,41 @@ GetFarWord:: FarCopyWRAM:: ; copy bc bytes from hl to a:de ldh [hTempBank], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ldh a, [hTempBank] - ldh [rSVBK], a + ldh [rWBK], a call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret GetFarWRAMByte:: ; retrieve a single byte from a:hl, and return it in a. ldh [hTempBank], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ldh a, [hTempBank] - ldh [rSVBK], a + ldh [rWBK], a ld a, [hl] ldh [hFarByte], a pop af - ldh [rSVBK], a + ldh [rWBK], a ldh a, [hFarByte] ret GetFarWRAMWord:: ; unreferenced ; retrieve a word from a:hl, and return it in hl. ldh [hTempBank], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ldh a, [hTempBank] - ldh [rSVBK], a + ldh [rWBK], a ld a, [hli] ld h, [hl] ld l, a pop af - ldh [rSVBK], a + ldh [rWBK], a ret diff --git a/home/copy_tilemap.asm b/home/copy_tilemap.asm index 7229a73e7..28bc50431 100644 --- a/home/copy_tilemap.asm +++ b/home/copy_tilemap.asm @@ -1,15 +1,15 @@ LoadTilemapToTempTilemap:: ; Load wTilemap into wTempTilemap - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wTempTilemap) - ldh [rSVBK], a + ldh [rWBK], a hlcoord 0, 0 decoord 0, 0, wTempTilemap ld bc, wTilemapEnd - wTilemap call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret SafeLoadTempTilemapToTilemap:: @@ -22,14 +22,14 @@ SafeLoadTempTilemapToTilemap:: LoadTempTilemapToTilemap:: ; Load wTempTilemap into wTilemap - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wTempTilemap) - ldh [rSVBK], a + ldh [rWBK], a hlcoord 0, 0, wTempTilemap decoord 0, 0 ld bc, wTilemapEnd - wTilemap call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret diff --git a/home/double_speed.asm b/home/double_speed.asm index 37fc2293b..88aef5a58 100644 --- a/home/double_speed.asm +++ b/home/double_speed.asm @@ -6,22 +6,22 @@ ; collapses during the switch. DoubleSpeed:: - ld hl, rKEY1 - bit KEY1_DBLSPEED, [hl] + ld hl, rSPD + bit B_SPD_DOUBLE, [hl] jr z, SwitchSpeed ret NormalSpeed:: - ld hl, rKEY1 - bit KEY1_DBLSPEED, [hl] + ld hl, rSPD + bit B_SPD_DOUBLE, [hl] ret z SwitchSpeed:: - set KEY1_PREPARE, [hl] + set B_SPD_PREPARE, [hl] xor a ldh [rIF], a ldh [rIE], a - ld a, (1 << rJOYP_BUTTONS) | (1 << rJOYP_DPAD) + ld a, JOYP_GET_NONE ldh [rJOYP], a stop ; rgbasm adds a nop after this instruction by default ret diff --git a/home/game_time.asm b/home/game_time.asm index 70c06a63f..78d868370 100644 --- a/home/game_time.asm +++ b/home/game_time.asm @@ -11,15 +11,15 @@ ResetGameTime:: GameTimer:: nop - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wGameTime) - ldh [rSVBK], a + ldh [rWBK], a call .Function pop af - ldh [rSVBK], a + ldh [rWBK], a ret .Function: diff --git a/home/gfx.asm b/home/gfx.asm index b9b5f73f6..b00bc3132 100644 --- a/home/gfx.asm +++ b/home/gfx.asm @@ -3,7 +3,7 @@ DEF MOBILE_TILES_PER_CYCLE EQU 6 Get2bppViaHDMA:: ldh a, [rLCDC] - bit rLCDC_ENABLE, a + bit B_LCDC_ENABLE, a jp z, Copy2bpp homecall HDMATransfer2bpp @@ -12,7 +12,7 @@ Get2bppViaHDMA:: Get1bppViaHDMA:: ldh a, [rLCDC] - bit rLCDC_ENABLE, a + bit B_LCDC_ENABLE, a jp z, Copy1bpp homecall HDMATransfer1bpp @@ -46,16 +46,16 @@ SafeHDMATransfer: ; unreferenced .loop ; load the source and target MSB and LSB ld a, d - ldh [rHDMA1], a ; source MSB + ldh [rVDMA_SRC_HIGH], a ; source MSB ld a, e and $f0 - ldh [rHDMA2], a ; source LSB + ldh [rVDMA_SRC_LOW], a ; source LSB ld a, h and $1f - ldh [rHDMA3], a ; target MSB + ldh [rVDMA_DEST_HIGH], a ; target MSB ld a, l and $f0 - ldh [rHDMA4], a ; target LSB + ldh [rVDMA_DEST_LOW], a ; target LSB ; stop when c < TILES_PER_CYCLE ld a, c cp TILES_PER_CYCLE @@ -337,7 +337,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 ; fallthrough @@ -350,7 +350,7 @@ Copy2bpp: ; bank ld a, b -; bc = c * LEN_2BPP_TILE +; bc = c * TILE_SIZE push af swap c ld a, $f @@ -366,7 +366,7 @@ Copy2bpp: 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 ; fallthrough @@ -378,7 +378,7 @@ Copy1bpp:: ; bank ld a, b -; bc = c * LEN_1BPP_TILE +; bc = c * TILE_1BPP_SIZE push af ld h, 0 ld l, c diff --git a/home/header.asm b/home/header.asm index b9d44bede..d3b56ad48 100644 --- a/home/header.asm +++ b/home/header.asm @@ -11,7 +11,7 @@ FarCall:: SECTION "rst10", ROM0[$0010] Bankswitch:: ldh [hROMBank], a - ld [MBC3RomBank], a + ld [rROMB0], a ret SECTION "rst18", ROM0[$0018] diff --git a/home/init.asm b/home/init.asm index 2b66a7782..5544dfcb3 100644 --- a/home/init.asm +++ b/home/init.asm @@ -6,7 +6,7 @@ Reset:: call ClearPalettes xor a ldh [rIF], a - ld a, 1 << VBLANK + ld a, IE_VBLANK ldh [rIE], a ei @@ -19,7 +19,7 @@ Reset:: jr Init _Start:: - cp $11 + cp BOOTUP_A_CGB jr z, .cgb xor a ; FALSE jr .load @@ -92,7 +92,7 @@ Init:: call ClearWRAM ld a, 1 - ldh [rSVBK], a + ldh [rWBK], a call ClearVRAM call ClearSprites call ClearsScratch @@ -108,14 +108,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 @@ -142,9 +142,9 @@ Init:: farcall StartClock - xor a ; SRAM_DISABLE - ld [MBC3LatchClock], a - ld [MBC3SRamEnable], a + xor a ; RAMG_SRAM_DISABLE + ld [rRTCLATCH], a + ld [rRAMG], a ldh a, [hCGB] and a @@ -191,7 +191,7 @@ ClearWRAM:: ld a, 1 .bank_loop push af - ldh [rSVBK], a + ldh [rWBK], a xor a ld hl, STARTOF(WRAMX) ld bc, SIZEOF(WRAMX) diff --git a/home/joypad.asm b/home/joypad.asm index 52cccf411..94fe1e40b 100644 --- a/home/joypad.asm +++ b/home/joypad.asm @@ -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. diff --git a/home/lcd.asm b/home/lcd.asm index 432635d51..37dc53123 100644 --- a/home/lcd.asm +++ b/home/lcd.asm @@ -37,7 +37,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 @@ -46,7 +46,7 @@ DisableLCD:: ld b, a ; Disable VBlank - res VBLANK, a + res B_IE_VBLANK, a ldh [rIE], a .wait @@ -56,7 +56,7 @@ DisableLCD:: jr nz, .wait ldh a, [rLCDC] - and ~(1 << rLCDC_ENABLE) + and ~LCDC_ON ldh [rLCDC], a xor a @@ -67,6 +67,6 @@ DisableLCD:: EnableLCD:: ldh a, [rLCDC] - set rLCDC_ENABLE, a + set B_LCDC_ENABLE, a ldh [rLCDC], a ret diff --git a/home/map.asm b/home/map.asm index 3fda77af6..2c9a399a6 100644 --- a/home/map.asm +++ b/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) @@ -1193,7 +1193,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 @@ -1278,7 +1278,7 @@ UpdateBGMapRow:: push de call .iteration pop de - ld a, BG_MAP_WIDTH + ld a, TILEMAP_WIDTH add e ld e, a @@ -1312,7 +1312,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 @@ -1345,10 +1345,10 @@ LoadTilesetGFX:: ld a, [wTilesetBank] ld e, a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld a, e ld de, wDecompressScratch @@ -1373,7 +1373,7 @@ LoadTilesetGFX:: ldh [rVBK], a pop af - ldh [rSVBK], a + ldh [rWBK], a ; These tilesets support dynamic per-mapgroup roof tiles. ld a, [wMapTileset] diff --git a/home/menu.asm b/home/menu.asm index 4af41be7d..400d6650a 100644 --- a/home/menu.asm +++ b/home/menu.asm @@ -763,10 +763,10 @@ ClearWindowData:: ld hl, wMoreMenuData call .ClearMenuData - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wWindowStack) - ldh [rSVBK], a + ldh [rWBK], a xor a ld hl, wWindowStackBottom @@ -778,7 +778,7 @@ ClearWindowData:: ld [wWindowStackPointer + 1], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret .ClearMenuData: diff --git a/home/mobile.asm b/home/mobile.asm index b4d2998cd..c6cf4f5b0 100644 --- a/home/mobile.asm +++ b/home/mobile.asm @@ -80,7 +80,7 @@ MobileTimer:: ; Turn off timer interrupt ldh a, [rIF] - and 1 << VBLANK | 1 << LCD_STAT | 1 << SERIAL | 1 << JOYPAD + and IF_VBLANK | IF_STAT | IF_SERIAL | IF_JOYPAD ldh [rIF], a ld a, [wc86a] @@ -92,7 +92,7 @@ MobileTimer:: jr nz, .skip_timer ldh a, [rSC] - and 1 << rSC_ON + and SC_START jr nz, .skip_timer ldh a, [hROMBank] @@ -112,7 +112,7 @@ MobileTimer:: ldh a, [rTMA] ldh [rTIMA], a - ld a, 1 << rTAC_ON | rTAC_65536_HZ + ld a, TAC_START | TAC_65KHZ ldh [rTAC], a .pop_ret diff --git a/home/palettes.asm b/home/palettes.asm index 1b7471664..1b0ea37d4 100644 --- a/home/palettes.asm +++ b/home/palettes.asm @@ -19,15 +19,15 @@ UpdateCGBPals:: ; fallthrough ForceUpdateCGBPals:: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals2 ; copy 8 pals to bgpd - ld a, 1 << rBGPI_AUTO_INCREMENT + ld a, BGPI_AUTOINC ldh [rBGPI], a ld c, LOW(rBGPD) ld b, 8 / 2 @@ -43,7 +43,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, LOW(rOBPD) ld b, 8 / 2 @@ -57,7 +57,7 @@ endr jr nz, .obp pop af - ldh [rSVBK], a + ldh [rWBK], a ; clear pal update queue xor a @@ -83,11 +83,11 @@ DmgToCgbBGPals:: push de push bc - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ; copy & reorder bg pal buffer ld hl, wBGPals2 ; to @@ -103,7 +103,7 @@ DmgToCgbBGPals:: ldh [hCGBPalUpdate], a pop af - ldh [rSVBK], a + ldh [rWBK], a pop bc pop de @@ -131,11 +131,11 @@ DmgToCgbObjPals:: push de push bc - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wOBPals2) - ldh [rSVBK], a + ldh [rWBK], a ; copy & reorder obj pal buffer ld hl, wOBPals2 ; to @@ -151,7 +151,7 @@ DmgToCgbObjPals:: ldh [hCGBPalUpdate], a pop af - ldh [rSVBK], a + ldh [rWBK], a pop bc pop de @@ -171,10 +171,10 @@ DmgToCgbObjPal0:: push de push bc - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wOBPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wOBPals2 palette 0 ld de, wOBPals1 palette 0 @@ -186,7 +186,7 @@ DmgToCgbObjPal0:: ldh [hCGBPalUpdate], a pop af - ldh [rSVBK], a + ldh [rWBK], a pop bc pop de @@ -208,10 +208,10 @@ DmgToCgbObjPal1:: push de push bc - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wOBPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wOBPals2 palette 1 ld de, wOBPals1 palette 1 @@ -223,7 +223,7 @@ DmgToCgbObjPal1:: ldh [hCGBPalUpdate], a pop af - ldh [rSVBK], a + ldh [rWBK], a pop bc pop de @@ -237,14 +237,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 @@ -262,7 +262,7 @@ CopyPals:: ld [hl], d inc hl ; next pal color -rept PAL_COLOR_SIZE +rept COLOR_SIZE srl b endr ; source @@ -272,7 +272,7 @@ endr jr nz, .loop ; de += 8 (next pal) - ld a, PALETTE_SIZE + ld a, PAL_SIZE add e jr nc, .ok inc d @@ -309,16 +309,16 @@ ReloadSpritesNoPalettes:: ldh a, [hCGB] and a ret z - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals2 ld bc, (8 palettes) + (2 palettes) xor a call ByteFill pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a call DelayFrame diff --git a/home/printer.asm b/home/printer.asm index 6fe1f4f9d..c943e93f6 100644 --- a/home/printer.asm +++ b/home/printer.asm @@ -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 diff --git a/home/serial.asm b/home/serial.asm index fd2a2c137..28702b3df 100644 --- a/home/serial.asm +++ b/home/serial.asm @@ -28,9 +28,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 @@ -65,9 +65,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 @@ -134,9 +134,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 @@ -164,8 +164,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 @@ -188,8 +188,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 @@ -220,8 +220,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] @@ -370,9 +370,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 @@ -400,9 +400,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 @@ -415,8 +415,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 diff --git a/home/sram.asm b/home/sram.asm index 6999f7ed8..ec1a55c0a 100644 --- a/home/sram.asm +++ b/home/sram.asm @@ -25,21 +25,21 @@ endc 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 diff --git a/home/text.asm b/home/text.asm index 7222d46f2..3a4871d3a 100644 --- a/home/text.asm +++ b/home/text.asm @@ -29,14 +29,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 @@ -760,7 +760,7 @@ TextCommand_FAR:: ld a, [hli] ldh [hROMBank], a - ld [MBC3RomBank], a + ld [rROMB0], a push hl ld h, d @@ -770,7 +770,7 @@ TextCommand_FAR:: pop af ldh [hROMBank], a - ld [MBC3RomBank], a + ld [rROMB0], a ret TextCommand_BCD:: diff --git a/home/tilemap.asm b/home/tilemap.asm index 96251e2eb..bb37e3124 100644 --- a/home/tilemap.asm +++ b/home/tilemap.asm @@ -111,7 +111,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 @@ -129,7 +129,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 @@ -181,11 +181,11 @@ ClearPalettes:: ret .cgb - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals2) - ldh [rSVBK], a + ldh [rWBK], a ; Fill wBGPals2 and wOBPals2 with $ffff (white) ld hl, wBGPals2 @@ -194,7 +194,7 @@ ClearPalettes:: call ByteFill pop af - ldh [rSVBK], a + ldh [rWBK], a ; Request palette update ld a, TRUE diff --git a/home/time.asm b/home/time.asm index 4d79a4307..e6f8ad64e 100644 --- a/home/time.asm +++ b/home/time.asm @@ -14,9 +14,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:: @@ -30,35 +30,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 @@ -72,10 +72,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 @@ -213,43 +213,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 diff --git a/home/vblank.asm b/home/vblank.asm index c31095ce6..d6c5936da 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -199,13 +199,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 @@ -282,8 +282,9 @@ VBlank_CutsceneCGB:: push af xor a ldh [rIF], a - ld a, 1 << LCD_STAT + ld a, IE_STAT ldh [rIE], a + assert IE_STAT == IF_STAT ldh [rIF], a ei @@ -370,9 +371,10 @@ VBlank_Credits:: xor a ldh [rIF], a - ld a, 1 << LCD_STAT + ld a, IE_STAT ldh [rIE], a ; request lcd stat + assert IE_STAT == IF_STAT ldh [rIF], a ei diff --git a/home/video.asm b/home/video.asm index 8cda11d71..2944e4622 100644 --- a/home/video.asm +++ b/home/video.asm @@ -8,7 +8,7 @@ DMATransfer:: ret z ; Start transfer - ldh [rHDMA5], a + ldh [rVDMA_LEN], a ; Execution is halted until the transfer is complete. @@ -194,7 +194,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 @@ -211,7 +211,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 @@ -237,7 +237,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 @@ -438,10 +438,10 @@ AnimateTileset:: ld a, BANK(_AnimateTileset) rst Bankswitch - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wTilesetAnim) - ldh [rSVBK], a + ldh [rWBK], a ldh a, [rVBK] push af @@ -453,7 +453,7 @@ AnimateTileset:: pop af ldh [rVBK], a pop af - ldh [rSVBK], a + ldh [rWBK], a pop af rst Bankswitch ret diff --git a/includes.asm b/includes.asm index b3f288bac..6b450fd3e 100644 --- a/includes.asm +++ b/includes.asm @@ -20,9 +20,7 @@ INCLUDE "macros/scripts/battle_anims.asm" INCLUDE "macros/scripts/oam_anims.asm" INCLUDE "macros/scripts/pic_anims.asm" -INCLUDE "macros/legacy.asm" - -INCLUDE "constants/hardware_constants.asm" +INCLUDE "constants/hardware.inc" INCLUDE "constants/deco_constants.asm" INCLUDE "constants/ram_constants.asm" INCLUDE "constants/misc_constants.asm" @@ -73,3 +71,5 @@ INCLUDE "constants/battle_tower_constants.asm" if DEF(_CRYSTAL11_VC) INCLUDE "vc/pokecrystal11.constants.asm" endc + +INCLUDE "macros/legacy.asm" diff --git a/lib/mobile/mail.asm b/lib/mobile/mail.asm index b428fcbf9..0a8618718 100644 --- a/lib/mobile/mail.asm +++ b/lib/mobile/mail.asm @@ -129,8 +129,8 @@ String_114232: db "=?ISO-2022-JP?B?", 0 Function114243:: - ld a, SRAM_ENABLE - ld [MBC3SRamEnable], a + ld a, RAMG_SRAM_ENABLE + ld [rRAMG], a ldh a, [hSRAMBank] push af ; if [$dc02] == 0, this is popped to pc. push de @@ -151,7 +151,7 @@ Function11425c: pop af ldh [hSRAMBank], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ret Stubbed_Function114268: @@ -166,7 +166,7 @@ Function114269: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -363,7 +363,7 @@ Function11433c: ld a, [$dc03] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a call Function114c0b ld hl, String_114004 .asm_114394 @@ -421,7 +421,7 @@ Function1143b7: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, [hli] ld h, [hl] ld l, a @@ -476,7 +476,7 @@ Function1143f3: ld a, c ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld hl, Unknown_11417f ld a, b add a @@ -663,7 +663,7 @@ Function1144d1: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -680,7 +680,7 @@ Function1144d1: ld a, [hl] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld hl, $dc09 ld e, [hl] inc hl @@ -738,7 +738,7 @@ Function114576: ld a, h ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a push hl push de push bc @@ -756,7 +756,7 @@ Function114576: ld a, h ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld hl, String_114218 call Function114acf @@ -928,7 +928,7 @@ Function11463c: pop af ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a xor a ld [wDecoCarpet], a ld a, $1 @@ -949,7 +949,7 @@ Function1146a4: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -963,7 +963,7 @@ Function1146a4: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -1006,7 +1006,7 @@ Function1146fa: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -1020,7 +1020,7 @@ Function1146fa: ld [$dc0e], a ld a, [$dc00] ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, $1 ld [wDecoRightOrnament], a call Function1147cd @@ -1047,7 +1047,7 @@ Function1146fa: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -1101,7 +1101,7 @@ Function1146fa: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a call Function114a7a and a jr z, .asm_1147cb @@ -1211,7 +1211,7 @@ Function114843: push af push de ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a call Function114a18 and a jr nz, .asm_11485f @@ -1234,7 +1234,7 @@ Function114867: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -1299,7 +1299,7 @@ Function1148c2: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -1397,7 +1397,7 @@ Function11494d: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -1487,7 +1487,7 @@ Function1149cc: ld a, [hl] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a push de ld hl, $dc09 ld e, [hl] @@ -1834,7 +1834,7 @@ endr ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -1872,7 +1872,7 @@ Function114bbc: ld a, h ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a call Function114c0b ld hl, $dc24 call Function114c5e @@ -1883,7 +1883,7 @@ Function114bbc: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, [hli] ld e, a ld d, [hl] @@ -2089,7 +2089,7 @@ Function114cd9: ld a, h ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld hl, $dc24 call Function114d39 ld hl, $dc24 @@ -2108,7 +2108,7 @@ endr ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, [hli] ld e, a ld a, [hli] @@ -2406,7 +2406,7 @@ Function114ea0: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, [hli] ld e, a ld a, [hli] @@ -2606,7 +2606,7 @@ Function114f59: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -2684,7 +2684,7 @@ Function115020: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, [hli] ld e, a ld a, [hli] @@ -2741,7 +2741,7 @@ Function115062: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -2892,7 +2892,7 @@ Function115136: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, [hli] ld e, a ld a, [hli] @@ -2945,7 +2945,7 @@ Function115179: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, [hli] ld e, a ld a, [hli] @@ -3063,7 +3063,7 @@ Function115217: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, [hli] ld e, a ld a, [hli] @@ -3156,7 +3156,7 @@ Function11528f: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, [hli] ld e, a ld a, [hli] @@ -3405,7 +3405,7 @@ Function1153d2: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -3539,7 +3539,7 @@ Function1153d2: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -3772,7 +3772,7 @@ Function11560a: ld a, [$dc17] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld hl, $dc1a ld c, [hl] inc hl @@ -3845,7 +3845,7 @@ Function11560a: pop bc ld a, [wCurMapBGEventCount] ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld hl, wCurMapSceneScriptCount ld e, [hl] inc hl @@ -4151,7 +4151,7 @@ Function11581e: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -4205,7 +4205,7 @@ Function11581e: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -4672,7 +4672,7 @@ Function115b00: ld a, [hli] ld [$dc00], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -4760,7 +4760,7 @@ Function115b00: ld a, [hli] ld [wCurMapBGEventCount], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld e, [hl] inc hl ld d, [hl] @@ -5153,7 +5153,7 @@ Function115d80: inc a ld [bc], a ldh [hSRAMBank], a - ld [MBC3SRamBank], a + ld [rRAMB], a ld a, e ld d, $a0 ld e, $0 diff --git a/lib/mobile/main.asm b/lib/mobile/main.asm index 1a86018a7..66773fc6a 100644 --- a/lib/mobile/main.asm +++ b/lib/mobile/main.asm @@ -208,7 +208,7 @@ MobileAPI_SetTimer: add hl, bc ld c, [hl] inc hl - ldh a, [rKEY1] + ldh a, [rSPD] bit 7, a jr nz, .asm_1100f9 ld a, e @@ -230,9 +230,9 @@ MobileAPI_SetTimer: ld [wc820], a ld [wc815], a ld c, LOW(rTAC) - ld a, rTAC_65536_HZ + ld a, TAC_65KHZ ldh [c], a - ld a, 1 << rTAC_ON | rTAC_65536_HZ + ld a, TAC_START | TAC_65KHZ ldh [c], a ret @@ -621,7 +621,7 @@ Function11032c: Function110393: ld c, LOW(rIE) ldh a, [c] - or (1 << SERIAL) | (1 << TIMER) + or IE_SERIAL | IE_TIMER ldh [c], a ret @@ -3433,7 +3433,7 @@ Function111686: ldh [rTAC], a ld c, LOW(rIE) ldh a, [c] - and ~(1 << SERIAL | 1 << TIMER) + and ~(IE_SERIAL | IE_TIMER) ldh [c], a ld a, [wMobileSDK_PacketBuffer + 1] ld [wc86a], a @@ -4118,9 +4118,9 @@ Function111b21: Function111b2e: ld hl, wc822 set 1, [hl] - ld a, (0 << rSC_ON) | (1 << rSC_CGB) | (1 << rSC_CLOCK) + ld a, SC_FAST | SC_INTERNAL ldh [rSC], a - ld a, (1 << rSC_ON) | (1 << rSC_CGB) | (1 << rSC_CLOCK) + ld a, SC_START | SC_FAST | SC_INTERNAL ldh [rSC], a Function111b3b: @@ -4723,7 +4723,7 @@ PacketSendBytes: ret .asm_111f17 ldh a, [rSC] - and 1 << rSC_ON + and SC_START jr nz, .asm_111f17 di ld a, [wMobileSDK_SendCommandID] diff --git a/macros/coords.asm b/macros/coords.asm index a135f7d48..2df93f3b6 100644 --- a/macros/coords.asm +++ b/macros/coords.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 diff --git a/macros/gfx.asm b/macros/gfx.asm index 66b97a07a..760101f82 100644 --- a/macros/gfx.asm +++ b/macros/gfx.asm @@ -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 diff --git a/macros/legacy.asm b/macros/legacy.asm index 5fe8d8799..8b1378917 100644 --- a/macros/legacy.asm +++ b/macros/legacy.asm @@ -1,424 +1 @@ -; Legacy support for old pokecrystal. -; Allows porting scripts with as few edits as possible. -; Legacy support not in this file can be found by looking for the keyword: "LEGACY" -; macros/farcall.asm -DEF callba EQUS "farcall" -DEF callab EQUS "callfar" - -; macros/gfx.asm -MACRO dsprite - dbsprite \3, \1, \4, \2, \5, \6 -ENDM - -; macros/data.asm - -MACRO dt - bigdt \1 -ENDM - -MACRO dd - bigdd \1 -ENDM - -MACRO dbbw - db \1, \2 - dw \3 -ENDM - -MACRO dbww - db \1 - dw \2, \3 -ENDM - -MACRO dbwww - db \1 - dw \2, \3, \4 -ENDM - -; macros/scripts/audio.asm -DEF __ EQU 0 -DEF CC EQU 13 - -MACRO musicheader - channel_count \1 - channel \2, \3 -ENDM - -MACRO sound - note \1, \2 - db \3 - dw \4 -ENDM - -MACRO noise - note \1, \2 - db \3 - db \4 -ENDM - -MACRO notetype - if _NARG >= 2 - note_type \1, \2 >> 4, \2 & $0f - else - note_type \1 - endc -ENDM - -MACRO pitchoffset - transpose \1, \2 - 1 -ENDM - -DEF dutycycle EQUS "duty_cycle" - -MACRO intensity - volume_envelope \1 >> 4, \1 & $0f -ENDM - -MACRO soundinput - pitch_sweep \1 >> 4, \1 & $0f -ENDM - -DEF unknownmusic0xde EQUS "sound_duty" -MACRO sound_duty - db duty_cycle_pattern_cmd - if _NARG == 4 - db \1 | (\2 << 2) | (\3 << 4) | (\4 << 6) - else - db \1 - endc -ENDM - -DEF togglesfx EQUS "toggle_sfx" - -MACRO slidepitchto - pitch_slide \1, (8 - \2), \3 -ENDM - -DEF togglenoise EQUS "toggle_noise" - -MACRO panning - force_stereo_panning ((\1 >> 4) & 1), (\1 & 1) -ENDM - -DEF tone EQUS "pitch_offset" -DEF restartchannel EQUS "restart_channel" -DEF newsong EQUS "new_song" -DEF sfxpriorityon EQUS "sfx_priority_on" -DEF sfxpriorityoff EQUS "sfx_priority_off" - -MACRO stereopanning - stereo_panning ((\1 >> 4) & 1), (\1 & 1) -ENDM - -DEF sfxtogglenoise EQUS "sfx_toggle_noise" -DEF setcondition EQUS "set_condition" -DEF jumpif EQUS "sound_jump_if" -DEF jumpchannel EQUS "sound_jump" -DEF loopchannel EQUS "sound_loop" -DEF callchannel EQUS "sound_call" -DEF endchannel EQUS "sound_ret" - -; macros/scripts/events.asm - -DEF checkmorn EQUS "checktime MORN" -DEF checkday EQUS "checktime DAY" -DEF checknite EQUS "checktime NITE" - -DEF jump EQUS "sjump" -DEF farjump EQUS "farsjump" -DEF priorityjump EQUS "sdefer" -DEF prioritysjump EQUS "sdefer" -DEF ptcall EQUS "memcall" -DEF ptjump EQUS "memjump" -DEF ptpriorityjump EQUS "stopandsjump" -DEF ptcallasm EQUS "memcallasm" - -DEF if_equal EQUS "ifequal" -DEF if_not_equal EQUS "ifnotequal" -DEF if_greater_than EQUS "ifgreater" -DEF if_less_than EQUS "ifless" -DEF end_all EQUS "endall" -DEF return EQUS "endcallback" -DEF reloadandreturn EQUS "reloadend" - -DEF checkmaptriggers EQUS "checkmapscene" -DEF domaptrigger EQUS "setmapscene" -DEF checktriggers EQUS "checkscene" -DEF dotrigger EQUS "setscene" - -DEF faceperson EQUS "faceobject" -DEF moveperson EQUS "moveobject" -DEF writepersonxy EQUS "writeobjectxy" -DEF spriteface EQUS "turnobject" -DEF objectface EQUS "turnobject" -DEF applymovement2 EQUS "applymovementlasttalked" - -DEF writebyte EQUS "setval" -DEF addvar EQUS "addval" -DEF copybytetovar EQUS "readmem" -DEF copyvartobyte EQUS "writemem" -DEF checkcode EQUS "readvar" -DEF writevarcode EQUS "writevar" -DEF writecode EQUS "loadvar" - -DEF MEM_BUFFER_0 EQUS "STRING_BUFFER_3" -DEF MEM_BUFFER_1 EQUS "STRING_BUFFER_4" -DEF MEM_BUFFER_2 EQUS "STRING_BUFFER_5" - -DEF vartomem EQUS "getnum" -DEF mapnametotext EQUS "getcurlandmarkname" -DEF readcoins EQUS "getcoins" - -MACRO pokenamemem - getmonname \2, \1 -ENDM - -MACRO itemtotext - getitemname \2, \1 -ENDM - -MACRO landmarktotext - getlandmarkname \2, \1 -ENDM - -MACRO trainertotext - gettrainername \3, \1, \2 -ENDM - -MACRO trainerclassname - gettrainerclassname \2, \1 -ENDM - -MACRO name - getname \3, \1, \2 -ENDM - -MACRO stringtotext - getstring \2, \1 -ENDM - -MACRO readmoney - getmoney \2, \1 -ENDM - -DEF RAM2MEM EQUS "getnum" -DEF loadfont EQUS "opentext" -DEF loadmenudata EQUS "loadmenu" -DEF loadmenuheader EQUS "loadmenu" -DEF writebackup EQUS "closewindow" -DEF interpretmenu EQUS "_2dmenu" -DEF interpretmenu2 EQUS "verticalmenu" -DEF buttonsound EQUS "promptbutton" -DEF battlecheck EQUS "randomwildmon" -DEF loadtrainerdata EQUS "loadtemptrainer" -DEF loadpokedata EQUS "loadwildmon" -DEF returnafterbattle EQUS "reloadmapafterbattle" -DEF refreshscreen EQUS "reanchormap" -DEF reloadmappart EQUS "refreshmap" -DEF trainerstatus EQUS "trainerflagaction" -DEF talkaftercancel EQUS "endifjustbattled" -DEF talkaftercheck EQUS "checkjustbattled" -DEF playrammusic EQUS "encountermusic" -DEF reloadmapmusic EQUS "dontrestartmapmusic" -DEF resetfuncs EQUS "endall" -DEF storetext EQUS "battletowertext" -DEF displaylocation EQUS "landmarktotext" -DEF givepokeitem EQUS "givepokemail" -DEF checkpokeitem EQUS "checkpokemail" -DEF passtoengine EQUS "autoinput" -DEF verbosegiveitem2 EQUS "verbosegiveitemvar" -DEF loadbytec2cf EQUS "writeunusedbyte" -DEF writeunusedbytebuffer EQUS "writeunusedbyte" - -; macros/scripts/maps.asm - -MACRO mapconst - map_const \1, \3, \2 -ENDM - -DEF maptrigger EQUS "scene_script" - -MACRO warp_def - warp_event \2, \1, \4, \3 -ENDM - -MACRO xy_trigger - coord_event \3, \2, \1, \5 -ENDM - -MACRO signpost - bg_event \2, \1, \3, \4 -ENDM - -MACRO person_event - object_event \3, \2, \1, \4, \5, \6, \7, \8, \9, \<10>, \<11>, \<12>, \<13> -ENDM - -DEF PERSONTYPE_SCRIPT EQUS "OBJECTTYPE_SCRIPT" -DEF PERSONTYPE_ITEMBALL EQUS "OBJECTTYPE_ITEMBALL" -DEF PERSONTYPE_TRAINER EQUS "OBJECTTYPE_TRAINER" - -DEF SCENE_DEFAULT EQU 0 -DEF SCENE_FINISHED EQU 1 - -; macros/scripts/movement.asm - -DEF show_person EQUS "show_object" -DEF hide_person EQUS "hide_object" -DEF remove_person EQUS "remove_object" - -DEF turn_head_down EQUS "turn_head DOWN" -DEF turn_head_up EQUS "turn_head UP" -DEF turn_head_left EQUS "turn_head LEFT" -DEF turn_head_right EQUS "turn_head RIGHT" -DEF turn_step_down EQUS "turn_step DOWN" -DEF turn_step_up EQUS "turn_step UP" -DEF turn_step_left EQUS "turn_step LEFT" -DEF turn_step_right EQUS "turn_step RIGHT" -DEF slow_step_down EQUS "slow_step DOWN" -DEF slow_step_up EQUS "slow_step UP" -DEF slow_step_left EQUS "slow_step LEFT" -DEF slow_step_right EQUS "slow_step RIGHT" -DEF step_down EQUS "step DOWN" -DEF step_up EQUS "step UP" -DEF step_left EQUS "step LEFT" -DEF step_right EQUS "step RIGHT" -DEF big_step_down EQUS "big_step DOWN" -DEF big_step_up EQUS "big_step UP" -DEF big_step_left EQUS "big_step LEFT" -DEF big_step_right EQUS "big_step RIGHT" -DEF slow_slide_step_down EQUS "slow_slide_step DOWN" -DEF slow_slide_step_up EQUS "slow_slide_step UP" -DEF slow_slide_step_left EQUS "slow_slide_step LEFT" -DEF slow_slide_step_right EQUS "slow_slide_step RIGHT" -DEF slide_step_down EQUS "slide_step DOWN" -DEF slide_step_up EQUS "slide_step UP" -DEF slide_step_left EQUS "slide_step LEFT" -DEF slide_step_right EQUS "slide_step RIGHT" -DEF fast_slide_step_down EQUS "fast_slide_step DOWN" -DEF fast_slide_step_up EQUS "fast_slide_step UP" -DEF fast_slide_step_left EQUS "fast_slide_step LEFT" -DEF fast_slide_step_right EQUS "fast_slide_step RIGHT" -DEF turn_away_down EQUS "turn_away DOWN" -DEF turn_away_up EQUS "turn_away UP" -DEF turn_away_left EQUS "turn_away LEFT" -DEF turn_away_right EQUS "turn_away RIGHT" -DEF turn_in_down EQUS "turn_in DOWN" -DEF turn_in_up EQUS "turn_in UP" -DEF turn_in_left EQUS "turn_in LEFT" -DEF turn_in_right EQUS "turn_in RIGHT" -DEF turn_waterfall_down EQUS "turn_waterfall DOWN" -DEF turn_waterfall_up EQUS "turn_waterfall UP" -DEF turn_waterfall_left EQUS "turn_waterfall LEFT" -DEF turn_waterfall_right EQUS "turn_waterfall RIGHT" -DEF slow_jump_step_down EQUS "slow_jump_step DOWN" -DEF slow_jump_step_up EQUS "slow_jump_step UP" -DEF slow_jump_step_left EQUS "slow_jump_step LEFT" -DEF slow_jump_step_right EQUS "slow_jump_step RIGHT" -DEF jump_step_down EQUS "jump_step DOWN" -DEF jump_step_up EQUS "jump_step UP" -DEF jump_step_left EQUS "jump_step LEFT" -DEF jump_step_right EQUS "jump_step RIGHT" -DEF fast_jump_step_down EQUS "fast_jump_step DOWN" -DEF fast_jump_step_up EQUS "fast_jump_step UP" -DEF fast_jump_step_left EQUS "fast_jump_step LEFT" -DEF fast_jump_step_right EQUS "fast_jump_step RIGHT" - -DEF step_sleep_1 EQUS "step_sleep 1" -DEF step_sleep_2 EQUS "step_sleep 2" -DEF step_sleep_3 EQUS "step_sleep 3" -DEF step_sleep_4 EQUS "step_sleep 4" -DEF step_sleep_5 EQUS "step_sleep 5" -DEF step_sleep_6 EQUS "step_sleep 6" -DEF step_sleep_7 EQUS "step_sleep 7" -DEF step_sleep_8 EQUS "step_sleep 8" - -; macros/scripts/text.asm -DEF text_from_ram EQUS "text_ram" -DEF start_asm EQUS "text_asm" -DEF deciram EQUS "text_decimal" -DEF interpret_data EQUS "text_pause" -DEF limited_interpret_data EQUS "text_dots" -DEF link_wait_button EQUS "text_waitbutton" -DEF text_linkwaitbutton EQUS "text_waitbutton" -DEF text_linkpromptbutton EQUS "text_waitbutton" -DEF current_day EQUS "text_today" -DEF text_jump EQUS "text_far" - -; macros/scripts/battle_anims.asm -DEF anim_enemyfeetobj EQUS "anim_battlergfx_2row" -DEF anim_playerheadobj EQUS "anim_battlergfx_1row" -DEF anim_clearsprites EQUS "anim_keepsprites" - -; macros/scripts/oam_anims.asm -DEF dorestart EQUS "oamrestart" -DEF dowait EQUS "oamwait" -DEF delanim EQUS "oamdel" - -; macros/scripts/battle_commands.asm -DEF checkcurl EQUS "checkrollout" - -; engine/events/std_scripts.asm -DEF pokecenternurse EQUS "PokecenterNurseScript" -DEF difficultbookshelf EQUS "DifficultBookshelfScript" -DEF picturebookshelf EQUS "PictureBookshelfScript" -DEF magazinebookshelf EQUS "MagazineBookshelfScript" -DEF teamrocketoath EQUS "TeamRocketOathScript" -DEF incenseburner EQUS "IncenseBurnerScript" -DEF merchandiseshelf EQUS "MerchandiseShelfScript" -DEF townmap EQUS "TownMapScript" -DEF window EQUS "WindowScript" -DEF tv EQUS "TVScript" -DEF homepage EQUS "HomepageScript" -DEF radio1 EQUS "Radio1Script" -DEF radio2 EQUS "Radio2Script" -DEF trashcan EQUS "TrashCanScript" -DEF strengthboulder EQUS "StrengthBoulderScript" -DEF smashrock EQUS "SmashRockScript" -DEF pokecentersign EQUS "PokecenterSignScript" -DEF martsign EQUS "MartSignScript" -DEF goldenrodrockets EQUS "GoldenrodRocketsScript" -DEF radiotowerrockets EQUS "RadioTowerRocketsScript" -DEF elevatorbutton EQUS "ElevatorButtonScript" -DEF daytotext EQUS "DayToTextScript" -DEF bugcontestresultswarp EQUS "BugContestResultsWarpScript" -DEF bugcontestresults EQUS "BugContestResultsScript" -DEF initializeevents EQUS "InitializeEventsScript" -DEF asknumber1m EQUS "AskNumber1MScript" -DEF asknumber2m EQUS "AskNumber2MScript" -DEF registerednumberm EQUS "RegisteredNumberMScript" -DEF numberacceptedm EQUS "NumberAcceptedMScript" -DEF numberdeclinedm EQUS "NumberDeclinedMScript" -DEF phonefullm EQUS "PhoneFullMScript" -DEF rematchm EQUS "RematchMScript" -DEF giftm EQUS "GiftMScript" -DEF packfullm EQUS "PackFullMScript" -DEF rematchgiftm EQUS "RematchGiftMScript" -DEF asknumber1f EQUS "AskNumber1FScript" -DEF asknumber2f EQUS "AskNumber2FScript" -DEF registerednumberf EQUS "RegisteredNumberFScript" -DEF numberacceptedf EQUS "NumberAcceptedFScript" -DEF numberdeclinedf EQUS "NumberDeclinedFScript" -DEF phonefullf EQUS "PhoneFullFScript" -DEF rematchf EQUS "RematchFScript" -DEF giftf EQUS "GiftFScript" -DEF packfullf EQUS "PackFullFScript" -DEF rematchgiftf EQUS "RematchGiftFScript" -DEF gymstatue1 EQUS "GymStatue1Script" -DEF gymstatue2 EQUS "GymStatue2Script" -DEF receiveitem EQUS "ReceiveItemScript" -DEF receivetogepiegg EQUS "ReceiveTogepiEggScript" -DEF pcscript EQUS "PCScript" -DEF gamecornercoinvendor EQUS "GameCornerCoinVendorScript" -DEF happinesschecknpc EQUS "HappinessCheckScript" - -; constants/charmap.asm -charmap "%", "" -charmap "¯", "" - -; constants/sprite_constants.asm -DEF SPRITE_BUENA EQUS "SPRITE_BEAUTY" - -DEF PAL_NPC_SILVER EQUS "PAL_NPC_EMOTE" -DEF PAL_OW_SILVER EQUS "PAL_OW_EMOTE" diff --git a/macros/scripts/oam_anims.asm b/macros/scripts/oam_anims.asm index 2bd751cfb..68071f43e 100644 --- a/macros/scripts/oam_anims.asm +++ b/macros/scripts/oam_anims.asm @@ -3,7 +3,7 @@ MACRO oamframe db \1 ; duration DEF x = \2 - assert !(x & (1 << (OAM_X_FLIP + 1) | 1 << (OAM_Y_FLIP + 1))), \ + assert !(x & (1 << (B_OAM_XFLIP + 1) | 1 << (B_OAM_YFLIP + 1))), \ "oamframe duration overflows into X/Y flip bits" if _NARG > 2 rept _NARG - 2 diff --git a/maps/BattleTowerHallway.asm b/maps/BattleTowerHallway.asm index 1f47e4c30..2959116cf 100644 --- a/maps/BattleTowerHallway.asm +++ b/maps/BattleTowerHallway.asm @@ -21,16 +21,16 @@ BattleTowerHallwayChooseBattleRoomScript: sjump .WalkToChosenBattleRoom .asm_load_battle_room - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBTChoiceOfLvlGroup) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wBTChoiceOfLvlGroup] ld [wScriptVar], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret ; enter different rooms for different levels to battle against diff --git a/mobile/fixed_words.asm b/mobile/fixed_words.asm index 644d48103..2e7264c4c 100644 --- a/mobile/fixed_words.asm +++ b/mobile/fixed_words.asm @@ -218,10 +218,10 @@ GetLengthOfWordAtC608: jr .loop CopyMobileEZChatToC608: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld a, "@" ld hl, wc608 ld bc, NAME_LENGTH @@ -256,7 +256,7 @@ CopyMobileEZChatToC608: call CopyBytes ld de, wc608 pop af - ldh [rSVBK], a + ldh [rWBK], a ret .get_name @@ -279,13 +279,13 @@ Function11c1ab: Function11c1b9: call .InitKanaMode - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a call EZChat_MasterLoop pop af - ldh [rSVBK], a + ldh [rWBK], a ret .InitKanaMode: @@ -323,16 +323,16 @@ Function11c1b9: farcall ClearSpriteAnims farcall LoadPokemonData farcall Pokedex_ABCMode - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc6d0 ld de, wLYOverrides ld bc, $100 call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a call EZChat_GetCategoryWordsByKana call EZChat_GetSeenPokemonByKana ret @@ -2854,16 +2854,16 @@ AnimateEZChatCursor: ret Function11d323: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_11d33a ld de, wBGPals1 ld bc, 16 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret Palette_11d33a: @@ -2948,7 +2948,7 @@ Palette_11d33a: RGB 00, 00, 00 EZChat_GetSeenPokemonByKana: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld hl, wc648 ld a, LOW(w5_d800) @@ -3005,21 +3005,21 @@ EZChat_GetSeenPokemonByKana: .loop1 ; copy 2*bc bytes from 3:hl to 5:de ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a ld a, [hli] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a pop af ld [de], a inc de ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a ld a, [hli] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a pop af ld [de], a inc de @@ -3121,7 +3121,7 @@ EZChat_GetSeenPokemonByKana: .ExitMasterLoop: pop af - ldh [rSVBK], a + ldh [rWBK], a ret .CheckSeenMon: @@ -3129,11 +3129,11 @@ EZChat_GetSeenPokemonByKana: push bc push de dec a - ld hl, rSVBK + ld hl, rWBK ld e, $1 ld [hl], e call CheckSeenMon - ld hl, rSVBK + ld hl, rWBK ld e, $5 ld [hl], e pop de @@ -3142,10 +3142,10 @@ EZChat_GetSeenPokemonByKana: ret EZChat_GetCategoryWordsByKana: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a ; load pointers ld hl, MobileEZChatCategoryPointers @@ -3222,7 +3222,7 @@ EZChat_GetCategoryWordsByKana: dec a jr nz, .loop1 pop af - ldh [rSVBK], a + ldh [rWBK], a ret INCLUDE "data/pokemon/ezchat_order.asm" diff --git a/mobile/mobile_22.asm b/mobile/mobile_22.asm index feb7e73ff..e8718e647 100644 --- a/mobile/mobile_22.asm +++ b/mobile/mobile_22.asm @@ -100,7 +100,7 @@ Function891b8: call Mobile22_SetBGMapMode0 hlcoord 0, 0 ld a, " " - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill call DelayFrame ret @@ -125,11 +125,11 @@ Function891de: call ClearPalettes hlcoord 0, 0, wAttrmap ld a, $7 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill hlcoord 0, 0 ld a, " " - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill call Function891ab ret @@ -534,7 +534,7 @@ Function89448: ; Clears the sprite array push af ld hl, wShadowOAM - ld d, 24 * SPRITEOAMSTRUCT_LENGTH + ld d, 24 * OBJ_SIZE xor a .loop ld [hli], a @@ -585,16 +585,16 @@ Function89492: ret Function8949c: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, 5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_894b3 ld de, wBGPals1 palette 7 ld bc, 1 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret Palette_894b3: @@ -624,10 +624,10 @@ Function894ca: Function894dc: push bc - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, 5 - ldh [rSVBK], a + ldh [rWBK], a ld c, d ld b, 0 @@ -646,7 +646,7 @@ Function894dc: call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a pop bc ret @@ -732,17 +732,17 @@ Function8956f: farcall GetMobileOTTrainerClass ld a, c ld [wTrainerClass], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, 5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wd030 ld a, -1 ld [hli], a ld a, " " ld [hl], a pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, [wTrainerClass] ld h, 0 ld l, a @@ -750,10 +750,10 @@ Function8956f: add hl, hl ld de, TrainerPalettes add hl, de - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld de, wd032 ld c, 4 .loop @@ -769,21 +769,21 @@ Function8956f: ld [hli], a ld [hl], a pop af - ldh [rSVBK], a + ldh [rWBK], a pop bc ret Function895c7: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, 5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_895de ld de, wd030 ld bc, 8 call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret Palette_895de: @@ -795,7 +795,7 @@ Palette_895de: Function895e6: ; unreferenced ld a, 7 hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill ret @@ -803,7 +803,7 @@ Function895f2: push bc xor a hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill call Function89605 call Function89655 @@ -1854,30 +1854,30 @@ Unknown_89bd8: Unknown_89be0: db $01, $12, $4e, $01, 0 - db $01, $19, $4e, $01, 0 | Y_FLIP - db $01, $12, $72, $01, 0 | X_FLIP - db $01, $19, $72, $01, 0 | X_FLIP | Y_FLIP + db $01, $19, $4e, $01, 0 | OAM_YFLIP + db $01, $12, $72, $01, 0 | OAM_XFLIP + db $01, $19, $72, $01, 0 | OAM_XFLIP | OAM_YFLIP db -1 ; end Unknown_89bf5: db $01, $60, $16, $01, 0 - db $01, $62, $16, $01, 0 | Y_FLIP - db $01, $60, $92, $01, 0 | X_FLIP - db $01, $62, $92, $01, 0 | X_FLIP | Y_FLIP + db $01, $62, $16, $01, 0 | OAM_YFLIP + db $01, $60, $92, $01, 0 | OAM_XFLIP + db $01, $62, $92, $01, 0 | OAM_XFLIP | OAM_YFLIP db -1 ; end Unknown_89c0a: db $01, $78, $66, $01, 0 - db $01, $78, $66, $01, 0 | Y_FLIP - db $01, $78, $92, $01, 0 | X_FLIP - db $01, $78, $92, $01, 0 | X_FLIP | Y_FLIP + db $01, $78, $66, $01, 0 | OAM_YFLIP + db $01, $78, $92, $01, 0 | OAM_XFLIP + db $01, $78, $92, $01, 0 | OAM_XFLIP | OAM_YFLIP db -1 ; end Unknown_89c1f: db $01, $80, $66, $01, 0 - db $01, $80, $66, $01, 0 | Y_FLIP - db $01, $80, $92, $01, 0 | X_FLIP - db $01, $80, $92, $01, 0 | X_FLIP | Y_FLIP + db $01, $80, $66, $01, 0 | OAM_YFLIP + db $01, $80, $92, $01, 0 | OAM_XFLIP + db $01, $80, $92, $01, 0 | OAM_XFLIP | OAM_YFLIP db -1 ; end Function89c34: @@ -2039,10 +2039,10 @@ Function89cdf: Function89d0d: call Mobile22_SetBGMapMode0 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld c, 8 ld de, wBGPals1 @@ -2061,7 +2061,7 @@ Function89d0d: call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a call SetDefaultBGPAndOBP farcall PrintMail @@ -2267,16 +2267,16 @@ Function89e6f: jp Function89e36 Function89e9a: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_89eb1 ld de, wBGPals1 palette 5 ld bc, 1 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret Palette_89eb1: @@ -3134,7 +3134,7 @@ asm_8a529: ld [hli], a ld hl, wShadowOAM xor a - ld bc, 8 * SPRITEOAMSTRUCT_LENGTH + ld bc, 8 * OBJ_SIZE call ByteFill ret @@ -3227,10 +3227,10 @@ Function8a5a3: ret Function8a5b6: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_8a5e5 ld de, wBGPals1 palette 4 ld bc, 3 palettes @@ -3244,7 +3244,7 @@ Function8a5b6: ld bc, 1 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret Palette_8a5e5: @@ -3276,16 +3276,16 @@ Palette_8a605: RGB 31, 31, 31 Function8a60d: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_8a624 ld de, wOBPals1 ld bc, 1 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret Palette_8a624: diff --git a/mobile/mobile_22_2.asm b/mobile/mobile_22_2.asm index e991c15ad..4873bb8a3 100644 --- a/mobile/mobile_22_2.asm +++ b/mobile/mobile_22_2.asm @@ -587,16 +587,16 @@ Function8b690: ret Function8b6bb: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_8b6d5 ld de, wBGPals1 ld bc, 3 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a call Function8949c ret diff --git a/mobile/mobile_40.asm b/mobile/mobile_40.asm index da14c6a37..d464d3419 100644 --- a/mobile/mobile_40.asm +++ b/mobile/mobile_40.asm @@ -2,10 +2,10 @@ Function100000: ; d: 1 or 2 ; e: bank ; bc: addr - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, 1 - ldh [rSVBK], a + ldh [rWBK], a call Function100022 call Function1000ba @@ -19,7 +19,7 @@ Function100000: pop bc pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function100022: @@ -161,7 +161,7 @@ Function1000fa: xor a ldh [rIF], a ldh a, [rIE] - and $1f ^ (1 << SERIAL | 1 << TIMER) + and IE_JOYPAD | IE_STAT | IE_VBLANK ldh [rIE], a xor a ldh [hMobileReceive], a @@ -310,15 +310,15 @@ Function10020b: call HideSprites call DelayFrame - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $01 - ldh [rSVBK], a + ldh [rWBK], a farcall DisplayMobileError pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function100232: @@ -1456,16 +1456,16 @@ Function100989: ret Function1009a5: - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA ld a, $03 call FarCopyWRAM ret Function1009ae: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $03 - ldh [rSVBK], a + ldh [rWBK], a ld hl, w3_d800 decoord 0, 0, wAttrmap @@ -1479,21 +1479,21 @@ Function1009ae: inc de dec c jr nz, .loop_col - ld bc, BG_MAP_WIDTH - SCREEN_WIDTH + ld bc, TILEMAP_WIDTH - SCREEN_WIDTH add hl, bc pop bc dec b jr nz, .loop_row pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function1009d2: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $03 - ldh [rSVBK], a + ldh [rWBK], a ldh a, [rVBK] push af @@ -1509,7 +1509,7 @@ Function1009d2: ldh [rVBK], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function1009f3: @@ -3827,17 +3827,17 @@ _StartMobileBattle: ret .CopyOTDetails: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(w5_dc0d) - ldh [rSVBK], a + ldh [rWBK], a ld bc, w5_dc0d ld de, w5_dc11 farcall GetMobileOTTrainerClass pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, c ld [wOtherTrainerClass], a @@ -6439,11 +6439,11 @@ Function102d48: Function102d9a: ld a, " " hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill ld a, $07 hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill farcall HDMATransferAttrmapAndTilemapToWRAMBank3 ret diff --git a/mobile/mobile_41.asm b/mobile/mobile_41.asm index 0e236d659..10e5850e4 100644 --- a/mobile/mobile_41.asm +++ b/mobile/mobile_41.asm @@ -1039,7 +1039,7 @@ Function106464:: Function10649b: ; unreferenced 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 @@ -1056,10 +1056,10 @@ Function10649b: ; unreferenced ret Function1064c3: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $6 - ldh [rSVBK], a + ldh [rWBK], a push bc push hl ld hl, Function3f88 @@ -1068,14 +1068,14 @@ Function1064c3: pop hl pop bc pop af - ldh [rSVBK], a + ldh [rWBK], a jr asm_1064ed Function1064d8: ; unreferenced - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $6 - ldh [rSVBK], a + ldh [rWBK], a push bc push hl ld hl, Function3f9f @@ -1084,16 +1084,16 @@ Function1064d8: ; unreferenced pop hl pop bc pop af - ldh [rSVBK], a + ldh [rWBK], a jr asm_1064ed asm_1064ed: ld de, wDecompressScratch ld b, $0 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $6 - ldh [rSVBK], a + ldh [rWBK], a ldh a, [rVBK] push af ld a, $1 @@ -1102,7 +1102,7 @@ asm_1064ed: pop af ldh [rVBK], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function10650a: ; unreferenced diff --git a/mobile/mobile_42.asm b/mobile/mobile_42.asm index 5a6ac5f51..1ddf8ed9a 100644 --- a/mobile/mobile_42.asm +++ b/mobile/mobile_42.asm @@ -274,13 +274,13 @@ MobileTradeAnim_ClearBGMap: ld a, $1 ldh [rVBK], a hlbgcoord 0, 0 - ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH + ld bc, 2 * TILEMAP_AREA ld a, $0 call ByteFill ld a, $0 ldh [rVBK], a hlbgcoord 0, 0 - ld bc, 2 * BG_MAP_HEIGHT * BG_MAP_WIDTH + ld bc, 2 * TILEMAP_AREA ld a, $7f call ByteFill ret @@ -800,16 +800,16 @@ MobileTradeAnim_02: ldh [hWX], a ld a, $90 ldh [hWY], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, MobileTradeBGPalettes ld de, wBGPals1 ld bc, 8 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a call LoadMobileAdapterPalette call Function108af4 call GetMobileTradeAnimByte @@ -845,16 +845,16 @@ MobileTradeAnim_10: ldh [hWX], a ld a, $90 ldh [hWY], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, MobileTradeBGPalettes ld de, wBGPals1 ld bc, 8 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a call LoadMobileAdapterPalette call Function108af4 call GetMobileTradeAnimByte @@ -888,16 +888,16 @@ MobileTradeAnim_11: ldh [hWX], a ld a, $90 ldh [hWY], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, MobileTradeBGPalettes ld de, wBGPals1 ld bc, 8 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a call LoadMobileAdapterPalette call Function108af4 call Function108b5a @@ -1356,7 +1356,7 @@ MobileTradeAnim_MonDisplay_PrintIDNumber: MobileTradeAnim_ClearTilemap: hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA ld a, " " call ByteFill ret @@ -1381,10 +1381,10 @@ Function108ad4: ret Function108af4: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wcf65] and $1 jr z, .copy_MobileTradeOB1Palettes @@ -1410,7 +1410,7 @@ Function108af4: .done_copy pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, %11100100 ; 3,2,1,0 call DmgToCgbObjPal0 ld a, %11100100 ; 3,2,1,0 @@ -1419,10 +1419,10 @@ Function108af4: ret Function108b45: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld de, PALRGB_WHITE ld hl, wBGPals1 ld a, e @@ -1430,14 +1430,14 @@ Function108b45: ld d, a ld [hli], a pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function108b5a: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld de, palred 18 + palgreen 31 + palblue 15 ld hl, wBGPals2 palette 4 ld c, 2 palettes @@ -1449,16 +1449,16 @@ Function108b5a: dec c jr nz, .loop pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret Function108b78: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld a, c and $2 jr z, .Orange @@ -1473,7 +1473,7 @@ Function108b78: ld a, d ld [hld], a pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, TRUE ldh [hCGBPalUpdate], a ret @@ -1483,10 +1483,10 @@ Palette_108b98: Function108b98: ld d, a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wcf65] and $1 xor d @@ -1501,7 +1501,7 @@ Function108b98: ld bc, 8 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret MobileTradeAnim_DeleteSprites: diff --git a/mobile/mobile_45_sprite_engine.asm b/mobile/mobile_45_sprite_engine.asm index 9784835ce..4e81cc125 100644 --- a/mobile/mobile_45_sprite_engine.asm +++ b/mobile/mobile_45_sprite_engine.asm @@ -21,7 +21,7 @@ Function115dc3: ld [wc305], a ld a, $a0 ld hl, wShadowOAMSprite31 - ld bc, 8 * SPRITEOAMSTRUCT_LENGTH + ld bc, 8 * OBJ_SIZE call ByteFill ret @@ -31,7 +31,7 @@ Function115dd3: ret z ld a, $a0 ld hl, wShadowOAMSprite31 - ld bc, 8 * SPRITEOAMSTRUCT_LENGTH + ld bc, 8 * OBJ_SIZE call ByteFill call Function115e22 ld a, [wc309] @@ -346,7 +346,7 @@ Function11619d: jr c, .asm_1161b4 ld a, $a0 ld hl, wShadowOAM - ld bc, 25 * SPRITEOAMSTRUCT_LENGTH + ld bc, 25 * OBJ_SIZE call ByteFill .asm_1161b4 @@ -366,11 +366,11 @@ Function1161b8: dw Function116441 Function1161d5: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $6 - ldh [rSVBK], a + ldh [rWBK], a ld hl, PichuBorderMobileTilemapAttrmap ld de, wDecompressScratch @@ -386,73 +386,73 @@ Function1161d5: jr nz, .wait_for_vblank ld a, $d0 - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, $0 - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld a, $1c - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a xor a - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ld a, $8 - ldh [rHDMA5], a + ldh [rVDMA_LEN], a ld a, $d0 - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, $80 - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld a, $1c - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a ld a, $80 - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ld a, $8 - ldh [rHDMA5], a + ldh [rVDMA_LEN], a ld a, $d1 - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, $0 - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld a, $1d - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a xor a - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ld a, $8 - ldh [rHDMA5], a + ldh [rVDMA_LEN], a ld a, $1 ldh [rVBK], a ld a, $d1 - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, $80 - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld a, $1c - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a xor a - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ld a, $8 - ldh [rHDMA5], a + ldh [rVDMA_LEN], a ld a, $d2 - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, $0 - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld a, $1c - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a ld a, $80 - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ld a, $8 - ldh [rHDMA5], a + ldh [rVDMA_LEN], a ld a, $d2 - ldh [rHDMA1], a + ldh [rVDMA_SRC_HIGH], a ld a, $80 - ldh [rHDMA2], a + ldh [rVDMA_SRC_LOW], a ld a, $1d - ldh [rHDMA3], a + ldh [rVDMA_DEST_HIGH], a xor a - ldh [rHDMA4], a + ldh [rVDMA_DEST_LOW], a ld a, $8 - ldh [rHDMA5], a + ldh [rVDMA_LEN], a xor a ldh [rVBK], a @@ -460,7 +460,7 @@ Function1161d5: ei pop af - ldh [rSVBK], a + ldh [rWBK], a farcall HDMATransferTilemapAndAttrmap_Overworld ld a, $8 @@ -486,10 +486,10 @@ Function116294: ld a, [wc319] inc a ld [wc319], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals1 palette 6 ld de, wc320 ld bc, 2 palettes @@ -500,7 +500,7 @@ Function116294: call CopyBytes call SetDefaultBGPAndOBP pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, $30 ldh [hWY], a ret @@ -510,17 +510,17 @@ Function1162cb: ld a, [wc319] inc a ld [wc319], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, PichuBorderMobileOBPalettes ld de, wOBPals1 palette 2 ld bc, 6 palettes call CopyBytes call SetDefaultBGPAndOBP pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function1162f2: @@ -613,30 +613,30 @@ Function1162f2: ret Function11636e: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals2 ld de, wBGPals1 ld bc, 8 palettes call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a call SetDefaultBGPAndOBP - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld a, $a0 ld hl, wShadowOAM - ld bc, 16 * SPRITEOAMSTRUCT_LENGTH + ld bc, 16 * OBJ_SIZE call ByteFill ld a, $90 ldh [hWY], a call UpdateSprites pop af - ldh [rSVBK], a + ldh [rWBK], a farcall HDMATransferTilemapAndAttrmap_Overworld ld a, $8 ld [wMusicFade], a @@ -650,28 +650,28 @@ Function11636e: ret Function1163c0: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld a, $a0 ld hl, wShadowOAM - ld bc, 16 * SPRITEOAMSTRUCT_LENGTH + ld bc, 16 * OBJ_SIZE call ByteFill call DelayFrame farcall LoadStandingSpritesGFX ld b, SCGB_MAPPALS call GetSGBLayout - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc320 ld de, wd030 ld bc, $0010 call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a call SetDefaultBGPAndOBP call DelayFrame ld a, $90 @@ -679,7 +679,7 @@ Function1163c0: call UpdateSprites farcall LoadWalkingSpritesGFX pop af - ldh [rSVBK], a + ldh [rWBK], a farcall HDMATransferTilemapAndAttrmap_Overworld ld a, [wLinkMode] cp LINK_MOBILE diff --git a/mobile/mobile_45_stadium.asm b/mobile/mobile_45_stadium.asm index 80870d670..c6cb30651 100644 --- a/mobile/mobile_45_stadium.asm +++ b/mobile/mobile_45_stadium.asm @@ -14,10 +14,10 @@ Function11765d: Function11766b: call Function117699 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a call Function1176ee ld a, $5 call OpenSRAM @@ -30,7 +30,7 @@ Function11766b: call CopyBytes call CloseSRAM pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function117699: @@ -669,10 +669,10 @@ Function117bb6: ret .asm_117be7 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wcd89] and $1 jr nz, .asm_117c16 @@ -697,19 +697,19 @@ Function117bb6: .asm_117c16 pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, $d3 ld [wMobileErrorCodeBuffer], a jr .asm_117bd0 .asm_117c20 pop af - ldh [rSVBK], a + ldh [rWBK], a farcall Function172eb9 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a ld a, $7 call OpenSRAM ld hl, w3_d002 @@ -718,7 +718,7 @@ Function117bb6: call CopyBytes call CloseSRAM pop af - ldh [rSVBK], a + ldh [rWBK], a jp MobileStudium_JumptableIncrement Function117c4a: @@ -729,10 +729,10 @@ Function117c4a: farcall HDMATransferTilemapAndAttrmap_Overworld ld hl, MobileStadiumSuccessText call PrintText - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals1 ld de, 1 palettes ld c, 8 @@ -748,7 +748,7 @@ Function117c4a: jr nz, .loop call RotateThreePalettesRight pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, JUMPTABLE_EXIT ld [wJumptableIndex], a ret diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm index c83850a8a..d7100107b 100644 --- a/mobile/mobile_46.asm +++ b/mobile/mobile_46.asm @@ -15,10 +15,10 @@ asm_11800b: ld [wcd34], a ld a, $4 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .loop call JoyTextDelay call Function118473 @@ -39,7 +39,7 @@ asm_11800b: cp [hl] jr nz, .loop pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup call ReturnToMapFromSubmenu BattleTowerRoomMenu_DoNothing: @@ -55,10 +55,10 @@ Function11805f: ld [wcd34], a ld a, $4 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .asm_11807d call JoyTextDelay call Function118473 @@ -79,7 +79,7 @@ Function11805f: cp [hl] jr nz, .asm_11807d pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup call ReturnToMapFromSubmenu ret @@ -92,10 +92,10 @@ Function1180b8: ld [wcd34], a ld a, $4 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .asm_1180d1 call JoyTextDelay call Function118473 @@ -124,7 +124,7 @@ Function1180b8: cp [hl] jr nz, .asm_1180d1 pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup call ReturnToMapFromSubmenu ret @@ -145,10 +145,10 @@ Function118125: ld [wcd34], a ld a, $4 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .loop call JoyTextDelay call Function118473 @@ -170,7 +170,7 @@ Function118125: xor a ld [w3_d000], a pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup call Function118180 call ReturnToMapFromSubmenu @@ -190,10 +190,10 @@ Function118180: ld bc, 22 call CopyBytes - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(w3_d202) - ldh [rSVBK], a + ldh [rWBK], a ld de, w3_d202 ld c, $96 @@ -211,7 +211,7 @@ Function118180: call CopyBytes .reset_banks pop af - ldh [rSVBK], a + ldh [rWBK], a call CloseSRAM ret @@ -231,10 +231,10 @@ Function1181da: ld [wcd34], a ld a, $4 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .asm_1181f8 call JoyTextDelay call Function118473 @@ -255,7 +255,7 @@ Function1181da: cp [hl] jr nz, .asm_1181f8 pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup call ReturnToMapFromSubmenu ret @@ -268,10 +268,10 @@ Function118233: ld [wcd34], a ld a, $6 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .asm_11824c call JoyTextDelay call Function118473 @@ -292,7 +292,7 @@ Function118233: cp [hl] jr nz, .asm_11824c pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup ret @@ -304,10 +304,10 @@ Function118284: ld [wcd34], a ld a, $5 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .asm_11829d call JoyTextDelay call Function118473 @@ -327,7 +327,7 @@ Function118284: cp [hl] jr nz, .asm_11829d pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup ret @@ -339,10 +339,10 @@ Function1182d5: ; unreferenced ld [wcd34], a ld a, $4 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .asm_1182ee call JoyTextDelay call Function118473 @@ -363,7 +363,7 @@ Function1182d5: ; unreferenced cp [hl] jr nz, .asm_1182ee pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup call ReturnToMapFromSubmenu ret @@ -376,10 +376,10 @@ Function118329: ld [wcd34], a ld a, $6 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .asm_118342 call JoyTextDelay call Function118473 @@ -400,7 +400,7 @@ Function118329: cp [hl] jr nz, .asm_118342 pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup ret @@ -412,10 +412,10 @@ Function11837a: ld [wcd34], a ld a, $6 ld [wc3f0], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .asm_118393 call JoyTextDelay call Function118473 @@ -436,7 +436,7 @@ Function11837a: cp [hl] jr nz, .asm_118393 pop af - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_Cleanup ret @@ -467,7 +467,7 @@ BattleTowerRoomMenu_InitRAM: ld a, [hl] ld [wcd7f], a set LAST_12_SPRITE_OAM_STRUCTS_RESERVED_F, [hl] - ld a, (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK) + ld a, IE_SERIAL | IE_TIMER | IE_STAT | IE_VBLANK ldh [rIE], a ld a, $1 ldh [hMobileReceive], a @@ -902,7 +902,7 @@ Function11878d: and $1 jr z, .asm_1187a7 ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a .asm_1187a7 jp BattleTowerRoomMenu_IncrementJumptable .asm_1187aa @@ -930,7 +930,7 @@ Function11878d: jr nz, .asm_118803 set 0, [hl] ld a, BANK(w6_d000) - ldh [rSVBK], a + ldh [rWBK], a ld de, w6_d000 ld bc, $1000 ld a, [hl] @@ -1152,7 +1152,7 @@ BattleTowerRoomMenu_PlacePickLevelMenu: ld a, $1 ld [wcd4f], a ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wStatusFlags] bit STATUSFLAGS_HALL_OF_FAME_F, a jr nz, .asm_11896b @@ -1171,7 +1171,7 @@ BattleTowerRoomMenu_PlacePickLevelMenu: ld a, h ld [wcd4c], a ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a call BattleTowerRoomMenu_IncrementJumptable BattleTowerRoomMenu_UpdatePickLevelMenu: @@ -1197,10 +1197,10 @@ BattleTowerRoomMenu_UpdatePickLevelMenu: ld e, a ld a, h ld d, a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld bc, wStringBuffer3 .asm_1189b5 ld a, [hli] @@ -1218,7 +1218,7 @@ BattleTowerRoomMenu_UpdatePickLevelMenu: .asm_1189c4 ld [bc], a pop af - ldh [rSVBK], a + ldh [rWBK], a hlcoord 13, 9 call PlaceString ld hl, hJoyPressed @@ -1265,13 +1265,13 @@ BattleTowerRoomMenu_UpdatePickLevelMenu: and $fe srl a ld [wcf65], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a call CloseWindow pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, [wcd38] and a jr nz, .asm_118a30 @@ -1289,13 +1289,13 @@ BattleTowerRoomMenu_UpdatePickLevelMenu: call PlayClickSFX .asm_118a3c - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a call CloseWindow pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, $7 ld [wBattleTowerRoomMenuJumptableIndex], a ld a, $0 @@ -1344,7 +1344,7 @@ SetNewsDownloadURL: ld bc, $80 call CopyBytes ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld de, w3_d100 ld bc, $e00 jr Function118b10 @@ -1608,13 +1608,13 @@ Function118ded: ld a, [wcd38] and a jr z, .asm_118e03 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a farcall Function11b93b pop af - ldh [rSVBK], a + ldh [rWBK], a .asm_118e03 jp BattleTowerRoomMenu_IncrementJumptable @@ -1957,7 +1957,7 @@ Function119054: and $1 jr z, .asm_11908a ld a, $6 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wd002 ld a, [w3_d000] ld c, a @@ -1969,7 +1969,7 @@ Function119054: .asm_11908a call CloseSRAM ld a, $3 ; ??? - ldh [rSVBK], a + ldh [rWBK], a ld a, BANK(s5_b1b3) ; aka BANK(s5_b1b4) and BANK(s5_aa7f) and BANK(s5_b2f3) and BANK(s5_b2f4) call OpenSRAM ld a, [wcd4f] @@ -1980,10 +1980,10 @@ Function119054: ld de, s5_aa7f ld bc, 12 call CopyBytes - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wd474) ; aka BANK(wd475) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wd474] ld [s5_b2f3], a ld hl, wd475 @@ -1991,13 +1991,13 @@ Function119054: ld bc, 4 call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a call CloseSRAM jp BattleTowerRoomMenu_IncrementJumptable Function1190d0: ld a, BANK(w3_d000) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wcd57] ld l, a ld a, [wcd58] @@ -2036,7 +2036,7 @@ Function1190ec: and $1 jr z, .asm_11913e ld a, BANK(w6_d000) - ldh [rSVBK], a + ldh [rWBK], a ld a, [w6_d000] ld c, a ld a, [w6_d000 + 1] @@ -2047,7 +2047,7 @@ Function1190ec: .asm_11913e ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a + ldh [rWBK], a call CloseSRAM ld hl, Text_ReceivedNews call BattleTowerRoomMenu_SetMessage @@ -2124,7 +2124,7 @@ Function1191ad: push bc ld c, $0 ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a .asm_1191b4 ld a, [hli] ld [de], a @@ -2138,14 +2138,14 @@ Function1191ad: ld a, $da call SetMobileErrorCode ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a + ldh [rWBK], a pop bc scf ret .asm_1191cc ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a + ldh [rWBK], a pop bc and a ret @@ -2516,7 +2516,7 @@ Function119413: and $1 jr z, .asm_119447 ld a, BANK(w6_d000) - ldh [rSVBK], a + ldh [rWBK], a ld a, [w6_d000] ld c, a ld a, [w6_d000 + 1] @@ -2527,7 +2527,7 @@ Function119413: .asm_119447 ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a + ldh [rWBK], a call CloseSRAM jp BattleTowerRoomMenu_IncrementJumptable @@ -3163,13 +3163,13 @@ Function119800: ld a, [wBattleTowerRoomMenuJumptableIndex] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a call FadeToMenu farcall Function10803d call Function11a9ce call RestartMapMusic ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a + ldh [rWBK], a pop af ld [wBattleTowerRoomMenuJumptableIndex], a pop af @@ -3198,13 +3198,13 @@ Function11984e: ld a, [wBattleTowerRoomMenuJumptableIndex] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a call FadeToMenu farcall MobileTradeAnimation_SendGivemonToGTS call Function11a9ce call RestartMapMusic ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a + ldh [rWBK], a pop af ld [wBattleTowerRoomMenuJumptableIndex], a pop af @@ -3232,13 +3232,13 @@ Function11984e: ld a, [wBattleTowerRoomMenuJumptableIndex] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a call FadeToMenu farcall MobileTradeAnimation_RetrieveGivemonFromGTS call Function11a9ce call RestartMapMusic ld a, BANK("Battle Tower RAM") - ldh [rSVBK], a + ldh [rWBK], a pop af ld [wBattleTowerRoomMenuJumptableIndex], a pop af @@ -3890,10 +3890,10 @@ BattleTowerCancelString: ; unreferenced db "CANCEL@" BattleTower_LevelCheck: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wPartyMons) - ldh [rSVBK], a + ldh [rWBK], a ld a, [wcd4f] ld c, 10 call SimpleMultiply @@ -3920,7 +3920,7 @@ BattleTower_LevelCheck: dec a jr nz, .party_loop pop af - ldh [rSVBK], a + ldh [rWBK], a and a ret @@ -3929,18 +3929,18 @@ BattleTower_LevelCheck: ld a, $4 ld [wBattleTowerRoomMenuJumptableIndex], a pop af - ldh [rSVBK], a + ldh [rWBK], a scf ret BattleTower_UbersCheck: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, [wcd4f] cp 70 / 10 jr nc, .level_70_or_more ld a, BANK(wPartyMons) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wPartyMon1Level ld bc, PARTYMON_STRUCT_LENGTH ld de, wPartySpecies @@ -3968,7 +3968,7 @@ BattleTower_UbersCheck: jr nz, .loop .level_70_or_more pop af - ldh [rSVBK], a + ldh [rWBK], a and a ret @@ -3984,7 +3984,7 @@ BattleTower_UbersCheck: ld a, $a ld [wBattleTowerRoomMenuJumptableIndex], a pop af - ldh [rSVBK], a + ldh [rWBK], a scf ret @@ -4136,15 +4136,15 @@ Function119ec2: ret BattleTowerRoomMenu2: - ldh a, [rSVBK] + ldh a, [rWBK] ld [wcd8c], a ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a call .RunJumptable ld a, [wcd8c] - ldh [rSVBK], a + ldh [rWBK], a ld a, $1 ldh [hBGMapMode], a ret @@ -4311,24 +4311,24 @@ Function11a00e: .asm_11a039 ld a, BANK(w3_d800) - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc608 ld de, w3_d800 ld bc, 246 call CopyBytes ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a call FadeToMenu farcall Function11765d call Function11a9ce ld a, BANK(w3_d800) - ldh [rSVBK], a + ldh [rWBK], a ld hl, w3_d800 ld de, wc608 ld bc, 246 call CopyBytes ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a farcall Function115d99 ld c, $0 farcall Function115e18 @@ -5263,7 +5263,7 @@ BattleTowerRoomMenu_WriteMessage: Function11a90f: ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a call SpeechTextbox ld a, $50 ld hl, wc320 @@ -5317,7 +5317,7 @@ Function11a90f: ld hl, wc31a inc [hl] ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a BattleTowerRoomMenu_WriteMessage_DoNothing: ret @@ -5553,7 +5553,7 @@ Function11ac51: call Function11b314 call Function11acb7 call Function11ad6e - ld a, 30 * SPRITEOAMSTRUCT_LENGTH + ld a, 30 * OBJ_SIZE ld [wCurSpriteOAMAddr], a farcall DoNextFrameForAllSprites farcall HDMATransferTilemapAndAttrmap_Overworld @@ -6375,7 +6375,7 @@ Function11b175: FillScreenWithTile32: ; unreferenced hlcoord 0, 0 ld a, $32 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill ret @@ -7018,7 +7018,7 @@ Function11b570: .SaveData: ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a ld hl, w3_d800 ld de, wc608 @@ -7026,7 +7026,7 @@ Function11b570: call CopyBytes ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld a, BANK(s5_a800) call OpenSRAM @@ -7129,14 +7129,14 @@ Function11b66d: ld a, [wScriptVar] and a jr nz, .asm_11b6b0 - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a ld a, [w3_d090] ld b, a pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, b and a jr z, .asm_11b691 @@ -7152,14 +7152,14 @@ Function11b66d: jr z, .asm_11b6b0 xor a ld [wScriptVar], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a ld a, $2 ld [w3_d090], a pop af - ldh [rSVBK], a + ldh [rWBK], a .asm_11b6b0 jp MobileIncJumptableIndex diff --git a/mobile/mobile_5b.asm b/mobile/mobile_5b.asm index a7c99a5f4..9dfac8f71 100644 --- a/mobile/mobile_5b.asm +++ b/mobile/mobile_5b.asm @@ -218,22 +218,22 @@ Function16c943: ld a, [wd003] and a jr nz, .asm_16c95e - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld a, $ff ld bc, 1 palettes ld hl, wBGPals1 call ByteFill pop af - ldh [rSVBK], a + ldh [rWBK], a .asm_16c95e - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld e, $0 ld a, $0 .asm_16c969 @@ -313,26 +313,26 @@ Function16c943: jr nz, .asm_16c969 farcall ApplyPals call SetDefaultBGPAndOBP - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wd003] cp $1f jr z, .asm_16ca09 pop af - ldh [rSVBK], a + ldh [rWBK], a ld e, $0 pop af - ldh [rSVBK], a + ldh [rWBK], a and a ret .asm_16ca09 pop af - ldh [rSVBK], a + ldh [rWBK], a pop af - ldh [rSVBK], a + ldh [rWBK], a scf ret @@ -343,10 +343,10 @@ Function16ca11: farcall ApplyPals .asm_16ca1d - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld e, $0 ld a, $0 .asm_16ca28 @@ -414,25 +414,25 @@ Function16ca11: jr nz, .asm_16ca28 farcall ApplyPals call SetDefaultBGPAndOBP - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wd003] cp $1f jr z, .asm_16caae pop af - ldh [rSVBK], a + ldh [rWBK], a pop af - ldh [rSVBK], a + ldh [rWBK], a and a ret .asm_16caae pop af - ldh [rSVBK], a + ldh [rWBK], a pop af - ldh [rSVBK], a + ldh [rWBK], a scf ret @@ -646,7 +646,7 @@ Function16cbd1: ld hl, Unknown_16cfa3 call AddNTimes ld de, wBGPals1 palette 1 color 2 - ld bc, PAL_COLOR_SIZE + ld bc, COLOR_SIZE ld a, $5 call FarCopyWRAM farcall ApplyPals diff --git a/mobile/mobile_5c.asm b/mobile/mobile_5c.asm index 686d36277..3340bb407 100644 --- a/mobile/mobile_5c.asm +++ b/mobile/mobile_5c.asm @@ -249,10 +249,10 @@ CheckBTMonMovesForErrors: ret Function170cc6: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wDecompressScratch) - ldh [rSVBK], a + ldh [rWBK], a ld hl, PichuAnimatedMobileGFX ld de, wDecompressScratch call Decompress @@ -272,7 +272,7 @@ Function170cc6: lb bc, BANK(wDecompressScratch), 83 call Get2bpp pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function170d02: @@ -308,13 +308,13 @@ Function1719c8: Function1719d6: farcall BattleTowerRoomMenu_InitRAM call Function1719ed - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a call Function171a11 pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function1719ed: @@ -380,13 +380,13 @@ Function171a5d: ld [wMobileErrorCodeBuffer + 2], a ld a, MOBILEAPI_05 call MobileAPI - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a farcall BattleTowerRoomMenu_Cleanup pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, $a ld [wcd49], a ret @@ -422,13 +422,13 @@ Function171ad7: jp Function171c66 Function171aec: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a farcall BattleTowerRoomMenu_Cleanup pop af - ldh [rSVBK], a + ldh [rWBK], a hlcoord 2, 6 ld a, $8 .asm_171b01 @@ -675,10 +675,10 @@ Function171c87: ret Function171ccd: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, MobilePasswordPalettes ld de, wBGPals1 ld bc, 8 palettes @@ -690,7 +690,7 @@ Function171ccd: ld [hl], a call SetDefaultBGPAndOBP pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function171cf0: @@ -811,10 +811,10 @@ Function172e78: ret Function172eb9: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_172edf ld de, wBGPals1 ld bc, 8 palettes @@ -825,7 +825,7 @@ Function172eb9: call CopyBytes call SetDefaultBGPAndOBP pop af - ldh [rSVBK], a + ldh [rWBK], a ret Palette_172edf: diff --git a/mobile/mobile_5e.asm b/mobile/mobile_5e.asm index 3d2980b9d..3c59f2318 100644 --- a/mobile/mobile_5e.asm +++ b/mobile/mobile_5e.asm @@ -765,10 +765,10 @@ Function17aba0: ret Function17abcf: - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, Palette_17ac55 ld de, wBGPals1 @@ -792,7 +792,7 @@ Function17abcf: call FarCopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function17ac0c: diff --git a/mobile/mobile_5f.asm b/mobile/mobile_5f.asm index 51544e056..0e075667f 100644 --- a/mobile/mobile_5f.asm +++ b/mobile/mobile_5f.asm @@ -33,7 +33,7 @@ Function17c000: pop hl push bc - ld bc, BG_MAP_WIDTH * 2 + ld bc, TILEMAP_WIDTH * 2 add hl, bc pop bc @@ -41,11 +41,11 @@ Function17c000: dec a jr nz, .y - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, BANK(wBGPals1) - ldh [rSVBK], a + ldh [rWBK], a ld hl, HaveWantPals ld de, wBGPals1 @@ -53,7 +53,7 @@ Function17c000: call CopyBytes pop af - ldh [rSVBK], a + ldh [rWBK], a ld hl, MobileSelectGFX ld de, vTiles0 tile $30 @@ -523,14 +523,14 @@ Function17d2ce: ret c call SpeechTextbox call FadeToMenu - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a call Function17d370 call Function17d45a pop af - ldh [rSVBK], a + ldh [rWBK], a ld de, MUSIC_MOBILE_CENTER ld a, e ld [wMapMusic], a @@ -674,17 +674,17 @@ Function17d405: xor a ldh [rVBK], a call EnableLCD - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, PokemonNewsPalettes ld de, wBGPals1 ld bc, 8 palettes call CopyBytes call SetDefaultBGPAndOBP pop af - ldh [rSVBK], a + ldh [rWBK], a ret Function17d45a: @@ -938,13 +938,13 @@ Function17d5c4: Function17d5f6: ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc608 ld de, wBGPals1 ld bc, 8 palettes call CopyBytes ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a ret Function17d60b: @@ -1326,7 +1326,7 @@ Function17d85d: cp $c0 jr c, .asm_17d89b ld a, [wcd4f] - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17d8a1 .asm_17d89b @@ -1354,7 +1354,7 @@ Function17d85d: cp $c0 jr c, .asm_17d8c2 ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17d878 .asm_17d8c2 @@ -1365,13 +1365,13 @@ Function17d85d: call HlToCrashCheckPointer push bc ld a, $3 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc608 ld de, wBGPals1 ld b, $0 call CopyBytes ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a call Function17e32b pop bc ld a, c @@ -1432,10 +1432,10 @@ Function17d93a: call CopyBytes call HlToCrashCheckPointer call Function17e32b - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wc70c] call Function17e6de ld a, [wc70a] @@ -1456,7 +1456,7 @@ Function17d93a: ld d, h farcall HOF_AnimateFrontpic pop af - ldh [rSVBK], a + ldh [rWBK], a call Function17e349 ret @@ -1467,10 +1467,10 @@ Function17d98b: call CopyBytes call HlToCrashCheckPointer call Function17e32b - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wc70b] call Function17e6de ld a, [wc70a] @@ -1492,7 +1492,7 @@ Function17d98b: ld bc, $707 predef PlaceGraphic pop af - ldh [rSVBK], a + ldh [rWBK], a call Function17e349 ret @@ -1507,7 +1507,7 @@ Function17d9e3: cp $c0 jr c, .asm_17da01 ld a, [wc70c] - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17da07 .asm_17da01 @@ -1532,7 +1532,7 @@ Function17d9e3: cp $c0 jr c, .asm_17da2d ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17da30 .asm_17da2d @@ -1552,7 +1552,7 @@ Function17da31: cp $c0 jr c, .asm_17da4f ld a, [wc70a] - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17da55 .asm_17da4f @@ -1592,7 +1592,7 @@ Function17da31: cp $c0 jr c, .asm_17da88 ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17da8b .asm_17da88 @@ -1825,10 +1825,10 @@ Function17dc1f: ld bc, $6 call CopyBytes call Function17e32b - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc688 ld a, $40 ld [wc708], a @@ -1856,7 +1856,7 @@ Function17dc1f: .asm_17dc6e call CloseWindow pop af - ldh [rSVBK], a + ldh [rWBK], a ld a, [wMenuCursorY] cp $1 jr nz, .asm_17dc85 @@ -1897,7 +1897,7 @@ Function17dca9: Function17dcaf: ld a, $5 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wBGPals1 ld de, 1 palettes ld c, 8 @@ -1913,7 +1913,7 @@ Function17dcaf: jr nz, .asm_17dcbb call RotateThreePalettesRight ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a ret Function17dccf: @@ -2013,7 +2013,7 @@ Function17dd49: cp $c0 jr c, .sram ld a, [wc708] - ldh [rSVBK], a + ldh [rWBK], a jr .got_bank .sram @@ -2034,7 +2034,7 @@ Function17dd49: cp $c0 jr c, .close_sram ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a jr .exited_bank .close_sram @@ -2089,7 +2089,7 @@ Function17ddcd: cp $c0 jr c, .asm_17dde7 ld a, [wc708] - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17dded .asm_17dde7 @@ -2110,7 +2110,7 @@ Function17ddcd: cp $c0 jr c, .asm_17de0c ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17de0f .asm_17de0c @@ -2247,10 +2247,10 @@ Function17ded9: ld bc, $1f call CopyBytes call Function17e32b - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc708 ld a, [hli] ld [wCurPartySpecies], a @@ -2573,7 +2573,7 @@ asm_17e0ee: ld h, [hl] ld l, a pop af - ldh [rSVBK], a + ldh [rWBK], a push hl call Function17e349 pop hl @@ -2585,10 +2585,10 @@ Function17e0fd: ld de, wc708 ld bc, $6 call CopyBytes - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc708 ld a, [hli] ld [wCurItem], a @@ -2609,7 +2609,7 @@ Function17e0fd: ld h, a ld l, b pop af - ldh [rSVBK], a + ldh [rWBK], a call Function17e40f ret @@ -2618,10 +2618,10 @@ Function17e133: ld de, wc708 ld bc, $5 call CopyBytes - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc708 ld a, [hli] ld [wScriptVar], a @@ -2639,7 +2639,7 @@ Function17e133: ld h, a ld l, b pop af - ldh [rSVBK], a + ldh [rWBK], a call Function17e40f ret @@ -2648,10 +2648,10 @@ Function17e165: ld de, wc708 ld bc, $5 call CopyBytes - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wc708 ld a, [hli] ld [wCurItem], a @@ -2675,7 +2675,7 @@ Function17e165: ld h, a ld l, b pop af - ldh [rSVBK], a + ldh [rWBK], a call Function17e40f ret @@ -2688,7 +2688,7 @@ Function17e1a1: cp $c0 jr c, .asm_17e1bb ld a, [wc708] - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17e1c1 .asm_17e1bb @@ -2709,7 +2709,7 @@ Function17e1a1: cp $c0 jr c, .asm_17e1e2 ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17e1e5 .asm_17e1e2 @@ -2720,7 +2720,7 @@ Function17e1a1: cp $c0 jr c, .asm_17e1f3 ld a, [wc70c] - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17e1f9 .asm_17e1f3 @@ -2741,7 +2741,7 @@ Function17e1a1: cp $c0 jr c, .asm_17e21a ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17e21d .asm_17e21a @@ -2950,16 +2950,16 @@ Function17e349: MACRO inc_crash_check_pointer_farcall call IncCrashCheckPointer call HlToCrashCheckPointer ; redundant - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a rept _NARG farcall \1 shift endr pop af - ldh [rSVBK], a + ldh [rWBK], a ret ENDM @@ -3867,7 +3867,7 @@ Function17f1d0: add hl, de ld a, [hl] ld a, BANK(wNamedObjectIndex) - ldh [rSVBK], a + ldh [rWBK], a ld [wNamedObjectIndex], a call GetPokemonName pop hl @@ -3877,7 +3877,7 @@ Function17f1d0: ld a, b ld [wcd53], a ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wcd54] call Function17f50f pop de @@ -3986,7 +3986,7 @@ Function17f27b: add hl, de ld a, [hl] ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld [wNamedObjectIndex], a call GetItemName pop hl @@ -3996,7 +3996,7 @@ Function17f27b: ld a, b ld [wcd53], a ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a ld a, [wcd54] call Function17f50f pop de @@ -4043,13 +4043,13 @@ MobileScript_PlayerName: push hl push bc ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld hl, wPlayerName ld de, wc608 ld bc, NAME_LENGTH_JAPANESE call CopyBytes ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a pop hl ld de, wc608 call PlaceString @@ -4291,7 +4291,7 @@ Function17f44f: cp $c0 jr c, .asm_17f488 ld a, [wcd54] - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17f48e .asm_17f488 @@ -4312,7 +4312,7 @@ Function17f44f: cp $c0 jr c, .asm_17f4af ld a, $4 - ldh [rSVBK], a + ldh [rWBK], a jr .asm_17f4b7 .asm_17f4af @@ -4427,15 +4427,15 @@ BattleTowerMobileError: call FadeToMenu xor a ld [wc303], a - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a call DisplayMobileError pop af - ldh [rSVBK], a + ldh [rWBK], a call ExitAllMenus ret @@ -4527,11 +4527,11 @@ Function17f5e4: ld [wMusicFadeID + 1], a ld a, " " hlcoord 0, 0 - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill ld a, $6 hlcoord 0, 0, wAttrmap - ld bc, SCREEN_WIDTH * SCREEN_HEIGHT + ld bc, SCREEN_AREA call ByteFill hlcoord 2, 1 ld b, $1 diff --git a/mobile/print_opp_message.asm b/mobile/print_opp_message.asm index 77cbbbdfc..4b56dbef5 100644 --- a/mobile/print_opp_message.asm +++ b/mobile/print_opp_message.asm @@ -13,17 +13,17 @@ Mobile_PrintOpponentBattleMessage: ld a, BANK(w5_MobileOpponentBattleMessages) call FarCopyWRAM - ldh a, [rSVBK] + ldh a, [rWBK] push af ld a, $1 - ldh [rSVBK], a + ldh [rWBK], a ld bc, wMobileOpponentBattleMessage decoord 1, 14 farcall PrintEZChatBattleMessage pop af - ldh [rSVBK], a + ldh [rWBK], a ld c, 180 call DelayFrames diff --git a/ram/vram.asm b/ram/vram.asm index 7a7513eb1..27f19ddf5 100644 --- a/ram/vram.asm +++ b/ram/vram.asm @@ -3,8 +3,8 @@ SECTION "VRAM0", VRAM vTiles0:: ds $80 tiles vTiles1:: ds $80 tiles vTiles2:: ds $80 tiles -vBGMap0:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT -vBGMap1:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT +vBGMap0:: ds TILEMAP_AREA +vBGMap1:: ds TILEMAP_AREA SECTION "VRAM1", VRAM @@ -12,7 +12,7 @@ SECTION "VRAM1", VRAM vTiles3:: ds $80 tiles vTiles4:: ds $80 tiles vTiles5:: ds $80 tiles -vBGMap2:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT -vBGMap3:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT +vBGMap2:: ds TILEMAP_AREA +vBGMap3:: ds TILEMAP_AREA ENDSECTION diff --git a/ram/wram.asm b/ram/wram.asm index d76d94b51..41ee18a95 100644 --- a/ram/wram.asm +++ b/ram/wram.asm @@ -28,7 +28,7 @@ wCurNoteDuration:: db ; used in MusicE0 and LoadNote wCurMusicByte:: db wCurChannel:: db wVolume:: -; corresponds to rNR50 +; corresponds to rAUDVOL ; Channel control / ON-OFF / Volume (R/W) ; bit 7 - Vin->SO2 ON/OFF ; bit 6-4 - SO2 output level (volume) (# 0-7) @@ -36,12 +36,12 @@ wVolume:: ; bit 2-0 - SO1 output level (volume) (# 0-7) db wSoundOutput:: -; corresponds to rNR51 +; corresponds to rAUDTERM ; bit 4-7: ch1-4 so2 on/off ; bit 0-3: ch1-4 so1 on/off db wPitchSweep:: -; corresponds to rNR10 +; corresponds to rAUD1SWEEP ; bit 7: unused ; bit 4-6: sweep time ; bit 3: sweep direction @@ -302,7 +302,7 @@ SECTION "Sprites", WRAM0 wShadowOAM:: ; wShadowOAMSprite00 - wShadowOAMSprite39 -for n, NUM_SPRITE_OAM_STRUCTS +for n, OAM_COUNT wShadowOAMSprite{02d:n}:: sprite_oam_struct wShadowOAMSprite{02d:n} endr wShadowOAMEnd:: @@ -312,7 +312,7 @@ SECTION "Tilemap", WRAM0 wTilemap:: ; 20x18 grid of 8x8 tiles - ds SCREEN_WIDTH * SCREEN_HEIGHT + ds SCREEN_AREA wTilemapEnd:: @@ -907,7 +907,7 @@ wPrinterSendByteOffset:: dw wPrinterSendByteCounter:: dw ; tilemap backup? -wPrinterTilemapBuffer:: ds SCREEN_HEIGHT * SCREEN_WIDTH +wPrinterTilemapBuffer:: ds SCREEN_AREA wPrinterStatus:: db ds 1 ; High nibble is for margin before the image, low nibble is for after. @@ -1469,7 +1469,7 @@ wAttrmap:: ; bit 4: pal # (non-cgb) ; bit 3: vram bank (cgb only) ; bit 2-0: pal # (cgb only) - ds SCREEN_WIDTH * SCREEN_HEIGHT + ds SCREEN_AREA wAttrmapEnd:: UNION @@ -3393,7 +3393,7 @@ SECTION "Pic Animations", WRAMX wTempTilemap:: ; 20x18 grid of 8x8 tiles - ds SCREEN_WIDTH * SCREEN_HEIGHT + ds SCREEN_AREA ; PokeAnim data wPokeAnimStruct:: @@ -3456,7 +3456,7 @@ w3_d742:: battle_tower_struct w3_d742 NEXTU ds $be -w3_d800:: ds BG_MAP_WIDTH * SCREEN_HEIGHT +w3_d800:: ds TILEMAP_WIDTH * SCREEN_HEIGHT NEXTU ds $be @@ -3485,9 +3485,9 @@ ENDU ds $1c0 -w3_dc00:: ds SCREEN_WIDTH * SCREEN_HEIGHT +w3_dc00:: ds SCREEN_AREA UNION -w3_dd68:: ds SCREEN_WIDTH * SCREEN_HEIGHT +w3_dd68:: ds SCREEN_AREA ds $11c @@ -3628,8 +3628,8 @@ w5_MobileOpponentBattleLossMessage:: ds $c SECTION "Scratch RAM", WRAMX UNION -wScratchTilemap:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT -wScratchAttrmap:: ds BG_MAP_WIDTH * BG_MAP_HEIGHT +wScratchTilemap:: ds TILEMAP_AREA +wScratchAttrmap:: ds TILEMAP_AREA NEXTU wDecompressScratch:: ds $80 tiles