Close #19870: Make new colours compatible with UI themes#21991
Conversation
bfd88ea to
0f3f53b
Compare
|
does this allow the colors to be used for ride names? |
No, that’s a different set of colours. |
|
Nice refactor, and good to have the extra colours exposed through the themes API. Things appear to be working properly as well. I wonder about the serialisation aspect of the implementation, though. Like before, colours are serialised to integer numbers, just longer ones. For example: {
"entries": {
"WC_CHEATS": {
"colours": [
257,
19
]
},
"WC_CLEAR_SCENERY": {
"colours": [
280,
24,
24
]
},I'm wondering whether it would be better to take this opportunity to separate flags from colours as well, e.g.: {
"entries": {
"WC_CHEATS": {
"colours": [
1,
19
],
"flags": [
1,
0
]
},
"WC_CLEAR_SCENERY": {
"colours": [
24,
24,
24
],
"flags": [
1,
0,
0
]
},It would be even better if everything used (string) constants, but I think that's overkill for a config that few people modify by hand. I think extracting the flags out would be a nice middle ground, though. |
|
Stuff left to do:
|
ea97f71 to
499080a
Compare
This comment was marked as outdated.
This comment was marked as outdated.
|
I have split off the plugin stuff from this PR and instead emulated old behaviour. This will be revisited at a later date. |
AaronVanGeffen
left a comment
There was a problem hiding this comment.
Testing found no abnormalities. I like the improved JSON format as well, with colours now being stored as strings, and transparency being a boolean. Makes these theme config files way more readable. Nice work!
- Feature: [#622] Add option to align the top toolbar buttons horizontally centred (off by default). - Feature: [#20263] Ability to increase the size of the map in the (0, 0) direction. - Feature: [#21714] [Plugin] Costume assignment is now tailored to each staff type. - Feature: [#21853] Enlarged UI mode. - Feature: [#21893, #22065] On launch, the game now indicates what system is being initialised. - Feature: [#21913] [Plugin] Allow precise and safe control of peep animations. - Feature: [#22046] [Plugin] Add interface for crashed vehicle particle. - Feature: [#22085] [Plugin] The result of actions that create banners now includes the bannerIndex. - Feature: [#22087] [Plugin] Expose guests’ favourite rides to the plugin API. - Feature: [#22090] [Plugin] Allow writing of paused state in non-networked settings. - Feature: [#22140] Add option to automatically close dropdown menus if Enlarged UI is enabled. - Feature: [#22150] [Plugin] Expose monthly expenditure history to the plugin API. - Feature: [#22210] [Plugin] Peeps can now be made stationary or completely frozen. - Feature: [#22210] [Plugin] The direction in which a peep is facing can now be manipulated. - Improved: [#19870] Allow using new colours in UI themes. - Improved: [#21774] The Alpine Coaster now supports using the alternative colour schemes. - Improved: [#21853] Dropdowns now automatically use multiple columns if they are too tall for the screen. - Improved: [#21981] Rendering performance of the map window has been improved considerably. - Improved: [#21981] The map window now defaults to showing as much of the map as fits the screen. - Improved: [#21983] Taking a screenshot now shows a message again, closing when taking another. - Improved: [#22026] The options window now stays centred when window scaling is changed. - Improved: [#22060] [Plugin] The scroll wheel can now be used to modify spinner widget values in custom/script windows. - Improved: [#22065] Joining a network game now indicates progress using coaster trains. - Improved: [#22075] [Plugin] Plugins can now use G1 Icons. - Improved: [#22084] The game now temporarily pauses while the load/save window is open. - Improved: [#22217] See-through items are ignored again in viewport/pointer interaction. - Improved: [objects#238] Add preview image for invisible queue. - Improved: [objects#329] Add RCT1AA lay-down coaster trains (for import only). - Change: [#7248] Small mini-maps are now centred in the map window. - Change: [#20240] Heavy snow and blizzards now make guests buy and use umbrellas. - Change: [#21043] The new music styles are no longer added to old parks automatically. - Change: [#21214] Wacky Worlds and Time Twister’s scenario names now match their park names. - Change: [#21991] UI themes JSON now use colour names and a translucency bool, instead of a number (old themes still work). - Change: [#22057] Reorder Time Twister’s scenarios and adjust their difficulty classification. - Change: [#22173] Patrol path selection is visible over existing patrol paths. - Change: [#22196] Make track navigation buttons holdable. - Change: [#22227] [Plugin] Ride prices are now constrained for plugins as well. - Fix: [#13234] Vehicle weight sometimes wrong after using Remove All Guests cheat. - Fix: [#13294] Map corners are cut off in some directions (original bug). - Fix: [#14630] Non-ASCII thousands and decimal separators not processed correctly. - Fix: [#21496] Some RCT1 scenery is hidden after saving and reloading. - Fix: [#21533] Support glitches on Hybrid Coaster. - Fix: [#21974] No reason specified when attempting to place benches, lamps, or bins on path with no unconnected edges (original bug). - Fix: [#21987] [Plugin] API cannot handle negative removal prices. - Fix: [#22008] Uninverted Lay-down roller coaster uses the wrong support type. - Fix: [#22012] [Plugin] Images on ImgButton widgets cannot be updated. - Fix: [#22121] Some news items in the “Recent Messages” window have the wrong text colour. - Fix: [#22152] [Plugin] Negative signed integers are truncated. - Fix: [#22161] Using arrow keys in textboxes crashes the game. - Fix: [#22174] Cheats are reset when starting a server. - Fix: [#22185] Intensity and nausea are incorrectly sorted in the rides list after ratings invalidation. - Fix: [#22226] Red traffic light shows incorrect sprite when pressed. - Fix: [objects#323] Incorrect wall boundaries on large WW/TT scenery objects. - Fix: [objects#331] Incorrect hover car capacity string. - Fix: [objects#334] Incorrect school bus capacity string. - Fix: [objects#337] Swan Boats use an incorrect third remap colour (original bug).
Release v0.4.12 - Feature: [OpenRCT2#622] Add option to align the top toolbar buttons horizontally centred (off by default). - Feature: [OpenRCT2#20263] Ability to increase the size of the map in the (0, 0) direction. - Feature: [OpenRCT2#21714] [Plugin] Costume assignment is now tailored to each staff type. - Feature: [OpenRCT2#21853] Enlarged UI mode. - Feature: [OpenRCT2#21893, OpenRCT2#22065] On launch, the game now indicates what system is being initialised. - Feature: [OpenRCT2#21913] [Plugin] Allow precise and safe control of peep animations. - Feature: [OpenRCT2#22046] [Plugin] Add interface for crashed vehicle particle. - Feature: [OpenRCT2#22085] [Plugin] The result of actions that create banners now includes the bannerIndex. - Feature: [OpenRCT2#22087] [Plugin] Expose guests’ favourite rides to the plugin API. - Feature: [OpenRCT2#22090] [Plugin] Allow writing of paused state in non-networked settings. - Feature: [OpenRCT2#22140] Add option to automatically close dropdown menus if Enlarged UI is enabled. - Feature: [OpenRCT2#22150] [Plugin] Expose monthly expenditure history to the plugin API. - Feature: [OpenRCT2#22210] [Plugin] Peeps can now be made stationary or completely frozen. - Feature: [OpenRCT2#22210] [Plugin] The direction in which a peep is facing can now be manipulated. - Improved: [OpenRCT2#19870] Allow using new colours in UI themes. - Improved: [OpenRCT2#21774] The Alpine Coaster now supports using the alternative colour schemes. - Improved: [OpenRCT2#21853] Dropdowns now automatically use multiple columns if they are too tall for the screen. - Improved: [OpenRCT2#21981] Rendering performance of the map window has been improved considerably. - Improved: [OpenRCT2#21981] The map window now defaults to showing as much of the map as fits the screen. - Improved: [OpenRCT2#21983] Taking a screenshot now shows a message again, closing when taking another. - Improved: [OpenRCT2#22026] The options window now stays centred when window scaling is changed. - Improved: [OpenRCT2#22060] [Plugin] The scroll wheel can now be used to modify spinner widget values in custom/script windows. - Improved: [OpenRCT2#22065] Joining a network game now indicates progress using coaster trains. - Improved: [OpenRCT2#22075] [Plugin] Plugins can now use G1 Icons. - Improved: [OpenRCT2#22084] The game now temporarily pauses while the load/save window is open. - Improved: [OpenRCT2#22217] See-through items are ignored again in viewport/pointer interaction. - Improved: [objects#238] Add preview image for invisible queue. - Improved: [objects#329] Add RCT1AA lay-down coaster trains (for import only). - Change: [OpenRCT2#7248] Small mini-maps are now centred in the map window. - Change: [OpenRCT2#20240] Heavy snow and blizzards now make guests buy and use umbrellas. - Change: [OpenRCT2#21043] The new music styles are no longer added to old parks automatically. - Change: [OpenRCT2#21214] Wacky Worlds and Time Twister’s scenario names now match their park names. - Change: [OpenRCT2#21991] UI themes JSON now use colour names and a translucency bool, instead of a number (old themes still work). - Change: [OpenRCT2#22057] Reorder Time Twister’s scenarios and adjust their difficulty classification. - Change: [OpenRCT2#22173] Patrol path selection is visible over existing patrol paths. - Change: [OpenRCT2#22196] Make track navigation buttons holdable. - Change: [OpenRCT2#22227] [Plugin] Ride prices are now constrained for plugins as well. - Fix: [OpenRCT2#13234] Vehicle weight sometimes wrong after using Remove All Guests cheat. - Fix: [OpenRCT2#13294] Map corners are cut off in some directions (original bug). - Fix: [OpenRCT2#14630] Non-ASCII thousands and decimal separators not processed correctly. - Fix: [OpenRCT2#21496] Some RCT1 scenery is hidden after saving and reloading. - Fix: [OpenRCT2#21533] Support glitches on Hybrid Coaster. - Fix: [OpenRCT2#21974] No reason specified when attempting to place benches, lamps, or bins on path with no unconnected edges (original bug). - Fix: [OpenRCT2#21987] [Plugin] API cannot handle negative removal prices. - Fix: [OpenRCT2#22008] Uninverted Lay-down roller coaster uses the wrong support type. - Fix: [OpenRCT2#22012] [Plugin] Images on ImgButton widgets cannot be updated. - Fix: [OpenRCT2#22121] Some news items in the “Recent Messages” window have the wrong text colour. - Fix: [OpenRCT2#22152] [Plugin] Negative signed integers are truncated. - Fix: [OpenRCT2#22161] Using arrow keys in textboxes crashes the game. - Fix: [OpenRCT2#22174] Cheats are reset when starting a server. - Fix: [OpenRCT2#22185] Intensity and nausea are incorrectly sorted in the rides list after ratings invalidation. - Fix: [OpenRCT2#22226] Red traffic light shows incorrect sprite when pressed. - Fix: [objects#323] Incorrect wall boundaries on large WW/TT scenery objects. - Fix: [objects#331] Incorrect hover car capacity string. - Fix: [objects#334] Incorrect school bus capacity string. - Fix: [objects#337] Swan Boats use an incorrect third remap colour (original bug).
This refactors the usage of COLOUR_FLAG_* to a new struct with a field for colour and a field for flags. This frees up the upper bits, which were previously clashing with any colours with ID >= 32.
Future refactors left out of this PR: