duke: have unique enemies l2

This commit is contained in:
Vince Weaver 2020-12-17 16:48:18 -05:00
parent 83895b6d6d
commit 2ff04fa97f
4 changed files with 144 additions and 46 deletions

View File

@ -46,7 +46,7 @@ DUKE_LEVEL1: duke_level1.o
duke_level1.o: duke_level1.s zp.inc hardware.inc \
print_help.s gr_fast_clear.s quit_yn.s text_drawbox.s level_end.s \
enemies_level1.s actions_level1.s \
graphics/duke_graphics.inc duke_sprites.inc \
graphics/duke_graphics.inc duke_l2_sprites.inc \
maps/level1_map.lzsa \
status_bar.s draw_duke.s move_duke.s gr_putsprite_crop.s \
draw_tilemap.s \

70
duke/duke_l2_sprites.inc Normal file
View File

@ -0,0 +1,70 @@
duke_sprite_stand_right:
.byte 4,4
.byte $AA,$dd,$bd,$AA
.byte $AA,$3d,$Ab,$AA
.byte $AA,$2b,$b7,$A7
.byte $AA,$52,$52,$AA
duke_sprite_stand_left:
.byte 4,4
.byte $AA,$bd,$dd,$AA
.byte $AA,$Ab,$3d,$AA
.byte $A7,$b7,$2b,$AA
.byte $AA,$52,$52,$AA
duke_sprite_walking_right:
.byte 4,4
.byte $AA,$dd,$bd,$AA
.byte $AA,$3d,$Ab,$AA
.byte $AA,$2b,$b7,$A7
.byte $52,$A2,$A2,$5A
duke_sprite_walking_left:
.byte 4,4
.byte $AA,$bd,$dd,$AA
.byte $AA,$Ab,$3d,$AA
.byte $A7,$b7,$2b,$AA
.byte $5A,$A2,$A2,$52
duke_sprite_jumping_right:
.byte 4,4
.byte $AA,$dd,$bd,$AA
.byte $AA,$3d,$Ab,$AA
.byte $AA,$2b,$b7,$A7
.byte $55,$A2,$AA,$AA
duke_sprite_jumping_left:
.byte 4,4
.byte $AA,$bd,$dd,$AA
.byte $AA,$Ab,$3d,$AA
.byte $A7,$b7,$2b,$AA
.byte $AA,$AA,$A2,$55
duke_sprite_falling_right:
.byte 4,4
.byte $AA,$dd,$bd,$AA
.byte $AA,$3d,$Ab,$AA
.byte $AA,$2b,$27,$A7
.byte $5A,$A2,$52,$AA
duke_sprite_falling_left:
.byte 4,4
.byte $AA,$bd,$dd,$AA
.byte $AA,$Ab,$3d,$AA
.byte $A7,$27,$2b,$AA
.byte $AA,$52,$A2,$5A
duke_sprite_shooting_right:
.byte 4,4
.byte $AA,$dd,$bd,$AA
.byte $AA,$3d,$Ab,$AA
.byte $AA,$b7,$A7,$AA
.byte $AA,$52,$52,$AA
duke_sprite_shooting_left:
.byte 4,4
.byte $AA,$bd,$dd,$AA
.byte $AA,$Ab,$3d,$AA
.byte $AA,$A7,$b7,$AA
.byte $AA,$52,$52,$AA

View File

@ -201,7 +201,7 @@ done_with_duke:
.include "level_end.s"
.include "draw_duke.s"
.include "duke_sprites.inc"
.include "duke_l2_sprites.inc"
.include "move_duke.s"
.include "handle_laser.s"
.include "draw_tilemap.s"

View File

@ -1,4 +1,4 @@
NUM_ENEMIES = 4
NUM_ENEMIES = 8
;=======================
; laser enemies
@ -223,45 +223,33 @@ exit_draw_enemy:
rts
enemy_sprites:
.word enemy_camera_sprite1
.word enemy_camera_sprite2
.word enemy_crawler_sprite1
.word enemy_crawler_sprite2
.word enemy_bot_sprite1
.word enemy_bot_sprite2
.word enemy_shroom_sprite1
.word enemy_shroom_sprite2
.word enemy_terp_sprite1
.word enemy_terp_sprite2
enemy_bot_sprite1:
.byte 2,2
.byte $Ae,$e3
.byte $6e,$0e
enemy_bot_sprite2:
.byte 2,2
.byte $e3,$Ae
.byte $0e,$6e
enemy_crawler_sprite1:
enemy_shroom_sprite1:
.byte 2,2
.byte $f5,$cA
.byte $f5,$Ac
.byte $11,$11
.byte $dd,$dd
enemy_crawler_sprite2:
enemy_shroom_sprite2:
.byte 2,2
.byte $5f,$cA
.byte $5f,$Ac
.byte $11,$11
.byte $dd,$dd
enemy_camera_sprite1:
enemy_terp_sprite1:
.byte 2,2
.byte $AA,$76
.byte $f7,$A5
.byte $99,$4a
.byte $49,$44
enemy_camera_sprite2:
enemy_terp_sprite2:
.byte 2,2
.byte $76,$AA
.byte $A5,$f7
.byte $99,$4a
.byte $49,$44
enemy_explosion_sprites:
.word enemy_explosion_sprite1
@ -284,9 +272,10 @@ enemy_explosion_sprite3:
.byte $7A,$5A
.byte $A5,$A7
ENEMY_CAMERA = 0
ENEMY_CRAWLER = 4
ENEMY_BOT = 8
ENEMY_SHROOM = 0
ENEMY_TERP = 4
ENEMY_CAMERA = 8
ENEMY_DATA_OUT = 0
ENEMY_DATA_EXPLODING = 1
@ -301,39 +290,78 @@ ENEMY_DATA_Y = 7
enemy_data:
enemy0:
; 156,92 (-80,-12) -> 76,80 -> (/4,/4) -> 19,20
; 196,88 (-80,-12) -> 116,76 -> (/4,/4) -> 29,19
.byte 1 ; out
.byte 0 ; exploding
.byte ENEMY_CAMERA ; type
.byte ENEMY_SHROOM ; type
.byte $ff ; direction
.byte 19,20 ; tilex,tiley
.byte 29,19 ; tilex,tiley
.byte 0,0 ; x,y
enemy1:
; 272,92 (-80,-12) -> 192,80 -> (/4,/4) -> 48,20
; 268,88 (-80,-12) -> 188,76 -> (/4,/4) -> 47,19
.byte 1 ; out
.byte 0 ; exploding
.byte ENEMY_CAMERA ; type
.byte ENEMY_SHROOM ; type
.byte $ff ; direction
.byte 48,20 ; tilex,tiley
.byte 47,19 ; tilex,tiley
.byte 0,0 ; x,y
enemy2:
; 156,112 (-80,-12) -> 76,100 -> (/4,/4) -> 19,25
; 432,56 (-80,-12) -> 352,44 -> (/4,/4) -> 88,11
.byte 1 ; out
.byte 0 ; exploding
.byte ENEMY_CRAWLER ; type
.byte ENEMY_SHROOM ; type
.byte $ff ; direction
.byte 19,25 ; tilex,tiley
.byte 88,11 ; tilex,tiley
.byte 0,0 ; x,y
enemy3:
; 184,116 (-80,-12) -> 104,104 -> (/4,/4) -> 26,26
; 484,88 (-80,-12) -> 404,76 -> (/4,/4) -> 101,19
.byte 1 ; out
.byte 0 ; exploding
.byte ENEMY_BOT ; type
.byte ENEMY_SHROOM ; type
.byte $ff ; direction
.byte 26,26 ; tilex,tiley
.byte 101,19 ; tilex,tiley
.byte 0,0 ; x,y
enemy4:
; 536,88 (-80,-12) -> 456,76 -> (/4,/4) -> 114,19
.byte 1 ; out
.byte 0 ; exploding
.byte ENEMY_TERP ; type
.byte $ff ; direction
.byte 114,19 ; tilex,tiley
.byte 0,0 ; x,y
enemy5:
; 604,88 (-80,-12) -> 524,76 -> (/4,/4) -> 131,19
.byte 1 ; out
.byte 0 ; exploding
.byte ENEMY_SHROOM ; type
.byte $ff ; direction
.byte 131,19 ; tilex,tiley
.byte 0,0 ; x,y
enemy6:
; 612,88 (-80,-12) -> 532,76 -> (/4,/4) -> 133,19
.byte 1 ; out
.byte 0 ; exploding
.byte ENEMY_SHROOM ; type
.byte $ff ; direction
.byte 133,19 ; tilex,tiley
.byte 0,0 ; x,y
enemy7:
; 804,88 (-80,-12) -> 724,76 -> (/4,/4) -> 181,19
.byte 1 ; out
.byte 0 ; exploding
.byte ENEMY_SHROOM ; type
.byte $ff ; direction
.byte 181,19 ; tilex,tiley
.byte 0,0 ; x,y