From ffc7eaf97eb0158ed62915df6701a88a4a001004 Mon Sep 17 00:00:00 2001 From: Aaron van Geffen Date: Fri, 29 Aug 2025 11:27:44 +0200 Subject: [PATCH] Add Go Karts variant to the progress window (#25057) * Add Go Karts variant to the progress window * Improve supports * Amend changelog --- distribution/changelog.txt | 1 + resources/g2/loader/loader_gokarts_supports.png | Bin 0 -> 2716 bytes resources/g2/loader/loader_gokarts_track.png | Bin 0 -> 3027 bytes resources/g2/loader/loader_gokarts_vehicles.png | Bin 0 -> 3706 bytes resources/g2/sprites.json | 11 +++++++++++ src/openrct2-ui/windows/ProgressWindow.cpp | 7 ++++++- src/openrct2/SpriteIds.h | 3 +++ 7 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 resources/g2/loader/loader_gokarts_supports.png create mode 100644 resources/g2/loader/loader_gokarts_track.png create mode 100644 resources/g2/loader/loader_gokarts_vehicles.png diff --git a/distribution/changelog.txt b/distribution/changelog.txt index 5daba9bd3c..45760dcd97 100644 --- a/distribution/changelog.txt +++ b/distribution/changelog.txt @@ -7,6 +7,7 @@ - Improved: [#24921] The command line sprite build command now prints out the images table entry for the compiled sprite file. - Improved: [#24953] Opening the Scenario Editor, Track Designer or Track Designs Manager now display the progress bar. - Improved: [#25027] Land style dropdown now has tooltips with the name of the land types. +- Improved: [#25057] The progress window now has a Go Karts variant. - Change: [#23351] Diagonal sloped Go-Kart track can no longer be built without cheats if the karts do not have sprites for them. - Change: [#24606] Increase Misc Entity limit from 1600 to 3200. - Change: [#24974] Raise the Go-Karts maximum support height to allow 2 large sloped turns to be built on flat ground. diff --git a/resources/g2/loader/loader_gokarts_supports.png b/resources/g2/loader/loader_gokarts_supports.png new file mode 100644 index 0000000000000000000000000000000000000000..1fa2c814a052f84cfd02da4373b584e0a98fd156 GIT binary patch literal 2716 zcmbVN4{%cV9sea!v56@=<3d-qg2WA1M&1jU5I{srGGY#+@2-0aDEXtCpLdZUhO-ApI7vCS&pY@{8naccMWBPO}Jv-{KE z{T}c8`@PTa^ZozhC+(Zn)s+ud0syKvwzYHsPzFWt*wPC48_?YJ0Z;+jH+8m_cE5bE z>gwvmVnn4<>h&5N@1iJjbaXTr49DY%bozWQS11<62vEv_PE*y@Rb#Vp+#bZ|mj^?- zXxx}gQJJiNaw?({Fbwi4Qp55ZI02j=ro<;kRjHsM6DM=yzI-k+Q%I}Xz$gH2B?#yl zQIe7JGbf@o#SELyBXrS7-wx1px()yx07eFbWHP;Mc7V^1$mJ(=x^atT!t1>j4%4X= zTU=A8WFb0^+{jmx0)tnK2jo;pH5${5CH0YvF_E)yBy2=oC)W!!xTK3zkv^R-Yz!yJ zMAnevl!KGF3^oJ|nP9s(e#jk-R%u2%Im*^S38v=qdq|DPghHoI1S#!R2yFqw^Ud znJ4Za8;{0w>1=UQ35*&BrDuALoPbRb@+f0IeKKSjk9j9jq5MR;SiD9n0WbhS!7>0K z2EaG~Qw%`EsZ-G&ijGC-+=Pw~NHG{wf`l66bb!_anq<*_F&)v-2^*d9(YXjHC0+tF zDqzqtY&gs77K{bd(FmSQj%Ks5d_GGwd#aQHmM+3ECirAd9w>Chitgl0FmpRG zNlz5`H9*2)s1atDl4H}0Jr+&CYm1C|ld-XEI+o9+>EfhBqoEUk&H+Cdp4=qFqlcd)uCA@oI1Et@OoV?hYUg7Zg;&~Tu(YJNP|==MNknU5(yzf zNDbLt*r3o()y*@s5ESmTI$T!L&Mh%wJ>-B(!Gp%$^`hUgKx?PwA_ZfH3}OzXp&l)H zH48N13pmGsvu{?p2}g)NqMxw4D2Q!Xz&d(K7fJP!UqZd``5px@x?1gmj{Dlu-@l-O za<%S)Zp;PbzG$j*$Uz_-1Vs)waiVn>G_$VcjYFn#5}1p0c9LY@e6HH(P3DT4>ZRP( zS`4?^OHO?E3rC0+%ta`8rMwBzW}&FLQ`8_sQJDx8pdu*Tg=$HY)jV`x=o*gy zUe{Z#CRu~nEJYi{A|ZiE*9g}%V~xUQwAmzV?m;CYe2qvVCK~3?w~+WiDYx_IP5+U5W>3>M~T^L20U2e=tY_Py+{SO6&K=YAOFW&V8`FAI0zkQ)^=i%@&D2WRf5nL=> zWrQ8xUru;YUETWDUI5A)H@0l(9K1MvSiAoiy6ne$=!kav&NsJT6_#rOqw&pOeY#zK z_(w1Pv^8{xdpz}vrE=uT_3P8Wk(s;mi!Z#(ekAsaL|h?9uGZdIme?N}c_G;O=%L47 z?D*w9FFMeDfV24Wd&e$pdr*Qk?FfGMP`Tfhs@k=qdtjfjdP$Xys6KP9>TfFo%a&A4 zm%TAG^7~7wwM|=u@1ACG^NYh%A6~wB=ZeMc_Km#2vUv}D(dYQ%1pGPo3HHc@Ailb7R%?62qP4!(+kj(~CL_wV{zE zgDZv)1RZc?ylDQ~)J`DV@ttem2EYFLQ`o+2`GHTCzZ7g@{#m+?x&ExK5_LWMz#h)9 zFI>yDKR?OnexIy7zU|;Yc73o1JowL(p!{Gf+`L?6VkL4W>b+hQQ&kvMG@?k4Pw#tVIK*1}`pk2c;^W27T{l<0 s>NOw#`5%`Tk8XSK@};Ad3Yxk4T3?!#>*ki19_xPcU;DrL1^@s6 literal 0 HcmV?d00001 diff --git a/resources/g2/loader/loader_gokarts_track.png b/resources/g2/loader/loader_gokarts_track.png new file mode 100644 index 0000000000000000000000000000000000000000..c1d0d7d25e18e67b82c2d70281a2ee6fbb423143 GIT binary patch literal 3027 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 TlLLHzpg~6J%#{5vFR1trK0=~h literal 0 HcmV?d00001 diff --git a/resources/g2/sprites.json b/resources/g2/sprites.json index 5bb9197e33..d69b3c6fb4 100644 --- a/resources/g2/sprites.json +++ b/resources/g2/sprites.json @@ -519,6 +519,17 @@ { "path": "loader/loader_wooden_vehicle.png" }, + { + "path": "loader/loader_gokarts_supports.png", + "y": 5 + }, + { + "path": "loader/loader_gokarts_track.png", + "y": 9 + }, + { + "path": "loader/loader_gokarts_vehicles.png" + }, { "path": "palette_map/palette_map_dark_olive_dark.png", "palette": "keep", diff --git a/src/openrct2-ui/windows/ProgressWindow.cpp b/src/openrct2-ui/windows/ProgressWindow.cpp index 7aecdda972..05f1c51568 100644 --- a/src/openrct2-ui/windows/ProgressWindow.cpp +++ b/src/openrct2-ui/windows/ProgressWindow.cpp @@ -44,7 +44,7 @@ namespace OpenRCT2::Ui::Windows ImageId vehicle; }; - static std::array kVehicleStyles = { { + static std::array kVehicleStyles = { { { ImageId{SPR_G2_LOADER_HYBRID_SUPPORTS, COLOUR_LIGHT_ORANGE, COLOUR_DARK_BROWN }, ImageId{SPR_G2_LOADER_HYBRID_TRACK, COLOUR_LIGHT_ORANGE, COLOUR_LIGHT_ORANGE }, @@ -60,6 +60,11 @@ namespace OpenRCT2::Ui::Windows ImageId{SPR_G2_LOADER_WOODEN_TRACK, COLOUR_BORDEAUX_RED, COLOUR_BLACK }, ImageId{SPR_G2_LOADER_WOODEN_VEHICLE, COLOUR_BRIGHT_RED, COLOUR_BRIGHT_RED, COLOUR_SATURATED_BROWN} }, + { + ImageId{SPR_G2_LOADER_GO_KARTS_SUPPORTS, COLOUR_DARK_BROWN, COLOUR_DARK_BROWN }, + ImageId{SPR_G2_LOADER_GO_KARTS_TRACK, COLOUR_BLACK, COLOUR_BLACK }, + ImageId{SPR_G2_LOADER_GO_KARTS_VEHICLES } + }, } }; static uint8_t nextStyle = 0; diff --git a/src/openrct2/SpriteIds.h b/src/openrct2/SpriteIds.h index 14180d2485..48a2c17f99 100644 --- a/src/openrct2/SpriteIds.h +++ b/src/openrct2/SpriteIds.h @@ -1014,6 +1014,9 @@ enum : ImageIndex SPR_G2_LOADER_WOODEN_SUPPORTS, SPR_G2_LOADER_WOODEN_TRACK, SPR_G2_LOADER_WOODEN_VEHICLE, + SPR_G2_LOADER_GO_KARTS_SUPPORTS, + SPR_G2_LOADER_GO_KARTS_TRACK, + SPR_G2_LOADER_GO_KARTS_VEHICLES, // G2 Palette maps