diff options
-rw-r--r-- | battle/core.asm | 14 | ||||
-rw-r--r-- | constants/map_constants.asm | 2 | ||||
-rw-r--r-- | engine/events.asm | 4 | ||||
-rw-r--r-- | engine/events_2.asm | 8 | ||||
-rw-r--r-- | engine/map_objects.asm | 148 | ||||
-rw-r--r-- | engine/movement.asm | 20 | ||||
-rw-r--r-- | engine/scripting.asm | 10 | ||||
-rw-r--r-- | home.asm | 8 | ||||
-rw-r--r-- | home/joypad.asm | 36 | ||||
-rw-r--r-- | home/map.asm | 84 | ||||
-rw-r--r-- | home/map_objects.asm | 58 | ||||
-rw-r--r-- | hram.asm | 4 | ||||
-rw-r--r-- | main.asm | 164 | ||||
-rw-r--r-- | misc/mobile_45.asm | 2 | ||||
-rw-r--r-- | wram.asm | 136 |
15 files changed, 335 insertions, 363 deletions
diff --git a/battle/core.asm b/battle/core.asm index 02ad67fa4..f42fe3c55 100644 --- a/battle/core.asm +++ b/battle/core.asm @@ -3247,7 +3247,7 @@ MonFaintedAnimation: ; 3d444 Function3d490: ; 3d490 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld c, a .asm_3d493 push bc @@ -3271,7 +3271,7 @@ Function3d490: ; 3d490 ; 3d4ae Function3d4ae: ; 3d4ae - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld c, a cp $8 jr nz, .back @@ -9486,7 +9486,7 @@ Function3fc30: ; 3fc30 Function3fc5b: ; 3fc5b ld hl, Sprites xor a - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld b, $6 ld e, $a8 .asm_3fc65 @@ -9497,10 +9497,10 @@ Function3fc5b: ; 3fc5b inc hl ld [hl], e inc hl - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld [hli], a inc a - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld a, $1 ld [hli], a ld a, d @@ -9508,9 +9508,9 @@ Function3fc5b: ; 3fc5b ld d, a dec c jr nz, .asm_3fc69 - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] add $3 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld a, e add $8 ld e, a diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 8a7c1ebb2..0880a4f1e 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -516,7 +516,7 @@ const_value SET 1 const OBJECT_SPRITE const OBJECT_MAP_OBJECT_INDEX const OBJECT_SPRITE_TILE - const OBJECT_03 + const OBJECT_MOVEMENTTYPE const OBJECT_FLAGS1 const OBJECT_FLAGS2 const OBJECT_PALETTE diff --git a/engine/events.asm b/engine/events.asm index 5e64b62fd..20e2bc0dd 100644 --- a/engine/events.asm +++ b/engine/events.asm @@ -396,7 +396,7 @@ CheckTileEvent: ; 96874 ret .return6 - ld a, [StandingTile] + ld a, [PlayerStandingTile] call CheckPitTile jr nz, .pittile ld a, 6 @@ -606,7 +606,7 @@ TryObjectEvent: ; 969b5 .IsObject call PlayTalkObject - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] call GetObjectStruct ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc diff --git a/engine/events_2.asm b/engine/events_2.asm index 5acc72346..1849bbbf8 100644 --- a/engine/events_2.asm +++ b/engine/events_2.asm @@ -161,7 +161,7 @@ CanUseSweetScent:: ; 97cfd jr nc, .no .ice_check - ld a, [StandingTile] + ld a, [PlayerStandingTile] call CheckIceTile jr z, .no scf @@ -235,7 +235,7 @@ ChooseWildEncounter_BugContest:: ; 97d31 ; 97d64 TryWildEncounter_BugContest: ; 97d64 - ld a, [StandingTile] + ld a, [PlayerStandingTile] call CheckSuperTallGrassTile ld b, 40 percent jr z, .ok @@ -352,7 +352,7 @@ Function97e08:: ; 97e08 ld hl, wd6de xor a .asm_97e0c - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld a, [hl] and a jr z, .asm_97e19 @@ -365,7 +365,7 @@ Function97e08:: ; 97e08 .asm_97e19 ld de, $0006 add hl, de - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] inc a cp $4 jr nz, .asm_97e0c diff --git a/engine/map_objects.asm b/engine/map_objects.asm index 69c6321f5..ee5727f37 100644 --- a/engine/map_objects.asm +++ b/engine/map_objects.asm @@ -828,7 +828,7 @@ Function4759: ; 4759 ret ; 4769 -Function4769: ; 4769 +RestoreDefaultMovement: ; 4769 ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc ld a, [hl] @@ -1029,7 +1029,7 @@ Function4851: ; 4851 jp Function4b26 ; 4869 -Function4869: ; 4869 +Function4869: ; standing? call Function462a call Function467b ld hl, OBJECT_11 @@ -1083,7 +1083,7 @@ Function48a0: ; 48a0 ; 48a6 Function48a6: ; 48a6 - ld hl, Function500e + ld hl, Function500e ; scripted jp Function5041 ; 48ac @@ -1500,7 +1500,7 @@ Function4af0: ; 4af0 add hl, bc ld [hl], 2 ld hl, wd4cf - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .ok ld hl, OBJECT_09 @@ -2047,7 +2047,7 @@ Function4e0c: ; 4e0c ; 4e13 Function4e13: ; 4e13 - call Function4769 + call RestoreDefaultMovement call Function1a47 ld hl, OBJECT_FACING add hl, bc @@ -2396,7 +2396,7 @@ UpdateJumpPosition: ; 4fd5 db -11, -10, -9, -8, -6, -4, 0, 0 ; 5000 -Function5000: ; 5000 +Function5000: ; unscripted? ld a, [wc2de] ld hl, wc2df ld [hl], a @@ -2406,8 +2406,8 @@ Function5000: ; 5000 ret ; 500e -Function500e: ; 500e - ld hl, wc2e3 +Function500e: ; scripted + ld hl, wMovementDataPointer call Function1aae ret ; 5015 @@ -2418,7 +2418,7 @@ Function5015: ; 5015 ld e, [hl] inc [hl] ld d, 0 - ld hl, wc2e2 + ld hl, wMovementPerson ld a, [hli] ld h, [hl] ld l, a @@ -2448,7 +2448,7 @@ Function5037: ; 5037 ; 503d Function503d: ; 503d - ld a, [wc2e2] + ld a, [wMovementPerson] ret ; 5041 @@ -2467,14 +2467,14 @@ Function5041: ; 5041 CopyMovementPointer: ; 5055 ld a, l - ld [wc2eb], a + ld [wMovementPointer], a ld a, h - ld [wc2ec], a + ld [wMovementPointer + 1], a ret ; 505e GetMovementByte: ; 505e - ld hl, wc2eb + ld hl, wMovementPointer ld a, [hli] ld h, [hl] ld l, a @@ -2489,7 +2489,7 @@ Function5065: ; 5065 DoMovementFunction: ; 506b push af - call Function54b8 + call ApplyMovementToFollower pop af ld hl, MovementPointers rst JumpTable @@ -2502,14 +2502,14 @@ INCLUDE "engine/movement.asm" ; 54b8 -Function54b8: ; 54b8 +ApplyMovementToFollower: ; 54b8 ld e, a - ld a, [wd4ce] + ld a, [wObjectFollow_Follower] cp -1 ret z - ld a, [wd4cd] + ld a, [wObjectFollow_Leader] ld d, a - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] cp d ret nz ld a, e @@ -2565,7 +2565,7 @@ Function54e6: ; 54e6 ; 550a Function550a: ; 550a - ld a, [wd4cd] + ld a, [wObjectFollow_Leader] cp -1 jr z, .nope push bc @@ -2581,7 +2581,7 @@ Function550a: ; 550a .nope ld a, $ff - ld [wd4ce], a + ld [wObjectFollow_Follower], a ld a, $47 scf ret @@ -2652,7 +2652,7 @@ Function5565: ; 5565 Function5579: ; 5579 push bc - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld c, a call Function5582 pop bc @@ -2713,7 +2713,7 @@ Function55b9: ; 55b9 ld [hli], a ld a, [de] ld [hli], a - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld [hli], a push hl ld hl, OBJECT_MAP_X @@ -2738,7 +2738,7 @@ Function55e0:: ; 55e0 ld bc, ObjectStructs xor a .loop - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call GetObjectSprite jr z, .ok call Function565c @@ -2748,7 +2748,7 @@ Function55e0:: ; 55e0 add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -2802,13 +2802,13 @@ Function5645: ; 5645 xor a ld bc, ObjectStructs .loop - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call Function5680 ld hl, OBJECT_STRUCT_LENGTH add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -3033,7 +3033,7 @@ Function5781: ; 5781 ld bc, ObjectStructs xor a .loop - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call GetObjectSprite jr z, .next call Function437b @@ -3043,7 +3043,7 @@ Function5781: ; 5781 add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -3056,7 +3056,7 @@ Function579d: ; 579d ld [wc2df], a xor a ld [wd04e], a - ld [wd4e2], a + ld [PlayerObject12], a call Function57bc callba CheckWarpCollision call c, SpawnInFacingDown @@ -3101,7 +3101,7 @@ Function57db: ; 57db Function57e2: ; 57e2 ld a, d - and $80 + and %10000000 ret z ld bc, NONE ; debug? ld hl, OBJECT_FACING @@ -3123,69 +3123,69 @@ Function57e2: ; 57e2 ret ; 5803 -Function5803:: ; 5803 +StartFollow:: ; 5803 push bc ld a, b - call Function5815 + call SetLeaderIfVisible pop bc ret c ld a, c - call Function582c + call SetFollowerIfVisible callba Function848a ret ; 5815 -Function5815: ; 5815 - call Function18de +SetLeaderIfVisible: ; 5815 + call CheckObjectVisibility ret c - ld a, [hMapObjectIndexBuffer2] - ld [wd4cd], a + ld a, [hObjectStructIndexBuffer] + ld [wObjectFollow_Leader], a ret ; 581f -Function581f:: ; 581f - call Function5826 - call Function5847 +StopFollow:: ; 581f + call ResetLeader + call ResetFollower ret ; 5826 -Function5826: ; 5826 +ResetLeader: ; 5826 ld a, -1 - ld [wd4cd], a + ld [wObjectFollow_Leader], a ret ; 582c -Function582c: ; 582c +SetFollowerIfVisible: ; 582c push af - call Function5847 + call ResetFollower pop af - call Function18de + call CheckObjectVisibility ret c - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, bc - ld [hl], $13 + ld [hl], SPRITEMOVEDATA_13 ld hl, OBJECT_09 add hl, bc ld [hl], 0 - ld a, [hMapObjectIndexBuffer2] - ld [wd4ce], a + ld a, [hObjectStructIndexBuffer] + ld [wObjectFollow_Follower], a ret ; 5847 -Function5847: ; 5847 - ld a, [wd4ce] +ResetFollower: ; 5847 + ld a, [wObjectFollow_Follower] cp -1 ret z call GetObjectStruct callba Function58e3 ld a, -1 - ld [wd4ce], a + ld [wObjectFollow_Follower], a ret ; 585c SetFlagsForMovement_1:: ; 585c ld a, c - call Function18de + call CheckObjectVisibility ret c push bc call Function587a @@ -3198,7 +3198,7 @@ SetFlagsForMovement_1:: ; 585c ; 586e Function586e: ; 586e - call Function18de + call CheckObjectVisibility ret c ld hl, OBJECT_FLAGS2 add hl, bc @@ -3231,7 +3231,7 @@ Function587a: ; 587a ; 5897 _SetFlagsForMovement_2:: ; 5897 - ld a, [wd4cd] + ld a, [wObjectFollow_Leader] cp -1 ret z push bc @@ -3242,7 +3242,7 @@ _SetFlagsForMovement_2:: ; 5897 pop bc cp c ret nz - ld a, [wd4ce] + ld a, [wObjectFollow_Follower] cp -1 ret z call GetObjectStruct @@ -3278,7 +3278,7 @@ Function58b9:: ; 58b9 ; 58d8 Function58d8: ; 58d8 - call Function18de + call CheckObjectVisibility ret c ld hl, OBJECT_FLAGS2 add hl, bc @@ -3298,7 +3298,7 @@ Function58e3: ; 58e3 add hl, bc ld a, [hl] pop bc - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld [hl], a ld hl, OBJECT_09 @@ -3316,7 +3316,7 @@ Function5903: ; 5903 ld hl, .standing_movefns add hl, de ld a, [hl] - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld [hl], a ld hl, OBJECT_09 @@ -3431,13 +3431,13 @@ Function5991: ; 5991 Function59a4: ; 59a4 xor a - ld hl, wc2eb + ld hl, wMovementPointer ld bc, 13 call ByteFill ld d, 0 ld bc, ObjectStructs - ld hl, wc2eb + ld hl, wMovementPointer .loop push hl call GetObjectSprite @@ -3488,7 +3488,7 @@ Function59a4: ; 59a4 ; 59f3 Function59f3: ; 59f3 - ld hl, wc2eb + ld hl, wMovementPointer .next ld a, [hli] ld d, a @@ -3677,16 +3677,16 @@ endr .Addresses ; 5ace dw PlayerStruct - dw ObjectStruct1 - dw ObjectStruct2 - dw ObjectStruct3 - dw ObjectStruct4 - dw ObjectStruct5 - dw ObjectStruct6 - dw ObjectStruct7 - dw ObjectStruct8 - dw ObjectStruct9 - dw ObjectStruct10 - dw ObjectStruct11 - dw ObjectStruct12 + dw Object1Struct + dw Object2Struct + dw Object3Struct + dw Object4Struct + dw Object5Struct + dw Object6Struct + dw Object7Struct + dw Object8Struct + dw Object9Struct + dw Object10Struct + dw Object11Struct + dw Object12Struct ; 5ae8 diff --git a/engine/movement.asm b/engine/movement.asm index 8a4f09c5e..0a6851ed4 100644 --- a/engine/movement.asm +++ b/engine/movement.asm @@ -205,8 +205,8 @@ Movement_4a: ; 51b8 ; 51c1 Movement_step_end: ; 51c1 - call Function4769 - ld hl, OBJECT_03 + call RestoreDefaultMovement + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld [hl], a ld hl, OBJECT_27 @@ -221,8 +221,8 @@ Movement_step_end: ; 51c1 ; 51db Movement_48: ; 51db - call Function4769 - ld hl, OBJECT_03 + call RestoreDefaultMovement + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld [hl], a ld hl, OBJECT_27 @@ -242,8 +242,8 @@ Movement_48: ; 51db Movement_remove_person: ; 51fd call Function4357 - ld hl, wd4cd - ld a, [hMapObjectIndexBuffer1] + ld hl, wObjectFollow_Leader + ld a, [hMapObjectIndexBuffer] cp [hl] jr nz, .asm_520a ld [hl], $ff @@ -738,7 +738,7 @@ NormalStep: ; 5412 .asm_5430 ld hl, wd4cf - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_543f @@ -761,7 +761,7 @@ TurningStep: ; 5446 add hl, bc ld [hl], $4 ld hl, wd4cf - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_5461 ld hl, OBJECT_09 @@ -784,7 +784,7 @@ SlideStep: ; 5468 add hl, bc ld [hl], $1 ld hl, wd4cf - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_5483 ld hl, OBJECT_09 @@ -813,7 +813,7 @@ JumpStep: ; 548a ld [hl], $2 call Function5529 ld hl, wd4cf - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] cp [hl] jr z, .asm_54b1 ld hl, OBJECT_09 diff --git a/engine/scripting.asm b/engine/scripting.asm index c7c17b8d7..4461c8fe4 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -1191,7 +1191,7 @@ endr ApplyPersonFacing: ; 0x9728b ld a, d push de - call Function18de + call CheckObjectVisibility jr c, .not_visible ; 0x97290 $27 ld hl, OBJECT_SPRITE add hl, bc @@ -1258,7 +1258,7 @@ Script_appear: ; 0x972dd call GetScriptByte call GetScriptPerson call _CopyObjectStruct - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld b, 0 ; clear call ApplyEventActionAppearDisappear ret @@ -1276,7 +1276,7 @@ Script_disappear: ; 0x972ee ld a, [hLastTalked] .ok call DeleteObjectStruct - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld b, 1 ; set call ApplyEventActionAppearDisappear callba RefreshMapAppearDisappear @@ -1316,14 +1316,14 @@ Script_follow: ; 0x97325 call GetScriptByte call GetScriptPerson ld c, a - callba Function5803 + callba StartFollow ret ; 0x9733a Script_stopfollow: ; 0x9733a ; script command 0x71 - callba Function581f + callba StopFollow ret ; 0x97341 @@ -1515,11 +1515,11 @@ FacingPlayerDistance:: ; 36ad add hl, bc ld e, [hl] - ld a, [MapX] + ld a, [PlayerMapX] cp d jr z, .CheckY - ld a, [MapY] + ld a, [PlayerMapY] cp e jr z, .CheckX @@ -1527,7 +1527,7 @@ FacingPlayerDistance:: ; 36ad ret .CheckY - ld a, [MapY] + ld a, [PlayerMapY] sub e jr z, .NotFacing jr nc, .Above @@ -1545,7 +1545,7 @@ FacingPlayerDistance:: ; 36ad jr .CheckFacing .CheckX - ld a, [MapX] + ld a, [PlayerMapX] sub d jr z, .NotFacing jr nc, .Left diff --git a/home/joypad.asm b/home/joypad.asm index 450fa28cb..00179fc7f 100644 --- a/home/joypad.asm +++ b/home/joypad.asm @@ -356,14 +356,14 @@ JoyTextDelay:: ; a57 ; a80 Functiona80:: ; a80 - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] push af - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] push af xor a - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld a, 6 - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a .loop push hl @@ -377,9 +377,9 @@ Functiona80:: ; a80 jr z, .loop pop af - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a pop af - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ret ; aa5 @@ -459,37 +459,37 @@ Functionb06:: ; b06 cp b pop bc jr nz, .asm_b27 - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] dec a - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ret nz - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] dec a - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a ret nz ld a, "─" ld [hl], a ld a, -1 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld a, 6 - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a ret .asm_b27 - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] and a ret z dec a - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ret nz dec a - ld [hMapObjectIndexBuffer1], a - ld a, [hMapObjectIndexBuffer2] + ld [hMapObjectIndexBuffer], a + ld a, [hObjectStructIndexBuffer] dec a - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a ret nz ld a, $6 - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a ld a, $ee ld [hl], a ret diff --git a/home/map.asm b/home/map.asm index c1a26b772..fa60ac299 100644 --- a/home/map.asm +++ b/home/map.asm @@ -252,10 +252,10 @@ Function2252:: ; 2252 ; 2266 Function2266:: ; 2266 - ld a, [MapY] + ld a, [PlayerMapY] sub $4 ld e, a - ld a, [MapX] + ld a, [PlayerMapX] sub $4 ld d, a ld a, [wCurrMapWarpCount] @@ -652,11 +652,11 @@ Function2457:: ; 2457 ; 2471 Function2471:: ; 2471 - ld hl, ObjectStruct1 + ld hl, Object1Struct ld bc, OBJECT_STRUCT_LENGTH * (NUM_OBJECT_STRUCTS - 1) xor a call ByteFill - ld hl, ObjectStruct1 + ld hl, Object1Struct ld de, OBJECT_STRUCT_LENGTH ld c, NUM_OBJECT_STRUCTS - 1 xor a @@ -729,9 +729,9 @@ ChangeMap:: ; 24e4 ld hl, OverworldMap ld a, [MapWidth] - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a add $6 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld c, a ld b, 0 rept 3 @@ -750,7 +750,7 @@ endr ld b, a .asm_250c push hl - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] ld c, a .asm_2510 ld a, [de] @@ -759,7 +759,7 @@ endr dec c jr nz, .asm_2510 pop hl - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] add l ld l, a jr nc, .asm_251e @@ -794,10 +794,10 @@ FillMapConnections:: ; 2524 ld e, a ld a, [NorthConnectionStripLocation + 1] ld d, a - ld a, [NorthMapObjectIndexBuffer1] - ld [hMapObjectIndexBuffer1], a - ld a, [NorthMapObjectIndexBuffer2] - ld [hMapObjectIndexBuffer2], a + ld a, [NorthMapObjectIndexBuffer] + ld [hMapObjectIndexBuffer], a + ld a, [NorthObjectStructIndexBuffer] + ld [hObjectStructIndexBuffer], a call FillNorthConnectionStrip .South @@ -817,10 +817,10 @@ FillMapConnections:: ; 2524 ld e, a ld a, [SouthConnectionStripLocation + 1] ld d, a - ld a, [SouthMapObjectIndexBuffer1] - ld [hMapObjectIndexBuffer1], a - ld a, [SouthMapObjectIndexBuffer2] - ld [hMapObjectIndexBuffer2], a + ld a, [SouthMapObjectIndexBuffer] + ld [hMapObjectIndexBuffer], a + ld a, [SouthObjectStructIndexBuffer] + ld [hObjectStructIndexBuffer], a call FillSouthConnectionStrip .West @@ -843,7 +843,7 @@ FillMapConnections:: ; 2524 ld a, [WestConnectionStripLength] ld b, a ld a, [WestConnectedMapWidth] - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call FillWestConnectionStrip .East @@ -866,7 +866,7 @@ FillMapConnections:: ; 2524 ld a, [EastConnectionStripLength] ld b, a ld a, [EastConnectedMapWidth] - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call FillEastConnectionStrip .Done @@ -882,7 +882,7 @@ FillSouthConnectionStrip:: ; 25d3 push de push hl - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld b, a .x ld a, [hli] @@ -892,7 +892,7 @@ FillSouthConnectionStrip:: ; 25d3 jr nz, .x pop hl - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] ld e, a ld d, 0 add hl, de @@ -917,7 +917,7 @@ FillEastConnectionStrip:: ; 25f6 .asm_25f6 ld a, [MapWidth] add 6 - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a push de @@ -933,13 +933,13 @@ FillEastConnectionStrip:: ; 25f6 inc de pop hl - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld e, a ld d, 0 add hl, de pop de - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] add e ld e, a jr nc, .asm_2617 @@ -1171,7 +1171,7 @@ CoordinatesEventText:: ; 2702 CheckObjectMask:: ; 2707 - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld e, a ld d, $0 ld hl, wObjectMasks @@ -1181,7 +1181,7 @@ CheckObjectMask:: ; 2707 ; 2712 MaskObject:: ; 2712 - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld e, a ld d, $0 ld hl, wObjectMasks @@ -1191,7 +1191,7 @@ MaskObject:: ; 2712 ; 271e UnmaskObject:: ; 271e - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld e, a ld d, $0 ld hl, wObjectMasks @@ -1463,7 +1463,7 @@ SaveScreen:: ; 289d ld de, XCoord + 1 ld a, [MapWidth] add $6 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld a, [wd151] and a jr z, .asm_28cb @@ -1477,7 +1477,7 @@ SaveScreen:: ; 289d .asm_28c0 ld de, wdcbf - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld c, a ld b, $0 add hl, bc @@ -1512,7 +1512,7 @@ LoadNeighboringBlockData:: ; 28e3 ld l, a ld a, [MapWidth] add $6 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld de, XCoord + 1 ld b, $6 ld c, $5 @@ -1537,7 +1537,7 @@ Function28f7:: ; 28f7 .asm_2908 pop hl - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld c, a ld b, $0 add hl, bc @@ -1552,15 +1552,15 @@ Function2914:: ; 2914 ld [TilePermissions], a call Function296c call Function294d - ld a, [MapX] + ld a, [PlayerMapX] ld d, a - ld a, [MapY] + ld a, [PlayerMapY] ld e, a call Function2a3c - ld [StandingTile], a + ld [PlayerStandingTile], a call Function29ff ret nz - ld a, [StandingTile] + ld a, [PlayerStandingTile] and 7 ld hl, .data_2945 add l @@ -1580,9 +1580,9 @@ Function2914:: ; 2914 ; 294d Function294d:: ; 294d - ld a, [MapX] + ld a, [PlayerMapX] ld d, a - ld a, [MapY] + ld a, [PlayerMapY] ld e, a push de inc e @@ -1598,9 +1598,9 @@ Function294d:: ; 294d ; 296c Function296c:: ; 296c - ld a, [MapX] + ld a, [PlayerMapX] ld d, a - ld a, [MapY] + ld a, [PlayerMapY] ld e, a push de dec d @@ -1725,10 +1725,10 @@ endr ld h, [hl] ld l, a - ld a, [MapX] + ld a, [PlayerMapX] add d ld d, a - ld a, [MapY] + ld a, [PlayerMapY] add e ld e, a ld a, [hl] @@ -1906,10 +1906,10 @@ CheckStandingOnXYTrigger:: ; 2ae7 call CheckTriggers ld b, a ; Load your current coordinates into de. This will be used to check if your position is in the xy-trigger table for the current map. - ld a, [MapX] + ld a, [PlayerMapX] sub 4 ld d, a - ld a, [MapY] + ld a, [PlayerMapY] sub 4 ld e, a diff --git a/home/map_objects.asm b/home/map_objects.asm index 0bfb4e98f..36750b1eb 100644 --- a/home/map_objects.asm +++ b/home/map_objects.asm @@ -21,7 +21,7 @@ Function180e:: ; 180e ld hl, UsedSprites + 2 ld c, SPRITE_GFX_LIST_CAPACITY - 1 ld b, a - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] cp 0 jr z, .nope ld a, b @@ -78,14 +78,14 @@ Function1836:: ; 1836 Function184a:: ; 184a - ld a, [StandingTile] + ld a, [PlayerStandingTile] call GetTileCollision ld b, a ret ; 1852 CheckOnWater:: ; 1852 - ld a, [StandingTile] + ld a, [PlayerStandingTile] call GetTileCollision sub 1 ret z @@ -209,7 +209,7 @@ CheckWaterfallTile:: ; 18bd ; 18c3 CheckStandingOnEntrance:: ; 18c3 - ld a, [StandingTile] + ld a, [PlayerStandingTile] cp $71 ; door ret z cp $79 @@ -232,16 +232,16 @@ GetMapObject:: ; 18d2 ; 18de -Function18de:: ; 18de +CheckObjectVisibility:: ; 18de ; Sets carry if the object is not visible on the screen. - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call GetMapObject ld hl, MAPOBJECT_OBJECT_STRUCT_ID add hl, bc ld a, [hl] cp -1 jr z, .not_visible - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a call GetObjectStruct and a ret @@ -326,7 +326,7 @@ CheckObjectTime:: ; 18f5 ; 194d Function194d:: ; 194d - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call GetMapObject call CopyObjectStruct ret @@ -335,22 +335,22 @@ Function194d:: ; 194d _CopyObjectStruct:: ; 1956 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call UnmaskObject - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] call GetMapObject callba CopyObjectStruct ret ; 1967 Function1967:: ; 1967 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call GetMapObject ld hl, MAPOBJECT_OBJECT_STRUCT_ID add hl, bc ld a, [hl] cp -1 - ret z + ret z ; already hidden ld [hl], -1 push af call Function1985 @@ -361,18 +361,18 @@ Function1967:: ; 1967 ; 1985 Function1985:: ; 1985 - ld hl, wd4cd + ld hl, wObjectFollow_Leader cp [hl] jr z, .ok - ld hl, wd4ce + ld hl, wObjectFollow_Follower cp [hl] ret nz .ok - callba Function581f + callba StopFollow ld a, -1 - ld [wd4cd], a - ld [wd4ce], a + ld [wObjectFollow_Leader], a + ld [wObjectFollow_Follower], a ret ; 199f @@ -413,11 +413,11 @@ Function19b8:: ; 19b8 cp $d ret nc ld b, a - ld a, [wd4cd] + ld a, [wObjectFollow_Leader] cp b jr nz, .ok ld a, -1 - ld [wd4cd], a + ld [wObjectFollow_Leader], a .ok ld a, b @@ -429,19 +429,19 @@ Function19b8:: ; 19b8 Function19e9:: ; 19e9 - ld [wc2e2], a + ld [wMovementPerson], a ld a, [hROMBank] - ld [wc2e3], a + ld [wMovementDataPointer], a ld a, l - ld [wc2e3 + 1], a + ld [wMovementDataPointer + 1], a ld a, h - ld [wc2e3 + 2], a - ld a, [wc2e2] - call Function18de + ld [wMovementDataPointer + 2], a + ld a, [wMovementPerson] + call CheckObjectVisibility ret c - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, bc - ld [hl], $14 + ld [hl], SPRITEMOVEDATA_14 ld hl, OBJECT_09 add hl, bc ld [hl], 0 @@ -486,7 +486,7 @@ FindFirstEmptyObjectStruct:: ; 1a13 Function1a2f:: ; 1a2f - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld a, [hl] cp OBJECT_STRUCT_3_DATA_HEIGHT @@ -544,7 +544,7 @@ Function1a61:: ; 1a61 ; 1a71 Function1a71:: ; 1a71 - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, de ld [hl], a push de @@ -32,8 +32,8 @@ hJoyDown EQU $ffa8 hJoyLast EQU $ffa9 hInMenu EQU $ffaa -hMapObjectIndexBuffer1 EQU $ffaf -hMapObjectIndexBuffer2 EQU $ffb0 +hMapObjectIndexBuffer EQU $ffaf +hObjectStructIndexBuffer EQU $ffb0 hPastLeadingZeroes EQU $ffb3 @@ -2345,14 +2345,14 @@ CheckFacingObject:: ; 6fd9 call CheckCounterTile jr nz, .asm_6ff1 - ld a, [MapX] + ld a, [PlayerMapX] sub d cpl inc a add d ld d, a - ld a, [MapY] + ld a, [PlayerMapY] sub e cpl inc a @@ -2362,7 +2362,7 @@ CheckFacingObject:: ; 6fd9 .asm_6ff1 ld bc, ObjectStructs ; redundant ld a, 0 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a call Function7041 ret nc ld hl, OBJECT_DIRECTION_WALKING @@ -2390,7 +2390,7 @@ Function7009: ; 7009 ; 7015 Function7015: ; unreferenced - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] call GetObjectStruct call Function7021 call Function7041 @@ -2430,7 +2430,7 @@ Function7041: ; 7041 ld bc, ObjectStructs xor a .loop - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a call GetObjectSprite jr z, .nope ld hl, OBJECT_FLAGS1 @@ -2458,9 +2458,9 @@ Function7041: ; 7041 jr nz, .ok .ok2 - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld l, a - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] cp l jr nz, .setcarry @@ -2475,9 +2475,9 @@ Function7041: ; 7041 ld a, [hl] cp e jr nz, .nope - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld l, a - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] cp l jr nz, .setcarry @@ -2486,7 +2486,7 @@ Function7041: ; 7041 add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -2590,20 +2590,20 @@ Function70ed: ; 70ed ; 7113 Function7113: ; unreferenced - ld a, [MapX] + ld a, [PlayerMapX] ld d, a - ld a, [MapY] + ld a, [PlayerMapY] ld e, a ld bc, ObjectStructs xor a .loop - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a call GetObjectSprite jr z, .asm_7160 - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, bc ld a, [hl] - cp $15 + cp SPRITEMOVEDATA_15 jr nz, .asm_7136 call Function7171 jr c, .asm_716f @@ -2620,7 +2620,7 @@ Function7113: ; unreferenced ld a, [hl] cp d jr nz, .asm_714e - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] cp $0 jr z, .asm_7160 jr .asm_716f @@ -2643,7 +2643,7 @@ Function7113: ; unreferenced add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -3198,8 +3198,8 @@ Function8000: ; 8000 GetSpawnCoord: ; 8029 ld a, -1 - ld [wd4cd], a - ld [wd4ce], a + ld [wObjectFollow_Leader], a + ld [wObjectFollow_Follower], a ld a, $0 ld hl, PlayerObjectTemplate call Function19a6 @@ -3221,10 +3221,10 @@ GetSpawnCoord: ; 8029 .ok ld [hl], e ld a, $0 - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld bc, MapObjects ld a, $0 - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a ld de, ObjectStructs call Function8116 ld a, $0 @@ -3269,7 +3269,7 @@ PlayerSpawn_ConvertCoords: ; 808f Function80a1:: ; 80a1 ld a, b - call Function18de + call CheckObjectVisibility ret c ld hl, OBJECT_MAP_X add hl, bc @@ -3277,7 +3277,7 @@ Function80a1:: ; 80a1 ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld b, a call CopyDECoordsToMapObject and a @@ -3288,26 +3288,26 @@ RefreshPlayerCoords: ; 80b8 ld a, [XCoord] add 4 ld d, a - ld hl, MapX + ld hl, PlayerMapX sub [hl] ld [hl], d ld hl, MapObjects + MAPOBJECT_X_COORD ld [hl], d - ld hl, MapX2 + ld hl, PlayerNextMapX ld [hl], d ld d, a ld a, [YCoord] add 4 ld e, a - ld hl, MapY + ld hl, PlayerMapY sub [hl] ld [hl], e ld hl, MapObjects + MAPOBJECT_Y_COORD ld [hl], e - ld hl, MapY2 + ld hl, PlayerNextMapY ld [hl], e ld e, a - ld a, [wd4cd] + ld a, [wObjectFollow_Leader] cp $0 ret nz ret @@ -3322,12 +3322,12 @@ CopyObjectStruct:: ; 80e7 ld a, 1 ld de, OBJECT_STRUCT_LENGTH .loop - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a ld a, [hl] and a jr z, .done add hl, de - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] inc a cp NUM_OBJECT_STRUCTS jr nz, .loop @@ -3354,11 +3354,11 @@ Function8116: ; 8116 ; 811d Function811d: ; 811d - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] ld hl, MAPOBJECT_OBJECT_STRUCT_ID add hl, bc ld [hl], a - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld [wc2f0], a ld hl, MAPOBJECT_SPRITE add hl, bc @@ -3406,7 +3406,7 @@ Function8177: ; 8177 ld bc, MapObjects + OBJECT_LENGTH ld a, 1 .loop - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld hl, MAPOBJECT_SPRITE add hl, bc ld a, [hl] @@ -3447,7 +3447,7 @@ Function8177: ; 8177 add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] inc a cp NUM_OBJECTS jr nz, .loop @@ -3491,7 +3491,7 @@ Function81ea: ; 81ea ld bc, MapObjects + OBJECT_LENGTH ld a, 1 .loop - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld hl, MAPOBJECT_SPRITE add hl, bc ld a, [hl] @@ -3526,7 +3526,7 @@ Function81ea: ; 81ea add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] inc a cp NUM_OBJECTS jr nz, .loop @@ -3549,7 +3549,7 @@ Function823e: ; 823e ld bc, MapObjects + OBJECT_LENGTH ld a, 1 .loop - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ld hl, MAPOBJECT_SPRITE add hl, bc ld a, [hl] @@ -3584,7 +3584,7 @@ Function823e: ; 823e add hl, bc ld b, h ld c, l - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] inc a cp NUM_OBJECTS jr nz, .loop @@ -3773,13 +3773,13 @@ Function8388: ; 8388 Function839e:: ; 839e push bc ld a, c - call Function18de + call CheckObjectVisibility ld d, b ld e, c pop bc ret c ld a, b - call Function18de + call CheckObjectVisibility ret c ld hl, OBJECT_MAP_X add hl, bc @@ -3841,13 +3841,13 @@ Function839e:: ; 839e ld hl, OBJECT_SPRITE_Y add hl, de ld [hl], a - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] ld hl, OBJECT_32 add hl, de ld [hl], a - ld hl, OBJECT_03 + ld hl, OBJECT_MOVEMENTTYPE add hl, de - ld [hl], $1a + ld [hl], SPRITEMOVEDATA_1A ld hl, OBJECT_09 add hl, de ld [hl], $0 @@ -3977,7 +3977,7 @@ Function848a: ; 848a ; 849d Function849d: ; 849d - ld a, [wd4cd] + ld a, [wObjectFollow_Leader] call GetObjectStruct ld hl, OBJECT_MAP_X add hl, bc @@ -3985,7 +3985,7 @@ Function849d: ; 849d ld hl, OBJECT_MAP_Y add hl, bc ld e, [hl] - ld a, [wd4ce] + ld a, [wObjectFollow_Follower] call GetObjectStruct ld hl, OBJECT_MAP_X add hl, bc @@ -5325,7 +5325,7 @@ Script_UsedWaterfall: ; 0xcb20 CheckContinueWaterfall: ; cb38 xor a ld [ScriptVar], a - ld a, [StandingTile] + ld a, [PlayerStandingTile] call CheckWaterfallTile ret z callba MobileFn_1060c1 @@ -6067,7 +6067,7 @@ GetFacingObject: ; cf0d callba CheckFacingObject jr nc, .fail - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] call GetObjectStruct ld hl, OBJECT_MAP_OBJECT_INDEX add hl, bc @@ -17687,7 +17687,7 @@ INCLUDE "gfx/overworld/sprite_headers.asm" Function1499a:: ; 1499a - ld a, [StandingTile] + ld a, [PlayerStandingTile] cp $60 jr z, .asm_149ad cp $68 @@ -17704,7 +17704,7 @@ Function1499a:: ; 1499a ; 149af Function149af:: ; 149af - ld a, [StandingTile] + ld a, [PlayerStandingTile] cp $70 jr z, .asm_149c4 cp $76 @@ -17724,7 +17724,7 @@ Function149af:: ; 149af CheckWarpCollision: ; 149c6 ld de, 1 ld hl, .blocks - ld a, [StandingTile] + ld a, [PlayerStandingTile] call IsInArray ret ; 149d3 @@ -17743,7 +17743,7 @@ CheckWarpCollision: ; 149c6 ; 149dd CheckGrassCollision:: ; 149dd - ld a, [StandingTile] + ld a, [PlayerStandingTile] ld hl, .blocks ld de, 1 call IsInArray @@ -17783,7 +17783,7 @@ CheckCutCollision: ; 149f5 ; 14a07 Function14a07:: ; 14a07 - ld a, [StandingTile] + ld a, [PlayerStandingTile] ld de, $001f cp $71 ; door ret z @@ -41815,15 +41815,15 @@ Function4aad3: ; 4aad3 ld c, a xor a - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a .loop push bc push hl ld e, 0 callba Function8e83f - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] inc a - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a pop hl pop bc dec c @@ -46604,7 +46604,7 @@ Function503e0: ; 503e0 ret z ld c, a xor a - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a .asm_503ea push bc push hl @@ -46612,9 +46612,9 @@ Function503e0: ; 503e0 ld a, BANK(Function8e83f) ld e, $0 rst FarCall - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] inc a - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a pop hl pop bc dec c @@ -49273,7 +49273,7 @@ CheckTileMovement: ; 800b7 ; Tiles such as waterfalls and warps move the player ; in a given direction, overriding input. - ld a, [StandingTile] + ld a, [PlayerStandingTile] ld c, a call CheckWhirlpoolTile jr c, .asm_800c4 @@ -49434,7 +49434,7 @@ TryStep: ; 8016b cp 2 jr z, .asm_801be - ld a, [StandingTile] + ld a, [PlayerStandingTile] call CheckIceTile jr nc, .ice @@ -49521,7 +49521,7 @@ TrySurfStep: ; 801c0 TryJumpLedge: ; 801f3 - ld a, [StandingTile] + ld a, [PlayerStandingTile] ld e, a and $f0 cp $a0 ; ledge @@ -49573,7 +49573,7 @@ CheckEdgeWarp: ; 80226 ld d, 0 ld hl, .EdgeWarps add hl, de - ld a, [StandingTile] + ld a, [PlayerStandingTile] cp [hl] jr nz, .asm_80259 @@ -49757,7 +49757,7 @@ GetMovementAction: ; 802ec ; tile collision pointer .table1 db STANDING, FACE_CURRENT, 0, 0 - dw StandingTile + dw PlayerStandingTile .table2 db RIGHT, FACE_RIGHT, 1, 0 dw TileRight @@ -49773,13 +49773,13 @@ GetMovementAction: ; 802ec IsNPCInFront: ; 80341 ld a, 0 - ld [hMapObjectIndexBuffer1], a - ld a, [MapX] + ld [hMapObjectIndexBuffer], a + ld a, [PlayerMapX] ld d, a ld a, [WalkingX] add d ld d, a - ld a, [MapY] + ld a, [PlayerMapY] ld e, a ld a, [WalkingY] add e @@ -49963,7 +49963,7 @@ Function80404:: ; 80404 jr z, .asm_80420 cp $f0 jr z, .asm_80420 - ld a, [StandingTile] + ld a, [PlayerStandingTile] call CheckIceTile jr nc, .asm_8041e ld a, [PlayerState] @@ -58179,7 +58179,7 @@ Function8e862: ; 8e862 (23:6862) Function8e86c: ; 8e86c (23:686c) push bc - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] ld hl, PartyMon1Item ld bc, PartyMon2 - PartyMon1 call AddNTimes @@ -58251,7 +58251,7 @@ Function8e8d5: ; 8e8d5 (23:68d5) Function8e8df: ; 8e8df (23:68df) push bc - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] ld hl, PartyMon1Item ld bc, $30 call AddNTimes @@ -58279,7 +58279,7 @@ Function8e8df: ; 8e8df (23:68df) Function8e908: ; 8e908 (23:6908) ld a, [wc3b7] push af - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] ld hl, PartySpecies ld e, a ld d, $0 @@ -58288,7 +58288,7 @@ Function8e908: ; 8e908 (23:6908) call ReadMonMenuIcon ld [CurIcon], a call Function8e9db - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] rept 4 add a endr @@ -58305,7 +58305,7 @@ endr Function8e936: ; 8e936 (23:6936) push bc - ld a, [hMapObjectIndexBuffer2] + ld a, [hObjectStructIndexBuffer] ld b, a call Function8e94c ld a, b @@ -77866,11 +77866,11 @@ Function104263: ; 104263 (41:4263) ld c, $0 Function104265: ; 104265 (41:4265) -; back up the value of c to hMapObjectIndexBuffer1 - ld a, [hMapObjectIndexBuffer1] +; back up the value of c to hMapObjectIndexBuffer + ld a, [hMapObjectIndexBuffer] push af ld a, c - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ; for each row on the screen ld c, SCREEN_HEIGHT @@ -77886,7 +77886,7 @@ Function104265: ; 104265 (41:4265) jr nz, .loop2 ; load the original value of c into hl 12 times - ld a, [hMapObjectIndexBuffer1] + ld a, [hMapObjectIndexBuffer] ld b, 12 .loop3 ld [hli], a @@ -77896,9 +77896,9 @@ Function104265: ; 104265 (41:4265) dec c jr nz, .loop1 -; restore the original value of hMapObjectIndexBuffer1 +; restore the original value of hMapObjectIndexBuffer pop af - ld [hMapObjectIndexBuffer1], a + ld [hMapObjectIndexBuffer], a ret @@ -78411,7 +78411,7 @@ CheckMovingOffEdgeOfMap:: ; 104820 (41:4820) and a ret .down - ld a, [MapY] + ld a, [PlayerMapY] sub 4 ld b, a ld a, [MapHeight] @@ -78421,21 +78421,21 @@ CheckMovingOffEdgeOfMap:: ; 104820 (41:4820) and a ret .up - ld a, [MapY] + ld a, [PlayerMapY] sub 4 cp -1 jr z, .ok and a ret .left - ld a, [MapX] + ld a, [PlayerMapX] sub $4 cp -1 jr z, .ok and a ret .right - ld a, [MapX] + ld a, [PlayerMapX] sub 4 ld b, a ld a, [MapWidth] diff --git a/misc/mobile_45.asm b/misc/mobile_45.asm index 2d54431d3..cd8406cbd 100644 --- a/misc/mobile_45.asm +++ b/misc/mobile_45.asm @@ -14428,7 +14428,7 @@ Function11ad1b: ; 11ad1b ld a, [wcfa9] ld [wcd82], a dec a - ld [hMapObjectIndexBuffer2], a + ld [hObjectStructIndexBuffer], a ld a, $10 ld [wc3b7], a ld hl, Function8e83f @@ -306,12 +306,12 @@ ScriptVar:: ; c2dd wc2de:: ds 1 wc2df:: ds 3 -wc2e2:: ds 1 -wc2e3:: ds 3 +wMovementPerson:: ds 1 +wMovementDataPointer:: ds 3 wc2e6:: ds 4 wc2ea:: ds 1 -wc2eb:: ds 1 -wc2ec:: ds 4 +wMovementPointer:: ds 2 + ds 3 wc2f0:: ds 1 wc2f1:: ds 1 wc2f2:: ds 1 @@ -1649,9 +1649,9 @@ NorthConnectionStripPointer:: ; d1ab ds 2 NorthConnectionStripLocation:: ; d1ad ds 2 -NorthMapObjectIndexBuffer1:: ; d1af +NorthMapObjectIndexBuffer:: ; d1af ds 1 -NorthMapObjectIndexBuffer2:: ; d1b0 +NorthObjectStructIndexBuffer:: ; d1b0 ds 1 NorthConnectionStripYOffset:: ; d1b1 ds 1 @@ -1669,9 +1669,9 @@ SouthConnectionStripPointer:: ; d1b7 ds 2 SouthConnectionStripLocation:: ; d1b9 ds 2 -SouthMapObjectIndexBuffer1:: ; d1bb +SouthMapObjectIndexBuffer:: ; d1bb ds 1 -SouthMapObjectIndexBuffer2:: ; d1bc +SouthObjectStructIndexBuffer:: ; d1bc ds 1 SouthConnectionStripYOffset:: ; d1bd ds 1 @@ -2036,85 +2036,57 @@ CurDay:: ; d4cb ds 1 ds 1 -wd4cd:: ds 1 -wd4ce:: ds 1 +wObjectFollow_Leader:: ds 1 +wObjectFollow_Follower:: ds 1 wd4cf:: ds 1 wd4d0:: ds 1 -wd4d1:: ds 5 +wd4d1:: ds 1 + ds 4 ObjectStructs:: - -PlayerStruct:: ; d4d6 - ds 2 -PlayerSprite:: ; d4d8 - ds 1 +object_struct: MACRO +\1Struct:: +\1Sprite:: ds 1 +\1MapObjectIndex:: ds 1 +\1SpriteTile:: ds 1 +\1MovementType:: ds 1 +\1Flags:: ds 2 +\1Palette:: ds 1 +\1Walking:: ds 1 +\1Direction:: ds 1 + ds 1 +\1StepDuration:: ds 1 +\1Action:: ds 1 +\1Object12:: ds 1 +\1Facing:: ds 1 +\1StandingTile:: ds 1 +\1NextTile:: ds 1 +\1MapX:: ds 1 +\1MapY:: ds 1 +\1NextMapX:: ds 1 +\1NextMapY:: ds 1 ds 3 -PlayerPalette:: ; d4dc - ds 1 - ds 1 -PlayerDirection:: ; d4de -; uses bits 2 and 3 / $0c / %00001100 -; %00 down -; %01 up -; %10 left -; $11 right - ds 1 - ds 2 -PlayerAction:: ; d4e1 -; 1 standing -; 2 walking -; 4 spinning -; 6 fishing - ds 1 -wd4e2:: ds 1 -PlayerFacing:: ; d4e3 - ds 1 -StandingTile:: ; d4e4 - ds 1 -StandingTile2:: ; d4e5 - ds 1 -; relative to the map struct including borders -MapX:: ; d4e6 - ds 1 -MapY:: ; d4e7 - ds 1 -MapX2:: ; d4e8 - ds 1 -MapY2:: ; d4e9 - ds 1 - ds 3 -; relative to the bg map, in px -PlayerSpriteX:: ; d4ed - ds 1 -PlayerSpriteY:: ; d4ee - ds 1 - ds 15 - -ObjectStruct1:: ; d4fe - ds OBJECT_STRUCT_LENGTH -ObjectStruct2:: ; d526 - ds OBJECT_STRUCT_LENGTH -ObjectStruct3:: ; d54e - ds OBJECT_STRUCT_LENGTH -ObjectStruct4:: ; d576 - ds OBJECT_STRUCT_LENGTH -ObjectStruct5:: ; d59e - ds OBJECT_STRUCT_LENGTH -ObjectStruct6:: ; d5c6 - ds OBJECT_STRUCT_LENGTH -ObjectStruct7:: ; d5ee - ds OBJECT_STRUCT_LENGTH -ObjectStruct8:: ; d616 - ds OBJECT_STRUCT_LENGTH -ObjectStruct9:: ; d63e - ds OBJECT_STRUCT_LENGTH -ObjectStruct10:: ; d666 - ds OBJECT_STRUCT_LENGTH -ObjectStruct11:: ; d68e - ds OBJECT_STRUCT_LENGTH -ObjectStruct12:: ; d6b6 - ds OBJECT_STRUCT_LENGTH -; d6de +\1SpriteX:: ds 1 +\1SpriteY:: ds 1 +\1SpriteXOffset:: ds 1 +\1SpriteYOffset:: ds 1 + ds 6 + ds 7 +ENDM + + object_struct Player + object_struct Object1 + object_struct Object2 + object_struct Object3 + object_struct Object4 + object_struct Object5 + object_struct Object6 + object_struct Object7 + object_struct Object8 + object_struct Object9 + object_struct Object10 + object_struct Object11 + object_struct Object12 wd6de:: ds 64 |