object_struct

This commit is contained in:
PikalaxALT 2015-11-02 11:15:32 -05:00
parent 76e2ea534f
commit d35cfad0de
15 changed files with 333 additions and 361 deletions

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

164
main.asm
View File

@ -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]

View File

@ -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

132
wram.asm
View File

@ -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
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
\1SpriteX:: ds 1
\1SpriteY:: ds 1
\1SpriteXOffset:: ds 1
\1SpriteYOffset:: ds 1
ds 6
ds 7
ENDM
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
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