diff options
Diffstat (limited to 'home')
| -rw-r--r-- | home/copy2.asm | 4 | ||||
| -rw-r--r-- | home/map.asm | 32 | ||||
| -rw-r--r-- | home/map_objects.asm | 25 | ||||
| -rw-r--r-- | home/talk_to_npc.asm | 12 | ||||
| -rw-r--r-- | home/text.asm | 2 | ||||
| -rw-r--r-- | home/tileset.asm | 20 |
6 files changed, 51 insertions, 44 deletions
diff --git a/home/copy2.asm b/home/copy2.asm index 9baad62..e74ef8b 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -2,8 +2,8 @@ INCLUDE "constants.asm" SECTION "Video Copy functions", ROM0[$0D02] -Function0d02:: - jpab Function14000 +RedrawPlayerSprite:: + jpab _RedrawPlayerSprite LoadFont:: ; 00:0d0a jpab LoadFontGraphics diff --git a/home/map.asm b/home/map.asm index d33242a..7b9bd71 100644 --- a/home/map.asm +++ b/home/map.asm @@ -448,8 +448,8 @@ FadeIn:: ; 23e5 ; This is not OverworldFadeIn, but I don't know what it is ret Function2407:: ; 00:2407 - ld a, $2a - ld [wcb77], a + ld a, NO_MOVEMENT + ld [wPlayerMovement], a xor a ld [wPlayerAction], a ld a, [wPlayerFacing] @@ -505,7 +505,7 @@ CheckMovingOffEdgeOfMap:: ; 245e ret .down - ld a, [wPlayerStandingMapY] + ld a, [wPlayerNextMapY] sub 4 ld b, a ld a, [wMapHeight] @@ -516,7 +516,7 @@ CheckMovingOffEdgeOfMap:: ; 245e ret .up - ld a, [wPlayerStandingMapY] + ld a, [wPlayerNextMapY] sub 4 cp -1 jr z, .ok @@ -524,7 +524,7 @@ CheckMovingOffEdgeOfMap:: ; 245e ret .left - ld a, [wPlayerStandingMapX] + ld a, [wPlayerNextMapX] sub 4 cp -1 jr z, .ok @@ -532,7 +532,7 @@ CheckMovingOffEdgeOfMap:: ; 245e ret .right - ld a, [wPlayerStandingMapX] + ld a, [wPlayerNextMapX] sub 4 ld b, a ld a, [wMapWidth] @@ -701,10 +701,10 @@ WarpCheck:: ; 259f ret GetDestinationWarpPointer: ; 25b9 - ld a, [wPlayerStandingMapY] + ld a, [wPlayerNextMapY] sub 4 ld d, a - ld a, [wPlayerStandingMapX] + ld a, [wPlayerNextMapX] sub 4 ld e, a ld a, [wCurrMapWarpCount] @@ -1028,10 +1028,10 @@ Function275e:: ; 275e ; TODO: is this used? ld [wOverworldMapAnchor + 1], a ld a, [wYCoord] and 1 - ld [wMetatileStandingY], a + ld [wMetatileNextY], a ld a, [wXCoord] and 1 - ld [wMetatileStandingX], a + ld [wMetatileNextX], a ret @@ -1075,10 +1075,10 @@ GetCoordOfUpperLeftCorner:: ; 277a ld [wOverworldMapAnchor + 1], a ld a, [wYCoord] and 1 - ld [wMetatileStandingY], a + ld [wMetatileNextY], a ld a, [wXCoord] and 1 - ld [wMetatileStandingX], a + ld [wMetatileNextX], a ret Function27C7:: ; 27c7 ; TODO @@ -1175,13 +1175,13 @@ LoadMetatiles:: ; 2822 ApplyFlashlight:: ; 285a ld hl, wTileMapBackup - ld a, [wMetatileStandingY] + ld a, [wMetatileNextY] and a jr z, .top_row ld bc, $30 ; TODO: constantify this add hl, bc .top_row - ld a, [wMetatileStandingX] + ld a, [wMetatileNextX] and a jr z, .left_col inc hl @@ -1612,7 +1612,7 @@ Function2ae5:: ret nz call OverworldStartButtonCheck ret nz - callab Functionc000 + callab OverworldMovementCheck ldh a, [hMapEntryMethod] and a ret nz @@ -1677,7 +1677,7 @@ Function2b87:: call GetJoypad call OverworldStartButtonCheck ret nz - callab Functionc000 + callab OverworldMovementCheck call Function2ba8 jr nc, .asm_2b87 callba Function824c diff --git a/home/map_objects.asm b/home/map_objects.asm index faa4bb9..c473e13 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -335,27 +335,34 @@ Function17cb:: call Bankswitch ret -CheckNonTurningSprite:: ; 00:17de - ; sets carry flag if a is equal to any of the sprites below +; sets carry flag if the sprite data includes "in-motion" sprites +IsAnimatedSprite:: ; 00:17de push hl push bc ld c, a - ld b, $ff - ld hl, .Data -.loop: + ld b, -1 + ld hl, .NonAnimatedSprites +.loop ld a, [hli] cp b - jr z, .escape + jr z, .done cp c jr nz, .loop scf -.escape: +.done pop bc pop hl ret -.Data: ; 00:17f1 - db SPRITE_KABIGON, SPRITE_POKE_BALL, SPRITE_POKEDEX, SPRITE_PAPER, SPRITE_OLD_LINK_RECEPTIONIST, SPRITE_EGG, SPRITE_BOULDER, $ff +.NonAnimatedSprites: ; 00:17f1 + db SPRITE_KABIGON + db SPRITE_POKE_BALL + db SPRITE_POKEDEX + db SPRITE_PAPER + db SPRITE_OLD_LINK_RECEPTIONIST + db SPRITE_EGG + db SPRITE_BOULDER + db -1 Function17f9:: call GetMapObject diff --git a/home/talk_to_npc.asm b/home/talk_to_npc.asm index 7f4452c..69bee3e 100644 --- a/home/talk_to_npc.asm +++ b/home/talk_to_npc.asm @@ -226,7 +226,7 @@ TextboxCleanup: ; 00:3171 Function318f: ; 00:318f callab Function140ea - call Function0d02 + call RedrawPlayerSprite ret TurnNPCTalkingTo:: ; 00:319b @@ -236,7 +236,7 @@ TurnNPCTalkingTo:: ; 00:319b ld hl, OBJECT_SPRITE add hl, bc ld a, [hl] - call CheckNonTurningSprite + call IsAnimatedSprite jr c, .Jump ld a, [wPlayerWalking] xor 04 @@ -290,12 +290,12 @@ GetInlineMapObject:: ; 00:31EB ;bc is start of object struct. if c flag set, returns distance in B and direction in C ld hl, OBJECT_NEXT_MAP_X add hl, bc - ld a, [wPlayerStandingMapX] + ld a, [wPlayerNextMapX] cp [hl] jr z, .EqualX ld hl, OBJECT_NEXT_MAP_Y add hl, bc - ld a, [wPlayerStandingMapY] + ld a, [wPlayerNextMapY] cp [hl] jr z, .EqualY and a @@ -303,7 +303,7 @@ GetInlineMapObject:: ; 00:31EB .EqualX ld hl, OBJECT_NEXT_MAP_Y add hl, bc - ld a, [wPlayerStandingMapY] + ld a, [wPlayerNextMapY] sub [hl] jr z, .Reset jr nc, .SetDown @@ -321,7 +321,7 @@ GetInlineMapObject:: ; 00:31EB .EqualY ; 3219 ld hl, OBJECT_NEXT_MAP_X add hl, bc - ld a, [wPlayerStandingMapX] + ld a, [wPlayerNextMapX] sub [hl] jr z, .Reset ; (this condition is impossible to meet) jr nc, .SetRight diff --git a/home/text.asm b/home/text.asm index 5d5f607..48662e9 100644 --- a/home/text.asm +++ b/home/text.asm @@ -232,7 +232,7 @@ NullChar:: ; 00:0f66 ret .Text: - deciram hTextErrno, 1, 2 + deciram hEventID, 1, 2 text "エラー" done diff --git a/home/tileset.asm b/home/tileset.asm index 38b9779..4512728 100644 --- a/home/tileset.asm +++ b/home/tileset.asm @@ -50,7 +50,7 @@ RefreshPlayerCoords:: ; 2d74 ld a, [wXCoord] add a, 4 ld d, a - ld hl, wPlayerStandingMapX + ld hl, wPlayerNextMapX sub [hl] ld [hl], d ld hl, wPlayerObjectXCoord @@ -61,7 +61,7 @@ RefreshPlayerCoords:: ; 2d74 ld a, [wYCoord] add a, 4 ld e, a - ld hl, wPlayerStandingMapY + ld hl, wPlayerNextMapY sub [hl] ld [hl], e ld hl, wPlayerObjectYCoord @@ -211,18 +211,18 @@ SaveScreen:: ; 2df1 RefreshTiles:: ; 2e52 call .left_right call .up_down - ld a, [wPlayerStandingMapX] + ld a, [wPlayerNextMapX] ld d, a - ld a, [wPlayerStandingMapY] + ld a, [wPlayerNextMapY] ld e, a call GetCoordTile ld [wPlayerStandingTile], a ret .up_down ; 2e67 - ld a, [wPlayerStandingMapX] + ld a, [wPlayerNextMapX] ld d, a - ld a, [wPlayerStandingMapY] + ld a, [wPlayerNextMapY] ld e, a push de inc e @@ -235,9 +235,9 @@ RefreshTiles:: ; 2e52 ret .left_right ; 2e80 - ld a, [wPlayerStandingMapX] + ld a, [wPlayerNextMapX] ld d, a - ld a, [wPlayerStandingMapY] + ld a, [wPlayerNextMapY] ld e, a push de dec d @@ -270,10 +270,10 @@ GetFacingTileCoord:: ; 2e99 ld h, [hl] ld l, a - ld a, [wPlayerStandingMapX] + ld a, [wPlayerNextMapX] add a, d ld d, a - ld a, [wPlayerStandingMapY] + ld a, [wPlayerNextMapY] add a, e ld e, a ld a, [hl] |
