summaryrefslogtreecommitdiff
path: root/home/overworld.asm
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2014-09-14 11:29:18 -0700
committerYamaArashi <shadow962@live.com>2014-09-14 11:29:18 -0700
commit2ed65d9c3e3ba60939ebe2928ffddc06a90b1876 (patch)
tree0efc4cb1b79494d119524b120d27c8c5b74a6a05 /home/overworld.asm
parent0c916aea3353ed1bf2750be403b0da9ea0b922d4 (diff)
Commented/labelled misc functions
Diffstat (limited to 'home/overworld.asm')
-rw-r--r--home/overworld.asm112
1 files changed, 56 insertions, 56 deletions
diff --git a/home/overworld.asm b/home/overworld.asm
index 9dbfdfb7..50791184 100644
--- a/home/overworld.asm
+++ b/home/overworld.asm
@@ -10,7 +10,7 @@ EnterMap::
ld a, $ff
ld [wJoyIgnore], a
call LoadMapData
- callba Func_c335 ; initialize map variables
+ callba ClearVariablesAfterLoadingMapData
ld hl, wd72c
bit 0, [hl] ; has the player already made 3 steps since the last battle?
jr z, .skipGivingThreeStepsOfNoRandomBattles
@@ -20,14 +20,14 @@ EnterMap::
ld hl, wd72e
bit 5, [hl] ; did a battle happen immediately before this?
res 5, [hl] ; unset the "battle just happened" flag
- call z, Func_12e7
+ call z, ResetUsingStrengthOutOfBattleBit
call nz, MapEntryAfterBattle
ld hl, wd732
ld a, [hl]
and 1 << 4 | 1 << 3 ; fly warp or dungeon warp
jr z, .didNotEnterUsingFlyWarpOrDungeonWarp
res 3, [hl]
- callba EnterMapAnim ; display fly/teleport in graphical effect
+ callba EnterMapAnim
call UpdateSprites
.didNotEnterUsingFlyWarpOrDungeonWarp
callba CheckForceBikeOrSurf ; handle currents in SF islands and forced bike riding in cycling road
@@ -53,7 +53,7 @@ OverworldLoopLessDelay::
jp nz,.moveAhead ; if the player sprite has not yet completed the walking animation
call JoypadOverworld ; get joypad state (which is possibly simulated)
callba SafariZoneCheck
- ld a,[wda46]
+ ld a,[wSafariZoneGameOver]
and a
jp nz,WarpFound2
ld hl,wd72d
@@ -78,7 +78,7 @@ OverworldLoopLessDelay::
jr z,.startButtonNotPressed
; if START is pressed
xor a
- ld [$ff8c],a ; the $2920 ID for the start menu is 0
+ ld [hSpriteIndexOrTextID],a ; start menu text ID
jp .displayDialogue
.startButtonNotPressed
bit 0,a ; A button
@@ -87,14 +87,14 @@ OverworldLoopLessDelay::
ld a,[wd730]
bit 2,a
jp nz,.noDirectionButtonsPressed
- call Func_30fd
+ call IsPlayerCharacterBeingControlledByGame
jr nz,.checkForOpponent
- call Func_3eb5 ; check for hidden items, PC's, etc.
+ call CheckForHiddenObjectOrBookshelfOrCardKeyDoor
ld a,[$ffeb]
and a
- jp z,OverworldLoop
- call IsSpriteOrSignInFrontOfPlayer ; check for sign or sprite in front of the player
- ld a,[$ff8c] ; $2920 ID for NPC/sign text, if any
+ jp z,OverworldLoop ; jump if a hidden object or bookshelf was found, but not if a card key door was found
+ call IsSpriteOrSignInFrontOfPlayer
+ ld a,[hSpriteIndexOrTextID]
and a
jp z,OverworldLoop
.displayDialogue
@@ -293,7 +293,7 @@ OverworldLoopLessDelay::
bit 7,a ; in the safari zone?
jr z,.notSafariZone
callba SafariZoneCheckSteps
- ld a,[wda46]
+ ld a,[wSafariZoneGameOver]
and a
jp nz,WarpFound2
.notSafariZone
@@ -350,8 +350,8 @@ NewBattle:: ; 0683 (0:0683)
ld a,[wd72d]
bit 4,a
jr nz,.noBattle
- call Func_30fd
- jr nz,.noBattle
+ call IsPlayerCharacterBeingControlledByGame
+ jr nz,.noBattle ; no battle if the player character is under the game's control
ld a,[wd72e]
bit 4,a
jr nz,.noBattle
@@ -523,7 +523,7 @@ WarpFound2:: ; 073c (0:073c)
.done
ld hl,wd736
set 0,[hl] ; have the player's sprite step out from the door (if there is one)
- call Func_12da
+ call IgnoreInputForHalfSecond
jp EnterMap
ContinueCheckWarpsNoCollisionLoop:: ; 07b5 (0:07b5)
@@ -747,7 +747,7 @@ HandleBlackOut::
res 5, [hl]
ld a, Bank(ResetStatusAndHalveMoneyOnBlackout) ; also Bank(SpecialWarpIn) and Bank(SpecialEnterMap)
ld [H_LOADEDROMBANK], a
- ld [MBC3RomBank], a
+ ld [MBC1RomBank], a
call ResetStatusAndHalveMoneyOnBlackout
call SpecialWarpIn
call Func_2312
@@ -798,7 +798,7 @@ LoadPlayerSpriteGraphics::
dec a
jr z, .ridingBike
- ld a, [$ffd7]
+ ld a, [hTilesetType]
and a
jr nz, .determineGraphics
jr .startWalking
@@ -1058,11 +1058,11 @@ LoadEastWestConnectionsTileMap:: ; 0b02 (0:0b02)
ret
; function to check if there is a sign or sprite in front of the player
-; if so, it is stored in [$FF8C]
-; if not, [$FF8C] is set to 0
+; if so, it is stored in [hSpriteIndexOrTextID]
+; if not, [hSpriteIndexOrTextID] is set to 0
IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
xor a
- ld [$ff8c],a
+ ld [hSpriteIndexOrTextID],a
ld a,[wd4b0] ; number of signs in the map
and a
jr z,.extendRangeOverCounter
@@ -1092,7 +1092,7 @@ IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
dec c
add hl,bc
ld a,[hl]
- ld [$ff8c],a ; store sign text ID
+ ld [hSpriteIndexOrTextID],a ; store sign text ID
pop bc
pop hl
ret
@@ -1113,7 +1113,7 @@ IsSpriteOrSignInFrontOfPlayer:: ; 0b23 (0:0b23)
jr nz,.counterTilesLoop
; part of the above function, but sometimes its called on its own, when signs are irrelevant
-; the caller must zero [$FF8C]
+; the caller must zero [hSpriteIndexOrTextID]
IsSpriteInFrontOfPlayer:: ; 0b6b (0:0b6b)
ld d,$10 ; talking range in pixels (normal range)
IsSpriteInFrontOfPlayer2:: ; 0b6d (0:0b6d)
@@ -1195,7 +1195,7 @@ IsSpriteInFrontOfPlayer2:: ; 0b6d (0:0b6d)
ld l,a
set 7,[hl]
ld a,e
- ld [$ff8c],a ; store sprite ID
+ ld [hSpriteIndexOrTextID],a
ret
; function to check if the player will jump down a ledge and check if the tile ahead is passable (when not surfing)
@@ -1214,9 +1214,9 @@ CollisionCheckOnLand:: ; 0bd1 (0:0bd1)
and d ; check if a sprite is in the direction the player is trying to go
jr nz,.collision
xor a
- ld [$ff8c],a
+ ld [hSpriteIndexOrTextID],a
call IsSpriteInFrontOfPlayer ; check for sprite collisions again? when does the above check fail to detect a sprite collision?
- ld a,[$ff8c]
+ ld a,[hSpriteIndexOrTextID]
and a ; was there a sprite collision?
jr nz,.collision
; if no sprite collision
@@ -1467,7 +1467,7 @@ AdvancePlayerSprite:: ; 0d27 (0:0d27)
cp a,$01
jr nz,.checkIfMovingWest
; moving east
- ld a,[wd526]
+ ld a,[wMapViewVRAMPointer]
ld e,a
and a,$e0
ld d,a
@@ -1475,13 +1475,13 @@ AdvancePlayerSprite:: ; 0d27 (0:0d27)
add a,$02
and a,$1f
or d
- ld [wd526],a
+ ld [wMapViewVRAMPointer],a
jr .adjustXCoordWithinBlock
.checkIfMovingWest
cp a,$ff
jr nz,.checkIfMovingSouth
; moving west
- ld a,[wd526]
+ ld a,[wMapViewVRAMPointer]
ld e,a
and a,$e0
ld d,a
@@ -1489,36 +1489,36 @@ AdvancePlayerSprite:: ; 0d27 (0:0d27)
sub a,$02
and a,$1f
or d
- ld [wd526],a
+ ld [wMapViewVRAMPointer],a
jr .adjustXCoordWithinBlock
.checkIfMovingSouth
ld a,b
cp a,$01
jr nz,.checkIfMovingNorth
; moving south
- ld a,[wd526]
+ ld a,[wMapViewVRAMPointer]
add a,$40
- ld [wd526],a
+ ld [wMapViewVRAMPointer],a
jr nc,.adjustXCoordWithinBlock
- ld a,[wd527]
+ ld a,[wMapViewVRAMPointer + 1]
inc a
and a,$03
or a,$98
- ld [wd527],a
+ ld [wMapViewVRAMPointer + 1],a
jr .adjustXCoordWithinBlock
.checkIfMovingNorth
cp a,$ff
jr nz,.adjustXCoordWithinBlock
; moving north
- ld a,[wd526]
+ ld a,[wMapViewVRAMPointer]
sub a,$40
- ld [wd526],a
+ ld [wMapViewVRAMPointer],a
jr nc,.adjustXCoordWithinBlock
- ld a,[wd527]
+ ld a,[wMapViewVRAMPointer + 1]
dec a
and a,$03
or a,$98
- ld [wd527],a
+ ld [wMapViewVRAMPointer + 1],a
.adjustXCoordWithinBlock
ld a,c
and a
@@ -1694,18 +1694,18 @@ MoveTileBlockMapPointerNorth:: ; 0e85 (0:0e85)
ScheduleNorthRowRedraw:: ; 0e91 (0:0e91)
hlCoord 0, 0
- call ScheduleRowRedrawHelper
- ld a,[wd526]
+ call CopyToScreenEdgeTiles
+ ld a,[wMapViewVRAMPointer]
ld [H_SCREENEDGEREDRAWADDR],a
- ld a,[wd527]
+ ld a,[wMapViewVRAMPointer + 1]
ld [H_SCREENEDGEREDRAWADDR + 1],a
ld a,REDRAWROW
ld [H_SCREENEDGEREDRAW],a
ret
-ScheduleRowRedrawHelper:: ; 0ea6 (0:0ea6)
+CopyToScreenEdgeTiles:: ; 0ea6 (0:0ea6)
ld de,wScreenEdgeTiles
- ld c,$28
+ ld c,2 * 20
.loop
ld a,[hli]
ld [de],a
@@ -1716,10 +1716,10 @@ ScheduleRowRedrawHelper:: ; 0ea6 (0:0ea6)
ScheduleSouthRowRedraw:: ; 0eb2 (0:0eb2)
hlCoord 0, 16
- call ScheduleRowRedrawHelper
- ld a,[wd526]
+ call CopyToScreenEdgeTiles
+ ld a,[wMapViewVRAMPointer]
ld l,a
- ld a,[wd527]
+ ld a,[wMapViewVRAMPointer + 1]
ld h,a
ld bc,$0200
add hl,bc
@@ -1736,7 +1736,7 @@ ScheduleSouthRowRedraw:: ; 0eb2 (0:0eb2)
ScheduleEastColumnRedraw:: ; 0ed3 (0:0ed3)
hlCoord 18, 0
call ScheduleColumnRedrawHelper
- ld a,[wd526]
+ ld a,[wMapViewVRAMPointer]
ld c,a
and a,$e0
ld b,a
@@ -1745,7 +1745,7 @@ ScheduleEastColumnRedraw:: ; 0ed3 (0:0ed3)
and a,$1f
or b
ld [H_SCREENEDGEREDRAWADDR],a
- ld a,[wd527]
+ ld a,[wMapViewVRAMPointer + 1]
ld [H_SCREENEDGEREDRAWADDR + 1],a
ld a,REDRAWCOL
ld [H_SCREENEDGEREDRAW],a
@@ -1774,9 +1774,9 @@ ScheduleColumnRedrawHelper:: ; 0ef2 (0:0ef2)
ScheduleWestColumnRedraw:: ; 0f08 (0:0f08)
hlCoord 0, 0
call ScheduleColumnRedrawHelper
- ld a,[wd526]
+ ld a,[wMapViewVRAMPointer]
ld [H_SCREENEDGEREDRAWADDR],a
- ld a,[wd527]
+ ld a,[wMapViewVRAMPointer + 1]
ld [H_SCREENEDGEREDRAWADDR + 1],a
ld a,REDRAWCOL
ld [H_SCREENEDGEREDRAW],a
@@ -2013,7 +2013,7 @@ LoadPlayerSpriteGraphicsCommon:: ; 1063 (0:1063)
; function to load data from the map header
LoadMapHeader:: ; 107c (0:107c)
- callba Func_f113
+ callba MarkTownVisitedAndLoadMissableObjects
ld a,[W_CURMAPTILESET]
ld [wd119],a
ld a,[W_CURMAP]
@@ -2307,9 +2307,9 @@ LoadMapData:: ; 1241 (0:1241)
push af
call DisableLCD
ld a,$98
- ld [wd527],a
+ ld [wMapViewVRAMPointer + 1],a
xor a
- ld [wd526],a
+ ld [wMapViewVRAMPointer],a
ld [$ffaf],a
ld [$ffae],a
ld [wWalkCounter],a
@@ -2383,16 +2383,16 @@ SwitchToMapRomBank:: ; 12bc (0:12bc)
pop hl
ret
-Func_12da:: ; 12da (0:12da)
- ld a, $1e
- ld [wd13a], a
+IgnoreInputForHalfSecond: ; 12da (0:12da)
+ ld a, 30
+ ld [wIgnoreInputCounter], a
ld hl, wd730
ld a, [hl]
or $26
- ld [hl], a
+ ld [hl], a ; set ignore input bit
ret
-Func_12e7:: ; 12e7 (0:12e7)
+ResetUsingStrengthOutOfBattleBit: ; 12e7 (0:12e7)
ld hl, wd728
res 0, [hl]
ret