; Ootw Level 1 for Apple II Lores ; by Vince "Deater" Weaver ;.include "zp.inc" ;.include "hardware.inc" ootw: ; Initialize some variables lda #0 sta GAME_OVER sta EQUAKE_PROGRESS sta EARTH_OFFSET sta PHYSICIST_STATE sta WHICH_CAVE sta BEAST_OUT sta ON_ELEVATOR sta HAVE_GUN ;========================== ; Handle Underwater Arrival ;========================== jsr ootw_c1_arrival lda GAME_OVER bmi end_c1 ;========================== ; Exit the Pool ;========================== jsr exit_pool ; Initialize some variables lda #0 sta GAME_OVER sta EQUAKE_PROGRESS sta EARTH_OFFSET sta PHYSICIST_STATE sta WHICH_CAVE sta BEAST_OUT sta ON_ELEVATOR lda #1 sta BEFORE_SWING lda #32 sta PHYSICIST_Y lda #20 sta PHYSICIST_X lda #1 sta DIRECTION lda #40 sta BOULDER_Y ;======================= ; Initialize the slugs ;======================= ; jsr init_slugs ;======================= ; Enter the game ;======================= jsr ootw_pool ;=========================== ; quit_level ;=========================== end_c1: lda GAME_OVER ; see why we quit cmp #$ff beq l1_quit_or_died ;==================== ; 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 HOME lda KEYRESET ; clear strobe ; lda #0 ; sta DRAW_PAGE ; lda #end_message ; sta OUTH ; jsr move_and_print ; jsr move_and_print ;wait_loop: ; lda KEYPRESS ; bpl wait_loop ; lda KEYRESET ; clear strobe ; jmp ootw rts ; hack, we don't have doors in l1 ;recalc_walk_collision: ; rts ;end_message: ;.byte 8,10,"PRESS RETURN TO CONTINUE",0 ;.byte 11,20,"ACCESS CODE: IH8S",0 ; rooms .include "ootw_c1_arrival.s" ;.include "ootw_c1_rope.s" .include "ootw_c1_pool.s" ;.include "ootw_c1_cavern.s" ;.include "ootw_c1_mesa.s" ; movement ;.include "physicist.s" ;.include "ootw_c1_sluggy.s" ;.include "ootw_c1_beast.s" ;.include "earthquake.s" ;.include "text_print.s" ;.include "gr_pageflip.s" ;.include "gr_unrle.s" ;.include "gr_fast_clear.s" ;.include "gr_copy.s" ;.include "gr_make_quake.s" ;.include "gr_putsprite.s" ;.include "gr_putsprite_flipped.s" ;.include "gr_offsets.s" ;.include "gr_hlin.s" ;.include "random16.s" ;.include "keyboard.s" ;.include "gr_overlay.s" ;.include "gr_putsprite_crop.s" ; room backgrounds ;.include "ootw_graphics/ootw_pool.inc" ;.include "ootw_graphics/ootw_underwater.inc" ; sprites .include "sprites/l1_background.inc" ;.include "ootw_graphics/sprites/physicist.inc" .include "sprites/physicist_l1_swim.inc" ; cutscene data ;.include "ootw_graphics/l1end/ootw_l1end.inc" ;.include "ootw_graphics/l1end_scenes/ootw_beast_end.inc" ;.include "ootw_graphics/l1end_scenes/ootw_slug_end.inc" ;.include "ootw_graphics/l1end_scenes/ootw_beast_intro.inc"