Use labels instead of constants for HRAM

Use explicit ldh instruction to access HRAM locations, don't rely on optimizing ld
This commit is contained in:
Rangi
2018-08-25 14:28:22 -04:00
parent 376c64468b
commit eb1e3636bb
243 changed files with 4706 additions and 4661 deletions

View File

@@ -363,7 +363,7 @@ PopulateDecoCategoryMenu:
ld hl, .ScrollingMenuHeader
call CopyMenuHeader
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call InitScrollingMenu
xor a
ld [wMenuScrollPosition], a

View File

@@ -115,13 +115,13 @@ EnterMap:
farcall RunMapSetupScript
call DisableEvents
ld a, [hMapEntryMethod]
ldh a, [hMapEntryMethod]
cp MAPSETUP_CONNECTION
jr nz, .dont_enable
call EnableEvents
.dont_enable
ld a, [hMapEntryMethod]
ldh a, [hMapEntryMethod]
cp MAPSETUP_RELOADMAP
jr nz, .dontresetpoison
xor a
@@ -129,7 +129,7 @@ EnterMap:
.dontresetpoison
xor a ; end map entry
ld [hMapEntryMethod], a
ldh [hMapEntryMethod], a
ld a, 2 ; HandleMap
ld [wMapStatus], a
ret
@@ -512,7 +512,7 @@ OWPlayerInput:
ret
CheckAPressOW:
ld a, [hJoyPressed]
ldh a, [hJoyPressed]
and A_BUTTON
ret z
call TryObjectEvent
@@ -539,14 +539,14 @@ TryObjectEvent:
.IsObject:
call PlayTalkObject
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
call GetObjectStruct
ld hl, OBJECT_MAP_OBJECT_INDEX
add hl, bc
ld a, [hl]
ld [hLastTalked], a
ldh [hLastTalked], a
ld a, [hLastTalked]
ldh a, [hLastTalked]
call GetMapObject
ld hl, MAPOBJECT_COLOR
add hl, bc
@@ -809,9 +809,9 @@ PlayerMovement:
CheckMenuOW:
xor a
ld [hMenuReturn], a
ld [hMenuReturn + 1], a
ld a, [hJoyPressed]
ldh [hMenuReturn], a
ldh [hMenuReturn + 1], a
ldh a, [hJoyPressed]
bit SELECT_F, a
jr nz, .Select
@@ -1239,7 +1239,7 @@ ChooseWildEncounter_BugContest::
ld c, a
inc c
call Random
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
call SimpleDivide
add d
@@ -1260,7 +1260,7 @@ TryWildEncounter_BugContest:
farcall ApplyMusicEffectOnEncounterRate
farcall ApplyCleanseTagEffectOnEncounterRate
call Random
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
cp b
ret c
ld a, 1
@@ -1351,7 +1351,7 @@ HandleCmdQueue::
ld hl, wCmdQueue
xor a
.loop
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
ld a, [hl]
and a
jr z, .skip
@@ -1364,7 +1364,7 @@ HandleCmdQueue::
.skip
ld de, CMDQUEUE_ENTRY_SIZE
add hl, de
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
inc a
cp CMDQUEUE_CAPACITY
jr nz, .loop
@@ -1505,7 +1505,7 @@ CmdQueue_Type4:
dw .one
.zero
ld a, [hSCY]
ldh a, [hSCY]
ld hl, 4
add hl, bc
ld [hl], a
@@ -1521,24 +1521,24 @@ CmdQueue_Type4:
jr z, .add
ld hl, 2
add hl, bc
ld a, [hSCY]
ldh a, [hSCY]
sub [hl]
ld [hSCY], a
ldh [hSCY], a
ret
.add
ld hl, 2
add hl, bc
ld a, [hSCY]
ldh a, [hSCY]
add [hl]
ld [hSCY], a
ldh [hSCY], a
ret
.finish
ld hl, 4
add hl, bc
ld a, [hl]
ld [hSCY], a
ldh [hSCY], a
call _DelCmdQueue
ret

View File

@@ -1,31 +1,31 @@
ReanchorBGMap_NoOAMUpdate::
call DelayFrame
ld a, [hOAMUpdate]
ldh a, [hOAMUpdate]
push af
ld a, $1
ld [hOAMUpdate], a
ld a, [hBGMapMode]
ldh [hOAMUpdate], a
ldh a, [hBGMapMode]
push af
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call .ReanchorBGMap
pop af
ld [hBGMapMode], a
ldh [hBGMapMode], a
pop af
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
ld hl, wVramState
set 6, [hl]
ret
.ReanchorBGMap:
xor a
ld [hLCDCPointer], a
ld [hBGMapMode], a
ldh [hLCDCPointer], a
ldh [hBGMapMode], a
ld a, $90
ld [hWY], a
ldh [hWY], a
call OverworldTextModeSwitch
ld a, HIGH(vBGMap1)
call .LoadBGMapAddrIntoHRAM
@@ -33,10 +33,10 @@ ReanchorBGMap_NoOAMUpdate::
farcall LoadOW_BGPal7
farcall ApplyPals
ld a, $1
ld [hCGBPalUpdate], a
ldh [hCGBPalUpdate], a
xor a
ld [hBGMapMode], a
ld [hWY], a
ldh [hBGMapMode], a
ldh [hWY], a
farcall HDMATransfer_FillBGMap0WithBlack ; no need to farcall
ld a, HIGH(vBGMap0)
call .LoadBGMapAddrIntoHRAM
@@ -45,59 +45,59 @@ ReanchorBGMap_NoOAMUpdate::
ld a, HIGH(vBGMap0)
ld [wBGMapAnchor + 1], a
xor a
ld [hSCX], a
ld [hSCY], a
ldh [hSCX], a
ldh [hSCY], a
call ApplyBGMapAnchorToObjects
ret
.LoadBGMapAddrIntoHRAM:
ld [hBGMapAddress + 1], a
ldh [hBGMapAddress + 1], a
xor a
ld [hBGMapAddress], a
ldh [hBGMapAddress], a
ret
LoadFonts_NoOAMUpdate::
ld a, [hOAMUpdate]
ldh a, [hOAMUpdate]
push af
ld a, $1
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
call .LoadGFX
pop af
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
ret
.LoadGFX:
call LoadFontsExtra
ld a, $90
ld [hWY], a
ldh [hWY], a
call SafeUpdateSprites
call LoadStandardFont
ret
HDMATransfer_FillBGMap0WithBlack:
ld a, [rSVBK]
ldh a, [rSVBK]
push af
ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ldh [rSVBK], a
ld a, "■"
ld hl, wDecompressScratch
ld bc, wScratchAttrMap - wDecompressScratch
call ByteFill
ld a, HIGH(wDecompressScratch)
ld [rHDMA1], a
ldh [rHDMA1], a
ld a, LOW(wDecompressScratch)
ld [rHDMA2], a
ldh [rHDMA2], a
ld a, HIGH(vBGMap0 % $8000)
ld [rHDMA3], a
ldh [rHDMA3], a
ld a, LOW(vBGMap0 % $8000)
ld [rHDMA4], a
ldh [rHDMA4], a
ld a, $3f
ld [hDMATransfer], a
ldh [hDMATransfer], a
call DelayFrame
pop af
ld [rSVBK], a
ldh [rSVBK], a
ret

View File

@@ -555,26 +555,26 @@ MapObjectMovementPattern:
.RandomWalkY:
call Random
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
and %00000001
jp .RandomWalkContinue
.RandomWalkX:
call Random
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
and %00000001
or %00000010
jp .RandomWalkContinue
.RandomWalkXY:
call Random
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
and %00000011
jp .RandomWalkContinue
.RandomSpin1:
call Random
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
and %00001100
ld hl, OBJECT_FACING
add hl, bc
@@ -588,7 +588,7 @@ MapObjectMovementPattern:
and %00001100
ld d, a
call Random
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
and %00001100
cp d
jr nz, .keep
@@ -1026,7 +1026,7 @@ MapObjectMovementPattern:
add hl, bc
ld [hl], OBJECT_ACTION_STEP
ld hl, wCenteredObject
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .load_6
ld hl, OBJECT_STEP_TYPE
@@ -1045,13 +1045,13 @@ MapObjectMovementPattern:
call Function462a
RandomStepDuration_Slow:
call Random
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
and %01111111
jr SetRandomStepDuration
RandomStepDuration_Fast:
call Random
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
and %00011111
SetRandomStepDuration:
ld hl, OBJECT_STEP_DURATION
@@ -1923,7 +1923,7 @@ ApplyMovementToFollower:
ret z
ld a, [wObjectFollow_Leader]
ld d, a
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
cp d
ret nz
ld a, e
@@ -2059,7 +2059,7 @@ ShakeScreen:
DespawnEmote:
push bc
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
ld c, a
call .DeleteEmote
pop bc
@@ -2119,7 +2119,7 @@ CopyTempObjectData:
ld [hli], a
ld a, [de]
ld [hli], a
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
ld [hli], a
push hl
ld hl, OBJECT_NEXT_MAP_X
@@ -2143,7 +2143,7 @@ Function55e0::
ld bc, wObjectStructs
xor a
.loop
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
call DoesObjectHaveASprite
jr z, .ok
call Function565c
@@ -2152,7 +2152,7 @@ Function55e0::
add hl, bc
ld b, h
ld c, l
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -2166,7 +2166,7 @@ Function5602:
ld a, [wBattleScriptFlags]
bit 7, a
jr z, .ok
ld a, [hLastTalked]
ldh a, [hLastTalked]
and a
jr z, .ok
call Function5629 ; respawn opponent
@@ -2202,13 +2202,13 @@ Function5645:
xor a
ld bc, wObjectStructs
.loop
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
call SetFacing_Standing
ld hl, OBJECT_STRUCT_LENGTH
add hl, bc
ld b, h
ld c, l
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -2317,7 +2317,7 @@ Function56cd:
jr c, .ok3
sub BG_MAP_WIDTH
.ok3
ld [hUsedSpriteIndex], a
ldh [hUsedSpriteIndex], a
ld a, [wPlayerBGMapOffsetY]
ld e, a
ld hl, OBJECT_SPRITE_Y_OFFSET
@@ -2346,7 +2346,7 @@ Function56cd:
jr c, .ok6
sub BG_MAP_HEIGHT
.ok6
ld [hUsedSpriteTile], a
ldh [hUsedSpriteTile], a
ld hl, OBJECT_PALETTE
add hl, bc
bit BIG_OBJECT_F, [hl]
@@ -2359,18 +2359,18 @@ Function56cd:
ld e, a
.ok7
ld a, d
ld [hFFBF], a
ldh [hFFBF], a
.loop
ld a, [hFFBF]
ldh a, [hFFBF]
ld d, a
ld a, [hUsedSpriteTile]
ldh a, [hUsedSpriteTile]
add e
dec a
cp SCREEN_HEIGHT
jr nc, .ok9
ld b, a
.next
ld a, [hUsedSpriteIndex]
ldh a, [hUsedSpriteIndex]
add d
dec a
cp SCREEN_WIDTH
@@ -2415,7 +2415,7 @@ HandleNPCStep::
ld bc, wObjectStructs
xor a
.loop
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
call DoesObjectHaveASprite
jr z, .next
call Function437b
@@ -2424,7 +2424,7 @@ HandleNPCStep::
add hl, bc
ld b, h
ld c, l
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -2508,7 +2508,7 @@ StartFollow::
SetLeaderIfVisible:
call CheckObjectVisibility
ret c
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
ld [wObjectFollow_Leader], a
ret
@@ -2534,7 +2534,7 @@ SetFollowerIfVisible:
ld hl, OBJECT_STEP_TYPE
add hl, bc
ld [hl], STEP_TYPE_00
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
ld [wObjectFollow_Follower], a
ret
@@ -2691,15 +2691,15 @@ _UpdateSprites::
bit 0, a
ret z
xor a
ld [hUsedSpriteIndex], a
ld a, [hOAMUpdate]
ldh [hUsedSpriteIndex], a
ldh a, [hOAMUpdate]
push af
ld a, 1
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
call InitSprites
call .fill
pop af
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
ret
.fill
@@ -2709,7 +2709,7 @@ _UpdateSprites::
jr z, .ok
ld b, 28 * SPRITEOAMSTRUCT_LENGTH
.ok
ld a, [hUsedSpriteIndex]
ldh a, [hUsedSpriteIndex]
cp b
ret nc
ld l, a
@@ -2855,7 +2855,7 @@ InitSprites:
add hl, bc
ld a, [hl]
and $ff ^ (1 << 7)
ld [hFFC1], a
ldh [hFFC1], a
xor a
bit 7, [hl]
jr nz, .skip1
@@ -2884,7 +2884,7 @@ InitSprites:
jr z, .skip4
or PRIORITY
.skip4
ld [hFFC2], a
ldh [hFFC2], a
ld hl, OBJECT_SPRITE_X
add hl, bc
ld a, [hl]
@@ -2895,7 +2895,7 @@ InitSprites:
ld e, a
ld a, [wPlayerBGMapOffsetX]
add e
ld [hFFBF], a
ldh [hFFBF], a
ld hl, OBJECT_SPRITE_Y
add hl, bc
ld a, [hl]
@@ -2906,7 +2906,7 @@ InitSprites:
ld e, a
ld a, [wPlayerBGMapOffsetY]
add e
ld [hFFC0], a
ldh [hFFC0], a
ld hl, OBJECT_FACING_STEP
add hl, bc
ld a, [hl]
@@ -2922,28 +2922,28 @@ InitSprites:
ld a, [hli]
ld h, [hl]
ld l, a
ld a, [hUsedSpriteIndex]
ldh a, [hUsedSpriteIndex]
ld c, a
ld b, HIGH(wVirtualOAM)
ld a, [hli]
ld [hUsedSpriteTile], a
ldh [hUsedSpriteTile], a
add c
cp LOW(wVirtualOAMEnd)
jr nc, .full
.addsprite
ld a, [hFFC0]
ldh a, [hFFC0]
add [hl]
inc hl
ld [bc], a ; y
inc c
ld a, [hFFBF]
ldh a, [hFFBF]
add [hl]
inc hl
ld [bc], a ; x
inc c
ld e, [hl]
inc hl
ld a, [hFFC1]
ldh a, [hFFC1]
bit ABSOLUTE_TILE_ID_F, e
jr z, .nope1
xor a
@@ -2955,19 +2955,19 @@ InitSprites:
ld a, e
bit RELATIVE_ATTRIBUTES_F, a
jr z, .nope2
ld a, [hFFC2]
ldh a, [hFFC2]
or e
.nope2
and OBP_NUM | X_FLIP | Y_FLIP | PRIORITY
or d
ld [bc], a ; attributes
inc c
ld a, [hUsedSpriteTile]
ldh a, [hUsedSpriteTile]
dec a
ld [hUsedSpriteTile], a
ldh [hUsedSpriteTile], a
jr nz, .addsprite
ld a, c
ld [hUsedSpriteIndex], a
ldh [hUsedSpriteIndex], a
.done
xor a
ret

View File

@@ -1,5 +1,5 @@
RunMapSetupScript::
ld a, [hMapEntryMethod]
ldh a, [hMapEntryMethod]
and $f
dec a
ld c, a
@@ -114,12 +114,12 @@ DontScrollText:
ActivateMapAnims:
ld a, $1
ld [hMapAnims], a
ldh [hMapAnims], a
ret
SuspendMapAnims:
xor a
ld [hMapAnims], a
ldh [hMapAnims], a
ret
LoadObjectsRunCallback_02:

View File

@@ -237,7 +237,7 @@ Movement_48:
Movement_remove_object:
call DeleteMapObject
ld hl, wObjectFollow_Leader
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
cp [hl]
jr nz, .not_leading
ld [hl], -1
@@ -680,7 +680,7 @@ NormalStep:
.skip_grass
ld hl, wCenteredObject
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .player
@@ -704,7 +704,7 @@ TurningStep:
ld [hl], OBJECT_ACTION_SPIN
ld hl, wCenteredObject
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .player
@@ -728,7 +728,7 @@ SlideStep:
ld [hl], OBJECT_ACTION_STAND
ld hl, wCenteredObject
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .player
@@ -760,7 +760,7 @@ JumpStep:
call SpawnShadow
ld hl, wCenteredObject
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
cp [hl]
jr z, .player

View File

@@ -238,7 +238,7 @@ CheckFacingObject::
.asm_6ff1
ld bc, wObjectStructs ; redundant
ld a, 0
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
call IsNPCAtCoord
ret nc
ld hl, OBJECT_DIRECTION_WALKING
@@ -263,7 +263,7 @@ WillObjectBumpIntoSomeoneElse:
jr IsNPCAtCoord
Unreferenced_Function7015:
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
call GetObjectStruct
call .CheckWillBeFacingNPC
call IsNPCAtCoord
@@ -302,7 +302,7 @@ IsNPCAtCoord:
ld bc, wObjectStructs
xor a
.loop
ld [hObjectStructIndexBuffer], a
ldh [hObjectStructIndexBuffer], a
call DoesObjectHaveASprite
jr z, .next
@@ -333,9 +333,9 @@ IsNPCAtCoord:
jr nz, .ok
.ok2
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
ld l, a
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
cp l
jr nz, .setcarry
@@ -350,9 +350,9 @@ IsNPCAtCoord:
ld a, [hl]
cp e
jr nz, .next
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
ld l, a
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
cp l
jr nz, .setcarry
@@ -361,7 +361,7 @@ IsNPCAtCoord:
add hl, bc
ld b, h
ld c, l
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -469,7 +469,7 @@ Unreferenced_Function7113:
ld bc, wObjectStructs
xor a
.loop
ld [hObjectStructIndexBuffer], a
ldh [hObjectStructIndexBuffer], a
call DoesObjectHaveASprite
jr z, .next
ld hl, OBJECT_MOVEMENTTYPE
@@ -492,7 +492,7 @@ Unreferenced_Function7113:
ld a, [hl]
cp d
jr nz, .check_current_coords
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
cp $0
jr z, .next
jr .yes
@@ -515,7 +515,7 @@ Unreferenced_Function7113:
add hl, bc
ld b, h
ld c, l
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop

View File

@@ -1,17 +1,17 @@
GetEmote2bpp:
ld a, $1
ld [rVBK], a
ldh [rVBK], a
call Get2bpp
xor a
ld [rVBK], a
ldh [rVBK], a
ret
_ReplaceKrisSprite::
call GetPlayerSprite
ld a, [wUsedSprites]
ld [hUsedSpriteIndex], a
ldh [hUsedSpriteIndex], a
ld a, [wUsedSprites + 1]
ld [hUsedSpriteTile], a
ldh [hUsedSpriteTile], a
call GetUsedSprite
ret
@@ -533,10 +533,10 @@ GetUsedSprites:
ld a, [hli]
and a
jr z, .done
ld [hUsedSpriteIndex], a
ldh [hUsedSpriteIndex], a
ld a, [hli]
ld [hUsedSpriteTile], a
ldh [hUsedSpriteTile], a
bit 7, a
jr z, .dont_set
@@ -558,9 +558,9 @@ GetUsedSprites:
ret
GetUsedSprite:
ld a, [hUsedSpriteIndex]
ldh a, [hUsedSpriteIndex]
call SafeGetSprite
ld a, [hUsedSpriteTile]
ldh a, [hUsedSpriteTile]
call .GetTileAddr
push hl
push de
@@ -589,7 +589,7 @@ endr
bit 6, a
jr nz, .done
ld a, [hUsedSpriteIndex]
ldh a, [hUsedSpriteIndex]
call _DoesSpriteHaveFacings
jr c, .done
@@ -618,7 +618,7 @@ endr
ret
.CopyToVram:
ld a, [rVBK]
ldh a, [rVBK]
push af
ld a, [wSpriteFlags]
bit 5, a
@@ -627,10 +627,10 @@ endr
ld a, $0
.bankswitch
ld [rVBK], a
ldh [rVBK], a
call Get2bpp
pop af
ld [rVBK], a
ldh [rVBK], a
ret
LoadEmote::

View File

@@ -13,7 +13,7 @@ DoPlayerMovement::
.GetDPad:
ld a, [hJoyDown]
ldh a, [hJoyDown]
ld [wCurInput], a
; Standing downhill instead moves down.
@@ -617,7 +617,7 @@ ENDM
; Returns 1 if there is no NPC in front
; Returns 2 if there is a movable NPC in front
ld a, 0
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
; Load the next X coordinate into d
ld a, [wPlayerStandingMapX]
ld d, a

View File

@@ -1,7 +1,7 @@
BlankScreen:
call DisableSpriteUpdates
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call ClearBGPalettes
call ClearSprites
hlcoord 0, 0
@@ -41,10 +41,10 @@ SpawnPlayer:
.ok
ld [hl], e
ld a, PLAYER_OBJECT
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
ld bc, wMapObjects
ld a, PLAYER_OBJECT
ld [hObjectStructIndexBuffer], a
ldh [hObjectStructIndexBuffer], a
ld de, wObjectStructs
call CopyMapObjectToObjectStruct
ld a, PLAYER
@@ -93,7 +93,7 @@ WriteObjectXY::
ld hl, OBJECT_NEXT_MAP_Y
add hl, bc
ld e, [hl]
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
ld b, a
call CopyDECoordsToMapObject
and a
@@ -136,12 +136,12 @@ CopyObjectStruct::
ld a, 1
ld de, OBJECT_STRUCT_LENGTH
.loop
ld [hObjectStructIndexBuffer], a
ldh [hObjectStructIndexBuffer], a
ld a, [hl]
and a
jr z, .done
add hl, de
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
inc a
cp NUM_OBJECT_STRUCTS
jr nz, .loop
@@ -167,12 +167,12 @@ CopyMapObjectToObjectStruct:
ret
.CopyMapObjectToTempObject:
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
add hl, bc
ld [hl], a
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
ld [wTempObjectCopyMapObjectIndex], a
ld hl, MAPOBJECT_SPRITE
@@ -227,7 +227,7 @@ InitializeVisibleSprites:
ld bc, wMapObjects + OBJECT_LENGTH
ld a, 1
.loop
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
ld hl, MAPOBJECT_SPRITE
add hl, bc
ld a, [hl]
@@ -275,7 +275,7 @@ InitializeVisibleSprites:
add hl, bc
ld b, h
ld c, l
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECTS
jr nz, .loop
@@ -314,7 +314,7 @@ CheckObjectEnteringVisibleRange::
ld bc, wMapObjects + OBJECT_LENGTH
ld a, 1
.loop_v
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
ld hl, MAPOBJECT_SPRITE
add hl, bc
ld a, [hl]
@@ -349,7 +349,7 @@ CheckObjectEnteringVisibleRange::
add hl, bc
ld b, h
ld c, l
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECTS
jr nz, .loop_v
@@ -370,7 +370,7 @@ CheckObjectEnteringVisibleRange::
ld bc, wMapObjects + OBJECT_LENGTH
ld a, 1
.loop_h
ld [hMapObjectIndexBuffer], a
ldh [hMapObjectIndexBuffer], a
ld hl, MAPOBJECT_SPRITE
add hl, bc
ld a, [hl]
@@ -405,7 +405,7 @@ CheckObjectEnteringVisibleRange::
add hl, bc
ld b, h
ld c, l
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
inc a
cp NUM_OBJECTS
jr nz, .loop_h
@@ -514,14 +514,14 @@ CopyTempObjectToObjectStruct:
ret
TrainerWalkToPlayer:
ld a, [hLastTalked]
ldh a, [hLastTalked]
call InitMovementBuffer
ld a, movement_step_sleep
call AppendToMovementBuffer
ld a, [wd03f]
dec a
jr z, .TerminateStep
ld a, [hLastTalked]
ldh a, [hLastTalked]
ld b, a
ld c, PLAYER
ld d, 1
@@ -678,7 +678,7 @@ FollowNotExact::
ld hl, OBJECT_SPRITE_Y
add hl, de
ld [hl], a
ld a, [hObjectStructIndexBuffer]
ldh a, [hObjectStructIndexBuffer]
ld hl, OBJECT_RANGE
add hl, de
ld [hl], a

View File

@@ -39,12 +39,12 @@ ScrollScreen::
ld d, a
ld a, [wPlayerStepVectorY]
ld e, a
ld a, [hSCX]
ldh a, [hSCX]
add d
ld [hSCX], a
ld a, [hSCY]
ldh [hSCX], a
ldh a, [hSCY]
add e
ld [hSCY], a
ldh [hSCY], a
ret
HandlePlayerStep:

View File

@@ -407,14 +407,14 @@ Script_waitbutton:
Script_buttonsound:
; script command 0x55
ld a, [hOAMUpdate]
ldh a, [hOAMUpdate]
push af
ld a, $1
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
call WaitBGMap
call ButtonSound
pop af
ld [hOAMUpdate], a
ldh [hOAMUpdate], a
ret
Script_yesorno:
@@ -933,7 +933,7 @@ Script_setlasttalked:
call GetScriptByte
call GetScriptObject
ld [hLastTalked], a
ldh [hLastTalked], a
ret
Script_applymovement:
@@ -977,25 +977,25 @@ Script_applymovement2:
; parameters: data
; apply movement to last talked
ld a, [hLastTalked]
ldh a, [hLastTalked]
ld c, a
jp ApplyMovement
Script_faceplayer:
; script command 0x6b
ld a, [hLastTalked]
ldh a, [hLastTalked]
and a
ret z
ld d, $0
ld a, [hLastTalked]
ldh a, [hLastTalked]
ld e, a
farcall GetRelativeFacing
ld a, d
add a
add a
ld e, a
ld a, [hLastTalked]
ldh a, [hLastTalked]
ld d, a
call ApplyObjectFacing
ret
@@ -1008,14 +1008,14 @@ Script_faceobject:
call GetScriptObject
cp LAST_TALKED
jr c, .ok
ld a, [hLastTalked]
ldh a, [hLastTalked]
.ok
ld e, a
call GetScriptByte
call GetScriptObject
cp LAST_TALKED
jr nz, .ok2
ld a, [hLastTalked]
ldh a, [hLastTalked]
.ok2
ld d, a
push de
@@ -1038,7 +1038,7 @@ Script_turnobject:
call GetScriptObject
cp LAST_TALKED
jr nz, .ok
ld a, [hLastTalked]
ldh a, [hLastTalked]
.ok
ld d, a
call GetScriptByte
@@ -1113,7 +1113,7 @@ Script_appear:
call GetScriptByte
call GetScriptObject
call _CopyObjectStruct
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
ld b, 0 ; clear
call ApplyEventActionAppearDisappear
ret
@@ -1126,10 +1126,10 @@ Script_disappear:
call GetScriptObject
cp LAST_TALKED
jr nz, .ok
ld a, [hLastTalked]
ldh a, [hLastTalked]
.ok
call DeleteObjectStruct
ld a, [hMapObjectIndexBuffer]
ldh a, [hMapObjectIndexBuffer]
ld b, 1 ; set
call ApplyEventActionAppearDisappear
farcall _UpdateSprites
@@ -1198,7 +1198,7 @@ Script_writeobjectxy:
call GetScriptObject
cp LAST_TALKED
jr nz, .ok
ld a, [hLastTalked]
ldh a, [hLastTalked]
.ok
ld b, a
farcall WriteObjectXY
@@ -1240,7 +1240,7 @@ Script_showemote:
call GetScriptObject
cp LAST_TALKED
jr z, .ok
ld [hLastTalked], a
ldh [hLastTalked], a
.ok
call GetScriptByte
ld [wScriptDelay], a
@@ -1398,7 +1398,7 @@ Script_reloadmap:
xor a
ld [wBattleScriptFlags], a
ld a, MAPSETUP_RELOADMAP
ld [hMapEntryMethod], a
ldh [hMapEntryMethod], a
ld a, $1
call LoadMapStatus
call StopScript
@@ -1777,7 +1777,7 @@ Script_random:
push bc
call Random
pop bc
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
cp b
jr nc, .loop
jr .finish
@@ -1786,7 +1786,7 @@ Script_random:
push bc
call Random
pop bc
ld a, [hRandomAdd]
ldh a, [hRandomAdd]
.finish
push af
@@ -2187,9 +2187,9 @@ Script_checkcoins:
LoadCoinAmountToMem:
call GetScriptByte
ld [hMoneyTemp + 1], a
ldh [hMoneyTemp + 1], a
call GetScriptByte
ld [hMoneyTemp], a
ldh [hMoneyTemp], a
ld bc, hMoneyTemp
ret
@@ -2476,7 +2476,7 @@ Script_warp:
ld a, -1
ld [wDefaultSpawnpoint], a
ld a, MAPSETUP_WARP
ld [hMapEntryMethod], a
ldh [hMapEntryMethod], a
ld a, 1
call LoadMapStatus
call StopScript
@@ -2489,7 +2489,7 @@ Script_warp:
ld a, -1
ld [wDefaultSpawnpoint], a
ld a, MAPSETUP_BADWARP
ld [hMapEntryMethod], a
ldh [hMapEntryMethod], a
ld a, 1
call LoadMapStatus
call StopScript
@@ -2585,7 +2585,7 @@ Script_reloadmappart::
; script command 0x7c
xor a
ld [hBGMapMode], a
ldh [hBGMapMode], a
call OverworldTextModeSwitch
call GetMovementPermissions
farcall ReloadMapPart
@@ -2610,7 +2610,7 @@ Script_newloadmap:
; parameters: which_method
call GetScriptByte
ld [hMapEntryMethod], a
ldh [hMapEntryMethod], a
ld a, 1
call LoadMapStatus
call StopScript

View File

@@ -159,7 +159,7 @@ UseRegisteredItem:
jr nz, ._cantuse
scf
ld a, HMENURETURN_SCRIPT
ld [hMenuReturn], a
ldh [hMenuReturn], a
ret
.CantUse:

View File

@@ -350,7 +350,7 @@ CalcSecsMinsHoursDaysSince:
inc hl
inc hl
inc hl
ld a, [hSeconds]
ldh a, [hSeconds]
ld c, a
sub [hl]
jr nc, .skip
@@ -361,7 +361,7 @@ CalcSecsMinsHoursDaysSince:
ld [wSecondsSince], a ; seconds since
_CalcMinsHoursDaysSince:
ld a, [hMinutes]
ldh a, [hMinutes]
ld c, a
sbc [hl]
jr nc, .skip
@@ -372,7 +372,7 @@ _CalcMinsHoursDaysSince:
ld [wMinutesSince], a ; minutes since
_CalcHoursDaysSince:
ld a, [hHours]
ldh a, [hHours]
ld c, a
sbc [hl]
jr nc, .skip
@@ -396,11 +396,11 @@ _CalcDaysSince:
CopyDayHourMinSecToHL:
ld a, [wCurDay]
ld [hli], a
ld a, [hHours]
ldh a, [hHours]
ld [hli], a
ld a, [hMinutes]
ldh a, [hMinutes]
ld [hli], a
ld a, [hSeconds]
ldh a, [hSeconds]
ld [hli], a
ret
@@ -412,15 +412,15 @@ CopyDayToHL:
CopyDayHourToHL:
ld a, [wCurDay]
ld [hli], a
ld a, [hHours]
ldh a, [hHours]
ld [hli], a
ret
CopyDayHourMinToHL:
ld a, [wCurDay]
ld [hli], a
ld a, [hHours]
ldh a, [hHours]
ld [hli], a
ld a, [hMinutes]
ldh a, [hMinutes]
ld [hli], a
ret

View File

@@ -242,14 +242,14 @@ LoadMapTimeOfDay:
ld [wBGMapAnchor + 1], a
xor a ; LOW(vBGMap0)
ld [wBGMapAnchor], a
ld [hSCY], a
ld [hSCX], a
ldh [hSCY], a
ldh [hSCX], a
farcall ApplyBGMapAnchorToObjects
ld a, [rVBK]
ldh a, [rVBK]
push af
ld a, $1
ld [rVBK], a
ldh [rVBK], a
xor a
ld bc, vBGMap1 - vBGMap0
@@ -257,7 +257,7 @@ LoadMapTimeOfDay:
call ByteFill
pop af
ld [rVBK], a
ldh [rVBK], a
ld a, "■"
ld bc, vBGMap1 - vBGMap0
@@ -268,13 +268,13 @@ LoadMapTimeOfDay:
.PushAttrMap:
decoord 0, 0
call .copy
ld a, [hCGB]
ldh a, [hCGB]
and a
ret z
decoord 0, 0, wAttrMap
ld a, $1
ld [rVBK], a
ldh [rVBK], a
.copy
hlbgcoord 0, 0
ld c, SCREEN_WIDTH
@@ -293,16 +293,16 @@ LoadMapTimeOfDay:
dec b
jr nz, .row
ld a, $0
ld [rVBK], a
ldh [rVBK], a
ret
LoadGraphics:
call LoadTileset
call LoadTilesetGFX
xor a
ld [hMapAnims], a
ldh [hMapAnims], a
xor a
ld [hTileAnimFrame], a
ldh [hTileAnimFrame], a
farcall RefreshSprites
call LoadFontsExtra
farcall LoadOverworldFont