aboutsummaryrefslogtreecommitdiff
path: root/bunny.gbasm
diff options
context:
space:
mode:
Diffstat (limited to 'bunny.gbasm')
-rw-r--r--bunny.gbasm313
1 files changed, 0 insertions, 313 deletions
diff --git a/bunny.gbasm b/bunny.gbasm
deleted file mode 100644
index d19b161..0000000
--- a/bunny.gbasm
+++ /dev/null
@@ -1,313 +0,0 @@
-Initialize_Bunny:
- LD HL, $mem_entities_list
- LD A, $01
- LD (HL+), A
-
- LD A, $mem_number_of_rooms
- CALL =RNG_Bound
- SLA A
- SLA A
- ADD $80
- LD C, A
-
- LD B, $c8
-
- LD A, (BC)
- LD D, A
- INC BC
- LD A, (BC)
- INC A
- CALL =RNG_Bound
- ADD D
-
- LD (HL+), A
-
- INC BC
-
- LD A, (BC)
- LD D, A
- INC BC
- LD A, (BC)
- INC A
- CALL =RNG_Bound
- ADD D
- LD (HL+), A
- INC HL
- LD BC, =Move_Bunny
- LD A, B
- LD (HL+), A
- LD A, C
- LD (HL+), A
- INC HL
- INC HL
-
- LD A, $0d
- LD (HL+), A
- LD A, $mem_bunny_x
- LD (HL+), A
- LD A, $mem_bunny_y
- LD (HL+), A
- LD A, $03
- LD (HL+), A
- LD BC, =Fox_AI
- LD A, B
- LD (HL+), A
- LD A, C
- LD (HL+), A
- INC HL
- INC HL
-
- LD A, $0d
- LD (HL+), A
- LD A, $mem_bunny_x
- LD (HL+), A
- LD A, $mem_bunny_y
- LD (HL+), A
- LD A, $03
- LD (HL+), A
- LD BC, =Fox_AI
- LD A, B
- LD (HL+), A
- LD A, C
- LD (HL+), A
- INC HL
- INC HL
-
- LD A, $0d
- LD (HL+), A
- LD A, $mem_bunny_x
- LD (HL+), A
- LD A, $mem_bunny_y
- LD (HL+), A
- LD A, $03
- LD (HL+), A
- LD BC, =Fox_AI
- LD A, B
- LD (HL+), A
- LD A, C
- LD (HL+), A
- INC HL
- INC HL
-
- LD A, $0d
- LD (HL+), A
- LD A, $mem_bunny_x
- LD (HL+), A
- LD A, $mem_bunny_y
- LD (HL+), A
- LD A, $03
- LD (HL+), A
- LD BC, =Fox_AI
- LD A, B
- LD (HL+), A
- LD A, C
- LD (HL+), A
- INC HL
- INC HL
-
- LD A, $0d
- LD (HL+), A
- LD A, $mem_bunny_x
- LD (HL+), A
- LD A, $mem_bunny_y
- LD (HL+), A
- LD A, $03
- LD (HL+), A
- LD BC, =Fox_AI
- LD A, B
- LD (HL+), A
- LD A, C
- LD (HL+), A
- INC HL
- INC HL
-
- LD A, $0d
- LD (HL+), A
- LD A, $mem_bunny_x
- LD (HL+), A
- LD A, $mem_bunny_y
- LD (HL+), A
- LD A, $03
- LD (HL+), A
- LD BC, =Fox_AI
- LD A, B
- LD (HL+), A
- LD A, C
- LD (HL+), A
- INC HL
- INC HL
-
- LD A, $0d
- LD (HL+), A
- LD A, $mem_bunny_x
- LD (HL+), A
- LD A, $mem_bunny_y
- LD (HL+), A
- LD A, $03
- LD (HL+), A
- LD BC, =Fox_AI
- LD A, B
- LD (HL+), A
- LD A, C
- LD (HL+), A
- INC HL
- INC HL
-
- LD A, $0d
- LD (HL+), A
- LD A, $mem_bunny_x
- LD (HL+), A
- LD A, $mem_bunny_y
- LD (HL+), A
- LD A, $03
- LD (HL+), A
- LD BC, =Fox_AI
- LD A, B
- LD (HL+), A
- LD A, C
- LD (HL+), A
- INC HL
- INC HL
-
-
-Fix_Bunny_screen:
- LD A, $mem_bunny_x
- SUB $05
- LD $mem_viewport_x, A
-
- LD A, $mem_bunny_y
- SUB $04
- LD $mem_viewport_y, A
-
- LD A, $mem_viewport_x
- SWAP A
- AND $f0
- OR $08
- LD $reg_viewport_x, A
-
- LD A, $mem_viewport_y
- SWAP A
- AND $f0
- OR $08
- LD $reg_viewport_y, A
-
- RET
-
-Move_Bunny:
- PUSH HL
- LD C, $00 ; (bit 0 = has_scrolled, bit 1 = has ended movement)
- LD A, $mem_bunny_direction
- BIT 3, A
- JR NZ, =Move_Bunny.check_collision
-
- LD A, $mem_button_direction
- CP $00
- JP Z, =Move_Bunny.end
- SET 3, A
- LD $mem_bunny_direction, A
-
- Move_Bunny.check_collision:
- LD A, $mem_moving_animation_step
- CP $00
- JR NZ, =Move_Bunny.check_collision.end
-
- ; THIS ASSUMES THAT THE BUNNY IS ALWAYS THE FIRST ENTITY IN THE LIST
- LD HL, $mem_entities_list
- LD A, $mem_bunny_direction
-
- PUSH BC
- CALL =Get_Position_After_Move
- LD A, C
- CALL =Is_Collisionable
-
- PUSH AF
- PUSH HL
- LD HL, $9ba0
- CALL =Print_8bit
- POP HL
-
- CALL =Carve_Entity_Collision_Map
- POP AF
- POP BC
- CP $00
- JR Z, =Move_Bunny.check_collision.end
-
- Move_Bunny.check_collision.collision:
- LD A, $mem_bunny_direction
- RES 3, A
- LD $mem_bunny_direction, A
- JP =Move_Bunny.end
-
- Move_Bunny.check_collision.end:
-
- Move_Bunny.check_direction:
- LD A, $mem_bunny_direction
-
- DEC A
- LD B, $01 ; Direction of the movement (+1)
- BIT 0, A
- JR NZ, =Move_Bunny.check_direction_end
- LD B, $FF ; Direction of the movement (-1)
-
- Move_Bunny.check_direction_end:
-
- BIT 1, A
- JR NZ, =Move_Bunny.vertical_viewport_move
-
- Move_Bunny.horizontal_viewport_move:
- SET 0, C
- LD A, $reg_viewport_x
- ADD B
- LD $reg_viewport_x, A
- JP =Move_Bunny.check_end_of_movement
-
- Move_Bunny.vertical_viewport_move:
- SET 0, C
- LD A, $reg_viewport_y
- ADD B
- LD $reg_viewport_y, A
-
- Move_Bunny.check_end_of_movement:
- LD A, $mem_moving_animation_step
- INC A
- AND $0f
- LD $mem_moving_animation_step, A
- JR NZ, =Move_Bunny.end
- SET 1, C
- LD A, $mem_bunny_direction
- RES 3, A
- LD $mem_bunny_direction, A
- AND $07
- DEC A
-
- BIT 1, A
- JR NZ, =Move_Bunny.vertical_tile_move
-
- Move_Bunny.horizontal_tile_move:
- BIT 0, C
- JR Z, =Move_Bunny.horizontal_tile_move.move_viewport_end
- LD A, $mem_viewport_x
- ADD B
- LD $mem_viewport_x, A
- Move_Bunny.horizontal_tile_move.move_viewport_end:
- LD A, $mem_bunny_x
- ADD B
- LD $mem_bunny_x, A
- JP =Move_Bunny.end
-
- Move_Bunny.vertical_tile_move:
- BIT 0, C
- JR Z, =Move_Bunny.vertical_tile_move.move_viewport_end
- LD A, $mem_viewport_y
- ADD B
- LD $mem_viewport_y, A
- Move_Bunny.vertical_tile_move.move_viewport_end:
- LD A, $mem_bunny_y
- ADD B
- LD $mem_bunny_y, A
-
- Move_Bunny.end:
- LD A, C
- LD $mem_map_loading_flags, A
- POP HL
- RET