From 910ba56a06dd5351f806afc38f51a3b92ceb638d Mon Sep 17 00:00:00 2001 From: mix <167040362+mixiate@users.noreply.github.com> Date: Wed, 2 Apr 2025 18:29:22 +0100 Subject: [PATCH] Add new Wooden Roller Coaster no platform station sprites --- distribution/changelog.txt | 1 + resources/g2/sprites.json | 30 +++++++++ ...n_no_platform_block_brake_closed_nw_se.png | Bin 0 -> 1400 bytes ...n_no_platform_block_brake_closed_sw_ne.png | Bin 0 -> 1437 bytes ...ion_no_platform_block_brake_open_nw_se.png | Bin 0 -> 1398 bytes ...ion_no_platform_block_brake_open_sw_ne.png | Bin 0 -> 1424 bytes .../wooden/station_no_platform_nw_se.png | Bin 0 -> 1442 bytes .../wooden/station_no_platform_sw_ne.png | Bin 0 -> 1480 bytes src/openrct2/SpriteIds.h | 6 ++ .../track/coaster/WoodenRollerCoaster.cpp | 59 ++++++++++++------ 10 files changed, 76 insertions(+), 20 deletions(-) create mode 100644 resources/g2/track/wooden/station_no_platform_block_brake_closed_nw_se.png create mode 100644 resources/g2/track/wooden/station_no_platform_block_brake_closed_sw_ne.png create mode 100644 resources/g2/track/wooden/station_no_platform_block_brake_open_nw_se.png create mode 100644 resources/g2/track/wooden/station_no_platform_block_brake_open_sw_ne.png create mode 100644 resources/g2/track/wooden/station_no_platform_nw_se.png create mode 100644 resources/g2/track/wooden/station_no_platform_sw_ne.png diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 599b19a575..225d4aea1d 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -3,6 +3,7 @@ - Feature: [#22646] New scenario files now contain a minimap image, shown in the scenario selection window. - Feature: [#23774] Climates can now be customised using objects. - Feature: [#23876] New park save files now contain a preview image, shown in the load/save window. +- Improved: [#24078] Handrails on Wooden Roller Coaster station sprites with no platforms have been removed. - Change: [#23932] The land rights window now checks “Land Owned” by default. - Change: [#23936] The ‘guests prefer less/more intense rides’ settings have been turned into a dropdown. - Change: [#24059] The ‘select other ride’ button is now available in the track manager. diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 5f009b90a2..2631c7ea90 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -9726,6 +9726,36 @@ "x": -30, "y": -8 }, + { + "path": "track/wooden/station_no_platform_sw_ne.png", + "x": -34, + "y": -8 + }, + { + "path": "track/wooden/station_no_platform_nw_se.png", + "x": -30, + "y": -8 + }, + { + "path": "track/wooden/station_no_platform_block_brake_open_sw_ne.png", + "x": -34, + "y": -8 + }, + { + "path": "track/wooden/station_no_platform_block_brake_open_nw_se.png", + "x": -30, + "y": -8 + }, + { + "path": "track/wooden/station_no_platform_block_brake_closed_sw_ne.png", + "x": -34, + "y": -8 + }, + { + "path": "track/wooden/station_no_platform_block_brake_closed_nw_se.png", + "x": -30, + "y": -8 + }, { "path": "track/wooden/classic_wooden_preview_track.png", "x": 1, diff --git a/resources/g2/track/wooden/station_no_platform_block_brake_closed_nw_se.png b/resources/g2/track/wooden/station_no_platform_block_brake_closed_nw_se.png new file mode 100644 index 0000000000000000000000000000000000000000..ee3e26d20a5db24462ad5908d8ca401f77d352d4 GIT binary patch literal 1400 zcmWkue{52B5WoI>ZJFYNky;jUqQwm=ZE!)0iuJXlmD#6#-Kf$^?bET1>1(75%V9%C2(e(N;jatuw%Z8>*uip@-rudCTn18~{SdbzKF ziC0qfO*;U-COE4wxUFqT=FWu0SA=N+me1AW0QPX$%J1VzIbfoXv~&Od2tb@ma}LT*R1B-DWS(89kJkHmpU4t z6BE{S!aJLZD0!e2fl&c=67$hm*v5|gIN2x_VYe zE*~L?37sx(Hb3!rP&mw!as&#lgy74yLM1Iyo28UpZgArkzseCJy-{s2q2tSV5~V;+ zid2+LL*ulSuzIwfARUaEBMC<=?Mu#v*$Uv0z|{fY1VTF|^Kg{`p(d=LV`^K{;LX@0 zXoL`PC>hVF6xq~rABBeuWXwXvU51q3k_o$JV}6v1usJfJNG+A=6u6NjZ4~7;8Ur?4 z*yD)>gUQLsOeTYXM}yFXNquZQ#3Q33T@tsZG~To^l(A1{1L^trEMke+Y#EoUwhBt&Vo0BQNiEQ}uZmc6?BuBJv3 zwm!V`A;TXw)YdfDPnj!Kn_6b-yTx@C|GeJSQF8y} z)YM?h26%#({53Gud}?~G4P!Ozs~BIiMYZek`MPx1_;qY4e`KwPY&+1pJ;yTy{R!9p zoz5MiZ0mR_wfWFs(elburP0apspGpp9XxW6r@#1e6kRx8x5hZN>Y3Q|^CuPKU@ ztD;xS4wUX-7%V(hJ3NS2aB+&wtq~9vSX_MrWq!-TjaL8(q=sD2OdSG}(TSRq-_a z;=XOL!`J;=N3i>sTz1rQt>^PMoVFTNx`3|}&m~4*@;7#sFT7K%>wNY18tNKrFKui8 F>VJa?SSJ7g literal 0 HcmV?d00001 diff --git a/resources/g2/track/wooden/station_no_platform_block_brake_closed_sw_ne.png b/resources/g2/track/wooden/station_no_platform_block_brake_closed_sw_ne.png new file mode 100644 index 0000000000000000000000000000000000000000..51fd52f6f065eafa3638188d8006658b166c4315 GIT binary patch literal 1437 zcmWkue{hR;7=QXR=?@KpT!m&@mRaoL!~_|y3QM~n^yOj~787JHDlFx##>7PBwv6|t z)pWwriHZ{^*VUF)Ojuaf#R)RPMWvcrXkF7v2|B)eJ@wQZ zz_9YN1r?N@NAW~@1|5-3VbOG{5r&&bHg%*@Qn z%F52prqO70Iz1;RhgDKiA`tM!VhqQnDwRT~(;AINi^b-0xqZG+B$7xb1$@9nAd}`P z6ikhVL+JS?v&dqVIb2GQR~HDHqcOXfN0W>4v{IHq&LLG?n@-Sb6nic5fJ+v^1}o5q2<>0XB;BQBsM9NQ8VP05Sk2jizNV3~V;Z<=RD}R+-GN zR)-CSUYiYhy=(!q1Y_}K9FdYM(emU5fr=FAtYV{6TIa#-0i`>l<_Ot*Nr?#ONmW9H zR;)G2Og5#>t#twaR!* zm5@zHcxJiCp%Qy^c+jW{TXZp}G2ykOf=(3kF_=OwPc9IuF)@MTW|hiH5H7RXYqJI2 z?r12KNF)%jwZOH|1P+GS!^Q(VbyRGMDeQ5=lORJ$S9~a(LU}v}L&#!DI3+lbuM&xL zQkh9f71O)Sb$*8{;tM9D7$~JQ9nLT)Ii!YX)niT*?y;){$S9v_fV9*(l2NBhatpQS%Ps$P)az{}( z!DWJwLzD0s3XG${1$woVG-&K~29L8Y=yS#+K9r0KrBdVu6aj>Q>P3M|n%G7?WeBYn z3f5Rm7YI;>SfRi*8kJtJ74VHhz6BFF#R9LCACmFn@)D%v96&kL3PD;`#S$Fm{d;Ev zbqodN3rd%l`I}c<+HRbhAG-ispCiLR2WEONvcPq`KF~e=dVN7I&r-B+UHidL8!G2E zR6f6yeBr*;mK_$M!7<@Pqt?ihb$bF6CL@QfFiDzAnLL;EMh`p2aT3O8NY zpVQxw>8LuFFC5p|HE(q7?5@{}>zlH!vA!1WSaz!8{)E+0lZasNEb82LH1YHree;;0 zJYlB0G?VymM)$N5#}3$2qwaTa`y%Vc38MJsh`yZ-x0vV0WxsT;RNOB9q3>k#wT}mk z)%;^G&K-Juyk(`Os2%Sc!#_LY+5Ow6a{5P3opzBcdD^p@{q2@sduoP>IHWKw8Ga}} zSk~0FYSPj0-kaI!?W^lqlR9gwC5}D6`G4*=*W{KyIX`3kKyhl-W#JTaZB72-hKK7| z{ryb(^o=#`bG&*++g}^v>$f)ctsPmEe{$FdI`aPAzvujV>+$+mGi&b{kM%yOADZ&! zM^E2(id*o7d4#?0I&N xC~UE|C7NEeJn!#bFT#rHqiiE~uMG|Hm4!>|*}JL_zkQD73zsZ7Gk?vV{{h>Vh+O~x literal 0 HcmV?d00001 diff --git a/resources/g2/track/wooden/station_no_platform_block_brake_open_nw_se.png b/resources/g2/track/wooden/station_no_platform_block_brake_open_nw_se.png new file mode 100644 index 0000000000000000000000000000000000000000..3339985da9e095460121294c63190e25910f78b2 GIT binary patch literal 1398 zcmWkue^8Tk7=K`c0RvYtS;x9oqAXhYVoQgve1*Xc8t@vg*A7<=??q?syeYG0&Kx*# z>asV4bLP|;1F@UuKsx6+Wyw^unKP+IO`8F-PU)5|qx^B-UZ49s&+~bnd+vGuc%FN9 zF0E7MWaVc8Ku&d4MLpw}FgiPf#n>6wuN-Dvim_f1#vM2L6ZA;Z8-Em;MqCMxCld&i zq5@KaQF6IaMcA}VGqcy;G2H8o2E)l14q6q*Nb)RN5v`Xv&A7)#`klIAk0lat#v{RG z@-D&w)Br{R8o&cE3^2|C#DGvBvk`gRC>kNeV30xw4n8GB2|y$ug8V~I_mw`$FYJ#Ju1QwH|gI4ysDZk$u4twJ9Fk)s2bs#l!aausQMOvTO5S7yjjVEdH zPdh@7d@&SBh;uX;$Vaep^Duz!~SClQQ8t&;V+hZ-sW`D}5--}Q;yXnu|e^chNRHet7vQtts`xbrC zHI(h%+gI=67Ej)3Zl5#vOkw&KUru@x*4^?QWItT@mb0s`jm4T#{JyH)xQYGszEtAK zMt+)x4;S0`8wxA;&wl%6vhiHeXRV{>zv5T#>He_qDEH*8>XMqw^_^{(diH2W-nejW z$MGBOeE4;YD!DXKzbTPi{c_P@&G|LgTDCQu?%SB1cWbb=VrqVJ?1*P-WqW1bidpaZ zi?SqbR~K%{**n0$GHZFu$N4u3xvez|@rt8g3eL=buK1Z(<9}N69?0F zm$JC4mM=C<^v?_&EFY|#_ljZdS@ZrKt&gYr4qvo%TAEfg5Njhp*{)9HjvT~F|dD_u{X%tfpRKL~3FMWT_XU$45d LuHtxk%S}4z zEw*>{x(34IYsuF^JfAa;me+_ESCJ& z=(%qqDd%nm4j-gePqF#i*cQi;8x&L8UiojFiqy z8>|e$cu8--7Kk#@q&p${l9^DdKQ6~XL4nc^Y8PmEnIWJwMYPs9&Lk~diVf!Y1nMAl z3fiD@nsl7S7@~<7OC>#YkDpD4J-N8QKN&{pgj`|J>MWSSjuTFb;%K_f>5On(JP=4m zqp9xhTrP(|#emi?!$NW*rlJI$Jw9ka)VN7Qfnxko;Dg; zGwHQS#at22*BOe4iDW*7gUu{sDY@IG<{i2=7asOfu{L{W*xeIv%k(7j`FjWlumG?C zJU|$r6Cf=EB!MK5i$&oe5_?E3Fc|o7h?+no0a1V$CE_p?BvI6X1TPYU@M7==FcV-Q zWe!^DcIte*DHNn*F;6lX&Sa8E>ZP&+<|@N^B^gxPqFP2Y@;Pfb?~L{Pg~4bF_2je) zFsNlFz1)hc9TeuWn|Ze*=yS)yzGNbt5fdn%GMLRM3P=QmK0erCa}0!-%aW=77engx1myLg`i-4T`dJOdar&c9YaCQ z?3s(^cK)z);fa0KBW6Dh6m@^|U+&IZH79-&8-K;p*(WQG zYcEwTe^NWPzSDTOQuf(u^5$sQ4%IGEC5R^u-n*Xt{@9hNJKg0QTGOkPuKl$&4c=-& zT(WQeLor)&NXSMWD$f5{>l@f^T-X{r)7tUu)`N-l4>oR^d%nx@@Z?ithp@29(a_#? zKqs&1x-t4d%hZPY_{GbsgmsS&am2%RjSX+d2Fs=| zJ;R+Os?Pn^aPxyjmU1q2q*D7t{bR@O+VawuqwY^@FCJa>M^o=^`{PsF z!#g)Wz?W*`q0C5MS^E#;H@o^AP5*t7qmcbY%n;qDsu@mDAN1LZf#!=pA& z>3`mc9xZFx+e@@w^Jbo-;`eV6M_UK&-1hP-Y^u0^Dw|r_IH`B-?b{nSuNpD&4AyjR b!XVy-&v?+XRr%|Se^@i8cJ`rJE4KU(GRT0O literal 0 HcmV?d00001 diff --git a/resources/g2/track/wooden/station_no_platform_nw_se.png b/resources/g2/track/wooden/station_no_platform_nw_se.png new file mode 100644 index 0000000000000000000000000000000000000000..b179c74b9505619c4cc5d99e9cf8f9d029c5798e GIT binary patch literal 1442 zcmWkteQZ*96uteRuOBL%bVbDkwJLRVL-!V$Qim;VX!o>F`%I`IE7s@4N#d(RgOhD& zX+s@zPm2*VRH~>raiS#|Do(Wg(OS0ASq*h)yOgAKI>m_EX={GN71XNm9Eon|JIp?41K+_GUMK@GEP09bwmfZu%d>e_OEELgK@U3GdOBO@a-GczkI zD?2-z!{OxQkownVzFc@g-bv# z1Cl6Et9d$|&|s8UtTMZUbbB>{pgtV24#!;zF{Y9gFa+PE60)?&smFb0MbNGadzn~| zB@uItCqqgBXvAQU1506U1`ArbQ8zCY7NCR#r8H=QMJQAPKmuqmjNx)k0s$)$xnwdQ zN%m;9QIqMB(}{vX0nRIt^ChHErV%L_vC4$gtW57vm_39oK)J#ie@rWs3M9%B86_rY zshUwR7SiI>IQ@)2VhY7oQbHc!+KYe4Iv*X z=Fw7tK`FMXWNum!&{GjJ9kuJ@9&<8iACGuYJjCTmMPd~$)yfqHin7wQ!(i}QtwEoKIF_$al^OeF9N-Uve zGCe_BG-)xT*J|r=dt;$UYFG{$0@G7mlSatu#15m}W1#{LZI8zk4LTChP%8BZ$pKUV zdH@!{1JDBy#{i{+R3M`sd0Z$KB}KsCV3UJi2{9571&HAzD~?!~$A_PLH z_uk(03qZz>`Z@|$jt*`H$i!-^D%REXoIa#J>{>jf>ea%W@Cw@-ru5shhUvng$?rGG zwpH2+XM8hXgq_>*SqD{=3@`Us2im6n^zX7IYZ(5N{$rhc0-5cvpMG_udnPyk+Rj}a zEo1LDFUU8xo;-DRX4hiq!}80k)*imsQhKOmM>|{ESACGPx}|$lJLzkfb*TIPe{-Ha zk)MDAW7~)~)$63Zt^=zs;qQnlz8ozmn0xNbpEolnhpGk}>l>eU)jg<{jMdVse$2f~ z<~bMfpCx9-mS`FT^@=MRUXC(k`Px4*df$xv8R^s=e1 zu*PQZSk&;z?Pc>P_a1FKL67b`C95Rw$F-f!U$jkJ(6tr5c=1}g`9!F()$&p+>8;Qw zIhfB3@ zmzIv)8645gc641n^|*gY-RZI4uShy71|IG#Zq09+cjub%ujcP~?~aUr^h@>9ErT1) z^X|7?U!hcGp|mU&w3iQmK9p04-8$+=bZ`vGynR(w>AfIBF3A<#Fg@7 z^_h=LHQMbB*ZaDUAI8kvkJp87bvj4Ufs}LPq6A@Eu475wlxM!T2U1&IS9PIsL(Bhq Cnu5vz literal 0 HcmV?d00001 diff --git a/resources/g2/track/wooden/station_no_platform_sw_ne.png b/resources/g2/track/wooden/station_no_platform_sw_ne.png new file mode 100644 index 0000000000000000000000000000000000000000..bf5f6edccda1d185cfb9b89d9fc94c582b868ced GIT binary patch literal 1480 zcmWkte{2(V6o1{XV+<`);-N*$EO5b&b;+R>I=qbz3zqH14$_ed1xu*2(F4oY%`yvC zX;{TWtCrYF#j0g%T!kr}E8~=^6>C=5(6SUQIAY0$Yp{VWZ1S}x@4ZhxFE5|>$LGC6 z^>ym|WU|D?eB7ANu9v90<$}>NSFq^JTUiDKJ*oRs)>mN@jKx z=J+DRx`tYSSC<0pe*@rduC@OLKywAa*mi(bM*;BNo&6gt0rH`K!=|;l0f9h}mzS5H zpI=Z=P*_-4R8)jv*sNKzii?YJsZ>gma+Qi=7>&W8Gn-kv-R^dKgTYWFGMr3ivRP6N zloDu7iB2annIsmg+~HKZJ+wcl5A)_&+?g8nsbrW|S;A^?n^wXZ2(Ov!wX1lyHWp-) zQAaxIo6JPiV$jRLLIKBMeiq}M!h~OxjfqiOjdgiopL zrRk{An6TN#yIpR~)7nS_r!;$1_JGC}W_&SyC~1@^#B#M%$;dPY zg^pFR4%*?>dqZp}Zi^&c@w7iR$qOkEF@PIEVg-W36kc2%By>E*#euFA(X5w~3!fhT6*fYF)G9Eyq5ur#y$h4%wNU1Cg<1`pN7E93S^PzTv;bxR z4j=#!1sKHu<$_irs~H7+D4C!MU`cRM5K=>u2E+hjapWYCk47OAiaAiy2mc$d0F4T? zG-fj3HjB)~sr^1fIBbu{1L<@e<#vgUKw3*E4ySz*eTZO_N-m=dWG&%IcWgS8LWv9^ z0)+%q%Y`~hVq!?EQN!6xK9?;VaK$5mbTWdnDTPLZLV%KhP|gd7*lxv)deCcy7B-5I zXLOVa21$?G8jGoPI>ux&SgkB6w=3jsiVUboULzl-WofMx=_SZUAPyE@*Vj~US{MCnv*vVn#oWDf4(y${XZiHVV8bt^f`tQPMe}bx z{!h8+cGbWAves4YXDX+Mz2))J3ZyvNo}B$AKb74xv*p(}&tadxFk0PA1<3NpI?AUa zBgE{M>t)w0Pkq$!XJgC09r&T=j>Pb_8z24oZTc0mQ@-Ttk2k-$yi?nUw;tckOnlR5 zB*r^kH*3l73b!uUbJE-1khr+VJoq}(*H`i7`dj9fvWZpP+w!eN-#xPJ*hn(q8yFB> z3tUxRsqI=ZcJAnh519^~S-p7tyt2d9wt-y`tzLF&-lc^r9>NM|-W|Ao;&67yE2(t< zsngxN@Otb@|F5O*+=yF=`3}6b=dG@?EzK8~b&kdE9{Ki%&jyS_>f8KseobB*aa{25 zkEPble9yrp-W#F0WiD*n%U_=@8-jz+pVM}E@4Q&re@eXb!3$0A?f+n~x8>=>hPsOF zT~8itZn@Re_{rIY7v>!7yR@tPi#a`FtmLU}*x<#lSMw)QA1ql~|NYcZTi=2g&;M1^ z?pi%ndF9d7b30DI)U8hcuy*3wBV!Zpn=8}zPWQ~~9=iV3#J(r~{^*7G+c#$V@w}SB zMHhY>f2XUWZSVf6+B@a9BX=sBS8g858+&b|ZD)GrbgLCTU5|hMZ1=IIiJ7I-L|*d& z)p58j)5KLts+a$n9PsbCYz>YzWE|Iz4e;%VhmPsew%*D1j>-qlq^7miGtmKC r^~F|OW1DC(I#jjn-ZRj_jUd7A{l$M2gf}?uP$|Y=8YfA7-2+ literal 0 HcmV?d00001 diff --git a/src/openrct2/SpriteIds.h b/src/openrct2/SpriteIds.h index f885dbe96f..c5a860d5db 100644 --- a/src/openrct2/SpriteIds.h +++ b/src/openrct2/SpriteIds.h @@ -1386,6 +1386,12 @@ enum : ImageIndex SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_OPEN_NW_SE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_SW_NE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_NW_SE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_SW_NE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_NW_SE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_OPEN_SW_NE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_OPEN_NW_SE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_CLOSED_SW_NE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_CLOSED_NW_SE, SPR_RIDE_DESIGN_PREVIEW_CLASSIC_WOODEN_ROLLER_COASTER_TRACK, SPR_RIDE_DESIGN_PREVIEW_CLASSIC_WOODEN_ROLLER_COASTER_SUPPORTS, diff --git a/src/openrct2/paint/track/coaster/WoodenRollerCoaster.cpp b/src/openrct2/paint/track/coaster/WoodenRollerCoaster.cpp index d614093712..fa57a46bec 100644 --- a/src/openrct2/paint/track/coaster/WoodenRollerCoaster.cpp +++ b/src/openrct2/paint/track/coaster/WoodenRollerCoaster.cpp @@ -851,11 +851,23 @@ static constexpr uint32_t kBlockBrakesImageIds[4][3] = { { SPR_WOODEN_RC_BLOCK_BRAKES_NW_SE_OPEN, SPR_WOODEN_RC_BLOCK_BRAKES_NW_SE_CLOSED, SPR_WOODEN_RC_BLOCK_BRAKES_RAILS_NW_SE }, }; -static constexpr uint32_t kStationBlockBrakesImageIds[4][2] = { - { SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_OPEN_SW_NE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_SW_NE }, - { SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_OPEN_NW_SE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_NW_SE }, - { SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_OPEN_SW_NE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_SW_NE }, - { SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_OPEN_NW_SE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_NW_SE }, +static constexpr ImageIndex kStationBlockBrakesImageIds[2][kNumOrthogonalDirections][2] = { + { + { SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_OPEN_SW_NE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_CLOSED_SW_NE }, + { SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_OPEN_NW_SE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_CLOSED_NW_SE }, + { SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_OPEN_SW_NE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_CLOSED_SW_NE }, + { SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_OPEN_NW_SE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_BLOCK_BRAKE_CLOSED_NW_SE }, + }, + { + { SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_OPEN_SW_NE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_SW_NE }, + { SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_OPEN_NW_SE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_NW_SE }, + { SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_OPEN_SW_NE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_SW_NE }, + { SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_OPEN_NW_SE, SPR_G2_WOODEN_RC_STATION_BLOCK_BRAKE_CLOSED_NW_SE }, + }, }; static constexpr const uint32_t kWoodenRCDiagBrakeImages[kNumOrthogonalDirections] = { @@ -2036,30 +2048,37 @@ static void WoodenRCTrackStation( PaintSession& session, const Ride& ride, [[maybe_unused]] uint8_t trackSequence, uint8_t direction, int32_t height, const TrackElement& trackElement, SupportType supportType) { - static constexpr uint32_t stationImageIds[4][2] = { - { SPR_WOODEN_RC_STATION_SW_NE, SPR_WOODEN_RC_STATION_RAILS_SW_NE }, - { SPR_WOODEN_RC_STATION_NW_SE, SPR_WOODEN_RC_STATION_RAILS_NW_SE }, - { SPR_WOODEN_RC_STATION_SW_NE, SPR_WOODEN_RC_STATION_RAILS_SW_NE }, - { SPR_WOODEN_RC_STATION_NW_SE, SPR_WOODEN_RC_STATION_RAILS_NW_SE }, + static constexpr ImageIndex stationImageIds[2][kNumOrthogonalDirections] = { + { + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_SW_NE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_NW_SE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_SW_NE, + SPR_G2_WOODEN_RC_STATION_NO_PLATFORM_NW_SE, + }, + { + SPR_WOODEN_RC_STATION_SW_NE, + SPR_WOODEN_RC_STATION_NW_SE, + SPR_WOODEN_RC_STATION_SW_NE, + SPR_WOODEN_RC_STATION_NW_SE, + }, }; - - auto trackType = trackElement.GetTrackType(); - if (trackType == TrackElemType::EndStation) + const bool drewStation = TrackPaintUtilDrawStation2( + session, ride, direction, height, trackElement, StationBaseType::none, 0, 9, 11); + const ImageId colours = isClassic ? session.TrackColours : session.SupportColours; + if (trackElement.GetTrackType() == TrackElemType::EndStation) { - const auto brakeImg = trackElement.IsBrakeClosed() ? kStationBlockBrakesImageIds[direction][1] - : kStationBlockBrakesImageIds[direction][0]; - WoodenRCTrackPaint( - session, direction, brakeImg, SPR_G2_EMPTY, { 0, 2, height }, { { 0, 2, height }, { 32, 27, 2 } }); + const ImageIndex imageIndex = kStationBlockBrakesImageIds[drewStation][direction][trackElement.IsBrakeClosed()]; + PaintAddImageAsParentRotated( + session, direction, colours.WithIndex(imageIndex), { 0, 2, height }, { { 0, 2, height }, { 32, 27, 2 } }); } else { - WoodenRCTrackPaint( - session, direction, stationImageIds[direction][0], stationImageIds[direction][1], { 0, 2, height }, + PaintAddImageAsParentRotated( + session, direction, colours.WithIndex(stationImageIds[drewStation][direction]), { 0, 2, height }, { { 0, 2, height }, { 32, 27, 2 } }); } WoodenASupportsPaintSetupRotated( session, supportType.wooden, WoodenSupportSubType::NeSw, direction, height, session.SupportColours); - TrackPaintUtilDrawStation2(session, ride, direction, height, trackElement, StationBaseType::none, 0, 9, 11); TrackPaintUtilDrawStationTunnel(session, direction, height); PaintUtilSetSegmentSupportHeight(session, kSegmentsAll, 0xFFFF, 0); PaintUtilSetGeneralSupportHeight(session, height + kDefaultGeneralSupportHeight);