From 87232719db1c16e131982a66bbf018fcba6111ec Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Sun, 26 Jul 2020 16:04:36 -0400 Subject: [PATCH] mist: channelwood: add a missing path location abrupt, also made it hard to add a valve in the right spot --- mist/channel_switches.s | 50 ++++++++++-- mist/common_defines.inc | 2 +- mist/graphics_channel/Makefile | 3 + mist/graphics_channel/path7_n.png | Bin 0 -> 1021 bytes mist/graphics_channel/path7_s.png | Bin 0 -> 1021 bytes mist/leveldata_channel.inc | 123 +++++++++++++++++++++++++++++- 6 files changed, 166 insertions(+), 12 deletions(-) create mode 100644 mist/graphics_channel/path7_n.png create mode 100644 mist/graphics_channel/path7_s.png diff --git a/mist/channel_switches.s b/mist/channel_switches.s index a26a729e..08b5fea0 100644 --- a/mist/channel_switches.s +++ b/mist/channel_switches.s @@ -1,30 +1,64 @@ ;=========================== ;=========================== -; handle valve 1 (elevator2) +; handle valve 1-6 ;=========================== ;=========================== handle_valve1: - lda CHANNEL_VALVES eor #CHANNEL_VALVE1 + jmp common_handle_valves +handle_valve2: + lda CHANNEL_VALVES + eor #CHANNEL_VALVE2 + jmp common_handle_valves +handle_valve3: + lda CHANNEL_VALVES + eor #CHANNEL_VALVE3 + jmp common_handle_valves +handle_valve4: + lda CHANNEL_VALVES + eor #CHANNEL_VALVE4 + jmp common_handle_valves +handle_valve5: + lda CHANNEL_VALVES + eor #CHANNEL_VALVE5 + jmp common_handle_valves +handle_valve6: + lda CHANNEL_VALVES + eor #CHANNEL_VALVE6 + +common_handle_valves: sta CHANNEL_VALVES - jsr adjust_valve_backgrounds + jmp change_direction ; update background - jsr change_direction ; update background - rts ;=========================== ;=========================== -; goto valve1 +; goto valves ;=========================== ;=========================== goto_valve1: - lda #CHANNEL_VALVE1_ELEVATOR2 + bne common_goto_valve ; bra +goto_valve2: + lda #CHANNEL_VALVE2_TREE + bne common_goto_valve ; bra +goto_valve3: + lda #CHANNEL_VALVE3_BROKEN + bne common_goto_valve ; bra +goto_valve4: + lda #CHANNEL_VALVE4_ELEVATOR1 + bne common_goto_valve ; bra +goto_valve5: + lda #CHANNEL_VALVE5_ENTRY + bne common_goto_valve ; bra +goto_valve6: + lda #CHANNEL_VALVE6_BRIDGE + bne common_goto_valve ; bra +common_goto_valve: sta LOCATION - jmp change_location diff --git a/mist/common_defines.inc b/mist/common_defines.inc index 31edfae1..c43ab254 100644 --- a/mist/common_defines.inc +++ b/mist/common_defines.inc @@ -366,7 +366,7 @@ CHANNEL_VALVE3_BROKEN = 40 CHANNEL_VALVE4_ELEVATOR1= 41 CHANNEL_VALVE5_ENTRY = 42 CHANNEL_VALVE6_BRIDGE = 43 - +CHANNEL_PATH7 = 44 ; Cabin lost in woods CABIN_OUTSIDE = 0 diff --git a/mist/graphics_channel/Makefile b/mist/graphics_channel/Makefile index d2a51ed8..a417023b 100644 --- a/mist/graphics_channel/Makefile +++ b/mist/graphics_channel/Makefile @@ -16,6 +16,7 @@ channel_graphics.inc: \ path4_e.lzsa path4_w.lzsa path4_s.lzsa \ path5_e.lzsa path5_s.lzsa path5_n.lzsa \ path6_s.lzsa path6_w.lzsa path6_n.lzsa \ + path7_s.lzsa path7_n.lzsa \ fork_n.lzsa fork_s.lzsa fork_w.lzsa fork_gone_w.lzsa \ before_elev1_e.lzsa before_elev1_w.lzsa before_elev1_open_w.lzsa \ before_elev1_gone_w.lzsa \ @@ -65,6 +66,8 @@ channel_graphics.inc: \ echo "path6_s_lzsa: .incbin \"path6_s.lzsa\"" >> channel_graphics.inc echo "path6_w_lzsa: .incbin \"path6_w.lzsa\"" >> channel_graphics.inc echo "path6_n_lzsa: .incbin \"path6_n.lzsa\"" >> channel_graphics.inc + echo "path7_n_lzsa: .incbin \"path7_n.lzsa\"" >> channel_graphics.inc + echo "path7_s_lzsa: .incbin \"path7_s.lzsa\"" >> channel_graphics.inc echo "fork_n_lzsa: .incbin \"fork_n.lzsa\"" >> channel_graphics.inc echo "fork_s_lzsa: .incbin \"fork_s.lzsa\"" >> channel_graphics.inc echo "fork_w_lzsa: .incbin \"fork_w.lzsa\"" >> channel_graphics.inc diff --git a/mist/graphics_channel/path7_n.png b/mist/graphics_channel/path7_n.png new file mode 100644 index 0000000000000000000000000000000000000000..1121e52dc87b947acaec73b2b03150304e609707 GIT binary patch literal 1021 zcmVEX>4Tx04R}tkv&MmKpe$iQ>7v;9n2ubAwzYtAS&XhRVYG*P%E_RU~=gfG_fQp zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0YbCNbgO3!&<)$n zq>@rDzaoWR5kd@6L?9~6s?ExB8ouM}9s$1IC3u$qxj#olD_9H&NW?R&X4=H-#8aDg zjq^US$jXXFd`>)S(glehxvqNr#<}FOz%xZNo0%gPiKS8(t6j{>rcOLb9M^P%@`aqo z8s{y}dbQ5l_v9}O7mVd4uG1Vs3JX|-3<)agsGtfP30e(OEM#au>En;NewkbJ}{ee5``6Cn5uTp1nzMiZF+B)!qm z;zvMq8@RacXzCttxdRM7)f7{4r65hASOnhB=$rDuz%9_f>h;#%$LRx*rLNL9z`-Ff zQljiNpLh3l_xA6Zc7H!K)^d(bL7__k001*kOjJbx00842U|>$Y|3v)&qhOqzoD|Rf z(8K>=as&TrJe{4L|Dezm^*qqsjdK6c|Ns90005njhJXM7010qNS#tmY6m$Rp6<`6D zSL>1h000McNlirueSad^gZEa<4bO1wgWnpw>WFU8GbZ8() zNlj2!fese{00F5fU+%HI^prwTaV}Yt8Pxh%z8tMN zQVM~OX!DWJaV-QQZgcP*KJ$a0q+>9IuYpP)fhkQ@h^rq}SdyNrumwLJLkl8z3gk<7 z!IYdXe+I7W`~BfzRo{xa~{s5Ezxmuvj-&wC7pP<&A5QmPZM%3hW^u%2IlP4==} zAw3RYm%B`bU47mHr&+GEX>4Tx04R}tkv&MmKpe$iQ>7v;9n2ubAwzYtAS&XhRVYG*P%E_RU~=gfG_fQp zE{=k0!NHHks)LKOt`4q(Aou~|}?mh0_0YbCNbgO3!&<)$n zq>@rDzaoWR5kd@6L?9~6s?ExB8ouM}9s$1IC3u$qxj#olD_9H&NW?R&X4=H-#8aDg zjq^US$jXXFd`>)S(glehxvqNr#<}FOz%xZNo0%gPiKS8(t6j{>rcOLb9M^P%@`aqo z8s{y}dbQ5l_v9}O7mVd4uG1Vs3JX|-3<)agsGtfP30e(OEM#au>En;NewkbJ}{ee5``6Cn5uTp1nzMiZF+B)!qm z;zvMq8@RacXzCttxdRM7)f7{4r65hASOnhB=$rDuz%9_f>h;#%$LRx*rLNL9z`-Ff zQljiNpLh3l_xA6Zc7H!K)^d(bL7__k001*kOjJbx00842U|>$Y|3v)&qhOqzoD|Rf z(8K>=as&TrJe{4L|Dezm^*qqsjdK6c|Ns90005njhJXM7010qNS#tmY6m$Rp6<`6D zSL>1h000McNlirueSad^gZEa<4bO1wgWnpw>WFU8GbZ8() zNlj2!fese{00F5)yMok3BL+)25tru%e;-qR_k z6oGmL#DFekkqERPfN)nUw6tLtfEL=SAt1LDwt@AFZvk~yPi)EsV4bo7&5P8(8Q7_z z$eR`Z0Z>8T2h?VH;B({u0a|bbGW?f-7#D!UVjie>!{CAHiH6ve5WN5qh#7x4c=1oE zf%@EDZa-PG6=-HZCG}!O7<|M5m{KW>-vH?*m{6>NEKL(>B9R1?L?A&^)4D(^@jwq+ zLnRia17vc#(o|SomcrU-V@IJuk>2CM1_8)@+v+#l!V_rq1de)!VH~$nJ3v;`H-M^I zI0uZ#am02u$8bmHfMaDXg>8u6zXLRl{9;~IXz!foQs%|>VH$G+c)NzZDxO!^0a}sY zpwMgNmKPLKWA9+cQ+g5@H+X$F6mCDk_~9K_@smI#A5%U~x(l>w>W5c9w>ocI*afyv rAyVG!aR=x_+Q8GtCZ@Cp>|uWZ6B|i6GKVhX00000NkvXXu0mjf*CoY1 literal 0 HcmV?d00001 diff --git a/mist/leveldata_channel.inc b/mist/leveldata_channel.inc index eca7de9f..4371f67e 100644 --- a/mist/leveldata_channel.inc +++ b/mist/leveldata_channel.inc @@ -12,7 +12,9 @@ locations: .word location24,location25,location26,location27 .word location28,location29,location30,location31 .word location32,location33,location34,location35 - .word location36,location37,location38 + .word location36,location37,location38,location39 + .word location40,location41,location42,location43 + .word location44 ; CHANNEL_ARRIVAL -- arrival in channelwood location0: @@ -104,7 +106,7 @@ location4: ; CHANNEL_PATH5 -- twisty maze of passages all alike location5: - .byte CHANNEL_STEPS_FORK ; north exit + .byte CHANNEL_PATH7 ; north exit .byte CHANNEL_PATH6 ; south exit .byte CHANNEL_PATH4 ; east exit .byte $ff ; west exit @@ -211,7 +213,7 @@ location10: ; CHANNEL_STEPS_FORK -- fork going to steps location11: .byte CHANNEL_WIND_PATH ; north exit - .byte CHANNEL_PATH5 ; south exit + .byte CHANNEL_PATH7 ; south exit .byte $ff ; east exit .byte CHANNEL_STEPS_PATH ; west exit .byte DIRECTION_N ; north exit_dir @@ -727,4 +729,119 @@ location38: .byte 14,34 ; special y .word handle_valve1-1 ; special function +; CHANNEL_VALVE2_TREE -- valve by the big tree +location39: + .byte CHANNEL_STEPS_FORK ; north exit + .byte CHANNEL_WIND_PATH ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word valve_bottom_off_lzsa ; north bg + .word valve_top_off_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte DIRECTION_N|DIRECTION_S ; special exit + .byte 15,25 ; special x + .byte 14,34 ; special y + .word handle_valve2-1 ; special function +; CHANNEL_VALVE3_BROKEN -- valve to broken pipe +location40: + .byte CHANNEL_STEPS_FORK ; north exit + .byte CHANNEL_WIND_PATH ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word valve_bottom_off_lzsa ; north bg + .word valve_top_off_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte DIRECTION_N|DIRECTION_S ; special exit + .byte 15,25 ; special x + .byte 14,34 ; special y + .word handle_valve3-1 ; special function + +; CHANNEL_VALVE4_ELEVATOR1 -- valve for elevator1/pipe bridge +location41: + .byte CHANNEL_STEPS_FORK ; north exit + .byte CHANNEL_WIND_PATH ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word valve_bottom_off_lzsa ; north bg + .word valve_top_off_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte DIRECTION_N|DIRECTION_S ; special exit + .byte 15,25 ; special x + .byte 14,34 ; special y + .word handle_valve4-1 ; special function + +; CHANNEL_VALVE5_ENTRY -- valve that goes to entry tree for some reason +location42: + .byte CHANNEL_STEPS_FORK ; north exit + .byte CHANNEL_WIND_PATH ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word valve_bottom_off_lzsa ; north bg + .word valve_top_off_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte DIRECTION_N|DIRECTION_S ; special exit + .byte 15,25 ; special x + .byte 14,34 ; special y + .word handle_valve5-1 ; special function + +; CHANNEL_VALVE6_BRIDGE -- valve for bridge extender +location43: + .byte CHANNEL_STEPS_FORK ; north exit + .byte CHANNEL_WIND_PATH ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word valve_bottom_off_lzsa ; north bg + .word valve_top_off_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte DIRECTION_N|DIRECTION_S ; special exit + .byte 15,25 ; special x + .byte 14,34 ; special y + .word handle_valve6-1 ; special function + +; CHANNEL_PATH7 -- filling in a gap +location44: + .byte CHANNEL_STEPS_FORK ; north exit + .byte CHANNEL_PATH5 ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word path7_n_lzsa ; north bg + .word path7_s_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH|BG_SOUTH + .byte $ff