summaryrefslogtreecommitdiff
path: root/engine/overworld/events.asm
diff options
context:
space:
mode:
authorRangi <remy.oukaour+rangi42@gmail.com>2020-06-17 22:12:04 -0400
committerRangi <remy.oukaour+rangi42@gmail.com>2020-06-17 22:12:04 -0400
commit50e182e83180dc6bfd012ddc26e7dc07052a89a5 (patch)
treec2dd3204ff15479469b89b537c52bf7d7f013d5d /engine/overworld/events.asm
parentcc460a17b0b99208592ca31de99f526fce2bf5ad (diff)
Harmonize engine/overworld with pokegold
Diffstat (limited to 'engine/overworld/events.asm')
-rw-r--r--engine/overworld/events.asm303
1 files changed, 1 insertions, 302 deletions
diff --git a/engine/overworld/events.asm b/engine/overworld/events.asm
index 7c79d41df..f78635cb7 100644
--- a/engine/overworld/events.asm
+++ b/engine/overworld/events.asm
@@ -1338,305 +1338,4 @@ DoBikeStep::
xor a
ret
-ClearCmdQueue::
- ld hl, wCmdQueue
- ld de, CMDQUEUE_ENTRY_SIZE
- ld c, CMDQUEUE_CAPACITY
- xor a
-.loop
- ld [hl], a
- add hl, de
- dec c
- jr nz, .loop
- ret
-
-HandleCmdQueue::
- ld hl, wCmdQueue
- xor a
-.loop
- ldh [hMapObjectIndexBuffer], a
- ld a, [hl]
- and a
- jr z, .skip
- push hl
- ld b, h
- ld c, l
- call HandleQueuedCommand
- pop hl
-
-.skip
- ld de, CMDQUEUE_ENTRY_SIZE
- add hl, de
- ldh a, [hMapObjectIndexBuffer]
- inc a
- cp CMDQUEUE_CAPACITY
- jr nz, .loop
- ret
-
-Unreferenced_GetNthCmdQueueEntry:
- ld hl, wCmdQueue
- ld bc, CMDQUEUE_ENTRY_SIZE
- call AddNTimes
- ld b, h
- ld c, l
- ret
-
-WriteCmdQueue::
- push bc
- push de
- call .GetNextEmptyEntry
- ld d, h
- ld e, l
- pop hl
- pop bc
- ret c
- ld a, b
- ld bc, CMDQUEUE_ENTRY_SIZE - 1
- call FarCopyBytes
- xor a
- ld [hl], a
- ret
-
-.GetNextEmptyEntry:
- ld hl, wCmdQueue
- ld de, CMDQUEUE_ENTRY_SIZE
- ld c, CMDQUEUE_CAPACITY
-.loop
- ld a, [hl]
- and a
- jr z, .done
- add hl, de
- dec c
- jr nz, .loop
- scf
- ret
-
-.done
- ld a, CMDQUEUE_CAPACITY
- sub c
- and a
- ret
-
-DelCmdQueue::
- ld hl, wCmdQueue
- ld de, CMDQUEUE_ENTRY_SIZE
- ld c, CMDQUEUE_CAPACITY
-.loop
- ld a, [hl]
- cp b
- jr z, .done
- add hl, de
- dec c
- jr nz, .loop
- and a
- ret
-
-.done
- xor a
- ld [hl], a
- scf
- ret
-
-_DelCmdQueue:
- ld hl, CMDQUEUE_TYPE
- add hl, bc
- ld [hl], 0
- ret
-
-HandleQueuedCommand:
- ld hl, CMDQUEUE_TYPE
- add hl, bc
- ld a, [hl]
- cp NUM_CMDQUEUE_TYPES
- jr c, .okay
- xor a
-
-.okay
- ld e, a
- ld d, 0
- ld hl, .Jumptable
- add hl, de
- add hl, de
- add hl, de
- ld a, [hli]
- push af
- ld a, [hli]
- ld h, [hl]
- ld l, a
- pop af
- rst FarCall
- ret
-
-.Jumptable:
- dba CmdQueue_Null
- dba CmdQueue_Null2
- dba CmdQueue_StoneTable
- dba CmdQueue_Type3
- dba CmdQueue_Type4
-
-CmdQueueAnonymousJumptable:
- ld hl, CMDQUEUE_05
- add hl, bc
- ld a, [hl]
- pop hl
- rst JumpTable
- ret
-
-CmdQueueAnonJT_Increment:
- ld hl, CMDQUEUE_05
- add hl, bc
- inc [hl]
- ret
-
-CmdQueueAnonJT_Decrement:
- ld hl, CMDQUEUE_05
- add hl, bc
- dec [hl]
- ret
-
-CmdQueue_Null:
- ret
-
-CmdQueue_Null2:
- call ret_2f3e
- ret
-
-CmdQueue_Type4:
- call CmdQueueAnonymousJumptable
- ; anonymous dw
- dw .zero
- dw .one
-
-.zero
- ldh a, [hSCY]
- ld hl, CMDQUEUE_04
- add hl, bc
- ld [hl], a
- call CmdQueueAnonJT_Increment
-.one
- ld hl, CMDQUEUE_ADDR
- add hl, bc
- ld a, [hl]
- dec a
- ld [hl], a
- jr z, .finish
- and 1
- jr z, .add
- ld hl, CMDQUEUE_02
- add hl, bc
- ldh a, [hSCY]
- sub [hl]
- ldh [hSCY], a
- ret
-
-.add
- ld hl, CMDQUEUE_02
- add hl, bc
- ldh a, [hSCY]
- add [hl]
- ldh [hSCY], a
- ret
-
-.finish
- ld hl, CMDQUEUE_04
- add hl, bc
- ld a, [hl]
- ldh [hSCY], a
- call _DelCmdQueue
- ret
-
-CmdQueue_Type3:
- call CmdQueueAnonymousJumptable
- ; anonymous dw
- dw .zero
- dw .one
- dw .two
-
-.zero
- call .IsPlayerFacingDown
- jr z, .PlayerNotFacingDown
- call CmdQueueAnonJT_Increment
-.one
- call .IsPlayerFacingDown
- jr z, .PlayerNotFacingDown
- call CmdQueueAnonJT_Increment
-
- ld hl, CMDQUEUE_02
- add hl, bc
- ld a, [hl]
- ld [wd173], a
- ret
-
-.two
- call .IsPlayerFacingDown
- jr z, .PlayerNotFacingDown
- call CmdQueueAnonJT_Decrement
-
- ld hl, CMDQUEUE_03
- add hl, bc
- ld a, [hl]
- ld [wd173], a
- ret
-
-.PlayerNotFacingDown:
- ld a, $7f
- ld [wd173], a
- ld hl, CMDQUEUE_05
- add hl, bc
- ld [hl], 0
- ret
-
-.IsPlayerFacingDown:
- push bc
- ld bc, wPlayerStruct
- call GetSpriteDirection
- and a
- pop bc
- ret
-
-CmdQueue_StoneTable:
- ld de, wPlayerStruct
- ld a, NUM_OBJECT_STRUCTS
-.loop
- push af
-
- ld hl, OBJECT_SPRITE
- add hl, de
- ld a, [hl]
- and a
- jr z, .next
-
- ld hl, OBJECT_MOVEMENTTYPE
- add hl, de
- ld a, [hl]
- cp SPRITEMOVEDATA_STRENGTH_BOULDER
- jr nz, .next
-
- ld hl, OBJECT_NEXT_TILE
- add hl, de
- ld a, [hl]
- call CheckPitTile
- jr nz, .next
-
- ld hl, OBJECT_DIRECTION_WALKING
- add hl, de
- ld a, [hl]
- cp STANDING
- jr nz, .next
- call HandleStoneQueue
- jr c, .fall_down_hole
-
-.next
- ld hl, OBJECT_LENGTH
- add hl, de
- ld d, h
- ld e, l
-
- pop af
- dec a
- jr nz, .loop
- ret
-
-.fall_down_hole
- pop af
- ret
+INCLUDE "engine/overworld/cmd_queue.asm"