Sync home and macro code with pokeyellow

This commit is contained in:
Rangi 2020-11-05 10:50:30 -05:00
parent abaf9fee7c
commit d3e81422d5
16 changed files with 44 additions and 122 deletions

View file

@ -2,16 +2,6 @@ TILE_WIDTH EQU 8 ; pixels
LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes
LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes
const_def
const SHADE_WHITE ; %00
const SHADE_LIGHT ; %01
const SHADE_DARK ; %10
const SHADE_BLACK ; %11
NUM_PAL_COLORS EQU const_value
PAL_COLOR_SIZE EQU 2
PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
SCREEN_WIDTH EQU 20
SCREEN_HEIGHT EQU 18
SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels

View file

@ -1,9 +1,13 @@
; monochrome palette color ids
const_def
const WHITE
const LIGHT_GRAY
const DARK_GRAY
const BLACK
const SHADE_WHITE ; %00
const SHADE_LIGHT ; %01
const SHADE_DARK ; %10
const SHADE_BLACK ; %11
NUM_PAL_COLORS EQU const_value
PAL_COLOR_SIZE EQU 2
PALETTE_SIZE EQU NUM_PAL_COLORS * PAL_COLOR_SIZE
; pal/blk packets
; SetPalFunctions indexes (see engine/gfx/palettes.asm)

View file

@ -23,7 +23,7 @@ PlayIntro:
PlayIntroScene:
ld b, SET_PAL_NIDORINO_INTRO
call RunPaletteCommand
ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE
ldpal a, SHADE_BLACK, SHADE_DARK, SHADE_LIGHT, SHADE_WHITE
ldh [rBGP], a
ldh [rOBP0], a
ldh [rOBP1], a
@ -307,7 +307,7 @@ PlayShootingStar:
ld b, SET_PAL_GAME_FREAK_INTRO
call RunPaletteCommand
farcall LoadCopyrightAndTextBoxTiles
ldPal a, BLACK, DARK_GRAY, LIGHT_GRAY, WHITE
ldpal a, SHADE_BLACK, SHADE_DARK, SHADE_LIGHT, SHADE_WHITE
ldh [rBGP], a
ld c, 180
call DelayFrames

View file

@ -126,7 +126,7 @@ ClearVram::
StopAllSounds::
ld a, BANK(Audio1_UpdateMusic)
ld a, BANK("Audio Engine 1")
ld [wAudioROMBank], a
ld [wAudioSavedROMBank], a
xor a

View file

@ -22,15 +22,7 @@ AddAmountSoldToMoney::
; [wWhichPokemon] = index (within the inventory) of the item to remove
; [wItemQuantity] = quantity to remove
RemoveItemFromInventory::
ldh a, [hLoadedROMBank]
push af
ld a, BANK(RemoveItemFromInventory_)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call RemoveItemFromInventory_
pop af
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall RemoveItemFromInventory_
ret
; function to add an item (in varying quantities) to the player's bag or PC box
@ -41,15 +33,6 @@ RemoveItemFromInventory::
; sets carry flag if successful, unsets carry flag if unsuccessful
AddItemToInventory::
push bc
ldh a, [hLoadedROMBank]
push af
ld a, BANK(AddItemToInventory_)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call AddItemToInventory_
pop bc
ld a, b
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall_sf AddItemToInventory_
pop bc
ret

View file

@ -26,15 +26,7 @@ Divide::
push hl
push de
push bc
ldh a, [hLoadedROMBank]
push af
ld a, BANK(_Divide)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call _Divide
pop af
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall _Divide
pop bc
pop de
pop hl

View file

@ -231,27 +231,9 @@ CalcStat::
ret
AddEnemyMonToPlayerParty::
ldh a, [hLoadedROMBank]
push af
ld a, BANK(_AddEnemyMonToPlayerParty)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call _AddEnemyMonToPlayerParty
pop bc
ld a, b
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall_sf _AddEnemyMonToPlayerParty
ret
MoveMon::
ldh a, [hLoadedROMBank]
push af
ld a, BANK(_MoveMon)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call _MoveMon
pop bc
ld a, b
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall_sf _MoveMon
ret

View file

@ -2321,16 +2321,16 @@ LoadMapData::
; copy current map view to VRAM
hlcoord 0, 0
ld de, vBGMap0
ld b, 18
ld b, SCREEN_HEIGHT
.vramCopyLoop
ld c, 20
ld c, SCREEN_WIDTH
.vramCopyInnerLoop
ld a, [hli]
ld [de], a
inc e
dec c
jr nz, .vramCopyInnerLoop
ld a, 32 - 20
ld a, BG_MAP_WIDTH - SCREEN_WIDTH
add e
ld e, a
jr nc, .noCarry
@ -2366,15 +2366,15 @@ SwitchToMapRomBank::
ld c, a
ld b, $00
ld a, BANK(MapHeaderBanks)
call BankswitchHome ; switch to ROM bank 3
call BankswitchHome
ld hl, MapHeaderBanks
add hl, bc
ld a, [hl]
ldh [hMapROMBank], a ; save map ROM bank
ldh [hMapROMBank], a
call BankswitchBack
ldh a, [hMapROMBank]
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a ; switch to map ROM bank
ld [MBC1RomBank], a
pop bc
pop hl
ret
@ -2395,7 +2395,7 @@ ResetUsingStrengthOutOfBattleBit:
ForceBikeOrSurf::
ld b, BANK(RedSprite)
ld hl, LoadPlayerSpriteGraphics
ld hl, LoadPlayerSpriteGraphics ; in bank 0
call Bankswitch
jp PlayDefaultMusic ; update map/player state?

View file

@ -325,16 +325,7 @@ PrintStatusCondition::
ret
PrintStatusConditionNotFainted::
ldh a, [hLoadedROMBank]
push af
ld a, BANK(PrintStatusAilment)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call PrintStatusAilment ; print status condition
pop bc
ld a, b
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall_sf PrintStatusAilment
ret
; function to print pokemon level, leaving off the ":L" if the level is at least 100

View file

@ -4,7 +4,7 @@ _Start::
xor a
jr .ok
.gbc
ld a, 0
ld a, FALSE
.ok
ld [wGBC], a
jp Init

View file

@ -146,15 +146,7 @@ DisplayPokemartDialogue::
call LoadItemList
ld a, PRICEDITEMLISTMENU
ld [wListMenuID], a
ldh a, [hLoadedROMBank]
push af
ld a, BANK(DisplayPokemartDialogue_)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call DisplayPokemartDialogue_
pop af
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall DisplayPokemartDialogue_
jp AfterDisplayingTextID
PokemartGreetingText::
@ -185,15 +177,7 @@ DisplayPokemonCenterDialogue::
ldh [hItemPrice + 2], a
inc hl
ldh a, [hLoadedROMBank]
push af
ld a, BANK(DisplayPokemonCenterDialogue_)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call DisplayPokemonCenterDialogue_
pop af
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall DisplayPokemonCenterDialogue_
jp AfterDisplayingTextID
DisplaySafariGameOverText::

View file

@ -3,14 +3,5 @@
; [wTextBoxID] = text box ID
; b, c = y, x cursor position (TWO_OPTION_MENU only)
DisplayTextBoxID::
ldh a, [hLoadedROMBank]
push af
ld a, BANK(DisplayTextBoxID_)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call DisplayTextBoxID_
pop bc
ld a, b
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall_sf DisplayTextBoxID_
ret

View file

@ -2,13 +2,5 @@ UpdateSprites::
ld a, [wUpdateSpritesEnabled]
dec a
ret nz
ldh a, [hLoadedROMBank]
push af
ld a, BANK(_UpdateSprites)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call _UpdateSprites
pop af
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
homecall _UpdateSprites
ret

View file

@ -4,7 +4,7 @@ lb: MACRO ; r, hi, lo
ld \1, ((\2) & $ff) << 8 + ((\3) & $ff)
ENDM
ldPal: MACRO
ldpal: MACRO
ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5
ENDM

View file

@ -33,3 +33,16 @@ homecall: MACRO
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
ENDM
homecall_sf: MACRO ; homecall but save flags by popping into bc instead of af
ldh a, [hLoadedROMBank]
push af
ld a, BANK(\1)
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
call \1
pop bc
ld a, b
ldh [hLoadedROMBank], a
ld [MBC1RomBank], a
ENDM