aboutsummaryrefslogtreecommitdiff
path: root/entity/utils.gbasm
diff options
context:
space:
mode:
Diffstat (limited to 'entity/utils.gbasm')
-rw-r--r--entity/utils.gbasm26
1 files changed, 26 insertions, 0 deletions
diff --git a/entity/utils.gbasm b/entity/utils.gbasm
index 8a44d6d..8394f9f 100644
--- a/entity/utils.gbasm
+++ b/entity/utils.gbasm
@@ -80,3 +80,29 @@ Get_Position_After_Move: ; entity (whatever alignement) in HL, direction to test
POP DE
POP HL
RET
+
+Entity_idx_to_entity_list_ptr: ; loaded idx in A, return in BC
+ PUSH DE
+
+ LD D, high($mem_loaded_entities_indices)
+ LD E, low($mem_loaded_entities_indices)
+ ADD E
+ LD E, A
+ LD A, (DE)
+ LD C, A
+ LD B, $00
+ SLA C
+ RL B
+ SLA C
+ RL B
+ SLA C
+ RL B
+ LD A, C
+ ADD low(=Entity_list)
+ LD C, A
+ LD A, B
+ ADC high(=Entity_list)
+ LD B, A
+
+ POP DE
+ RET