mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-01-27 23:30:56 +00:00
ootw: possible to end level1 and progress to level2
This commit is contained in:
parent
b4621120c1
commit
99867d968c
@ -6,6 +6,10 @@ KNOWN BUGS:
|
|||||||
|
|
||||||
TODO:
|
TODO:
|
||||||
|
|
||||||
|
+ sprites that don't draw off edge of screen
|
||||||
|
+ Revamp movement
|
||||||
|
|
||||||
|
|
||||||
movement -- note these are hard due to limitations of the Apple II keyboard
|
movement -- note these are hard due to limitations of the Apple II keyboard
|
||||||
+ running: Missing one running frame
|
+ running: Missing one running frame
|
||||||
+ ability to jump
|
+ ability to jump
|
||||||
@ -44,10 +48,9 @@ rope_room:
|
|||||||
|
|
||||||
cutscenes:
|
cutscenes:
|
||||||
+ death by beast
|
+ death by beast
|
||||||
+ aliens shooting beast
|
|
||||||
+ aliens shooting physicist
|
|
||||||
|
|
||||||
Level/Checkpoint #2:
|
Level/Checkpoint #2:
|
||||||
+ Intro movie
|
+ Intro movie
|
||||||
+ Swing in the cage
|
+ Swing in the cage
|
||||||
+ Ability to pick up gun, with all that entails
|
+ Ability to pick up gun, with all that entails
|
||||||
|
+ Elevator ride, view of city?
|
||||||
|
17
ootw/ootw.s
17
ootw/ootw.s
@ -1,4 +1,4 @@
|
|||||||
; Ootw for Apple II Lores
|
; Ootw Level 1 for Apple II Lores
|
||||||
|
|
||||||
; by Vince "Deater" Weaver <vince@deater.net>
|
; by Vince "Deater" Weaver <vince@deater.net>
|
||||||
|
|
||||||
@ -47,8 +47,21 @@ ootw:
|
|||||||
;===========================
|
;===========================
|
||||||
; quit_level
|
; quit_level
|
||||||
;===========================
|
;===========================
|
||||||
|
lda GAME_OVER ; see why we quit
|
||||||
|
cmp #$ff
|
||||||
|
beq l1_quit_or_died
|
||||||
|
|
||||||
quit_level:
|
;====================
|
||||||
|
; go to next level
|
||||||
|
l1_defeated:
|
||||||
|
lda #2 ; go to next level
|
||||||
|
sta WHICH_LOAD
|
||||||
|
rts
|
||||||
|
|
||||||
|
;========================
|
||||||
|
; print death message
|
||||||
|
; then restart
|
||||||
|
l1_quit_or_died:
|
||||||
jsr TEXT
|
jsr TEXT
|
||||||
jsr HOME
|
jsr HOME
|
||||||
lda KEYRESET ; clear strobe
|
lda KEYRESET ; clear strobe
|
||||||
|
@ -23,9 +23,6 @@ ootw_c2:
|
|||||||
lda #1
|
lda #1
|
||||||
sta DIRECTION
|
sta DIRECTION
|
||||||
|
|
||||||
lda #40
|
|
||||||
sta BOULDER_Y
|
|
||||||
|
|
||||||
;=======================
|
;=======================
|
||||||
; Enter the game
|
; Enter the game
|
||||||
;=======================
|
;=======================
|
||||||
|
18
ootw/ootw_graphics/l2intro/Makefile
Normal file
18
ootw/ootw_graphics/l2intro/Makefile
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
include ../../../Makefile.inc
|
||||||
|
|
||||||
|
PNG2RLE = ../../../gr-utils/png2rle
|
||||||
|
PNG2LZ4 = ../../../gr-utils/png2lz4
|
||||||
|
|
||||||
|
all: ootw_l2intro.inc
|
||||||
|
|
||||||
|
#####
|
||||||
|
|
||||||
|
ootw_l2intro.inc: $(PNG2RLE) \
|
||||||
|
ootw2_cage.png
|
||||||
|
$(PNG2RLE) asm ootw2_cage.png intro_cage_rle > ootw_l2intro.inc
|
||||||
|
|
||||||
|
#####
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ *.o *.lst *.lzz *.inc
|
||||||
|
|
Before Width: | Height: | Size: 386 B After Width: | Height: | Size: 386 B |
@ -102,6 +102,14 @@ levelend_not_first:
|
|||||||
dec LEVELEND_PROGRESS
|
dec LEVELEND_PROGRESS
|
||||||
dec LEVELEND_PROGRESS
|
dec LEVELEND_PROGRESS
|
||||||
|
|
||||||
|
bne not_beginning_of_end
|
||||||
|
beginning_of_end:
|
||||||
|
lda #5
|
||||||
|
sta GAME_OVER
|
||||||
|
jmp l1_game_over_check
|
||||||
|
|
||||||
|
not_beginning_of_end:
|
||||||
|
|
||||||
ldx LEVELEND_PROGRESS
|
ldx LEVELEND_PROGRESS
|
||||||
lda endl1_progression,X
|
lda endl1_progression,X
|
||||||
sta GBASL
|
sta GBASL
|
||||||
@ -168,12 +176,19 @@ level1_ending:
|
|||||||
mesa_frame_no_oflo:
|
mesa_frame_no_oflo:
|
||||||
|
|
||||||
|
|
||||||
; check if done this level
|
;========================================
|
||||||
|
;========================================
|
||||||
lda GAME_OVER
|
; check if at edge of screen or game over
|
||||||
|
;========================================
|
||||||
|
;========================================
|
||||||
|
l1_game_over_check:
|
||||||
|
lda GAME_OVER ; if not game over, skip ahead
|
||||||
beq not_done_mesa
|
beq not_done_mesa
|
||||||
|
|
||||||
cmp #$ff ; check if dead
|
cmp #$ff ; check if died, if so exit
|
||||||
|
beq done_mesa
|
||||||
|
|
||||||
|
cmp #$5 ; check if defeated, if so exit
|
||||||
beq done_mesa
|
beq done_mesa
|
||||||
|
|
||||||
;====================
|
;====================
|
||||||
@ -244,11 +259,11 @@ done_mesa:
|
|||||||
|
|
||||||
;=====================
|
;=====================
|
||||||
; long(er) wait
|
; long(er) wait
|
||||||
; waits approximately ?? ms
|
; waits approximately 10ms * X
|
||||||
|
|
||||||
long_wait:
|
long_wait:
|
||||||
lda #64
|
lda #64
|
||||||
jsr WAIT ; delay
|
jsr WAIT ; delay 1/2(26+27A+5A^2) us, 11,117
|
||||||
dex
|
dex
|
||||||
bne long_wait
|
bne long_wait
|
||||||
rts
|
rts
|
||||||
|
Loading…
x
Reference in New Issue
Block a user