mirror of
https://github.com/deater/dos33fsprogs.git
synced 2025-08-15 08:27:41 +00:00
mist: sprites: add match and key sprites
This commit is contained in:
@@ -76,6 +76,8 @@ OCTAGON:
|
|||||||
General:
|
General:
|
||||||
+ Insert floppy #100 joke?
|
+ Insert floppy #100 joke?
|
||||||
+ double link noise (once when leave, once when get there?)
|
+ double link noise (once when leave, once when get there?)
|
||||||
|
+ can drop pages back where we picked them up
|
||||||
|
not too hard to implement?
|
||||||
|
|
||||||
MECHE age:
|
MECHE age:
|
||||||
+ can poke around more stuff in their rooms
|
+ can poke around more stuff in their rooms
|
||||||
@@ -112,6 +114,7 @@ Stoneship age:
|
|||||||
+ Implement raising/lowering water
|
+ Implement raising/lowering water
|
||||||
+ Implement telescope
|
+ Implement telescope
|
||||||
+ Hook up tunnels into compass room properly
|
+ Hook up tunnels into compass room properly
|
||||||
|
+ Spheres in red room play animations
|
||||||
|
|
||||||
Ending:
|
Ending:
|
||||||
+ Atrus at end -- hires?
|
+ Atrus at end -- hires?
|
||||||
|
@@ -15,41 +15,41 @@ getsrc_smc =$1555
|
|||||||
draw_pointer =$1562
|
draw_pointer =$1562
|
||||||
|
|
||||||
; end_level.s
|
; end_level.s
|
||||||
end_level =$16a5
|
end_level =$16ca
|
||||||
|
|
||||||
; gr_copy.s
|
; gr_copy.s
|
||||||
gr_copy_to_current =$16c7
|
gr_copy_to_current =$16ec
|
||||||
|
|
||||||
; gr_fast_clear.s
|
; gr_fast_clear.s
|
||||||
clear_bottom =$17ed
|
clear_bottom =$1812
|
||||||
clear_all =$182b
|
clear_all =$1850
|
||||||
clear_all_color =$1850
|
clear_all_color =$1875
|
||||||
|
|
||||||
; gr_offsets.s
|
; gr_offsets.s
|
||||||
gr_offsets =$186e
|
gr_offsets =$1893
|
||||||
|
|
||||||
; gr_page_flip.s
|
; gr_page_flip.s
|
||||||
page_flip =$189e
|
page_flip =$18c3
|
||||||
|
|
||||||
; gr_putsprite_crop.s
|
; gr_putsprite_crop.s
|
||||||
put_sprite_crop =$18b8
|
put_sprite_crop =$18dd
|
||||||
psc_smc1 =$18db
|
psc_smc1 =$1900
|
||||||
psc_smc2 =$1973
|
psc_smc2 =$1998
|
||||||
|
|
||||||
; keyboard.s
|
; keyboard.s
|
||||||
handle_keypress =$19f4
|
handle_keypress =$1a19
|
||||||
change_location =$1ad5
|
change_location =$1afa
|
||||||
|
|
||||||
; text_print.s
|
; text_print.s
|
||||||
move_and_print =$1b6d
|
move_and_print =$1b92
|
||||||
ps_smc1 =$1b9a
|
ps_smc1 =$1bbf
|
||||||
|
|
||||||
; page_sprites.inc
|
; page_sprites.inc
|
||||||
blue_page_sprite =$1c82
|
blue_page_sprite =$1ca7
|
||||||
red_page_sprite =$1c98
|
red_page_sprite =$1cbd
|
||||||
white_page_sprite =$1cae
|
white_page_sprite =$1cd3
|
||||||
blue_page_small_sprite =$1cc4
|
blue_page_small_sprite =$1ce9
|
||||||
red_page_small_sprite =$1ccc
|
red_page_small_sprite =$1cf1
|
||||||
|
|
||||||
; audio files
|
; audio files
|
||||||
linking_noise = $9000
|
linking_noise = $9000
|
||||||
|
@@ -42,6 +42,27 @@ finger_turn_right_sprite:
|
|||||||
.byte $bb,$ab,$bb,$bb,$ab,$aa
|
.byte $bb,$ab,$bb,$bb,$ab,$aa
|
||||||
.byte $ab,$aa,$ab,$aa,$aa,$aa
|
.byte $ab,$aa,$ab,$aa,$aa,$aa
|
||||||
|
|
||||||
|
finger_match_sprite:
|
||||||
|
.byte 6,4
|
||||||
|
.byte $aa,$aa,$aa,$aa,$ba,$ba
|
||||||
|
.byte $1a,$da,$da,$db,$db,$db
|
||||||
|
.byte $a1,$ad,$ad,$bd,$bd,$ad
|
||||||
|
.byte $aa,$aa,$aa,$aa,$ab,$bb
|
||||||
|
|
||||||
|
finger_match_lit_sprite:
|
||||||
|
.byte 6,4
|
||||||
|
.byte $9a,$a9,$aa,$aa,$ba,$ba
|
||||||
|
.byte $19,$da,$da,$db,$db,$db
|
||||||
|
.byte $a9,$ad,$ad,$bd,$bd,$ad
|
||||||
|
.byte $aa,$aa,$aa,$aa,$ab,$bb
|
||||||
|
|
||||||
|
finger_key_sprite:
|
||||||
|
.byte 6,4
|
||||||
|
.byte $aa,$aa,$aa,$aa,$aa,$ba
|
||||||
|
.byte $dd,$dd,$dd,$dd,$db,$bb
|
||||||
|
.byte $aa,$ad,$aa,$ab,$bd,$bb
|
||||||
|
.byte $aa,$aa,$aa,$aa,$ab,$ab
|
||||||
|
|
||||||
finger_red_page_sprite:
|
finger_red_page_sprite:
|
||||||
.byte 5,5
|
.byte 5,5
|
||||||
.byte $3a,$33,$33,$aa,$aa
|
.byte $3a,$33,$33,$aa,$aa
|
||||||
|
@@ -97,12 +97,36 @@ really_not_special:
|
|||||||
|
|
||||||
finger_point:
|
finger_point:
|
||||||
lda HOLDING_PAGE
|
lda HOLDING_PAGE
|
||||||
and #$c0
|
|
||||||
beq real_finger_point
|
beq real_finger_point
|
||||||
cmp #HOLDING_BLUE_PAGE
|
cmp #HOLDING_BLUE_PAGE
|
||||||
beq blue_finger
|
beq blue_finger
|
||||||
|
cmp #HOLDING_RED_PAGE
|
||||||
|
beq red_finger
|
||||||
cmp #HOLDING_WHITE_PAGE
|
cmp #HOLDING_WHITE_PAGE
|
||||||
beq white_finger
|
beq white_finger
|
||||||
|
cmp #HOLDING_MATCH
|
||||||
|
beq match_finger
|
||||||
|
cmp #HOLDING_LIT_MATCH
|
||||||
|
beq match_lit_finger
|
||||||
|
|
||||||
|
; all that's left is key
|
||||||
|
key_finger:
|
||||||
|
lda #<finger_key_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_key_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
match_finger:
|
||||||
|
lda #<finger_match_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_match_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
|
match_lit_finger:
|
||||||
|
lda #<finger_match_lit_sprite
|
||||||
|
sta INL
|
||||||
|
lda #>finger_match_lit_sprite
|
||||||
|
jmp finger_draw
|
||||||
|
|
||||||
red_finger:
|
red_finger:
|
||||||
lda #<finger_red_page_sprite
|
lda #<finger_red_page_sprite
|
||||||
|
@@ -1,3 +1,5 @@
|
|||||||
|
; FIXME: should be able to drop pages back where we picked them up
|
||||||
|
|
||||||
;==============================
|
;==============================
|
||||||
; Take Blue Page
|
; Take Blue Page
|
||||||
;==============================
|
;==============================
|
||||||
|
@@ -5,10 +5,6 @@
|
|||||||
|
|
||||||
grab_blue_page:
|
grab_blue_page:
|
||||||
|
|
||||||
; FIXME: if we came back we could return page
|
|
||||||
; should check to see if carrying first
|
|
||||||
; also what if holding red, click blu
|
|
||||||
|
|
||||||
lda BLUE_PAGES_TAKEN
|
lda BLUE_PAGES_TAKEN
|
||||||
and #MECHE_PAGE
|
and #MECHE_PAGE
|
||||||
bne missing_page
|
bne missing_page
|
||||||
|
10
mist/zp.inc
10
mist/zp.inc
@@ -121,9 +121,13 @@ MECHE_LOCK3 = $A7 ; meche lock symbol3
|
|||||||
MECHE_LOCK4 = $A8 ; meche lock symbol4
|
MECHE_LOCK4 = $A8 ; meche lock symbol4
|
||||||
|
|
||||||
HOLDING_PAGE = $A9 ; which page in hand
|
HOLDING_PAGE = $A9 ; which page in hand
|
||||||
HOLDING_RED_PAGE = $80
|
HOLDING_RED_PAGE = $80
|
||||||
HOLDING_BLUE_PAGE = $40
|
HOLDING_BLUE_PAGE = $40
|
||||||
HOLDING_WHITE_PAGE = $C0
|
HOLDING_WHITE_PAGE = $C0
|
||||||
|
HOLDING_KEY = $04
|
||||||
|
HOLDING_LIT_MATCH = $02
|
||||||
|
HOLDING_MATCH = $01
|
||||||
|
|
||||||
RED_PAGE_COUNT = $AA ; # of red pages in book
|
RED_PAGE_COUNT = $AA ; # of red pages in book
|
||||||
BLUE_PAGE_COUNT = $AB ; # of blue pages in book
|
BLUE_PAGE_COUNT = $AB ; # of blue pages in book
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user