peasant: move inventory to language card
This commit is contained in:
parent
929c8e50c3
commit
9235f5da0c
|
@ -24,9 +24,10 @@ peasant.dsk: QBOOT QLOAD VID_LOGO TITLE INTRO \
|
|||
$(DOS33_RAW) peasant.dsk 4 0 VID_LOGO 0 0
|
||||
$(DOS33_RAW) peasant.dsk 6 0 TITLE 0 0
|
||||
$(DOS33_RAW) peasant.dsk 9 0 INTRO 0 0
|
||||
$(DOS33_RAW) peasant.dsk 13 0 PEASANT1 0 0
|
||||
$(DOS33_RAW) peasant.dsk 18 0 PEASANT2 0 0
|
||||
$(DOS33_RAW) peasant.dsk 24 0 PEASANT3 0 0
|
||||
$(DOS33_RAW) peasant.dsk 14 0 INVENTORY 0 0
|
||||
$(DOS33_RAW) peasant.dsk 15 0 PEASANT1 0 0
|
||||
$(DOS33_RAW) peasant.dsk 20 0 PEASANT2 0 0
|
||||
$(DOS33_RAW) peasant.dsk 25 0 PEASANT3 0 0
|
||||
$(DOS33_RAW) peasant.dsk 30 0 PEASANT4 0 0
|
||||
|
||||
peasant_side2.dsk: WBOOT2 COPY_CHECK TROGDOR ENDING CLIFF GAME_OVER
|
||||
|
@ -185,7 +186,8 @@ intro.o: intro.s zp.inc qload.inc music.inc \
|
|||
wait_a_bit.s draw_peasant.s hgr_text_box.s \
|
||||
title.s directions.s \
|
||||
intro_cottage.s intro_lake_w.s intro_lake_e.s \
|
||||
intro_river.s intro_knight.s
|
||||
intro_river.s intro_knight.s \
|
||||
new_game.s
|
||||
ca65 -o intro.o intro.s -l intro.lst
|
||||
|
||||
###
|
||||
|
|
|
@ -1,8 +1,10 @@
|
|||
TODO:
|
||||
|
||||
+ animation for game_over
|
||||
+ print warning message on 48k systems that we need at least 64k
|
||||
|
||||
+ more frames in animation for game_over
|
||||
+ hook up game_over for "quit" and "copy"
|
||||
+ music for game over
|
||||
+ better music for game over
|
||||
|
||||
+ consolidate the lookup info for message box sizes, as in the
|
||||
end only Y2 is changing
|
||||
|
|
|
@ -114,57 +114,12 @@ mockingboard_notfound2:
|
|||
;=============================
|
||||
; start new game
|
||||
;=============================
|
||||
start_new_game:
|
||||
lda #LOAD_PEASANT2
|
||||
sta WHICH_LOAD
|
||||
|
||||
;=========================
|
||||
; init peasant position
|
||||
; draw at 18,108
|
||||
jmp start_new_game
|
||||
|
||||
lda #18
|
||||
sta PEASANT_X
|
||||
lda #108
|
||||
sta PEASANT_Y
|
||||
|
||||
lda #PEASANT_DIR_RIGHT
|
||||
sta PEASANT_DIR
|
||||
|
||||
lda #0
|
||||
sta PEASANT_XADD
|
||||
sta PEASANT_YADD
|
||||
|
||||
lda #0
|
||||
sta SCORE_HUNDREDS
|
||||
|
||||
lda #$00
|
||||
sta SCORE_TENSONES
|
||||
|
||||
lda #4
|
||||
sta MAP_X
|
||||
lda #1
|
||||
sta MAP_Y
|
||||
|
||||
lda #$00
|
||||
sta INVENTORY_1
|
||||
sta INVENTORY_2
|
||||
lda #INV3_SHIRT
|
||||
sta INVENTORY_3
|
||||
|
||||
; 1100 1011
|
||||
lda #$00
|
||||
sta INVENTORY_1_GONE
|
||||
; 0001 1101
|
||||
lda #$00
|
||||
sta INVENTORY_2_GONE
|
||||
;
|
||||
lda #$0
|
||||
sta INVENTORY_3_GONE
|
||||
|
||||
rts
|
||||
.include "new_game.s"
|
||||
|
||||
|
||||
;.include "decompress_fast_v2.s"
|
||||
.include "wait_keypress.s"
|
||||
|
||||
.include "intro_cottage.s"
|
||||
|
@ -175,6 +130,7 @@ start_new_game:
|
|||
|
||||
.include "draw_peasant.s"
|
||||
|
||||
;.include "decompress_fast_v2.s"
|
||||
;.include "hgr_font.s"
|
||||
;.include "draw_box.s"
|
||||
;.include "hgr_rectangle.s"
|
||||
|
|
|
@ -0,0 +1,91 @@
|
|||
; Peasant's Quest / New Game
|
||||
|
||||
; included by intro.s
|
||||
|
||||
; by Vince `deater` Weaver vince@deater.net
|
||||
|
||||
;=============================
|
||||
; start new game
|
||||
;=============================
|
||||
start_new_game:
|
||||
|
||||
;===================================================
|
||||
; load inventory code to language card $d000 bank 2
|
||||
|
||||
; switch in language card
|
||||
; read/write RAM, $d000 bank 2
|
||||
|
||||
lda $C083
|
||||
lda $C083
|
||||
|
||||
; actually load it
|
||||
lda #LOAD_INVENTORY
|
||||
sta WHICH_LOAD
|
||||
|
||||
jsr load_file
|
||||
|
||||
|
||||
; start in PEASANT2 file
|
||||
|
||||
lda #LOAD_PEASANT2
|
||||
sta WHICH_LOAD
|
||||
|
||||
;=========================
|
||||
; init peasant position
|
||||
; draw at 18,108
|
||||
|
||||
lda #18
|
||||
sta PEASANT_X
|
||||
lda #108
|
||||
sta PEASANT_Y
|
||||
|
||||
; set direction
|
||||
|
||||
lda #PEASANT_DIR_RIGHT
|
||||
sta PEASANT_DIR
|
||||
|
||||
; set not walking
|
||||
|
||||
lda #0
|
||||
sta PEASANT_XADD
|
||||
sta PEASANT_YADD
|
||||
|
||||
; set score to 0
|
||||
|
||||
lda #0
|
||||
sta SCORE_HUNDREDS
|
||||
|
||||
lda #$00
|
||||
sta SCORE_TENSONES
|
||||
|
||||
; map location
|
||||
|
||||
lda #4
|
||||
sta MAP_X
|
||||
lda #1
|
||||
sta MAP_Y
|
||||
|
||||
; inventory is only t-shirt
|
||||
|
||||
lda #$00
|
||||
sta INVENTORY_1
|
||||
sta INVENTORY_2
|
||||
lda #INV3_SHIRT
|
||||
sta INVENTORY_3
|
||||
|
||||
; inventory items gone
|
||||
|
||||
; 1100 1011
|
||||
lda #$00
|
||||
sta INVENTORY_1_GONE
|
||||
; 0001 1101
|
||||
; lda #$00
|
||||
sta INVENTORY_2_GONE
|
||||
;
|
||||
; lda #$00
|
||||
sta INVENTORY_3_GONE
|
||||
|
||||
|
||||
|
||||
rts
|
||||
|
|
@ -196,7 +196,7 @@ which_disk_array:
|
|||
.byte 1,1,1,2 ; VID_LOGO, TITLE, INTRO. COPY_CHECK
|
||||
.byte 1,1,1,1 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
|
||||
.byte 2,2,1,2 ; TROGDOR, ENDING, MUSIC, CLIFF
|
||||
.byte 2,1,1,1 ; GAME_OVER
|
||||
.byte 2,1,1,1 ; GAME_OVER, INVENTORY
|
||||
.byte 1 ;
|
||||
.byte 1,1,1,1,1 ; SAVE1, SAVE2, SAVE3
|
||||
.byte $f ; disk detect
|
||||
|
@ -205,7 +205,7 @@ load_address_array:
|
|||
.byte $60,$60,$60,$60 ; VID_LOGO, TITLE, INTRO, COPY_CHECK
|
||||
.byte $60,$60,$60,$60 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
|
||||
.byte $60,$60,$D0,$60 ; TROGDOR, ENDING, MUSIC, CLIFF
|
||||
.byte $60,$40,$40,$40 ; GAME_OVER
|
||||
.byte $60,$D0,$40,$40 ; GAME_OVER, INVENTORY
|
||||
.byte $08 ;
|
||||
.byte $BC,$BC,$BC,$0A ; SAVE1, SAVE2, SAVE3
|
||||
.byte $0A ;
|
||||
|
@ -213,9 +213,9 @@ load_address_array:
|
|||
|
||||
track_array:
|
||||
.byte 4, 6, 9,1 ; VID_LOGO, TITLE, INTRO, COPY_CHECK
|
||||
.byte 13,18,24,30 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
|
||||
.byte 15,20,25,30 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
|
||||
.byte 19,24, 3,29 ; TROGDOR, ENDING, MUSIC, CLIFF
|
||||
.byte 3,32,28,30 ; GAME_OVER
|
||||
.byte 3,14,28,30 ; GAME_OVER, INVENTORY
|
||||
.byte 0 ;
|
||||
.byte 0, 0, 0, 0, 0 ; SAVE1, SAVE2, SAVE3
|
||||
.byte 0 ; disk detect
|
||||
|
@ -224,7 +224,7 @@ sector_array:
|
|||
.byte 0, 0, 0, 0 ; VID_LOGO, TITLE, INTRO, COPY_CHECK
|
||||
.byte 0, 0, 0, 0 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
|
||||
.byte 0, 0, 0, 0 ; TROGDOR, ENDING, MUSIC, CLIFF
|
||||
.byte 0,13, 0, 1 ; GAME_OVER
|
||||
.byte 0, 0, 0, 1 ; GAME_OVER, INVENTORY
|
||||
.byte 6 ;
|
||||
.byte 11,12,13,14,15 ; SAVE1, SAVE2, SAVE3
|
||||
.byte 0 ; disk detect
|
||||
|
@ -233,7 +233,7 @@ length_array:
|
|||
.byte 32, 50, 60, 20 ; VID_LOGO, TITLE, INTRO, COPY_CHECK
|
||||
.byte 80, 88, 88, 80 ; PEASANT1, PEASANT2, PEASANT3, PEASANT4
|
||||
.byte 80, 80, 16, 80 ; TROGDOR, ENDING, MUSIC, CLIFF
|
||||
.byte 16, 33, 27, 78 ; GAME_OVER
|
||||
.byte 16, 16, 27, 78 ; GAME_OVER, INVENTORY
|
||||
.byte 3 ;
|
||||
.byte 1,1,1,1,1 ; SAVE1, SAVE2, SAVE3
|
||||
.byte 1 ; disk detect
|
||||
|
|
|
@ -234,6 +234,7 @@ LOAD_ENDING = 9
|
|||
LOAD_MUSIC = 10
|
||||
LOAD_CLIFF = 11
|
||||
LOAD_GAME_OVER = 12
|
||||
LOAD_INVENTORY = 13
|
||||
|
||||
LOAD_SAVE1 = 17
|
||||
LOAD_SAVE2 = 18
|
||||
|
|
Loading…
Reference in New Issue