From 8749117d13c6d5a0b9b526ec626b9dab462faffa Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Tue, 13 Oct 2020 17:17:52 -0400 Subject: [PATCH] monkey: minor fixes, bump to v0.4 --- monkey/TODO | 3 +- monkey/graphics/sprites.png | Bin 804 -> 5943 bytes monkey/hello.bas | 2 +- monkey/monkey.s | 4 +- monkey/monkey_actions.s | 116 ------------------------------- monkey/monkey_lookout.s | 4 ++ monkey/monkey_town.s | 134 ++++++++++++++++++++++++++++++++++++ monkey/monkey_voodoo1.s | 2 +- 8 files changed, 143 insertions(+), 122 deletions(-) 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 8d1ec47c7bcf01c4ab949de46a12367b894037ae..8fb8c5c1d51c63b9dbe67a5af1f3198ab19338df 100644 GIT binary patch delta 5821 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 Hu0mjfy_G^> delta 657 zcmV;C0&e}cE~EyKBYy#eX+uL$Nkc;*aB^>EX>4Tx04R}tkv&MmKpe$iQ>7{`4t5Z6 z$WS|35EXIMDionYs1;guFuC*#ni!H47e~Rh;NZt%)xpJCR|i)?5c~jfa&%I3krMxx z6k5c1aNLh~_a1le0HIN3n$mC8V z-X(aJ|G7U$L@ihh2#CZp%rI@@b>gW_+u*!U9A#x$B|aw}HR*!Hk6c$ge&bwnS>Tyb zGn<(sjuMNd4pustl}(L!k~pSnI^_#Fk5$fFoV99=weHDZ7%u3`OI)Wpj1(5I2niw- z)KEbcHWIYzq<>h*(0O5Xqnhd{hU*=s)U?h)zi?cX!4{(b;qWOASZ5na!d zjTK%A2@(Jb2tqY(>67#oCw~CXNkl_p zPbD8QfuGV*Y}CLC;OjCj5Oswt0USd-Vi36RrNHA50B7*{DA5UgU&aOEthNoA8%XpF zl*|bng9yWMCSLcGKwX7^j35=I(wPfLpT!<`D3$cxkAn66DAErAab^;nZN7Q%gmcrp zJ6*LNdgSYF1$tP6Jh=%EFs_0T>_P!EZo rH?I0WiNk8N(8&G6*}w)i@DIQfY1PZkaU;R%00000NkvXXu0mjfo)Rxj 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