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

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