mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-02-28 06:30:18 +00:00
mist: meche: can go into basement now
This commit is contained in:
parent
3ce5ada070
commit
49c6420f2e
@ -31,7 +31,7 @@ meche_graphics.inc: \
|
||||
red_button_of_oe_w.lzsa red_button_of_ce_w.lzsa \
|
||||
red_button_cf_oe_w.lzsa red_button_cf_ce_w.lzsa \
|
||||
basement_controls_w.lzsa \
|
||||
elevator_basement_w.lzsa \
|
||||
elevator_basement_e.lzsa elevator_basement_w.lzsa \
|
||||
right_hall2_s.lzsa \
|
||||
right_hall_corner_n.lzsa right_hall_corner_w.lzsa \
|
||||
blue_room_center_n.lzsa blue_room_center_s.lzsa \
|
||||
@ -85,6 +85,7 @@ meche_graphics.inc: \
|
||||
echo "red_button_cf_ce_w_lzsa: .incbin \"red_button_cf_ce_w.lzsa\"" >> meche_graphics.inc
|
||||
echo "basement_controls_w_lzsa: .incbin \"basement_controls_w.lzsa\"" >> meche_graphics.inc
|
||||
echo "elevator_basement_w_lzsa: .incbin \"elevator_basement_w.lzsa\"" >> meche_graphics.inc
|
||||
echo "elevator_basement_e_lzsa: .incbin \"elevator_basement_e.lzsa\"" >> meche_graphics.inc
|
||||
echo "right_hall2_s_lzsa: .incbin \"right_hall2_s.lzsa\"" >> meche_graphics.inc
|
||||
echo "right_hall_corner_n_lzsa: .incbin \"right_hall_corner_n.lzsa\"" >> meche_graphics.inc
|
||||
echo "right_hall_corner_w_lzsa: .incbin \"right_hall_corner_w.lzsa\"" >> meche_graphics.inc
|
||||
|
BIN
mist/graphics_meche/elevator_basement_e.png
Normal file
BIN
mist/graphics_meche/elevator_basement_e.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 759 B |
@ -47,6 +47,7 @@ red_button_of_ce_w_lzsa: .incbin "red_button_of_ce_w.lzsa"
|
||||
red_button_cf_ce_w_lzsa: .incbin "red_button_cf_ce_w.lzsa"
|
||||
basement_controls_w_lzsa: .incbin "basement_controls_w.lzsa"
|
||||
elevator_basement_w_lzsa: .incbin "elevator_basement_w.lzsa"
|
||||
elevator_basement_e_lzsa: .incbin "elevator_basement_e.lzsa"
|
||||
right_hall2_s_lzsa: .incbin "right_hall2_s.lzsa"
|
||||
right_hall_corner_n_lzsa: .incbin "right_hall_corner_n.lzsa"
|
||||
right_hall_corner_w_lzsa: .incbin "right_hall_corner_w.lzsa"
|
||||
|
@ -33,4 +33,8 @@ init_state:
|
||||
sta ROCKET_NOTE3
|
||||
sta ROCKET_NOTE4
|
||||
|
||||
; meche elevator
|
||||
sta MECHE_ELEVATOR
|
||||
sta MECHE_ROTATION
|
||||
|
||||
rts
|
||||
|
@ -334,13 +334,17 @@ location18:
|
||||
.byte DIRECTION_W ; north exit_dir
|
||||
.byte DIRECTION_S ; south exit_dir
|
||||
.byte $ff ; east exit_dir
|
||||
.byte $ff ; west exit_dir
|
||||
.byte DIRECTION_W ; west exit_dir
|
||||
.word red_button_n_lzsa ; north bg
|
||||
.word red_button_s_lzsa ; south bg
|
||||
.word red_button_e_lzsa ; east bg
|
||||
.word red_button_cf_ce_w_lzsa ; west bg
|
||||
.byte BG_WEST|BG_EAST|BG_SOUTH|BG_NORTH
|
||||
.byte $ff ; special exit
|
||||
.byte DIRECTION_W ; special exit
|
||||
.byte 28,33 ; special x
|
||||
.byte 14,24 ; special y
|
||||
.word basement_button-1 ; special function
|
||||
|
||||
|
||||
; MECHE_BASEMENT -- Basement
|
||||
location19:
|
||||
@ -354,9 +358,9 @@ location19:
|
||||
.byte DIRECTION_W ; west exit_dir
|
||||
.word $0000 ; north bg
|
||||
.word $0000 ; south bg
|
||||
.word $0000 ; east bg
|
||||
.word elevator_basement_e_lzsa ; east bg
|
||||
.word elevator_basement_w_lzsa ; west bg
|
||||
.byte BG_WEST
|
||||
.byte BG_WEST|BG_EAST
|
||||
.byte $ff ; special exit
|
||||
|
||||
; MECHE_ELEVATOR_ROTATE -- elevator rotate mechanism
|
||||
|
73
mist/meche.s
73
mist/meche.s
@ -39,6 +39,7 @@ meche_start:
|
||||
lda #0
|
||||
sta ANIMATE_FRAME
|
||||
|
||||
jsr adjust_basement_door
|
||||
|
||||
game_loop:
|
||||
;=================
|
||||
@ -136,6 +137,77 @@ really_exit:
|
||||
jmp end_level
|
||||
|
||||
|
||||
;==================================
|
||||
; elevator stuff
|
||||
;==================================
|
||||
|
||||
basement_button:
|
||||
|
||||
; flip switch
|
||||
|
||||
lda #$80
|
||||
eor MECHE_ELEVATOR
|
||||
sta MECHE_ELEVATOR
|
||||
|
||||
jsr adjust_basement_door
|
||||
|
||||
jsr change_location
|
||||
|
||||
rts
|
||||
|
||||
|
||||
adjust_basement_door:
|
||||
|
||||
lda MECHE_ELEVATOR
|
||||
bmi floor_open
|
||||
|
||||
|
||||
floor_closed:
|
||||
jmp floor_closed_elevator_off
|
||||
|
||||
floor_open:
|
||||
jmp floor_open_elevator_off
|
||||
|
||||
floor_open_elevator_on:
|
||||
|
||||
floor_open_elevator_off:
|
||||
|
||||
ldy #LOCATION_WEST_EXIT
|
||||
lda #MECHE_BASEMENT
|
||||
sta location18,Y
|
||||
|
||||
ldy #LOCATION_WEST_BG
|
||||
|
||||
lda #<red_button_of_ce_w_lzsa
|
||||
sta location18,Y
|
||||
lda #>red_button_of_ce_w_lzsa
|
||||
jmp adjust_basement_door_done
|
||||
|
||||
floor_closed_elevator_on:
|
||||
|
||||
floor_closed_elevator_off:
|
||||
|
||||
ldy #LOCATION_WEST_EXIT
|
||||
lda #$ff
|
||||
sta location18,Y
|
||||
|
||||
ldy #LOCATION_WEST_BG
|
||||
|
||||
lda #<red_button_cf_ce_w_lzsa
|
||||
sta location18,Y
|
||||
lda #>red_button_cf_ce_w_lzsa
|
||||
jmp adjust_basement_door_done
|
||||
|
||||
|
||||
adjust_basement_door_done:
|
||||
sta location18+1,Y
|
||||
rts
|
||||
|
||||
adjust_fortress_rotation:
|
||||
|
||||
rts
|
||||
|
||||
|
||||
|
||||
;==========================
|
||||
; includes
|
||||
@ -162,6 +234,7 @@ really_exit:
|
||||
; linking books
|
||||
|
||||
.include "link_book_meche.s"
|
||||
.include "link_book_mist.s"
|
||||
|
||||
.include "common_sprites.inc"
|
||||
|
||||
|
@ -87,6 +87,8 @@ ROCKET_NOTE1 = $9B
|
||||
ROCKET_NOTE2 = $9C
|
||||
ROCKET_NOTE3 = $9D
|
||||
ROCKET_NOTE4 = $9E
|
||||
MECHE_ELEVATOR = $9F
|
||||
MECHE_ROTATION = $A0
|
||||
|
||||
|
||||
; done game puzzle state
|
||||
|
Loading…
x
Reference in New Issue
Block a user