From 0c47b0ad003caf2e2a448e2e5203e9c9341f1e8a Mon Sep 17 00:00:00 2001 From: claude Date: Sun, 25 Oct 2026 17:33:55 +0100 Subject: [PATCH] =?UTF-8?q?M10b:=20bussar,=20fler=20sidosp=C3=A5r=20och=20?= =?UTF-8?q?=C3=B6verstimulerande=20UI?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Ett tåg kan vara en buss (vehicle: bus): samma tidtabell, faser, bedömning i nätet och ombordstigning, men ett fordon på en väg i stället för vagnar på räls, hållplatsskylt, "1番" på tavlan, tuta vid inrullning och dörrsignal före avgång. Nätet har tre busslinjer från Narita. Nya sidobanor: 001b Flygbussterminalen (biljettbana med tre bussar) och 003b Harajuku (Yamanote åt rätt eller fel håll runt ringen). Overload-flaggan ger en rullande reklamticker och maximalt med affischer (Ueno, Tokyo). Romaji utan makroner (fonten saknar dem). Skärmdumparna som börjar på bankartan går via titelskärmen. Tester, docs och wiki uppdaterade. Co-Authored-By: Claude Fable 5.1 --- CHANGELOG.md | 3 + doc/img/bus.png | Bin 0 -> 24200 bytes doc/img/cars-alight.png | Bin 22728 -> 23008 bytes doc/img/cars.png | Bin 23117 -> 23444 bytes doc/img/crowd.png | Bin 20751 -> 21608 bytes doc/img/items.png | Bin 17412 -> 14517 bytes doc/img/map-signs.png | Bin 15893 -> 16940 bytes doc/img/map.png | Bin 17284 -> 16829 bytes doc/img/skills.png | Bin 17333 -> 16062 bytes doc/img/words.png | Bin 17175 -> 16006 bytes doc/mal-och-tester.md | 5 +- doc/roadmap.md | 21 ++- doc/spelbeskrivning.md | 2 +- internal/game/assets.go | 10 +- internal/game/audio.go | 3 +- internal/game/people.go | 4 +- internal/game/scene_level.go | 4 +- internal/game/scene_map.go | 2 +- internal/game/ticker.go | 53 +++++++ internal/game/trains.go | 50 ++++-- internal/level/level.go | 17 +- internal/level/level_test.go | 21 +++ internal/nav/nav_test.go | 17 ++ internal/sim/nav_test.go | 33 ++++ resources/data/levels/001b-flygbussen.json | 154 +++++++++++++++++++ resources/data/levels/003b-harajuku.json | 131 ++++++++++++++++ resources/data/levels/005-ueno.json | 43 +++--- resources/data/levels/008-tokyo-hemresa.json | 9 +- resources/data/network.json | 41 +++++ resources/sound/bus-horn.wav | Bin 0 -> 45908 bytes resources/sprites/tiles.png | Bin 1402 -> 1662 bytes resources/text/jp-dictionary.json | 69 ++++++--- tools/genart/main.go | 26 ++++ tools/gensound/main.go | 2 + tools/shots/main.go | 19 ++- 35 files changed, 666 insertions(+), 73 deletions(-) create mode 100644 doc/img/bus.png create mode 100644 internal/game/ticker.go create mode 100644 resources/data/levels/001b-flygbussen.json create mode 100644 resources/data/levels/003b-harajuku.json create mode 100644 resources/sound/bus-horn.wav diff --git a/CHANGELOG.md b/CHANGELOG.md index 08a7d9e..9e992b8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,9 @@ ## Oreleaset +- Bussar: flygbussterminalen (sidobana 001b) med tre bussar på väg, egen + sprite, hållplatsskylt och tuta; sidobanan 003b Harajuku; överstimulerande + UI med reklamticker på Ueno och Tokyo. - Titelskärm med premissen, språkval första gången, tutorial i fem sidor (skyltläsning med markering av resmålet), kontextuella tips i första banan, pausmeny på Esc, Avsluta i menyerna, kortare texter på bankartan. diff --git a/doc/img/bus.png b/doc/img/bus.png new file mode 100644 index 0000000000000000000000000000000000000000..4f698fd3e9dde1f918bd5ebe3336dfc9b7a91700 GIT binary patch literal 24200 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 M)78&qol`;+0Hqr80{{R3 literal 0 HcmV?d00001 diff --git a/doc/img/cars-alight.png b/doc/img/cars-alight.png index fd958d02098f3b44aef8fd06a65e6bf6ca2e1b9d..36504cf0f2fdc49a24dc3bf24c75b6319389230c 100644 GIT binary patch literal 23008 zcmeIabzD^6`Y4Qqgrqc#ARt{LHFTGhbc29|Al*440@5NV%@6_t(j_f9AT8a(&?z0m zz{PJJV?5{l-urp)=l*f`vzeK-_ORAdYwf4@gg#J_!@;7!LPA2qQIMBbM?ymRh=ha; zz(Bt0sSV-s~|0*>6x;b+8hp$A?ir(vUjH`(F>9v2&|=wdun~R=mLd`NI1-M zzXFxy)jJHmM;4BltnweFk!h?r7u3Ge&hmy8U`TKV;KzNr85uK@nA%I*<1XS3%bwHJ z8FM|}Ja6VPju->HN;1jz2k%=_NNZyCFm9G;yz0&-s%x{4! zk5W@l>OXi7^X8mbu4x;`MyU=hvyQ?_kU>c#VEyyQldzYt@#D28({Amu=}X@@cy&B& zz8%1T061QXs}Aoxt0rePF}D{wnmIN(5{q3?tzTGAC{9}G)?LFjK&1wsJe_oco(HpD zVZCx6$H)JE5)J9RAK9)S1`5t^KqLp7=O*qQfIRS}!u_LG;bufQ4ZPHU7<70zIkj*>}1Q5`|KIu5cxjxO?_Iv0oHVIdC(OV8$QL zrkV>Lb(nB@MRCRq1v_#E=W@<_Y1aa8cUnW7fW>+z!o9julShib z-re3L#KD=V8F(vir5DP2aBh7gnKP^WD0jf&)XfUc4QjxDPovnnpi0A!1@H0>njE+L zGSCxI!0pK2RBr!i>wN$IxW*3q`Y$Rz$H=fc@Za+gcqI=0uqpARoq-UfC@%U!a1iiYj9@>qezbo=ad`y0& z1PFOnx+uc?+9;cMbRt{9W>HjB@p)M~+l73uzK;m^b0Td1`$-X0-R_v|l0~0C;RNuU zVw*l!S?!bf-M2*@ zh@<@ge<#A!2wj$nHs#1`}(Z*}ltz1Omx&T|C1@J&CC9;V0qyqf=9-f9KU zr8tlINv4jy$qSzyO~|E{ie++1-hERasb$`}$fDQG-$Aj4w$!WQA&%G7?&n8MV7^() zGL?%=_Ub8%Rmp%k6uMuUOXbmy^;OZb)ckqP{;w8E&-~rG4$8lA{g1)+<9pCkN`aPDaf2HjKdOmi&iRl!I&f7Rj#+EAeS> zVo54;(YMv0TScX9`yKc7_zmr(1bJ-N^@!}GC9ceaK>Jke`hnxf^GFClKGKmadVK(I z8DG0uoQS6%pQxkm*kKYk1?cLi>)K|Xuo*<2@kxj>n8HQImUXWw&lVyJyXY%wjn#G{o}-zB z_XT%C?{Z*FLnAzI>kxD3sWd(_fonXaz#R_rM}85E`KuF=T;4~{r=Pa=TMzFZcmw@U z)%)?I4jl|~sXLd?QVfLagv6$dv&0dBj(os%1Ty+wZe-Tav*J1M)M-rI8$VEK!@aF< z1Ex$sA1t4aKqzhl{%1ggA*XyKO>1=Zm+JW<#Iu$(dNa>rPjs=nPsd)ianqMTwQ`}W z*SSt~#od@`01*&tr!yl26s%Q>rlYOiV!tbXmc3Xx4+3qM$y}HTuKIPxr*gJ_5|OvC z^BWRWYFyZp5grL+>^zWCr=@1~3Zh znJ(8tR&zRh&@%|m)HO18_9HuLn(C+zCi(mjJ2qS=nk%@lpV|oAzbW&|lYx{m3VK>r zx_stq8Qmgtu$fFfTPsRrjR00TSO*ZZIFBGIncE|ZAWBD3d2FoAz+*?pV{WV8eYK}V{&>Ie`9GMevgEPe~g@`kJUQkz^zr61b%sAqbLvdco;%aJGEq-e5W@p`So-|(?6uY2z$pIq>D*XHTvvfhMRciLpl}-_3+4tx!JmUQ{&Q` zRon#9ZFu)sQAG5Oh)+yi%pX*xE;ZoVx%Rbqu&OF0mDV$-ZJ3QEc3JuUVb& z8N;IS%iKA=VtL@J_z#OPjan*75nq*5QQoYbtyzV3S>Lf{?yus|fDV*MbP7BkDr?~Z z&-C3tI*b+rf?KWypOJU_=~T;d!k{iFE$39sGV{B~ zKdiR^##%12!xDr&&NBdKmd}H+WQ&I&bGh@w;i(6~k^FNFmOIl4#3FQ7yw0N~*3kO$ z^ispfls-3%1E&~Kf3E!Huhu+Uuoja_F4D;<5vC^io(~J({2+u%p&i+G|7(q=rYT!- zijU+H3Fgf_0A&MIf?k65^`S$PN;}tjCv8;W*eq=fR;Z@@TS;2tn|UwggQQvRsMGwX zE{j3Jyo0AH)g-8;C4#%@2~9zCD=Q;1HcacJ(kv)pii5f$@-uvS%;_Jj37oaxV-%?p zI3Mi7KgSsj6STFTCU z?aY(>8kzaRDu&|59RZq}42gXAqVvx?=^C#nbg~K>2Bvl>VZM9wBbS%Aj4r;cODoTy zgj_drG9L2u4tIaB8IQB?_T)W4>40EPiudN_334+Y=xcQr#hk>>^gGokqFc#;WjtN8 z6Rp#h;^rlRLpZTf*Np7kn%y=m-dL%f3-{OvOffCG+vLr*SNW$0D8BRYX$Jz}xSOtX zSiTETvyyp7?5rNyX7Xs>&pF9Zs@Tc;fEH7f7+asexo>3ECTCXe6Z#M)(LO^l^JhkU zkn=4b?HSzbXN$wAPM7I9Dy_0aP6CEu+H}^R1Skc*^7aTI354-dy%lep#;{2lRttHU zBjfiBj+GSVp8L+_u60as^K@X2c&RMrb@o@8hkCdD4DHXoSc%aC;v1(`+M}HI;aeIS ziEQxI|3YJa(JO53m@vi?41Cw4Y8)oEY!hl9YTmr^?zy_lw+q8bvTD9VQeZIXT#ZFV zMg{!v+1UrIViPYR-YABov$p2>t8TmeApy@a#Xp}JF1wZiwO=jPU2Ze#A=J4qn4dT`Qg+S8bc2i@$s!nH( zPoU`RBH{4aNj*SxD6>!I<|^U4dF5-*%GC}4T|wv^Z_NlbXg?T)B~S)na*_J=*}u=N zm3YW;h8lnRIXdd+E#%KVW%WXMfD9p^T|e;aH}MvDjZUDxOEy=o`o_ZNadR&iSLGb! zNkfI771L6BK%=-q^OOcU*U;5=jg;E^F0oZqMnlYP^nG}v^;<_*jt4+9EcD}fvzZW& zi`t;ypdfQ7ZjKO0$p+vub+TE5gY!W9GUptIi?U0oJ&SupWiFq_?g74yk@sBQp9#iT)0tV+jo0O( z(;?p=@|fl~tMJ>Fs_Tvg0d3Bd+7dbdAiK8yO&Q^etT7)jc1`f_$u~ENyE571;@&b! zsdaO4bkuQlyjfezN)(d$BJcw_e#paj&px;kNj9Q)4Q6#2xv2Jy9dj?%gg@V3n~CKI zue9>h0)7MqIpAJHTIR(@k3&2@eNpZ9%B$37*`g3@i?fp@A8g8Zy?vXdr+Ih9Mx{0~ z4jpR_OSpaHrN12($OA|e;waWgIO*4To?idf;6xgrR84D&+P!yZ2kc>RtC@;)u^L?i zQxD#^t-)AwV4$H#`R=<8p&zPIUy;Mf!OsfG=wqR(){%ya+7(H+JMUtZYp{jCdyOYhk&kr$>J?&w@e zqq}_GT1A&p0&I#^^@xkX*CZR_xxfy&vo$%L+teNLcp_a zFHw2}mc?Dt1qJ}txIE}de>97eQ3`K_Z~$r@S6ecE`Y=2blvTvC{g$b+jAbJ4NrZz312Cv3g` z4D~XqNA>jF@kb2*LAbUT_b={$CkpRtPcOuFl#JE9toFh+W*Zx0RKA4zs@Pl>4;L|3 z!UQTe@@&&K&Qfag3&&zR@o3*?QJgl)D__ajGfkXU^8Nb93AA!2W@$e~spPAHhgJDbjbO{Lik85vO04d5G31bDILH zAofX|r_aO-CoQtsfM^gV$~Fc3lJs|Src(UVLF}*bZw%)X5EEq3hoUndQc@IL#3usH zVP3OnbW;(GD)+q3D61vX39L~m0%ZUF+iD?(D^nz!eFy1hrM*j#llcK$ar%C7Zm!^{ z`)lDHU(q_D9alkviFq%d=z{X|LAN`-zL}@O{y>S_Q=22bpoLJ7y){8=($PXu#ti76& zVu$R|&Xpj#v5?c3rzHye^H0v?l2p>esN~g%WWJs3#WFMl7(B?4;&k7=8A+zMrohA3 zadEQ~7uWYb8#wX+K2=4!9Gbszk!FCYw%nAHf_{Y$gDJC^j76}YmAFGgX|s;ew1y}y z0g6K}nzI6U_}y%qwH+7tTP8MIeLH=}-=3D-*X;BEBYyh<{ig}PO;3+nTkDp%Irn+y zQxe5U{wH1XC$baXAc=;%^@o|e?JMnpVA7tDo{-2CyaKk7FgeU`Lp{VqAO=MY9$SEb zEugz;&(1TV&}A^%OUy2(lefYxbq!Ka-O9;4ZfN2ATA_QR=!59Q7=$3K9z7gjzF~M^ zK8uIRg8(YBFn{LJpC}6&`V)qk`iY3e=fuN;PO{02#w^)458C?{Om;>>@}30V*SpB} zYt`SWT)*&4-;Q7)eB6REyt@DFN**sy2OLH3AP8eK1QaPFU=W5YW&mzireV7 zQERpO+{xH^_8_))z5Ky#VRW>B=cq-fED|)b^2EiC9`8zo3O#&XJgNxi1ezQ!zIuD? z*gMC@ih+b?X@UZYaMgj{sV!=6_HImnIhu9XijSDr>T5IN)l<6Oc)?Lc%RpK>f-Hyk zIqOj@R`D&0+x{>(?9zBGRZhYT0xx-O8ekb17;x`M*siYJ zI3RBe_arE$hiVbEr_3Ju`Lko5m%=3iWD$UIE;3F)u((t@%>ceN1`jI5UrizW)xq?! z7KWjhq+Fs(tQpoyIi*X6&T*v@kn)wrBI|Hd53|}APj=?bE8l$Lt@BQG5`{lbOu-*b z()lp@z86+u7ISTfdqJlD1?et@Ydz9C6xG{T@I??T{!O~rxNjX_wn$*1GXsA50LjU9 z6!v=u8YCyF-`;+HJlo!0lECBSAm?p(?_e-Wkpk?OSd`~iOU)oASO_1bae3Pk&art< z^yPkA>u4>w1ARv<;Z|v|Yjlh?O&6IRgGW-JQ9gMcDv^w?U*Ek(pW~%E{#{z*wvD|7 zH1S)W_r0zFb`ke2H`f3c8iXqp{GXX1CpTau;}Xs#9tkB{tvVGt~=f zuNN3W_GlGo1&<`m2UET3K~428-QR8)*9k9UGUE;c`0pO~N5%@xP(!2EXyEAg)kCn? zs6_Ny6W)hRwwZB}d1S@T<6V5gyTG0Sw~JbE>=K_gHFusT1eLMjk*4O1*#x$4t0uqZq+{~#9M_=j-cLN<*S0$Vpxo2z z8(Mbs14RhsghWL09?T4gTowLWo6g#;(xjjMaVj6;e+hiSH+Ma1;Y?iad zloMEe*S;+gq>q)?{#lOSty%uc-y zeJpPpK-;u5d~n4~33z@Ay)h2st$-cfAAk0V4l4%73+`s42wpm|J4pD?DAw zdf+C|BGS{$P8r`5^%O6-a3hlqRXKn&ZAMeXd}(QF;mf()?t-A(s~NTi)~b}CfiI#) z+5%~6+O-uHX*42kORHT&p7!9b$hWR}Dzw>!4q4UvtXslaXNDc!p5(^S(s={+A1YrJ_AWCy(ZeQp!)nY$-cNH9FM{C@`Sw`sP@3-RprU7PnzN6ae z{G4vBqKgH7C;1AQeg{6!C->3s3q0?geeFK~p|-a1GP^pz`=hMD>p}S?BjCC(rNYt! zNEjdAMoD+&av4MHdmFyj#4Tq#5BSpCpFG{YXWUV6xV!MP@&C7-dIN!-T6;|#&l$(s zpCn(WaW9+xWJt9=n;36iwO@ClY}x7{(f zToJc_e7Jw93l5U^(f-~&Du-+bQqtWL_3-wy60W~7O;hS^ivG@z2IO&u~2b-%WKq`mV)1JPbWc^w!&r94btOQdl%gV|Z$|(wY z)~wvbOa&uXylI-irtm)|S+z2OpL;ms_YWc+tQ;46j^79(*_Qa`jUGHi{e=X3q=E9Q z%dU#i7Y<7%7NCi`j_bMBOyqsBQ~$8;4j~ulH)-F`+h9W= zZCrw=205VFx!c|er`E_6l%1A>9%gF*>#pzVu3t_j{mY^K4#hv+-5bDx9|Hk@w|t@< zhusVoK}$jmE=tP@n{(#(z8_C5em#Rz^UA}EQ(ynIk&X0=?@5PLyLAdLTDsV`ngbc< z&6YJ)RW@DW(qr4`HF)s|eKNrP%PXOmS6a!(i1e?}!N1h*=b*xWzA}4Lyn2p`>a+K& zG%D($G7YYyxf6JQ>LTOl%VP>!_#&+9oxt?lrKQFF^1}W3ZaKL3ipgIa zJEpFUg>t0`8|%9T*y0mh9d`0f6GB-tOsPx}D0Ll>5{2?fACqo|UK`Gaz1lWulWtO` z($eb4B;&*cEL$GOdqU{J*RGSegXT^dFSmNw0G8>e=Y3<>5E+`Pvgu>jqOQHcX5Kb2 zEJg+t6(1raOjG@wx;n!kwq^t90!thp&VOtP2tv7mPJ;Vq2cRxUiVy!?xU*tF_(pyP zxeN`6;z_^Mn@^*tk;%jdQ;>(k20>{g;IA9=RIU0UQ;n46PT@4|q>i^ctC{q;UoZDU(x_}>B?c_GnJG6Fl9ly-1KXL|;Byb@o zaWTA@DH?}Ohy$jU%(;}w+24<)jD@e*>h+WU8{6z)@3$1ELX46RjHCn=K zb`I}|ZD&K6X=_YEzxU}T3tbU5COKQb&YMYddxwS56~%jT8ui{fyiXekny&l#Q`ZAH3jDF^IvtwY^| z;kSuhpq+t|maXsd@xmOyY4A(X!I|Ieqw&>YUdJ6=5jD30Zj!PJ`1OR_I1L3#ukI9< z&nMLOR_$KIkc8fufDHm-S1b+%6t`kO)nvYFP~01=F6~4A&udev}ia+tY;(}TuWb8>$^9&8rNZ2 zC)QGuI_xH+EVo_l=r%Ts9yM{BdXEO2xEP2a-T!9^fJh9Y^(&QrCE3G%h{?#xpc+wK zPEiyAjQZ<&K4AYa3tk+wU(j-CsBX(=Jn-ORaMh-=%DD4Yc8!+a_6N#9IJ=YmaCSxv zKhB#^@vaK;;id7NMU}Rd`g*a<4w{1*jE0R=EQ>_mH5=QlGE1e`2- zo2@;sM&Hk#-bpgbd?z>xDVmF3jhi>D+f0tOttvyAq82`Iceyf7@;yN2Xp?i?iaojB z80ym;;<&^8LiLLzlM#lDJVkpDi85{Hv^9^4<*QQ{?$ea=RnE0><7Dy^=k2byU@3R! zo3esPGyX7&4yHK!Q_*i*ApxA`m)nIa+EbM@Q6H-1j>F}{g1b}^Wo%Q<(lz`ybly9j zANO__)XLx4n5dX>=$?9WylpVMa(pbv&FXcQx2qDff7;n^#Zk2}b7*|w&8ac3%jW-H z#9n^otxMl6V zFAxz^1UcOHcDVG87gtQDAGm3aS%IpL%pUOOkERjBFJX3+RV*Zt&3#Z2J8As}cbC}H z1&>>qAJLRURYqHTdW24(2a04u19$a6fI06wKacm<@P3Av6<8q%L9UKC>RFxR@L@B3 z>U+6fslOmABME(HGkIvp#AGL>*K%GUv+8vf{6^xp18?G&yY@F6r}zANBU6(o;f_Wg zXf(8f&PFM7IOaqi=Pw?K#ID(ivd5o}4Kjh2sTpGx$Xt4t_bVZkBE5Alx^7Q7zx|E} zKd^-Ie!3P=69JqV&wub%Do z)F2lsTH~3CvDEY3RKNKx^t$J)W%s zAD-<_5Qg}tg`9cA!#Pn3%S-w&NA+gy=jJ`;40cLyReHnsZW&L9SW#2&_gkcf>#vlq zACkKDe~P`k2Orj4S{|v_=iu+1G4gdzepESGo8y0nIm}awRl(hDv$)Q!ud+{1zP}0W zo88Quouly!v8%YqsXIOyHpSj=vh)irpnlL&T0CEjm@~mb5+a2@b*)KA>8q+0~5|S{TAcy0| z@p)eA@<1YObd}lf7@R~eGrI$`}ROr zNHo|C zQ(jADk^O=4^~8|GExA0?0)eYK!=mRb?huHla`i67AKRkHXVf!(pW|YE8T@u9;hItc zjTPd}cF7Wav>P`}qv6Iy0s~vXeZ>0+Lvh+^{j* z?|>CDqrBY$C~Ea+q+$jT;bNf&1-3}cr#n6XG9hR}Hi@IQe4@ea_4L%o$I+B2J6r9Q zv%+4EVmS?#k_sL#@T#fXHQx$a?M%OTTs*P2Jk$MwK|NKGw5X$kzj&_kMIMEQxzwoc z8Ep7CVW(895yFwybaO~y5mp_Tu>MPi@z1#jLp%fOw7DfhML^X^E-yek$8iDNKySw1zA82Lg7R;5k=)&l4{+Pl|ApA zw(uXdNMrikI8Sw|;b;lr+b zTI?1%eD|s+sfxV0e#$}omH6|%^IHzGk>my+(gvU9ML5Oyn~pVG*U{Um3d(M#5nI~3 zf%Ul7=W+A2m2XT3Z`ls7oOw0Et=S)0p+tAC>G5{5Q&Vw@{Wr5q zq9!3y%^uBpCUT=w8l$cV0;SL%+qn7+B}O}|Ai9*hIYT}91|1--&sdgN3XyrGdlVbm znq64=T)f)G<_Pr!gi(R>D;!Mo4Kz*EnUgZVVv2%p_DIJYIzRC)X?E&Di=RP*7&*U4 z1O;CPWril!T%ZK!Tz~fPc0v+H%d<5zGurJBL$EIF;Nw$+V1?~9UP&o$4NY!5xvW7I3dz80D&er8jUW4SDjyrSk=MjYvq>togN%XnF0myFO#Q3DsPXH@@VI3 ztix=qOAT{Ob6M$hH5Rv5UBEdLh9|Im^U^Jx&~ITtcfG%m_yMQd^ryzkUgfD;Q_^aW z3NX&8nl)!>b)~q6OJ*(VPRAQ>N|)%|eO-+)I)Kf)*}PsaGhT#3$2fS8$#Vl80YK99fqnhS%nmxMA25W;WHeey%Ds99mI)3x z0=3Q6Nbil)CQwv;Sf$R&|J0ue|8gdrBWioLD0`RpiPNB%tjilfta+siHi9jpf%b2f z|4gmu2iR8y3Z2WBpP=Z+Lynyxnq@)InN+zo{X>j%VmdqG)4ok|gDR_Y_Z@c%cYpb% zrHz$u*UnziO~st{O(q%G+g=nS1#uWvzMPH;tzwGKt#$e?(+@^7N3=5dg`AyS71;pGeBkD5i8`M`|ai$Ge9TP z`vR*kl3j@3vcTI<;Z{GphwxIu)x^$9QCgo6?Is=x;^mGd2w*cW2>K;GefshQmV8A4 zcCD9~TfKPfnMcWqUhqHklxj8XEH{Hvln0!GC!j>1I5i}^~}egXlO^A8cg zxW)~10)j!_F@AQE0!1+;hPH%G69MuX%lroXA1WPIq|=+qTp&z1sA@>T7W^Do*C-WO z-ySoNj8b(B>3ZRa$bIA+$B?8gqrBl|k(r!oI=1UmOpdI;+u1KBb{}{La1$3Z*QneKO1hO!w?zv2Ys&a=8Q&_8{QR?Bt%jnZbMu$Uuod8TYHr?8j8pJv4T|xjxK2H7EhCX`F22)Tf-$X=07BW z+pT`V%?PUsA8X!+P3Ik;u>P*OVV!=B;>XkbDhtgyW!ICnS3A`{o|xhik*cu9 zDjP%V1eq@V?6DcQBN)SV3YwRzIDer%K|T11xg8kZKltm|yaUAi14uYOo+3yC1<8kk z%WBD#)yc~Bqlr~UhoV{z6ggIBWjSKb5Mi(5MYw8OJ@sjk3jmV0z+*>gzM|a`1LC%> zgU0oD3Ba$6#|$lf_5!V|SV&9|+KiPRR@xE})MDWvmuFP8T!@Fie?6QjQzt50@iJY@Rw7g8^CJS~bs$818}{aSIn`w) zZ37P75x8NJ%Ds}(5kEh_G6djIpQk1M<%Ri^3=7yqNip;RL)i+ayh8M#`2m@T_6I6T z@;pWIcMTR&cvn5TNmS*jQE_?8CzCf2Mf~Cu#Ld&W2FR?jd9G8SLan|8h~ex8{{5`ONM+{Mvz6$1DRps#1rXnA zP*SP?9{0y-FtJ^?T4B-ZRz>c0FfcFr_3Lk?nF#gj*y$w`JC_=wsInldT;A_HMMh2T zidovBBP8JUZwc7xsd36fX`pPP&9+LlH;ljcpnT-jD-1biIzZ|(zY_sC;hfl3Z!ZTo zz9dG*LKl6D=@tp16g>y+Z_!r{3zJ4Z5OjmjWwA!Krxq^{pFi*UWLUe_<)b6DvSxS7 zBqX{~w2{ZVp2Gsy#vc}=cDX1N=1%qeL8$9VCk?Y2X2pe%)cx-&b-pVNC?W}9Xpwjx zh=ERkdsV{;eBp>cfBTOPxkNfZyAF@`yomKY{2g;hchiRAer}w=yHQ4BXAKk33H?;n zRF5gHOFoa4wc`W-Wx4pAoZcv7F+Vmjx|VsdmYBU`<5K~IfpcHfq+cie1A_?}AV-t} zvGv+!L|j0}tZ1D2fu#b=fllZiF-NTVGm^8H{`sxBLY#G?tb>?%Uq0~hb6TXYxZp6u z**-YJa^hwfA)7_9<|L2q)<$)~qTL<jf7B!7+}vZZVTihp-!x3=1$H?};Xz$5QJb^?nb(Trx7BV-1mc{%Pk1NQLy{EtqG+>B#sN$u@75%ifeJPD54pIhAege#T<- zpt^IZhxvFiB;z#9`gR6I7=wbZ3`3dEnkOg<1Tr>&ab$CKkeNrEw$7fuuZlr6HPpXx zV{?W#9M@+uemvZ?ABN-~(7@I#7b4CxpgH#tE&`l8vlbr`-PNXr%GbQR z(GAWWp5ZPW1e=Ux^BNgxac6y89O@TA^e`IJfNiFDpyN{nKqLip?T<`IXpPOf%Vxpr zk?3d!@OU#dY|>BNbCFwCPI&bcm{L;MZqk_5Es1dV-V!VncC(yMl^J4=9{HE=sT^ju zR8LZ;-g2opYS<-278kdc+ymy}DC-WH-F&k#Q6s8AZ{uA&W_tu@?h8^+Yn~{iWwyjD zvST_K^kiqB_s#lUR&LDTH_!Yr1v|1eM{;$#&=E$YTIav(;4zjY6wEc(;7UwQNa{8p zh_mqSSzBBh9Aj#$KWs-~MUsim>89O~l17HX@w>Ei6}zrwdRraCu} zaXj2*&ZQ!z-);89M!3;fx4SFL9+Q_L&q{`&=Y1so0l>x2tgpZ_qCx9z4yASmTgW}U zFeYsEyVtE)qWMan_pJf#bRCsJx<=jSuxcl|V?U@lV#3B$e@_;`Ulsba>^+>wF>qf@EQiXem)sgG zygA$G&vi_0+rMcH6w+UX3j*IwZ+9eyJ#PJqaySQqRjTycXtOc^J5pRcysMann(Nb2 zH?o@1w(bRFxsahGe?A_zz8Xi1Z>i1NQNU$VKHt83u3i`iBB+JQuB*5R51gT*#BBTW= z>AB@i!w_9=XiJ}HIqILnS5e!}l$6=ctE!F(amewwfJ) ze_oZ=t}-y$*U=$aQvQ{SN}_}mwOvx)d`C_c{|+H)Z>gqhP(?A{Ze-83cH zAgTWvvO2KjKJj|p7he?7g0q1&&IMu_#p1khWuGyZuiQJlMT-W$ zI3My_M4wdM^+%i!sHOi+a!t-K$ozPZ#ZX(AyMa&UpB&%sBJ_V|0DDz_vGu*Lix<0B z^S2&O=X!uBIdWBUhfbGFNZmwIa$z`D8+XGY*3uj+E3i|ij%BBgp7+oQ0rS2DZW2(( z?3{6{1xfji_}nGUQJze$<5gS$u8ELJApl>>i6KEcQ)px zz=brCFYfXL$HBa6b#KH&*QgF!EpT96Td-2_2|P}~Jp3F!u6pjTo>t1>FLp%O1kUf% zHE04qIp$skJ@3xrrod^*MwAWgV-C1({q+B*(_SoHY@#mkbw|eCs0AI0W^_lWY+Dee zNoy{FFGVwi&?)Q2Ojvr&ixE!waPQ=0o1}{i4(xl=iKX-@0s?`*bDh8Q$N#^4MT8z@ zrY*?s{0zUeK0Q0;WO z=s6fxW0wjAtNDdl!6ad!X+2#+2{P$Bp~imLn_6*^$J=1NFvY00{??CfzN zaLcH^9&~^0$i`uw6~Vm!3bGs=QCK4iSkcTU7`Bw2r%!L1zryTl>x{*$E}pICoU5Ik z6D)=`HEqX&j(;ES`Xw&1dNXRf=HnjZfhyL;m%-NfruLmCod&TE3Lo>GbEi$FXLm*G ztIeH|Zr-#-)45H1druF8t*}iEh%R6yp7IpQl;F02Q&e*r@v9}~j(z2^g7q{p2M>@5 z8dYs$e$n-vn8VQrTF<8k1(M+Y_a9pIfl3u6AUH25@~c1DeQ^CX zPo)xW2QjpmQKGG-bYx|;BrG0cYnB1c^gMBmfSg}D;15|4{`SzFfl$=5<=zb)s0#ss z3hHP<$s0C-O~w4KkT3p6k)EMLuN!#_M%2l0&tAQzba6Vu%q=dt?nGC=Y~Icp6i+2F+2uW)kig}(2m$vv7V zbrv4WJ6IW>&?4R!o??s;l-F@wMHF|k0lI}f}?Yo=r z)EDCtY6OP~eD116(a5NTCMLJa=G{>0a`Qim5U?m>fqeU>7IA5Qpn&UJCk`A@$x#gD zY+O6(_Ic?Z4c(cHQ?7mj=R0W_6I>pe%zCWYS7m*#qkxZMiM)hDmDU|KmtNiq^+X`Y zKPA0-$@*`knY?2h(Vq;B2ZJc6$0RN{Cr&)|EapgQ7hkXh6@xxpeziJ=MCVS(+i--$ zs>^heWZ0)(HwhV59E^Fvg3Rk7yNQzz)FyDIqqsHNusv))>;!N&>XGG(BJ6N4HZXVZ zB+$a@yLd0E(>A}J-{BV}zkYipk2WQ4{eI^ZTsONjul(wlgS4;+#9~@WoUB<~-qo4r zcQlc00PkO{Y|TN(wZ6DY{8dnw@D#BK{*sNk^9{L0bJVXH23BAP3XjS`Usb0!Px2u& zeaOn$boXZoRmk$o2to+ecqK&w*-K_bldV=N-o5R_Q%gaU)%1~U1)`D!my7uXXK>Qr z%*fLOu*#_~N-cgjJ;GnH5{wa_J3oaL?ABa&Fb45lE_4@nl+p&9>hkZ5sa|&vJYMs? z_-f_h!*6&Vc~tGO(*fDeeEsUy_>N<>C)-J<{px1bq5@fzlooxbpwA2g(<@GT0vGk+ zdZ5`ZkgLwW_9=_Af2}&1q7~gWE2HIsg_;H-lL}{2&rfZJcjU~p#Yhs;q{_npgI&lg z1cIj0!nyC`00Lq{;!-30?>H@=EV#m|Ne)VpDpmAff6 zgFg}UweLQ;i7C}p8-}SuoW@un?`i)gr-l|JwlNiICrLUd7(TGDR@-ltkMRTx2YTP} zY_aKEHN@4yA)l^*00=P;tmYa|{C#KZgP_H8{mX8=AausiAH+1j7M_Uoe7gedWN<8Zthl0 z7pD$y5v8wT4}ceSZmcAd7&L9Nv`SA~O)cpkR+>}aFiif8AP;^ZfXVak3l-F{AluYT zFyB+(!ukEms%oX%-#za6S1$eATOs14@;~Jd=FCCnY*a=K34EZAje^`E1_Vz8{+(1j zFvdU_XWzC?=iHuYN~uz%0*f^!^9A9XU3i|KFU>O;i}>8zno2x_F4;--_Y;Y7!xBp!*(m zUYmJdX-NGIX`-qNb(vc(B4@5(${iQ&TSo*2=hwd$Rt`G+CjU7sDKQi`(N81jCXmumO>g%sfMy@CW$Si;8Dmt|FS z4GXS1%)F^&T7+#k*9#(xrtZ1(n`w7Y z<_G`vT(mb8;_`^2BFDvCH7`}22$9-P(H}c#_lPVaw17H`1rVHQDKFLf+YKMooSb94 z?C3ainJRT33Wr6y=#S1igZB^K^a#|dY*UyYR>V;x_TSrc4twpMTK|fGxUVv-bZ+Iv z!oYYZrokuc(DS3T1zF;d3sL_P4~U?8t2k1yTdof(mN62AaUf}CdS*`M7o3=PNSG8@ zEESThaRi@VG^?2Pb@`_;Oah})dkg*HRJ~eqTq+lEHDzmSUK#`z?^O!&%qBhCQGWhq z3r&y|RtOO;Ge8~q_KyyyBciB!N@8$@^b-OS108lchiPP?0d0My!w#s2(w?82AF~nY z_N8fGY>(BeT&HyF(}he`c#8-n0XMX$KZf0>{^X8jJBP}qN-?9bVw%5xnT{ffpt zl0hrBGnx?g60(}5xFcP59rkgN?6;oR`1-t#V;J=wDiUekG80{SVHR*YTw68vv>oVV zGqdzNGuRLMjm%$-?psLkuZKe+ODDyJ*{V9H;WLoX7K~C63b1SBkee5mO4OT}a3^=L z>ZSk*9V9Qo*QvOuubr_yFVjWm2_W}Mtj~*lDur8tS_fUJ`|SGqY5lct9Q5B;EE%^e zCWB=MYk-yZMqZ27rzBomM%ClvUQnP{fR_=w-yUQ8P^V61%DTQzH_slh^z)m?i!tE^ z9lbRlSX2tb-w04bfLRdJpHsxv*S*zIetocH8)>y}h0~Y=(mECG0FG}}Fxa%Qo9?*@ z3eFW=$g|n!arnURo6kReV=X9UJ!qPhBOa9NWym2GFNHuQtnMKw%Ef)^e{!(|br!Cl znd`p*8O%0$H2`c_rwXcf-bkssRp;7-?D7ajNN!U4JHr=eH&r=)O7nhm4nw#Qj@;;T zwm9MJ3uOk35#iE2zsiC*wLJ)uBF4Qcg`NLzKSV)w=8=9K{-2`MpKEv>(0_aByRzuN zJ+EIYWd9FeiN+nk>u$cZj_>YYdiiVVz>kFl-&&$|0oVTr?D)Tt=6{y!YBI{N1pZP! n@&CT^Q#}bHhTz$ygK&_*5sVA53gPJA%uWRv73m_$htK{Onp~+y literal 22728 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 R!jP#{{`A}0C)fZ diff --git a/doc/img/cars.png b/doc/img/cars.png index 4ebc8814f9d60cc4d669c9a5ad23da10302bb071..436ecc5c584077b56d7ddc38b56d5ee142bcd78f 100644 GIT binary patch delta 17193 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 Rx=J*wC}_%;%03SL{{YzT&(8n= delta 16789 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 diff --git a/doc/img/crowd.png b/doc/img/crowd.png index 01764eda08895c899f83eb8dab0151af33b1c029..179beebd4b128e4bcab1050026c8f39a128d039d 100644 GIT binary patch literal 21608 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 z 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 b{LEVmPt6uXj;61_m!Kr4CR-}~(EtAdkGXmW literal 20751 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 diff --git a/doc/img/items.png b/doc/img/items.png index b59784b78a20b7cfb6ae012d4d4f86fc16f7a433..a219c8e8f838a4d996bd067b30e1fee2f978ac9b 100644 GIT binary patch literal 14517 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 diff --git a/doc/img/map-signs.png b/doc/img/map-signs.png index 04aade5132fd1af3b227b3e2498ebb295276a5ab..42ac1be7f3eb65f51e5a975b1bcef8855c570e10 100644 GIT binary patch delta 7776 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 AQvd(} delta 5983 zcmds*c|4Tc|G+VfEnCbGW1WySvL|M=AYH~5k~PVQtRd?p>m}L3^LkEsH2uA>R5*jq zXtgAP1Ec3PDaIY++%0@9jeU}8-6f0qHQvY=r2ZSOwELLx@6Yc;w<+^6cs){q&&w*G zTJP~jhc~XjOuJ*s>>mk?u9v^sIz~)>g90;itvBAcXz#id4k#|_hnBQ|e&wLyUz)8| z<~`6(%nm52k~h11f3W@V7Md76!s*o^*2kjCkOb6m@~MPtFnpyu2%_(8>c;XOd1tJ& z^g*-#DqBFSb+HH`mWv6X=Mn&r2qut-L?0l+#m}n=k2&+z&KERrH1e$^J(p{1+#SGI zMHqyV`u-f8imw)n0sYyH`Fqzz`1eObsd(|2i6FK(b0ZnGvcnP?3kB=a>gh>0my*r` zI6Zy?IM@PPjqDw_Vc>15f{M=BT;PY<$cj>#&qMv5y z6_uDyS?Jkyf;bE^1^VBOd$|oU`WDa4oq|}5Waoq!UU&I8XBe0#Cogz1^j_kV5@Q)V z-nPQ)k84zOa!PXs7?-aM8Y%`_HMHp-ZnG#^Q8J&m^OzksRT~VJ9c(Bo40`xcxyE`> zqWp=Z{yHzgBQfw-d)~G>*`#8Enr7cYT;Nm%OhFJ#hmZse?iH+XM|@28$-8&)FQ6@F zL(e4L0(Tn*$Cva7`X=Gq1(#*>1$p9Dl++|262kNHp(m3$H6^?p!zZ;+zhcd&uFoEM zzf#Jx{4N8lT1tDdF08G+jwO#PW60d&>t&+Qwykr3@s=U?j%6siLg~qkXvz!CU)--M zH>Xs|IIu4j)u~Rw^~yc@&hEC#{xL9*@Q~nL{gcDi=MwmYZ1A7jL5~QdH^?5 zKpa115-pK1v?gB&sdy^mhQs^7F%T9>_(`7KuP(n7hP<7o@MiE(b(tQTee#Vb8^ zu@0YFX4Y@qG758w3nCNfx$F{x*8M20?IQ3i?$^KMshQ80%PzeXC?x%1749OqTw;66 z?VJt19iDgQOmASds-u<&6N$LC$#{>EKro968OD!;g0Oxib4J z|EwcsZ+B-)Lywzr*}jk~Z+rC(eU)hH1ucIW(Y@SY-KyS>l$u*eZqEN6#Xnz3)?w*b za=Q_C^nChg=JwT+^6;j~+eyrm=3e%MI32eYH3RA#bdL@ofn@cNn(Jb)T{dPMe!0t$ zwAq_1oIyuNr^G!s79zQ>^(+Qmz)>5i-Ut4O6heb;{D-i}1(?Zu0Jr5&{d6<(uG06p z)N_JqqjAS?UEW}sxTXxyE2sfV3gG{bw-owzGHCm@h<4yFAS4Tu*)uJ6YbUzB5G7teo1@qY9~%lk3u2O{T|Q8uJ@AU2W>p9rrU*F8U;dlRm3XA-wzobV9$VO^)U^{I z6m?t#%oK!~AZVtO^|W_wB=Q+ouPh}S)5V@vV$m4JJSk6QJ<(ZK?%-BfAgZ4114F=o zGyz_KTafe61jj0GN<=~gp*Vu=uSO6B{1HfnA7OPFj-F`Q3!QKUmPL)w2(4hFUPTa43H(An=e0OKrp8IkT4Nb(35Y_H3usz~AduI|n zAk-xl>pc{r-psr?;7uj#h(S`>45wJlzi=4%u2^i!?D9phA!73JC=yn65__zVt(Ktz zDfhR6ViE~1xowG*{oa%5F@rh%zKHor{=XJkX%i{oF+We?1N!B~l@k^Fq+tJsnu+E> zknX~SJjGtULX$n5_(jKr)=LyaH9gR_|EVp6Dm~eWuVOuiyfw65zd@C}N1fmE^=-}@ z@A`J~YeeoRM9Y?+uv=_Br)}5x>ekk7ScEQ4AAta>nR!7feCTvhe)eR3X&5augsfdY zTCwO_>lmVE+v;l7zKODq0i|ClYWsx$}**Oodns6Tbq#LF_Vjnuco10JekBG_@1*-XY z8NyirB`JOhQ_U4f^4?%$^B}69#-+1}ClRL9u8#Sh-YqS}Ojbk$P|eAU!JR9Jv5fv- z2Y*I(O^)+g%c|4%MM^1S%1jJaV-bNe2^=_ntlhcO56mF8nN)jS5PW;6JT z73-r-Q5dYskY`jN1Lz?kaJUgE`*BR?*1L%52AwEMy?mRQZvfd^V{YPy4{*WXtzy6c z>1q&LPBw!Kycxo}GzFFOT-QBk%K}WXuqQT`H9ZgNP&aQgg}u&VGek1@^_kIK6eHY* zr6G}L=~yM=Bv`nc#n?VGNXXv4UBi+Y`n>t!+6QX$d3hq^yvE+|+n)e-DLB0ea9m16 zNJ>bFsYn$O@mAEa{y4dt(xuUk+HFJazQ6lD9M@a9(aZ-idk3_dq+P#=U29z1>^x^1 zSX_l_dE)wtPv(|BOi6g@rgsyXs-TF8Ky`8kY^+Dsde*$nRVbUgE`sCtMm%Dp?BLR(0`H_tOJS+WRC+1*#*yC@*=TJ>%Dp`vuQ!5x6t01I-yWGM3uV3z@twmw|Cc$a!b}Veb0F!m{xEAB{YSWnLWd^?qakPiaxrJpbQo zN7!;qhrR{KqEDMxM+Loi_ckfAT146N`ZWr^tT74o7p(Kc%;luM9sHcvKC)Bayq{r= zD3c$-J6B{%LPy+hjR&5-0srzUaLzX93T5+_ibB=g#*BgcaA7j0x7iIhu+sNifYzAA zEw`qW=k`;c4NE4{I|i$I^L{PozV&DUO2^L0Z6c6bZZU}Rr>y4n`R^dj068pVLrS5l z0(;yMJLOy?Ditv<9WkyEvdazVDf0of$6)+snh8?I6|n}PBi30bmy;6%%!6V#g;6y# z$0Rr~%ng36Vgel(OAKZo@y}AKYyy^TGNjp01TNg)bt0>ZgQeYLsMKh%EvO>$J<_8< ztxpimQTtt_-UWx`L{GH4lzi#99Gtf)=~w5~8^rOx#Eu~I{*s(K&*Z zdjj;;z3fZShNo3`_m$BDK=L7hW6Ot=101vl6S5O#0>Jh4>6~}8FzpjA9^o$cn##j^ z2@A&Eos`d6iL@?I21n_1etsxdrjL*A5cz(&g)O$$#692NXlES5PfIF+6BHi?O3FV2 z@n>9S^+6Q!JlAUh7nJgqD9DwlT_v3vNbeEg6$jKaLWSW5TbvB+sZTcE`KQW4HlBz1 zV#P#-hm7u;{6Z?nqJm3mxRrCY$z~#ZOHpq~HrJ@hWa(yOh}Q?dPhZ5We`xws_hqb)ri_iR`8Q-DEqNR* zPA$eFvY?`jR#6?=eB?kX`x8+Dsms5mMcKy7m7as&g0 zJfYc5{f9({8`D^WQsgH_LpW`mD&^Eh^pnshp6Wl@Je@XA$V?-?z^qDLoo0A&?^A>Z zH=0o}Qon%bZw2*aeYw|w7)~GebZ;9DDE#o-?@v9>TG(gxT#F3lsH!|HdLIsv{sh-w*HRlyA4ca? zUO#VK_jvPK+66DGk7)hae4&fZQ*mYJHVd*C5Gl#)L`y4)fAX-K!iPm~qvNbSV?s0YA594R4`-sOa;#g&7 z*M5M@r9E_=rmw#-8yrNNpMo@@UU;g9+UyT({O%jivV*cYIbQ1WQ+@IMV;kV99=F0? z6jJ*@P_Tl%owdCsTz(9m9-)><1r~vaK`LM@b)*Qu?pq%wS zFJfAMGj6Ac}ynr*;FHqLm zy`u%Vo7=bCuqi3t-d%C;yka7C_g-Sx-fXzp2dRAcNFiiP;W$svv-&MbGclEP>ImMP| z7AN*Et3z8Jw$+yFxFW2TpY1<5@CS!VM$!46zM~D)V$*K6sg-M!u@`nGSFWiVs0yjS ziR+p!g%FM#`^9FaOV?a-5dSm&%#6BO$Qpo05@NUT%;z1iKY4bvJf|zH#^L0A<^3VF z-^!IEgxuzd+MNaAwY}5-*hy&n%4|N%szy`b-7=*^ASavA$VhgdJ-HL4c5}jd7`En{A^`h($ diff --git a/doc/img/map.png b/doc/img/map.png index 2beb89babc825ca50bdda29d45d757f52194c457..58b0f382a1798cdb49d07c1e6206bd8dce135ec5 100644 GIT binary patch literal 16829 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 literal 17284 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 diff --git a/doc/img/skills.png b/doc/img/skills.png index 32438e16447069b1f14f3459eb94c13eea0dfcf3..33ad79e6b9c09228031722f6b947cefe0e4f68ea 100644 GIT binary patch literal 16062 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 cq7^BYnItKxg&q9E3$&Xz= posterIndex && i < posterIndex+posterCount) { + if i == trainIndex || i == railsIndex || (i >= posterIndex && i < posterIndex+posterCount) || i >= busIndex { continue } a.Tiles[t] = sub(i) @@ -88,6 +95,7 @@ func LoadAssets() (*Assets, error) { } a.Train = sub(trainIndex) a.Rails = sub(railsIndex) + a.Bus, a.Road, a.StopSign = sub(busIndex), sub(roadIndex), sub(stopIndex) for i := 0; i < posterCount; i++ { a.Posters = append(a.Posters, sub(posterIndex+i)) } diff --git a/internal/game/audio.go b/internal/game/audio.go index 70eb38f..de84728 100644 --- a/internal/game/audio.go +++ b/internal/game/audio.go @@ -48,6 +48,7 @@ const ( SoundLose = "lose" SoundStaff = "staff" SoundPlane = "plane" + SoundBusHorn = "bus-horn" ) // StationMelodies är avgångsmelodierna; varje station har sin (level.Melody @@ -57,7 +58,7 @@ var StationMelodies = []string{"melody-a", "melody-b", "melody-c", "melody-d"} // AllSounds är alla klipp som måste finnas i resources/sound. func AllSounds() []string { return append([]string{SoundApproach, SoundAnnounce, SoundDoors, SoundChatter, SoundMusicMap, SoundGateBeep, SoundGateDeny, - SoundKiosk, SoundToilet, SoundLearn, SoundConfirm, SoundCancel, SoundTransfer, SoundWin, SoundLose, SoundStaff, SoundPlane}, + SoundKiosk, SoundToilet, SoundLearn, SoundConfirm, SoundCancel, SoundTransfer, SoundWin, SoundLose, SoundStaff, SoundPlane, SoundBusHorn}, StationMelodies...) } diff --git a/internal/game/people.go b/internal/game/people.go index 4b2caef..664d624 100644 --- a/internal/game/people.go +++ b/internal/game/people.go @@ -36,11 +36,11 @@ func (s *LevelScene) drawNPCs(g *Game, screen *ebiten.Image, ox, oy float64) { func (s *LevelScene) buildPosters() { s.posters = map[level.Point]int{} l := s.run.Level - if l.Clutter == 0 { + if s.clutterLevel() == 0 { return } r := s.run.Seed.Derive("posters").New() - chance := 0.12 * float64(l.Clutter) + chance := 0.12 * float64(s.clutterLevel()) for z := 0; z < l.NumFloors(); z++ { for y := 0; y < l.Height(); y++ { for x := 0; x < l.Width(); x++ { diff --git a/internal/game/scene_level.go b/internal/game/scene_level.go index 73c44db..465f528 100644 --- a/internal/game/scene_level.go +++ b/internal/game/scene_level.go @@ -58,6 +58,7 @@ type LevelScene struct { // Tåg och effekter (M7b). tracks []trackInfo rails map[level.Point]bool + roads map[level.Point]bool // vägrutor för bussar (ritas med vägsprite) lastPhase map[level.Tile]level.Phase particles []particle rng *rand.Rand // bara för partiklar (ingen spellogik) @@ -299,7 +300,7 @@ func (s *LevelScene) Draw(g *Game, screen *ebiten.Image) { for y := y0; y < y1; y++ { for x := x0; x < x1; x++ { p := level.Point{X: x, Y: y, Z: z} - if s.rails[p] { + if s.rails[p] || s.roads[p] { s.drawRails(g, screen, p, ox, oy) continue } @@ -358,6 +359,7 @@ func (s *LevelScene) Draw(g *Game, screen *ebiten.Image) { s.drawIndicator(screen, ox, oy) s.drawHUD(g, screen) + s.drawTicker(g, screen) s.drawTip(g, screen) if r := s.run; r.TransferAt >= 0 && r.Time-r.TransferAt < transferBannerSec && r.Mini == nil && r.Outcome == sim.Ongoing { txt := g.Assets.T("hud.transfer_done") diff --git a/internal/game/scene_map.go b/internal/game/scene_map.go index 4278426..b89ece8 100644 --- a/internal/game/scene_map.go +++ b/internal/game/scene_map.go @@ -69,7 +69,7 @@ func (m *MapScene) nodes() ([]mapNode, map[string][]mapNode) { } mains = append(mains, mapNode{l, x, y}) for k, s := range m.sides[l.ID] { - sides[l.ID] = append(sides[l.ID], mapNode{s, x + 12 + k*18, y - 40}) + sides[l.ID] = append(sides[l.ID], mapNode{s, x + 12 + k*18, y - 28}) } } return mains, sides diff --git a/internal/game/ticker.go b/internal/game/ticker.go new file mode 100644 index 0000000..e8f14a0 --- /dev/null +++ b/internal/game/ticker.go @@ -0,0 +1,53 @@ +package game + +import ( + "image/color" + "math" + "strings" + + "github.com/hajimehoshi/ebiten/v2" + "github.com/hajimehoshi/ebiten/v2/vector" +) + +// Överstimulerande UI (level.Overload): en rullande reklamticker i +// blinkande färger under HUD:en, och fler affischer på väggarna. Texten är +// reklamfraser som inte betyder något för spelet – det är poängen. +var adPhrases = []string{"大セール 半額!", "新発売 ラーメン", "免税 お土産", "駅弁 人気No.1", "本日限り 特価", "ポイント2倍", "新宿 ショッピング", "温泉 旅行 キャンペーン"} + +const tickerSpeed = 30.0 // px/s + +// drawTicker ritar reklamtickern (bara med Overload och när inget annat +// ligger där). +func (s *LevelScene) drawTicker(g *Game, screen *ebiten.Image) { + r := s.run + if !r.Level.Overload || r.Mini != nil || r.Outcome != 0 || s.tips.current != "" { + return + } + a := g.Assets + text := strings.Join(adPhrases, " ★ ") + " ★ " + w := a.Width(text) + if w == 0 { + return + } + y := 26 + blink := math.Mod(r.Time, 1.0) < 0.5 + bg, fg := color.RGBA{120, 30, 60, 230}, color.RGBA{255, 230, 120, 255} + if blink { + bg, fg = color.RGBA{40, 60, 140, 230}, color.RGBA{255, 255, 255, 255} + } + vector.DrawFilledRect(screen, 0, float32(y), ScreenW, LineH+2, bg, false) + x := ScreenW - int(math.Mod(r.Time*tickerSpeed, float64(w+ScreenW))) + for _, sx := range []int{x, x + w} { + if sx < ScreenW && sx+w > 0 { + a.Draw(screen, text, sx, y+1, fg) + } + } +} + +// clutterLevel är den visuella röran: banans clutter, maximal med Overload. +func (s *LevelScene) clutterLevel() int { + if s.run.Level.Overload { + return 3 + } + return s.run.Level.Clutter +} diff --git a/internal/game/trains.go b/internal/game/trains.go index 44ea0f7..d47324e 100644 --- a/internal/game/trains.go +++ b/internal/game/trains.go @@ -31,15 +31,21 @@ type trackInfo struct { platform level.Point // perrongrutan track level.Point // rälsrutan bortom kanten horizontal bool // rälsens riktning + bus bool // buss: väg och ett fordon i stället för räls och vagnar } func (s *LevelScene) buildTracks() { s.tracks = nil s.rails = map[level.Point]bool{} + s.roads = map[level.Point]bool{} for _, t := range level.PlatformTiles { for _, p := range s.run.Level.Find(t) { tt, horizontal := s.run.Level.TrackTile(p) - s.tracks = append(s.tracks, trackInfo{tile: t, platform: p, track: tt, horizontal: horizontal}) + bus := false + if tr := s.run.Level.TrainAt(t); tr != nil && tr.IsBus() { + bus = true + } + s.tracks = append(s.tracks, trackInfo{tile: t, platform: p, track: tt, horizontal: horizontal, bus: bus}) out := level.Point{X: tt.X - p.X, Y: tt.Y - p.Y} // riktningen bort från perrongen for k := -railsReach; k <= railsReach; k++ { c := tt @@ -51,7 +57,11 @@ func (s *LevelScene) buildTracks() { beyond := level.Point{X: c.X + out.X, Y: c.Y + out.Y, Z: c.Z} // Räls på väggrutor längs spåret, så länge det är vägg (eller kartkant) bortom dem. if s.run.Level.At(c) == level.Wall && s.run.Level.At(beyond) == level.Wall { - s.rails[c] = true + if bus { + s.roads[c] = true + } else { + s.rails[c] = true + } } } } @@ -87,7 +97,11 @@ func (s *LevelScene) drawRails(g *Game, screen *ebiten.Image, c level.Point, ox, op.GeoM.Translate(TileSize/2, TileSize/2) } op.GeoM.Translate(ox+float64(c.X*TileSize), oy+float64(c.Y*TileSize)) - screen.DrawImage(g.Assets.Rails, &op) + img := g.Assets.Rails + if s.roads[c] { + img = g.Assets.Road + } + screen.DrawImage(img, &op) } // drawTrains ritar tågen i rätt läge för sin fas. @@ -98,6 +112,11 @@ func (s *LevelScene) drawTrains(g *Game, screen *ebiten.Image, ox, oy float64) { continue // tågen på andra våningar syns inte härifrån } phase, prog := s.run.PlatformPhase(tr.tile) + if tr.bus { // hållplatsskylten står på hållplatsen + var op ebiten.DrawImageOptions + op.GeoM.Translate(ox+float64(tr.platform.X*TileSize), oy+float64(tr.platform.Y*TileSize)) + screen.DrawImage(g.Assets.StopSign, &op) + } // Strålkastare när tåget är på väg in: ett sken från det håll det kommer. if phase == level.Approaching { s.drawHeadlight(screen, tr, prog, ox, oy) @@ -106,8 +125,12 @@ func (s *LevelScene) drawTrains(g *Game, screen *ebiten.Image, ox, oy float64) { if !show { continue } - for k := 0; k < trainCars; k++ { - d := off + float64(k-trainCars/2) + cars, sprite := trainCars, g.Assets.Train + if tr.bus { + cars, sprite = 1, g.Assets.Bus + } + for k := 0; k < cars; k++ { + d := off + float64(k-cars/2) var op ebiten.DrawImageOptions x, y := float64(tr.track.X*TileSize), float64(tr.track.Y*TileSize) if tr.horizontal { @@ -119,7 +142,7 @@ func (s *LevelScene) drawTrains(g *Game, screen *ebiten.Image, ox, oy float64) { op.GeoM.Translate(TileSize/2, TileSize/2) } op.GeoM.Translate(ox+math.Round(x), oy+math.Round(y)) - screen.DrawImage(g.Assets.Train, &op) + screen.DrawImage(sprite, &op) } } } @@ -162,14 +185,19 @@ func (s *LevelScene) updateEffects(g *Game) { s.lastPhase[tr.tile] = phase dist := math.Hypot(float64(tr.platform.X*TileSize)-px, float64(tr.platform.Y*TileSize)-py) / TileSize mask := noiseMask(r.Level.Noise) - switch phase { - case level.Approaching: // ankomstjingeln: tåget är på väg + switch { + case tr.bus && phase == level.Arriving: // bussen tutar när den svänger in + g.Audio.Play(SoundBusHorn, volumeAt(dist)*mask) + case tr.bus && phase == level.Closing: + g.Audio.Play(SoundDoors, volumeAt(dist)*mask) + case tr.bus: + case phase == level.Approaching: // ankomstjingeln: tåget är på väg g.Audio.Play(SoundApproach, volumeAt(dist)*mask) - case level.Arriving: // ding-dong när det rullar in + case phase == level.Arriving: // ding-dong när det rullar in g.Audio.Play(SoundAnnounce, volumeAt(dist)*mask) - case level.Closing: // stationens avgångsmelodi innan dörrarna stängs + case phase == level.Closing: // stationens avgångsmelodi innan dörrarna stängs g.Audio.Play(MelodyFor(r.Level), volumeAt(dist)*mask) - case level.Leaving: // dörrsignalen när det går + case phase == level.Leaving: // dörrsignalen när det går g.Audio.Play(SoundDoors, volumeAt(dist)*mask) } } diff --git a/internal/level/level.go b/internal/level/level.go index 8e46936..912e59a 100644 --- a/internal/level/level.go +++ b/internal/level/level.go @@ -194,6 +194,7 @@ type Train struct { Correct bool `json:"correct"` // tar spelaren till rätt resmål (räknas ut från nätet när banan har station/to) LineID string `json:"lineId"` // linjen i linjenätet (resources/data/network.json) Terminus string `json:"terminus"` // en station i färdriktningen (nätets id) – avgör riktningen + Vehicle string `json:"vehicle"` // "" = tåg, "bus" = buss (väg i stället för räls, hållplats i stället för perrong) Crowded bool `json:"crowded"` // fullt tåg: minispel för att få plats (gäller alla vagnar) Cars int `json:"cars"` // antal vagnar (0 = DefaultCars) WomenOnlyCar int `json:"womenOnlyCar"` // 1-baserat vagnnummer för kvinnovagn, 0 = ingen @@ -269,6 +270,7 @@ type Level struct { SeatSelection bool `json:"seatSelection"` // biljettköpet fortsätter med sittplatsval efter sällskapets önskemål OneWayGates bool `json:"oneWayGates"` // spärren släpper inte ut en igen förrän man åkt; personal vid spärren låser upp (tar tid) Melody string `json:"melody"` // stationens avgångsmelodi: "a".."d" (tomt = vald efter id) + Overload bool `json:"overload"` // överstimulerande UI: reklamticker, blinkande reklam, extra affischer FareYen int `json:"fareYen"` // vad spärren drar från kortet (0 = standard) Grid []string `json:"grid,omitempty"` // envåningsbana (kompatibilitet) – blir Floors[0] Floors []Storey `json:"floors,omitempty"` // flervåningsbana; alla våningar lika stora @@ -466,8 +468,14 @@ func (l *Level) Validate() error { if tr.Correct { correct++ } + if tr.Vehicle != "" && tr.Vehicle != "bus" { + return fmt.Errorf("level %s: tåg %d har okänt fordon %q (tomt eller bus)", l.ID, i, tr.Vehicle) + } if tr.Cars == 0 { tr.Cars = DefaultCars + if tr.IsBus() { + tr.Cars = 1 + } } if tr.Cars < 1 || tr.Cars > MaxCars { return fmt.Errorf("level %s: tåg %d har %d vagnar (1–%d)", l.ID, i, tr.Cars, MaxCars) @@ -720,11 +728,18 @@ func (l *Level) Unreachable() []Point { return out } -// BoardText är avgångstavlans text på japanska, t.ex. "2番線 成田エクスプレス 新宿方面". +// BoardText är avgångstavlans text på japanska, t.ex. "2番線 成田エクスプレス 新宿方面" +// (för bussar "1番 リムジンバス 新宿方面": hållplatsnummer i stället för spår). func (tr *Train) BoardText() string { + if tr.IsBus() { + return tr.Track + "番 " + tr.Line.Get("ja") + " " + tr.Destination.Get("ja") + "方面" + } return tr.Track + "番線 " + tr.Line.Get("ja") + " " + tr.Destination.Get("ja") + "方面" } +// IsBus rapporterar om fordonet är en buss. +func (tr *Train) IsBus() bool { return tr.Vehicle == "bus" } + // TrackTile är rutan "bortom perrongkanten" där rälsen går: första väggruta // nedanför, till höger, till vänster eller ovanför perrongen. horizontal // anger om rälsen (och tågets rörelse) går i sidled. diff --git a/internal/level/level_test.go b/internal/level/level_test.go index aa1db37..bc3b132 100644 --- a/internal/level/level_test.go +++ b/internal/level/level_test.go @@ -838,3 +838,24 @@ func TestToiletSides(t *testing.T) { } } } + +func TestBusVehicleAndBoardText(t *testing.T) { + src := `{"id":"bus","name":{"sv":"x"},"difficulty":1,"destination":{"ja":"新宿"}, + "grid":["#######","#S.GP.#","#######"], + "trains":[{"platform":"P","track":"1","line":{"ja":"リムジンバス"},"destination":{"ja":"新宿"},"correct":true,"vehicle":"bus"}]}` + l, err := Parse([]byte(src)) + if err != nil { + t.Fatal(err) + } + tr := &l.Trains[0] + if !tr.IsBus() || tr.Cars != 1 || tr.BoardText() != "1番 リムジンバス 新宿方面" { + t.Fatalf("buss: cars=%d board=%q", tr.Cars, tr.BoardText()) + } + if _, err := Parse([]byte(strings.Replace(src, `"vehicle":"bus"`, `"vehicle":"tram"`, 1))); err == nil { + t.Fatal("okänt fordon ska ge fel") + } + train, _ := Parse([]byte(strings.Replace(src, `,"vehicle":"bus"`, ``, 1))) + if train.Trains[0].IsBus() || train.Trains[0].Cars != DefaultCars || train.Trains[0].BoardText() != "1番線 リムジンバス 新宿方面" { + t.Fatal("utan vehicle är det ett tåg") + } +} diff --git a/internal/nav/nav_test.go b/internal/nav/nav_test.go index 4ac9152..dd2cb1c 100644 --- a/internal/nav/nav_test.go +++ b/internal/nav/nav_test.go @@ -169,3 +169,20 @@ func TestShippedNetwork(t *testing.T) { t.Errorf("Marunouchi via city = %v", v) } } + +func TestShippedBusLines(t *testing.T) { + dir, err := res.Path("data") + if err != nil { + t.Fatal(err) + } + n, err := LoadFile(filepath.Join(dir, "network.json")) + if err != nil { + t.Fatal(err) + } + if v := n.Judge("limousine-shinjuku", "narita-airport", "shinjuku", "shinjuku"); v != Direct { + t.Errorf("flygbussen mot Shinjuku = %v", v) + } + if v := n.Judge("limousine-yokohama", "narita-airport", "yokohama", "shinjuku"); v != NoService { + t.Errorf("flygbussen mot Yokohama för den som ska till Shinjuku = %v", v) + } +} diff --git a/internal/sim/nav_test.go b/internal/sim/nav_test.go index b8b1001..af433d2 100644 --- a/internal/sim/nav_test.go +++ b/internal/sim/nav_test.go @@ -126,3 +126,36 @@ func TestTerminalLines(t *testing.T) { t.Fatal("okopplad bana har ingen terminal") } } + +// TestBusTerminalFlow: flygbussterminalen är en biljettbana med bussar – +// köp biljett till Shinjuku, gå till hållplats 1 och åk. +func TestBusTerminalFlow(t *testing.T) { + l := loadLevel(t, "001b-flygbussen") + if !l.TicketRequired || !l.Trains[0].IsBus() || l.Trains[0].Cars != 1 { + t.Fatal("001b ska vara en biljettbana med bussar") + } + r := NewRun(l, RunOptions{Dict: loadDict(t), Seed: rng.FromInt(3)}) + r.Party.nextEventAt = 1e9 + r.NPCs = nil + walk(t, r, pathTo(r, l.Find(level.TicketMachine)[0])) + r.Step(frame, None, true) + tk, ok := r.Mini.(*minigame.Ticket) + if !ok { + t.Fatalf("ingen biljettautomat (kind=%v)", r.MiniKind) + } + for tk.Options[tk.Cursor].Dest != "新宿" { + r.StepMini(frame, minigame.Input{Move: 1}) + } + r.StepMini(frame, minigame.Input{Confirm: true}) + if r.Wallet.Ticket != "新宿" { + t.Fatalf("biljett=%q", r.Wallet.Ticket) + } + tr := boardAt(t, r, level.Platform) + if !tr.IsBus() || tr.Verdict != nav.Direct { + t.Fatalf("hållplats 1: %v %v", tr.IsBus(), tr.Verdict) + } + ride(t, r) + if r.Outcome != Won { + t.Fatalf("outcome=%v (%s)", r.Outcome, r.LostReason) + } +} diff --git a/resources/data/levels/001b-flygbussen.json b/resources/data/levels/001b-flygbussen.json new file mode 100644 index 0000000..f28152d --- /dev/null +++ b/resources/data/levels/001b-flygbussen.json @@ -0,0 +1,154 @@ +{ + "destination": { + "en": "Shinjuku", + "ja": "新宿", + "romaji": "Shinjuku", + "sv": "Shinjuku" + }, + "difficulty": 1, + "fareYen": 0, + "grid": [ + "#################################", + "#S#.....#...#..i..#.....#.....#K#", + "#.#.###.#.#.#.#.#.#.###.#.#.#.#.#", + "#.#i..#.#.#...#.#...#...#.#.#...#", + "#.#.#.#.#.#.###.#####.###.#.###.#", + "#.#T#.#...#.....#.#...#.#.#.#.#.#", + "#.###.###########.#.#.#.#.#.#.#.#", + "#...#...#.........#.#.....#.#.#.#", + "###.###.#.#########.#.#####.#.#.#", + "#...#...#.#...#.....#.....#.#...#", + "#.###.###.#.#.#.#########.#.#.###", + "#.#...#.....#...#.....#...#.#...#", + "#.#.###.#####.#.#.#.#.#####.#.#.#", + "#..i#...#...#.#...#.#.#.....#.#.#", + "###.#.###.###.#####.#.#.#####.#.#", + "#...#...#...#.#.......#.#.....#.#", + "#.#####.#.#.#.#.#######.#.#####.#", + "#W#.....#.#.#.#...#...#.#.....#.#", + "###.#####.#.#.###G#.#.#.#####.#G#", + "#pG.........#...#Q#.#...#.....#P#", + "#################################" + ], + "id": "001b-flygbussen", + "kind": "side", + "name": { + "en": "Airport bus terminal", + "ja": "空港バスのりば", + "sv": "Flygbussterminalen" + }, + "order": 1, + "parent": "001-flygplatsen", + "party": 2, + "rewards": { + "skillPoints": 1 + }, + "rideStops": 2, + "signs": [ + { + "text": { + "en": "Bus terminal. Tickets at the machine. Stop 1 limousine bus for Shinjuku: south-east. Stop 2 limousine bus for Yokohama: south-west. Stop 3 airport bus for Tokyo: south.", + "ja": "バスのりば 切符 → 券売機 1番 リムジンバス 新宿方面 → 南東 2番 リムジンバス 横浜方面 → 南西 3番 空港バス 東京方面 → 南", + "sv": "Bussterminalen. Biljetter köps i automaten. Hållplats 1 flygbuss mot Shinjuku: sydost. Hållplats 2 flygbuss mot Yokohama: sydväst. Hållplats 3 flygplatsbuss mot Tokyo: söderut." + }, + "x": 3, + "y": 13, + "z": 0 + }, + { + "text": { + "en": "\u003c- Stop 2 limousine bus for Yokohama Stop 1 limousine bus for Shinjuku -\u003e", + "ja": "← 2番 リムジンバス 横浜方面 1番 リムジンバス 新宿方面 →", + "sv": "\u003c- Hållplats 2 flygbuss mot Yokohama Hållplats 1 flygbuss mot Shinjuku -\u003e" + }, + "x": 3, + "y": 3, + "z": 0 + }, + { + "text": { + "en": "Stop 1 limousine bus for Shinjuku: the gate in the south-east corner. Ticket required.", + "ja": "1番 リムジンバス 新宿方面 → 南東口 改札 切符", + "sv": "Hållplats 1 flygbuss mot Shinjuku: spärren i sydöstra hörnet. Biljett krävs." + }, + "x": 15, + "y": 1, + "z": 0 + } + ], + "station": "narita-airport", + "ticketRequired": true, + "timeLimitSec": 300, + "to": "shinjuku", + "trains": [ + { + "cars": 1, + "destination": { + "en": "Shinjuku", + "ja": "新宿", + "romaji": "Shinjuku" + }, + "line": { + "en": "Airport Limousine", + "ja": "リムジンバス", + "romaji": "Limousine Bus" + }, + "lineId": "limousine-shinjuku", + "platform": "P", + "schedule": { + "dwellSec": 9, + "intervalSec": 32, + "offsetSec": 10 + }, + "terminus": "shinjuku", + "track": "1", + "vehicle": "bus" + }, + { + "cars": 1, + "destination": { + "en": "Yokohama", + "ja": "横浜", + "romaji": "Yokohama" + }, + "line": { + "en": "Airport Limousine", + "ja": "リムジンバス", + "romaji": "Limousine Bus" + }, + "lineId": "limousine-yokohama", + "platform": "p", + "schedule": { + "dwellSec": 8, + "intervalSec": 32, + "offsetSec": 20 + }, + "terminus": "yokohama", + "track": "2", + "vehicle": "bus" + }, + { + "cars": 1, + "destination": { + "en": "Tokyo", + "ja": "東京", + "romaji": "Tokyo" + }, + "line": { + "en": "Airport Bus", + "ja": "空港バス", + "romaji": "Kuko basu" + }, + "lineId": "airport-bus-tokyo", + "platform": "Q", + "schedule": { + "dwellSec": 8, + "intervalSec": 28, + "offsetSec": 4 + }, + "terminus": "tokyo", + "track": "3", + "vehicle": "bus" + } + ] +} \ No newline at end of file diff --git a/resources/data/levels/003b-harajuku.json b/resources/data/levels/003b-harajuku.json new file mode 100644 index 0000000..f326262 --- /dev/null +++ b/resources/data/levels/003b-harajuku.json @@ -0,0 +1,131 @@ +{ + "crowd": 1, + "destination": { + "en": "Shinjuku", + "ja": "新宿", + "romaji": "Shinjuku", + "sv": "Shinjuku" + }, + "difficulty": 2, + "fareYen": 160, + "grid": [ + "#################################", + "#S..#W..............#.....#...#.#", + "#.#.###.#########.#.#.###.#.#.#.#", + "#.#.....#.........#.#.#K#...#...#", + "#.#######.#.###.###.#.#.#######.#", + "#...#.....#.#...#...#.#...#...#.#", + "#.###.#####.#.###.###.#.###.#.#.#", + "#...#.#.....#T#...#...#.#...#.#.#", + "#.#.#.#.#######.###.###.#.###.#.#", + "#...#.#...#.....#...#.....#...#.#", + "###.#.###.#.#######.#.#####.###.#", + "#..i#...#...#.......#.....#.#...#", + "#.#.#.#.#####.#.#####.###.#.#.###", + "#.#.#...#...#.#.#...#...#.#.#...#", + "#.#.###.#.#.###.#.#.#.#.#.#.###.#", + "#.#...#.#.#...#.#.#...#.#...#..i#", + "#.#####.#.###.#.#.#####.#.###.#.#", + "#.....#...#.#...#.#...#.#.#...#.#", + "#G#.#.#####.#####.#.#.#.#.#.#####", + "#p#.#......i........#.........GP#", + "#################################" + ], + "id": "003b-harajuku", + "kind": "side", + "name": { + "en": "Harajuku", + "ja": "原宿駅", + "sv": "Harajuku" + }, + "order": 3, + "parent": "003-shibuya", + "party": 2, + "rewards": { + "items": [ + "mask_tengu" + ] + }, + "rideStops": 3, + "signs": [ + { + "text": { + "en": "Harajuku Station. Track 1 Yamanote Line for Shinjuku: south-east. Track 2 Yamanote Line for Shibuya: south-west. Same line - the wrong way round the loop takes half an hour.", + "ja": "原宿駅 1番線 山手線 新宿方面 → 南東 2番線 山手線 渋谷方面 → 南西", + "sv": "Harajuku station. Spår 1 Yamanote-linjen mot Shinjuku: sydost. Spår 2 Yamanote-linjen mot Shibuya: sydväst. Samma linje - fel varv runt ringen tar en halvtimme." + }, + "x": 3, + "y": 11, + "z": 0 + }, + { + "text": { + "en": "\u003c- Track 2 Yamanote Line for Shibuya Track 1 Yamanote Line for Shinjuku -\u003e", + "ja": "← 2番線 山手線 渋谷方面 1番線 山手線 新宿方面 →", + "sv": "\u003c- Spår 2 Yamanote-linjen mot Shibuya Spår 1 Yamanote-linjen mot Shinjuku -\u003e" + }, + "x": 11, + "y": 19, + "z": 0 + }, + { + "text": { + "en": "Track 1 Yamanote Line for Shinjuku: the gate in the south-east corner.", + "ja": "1番線 山手線 新宿方面 → 南東口 改札", + "sv": "Spår 1 Yamanote-linjen mot Shinjuku: spärren i sydöstra hörnet." + }, + "x": 31, + "y": 15, + "z": 0 + } + ], + "station": "harajuku", + "timeLimitSec": 240, + "to": "shinjuku", + "trains": [ + { + "cars": 4, + "destination": { + "en": "Shinjuku", + "ja": "新宿", + "romaji": "Shinjuku" + }, + "line": { + "en": "Yamanote Line", + "ja": "山手線", + "romaji": "Yamanote-sen" + }, + "lineId": "yamanote", + "platform": "P", + "schedule": { + "dwellSec": 8, + "intervalSec": 26, + "offsetSec": 8 + }, + "terminus": "shinjuku", + "track": "1" + }, + { + "cars": 4, + "destination": { + "en": "Shibuya", + "ja": "渋谷", + "romaji": "Shibuya" + }, + "line": { + "en": "Yamanote Line", + "ja": "山手線", + "romaji": "Yamanote-sen" + }, + "lineId": "yamanote", + "platform": "p", + "schedule": { + "dwellSec": 8, + "intervalSec": 26, + "offsetSec": 18 + }, + "terminus": "shibuya", + "track": "2" + } + ] +} \ No newline at end of file diff --git a/resources/data/levels/005-ueno.json b/resources/data/levels/005-ueno.json index acc279e..cb2b7ab 100644 --- a/resources/data/levels/005-ueno.json +++ b/resources/data/levels/005-ueno.json @@ -11,23 +11,23 @@ "fareYen": 200, "grid": [ "#################################", - "#S.\u003c..\u003c..#..\u003c..\u003c..\u003cK.\u003c..#..\u003c..###", - "#..\u003e..\u003e..#..\u003e..\u003e..\u003e..\u003e..#.i\u003e..###", - "#######\u003c\u003e#\u003c\u003e#\u003c\u003e####\u003c\u003e#\u003c\u003e####\u003c\u003e###", - "#..\u003c..\u003cT.#..\u003c..\u003c..\u003c..#..\u003c..\u003c..###", - "#.i\u003e..\u003e..#..\u003e..\u003e..\u003e..#..\u003e..\u003e..###", - "#\u003c\u003e#############\u003c\u003e#######\u003c\u003e#\u003c\u003e###", - "#..#..\u003c..\u003c..\u003c..\u003c..\u003c..\u003c..#..\u003c..###", - "#..#..\u003e..\u003e..\u003e..\u003e..\u003e..\u003e..#..\u003e..###", - "#\u003c\u003e####\u003c\u003e##########\u003c\u003e#\u003c\u003e#\u003c\u003e######", - "#..\u003c..\u003c..\u003c..#..\u003c..\u003c..#..#..\u003c..###", - "#..\u003e..\u003e..\u003e..#..\u003e..\u003e..#..#..\u003e..###", - "####\u003c\u003e#\u003c\u003e#\u003c\u003e#\u003c\u003e####\u003c\u003e#######\u003c\u003e###", - "#..\u003c..#..#..#..\u003c..#..\u003c..\u003c..\u003c..###", - "#G.\u003e..#..#..#..\u003e..#..\u003e..\u003e..\u003e..###", - "#\u003cG#######\u003c\u003e####\u003c\u003e###############", - "#..#..\u003c..\u003c.i#..\u003c..\u003c..\u003c..\u003c..G..W##", - "#p.#..\u003e..\u003e..#..\u003e..\u003e..\u003e..\u003e.G\u003e.P###", + "#S.<..<..#..<..<....>..#..>..>..>..>..#.i>..###", + "#######<>#<>#<>####<>#<>####<>###", + "#..<....>..#..>..>..>..#..>..>..###", + "#<>#############<>#######<>#<>###", + "#..#..<..<..<..<..<..<..#..<..###", + "#..#..>..>..>..>..>..>..#..>..###", + "#<>####<>##########<>#<>#<>######", + "#..<..<..<..#..<..<..#..#..<..###", + "#..>..>..>..#..>..>..#..#..>..###", + "####<>#<>#<>#<>####<>#######<>###", + "#..<..#..#..#..<..#..<..<..<..###", + "#G.>..#..#..#..>..#..>..>..>..###", + "#####<>###############", + "#..#..<..<.i#..<..<..<..<..G..W##", + "#p.#..>..>..#..>..>..>..>.G>.P###", "#################################", "#################################", "#################################" @@ -65,9 +65,9 @@ }, { "text": { - "en": "\u003c- Track 9 Keihin-Tohoku Line (Omiya) Track 3 Yamanote Line (Akihabara) -\u003e", + "en": "<- Track 9 Keihin-Tohoku Line (Omiya) Track 3 Yamanote Line (Akihabara) ->", "ja": "← 9番線 京浜東北線 大宮方面 3番線 山手線 秋葉原方面 →", - "sv": "\u003c- Spår 9 Keihin-Tohoku-linjen (Omiya) Spår 3 Yamanote-linjen (Akihabara) -\u003e" + "sv": "<- Spår 9 Keihin-Tohoku-linjen (Omiya) Spår 3 Yamanote-linjen (Akihabara) ->" }, "x": 11, "y": 16, @@ -135,5 +135,6 @@ "terminus": "omiya", "track": "9" } - ] -} \ No newline at end of file + ], + "overload": true +} diff --git a/resources/data/levels/008-tokyo-hemresa.json b/resources/data/levels/008-tokyo-hemresa.json index aee5a07..e9147e3 100644 --- a/resources/data/levels/008-tokyo-hemresa.json +++ b/resources/data/levels/008-tokyo-hemresa.json @@ -100,9 +100,9 @@ }, { "text": { - "en": "\u003c- Track 5 Yamanote Line for Shinagawa Track 4 Yamanote Line for Ueno -\u003e", + "en": "<- Track 5 Yamanote Line for Shinagawa Track 4 Yamanote Line for Ueno ->", "ja": "← 5番線 山手線 品川方面 4番線 山手線 上野方面 →", - "sv": "\u003c- Spår 5 Yamanote-linjen mot Shinagawa Spår 4 Yamanote-linjen mot Ueno -\u003e" + "sv": "<- Spår 5 Yamanote-linjen mot Shinagawa Spår 4 Yamanote-linjen mot Ueno ->" }, "x": 7, "y": 19, @@ -211,5 +211,6 @@ "terminus": "takao", "track": "1" } - ] -} \ No newline at end of file + ], + "overload": true +} diff --git a/resources/data/network.json b/resources/data/network.json index c6f0f53..efd5034 100644 --- a/resources/data/network.json +++ b/resources/data/network.json @@ -1004,6 +1004,47 @@ "yokohama", "ofuna" ] + }, + { + "id": "limousine-shinjuku", + "name": { + "ja": "リムジンバス", + "romaji": "Limousine Bus", + "en": "Airport Limousine (Shinjuku)" + }, + "stations": [ + "narita-airport", + "airport-terminal-2", + "shinjuku" + ], + "vehicle": "bus" + }, + { + "id": "limousine-yokohama", + "name": { + "ja": "リムジンバス", + "romaji": "Limousine Bus", + "en": "Airport Limousine (Yokohama)" + }, + "stations": [ + "narita-airport", + "airport-terminal-2", + "yokohama" + ], + "vehicle": "bus" + }, + { + "id": "airport-bus-tokyo", + "name": { + "ja": "空港バス", + "romaji": "Kuko basu", + "en": "Airport Bus (Tokyo)" + }, + "stations": [ + "narita-airport", + "tokyo" + ], + "vehicle": "bus" } ] } \ No newline at end of file diff --git a/resources/sound/bus-horn.wav b/resources/sound/bus-horn.wav new file mode 100644 index 0000000000000000000000000000000000000000..0163db6784c0f1f1a0fe5373c36d33dac77f5907 GIT binary patch literal 45908 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 IM6N<$f{%8sSO5S3 diff --git a/resources/text/jp-dictionary.json b/resources/text/jp-dictionary.json index 8897e38..8cbd3c6 100644 --- a/resources/text/jp-dictionary.json +++ b/resources/text/jp-dictionary.json @@ -51,7 +51,7 @@ }, "方面": { "kana": "ほうめん", - "romaji": "hōmen", + "romaji": "homen", "en": "for", "sv": "mot", "tier": 2 @@ -79,14 +79,14 @@ }, "特急": { "kana": "とっきゅう", - "romaji": "tokkyū", + "romaji": "tokkyu", "en": "Limited express", "sv": "Expresståg", "tier": 3 }, "空港": { "kana": "くうこう", - "romaji": "kūkō", + "romaji": "kuko", "en": "Airport", "sv": "Flygplats", "tier": 2 @@ -121,21 +121,21 @@ }, "終点": { "kana": "しゅうてん", - "romaji": "shūten", + "romaji": "shuten", "en": "Terminus", "sv": "Slutstation", "tier": 3 }, "自動券売機": { "kana": "じどうけんばいき", - "romaji": "jidō kenbaiki", + "romaji": "jido kenbaiki", "en": "Ticket machine", "sv": "Biljettautomat", "tier": 3 }, "チャージ": { "kana": "チャージ", - "romaji": "chāji", + "romaji": "chaji", "en": "Top up (IC card)", "sv": "Fyll på (kort)", "tier": 2 @@ -158,7 +158,7 @@ }, "東京": { "kana": "とうきょう", - "romaji": "Tōkyō", + "romaji": "Tokyo", "en": "Tokyo", "sv": "Tokyo", "tier": 1, @@ -196,7 +196,7 @@ }, "中央線": { "kana": "ちゅうおうせん", - "romaji": "Chūō-sen", + "romaji": "Chuo-sen", "en": "Chuo Line", "sv": "Chuo-linjen", "tier": 2 @@ -232,7 +232,7 @@ }, "南東": { "kana": "なんとう", - "romaji": "nantō", + "romaji": "nanto", "en": "south-east", "sv": "sydöst", "tier": 3 @@ -246,7 +246,7 @@ }, "南東口": { "kana": "なんとうぐち", - "romaji": "nantōguchi", + "romaji": "nantoguchi", "en": "South-east exit", "sv": "Sydöstra utgången", "tier": 3 @@ -281,14 +281,14 @@ }, "到着": { "kana": "とうちゃく", - "romaji": "tōchaku", + "romaji": "tochaku", "en": "Arrival", "sv": "Ankomst", "tier": 2 }, "注意": { "kana": "ちゅうい", - "romaji": "chūi", + "romaji": "chui", "en": "Caution", "sv": "Varning", "tier": 2 @@ -316,14 +316,14 @@ }, "エレベーター": { "kana": "エレベーター", - "romaji": "erebētā", + "romaji": "erebeta", "en": "Elevator", "sv": "Hiss", "tier": 2 }, "エスカレーター": { "kana": "エスカレーター", - "romaji": "esukarētā", + "romaji": "esukareta", "en": "Escalator", "sv": "Rulltrappa", "tier": 2 @@ -372,14 +372,14 @@ }, "普通": { "kana": "ふつう", - "romaji": "futsū", + "romaji": "futsu", "en": "Local", "sv": "Lokaltåg", "tier": 2 }, "急行": { "kana": "きゅうこう", - "romaji": "kyūkō", + "romaji": "kyuko", "en": "Express", "sv": "Expresståg", "tier": 2 @@ -534,7 +534,7 @@ }, "歌舞伎町": { "kana": "かぶきちょう", - "romaji": "Kabukichō", + "romaji": "Kabukicho", "en": "Kabukicho", "sv": "Kabukicho", "tier": 3, @@ -542,14 +542,14 @@ }, "東京駅": { "kana": "とうきょうえき", - "romaji": "Tōkyō-eki", + "romaji": "Tokyo-eki", "en": "Tokyo Station", "sv": "Tokyo station", "tier": 3 }, "東海道線": { "kana": "とうかいどうせん", - "romaji": "Tōkaidō-sen", + "romaji": "Tokaido-sen", "en": "Tokaido Line", "sv": "Tokaido-linjen", "tier": 3 @@ -598,14 +598,14 @@ }, "京浜東北線": { "kana": "けいひんとうほくせん", - "romaji": "Keihin-Tōhoku-sen", + "romaji": "Keihin-Tohoku-sen", "en": "Keihin-Tohoku Line", "sv": "Keihin-Tohoku-linjen", "tier": 3 }, "大宮": { "kana": "おおみや", - "romaji": "Ōmiya", + "romaji": "Omiya", "en": "Omiya", "sv": "Omiya", "tier": 3, @@ -613,14 +613,14 @@ }, "女性専用車": { "kana": "じょせいせんようしゃ", - "romaji": "josei sen'yō-sha", + "romaji": "josei sen'yo-sha", "en": "Women-only car", "sv": "Kvinnovagn", "tier": 2 }, "号車": { "kana": "ごうしゃ", - "romaji": "gōsha", + "romaji": "gosha", "en": "car no.", "sv": "vagn nr", "tier": 2 @@ -641,7 +641,7 @@ }, "通行": { "kana": "つうこう", - "romaji": "tsūkō", + "romaji": "tsuko", "en": "passage / keep", "sv": "gång / håll", "tier": 3 @@ -1175,5 +1175,26 @@ "en": "transfer", "sv": "byte", "tier": 2 + }, + "リムジンバス": { + "kana": "リムジンバス", + "romaji": "rimujin basu", + "en": "airport limousine bus", + "sv": "flygbuss", + "tier": 3 + }, + "番": { + "kana": "ばん", + "romaji": "ban", + "en": "number", + "sv": "nummer", + "tier": 2 + }, + "バスのりば": { + "kana": "バスのりば", + "romaji": "basu noriba", + "en": "bus stop", + "sv": "busshållplats", + "tier": 2 } } \ No newline at end of file diff --git a/tools/genart/main.go b/tools/genart/main.go index 6892186..95b7177 100644 --- a/tools/genart/main.go +++ b/tools/genart/main.go @@ -213,6 +213,32 @@ var tiles = []func(canvas){ c.rect(11, 5, 2, 2, green) c.rect(2, 10, 12, 3, metal) // disk }, + func(c canvas) { // buss (ritas på vägrutan bortom hållplatsen när bussen är inne) + c.rect(0, 0, 16, 16, wallDark) + c.rect(1, 2, 14, 11, color.RGBA{240, 200, 60, 255}) // gul kaross + c.rect(1, 2, 14, 1, metalDark) + c.rect(2, 4, 12, 4, screenC) // fönsterrad + c.rect(7, 4, 1, 4, metalDark) // fönsterspröjs + c.rect(1, 9, 14, 2, awningRed) // rand + c.rect(11, 8, 2, 5, metalDark) // dörr + c.rect(3, 13, 3, 2, boxDark) // hjul + c.rect(10, 13, 3, 2, boxDark) + }, + func(c canvas) { // väg (horisontell; roteras för vertikala): asfalt med mittlinje och kantsten + c.rect(0, 0, 16, 16, color.RGBA{70, 72, 80, 255}) + c.rect(0, 0, 16, 1, wallMid) + c.rect(0, 15, 16, 1, metal) // trottoarkant + for x := 0; x < 16; x += 6 { + c.rect(x, 7, 3, 1, color.RGBA{230, 220, 150, 255}) // streckad mittlinje + } + }, + func(c canvas) { // hållplatsskylt: stolpe med bussymbol (ritas över hållplatsrutan) + c.rect(7, 4, 2, 12, metalDark) + c.rect(3, 1, 10, 6, color.RGBA{240, 200, 60, 255}) + c.rect(4, 2, 8, 3, boxDark) + c.rect(5, 3, 2, 1, white) + c.rect(9, 3, 2, 1, white) + }, } // player ritar en figur som tittar åt facing (0 ner, 1 upp, 2 vänster, 3 höger) diff --git a/tools/gensound/main.go b/tools/gensound/main.go index 5579e93..9ead6f9 100644 --- a/tools/gensound/main.go +++ b/tools/gensound/main.go @@ -70,6 +70,7 @@ var ( staffTone = []note{{a4, 0.18}, {0, 0.08}, {a4, 0.18}, {0, 0.12}, {e5, 0.3}} gateBeep = []note{{a6, 0.09}} gateDeny = []note{{e4, 0.12}, {0, 0.04}, {e4, 0.12}, {0, 0.04}, {e4, 0.14}} + busHorn = []note{{a4, 0.22}, {f4, 0.3}} ) // render syntetiserar toner med sinus + överton, attack/release-envelope. @@ -264,6 +265,7 @@ func main() { "lose": render(loseSting, 0.01, 0.08, 0.2), "staff": square(staffTone), "plane": noiseSweep(3.0, 0.03, 0.4, func(t float64) float64 { return math.Sin(math.Pi * t / 3.0) }), + "bus-horn": square(busHorn), "chatter": chatter(6), "music-map": mapMusic(), } diff --git a/tools/shots/main.go b/tools/shots/main.go index a6fd27e..ff4b9e4 100644 --- a/tools/shots/main.go +++ b/tools/shots/main.go @@ -124,6 +124,18 @@ func buildShots(levelsDir string) error { if err != nil { return err } + l1b, err := level.LoadFile(filepath.Join(levelsDir, "001b-flygbussen.json")) + if err != nil { + return err + } + toMachine1b, err := moves(l1b, l1b.SpawnPoint(), l1b.Find(level.TicketMachine)[0]) + if err != nil { + return err + } + toStop1b, err := moves(l1b, l1b.Find(level.TicketMachine)[0], l1b.CorrectPlatform()) + if err != nil { + return err + } l7, err := level.LoadFile(filepath.Join(levelsDir, "007-akihabara.json")) if err != nil { return err @@ -146,7 +158,7 @@ func buildShots(levelsDir string) error { // delvisa översättningen syns; hjälpen lär sedan in nästa ord. known := []string{"-know", "改札,番線,方面", "-seed", "7"} shots = []shot{ - {"", "wait 10; shot $OUT/map.png; press l; wait 5; press down; press down; press down; wait 5; shot $OUT/words.png; press l; wait 3; press t; wait 5; press down; wait 3; shot $OUT/skills.png; press t; wait 3; press i; wait 5; shot $OUT/items.png; quit", + {"", "wait 5; press enter; wait 10; shot $OUT/map.png; press l; wait 5; press down; press down; press down; wait 5; shot $OUT/words.png; press l; wait 3; press t; wait 5; press down; wait 3; shot $OUT/skills.png; press t; wait 3; press i; wait 5; shot $OUT/items.png; quit", []string{"-know", "改札,出口,トイレ", "-points", "3", "-save", "$DEMO"}}, {"001-flygplatsen", toKiosk + "; press b; wait 5; press down; wait 3; shot $OUT/shop.png; quit", []string{"-seed", "7", "-save", "$DEMO"}}, {"001-flygplatsen", "move right 4; move down 2; wait 5; shot $OUT/level-001.png; quit", nil}, @@ -162,13 +174,14 @@ func buildShots(levelsDir string) error { {"006-ikebukuro", "move right 2; wait 5; shot $OUT/nav-list.png; quit", []string{"-seed", "7", "-mode", "list"}}, {"006-ikebukuro", toMachine6 + "; wait 5; shot $OUT/terminal.png; " + "quit", []string{"-seed", "7", "-mode", "signs", "-know", "山手線,番線,方面,新宿,池袋,埼京線"}}, {"006-ikebukuro", toTrap6 + "; waittrain; wait 5; press enter; wait 100; pick calm; press enter; wait 60; shot $OUT/ride-real.png; waitover; wait 5; shot $OUT/too-far.png; quit", []string{"-seed", "7", "-mode", "signs"}}, - {"", "wait 10; press n; wait 5; shot $OUT/map-signs.png; quit", []string{"-save", "$DEMO"}}, + {"", "wait 5; press enter; wait 10; press n; wait 5; shot $OUT/map-signs.png; quit", []string{"-save", "$DEMO"}}, {"007-akihabara", toPlatform7 + "; waittrain; wait 5; press enter; wait 100; pick calm; press enter; waitstop; press enter; wait 40; shot $OUT/transfer.png; quit", []string{"-seed", "7", "-mode", "list", "-know", "上野,番線,方面,乗り換え"}}, {"", "wait 150; shot $OUT/ending.png; press enter; wait 5; shot $OUT/ending-summary.png; press enter; wait 250; shot $OUT/credits.png; quit", []string{"-ending", "-save", "$DEMO"}}, {"007-akihabara", toKiosk7 + "; urge Ville; press enter; wait 5; press right; wait 3; shot $OUT/payer.png; quit", []string{"-seed", "7"}}, {"", "wait 10; shot $OUT/endless.png; quit", []string{"-endless", "-seed", "7", "-mode", "list", "-save", "$DEMO"}}, - {"", "wait 10; press s; wait 5; press down; wait 3; shot $OUT/settings.png; quit", []string{"-save", "$DEMO"}}, + {"001b-flygbussen", toMachine1b + "; press enter; pick 新宿; press enter; wait 5; " + toStop1b + "; waittrain; wait 10; shot $OUT/bus.png; quit", []string{"-seed", "7", "-know", "新宿,方面"}}, + {"", "wait 5; press enter; wait 10; press s; wait 5; press down; wait 3; shot $OUT/settings.png; quit", []string{"-save", "$DEMO"}}, {"", "wait 10; shot $OUT/lang.png; press enter; wait 30; shot $OUT/title.png; press down; press enter; wait 5; press right; wait 5; shot $OUT/tutorial.png; quit", []string{"-save", "$FRESH"}}, {"001-flygplatsen", "wait 40; shot $OUT/tips.png; " + toSign + "; wait 5; shot $OUT/tips-sign.png; press esc; wait 5; shot $OUT/pause.png; quit", []string{"-seed", "7", "-save", "$FRESH"}}, {"005-ueno", toPlatform5 + "; " + toGateBack + "; wait 5; push " + pushOut + " 30; wait 3; shot $OUT/no-exit.png; press enter; wait 150; shot $OUT/staff.png; quit", []string{"-seed", "7"}},