diff options
-rw-r--r-- | definitions.gbasm | 22 | ||||
-rw-r--r-- | entity/actions.gbasm | 8 | ||||
-rw-r--r-- | entity/bunny.gbasm | 8 | ||||
-rw-r--r-- | entity/collisions.gbasm | 4 | ||||
-rw-r--r-- | entity/display.gbasm | 4 | ||||
-rw-r--r-- | entity/init.gbasm | 21 | ||||
-rw-r--r-- | entity/utils.gbasm | 2 |
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 |