Skip to content

Add asset pack manager and asset packs#18050

Merged
Gymnasiast merged 17 commits into
OpenRCT2:developfrom
IntelOrca:assetpacks-audio
Oct 4, 2022
Merged

Add asset pack manager and asset packs#18050
Gymnasiast merged 17 commits into
OpenRCT2:developfrom
IntelOrca:assetpacks-audio

Conversation

@IntelOrca

@IntelOrca IntelOrca commented Sep 18, 2022

Copy link
Copy Markdown
Contributor

Adds the asset pack manager and asset packs with initial support for audio asset packs.

Screenshots:
image
image

Video demo:
https://cdn.discordapp.com/attachments/694586451500859469/987101753247928411/assetpacks_audio.mp4

Example asset packs:
assetpacks.zip
Unzip them into [docs]/openrct2/assetpack

They are basically the ones from the CI of the open music and open sound repos, but last builds have expired.

@karst

karst commented Sep 19, 2022

Copy link
Copy Markdown
Member

The game currently closes immediately upon starting up on Windows 10 64 bit

crash.zip

@IntelOrca

Copy link
Copy Markdown
Contributor Author

@karst I can't reproduce. It does crash when I load your saved game, but I think that might just be a corrupted save. The dump shows that it was doing volume control and ogg decoding at the time. Can you provide me more details as to your setup and whether it crashed on the title screen?

@karst

karst commented Sep 19, 2022

Copy link
Copy Markdown
Member

The crash disappears when you create the assetpack folder manually. It currently won't create it and if it doesn't exist the game will close before even getting to the title screen.

I think the game currently doesn't create an assetpack folder if you don't have one.

@IntelOrca

Copy link
Copy Markdown
Contributor Author

@karst thanks, that should be simple to fix

@IntelOrca

Copy link
Copy Markdown
Contributor Author

@karst I have hopefully fixed the issue

@karst

karst commented Sep 20, 2022

Copy link
Copy Markdown
Member

that fixed it!

@karst

karst commented Sep 20, 2022

Copy link
Copy Markdown
Member

Current found bugs:

  • Rain doesn't play after reloading until it's unloaded and loaded again.
  • Lift effects don't play after reloading until it's been off the screen.
  • Track roar/friction effects don't play after reloading until it's been of the screen.
  • Crash when loading a valid json using source and modifier strings. (like is done base audio files).
  • When using multiple overrides (Multiple packs) (FE: "$[0..55]") The game defaults for "$[0..55]" to the base audio rather than checking if a pack below overrides a sound in there.
  • State of asset pack doesn't save after closing the game, you need to reload the assetpacks before they become active again (defaults to base game audio again). (Only happens with RCTC as basegame).
  • Sound resets/reloads on closing asset pack tab except for just when pressing reload.

Crashing file: https://cdn.discordapp.com/attachments/842165403845263370/1023680357247242290/openrct2.sound.parkap

File with which you can test the track roar/chainlifts: https://cdn.discordapp.com/attachments/857936994100314112/1024083025543307285/openrct2.sound.parkap

Comment thread src/openrct2/AssetPackManager.cpp Outdated
Comment thread src/openrct2/scripting/bindings/game/ScConfiguration.hpp
@Gymnasiast

Copy link
Copy Markdown
Member

From watching the video, it seems a bit confusing that there are asset packs for RCT2 graphics, but not for sound or music. That makes it a bit unclear that they override certain sounds/music from the base pack.

@karst

karst commented Sep 26, 2022

Copy link
Copy Markdown
Member

May I reference to Minecraft and their resourcepack system?
image

In Minecraft the default textures are always on. You cannot turn them off (turning them off is grey'd out). The list is laid out in the way of priority (The ones above have priority of below). That means everything that replaces the same thing will be overriden by what's on top.
I think it'd be a good visual to have the base graphics, soundeffects and music loaded by default. Until OpenSound and OpenGraphics are done this will be RollerCoaster Tycoon 2 + New additions (like the new coaster types).

@Gymnasiast

Copy link
Copy Markdown
Member

That’s wasn’t really my point though - it was the inconsistency of having a default pack for graphics, but not sound or music.

@Gymnasiast Gymnasiast left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, I tested this. It seems to work nicely for sound effects and music. 👍

I would propose a few changes to the asset pack window:

  • Make the ticks into checkboxes, like the Tile Inspector, rather than the flag (more straightforward and also quicker)
  • Create a "reload" glyph
  • Add tooltips

I haven’t specifically looked into the issues that @karst mentioned.

@IntelOrca

Copy link
Copy Markdown
Contributor Author

From watching the video, it seems a bit confusing that there are asset packs for RCT2 graphics, but not for sound or music. That makes it a bit unclear that they override certain sounds/music from the base pack.

That’s wasn’t really my point though - it was the inconsistency of having a default pack for graphics, but not sound or music.

Sorry I don't really follow, can you elaborate or provide examples of how it should be?

@IntelOrca IntelOrca requested a review from Gymnasiast October 1, 2022 12:55
@AaronVanGeffen

Copy link
Copy Markdown
Member

Since the look of the window has been updated, could we get another screenshot here, for posterity?

@Gymnasiast

Copy link
Copy Markdown
Member

afbeelding

@karst

karst commented Oct 3, 2022

Copy link
Copy Markdown
Member

State of asset pack doesn't save after closing the game, you need to reload the assetpacks before they become active again (defaults to base game audio again).

For some odd reason this only occurs on my laptop, I cannot reproduce this on my desktop. Is it possible this might have to do with the base game install being RCTC instead of RCT2TT? That's the only difference I can think of with my laptop. Either way it's not the biggest of deals currently and I am happy with how everything is implemented right now.

Edit: Yes it's a RCTC base game exclusive bug

@Gymnasiast

Gymnasiast commented Oct 3, 2022

Copy link
Copy Markdown
Member

@karst That’s certainly possible. I think it’s best to investigate that a bit further and create an issue for it.

@Broxzier

Broxzier commented Oct 3, 2022

Copy link
Copy Markdown
Member

Can't respond to image files, so putting it here: the reload icon has a stray pixel on the bottom-left side of the circle.

image

IntelOrca and others added 2 commits October 3, 2022 23:36
@Gymnasiast Gymnasiast enabled auto-merge October 4, 2022 16:34
@Gymnasiast Gymnasiast added this to the v0.4.2 milestone Oct 4, 2022
@Gymnasiast Gymnasiast merged commit 2e6595f into OpenRCT2:develop Oct 4, 2022
@Gymnasiast Gymnasiast deleted the assetpacks-audio branch October 4, 2022 17:46
Gymnasiast added a commit that referenced this pull request Oct 5, 2022
- Feature: [#6326] Ability to load .SV6 files from RCT Classic that have more than 9601 guests.
- Feature: [#6570, #10860, #17929] Fully support RollerCoaster Tycoon Classic as a RCT2 base install path.
- Feature: [#13634] Add ability to sell merchandise in random colours.
- Feature: [#16164] Add new track elements for Flying Coaster and Lay-Down Coaster and add paint code for more elements.
- Feature: [#16283] Added parkinfo command line tool to list objects in a save file.
- Feature: [#16662] Show a warning message when g2.dat is mismatched.
- Feature: [#17107] Ride operating settings can be set via text input.
- Feature: [#17638] Added Zero G rolls, medium loops and large corkscrews to the Hybrid and Single-Rail coasters.
- Feature: [#17821] [Plugin] Add API for track subpositions and vehicle subposition.
- Feature: [#17877] Add three real-life flying roller coaster colour schemes.
- Feature: [#17900] Add “Classic Wooden Coaster” with shallow banked turns.
- Feature: [#18057] Staff members now wait for passing or stalled vehicles before crossing railway tracks.
- Feature: [#18168] Add additional track pieces to the LIM Launched Coaster and the Looping Coaster.
- Feature: [objects#198] Add additional pirate roofs.
- Feature: [objects#205] Add additional glass roofs.
- Feature: [objects#209] Add the Steel Roller Coaster train and 2-across Inverted Train from RollerCoaster Tycoon 1.
- Feature: [#18050] Add asset pack manager and asset packs.
- Improved: [#15358] Park and scenario names can now contain up to 128 characters.
- Improved: [#15589] Numpad Enter can now be used to close text input.
- Improved: [#16819] Don’t prompt to “Save game as” when saving a loaded saved game (excepting autosaves).
- Improved: [#16840] Add support for rectangular heightmaps.
- Improved: [#17575] You can now search for Authors in Object Selection.
- Improved: [#17806] Added warning when using RCT1 objects without RCT1 linked.
- Improved: [#17868] [Plugin] You can now change active tab of a custom window programmatically.
- Improved: [#17909] Track elements that are not supported by any train are now hidden by default.
- Improved: [#17924] Improved performance when loading JSON object images from a .DAT file.
- Improved: [#17955] Modifying ratings via in-game console is now multiplayer-safe and also freezes the ratings.
- Improved: [#18177] [Plugin] Widget tooltips can now be read and changed.
- Change: [#9104] Calculate maze support costs.
- Change: [#17319] Giant screenshots are now cropped to the horizontal view-clipping selection.
- Change: [#17499] Update error text when using vehicle incompatible with TD6 and add error when using incompatible track elements.
- Change: [#17655] Lower default price for the Crooked House.
- Change: [#17745] Make maintenance cost of Mini-Golf more balanced.
- Change: [#17762] Use vertical tabs in the New Game dialog.
- Change: [#18113] Increased limit of Loan Interest in Scenario Editor to 255%.
- Fix: [#5141] Headless server is counted as a player.
- Fix: [#7466] Coaster track not drawn at tunnel exit.
- Fix: [#10535] Guests getting stuck at specific level crossings.
- Fix: [#14337] Guest blocking ride entrance after ride price changed to be unaffordable.
- Fix: [#15328] Wooden Roller Coaster incorrectly draws a railing on the first station piece (original bug).
- Fix: [#16392] Scenery on sloped surface is placed at wrong height.
- Fix: [#16476] The game sometimes crashes when demolishing a maze.
- Fix: [#17053] Crash when trying to open files under 4 bytes in length.
- Fix: [#17312] (Flying) Inline Twist appearing under the surface when placed on ground level.
- Fix: [#17339] Distorted visuals when changing scaling factor between integer numbers in OpenGL rendering mode.
- Fix: [#17394] Six-seater Hyper-Twister Trains focuses ride window camera on Car 2 rather than Car 1 (original bug).
- Fix: [#17430] Possible crash when toggling tile element visibility in multiplayer.
- Fix: [#17444] “Manta Ray” boats slowed down too much in “Ayers Rock” scenario (original bug).
- Fix: [#17503] Parks with staff with an ID of 0 have all staff windows focus on that staff.
- Fix: [#17508] Grid doesn’t disable after setting patrol area.
- Fix: [#17532] Object Selection window allows unselecting all station types.
- Fix: [#17533] Missing audio when specifying ‘--rct2-data-path’.
- Fix: [#17535] Multiplayer desync when placing rides with scenery.
- Fix: [#17541] Station style not correctly saved to TD6.
- Fix: [#17542] Stalls will autorotate towards paths outside the park.
- Fix: [#17544, #17754] Visual glitches in Invention List window.
- Fix: [#17553] Crash when moving invention list items to empty list.
- Fix: [#17571] All researched tracked rides show up as new vehicles in .park scenarios.
- Fix: [#17600] Notifications are not properly cleared when loading a park.
- Fix: [#17605] Crash when opening parks which have had objects removed externally.
- Fix: [#17639, 17735] When building upside down, the special elements list contains many items twice (original bug).
- Fix: [#17664] Unable to save after an extended period of time due to inactive ride music data leaking.
- Fix: [#17703] (undefined string) when building on invalid height.
- Fix: [#17776] “Other Parks” tab uses separate lists for SC4/SC6 and .park scenarios.
- Fix: [#17784] Colour preset RNG is biased (original bug).
- Fix: [#17788] Guests could leave queue if another guest rejoins it from the entrance building.
- Fix: [#17834] Finance window becomes blank after 4096 years.
- Fix: [#17816] Option to pause game when Steam Overlay is active is not greyed out when using the OpenGL renderer.
- Fix: [#17897] Guest can get stuck on tiles with construction rights outside the park.
- Fix: [#17904] Trees are removed at no cost to make way for ride entrance/exits.
- Fix: [#17905] The chain button in the map window is enabled for rectangular maps when (re)opened.
- Fix: [#17931] The in-game command ‘count_objects’ crashes the game.
- Fix: [#17865] With difficult guest generation, tested but unopened rides still contribute to the guest cap.
- Fix: [#17866] [Plugin] Wrong Soft Guest Cap at start of new game.
- Fix: [#17889] Peeps don’t stop at level railway crossings if approached from downhill.
- Fix: [#17980] Queue lines of track designs mess up existing queue lines if dragged through them.
- Fix: [#17959] Areas marked for dirty drawing are too large.
- Fix: [#17963] Some marketing campaigns can’t be started after Finances window tab has been on Research.
- Fix: [#17964] Sprites don’t show up on two sides of the view-clip selection.
- Fix: [#17966] Reversed steel trains do not properly import from S4.
- Fix: [#17973] Bins and lamps overlay parts of the land (original bug).
- Fix: [#18008] Steeplechase S-bends has multiple gaps visible in the tracks (original bug).
- Fix: [#18009] Visual glitch with litter at edge of sloped path.
- Fix: [#18025] Fix land ownership in Six Holland, Six Flags Magic Mountain, North America - Grand Canyon and Asia - Great Wall of China Tourism Enhancement scenarios.
- Fix: [#18026] Park rating drops to 0 with more than 32k guests, total ride excitement or intensity.
- Fix: [#18032] All non-interactive widgets (labels, groupboxes) produce sound when clicked.
- Fix: [#18035] Favourited servers don’t get their online status updated.
- Fix: [#18051] Visual glitch with Mine Ride’s large unbanked turn (original bug).
- Fix: [#18059] [Plugin] Width and height of custom window not changeable via script.
- Fix: [#18063] Guests can stop for all kinds of actions at railway crossing.
- Fix: [#18087] Bank balance is clamped to a 32-bit integer every transaction.
@Broxzier

Broxzier commented Oct 7, 2022

Copy link
Copy Markdown
Member

Putting the photoshop file for the reload icon here in case anyone wants to make more changes. Note that this is not the final version, as @oli414 made some shading changes without this file:

reload-icon.psd.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants