aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAstatin <[email protected]>2024-10-15 17:03:35 +0900
committerAstatin <[email protected]>2024-10-15 17:03:35 +0900
commitf5183a78e20deaa9a294250873f3b5ee5cedafa3 (patch)
treef426034fa307b2dabdca6980ec65a016653decc2
parentb4beaa96c563d3af9e41c0801f9fbba9d1acdccd (diff)
Increase size of entities array
-rw-r--r--definitions.gbasm22
-rw-r--r--entity/actions.gbasm8
-rw-r--r--entity/bunny.gbasm8
-rw-r--r--entity/collisions.gbasm4
-rw-r--r--entity/display.gbasm4
-rw-r--r--entity/init.gbasm21
-rw-r--r--entity/utils.gbasm2
7 files changed, 45 insertions, 24 deletions
diff --git a/definitions.gbasm b/definitions.gbasm
index d623e55..da0a9ab 100644
--- a/definitions.gbasm
+++ b/definitions.gbasm
@@ -16,10 +16,10 @@
.DEFINE mem_button_direction ($c002)
.DEFINE mem_button_action ($c003)
.DEFINE mem_moving_animation_step ($c004)
-.DEFINE mem_bunny_sprite ($c980)
-.DEFINE mem_bunny_x ($c981)
-.DEFINE mem_bunny_y ($c982)
-.DEFINE mem_bunny_direction ($c983)
+.DEFINE mem_bunny_sprite ($cb00)
+.DEFINE mem_bunny_x ($cb01)
+.DEFINE mem_bunny_y ($cb02)
+.DEFINE mem_bunny_direction ($cb03)
.DEFINE mem_viewport_x ($c008)
.DEFINE mem_viewport_y ($c009)
.DEFINE mem_rng_state_1 ($c00a) ; 2 bytes
@@ -72,23 +72,23 @@
; _padding: u24
; }
-.DEFINE mem_entities_list $c980 ; Until c9ff
+.DEFINE mem_oam_buffer $ca00 ; Until $ca9f
+.DEFINE mem_oam_buffer_high $ca
+
+.DEFINE mem_entities_list $cb00 ; Until cbff
; struct entity {
; sprite: u8,
; x: u8,
; y: u8,
; direction: u8 (animation = bit 7-4, bit 3 = is_moving, bit 2-0: direction),
-; ai_function_pointer: 16
-; _padding: u16
+; ai_function_pointer: u16
+; health: u8
+; _padding: u72
;
; # SANTA CHRISTMAS LIST PLEASE #
; health, max health, list of possible attacks, maybe remaining attacks ? AI status (blind, scared, slow, etc..)
-;
; }
-.DEFINE mem_oam_buffer $ca00 ; Until $ca9f
-.DEFINE mem_oam_buffer_high $ca
-
.DEFINE enum_direction_left $01
.DEFINE enum_direction_right $02
.DEFINE enum_direction_up $03
diff --git a/entity/actions.gbasm b/entity/actions.gbasm
index c001609..9f46123 100644
--- a/entity/actions.gbasm
+++ b/entity/actions.gbasm
@@ -37,7 +37,7 @@ Entity_Action:
PUSH HL
LD A, L
- AND $f8
+ AND $f0
LD L, A
; This is confusing but this thing is actually CALL DE
@@ -51,8 +51,8 @@ Entity_Action:
Entity_Action.skip:
LD A, L
- AND $f8
- ADD $08
+ AND $f0
+ ADD $10
LD L, A
RET
@@ -259,7 +259,7 @@ Fox_AI:
Fox_AI.End_movement.end:
LD A, L
- AND $f8
+ AND $f0
LD L, A
INC HL
LD A, B
diff --git a/entity/bunny.gbasm b/entity/bunny.gbasm
index c9a55c2..fa44530 100644
--- a/entity/bunny.gbasm
+++ b/entity/bunny.gbasm
@@ -109,4 +109,12 @@ Move_Bunny:
LD $mem_viewport_y, A
End_movement.end:
+ Check_End_Action:
+ LD A, $mem_bunny_direction
+ AND $f0
+ CP $10
+ JR NZ, =Check_End_Action.end
+
+ Check_End_Action.end:
+
RET
diff --git a/entity/collisions.gbasm b/entity/collisions.gbasm
index 186af65..3edc701 100644
--- a/entity/collisions.gbasm
+++ b/entity/collisions.gbasm
@@ -110,8 +110,8 @@ Reset_Entities_Collision_Map:
CALL =Carve_Entity_Collision_Map
LD A, L
- AND $f8
- ADD $08
+ AND $f0
+ ADD $10
LD L, A
CP $00
JR NZ, =Reset_Entities_Collision_Map.loop
diff --git a/entity/display.gbasm b/entity/display.gbasm
index d03d05d..67ee30d 100644
--- a/entity/display.gbasm
+++ b/entity/display.gbasm
@@ -272,7 +272,7 @@ Display_Entity:
Display_Entity.skip:
LD A, L
- AND $f8
- ADD $08
+ AND $f0
+ ADD $10
LD L, A
RET
diff --git a/entity/init.gbasm b/entity/init.gbasm
index e4a4c1a..4b5b0fa 100644
--- a/entity/init.gbasm
+++ b/entity/init.gbasm
@@ -38,13 +38,25 @@ Initialize_Entities:
LD (HL+), A
LD A, C
LD (HL+), A
- INC HL
- INC HL
+ LD A, L
+ ADD $0a
+ LD L, A
CALL =Initialize_Fox
CALL =Initialize_Fox
CALL =Initialize_Fox
CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
+ CALL =Initialize_Fox
Fix_Bunny_screen:
LD A, $mem_bunny_x
@@ -108,7 +120,8 @@ Initialize_Fox:
LD (HL+), A
LD A, C
LD (HL+), A
- INC HL
- INC HL
+ LD A, L
+ ADD $0a
+ LD L, A
RET
diff --git a/entity/utils.gbasm b/entity/utils.gbasm
index 4900186..ed730d9 100644
--- a/entity/utils.gbasm
+++ b/entity/utils.gbasm
@@ -3,7 +3,7 @@ Get_Position_After_Move: ; entity (whatever alignement) in HL, direction to test
PUSH AF
LD A, L
- AND $f8
+ AND $f0
LD L, A
INC HL