diff options
author | Astatin <[email protected]> | 2024-11-05 19:42:46 +0900 |
---|---|---|
committer | Astatin <[email protected]> | 2024-11-05 19:42:46 +0900 |
commit | 6c8f7c72cb96ce59ffcda5279225381ecb394b4f (patch) | |
tree | 941e6b464bd0fe90b325ae792b3a6fdbdc9b40fe /entity | |
parent | 14ae7d8def1159b395bf1176b351651cbd98ba19 (diff) |
Add a jump table macro
Diffstat (limited to 'entity')
-rw-r--r-- | entity/actions.gbasm | 19 | ||||
-rw-r--r-- | entity/bunny.gbasm | 23 | ||||
-rw-r--r-- | entity/init.gbasm | 2 |
3 files changed, 5 insertions, 39 deletions
diff --git a/entity/actions.gbasm b/entity/actions.gbasm index 524c28d..f70c320 100644 --- a/entity/actions.gbasm +++ b/entity/actions.gbasm @@ -30,13 +30,6 @@ Entity_Action: INC HL LD E, (HL) - LD D, $00 - - SLA E - RL D - SLA E - RL D - PUSH HL LD A, L @@ -45,18 +38,8 @@ Entity_Action: LD BC, =Turn_Jump_table LD A, E - ADD C - LD E, A - LD A, D - ADC B - LD D, A - ; This is confusing but this thing is actually CALL DE - LD BC, =Entity_Action.interaction_end - PUSH BC - PUSH DE - RET - Entity_Action.interaction_end: + .JUMP_TABLE POP HL diff --git a/entity/bunny.gbasm b/entity/bunny.gbasm index f180e9e..4e27929 100644 --- a/entity/bunny.gbasm +++ b/entity/bunny.gbasm @@ -169,28 +169,11 @@ Move_Bunny: PUSH HL PUSH BC - LD E, (HL) - LD D, $00 - - SLA E - RL D - SLA E - RL D - LD BC, =Interaction_Jump_table - LD A, E - ADD C - LD E, A - LD A, D - ADC B - LD D, A - - LD BC, =Interaction.interaction_end - PUSH BC - PUSH DE - RET + LD A, (HL) + + .JUMP_TABLE - Interaction.interaction_end: POP BC POP HL diff --git a/entity/init.gbasm b/entity/init.gbasm index c5f0b0e..4281327 100644 --- a/entity/init.gbasm +++ b/entity/init.gbasm @@ -122,7 +122,7 @@ Initialize_Fox: LD (HL+), A ; Action - LD A, $01 + LD A, $02 LD (HL+), A LD A, $04 |