diff options
author | Astatin <[email protected]> | 2025-09-05 15:29:27 +0200 |
---|---|---|
committer | Astatin <[email protected]> | 2025-09-05 15:29:27 +0200 |
commit | 03c359596bdacbf39cdc244d2f164d0ec94d5505 (patch) | |
tree | 7e4d8d8056b2560f550d68635caa2ae851c7b911 /entity | |
parent | 16c308b2567d1dddb44ca928fe376b4a6219744f (diff) |
Diffstat (limited to 'entity')
-rw-r--r-- | entity/init.gbasm | 31 | ||||
-rw-r--r-- | entity/list.gbasm | 55 | ||||
-rw-r--r-- | entity/questgoal.gbasm | 16 |
3 files changed, 70 insertions, 32 deletions
diff --git a/entity/init.gbasm b/entity/init.gbasm index 173bf32..0f0f354 100644 --- a/entity/init.gbasm +++ b/entity/init.gbasm @@ -97,16 +97,24 @@ Initialize_Enemy: ; HL => pointer to entity struct RET Z ADD $03 -Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index, 1 in $tmp_var_3 if should retry if collsion (could potentially fail multiple time/infinite loop) +Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index, + ; $tmp_var_3: + ; = 01 => if should retry if collsion (could potentially fail multiple time/infinite loop) + ; = x2 => use BC as XY, and high nibble as direction LD E, A SLA A SLA A - LD B, A + LD D, A SLA A - ADD B + ADD D INC A LD (HL), A + LD A, $tmp_var_3 + AND $0f + CP $02 + JR Z, =.XY_BC + LD A, $mem_bunny_current_room_idx CALL =Pick_Room_position_Avoid_A @@ -118,7 +126,6 @@ Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index, 1 XOR A LD (HL), A - LD A, $tmp_var_3 CP $01 @@ -129,6 +136,7 @@ Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index, 1 .no_collision: + .XY_BC: INC HL LD (HL), B INC HL @@ -138,7 +146,20 @@ Initialize_Entity: ; HL => pointer to entity struct, A => entity loaded index, 1 CALL =Carve_Entity_Collision_Map ; Direction - LD A, $33 + + LD A, $tmp_var_3 + AND $0f + CP $02 + LD A, $44 + JR NZ, =.set_direction + LD A, $tmp_var_3 + AND $f0 + DBG + LD D, A + SWAP A + OR D + + .set_direction: LD (HL+), A LD A, E diff --git a/entity/list.gbasm b/entity/list.gbasm index 7623b39..3e98c42 100644 --- a/entity/list.gbasm +++ b/entity/list.gbasm @@ -23,9 +23,6 @@ Entity_list: ; Starting mana .DB $05 - ; Spawning rate (2 lsb) - .DB 0b10 - .PADTO =.Fox+8 .Frog: @@ -47,9 +44,6 @@ Entity_list: ; Starting mana .DB $05 - ; Spawning rate (2 lsb) - .DB 0b01 - .PADTO =.Frog+8 .Cat: @@ -71,9 +65,6 @@ Entity_list: ; Starting mana .DB $00 - ; Spawning rate (2 lsb) - .DB 0b11 - .PADTO =.Cat+8 .Penguin: @@ -95,9 +86,6 @@ Entity_list: ; Starting mana .DB $05 - ; Spawning rate (2 lsb) - .DB 0b11 - .PADTO =.Penguin+8 .Mouse: @@ -119,9 +107,6 @@ Entity_list: ; Starting mana .DB $00 - ; Spawning rate (2 lsb) - .DB 0b10 - .PADTO =.Mouse+8 .Fimsh: @@ -143,14 +128,11 @@ Entity_list: ; Starting mana .DB $00 - ; Spawning rate (2 lsb) - .DB 0b11 - .PADTO =.Fimsh+8 - .QuestGoalBunny: + .Human: ; Sprite address - .SPRITE =Entity_Tile_Image_Data.Bunny + .SPRITE =Entity_Tile_Image_Data.Human ; Turn Jump Table index .DB $05 @@ -167,10 +149,7 @@ Entity_list: ; Starting mana .DB $00 - ; Spawning rate (2 lsb) - .DB 0b00 - - .PADTO =.QuestGoalBunny+8 + .PADTO =.Human+8 .Bug: ; Sprite address @@ -191,11 +170,29 @@ Entity_list: ; Starting mana .DB $05 - ; Spawning rate (2 lsb) - .DB 0b11 - .PADTO =.Bug+8 + .Static_Human: + ; Sprite address + .SPRITE =Entity_Tile_Image_Data.Human + + ; Turn Jump Table index + .DB $0a + + ; Interaction Jump Table index + .DB $02 + + ; Starting health + .DB $00 + + ; Starting status + .DB $02 + + ; Starting mana + .DB $00 + + .PADTO =.Static_Human+8 + Turn_Jump_table: ; 00 RET @@ -239,6 +236,10 @@ Turn_Jump_table: JP =Bug_Turn NOP + ; 0a + JP =Static_Human_Turn + NOP + .INCLUDE "entity/bunny.gbasm" .INCLUDE "entity/fox.gbasm" .INCLUDE "entity/cat.gbasm" diff --git a/entity/questgoal.gbasm b/entity/questgoal.gbasm index 64cd745..17eecb8 100644 --- a/entity/questgoal.gbasm +++ b/entity/questgoal.gbasm @@ -99,3 +99,19 @@ QuestGoal_Turn: POP BC POP HL RET + +Static_Human_Turn: + LD A, $mem_map_loading_flags + BIT 3, A + RET Z + + INC HL + INC HL + INC HL + + LD (HL), $11 + + DEC HL + DEC HL + DEC HL + RET |