From f94c46cce2a9b961a32bed5629f452451e1bee76 Mon Sep 17 00:00:00 2001 From: hut Date: Wed, 15 May 2024 04:58:55 +0200 Subject: [PATCH] implement cruise control --- assets/sprites/dashboard_cruise_control.png | Bin 0 -> 31366 bytes src/actor.rs | 4 + src/camera.rs | 2 +- src/svg/dashboard_cruise_control.svg | 133 ++++++++++++++++++++ src/var.rs | 4 +- 5 files changed, 141 insertions(+), 2 deletions(-) create mode 100644 assets/sprites/dashboard_cruise_control.png create mode 100644 src/svg/dashboard_cruise_control.svg diff --git a/assets/sprites/dashboard_cruise_control.png b/assets/sprites/dashboard_cruise_control.png new file mode 100644 index 0000000000000000000000000000000000000000..e7efa025ce2e4bdde13817938b3fae899d7e6013 GIT binary patch literal 31366 zcmc$F^;cBi_xGIuhVDifq#LAr2uW!{O1itGV+aYQq@?4GN|%U$)X)MVppT7H5WzX;FRy3W*K`hOZf5&w<3@zFI-k;b9N|< z1lIZ^U)VP-N8KUc9Bu_KMsyhJxi!s2xMv1?c0AXetSqK@+O6?XU;ZlYG$3NHqvrmw zX-01Q8H~iLX4&%|CY(O>V`(pJIwWXm+ua3^r@Fr9|L4o%<=!g+t2jy{PG1&(+IPYREE<%97;LVG};bY>j;97zFPU3V&Eai5LiN z?xg7w3l=<;wc4p6Kd=Z``_Pw_ax_sa=oqSmAnA#!?+MOHvRuBIJMOO!hQ6Gd87r+u9XDA~^dV3o3dBDfvfZWGwLJgawcoNNGN2@ZY}9qAsobs_i}}C@>?^ z&N}n_HfXX{ap~P&afMO<1S+A3V#R3F>&R;NDhjPXmQ1LJZIA(0*zZCI zh_Ufw+Z1T!Xs)(;R=384^S<)sPd#_{>|T7C?T%@umGh7zwv2;=BE}%lkloi<0(Llz zipJJct@n#=nEVeXy*0$K(sqeV1VMR1PJ$jH7t`V*hMJfc20Cc17M!cD`qlNtvt^p- zC=lcy5d{hIMZ*X#erST?vPVqxN-%k3G>MUM;k;$ya@HlodUG>6^vT^}vUplaGv?j( zQQqiwiW_$`CSmayb9J)Dlqb&=X@#^}1%dCx{XUNy2$eUvo)D{yDZmgU)2;-7`3#e} zPfO;6mg72(IOEGO+rGfx^u0JNbyUkXiPzE1Jb@Gqo!5Cud!9e|Ooo9sLw^#YckWy$f zlV`YCc+2QthX{N+3EJEFTyA&YL_Mb8&$-Yh?W?w1zEji9zh=NRf+SXfRx-H9oaUa0 zI4m$W7#1SK09{^MPfZh{`GABY5yo{*o4%NrGZ8FMzm7vwLUZ-NBGNL>(z89rMLGnU%7bKxJi*3(Q^8GD`#3Auf-tPM`D2BGO|y7%XZKNjy#II z217V&#o_9TtE2=%-D(%98IN<~ikm|hut**m?R!@eo-6#1$&Wy>X2crWb7ek4co_}J zZjnwS5A!U|YyVff)!k1#hMsGh*pD!w9z{>Tn%MWOOL2&Z^Y^ftcv$uN_14}Tp%(=% z0l|Zq0*neDueNFAkm5*n<#j@W7InpSQmY}-E9__dbG#U0IEVpqCYoA=!u;e|>J~!> zuQKk`KYkms0*M3w>kjq@Ix^AY_u{o8i=TuWl9x*#Bxmlf!RxH_B*OL)EgB-O+}P!M z5l#Q!pXIUwdO1;-U1#ZzisqJCU=R!evq7U=PV5M1;f_cvaDrkvT{$Z=01Ad;6V&gQ zi*2$jA^x{~bo=Vqu@F8S-_bCWcP>PmirVif)EkNlEbfXBA8oVlX80V!cKjiNStP_*$tLSLHriA{0LaUv=Ve#T{*K)DD3{Pgo_I0n`>2h#)ep z1OXuHEqnp^raU3AX@G{l^s7FjS2`Ffg5t`z-*+EinCazd?pOwnnQD|9BT6nxH_NZ5 z8(D0RscA}O24l!H^McRH^o*_ABVEuL%KzgwO9{2{m{&FzqpDMKRhAV2r$;l%C0pio zOOM0hlAsEr9bNbV76TrSpJMDeSs(xg(ty7C7i$saC(WbLZu0DR#~0gqOb>X7Zs>Hn zsQVF~kHNof(8vfm${8T%tQ8!H=oFf6oS-kyqWb6yF&B#&NBTfLb=))*JITAjS2)Hd zs1IvJ>D0`utdI1q%8%Lc!P)D&B6dSK2+ox)u!Yq63H@RBPAmcUsP)t+$nG`31#pf= z>ob7?*1L_1h>Rr6iHpeXj0462-~CEB^ar5earEo^!jGzP`W?P}SC9Q!dQR%M4$Y5A z5PwJ%A)Jr?b41Z&x()(2s7Z|Toy5IKlS_;AWN@_w@nG>B$f53O=kF}3x`+^vfE*xF z+-|NK+1jX5`kduanp{1s_?Qj~jDpRJ-a*Ehfz;5-YnhB28(?Lg$s06-qEopS!C-G?(Ww44$+FmBRs{R3{oT8s=bOimpdgfI= zqd@EQyUq(hQC9|o{3|q&f}jSXl#fl#`eZ}|c;x<1{pORpw>)GZjrU^EE579i9O+_8 zy!;(a0No(nSc)KufxO5)nzD~9Hft}1bskA$4M$dE4UN-_{j>cxqIgfsOFgk*p-3wi8vyZ4^NS%;RR=&=OorsV!pxAfhhabmvmW;x%Z2 zH$w}LZV{j?>MkRANqYrz6);_$3Tim6{b&41vzCnLH(5H=BEApXU@y^cZZDFwSk6*^8-taKVC4hvN0V{tFhWMdTKl|s9Q1P&=iMP^qo>#ASjVzC7zKMA(?tggt z;v+Q}%k;TU%+maoZ(e~M-rtmCQLWa3_unX`t7@c>-Bln!hOfJcCeoPDN&t}-sdn@_ zx6}JKPd{brCBLBs3TV9t1Gm=1C)!a8XR;&A9Q8w?b@V?XX7Y~0IyZZEZ|9Oad)(A}o$zo3Fp z_YQ2avwf|+h5HF8yNtb%B|U9Ay;KOXw*Ks`flv&vbQt<}G@N}x!Y<#T2!dBJWN%`v zjQ%P7fd%BHc+7n?p61zpvFRbr^Ajtc`k0p<BL9NIO+uR#1n(cbyrQ_zRp_GrlB8srM4qU-*~;*!=`)G+zJptC;%CG zhEa5Mgm}d6 zNu(b`6!ovyC9IrNNODKk;YcZhaZ$fz_b$~@?Qxa5#h~X#WYN^LuLNZV$8lsHS0yar zOj}YA4w%k|7yRakT=wmLw}j2D=fmg+fMlUl7D>o0P_%4PVkADoYv(oSyd8K+I{pKZ z0W!cD4LAhsv*apYyC5fpGMEwF3zl zodXUY!D$k0ZVZ4ZB?4e~6a3*ZvJajLb+iB&jeJv6L+TVk8yD|?_T^E3zR0}WY`rWX z4*{)wl`jJ!5(CQ`15`&bfwV}Jg>6f7cEozez_Ih?)@9GO^T0tYb|2r_>v zLES-40MX6aF&2r{+FBv@lGH8l&ZXR$9uA8wivL@XXW)eyJpPUjtbx+>_~x<~fzh@Up63Q%>VnR_Sk= zKFKH1!Fqy&I*^j<C)L^ z&*!(F%C9xwLtqQeM5nh&C-a0wrF@nnaA29bo!|mop8wq%sE4^T0?Hba#K@Dc_23jw z?MGG}VJyE`Kh3D5JaOSIO136nKDIf2u9cAVNR$*MVfN>Hcl^g0Q2ETb*vo94f^_zb zl3xxyLQe`_vgL{lH8l16x!f(jdqjJwHQu!eYxz95;%}t?{ofXph9Ee$)2R*-hf|t^ zLyKIozW{&B2Qkw#ywkBKit4w^9QX3giPWgEs!-0IbSvuWV+;=NIqJ zc>t)KP3KJ9k0iA9)zSV=R{X^%9?bvOWvE3vl8=-uk(-?Wa9}oqjMJc_2#=h;t!5L$ ztr0dVk^8NcZe?jf#x5f?Sy6LXoF9C?bgce0>4=u5-Zr%zbi`T0rTfb@yNARkw4l6D z$%p|biTwSH>nvE^jZXMCFa|21>!ey%#mRJA4QZkz>!1P?e9IZef;x{7?0W$S z0?Wh@fg`ihEzer40JOzfhn%$xGNpHL$M>{Jydu>qTal35pTx7c1^l<)iNH&^=YTr_ zWq^)RR>~$u)>fZ@#dy^#Nr|OB&|;#T{R97YKT(&yH|sR>2=wb8TG5lGy}}(JX~?f6 zC7H{xJFbqUAo(B@C51N%f?8k;pfrhcrT_3y zJt?Mp{ec@<%f-OEi3RVi^CFzQ_GM~CfqqysP<*S@eooi)lDflD{ z)d;JYN|l=f7^p zo1u)Jwr(E!1Ic3qN$0#bISDt3lTOgzcRo-NYn2N{SJC~)p6Cc`UH!pLpSw22I+c1W zFA^(MM4P)%i26Z7@-uoVM6!Z~Ht3`Mx8g;uNA=4_`8W_D=} z)w0y%zFzt9a)N&W%tZg&Y*yo$hLuik7bJqZQ*}xPzt{j0j|!>a)=g#S1wqwzvY!5E zszKR3SnrtCtC+(mSpC0{jBLT7-3faJz0#FwG58cCVuj=x%w-f+^Qgk#x*E1J8m$t@ z_T&!v!+_syB+TWt4`%aX=6^0;XW!4TOBeLnBRpsy{)#yeNb_JR#+wpg+Yw3nQ~n42 zqaONpboI&XJ7xSrjEdPURfYFRPabBV@0qgu6>G++w)Uq-@1F#>ZZ?eOcwT*WJ^r{k zxo1^qz!veh#pPs6ed^bJdb59Vc#m~Nn4ZXb)r+UXU0rgy=Vy!>KD*kQ0lnMkD*4=V zrvSgJ%i0u&(Carl^&v*e2FoETA{F{K^5j(qmf{E@D258m8brRq1%t=OAs%IKJc2Jn zlwbZ4P8E!-q+mVN_&8G9fq+X!{m}C&J;m+`9wLvbFh{7GQ}xjazkmwXZVCce3f+97 z;$**q&Sce&E50232)nSs0(@?l4{6W^?MG{Tm^y_A&xrsSBT!sgF+G*j*!ES^eu;GVC(0xoaSh0(&HtD3)kAIxNy5Uy?7~QkP4twDEwOOzSUZ%; zYj2p)Gttw$)ocEP%Ly*$`=3{*nR+8*JPp}zJSxx~ar*b>1Jlo4r+iDKg;tld&wr0j z{2L2++G_S*g}mxxQQ{F#vMy)Iw>O(U}QB&vD5}sm|QQLN=C~#7aFC z{j$VYjPRnwyDvGyvB(a`HAMoP`pqEn8FZyl~z zACx4DT#wi^3Rf4RgXkK4aC5?D^(P#;rZ+XK2T$NB~_Uh1a1-o%`#p zR;%ZhQ2G0`0#Q8|{<7ay@%7aK`f8qUCvTJZjWB?p4o=aAd7p>HTE4R@^gbE69$~+riV!^b zP2I?^*c2{PHmUU=A-QeLRU3?J{}#R>N;rmRg1UR>Lx$JpPyXOGaB&<%;V%7maicCWw`$ z@JhK~sr8s(H(dx#U7T+@Bswg0@pm4CsT8#wG_Ag^vK+g5+1tftdy6b4g2`C2MD9dI zp5mc;bIkdk+Sadu5xN@SNVQIbsEkj_n&F5ZupJehr`7ln;gw<(02bf?BqWgvHME?g z3hoQkC_`ZKf=8bc0TkB>W&^;tzGNcY<4-B z)$lw$sdky%yIjr0b91+GHKpduduBP0>pxpk{GAVUeuMQA0sG%~(!G)*>KtzoD=HlF z#lDbUXOh65lx`L4lr-?{^L4_B$wy^Rf!ImHVFWPrqB7Rc>h*^>4h2%4(?_^}{2yY) z!k;Am>Uo@ROJb8q?5LxHeXMb(R(im?M_3@8$>ZoeQlinuT)cL(cgW9a$bcZ52urYT zARxW=1kV0QFDQ_Wqek0NLy(ZU;mZq7TU^oRr0n2M8YUu9n$CpCvO`H0m!JUh#np5&H!K>9N_aX^6gS;D&Y&i6?04vMy2&I&iIKr zu#&?IeCLLU^?*nK682(}ND6?2Y4w>jGN!!cy5;T9yVmNzt#ijhoiF7aG;itP+dqPx z8V8RvC*&I!ZLd0IGcK_83y}h7PYNJ32$@)k6b&A{IuHK}szXKs!wKoZnq49);X>Yc zfe7AAHR{twqa}pu6Y+XIAraA_@1yuol0aGj8H{o?eVm#|T;_J2AlNXNOmqf9op}hL zMj7e6a$;q-vm^4G`O=|gz9gT^+W1fRBXdq$b==%rbtk^E=_hC6cu-x*t5eE} z7>yIpR{2%11ENs72|@rnHykWLD*0D> z^!~9f2&rnqf7i@Q0LBrRAPP0WhOvf#(qikR!G=soC$N6bJCYaBWdxFmn}PZqzgvZG^hCYCqYJZERHVS3XEfolj3{ANyr?tm za@s8$v&u@Zb^IX6q$xfV`2Zt>?#3W>8@uP<_=*Q%>u9*YxJeKe!XuY^hPm6E*l>UQ z-$~}L!O^ZDzE~c^XQs8{@*}bAf>}$7Sdqv|_TGGn4z4!t)E_s!GpEb61ARQ<0#}7w zA-!FCT(yG{=``tkgz(Vt;X}6B0Kr@NsiXZY0oT_OCQz1QMvN1Se)9SyD7`qf$h%VO z=dehbhv;a+Y_=+^#_PlQ%LjCd##zA!RrZrx>2mzs4M~lQ>lsfT475NQKpF(qGO)mM zm;Rm`)Zjk_M$jj5b^R@^GPYK)Ty{zN|7{Pte_cq7p2O;|_3r4G{f)7Hl|Kyj_?dyYEvg*Q2k+Iuw#&C?3?{9(l0kSi1QM4IUgnE7Kc@hVsciZ8|9~SLk zSsKAOZ2khqbHOmcGdTw0fz3^4{Z*nJ{HU*#hj{C7+nY>7;qF9oD zHTHL+y2$NWmZSlp#{8Z*n-Iy5yKce&vK2uE=CO&l9!OuMBa_Zq+lzZ9kU~H$ew#GZ&*X4-BFgU185xLcrswt`eEY z*OKNSvP09p?Wy!GyzsJFX&<`x7c<%SD`G4q9=4*n!RvqDwaQGV#=Ffw@lcXW5@oQR z6XRm&%G?~q(DaT?AQ8ocOv;aSv)GZG5W~5YIMT%(EEzAzCYa2&Z|bVPte~4&A5ZgD zN0LMzrH%o9+q}VLAueuxlZ0pe8}VD0He8bF`n?d*zOMCP&48a*TT_2Q?48$GV>4IH zNvll$M{k@$EpOv$w)G4NMSf|$u+QOlVU#MMcllZGf>0Ew6(m`4cSpP_pQJY++e;`C zz*Y*`>s`(?hrRocllrkNrn9JYSdmTJmK^fe#Ww_#js-p-jHfPcC0vpun&&fyyb6Bi zS)s^Cg7@9;bnG)y^NS10)s+Cehy#E@01*IulYuB%=|cN#Ovw=$k!q@ktTYpZ2Eo?4 zjt@U&P{ib;*5&5hRAd+P%-^o>XAOo-9F*lPlh6Os3TBJ=IWW7<^U-tc#?a)|$`q(* zk{NsbD23<&KL0zJx*%p=DUKqh!C%-4YzvqR54P(E=@j-$oqUS+$^HfA-SfAB5|P(t z@KbuCw%7_!o-<}x|1m4-d6T(e{iVQmKIoO?a}0yp^6O6AXFvJWMWjp8NMiZk_bd$H zcJ$wVT5eW}MB-uT|Jx$%nsGq$!`>(EjV=!@{la6UjKDU;ZHZ9Q37UpmN#nIj6+22_ z(Zz#dlc30nN+>a>07~O^>DqzJZsuTgQ?}!I0bd{8w?_&MIHvyBMqjaWyRzov>eeNU zM`0pN9BE@sq2KG+uLTmX>-zG#dh&XZRaa*-a~q}~TbvbJuiQo=E~Q&xMP@bMg~7ns zuTlAR%UU7v@Kx7;M=M7SZ^Fe7)07^8#e(%F8-hbfwoeC!o)$lzG+I&D#IM+9Y{yDW zdH+@%VLKyHawDyZ3-cvb9#A(zcun5uW52(0B*i`H8|zX0_}Eqj`HCCE?cjTg#Q&;o zV@rU2LZ@aUTIlOp;}<4RN3tCU&Y*~Cmf|9uhyY-*@GD`us&!>!Txs-ovk5l zzO8`lNwXWB;O6XX879rw0GL%Z3ku@fuN+cTq@N~KX6BN3BZ$HRUa*^|5T-{mizJ@% zWsumBkPPwa{jB)xL*zVDG~hF(Y4T0lsORZt7)L25zq$6yu>9_s;TABRhfm#_K!w)* zcu?UgtF&vpD=V?fS;t6eL*|;t1!rxsG1F_YghP$fdAlo9E>&#radTthI zgF<191!(EluSDo|WKWP-VpJ&Jmq&YqOwnWAUe8OGHC`~%>CU$q^c3p)&d85VCvWUW zP2NIM0Hydw;~6hD^*YcBRo$Z*vpdw6TmCT`aHFtNiyi9)_A@oniaOb~V|U6}e#8p* z`&n|Qyg_+sLmV&c-X0dR--WJ(A%v#jq%BbHn$WBi0f_+OALt#GnQ|v=RYqu<@`%}<;x8X zbik-;OnI(Z*OeKJsU<7?W0J}0cDGU`XKk%=7Uxb@kP6dJcEr=iqBy#56S*IO;ltx+ zlBHOjLx}pQQ*JNbf3Yb!51O?7Enc>!|6jn=7|Y{Aqd9td@5wRS@UNrQN$@C6qg!35 zp5O~FZVvph_3a4SD1ORm!6;iBle1`)I6u||_{Mp1^z0=4~gf6kWp~ zOc%d88<&=zNRBOYR&o@|yje2_&B;`C_B@1>{GZ)_e-eIi&iR9z)r!OkJ?le+gOtFs zdP@hvmuQ!Y?5Jv99ZTpb-MUi<@@mt-6U!oojnHFX#lF5m06mfJY2>;}B6h*aKZbup zo*aC4{rG(y9G&=U*IGw`=UBfSk%`6HY{h6r$bt4i#xM=s5l$qhKVQ!o`=`1-e2uZX z?{QbFX68PadRER{LYjD;l&4kN^ox*h`gkhlrL<3;BXNuE!2TEJ99dvY*<<;Rt2Oee z4t#8Feungb?()@lRLq#S3WgOeJ@_d`@@dHnk=rnN;-L@eiazooeiW7M1wit)!hi3L zOnVURQEAOvw3+YX#z)3HwqqhM%GrW-AjNIcxL|e$R6g>HzilCGW2@dz{c+u*%*CP+ z_EwkBJL2L$$$zeq4?+!qFDC)e5UyR)L|U|+C#C3PGkouFwx8J;mvY}Fayzn?s*whg zJKP%ht>^9jqhDYc4g8NIIE*cV$$#aY1sZ6@yxwcw2oQQNZ2MkB!8mdmOC?oWf7V|j z_8DCNcihS}ou4cx#ZVv*kwpo8Xe}#l84>R{+nYz*DtwnO6X?+dOpWStS92bWvyqH6 z_#W{z9Cv0S>s}7Kj&q-|i%j9jA{-z|0r@;^OK&z-eNi~4*-PDqgg{0bI&oL%Eqh(` zGiENLKzrbM00%2}RX>N*N|jMy58lX7!(IV|8@8 zIlm=G!Z|L^+>gLXLCb_z}#tzAt~*xPISG9rL%f-fh{bkx!eV*A}= zFj>lNus=5U@WXf57Lzv13{%9Xb(`j{=)?#VX?x7J4UWU<()TkQ`{QzeqjkgctGZzT z*}L=9e_8LAHImKny@tnF=0Xl-l<&{JL+zwthLOn4kT3nEs|n4iS&?y$IAbJ*AA>%P zT6V}NO@6?J$+XG3T#shK;#HNuMCB9v`|*Fx1l@Jar!=G&gRRC9{{Nn9O^Hj zj?>K7tVa0CR6R=e{+y`b<4I&kgFwV#sxqlcmAFoJ>

TL`G+&=Ld?OOPS&j$g^Hg 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 literal 0 HcmV?d00001 diff --git a/src/actor.rs b/src/actor.rs index 0319ce9..ab71434 100644 --- a/src/actor.rs +++ b/src/actor.rs @@ -368,6 +368,10 @@ pub fn handle_input( } } } + else if keyboard_input.just_pressed(settings.key_cruise_control) { + ew_sfx.send(audio::PlaySfxEvent(audio::Sfx::Switch)); + settings.cruise_control_active ^= true; + } } pub fn handle_vehicle_enter_exit( diff --git a/src/camera.rs b/src/camera.rs index 510a35a..8ffa49d 100644 --- a/src/camera.rs +++ b/src/camera.rs @@ -405,7 +405,7 @@ pub fn apply_input_to_player( if let Ok((player_transform, mut engine, mut angularvelocity, mut v, mut torque, bike)) = q_playercam.get_single_mut() { // Handle key input if focused { - if key_input.pressed(settings.key_forward) { + if key_input.pressed(settings.key_forward) || settings.cruise_control_active { axis_input.z += 1.2; } if key_input.pressed(settings.key_back) { diff --git a/src/svg/dashboard_cruise_control.svg b/src/svg/dashboard_cruise_control.svg new file mode 100644 index 0000000..edce78e --- /dev/null +++ b/src/svg/dashboard_cruise_control.svg @@ -0,0 +1,133 @@ + + + + diff --git a/src/var.rs b/src/var.rs index 286a9e7..0ba3d11 100644 --- a/src/var.rs +++ b/src/var.rs @@ -117,6 +117,7 @@ pub struct Settings { pub key_vehicle: KeyCode, pub key_camera: KeyCode, pub key_flashlight: KeyCode, + pub key_cruise_control: KeyCode, pub key_rotate: KeyCode, pub key_rotation_stabilizer: KeyCode, pub key_mouseup: KeyCode, @@ -216,7 +217,7 @@ impl Default for Settings { is_zooming: false, third_person: true, rotation_stabilizer_active: true, - cruise_control_active: true, + cruise_control_active: false, shadows_sun: true, shadows_pointlights: false, shadowmap_resolution: 2048, @@ -244,6 +245,7 @@ impl Default for Settings { key_vehicle: KeyCode::KeyQ, key_camera: KeyCode::KeyC, key_flashlight: KeyCode::KeyF, + key_cruise_control: KeyCode::KeyT, key_rotate: KeyCode::KeyR, key_rotation_stabilizer: KeyCode::KeyY, key_mouseup: KeyCode::KeyI,