diff --git a/monkey/TODO b/monkey/TODO index dd305e17..7768df43 100644 --- a/monkey/TODO +++ b/monkey/TODO @@ -1,12 +1,11 @@ overall: + better bounds checking on paths + + walk slower when tiny? hook up actions: + scumm bar1 foreground: - + church - + voodoo chicken + bar1 animations: diff --git a/monkey/graphics/sprites.png b/monkey/graphics/sprites.png index 8d1ec47c..8fb8c5c1 100644 Binary files a/monkey/graphics/sprites.png and b/monkey/graphics/sprites.png differ diff --git a/monkey/hello.bas b/monkey/hello.bas index 9ea91b0a..539f5096 100644 --- a/monkey/hello.bas +++ b/monkey/hello.bas @@ -1,5 +1,5 @@ 5 HOME -10 PRINT "LOADING MONKEY V0.03" +10 PRINT "LOADING MONKEY V0.04" 20 PRINT:PRINT 40 PRINT "CONTROLS: " 42 PRINT " MOVE CURSOR : ARROWS OR WASD" diff --git a/monkey/monkey.s b/monkey/monkey.s index 55555d6f..10d8591d 100644 --- a/monkey/monkey.s +++ b/monkey/monkey.s @@ -52,8 +52,8 @@ monkey_start: ; set up initial location ; lda #MONKEY_BAR -; lda #MONKEY_LOOKOUT - lda #MONKEY_VOODOO1 + lda #MONKEY_LOOKOUT +; lda #MONKEY_VOODOO1 sta LOCATION jsr change_location diff --git a/monkey/monkey_actions.s b/monkey/monkey_actions.s index 72af271c..ffc1e6a1 100644 --- a/monkey/monkey_actions.s +++ b/monkey/monkey_actions.s @@ -254,122 +254,6 @@ poster_look: - - ;============================= -archway_action: - lda CURRENT_VERB - asl - tay - - lda archway_actions,Y - cmp #$ff - beq archway_nothing - - sta MESSAGE_L - lda archway_actions+1,Y - sta MESSAGE_H - - jmp do_display_message - -archway_nothing: - lda #VERB_WALK - sta CURRENT_VERB - rts - -archway_actions: - .word $FFFF ; give - .word doesnt_open ; open - .word doesnt_work ; close - .word cant_pick_up ; pick_up - .word not_special ; look_at - .word $FFFF ; talk_to - .word doesnt_work ; use - .word icant_move ; push - .word icant_move ; pull - - - ;============================= -clock_action: - lda CURRENT_VERB - asl - tay - - lda clock_actions,Y - cmp #$ff - beq clock_nothing - - sta MESSAGE_L - lda clock_actions+1,Y - sta MESSAGE_H - - jmp do_display_message - -clock_nothing: - lda #VERB_WALK - sta CURRENT_VERB - rts - -clock_actions: - .word $FFFF ; give - .word doesnt_open ; open - .word doesnt_work ; close - .word cant_pick_up ; pick_up - .word clock_look ; look_at - .word $FFFF ; talk_to - .word doesnt_work ; use - .word icant_move ; push - .word icant_move ; pull - -clock_look: -.byte 12,21,"IT'S 10 O'CLOCK.",0 - - ;============================= -citizen_action: - lda CURRENT_VERB - asl - tay - - lda citizen_actions,Y - cmp #$ff - beq citizen_nothing - - sta MESSAGE_L - lda citizen_actions+1,Y - sta MESSAGE_H - - jmp do_display_message - -citizen_nothing: - lda #VERB_WALK - sta CURRENT_VERB - rts - - -citizen_actions: - .word $FFFF ; give - .word $FFFF ; open - .word $FFFF ; close - .word $FFFF ; pick_up - .word citizen_look ; look_at - .word citizen_talk ; talk_to - .word $FFFF ; use - .word $FFFF ; push - .word $FFFF ; pull - -citizen_look: -.byte 9,21,"WHAT'RE YOU LOOKING AT?",0 - -citizen_talk: -.byte 4,21,"DO YOU HAVE A COUSIN NAMED SVEN?",0 - - - ;============================= -town_door_action: -town_door_nothing: - lda #VERB_WALK - sta CURRENT_VERB - rts - ;============================= map_action: map_nothing: diff --git a/monkey/monkey_lookout.s b/monkey/monkey_lookout.s index 2eb59472..35250cf5 100644 --- a/monkey/monkey_lookout.s +++ b/monkey/monkey_lookout.s @@ -48,6 +48,10 @@ lookout_check_arch: lda #20 sta GUYBRUSH_Y sta DESTINATION_Y + + lda #GUYBRUSH_TINY + sta GUYBRUSH_SIZE + jsr change_location jmp lookout_no_exit diff --git a/monkey/monkey_town.s b/monkey/monkey_town.s index 81c652b2..c8d40a93 100644 --- a/monkey/monkey_town.s +++ b/monkey/monkey_town.s @@ -483,3 +483,137 @@ adjust_feet_tiny: done_adjust_feet: sta GUYBRUSH_FEET rts + + + + + ;============================= +archway_action: + lda CURRENT_VERB + asl + tay + + lda archway_actions,Y + cmp #$ff + beq archway_nothing + + sta MESSAGE_L + lda archway_actions+1,Y + sta MESSAGE_H + + jmp do_display_message + +archway_nothing: + lda #VERB_WALK + sta CURRENT_VERB + rts + +archway_actions: + .word $FFFF ; give + .word doesnt_open ; open + .word doesnt_work ; close + .word cant_pick_up ; pick_up + .word not_special ; look_at + .word $FFFF ; talk_to + .word doesnt_work ; use + .word icant_move ; push + .word icant_move ; pull + + + ;============================= +clock_action: + lda CURRENT_VERB + asl + tay + + lda clock_actions,Y + cmp #$ff + beq clock_nothing + + sta MESSAGE_L + lda clock_actions+1,Y + sta MESSAGE_H + + jmp do_display_message + +clock_nothing: + lda #VERB_WALK + sta CURRENT_VERB + rts + +clock_actions: + .word $FFFF ; give + .word doesnt_open ; open + .word doesnt_work ; close + .word cant_pick_up ; pick_up + .word clock_look ; look_at + .word $FFFF ; talk_to + .word doesnt_work ; use + .word icant_move ; push + .word icant_move ; pull + +clock_look: +.byte 12,21,"IT'S 10 O'CLOCK.",0 + + ;============================= +citizen_action: + lda CURRENT_VERB + asl + tay + + lda citizen_actions,Y + cmp #$ff + beq citizen_nothing + + sta MESSAGE_L + lda citizen_actions+1,Y + sta MESSAGE_H + + jmp do_display_message + +citizen_nothing: + lda #VERB_WALK + sta CURRENT_VERB + rts + + +citizen_actions: + .word $FFFF ; give + .word $FFFF ; open + .word $FFFF ; close + .word $FFFF ; pick_up + .word citizen_look ; look_at + .word citizen_talk ; talk_to + .word $FFFF ; use + .word $FFFF ; push + .word $FFFF ; pull + +citizen_look: +.byte 9,21,"WHAT'RE YOU LOOKING AT?",0 + +citizen_talk: +.byte 4,21,"DO YOU HAVE A COUSIN NAMED SVEN?",0 + + + ;============================= +town_door_action: + + lda CURRENT_VERB + cmp #VERB_OPEN + bne town_door_nothing + + ; check if close? + + ; move to other door + + lda #3 + sta GUYBRUSH_X + lda #18 + sta GUYBRUSH_Y + lda #GUYBRUSH_TINY + sta GUYBRUSH_SIZE + +town_door_nothing: + lda #VERB_WALK + sta CURRENT_VERB + rts diff --git a/monkey/monkey_voodoo1.s b/monkey/monkey_voodoo1.s index 6117c0af..46df54a3 100644 --- a/monkey/monkey_voodoo1.s +++ b/monkey/monkey_voodoo1.s @@ -30,7 +30,7 @@ voodoo1_to_voodoo2: voodoo1_to_town: lda #MONKEY_TOWN sta LOCATION - lda #10 + lda #8 sta GUYBRUSH_X sta DESTINATION_X lda #18