From 0e00cf94ca6b959551917cb454ed76bea4ab5440 Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Wed, 15 Jul 2020 19:12:23 -0400 Subject: [PATCH] mist: cabin: now properly hooks up tree temporarily you can't get to Channelwood --- mist/cabin.s | 2 + mist/cabin_boiler_puzzle.s | 77 ++++++++++++++++++++++-- mist/common_defines.inc | 2 + mist/default_save.s | 2 + mist/graphics_cabin/clearing_e_open.png | Bin 12048 -> 12108 bytes mist/leveldata_cabin.inc | 40 +++++++++++- mist/zp.inc | 9 ++- 7 files changed, 123 insertions(+), 9 deletions(-) diff --git a/mist/cabin.s b/mist/cabin.s index fb313252..a5f3f482 100644 --- a/mist/cabin.s +++ b/mist/cabin.s @@ -42,6 +42,8 @@ cabin_start: ; set up initial location + jsr cabin_update_state + jsr change_location lda #1 diff --git a/mist/cabin_boiler_puzzle.s b/mist/cabin_boiler_puzzle.s index 27f2f670..b65e5ee4 100644 --- a/mist/cabin_boiler_puzzle.s +++ b/mist/cabin_boiler_puzzle.s @@ -5,7 +5,8 @@ ; the match will flicker and burn out if you go outside ; light the pilot, it will turn red - ; PSI starts at zero + + ; boiler PSI starts at zero ; turn once clockwise, fire starts, nothing else? ; turn once counter-clockwise fire turns off ; turn twice CW -> ? @@ -32,6 +33,10 @@ ; button does nothing in basement ; dial in basement does same as one upstairs +; \ \ \ \ \ : / / / / / +; P S I +; \ + tree_base_backgrounds: .word tree_base_n_lzsa ; 0 basement @@ -60,17 +65,81 @@ tree_elevator_backgrounds: .word tree_base_n_lzsa ; 5 L10 .word tree_base_n_lzsa ; 6 TOP +tree_elevator_exits: + .byte CABIN_TREE_BASEMENT ; 0 basement + .byte $ff ; 1 underground + .byte CABIN_BIG_TREE ; 2 ground + .byte $ff ; 3 L6 + .byte $ff ; 4 L8 + .byte $ff ; 5 L10 + .byte CABIN_TREE_LOOK_DOWN ; 6 TOP + +tree_entrance: + .byte CABIN_TREE_LOOK_UP ; 0 basement + .byte CABIN_TREE_LOOK_UP ; 1 underground + .byte CABIN_TREE_ELEVATOR ; 2 ground + .byte CABIN_TREE_LOOK_UP ; 3 L6 + .byte CABIN_TREE_LOOK_UP ; 4 L8 + .byte CABIN_TREE_LOOK_UP ; 5 L10 + .byte CABIN_TREE_LOOK_UP ; 6 TOP + +tree_entrance_dir: + .byte DIRECTION_N ; 0 basement + .byte DIRECTION_N ; 1 underground + .byte DIRECTION_S ; 2 ground + .byte DIRECTION_N ; 3 L6 + .byte DIRECTION_N ; 4 L8 + .byte DIRECTION_N ; 5 L10 + .byte DIRECTION_N ; 6 TOP -; \ \ \ \ \ : / / / / / -; P S I -; \ ;=================================== ; update backgrounds based on state ;=================================== cabin_update_state: + ; update tree base background + + ldy #LOCATION_NORTH_BG + lda TREE_LEVEL + asl + tax + lda tree_base_backgrounds,X + sta location7,Y ; CABIN_BIG_TREE + lda tree_base_backgrounds+1,X + sta location7+1,Y ; CABIN_BIG_TREE + + ; update tree up background + lda tree_base_up_backgrounds,X + sta location14,Y ; CABIN_TREE_LOOK_UP + lda tree_base_up_backgrounds+1,X + sta location14+1,Y ; CABIN_TREE_LOOK_UP + + ; update tree elevator background + + ldy #LOCATION_SOUTH_BG + lda tree_elevator_backgrounds,X + sta location8,Y ; CABIN_TREE_ELEVATOR + lda tree_elevator_backgrounds+1,X + sta location8+1,Y ; CABIN_TREE_ELEVATOR + + ; update if you can get into tree + lda TREE_LEVEL + tax + ldy #LOCATION_NORTH_EXIT + lda tree_entrance,X + sta location7,Y ; CABIN_BIG_TREE + ldy #LOCATION_NORTH_EXIT_DIR + lda tree_entrance_dir,X + sta location7,Y ; CABIN_BIG_TREE + + ; update elevator exit + + ldy #LOCATION_SOUTH_EXIT + lda tree_elevator_exits,X + sta location8,Y ; CABIN_TREE_ELEVATOR + rts diff --git a/mist/common_defines.inc b/mist/common_defines.inc index e1f5b5e5..9c38c168 100644 --- a/mist/common_defines.inc +++ b/mist/common_defines.inc @@ -373,6 +373,8 @@ CABIN_TREE_BOOK = 10 CABIN_TREE_BOOK_CLOSED = 11 CABIN_TREE_BOOK_OPEN = 12 CABIN_OPEN_SAFE = 13 +CABIN_TREE_LOOK_UP = 14 +CABIN_TREE_LOOK_DOWN = 15 ; Arbor, up in the trees ARBOR_INSIDE_ELEV1 = 0 diff --git a/mist/default_save.s b/mist/default_save.s index 87494969..5e18d823 100644 --- a/mist/default_save.s +++ b/mist/default_save.s @@ -78,3 +78,5 @@ .byte $00 ; SAFE_TENS = $C4 .byte $00 ; SAFE_ONES = $C5 .byte $00 ; TREE_LEVEL = $C6 +.byte $00 ; HOLDING_ITEM = $C7 +.byte $00 ; BOILER_VALVE = $C8 diff --git a/mist/graphics_cabin/clearing_e_open.png b/mist/graphics_cabin/clearing_e_open.png index 5a6d60dfc785eaca4a7ac4082e3ed80404c96e40..9a1eb52e6bda7bd047b17a7b18de1fb436921d49 100644 GIT binary patch delta 10667 zcmV;cDOA>wUd&#QBmwb}B_DrjmXx`&W&djwcL?g6;iz4!W>CYgeIyScNRoHosw9EH z-M>yUJB`WYX8+&+bIgDK^B-qpsV1gUbIaNCUu?1Y&JWeT|N8xt58glTf9dlU|Ni#6 z314q`UeZ54FVy^bee=5K^ZxVt{G6xrdiv!=ZGYYv-{0t;6Z!hNz~_JUuL}kDE@0Q^ zME!H3;6GQ6@89Ed<=krd^%2(B6V%Tu_5C*bBZlI0%C1EIjNX=#8$VaiC^ByA-l%^g z=iBEAe*3ri`l#og{0=VI`)7T38Q$;C@4}xhBtGXtyFWYr^ugWnwT3C<7P!La%zN7( zqxo%YzW)A~|IB~$Sf77z_%_`?e)@!g`Ff+ZKZilypHGC}W-tHv`@U{|f5W9ePxqbE zU+$>H&rklnZhpSu%eRNFKYyRI>N)#8U5}YZ&Yy?+dPHaR6CWH3f_qrzSK)W!=W>5F zepS+C5@X9wJNPwSbDk+aF1qEqJI3w%!*r8-jDGvV-`-E=Rj+?l=A!u-H0e>l-0_9! zU!gMflTZn~>d!HsdvW)=?Ot!X%9WSnquy~c$07gYFZ17g=x@KyQ7$=mQ-rB^Z-Twj zklWDA=}$h!jJWd|)N}{<>(}>y{7h_M3ez3t$^&*g-YG_MKVvK0i4J@&@%Kw^SJpdT zCyHD3yAIyMD$uDlw#}G1eLlSUl!!gC(&-&!w z>!2hvkwPX>s}hvSiZKyCC01gnr;uVwDW{TZYN_Xtqanj`E?IEfODM6Vl1nMIw9;#+ zv8I}9skOG+n{NR$PK|VIwYAne*X*3RXVdw7=au0{7;%53kw+PIw9zNwGviD%&ob+5 zvoF8GB9B*IW!2SI-)<91JMLt5-euR_c0a`02`8R(@+qgDcKVN5`^@S;e*G_I&3$Ig z-)-|#sFWIL%d?(kIkx-S{TT67pi@6rLwtX*+#h%&mR;gL{IFs;bD-%mxEBR8VZ#m74_J})X z-#gP%VqCt=;!e(Iug!?_kY~8Pp{6}sb%TE~+M(njR{1b%$(;@%Zz^n z;O@xd1}LqW`dmlyYgS8QF1rJn7e*>Xb=oOxF9gcHo!k}=$z(+CV6{``DuFR7gW(?B zXPtS?TpUkB0s~KNp1oHhY}_owb#KwdUP-gE#+jtRi2zwldxIlpM3-BLDR1zvjo}kH zg0hH>U}3n21BDo5NG|Od02n~6B~pK3rZJea6u9vLW^X+a=}C5sQUQ@P7V)xIIhkRZ zlWE9#ofa)O4CXQN*`-ihx4Xu%#_|{jL+skcY@g6-?auWR*CLuYLCnh|NfN07MARvi zNJMk^M15eOh}^b_{B2gur1nq-5h*^7mUVGroxx(@x9354Yi`#nlIM&Sx9xw7N=tBa zS#bt1co|=_Y)yBNTp@yv@FNRhxVK4Qhf?Cryn0-H_p);aR(1x4IRIb@aTr2u73Ps} zjogffiB=?#z7%|s*=|0vD#L}5ORqL~ii=+lb0~QIQLpsbeQBIBk1H1@h z3w3yIF2_{`UqR7GHdjY2PKX4twxuu6veUXWmo2(PDX zqH)1NwSY4*7ZRDNX8d(O%bE#M%kKe8BqvjK;iIP1`uzwXo!?J9+7jGenb%R_CnN&+#m6ME!i9AinA5Mr^SE>KdC1z^4WKv{8tdQxSep&F3Aat#lp zK?J17AzHcbewaGLpeJBWsn}tz0VtFd7vx8D?oABx46c!SOsjvb;gXkB!zC|LjYuN} zqLGr(d{|NeT`{dQ+-Zb)nAPjvxm1RZ44eeJiM!aoK|d0kd)r{+n}C0Lh87wIi<=o$T(|>j23PC4 zT*GBwMeWH?E5?O}9-&)Q6T=??i;QRn3zsxkN1GeaBI9;#;1Nk$?t0G&u#^9>lm5_B zK&_&yD^L#}&4TpKt)EWnaS0BE zFe~|ZG>6B+i0r!TE>KTGvJTFPo86lWwVaI=@q%DVY%)w@TK%6up*GHaUxRYL) zXzCq@uV~M;+T0Op+_j5dF5^{Cst;r*6FyB=W?TkE^d?m*x(JHvpvS^SHA2D|r+`4g zGD$I^=|o7tg;YMy42(vMBAt}CObOTJBv^N1Iik6?>RTuh`?&NQm6FNsLWu@i3Hqtl zh~j@7QqJp`Z%0@KySSGWfF%fZG#T@f1};tl?2_0*)_f!1?Ih6%bkR;sJS0MQbEBKc zb5((on{$xz1Z6|hb8yoDw~2l9GB$%Ukq`(xR1<18G{#bMg60Dg5QiO**n`AA_A=f8 z)I=BUfuF(G^9O*rzRk0tfKAljNMi&ybmqC1yGMSGyJcj(^N!PD?;wRH2bp(P9hZM` zfYSl?rxR9fqR7_D_~z1O=FpQflGn~7fY3{FFI7(w5~|o4S$!f1zT_VafUX#p3=O#obtJT(kKN9;eFyl_2Kg#6?hi>> z%?3qL0F6$Jvlti95pbdq^Do zLFnnX#5$bcC7}UlS=@brV<73cjkCg2PecS`3Mv4hW(=V}BWYFSAd$GO0|tMg+T@2j zx&qGz7NdEGSj7$zW_&VY{NNcQh4Ss)_nzX|bM4xQnspGOfvMr*CwqylvTyhUid?;{ zTFplc6WZ>kipTDMC{qDiRcPT8%ju-V53Dzy`X?@symMi9N8cuiuuwACV+H`lYW*g= zNXf+I2cycEL#Ash@y|0cYC+26oN~!=ubdd^;e_=SjurBO6dPU|U8Q~hN zVjV_~XgT07x|&ts_tAk1SZ*YHohUCH5QM||0eW5M>W}@@K}AY~5*vSBn@_>2e&paX zZtL`@0uE%Mv;_t|uVq0EQV5#~Qy&l$l0q^MT*vbLex2jfSVz( zvd|PUhQ@{WuS=0WVr+T>wwW4So(YJzgXMtxfc~+`Wntz7Ye5at6^ftaE=mFu#SQsF z0@ec41L-N-HK6Fc4C;S8A&dYgkB2~7qkI@727^@Mf&6)+5!-;lpp#N~!d1yQm$WR$ zy#ZdwAQm737!ME`i2;|ZO33O&5+O3Vr;=*pCYV}g2yRi0i_lPN!D5}~Ao@(31=lAo zDBSp*BO}DHdR-%oqo^ZBz$i&)4_FvS4m4Fn8yVfDy8uDnG#P&>L~ua!9zHx#Qh=;R z9dz720gaesa`5v!&w?V*si$MXanQHU=0#(-e0XyzBEn9r;v^|H1d4n;P(3n`5>Z`X zYu;TqQN|oVFj&q#FdtosWQr?14e`$8dSnFBSQKZwmG!VHvnPh;;?Fncf}s=CRYP`i z?nc(V|1KS{v&?_QhIFG|MRDs8^wff*S5qPRTCZMJwt{&bTA5P?&58^NetT|H@)q5XohR}jGgf44de zmn9@K_y}E>%s>hm?t@SAw)Yo7NPd-tguTp90s6c%>#h+uatUirxGz4ZW{;ueM|sg@ z%b)KiaM8MKLl**bMoTA6lZ2`#Nyzh}j)4kklOr%8T$2d`0zSG`H>3x^Rlm9g2HlQ+ zBCxGDQB{lp+|`u#e&t=aQ9N21e`MMm0R}Yi@?A*;nMIf=P^fo8+C*n+#e4HSvP4=f zSWxB`kDrn{NV-CspWB*KtFujF1jXUv(sCc?Ky+o*(>qDqrt~F*54;k>NS>wQx7gd> zH9?@MPLBwgDv5Kxt%6-b(;lI`mpS3)Og%Wd=4T|^ybo4uxS?{3g_}B=e}REUi=T~H z2Iy6?LS1f73r6CXoA8nRMfy$765|A7CK@a(VJ)#s92Sg%7AT3usj3Mk>{d;}0E-yD z2J)A{!=iNzXvfrOIfzKEH*mGAljLepW{70s3fseB`p8l379 zFy=x`Fah`o;2euAkx;Q^0Itelc?5I$eE*rx2_K7JDFm>C&>NyG6dIQA_L$CQ^R z9miDv5uR8pRz5pSe;Yhu5%xrI!Gj-YQN|bi3}yCt5vjcu7O|C<`r!^9B8_F>>2Mc- znI9610D&%uqpmWv+{Rs}&lP?mS_JrIZ7ep!1i>M+6jOwYDFsObp@h6ogwL`aC~8jS z8V;CHg;WV0%&u;LJCN_}{2sEjTzrlY7&*i!G?0ZpsJWR)-RSqJ^RI7n?K|urEp$-OtoJT{wDOGuJyRE8f*Z?j2qT)USoD_UoS@yLs;r@Xt@cTkjkO-mpqGU+#BW1Y(zhBJ~@B0dG5=T*;Bi#&C9g(;D zf+NSqP!r|_e+|T&yA9DS^Wao&R*eA-YP0d7#sXI4|jNDeJws3+q0CW%jvM8^JsLUqAY5PHYfc;5O?%7n)fxv~$*c1#pKG$eQ;TNvg?7f2WHa(1~$Fom25X)X{Y-qfK=w zhD1WT4Ud>6eE+I2)l)A)TtkDB$ zm(_rS%ST=*666ztL%5c~U zqFKuzMdWql8I`sILJ%+|G=N(kfp5qr^$AvR7&=nv051+X;*@`5Z0M?nwupqRp8RYd zZfo5?R6#V-0TM@99S1}t38X5#m>&s44qA1{5tXWg{X>x?=~J{00V!Y*%*aUt2}*cG zQ4=9FRTv3AXc-4)OGQIjpLoK)7cL5fVMcM1VMS{=4{_i>G9pH&=vO~=QcWG}wAIm; z{A>~#pZ3SE zTq|leeubx1-ciczGG2@qRR%l8DyfBK9lV+6X@chj2;kBzI%t2XPq1@?S|nBxwLgN)_aWhH zTyxUDRU$;=t01q==eiBZ4hPI8Xhw?pqBUZS{pbz@wbT@PIWb5CqdikZT{62J7(`F6 z&w6PyPHf~3w~!%5QX)Bs+p7`*A_G3EN7dW+#{Hm%2*N1yy1*rM0s#H$xH62R$P`CM zkX;f%oi%^0gJ*SwAjwCL0E$yT7OrNiJFSz$inD-9zzS;>$rSbOG7;+l0*tjZidK;C z;-;3@)rklos{ioLU~pOo)e^l$0*>er>Y$!cjd3uFtr1#YD+WkEvQSB%;lvT_O)`s+ zByINXZ`=w^W{{*K*0zS+Ofqc=!?<5eVCr#sb$Nd<`_hpr-WD%W!EGNkrH#Hn;OlSW zGud^;C~BFU1bWr(0FC$C?vp!?1Z3l6$ayaUFMv{OawxayTJFw?>qh5Zvl<7U@f9vt zF`O`@w4l|vpc<7n>%0Z_s&%8#FyG0k4j0C)nj$w#=!V(dL!62yU>=@ht+D5iq}fgV z?+JhFIlW3=4BZ@BAP)%M9coZPlTkOxCzns;wy_vfJ5y45$vziD4~pijMiU@GGI~SP zJz}B=i81PJa&e8DlVHb-K_0P>r6u8Z2%MlLqo$=f^>k^}0`4oc zCo&4e5$8qH%0mm?1yai91cz2eL-Wlf`-gue4Bn1!1($J$f!ZuEF#~P#Mfm8S2s^4~GVT!JCK(CzG4HI@mzWEsa9{VU9NuBHu6$S%znnoyU}t zxFOrBo?tQtQ(e?m9RYtPP`Lf)j{1L@Z%R6(%I#r8C&7STeN78-&S?0pCUh$?YSnuc zeCX;POX{D2_ayL&8jByhjAA%L{g5WA_PTrr4K@|#gl!zbF(wq&BZP z0>S6AV~8^XVMMjN3z$&i+E;S4o~6wnYE5ZKzb*m2(ppP$&;yOIrNWH7nYC3LwTPA0 zCifWyG2ih6ol{@64e7gX|B-)oENGDeNY!Nt>z2tb#;s^qQP2jYBEwkzsgDT8w}y*6 zemX%KLpuQ4?^=x4h@BZ{c^)e`MpKP83W6wP004&ik8Wi~&1!N*stv;o0MAit#{QB` z_%`dyLY2Nm&J8sXs=!aXf3Su|e=zx5K`PzGNgbIU)RRm6Pj#j-dS!oGcn0jYa#_5U z_9VZxB|y8ja7R3GkLdBH83j6Vy-lm#>q(G(v}&yOp2mX>CMpJ!7vrnZME7qnZfOS# zV<}Ma_R-ybbQiU@aizODvF@5eQV)e1oWZkL)S0kUizuq8MGbZebE1&$Udu?v2c3A| zCG)JcY46r`-3*u-;0S*e6r}cXw5=u${%1PS*{uUF^%`|)F?GyqQNXGNx2OiR^F=}2 z)RSB)CY5Ijj}|l3uV%0EzugDBj;TNh_PjOprZsf*NJeL?yjK9wq4h4|^xdW6w6>_) z6T;-YwjnK&9@TbmEuSuDYz+{lu61>wqzn#{&RS{1;aqt@h}nNnO$Wv4j7ko3F4f}% z4((GOyi4!eP};Q`jWXxV#BoZMCs2MhU&VeJ!>cFEFM=Z8Ir^vx)jyt|NazW&<=*SB zisH2)Zp((G z%Ux=cQlF)oGq0+cBibRF0oTBIG}>KK!5tC#+K0r!+(MpJ1qF3KmV|Rvvkxc9!&hz5 zN>1&TRZO6*f`MqOY7CYyGT4h>iZ4^0`cp*jZyBngnBspAe*foAIzFtO79PRgWY^dF zv6F7M@b5hkR=Xdij+V++vt*2t>f!{K@$xJ97rV53&GI-Z5X`q~0!;UUp3@Q)%u)Tm z&qv~`8Ve@1g@WlG2V^)VR<5eWWo_p}@(qrF30>8){nAcRA227! zcI{s)7r1{e|HTzJOR{P&#!0K6u?P4klfA3hrG?!BU=5WMy5=gHh}D5(u2eX5M9+yaRkrN*B5`hc^cBS|8l}zam1>IlEM)!C@G

U{dr4JR-3fuxy`V0wXO88GMP#yM?2PFZ?ZXXDyT6Xz!7iRdv*#i!;srN6&cHc(7mr7u4-PG`mvRBXE>jYIF=xauYbqKj_2Z}8erz8FC zkIh;f)Z%c4k{Km6ziHJUPyqg`mdT6OHdI(3NTumu4j2==o)M8~eF%|r;+?iuZFv%I zGbdbw#yJjc8&fqM%}*}fPFEb0mRp)OSY<;3lK_o-Aw;J9zQxhyX}5M-jO>v*7;S%s zLd~XGo87czfZWg`c7eN3P)*oqPj%r&oK{}dD#2JdG`|EX`K}FIOq3ImGvUwx_t_CR zUNA$PX_J8}f2OMz9Yx>Mm zbw+A^CB_e|g!Kv|rg{LvRZv_bvK6tpv#Dmq*3 zX_J&7=A-#Gj!Q1?^VQ;A)c*^6LUR4=yQOPQeMbZ^qSeZL8*9zoW|7o%`Zfo?p2}FD zKs_Rg?Q2s-x#d){(yIGs54GWqD$)h_hp{~jt2EDm0-y#%5(4P@&|iOFQWZcw{(5bL zC#p>oVGN-m_X##+koK=##ew%DSMP?BR?1JC)3x2*L3{e@0acEW34l&rmFJwo2yjTA z8qCiBCR+YdlZeND_~YYlgfCgDRqaZPxUw*qwNbt+fC5*{k!{N)V2Gs;eNOF_VxfmPn&~HYSGlb zQb8-4Z)xMn9mc=4=%gtkiU6#>&LJeFZO~3M&_jyT4u`}vo77Q5EZKA%QRLNl9Xu)T z>rm8IgcSkTs-1soN$4tEVlM*`bp*FNt38n5f=n6*bg%lxlgVJ7u7;zlBM3=MnnrM`uBR(A|B!CNj>kuF43aJg;L zS?kB)HWPmkU&pH`Ba3<7M!5TZBNy|^`h5#G(jmZLNzIq|FYZ++2T_fouVd2Jjs^7- z^y<7(V`9|0oy%k71==_|C-NeyRE+jSW+n}$Ht1dNe@rYtJhc`G z0gU_>?fu;w_T$?I_Sd%!kflqHremfSk7cQbHEMt7z&^@fhtRdnn|mAkwulpNJ?H#( zB`$~|)%2PJzFGq$qt#=JUH{P@06ZqqS^E^Sach!@LrsiO>fH`*QN2YgHynjS-1?#s zcehO}qg=rR2Q_fX?xV-i3{xghUb7=3)Zcw6Mi}))GGE&;S0+h;Cj*hcYOET&P=BE& zm!W^a<8Mo?^5z16IRC;mO?$|$U%T6Z@5$5vc(3D{TWLFOJM>@XcIoRvoSFhqep+|h_PFTjj?PDrP)bwc;xVw|4d=Fy=WpAeqHc4IdJzPbACD8JbHcO}xdxDU?>T3#M zYFyC_0$nCywy45U_4dfb!eV#gK)69r;n;svRQle;XMXA8>yVnRj0PY`5;IQP2daA6T^ zKQ_2iHWA=D`cc7!QDE@GZDMd<%Y`D?U+{cH>dv9--YTa(Xg(UEB?(|COqg%Wxb#5kO--bs~CrE&4QLOF}P)UIg{ zwhEy&7uk1UN|hw5AXGs1ei3@BeLa8jv8JuO0gX5xU@-Kp;HyZD@V@Lw9TV|&INMLB zv(@g5pqtQ_xeV>C!~h^`v?bf>Yo63~<_8zJewte=<$isYcFR|l;D{L8;xvWqQKuXD zg_G~&F8a+HcYcL~H?UZ7=F~TI_qN*AM26~A%JH{4Z_Yn_foka5d1$r&mHU6VmPd^; zvOG>z8m+{?x}R7hV!-;{!1M)c+?joAp8qqleQSFXvYGQ2WWzSV2nNgNw7S4z7YA_yOYN z=%nZ(CH^ldw21NGxF7HCJ?`ECLbJv+t7jb0blc3PQ)0fbB8FZOLIeV0NXpDIW+f>D z-|=;i0AKGCJj?&wpJPBRS_}w?#52q=ZQ^y}sZHD9yiXiu64L&skX=9cAN=mtDkUepq;Lx8 zeQ}(R5g@b+v>J}{ee7L0trH;l3|#3Q|3(v-{v^H8(c(uyWE;4+?r6#$aJd5vJsGko zyHb#*P$~iMXY@@4VDJ{`U-f!x@8k3V$Wd3B8{ps&7%fxwn$NrYx_kTgOuN4yWpvLpyo5UZIik#LKOeYa@TD8 RDp>#k002ovPDHLkV1i$0F@OL7 delta 10575 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 diff --git a/mist/leveldata_cabin.inc b/mist/leveldata_cabin.inc index 385d18cf..fcd88774 100644 --- a/mist/leveldata_cabin.inc +++ b/mist/leveldata_cabin.inc @@ -6,7 +6,7 @@ locations: .word location0, location1, location2, location3 .word location4, location5, location6, location7 .word location8, location9, location10,location11 - .word location12,location13 + .word location12,location13,location14,location15 ; CABIN_OUTSIDE -- outside in clearing location0: @@ -172,7 +172,7 @@ location8: .byte $ff ; east exit .byte $ff ; west exit .byte $ff ; north exit_dir - .byte DIRECTION_S ; south exit_dir + .byte DIRECTION_N ; south exit_dir .byte $ff ; east exit_dir .byte $ff ; west exit_dir .word $0000 ; north bg @@ -272,3 +272,39 @@ location13: .byte 14,34 ; special x .byte 0,44 ; special y .word touch_open_safe-1 + +; CABIN_TREE_LOOK_UP -- looking up from base of tree +location14: + .byte CABIN_BIG_TREE ; north exit + .byte $ff ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte DIRECTION_N ; north exit_dir + .byte $ff ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word tree_base_up_lzsa ; north bg + .word $0000 ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_NORTH + .byte $ff ; special exit + +; CABIN_TREE_LOOK_DOWN -- looking down from top of tree +location15: + .byte $ff ; north exit + .byte CABIN_TREE_ELEVATOR ; south exit + .byte $ff ; east exit + .byte $ff ; west exit + .byte $ff ; north exit_dir + .byte DIRECTION_S ; south exit_dir + .byte $ff ; east exit_dir + .byte $ff ; west exit_dir + .word $0000 ; north bg + .word tree_elevator_top_down_lzsa ; south bg + .word $0000 ; east bg + .word $0000 ; west bg + .byte BG_SOUTH + .byte $ff ; special exit + + diff --git a/mist/zp.inc b/mist/zp.inc index 4cc4d250..e9360f88 100644 --- a/mist/zp.inc +++ b/mist/zp.inc @@ -82,7 +82,9 @@ MARKER_SWITCHES = $87 ; state of the marker switches CLOCK_HOUR = $88 ; hour on the mist clock CLOCK_MINUTE = $89 ; minute on the mist clock -TREE_FURNACE_ON = $8A ; furnace in the cabin on + +BOILER_LEVEL = $8A ; furnace in the cabin level + FIREPLACE_GRID0 = $8B ; fireplace grid puzzle state FIREPLACE_GRID1 = $8C FIREPLACE_GRID2 = $8D @@ -202,13 +204,14 @@ SAFE_ONES = $C5 ; safe combination, ones TREE_LEVEL = $C6 ; how high is the tree hole - HOLDING_ITEM = $C7 HOLDING_KEY = $04 HOLDING_LIT_MATCH = $02 HOLDING_MATCH = $01 -END_OF_SAVE = $C8 +BOILER_VALVE = $C8 ; how many turns of the boiler valve + +END_OF_SAVE = $C9 ; done game puzzle state