mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-03-04 04:30:18 +00:00
keen: hook up more of level7
don't have quite enough tiles :(
This commit is contained in:
parent
62763967d6
commit
a6a9c0ce28
@ -226,7 +226,7 @@ ENGINE: engine.o
|
||||
|
||||
engine.o: engine.s zp.inc hardware.inc \
|
||||
text_help.s gr_fast_clear.s text_quit_yn.s text_drawbox.s \
|
||||
level1_enemies.s engine_items.s \
|
||||
engine_enemies.s engine_items.s \
|
||||
graphics/keen_graphics.inc sprites/keen_sprites.inc \
|
||||
status_bar.s draw_keen.s move_keen.s gr_putsprite_crop.s \
|
||||
draw_tilemap.s tilemap_lookup.s \
|
||||
|
@ -121,7 +121,7 @@ level_start:
|
||||
|
||||
|
||||
;====================================
|
||||
; load level1 tilemap
|
||||
; load tilemap
|
||||
;====================================
|
||||
|
||||
lda #<level_data_zx02
|
||||
@ -216,10 +216,10 @@ done_with_keen:
|
||||
|
||||
lda LEVEL_OVER
|
||||
cmp #NEXT_LEVEL
|
||||
beq level1_levelover
|
||||
beq level_over
|
||||
|
||||
cmp #GAME_OVER
|
||||
beq level1_gameover
|
||||
beq game_over
|
||||
|
||||
; got here, touched enemy
|
||||
|
||||
@ -281,16 +281,16 @@ skip_end_sound:
|
||||
|
||||
|
||||
dec KEENS
|
||||
bpl level1_levelover
|
||||
bpl level_over
|
||||
|
||||
level1_gameover:
|
||||
game_over:
|
||||
|
||||
; mars plays the sound
|
||||
|
||||
lda #GAME_OVER
|
||||
sta LEVEL_OVER
|
||||
|
||||
level1_levelover:
|
||||
level_over:
|
||||
|
||||
lda #LOAD_MARS
|
||||
sta WHICH_LOAD
|
||||
@ -322,7 +322,7 @@ level1_levelover:
|
||||
.include "move_keen.s"
|
||||
.include "handle_laser.s"
|
||||
.include "draw_tilemap.s"
|
||||
.include "level1_enemies.s"
|
||||
.include "engine_enemies.s"
|
||||
.include "engine_items.s"
|
||||
|
||||
.include "level1_sfx.s"
|
||||
@ -331,8 +331,3 @@ level1_levelover:
|
||||
.include "random16.s"
|
||||
|
||||
.include "tilemap_lookup.s"
|
||||
|
||||
;level1_data_zx02:
|
||||
; .incbin "maps/level1_map.zx02"
|
||||
|
||||
;oracle_message:
|
||||
|
@ -7,6 +7,9 @@ ITEM_SPECIAL = 25
|
||||
|
||||
ITEM_KEYCARD = 32
|
||||
|
||||
FIRST_ENEMY = 20
|
||||
LAST_ENEMY = 23
|
||||
|
||||
; POGO= 24
|
||||
; SPECIAL = 25 (ship part or oracle)
|
||||
; GUN = 26
|
||||
@ -299,13 +302,15 @@ was_ship_part:
|
||||
; check if touching enemy
|
||||
;=============================
|
||||
; level1 at least you can't touch with head?
|
||||
; level7 you can...
|
||||
check_enemy:
|
||||
ldy #0
|
||||
lda (INL),Y
|
||||
cmp #21 ; green tentacles
|
||||
beq touched_enemy
|
||||
cmp #22 ; clam thing
|
||||
bne done_check_enemy
|
||||
|
||||
cmp #FIRST_ENEMY ;
|
||||
bcc done_check_enemy ; if less then, not enemy
|
||||
cmp #LAST_ENEMY+1 ;
|
||||
bcs done_check_enemy
|
||||
|
||||
touched_enemy:
|
||||
|
||||
|
@ -5,19 +5,19 @@
|
||||
; at $6000
|
||||
|
||||
level7_data:
|
||||
.byte 116 ;MAX_TILE_X = 116 ; 116 wide
|
||||
.byte 20 ;MAX_TILE_Y = 16 ; 20 tall
|
||||
.byte 124 ;MAX_TILE_X
|
||||
.byte 60 ;MAX_TILE_Y
|
||||
|
||||
.byte 4 ;START_KEEN_TILEX = 4
|
||||
.byte 16 ;START_KEEN_TILEY = 16
|
||||
.byte 2 ;START_KEEN_TILEX
|
||||
.byte 48 ;START_KEEN_TILEY
|
||||
|
||||
.byte 0 ;START_TILEMAP_X = 0
|
||||
.byte 8 ;START_TILEMAP_Y = 8
|
||||
.byte 0 ;START_TILEMAP_X
|
||||
.byte 40 ;START_TILEMAP_Y
|
||||
|
||||
.byte 0 ;NUM_ENEMIES = 8
|
||||
.byte 8 ;NUM_ENEMIES
|
||||
|
||||
.byte 32 ;HARDTOP_TILES = 32 ; start at 32
|
||||
.byte 40 ;ALLHARD_TILES = 40 ; start at 40
|
||||
.byte 40 ;HARDTOP_TILES
|
||||
.byte 48 ;ALLHARD_TILES
|
||||
|
||||
|
||||
.align $100
|
||||
@ -28,29 +28,39 @@ enemy_data:
|
||||
enemy_data_out: .byte 1, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_exploding: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_type: .byte YORP, YORP, YORP, YORP, YORP, YORP,YORP,YORP
|
||||
enemy_data_direction: .byte RIGHT, LEFT, LEFT, RIGHT, LEFT, RIGHT,LEFT,LEFT
|
||||
enemy_data_tilex: .byte 16, 19, 23, 14, 14, 16, 42, 70
|
||||
enemy_data_tiley: .byte 9, 9, 9, 45, 38, 43, 44, 34
|
||||
enemy_data_direction: .byte LEFT, LEFT, LEFT, LEFT, LEFT, LEFT,RIGHT,LEFT
|
||||
enemy_data_tilex: .byte 61, 78, 16, 63, 31, 28, 112, 36
|
||||
enemy_data_tiley: .byte 4, 4, 15, 15, 28, 27, 54, 56
|
||||
enemy_data_x: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_y: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_state: .byte 0, 0, 0, 0, 0, 0, 0, 0
|
||||
enemy_data_count: .byte 8, 8, 8, 8, 8, 8, 8, 8
|
||||
|
||||
; FIXME: this is not correct
|
||||
; enemy1: yorp @16,9, right
|
||||
; enemy2: yorp @19,9 left
|
||||
; enemy3: yorp @23,9 left
|
||||
; enemy4: yorp @14,45 right
|
||||
; enemy5: yorp @14,38 left
|
||||
; enemy6: yorp @16,43 right
|
||||
; enemy7: yorp @42,44 left
|
||||
; enemy8: yorp @70,34 left
|
||||
; enemy0: yorp @61,4, left
|
||||
; enemy1: yorp @78,4 left
|
||||
; enemy2: yorp @16,15 left
|
||||
; enemy3: yorp @63,15 left
|
||||
; enemy4: yorp @31,28 left
|
||||
; enemy5: yorp @28,27 left
|
||||
; enemy6: yorp @112,54 right
|
||||
; enemy7: yorp @36,56 left
|
||||
|
||||
; enemy9: garg @50,31 right
|
||||
; enemy10: garg @63,45 right
|
||||
; enemy8: garg @36,4 right
|
||||
; enemy9: garg @39,4 right
|
||||
; enemy10: garg @105,2 left
|
||||
; enemy11: garg @102,11 right
|
||||
; enemy12: garg @105,17 left
|
||||
; enemy13: garg @96,21 left
|
||||
; enemy14: garg @22,33 right
|
||||
; enemy15: garg @34,34 right
|
||||
; enemy16: garg @52,49 right
|
||||
|
||||
; enemy17: butler robot@91,39 right
|
||||
; enemy18: butler robot@86,39 right
|
||||
; enemy19: butler robot@31,39 left
|
||||
|
||||
; enemy?: big robot@93,56 right
|
||||
|
||||
; enemy?: butler robot@27,7 left
|
||||
; enemy?: vorticon @53,8 right
|
||||
|
||||
.align $100
|
||||
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Loading…
x
Reference in New Issue
Block a user