monkey: change up the game engine a bit

This commit is contained in:
Vince Weaver 2020-09-24 21:45:46 -04:00
parent 526c4e2343
commit 7f7bd77a0e
4 changed files with 186 additions and 20 deletions

View File

@ -12,6 +12,9 @@ VERB_PUSH = 7
VERB_PULL = 8
VERB_WALK = 9
GUYBRUSH_BIG = 0
GUYBRUSH_SMALL = 1
GUYBRUSH_TINY = 2
;===============================================
@ -19,12 +22,11 @@ VERB_WALK = 9
;===============================================
LOCATION_BACKGROUND=0 ; background
LOCATION_WALK_X_LEFT=2
LOCATION_WALK_X_RIGHT=3
LOCATION_WALK_Y_TOP=4
LOCATION_WALK_Y_BOTTOM=5
LOCATION_NUM_AREAS=6
LOCATION_AREAS=7 ; each area 8 in size
LOCATION_DESTINATION = 2
LOCATION_EXIT = 4
LOCATION_SIZE = 6
LOCATION_NUM_AREAS=7
LOCATION_AREAS=8 ; each area 8 in size
;================================
@ -46,3 +48,9 @@ MONKEY_DOCK = 2
MONKEY_BAR = 3
MONKEY_TOWN = 4
MONKEY_MAP = 5
MONKEY_BAR_INSIDE1 = 6
MONKEY_BAR_INSIDE2 = 7
MONKEY_CHURCH = 8
MONKEY_MANSION_PATH = 9
MONKEY_MANSION = 10
MONKEY_ZIPLINE = 11

View File

@ -4,13 +4,16 @@
locations:
.word location0,location1,location2,location3
.word location4,location5
.word location4,location5,location6,location7
.word location8,location9,location10,location11
; MONKEY_LOOKOUT -- lookout tower
location0:
.word lookout_lzsa ; background
.byte 18,40 ; walking range X
.byte 16,48 ; walking range Y
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 3 ; num areas
.byte 12,15 ; x
@ -31,8 +34,9 @@ location0:
; MONKEY_POSTER -- house with poster
location1:
.word poster_lzsa ; background
.byte 18,40 ; walking range X
.byte 16,48 ; walking range Y
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 2 ; num areas
.byte 0,5 ; x
@ -48,8 +52,9 @@ location1:
; MONKEY_DOCK -- dock
location2:
.word dock_lzsa ; background
.byte 18,40 ; walking range X
.byte 16,48 ; walking range Y
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 1 ; num areas
.byte 12,16 ; x
@ -60,8 +65,9 @@ location2:
; MONKEY_BAR -- scumm bar
location3:
.word bar_lzsa ; background
.byte 18,40 ; walking range X
.byte 16,48 ; walking range Y
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 1 ; num areas
.byte 9,14 ; x
@ -72,8 +78,9 @@ location3:
; MONKEY_TOWN -- downtown
location4:
.word town_lzsa ; background
.byte 18,40 ; walking range X
.byte 16,48 ; walking range Y
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 8 ; num areas
.byte 33,38 ; x
@ -120,8 +127,9 @@ location4:
; MONKEY_MAP -- melee map
location5:
.word map_lzsa ; background
.byte 18,40 ; walking range X
.byte 16,48 ; walking range Y
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_TINY ; size
.byte 7 ; num areas
.byte 32,33 ; x
@ -159,6 +167,119 @@ location5:
.word village_string ; name
.word map_action-1 ; action
; MONKEY_BAR_INSIDE1 -- inside bar, lots going on
location6:
.word bar_inside1_lzsa ; background
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 4 ; num areas
.byte 0,3 ; x
.byte 12,34 ; y
.word curtain_string ; name
.word curtain_action-1 ; action
.byte 7,20 ; x
.byte 22,32 ; y
.word impt_pirate_string ; name
.word impt_pirate_action-1 ; action
.byte 23,28 ; x
.byte 20,28 ; y
.word fireplace_string ; name
.word fireplace_action-1 ; action
.byte 34,38 ; x
.byte 18,36 ; y
.word door_string ; name
.word bar2_door_action-1 ; action
; MONKEY_BAR_INSIDE2 -- three pirates
location7:
.word bar_inside2_lzsa ; background
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 4 ; num areas
.byte 0,3 ; x
.byte 12,34 ; y
.word curtain_string ; name
.word curtain_action-1 ; action
.byte 7,20 ; x
.byte 22,32 ; y
.word impt_pirate_string ; name
.word impt_pirate_action-1 ; action
.byte 23,28 ; x
.byte 20,28 ; y
.word fireplace_string ; name
.word fireplace_action-1 ; action
.byte 34,38 ; x
.byte 18,36 ; y
.word door_string ; name
.word bar2_door_action-1 ; action
; MONKEY_CHURCH -- outside the church
location8:
.word church_lzsa ; background
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 1 ; num areas
.byte 9,14 ; x
.byte 20,32 ; y
.word door_string ; name
.word door_action-1 ; action
; MONKEY_MANSION_PATH -- path to the mansion
location9:
.word mansion_path_lzsa ; background
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 1 ; num areas
.byte 9,14 ; x
.byte 20,32 ; y
.word door_string ; name
.word door_action-1 ; action
; MONKEY_MANSION -- governor's mansion
location10:
.word mansion_lzsa ; background
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 1 ; num areas
.byte 9,14 ; x
.byte 20,32 ; y
.word door_string ; name
.word door_action-1 ; action
; MONKEY_ZIPLINE -- hook's zipline
location11:
.word zipline_lzsa ; background
.word set_destination_lookout-1 ; destination
.word check_exit_lookout-1 ; exit
.byte GUYBRUSH_BIG ; size
.byte 1 ; num areas
.byte 9,14 ; x
.byte 20,32 ; y
.word door_string ; name
.word door_action-1 ; action
string_data:
house_string: .byte 18,20,"HOUSE",0
lights_string: .byte 17,20,"LIGHTS",0
@ -168,6 +289,11 @@ shore_string: .byte 18,20,"SHORE",0
lookout_point_string: .byte 13,20,"LOOKOUT POINT",0
village_string: .byte 16,20,"VILLAGE",0
curtain_string: .byte 20,20,"CURTAIN",0
impt_pirate_string: .byte 20,20,"IMPORTANT PIRATES",0
fireplace_string: .byte 20,20,"FIREPLACE",0
lookout_string: .byte 20,20,"LOOKOUT",0
path_string: .byte 20,20,"PATH",0
stairs_string: .byte 20,20,"STAIRS",0

View File

@ -50,7 +50,8 @@ monkey_start:
; set up initial location
lda #MONKEY_LOOKOUT
lda #MONKEY_BAR_INSIDE2
; lda #MONKEY_LOOKOUT
sta LOCATION
jsr change_location

View File

@ -368,6 +368,37 @@ town_door_nothing:
sta CURRENT_VERB
rts
;=============================
bar2_door_action:
bar2_door_nothing:
lda #VERB_WALK
sta CURRENT_VERB
rts
;=============================
curtain_action:
curtain_nothing:
lda #VERB_WALK
sta CURRENT_VERB
rts
;=============================
fireplace_action:
fireplace_nothing:
lda #VERB_WALK
sta CURRENT_VERB
rts
;=============================
impt_pirate_action:
impte_pirate_nothing:
lda #VERB_WALK
sta CURRENT_VERB
rts
;=============================
map_action:
map_nothing: