RollerCoaster Tycoon 2: Triple Thrill Pack

RollerCoaster Tycoon 2: Triple Thrill Pack

Not enough ratings
Adding custom ride music to OpenRCT2
By AͨuͧrͭaͥSͤ
Using OpenRCT2 you can use whatever music you'd like for the game.
In this guide you will learn how to make a ride music object, how to load it, and how the code works behind it (optional).
   
Award
Favorite
Favorited
Unfavorite
Creating a new object using GOES (RCTSpace)
Gymnasiast has created a wonderful tool to ease the process of creating ride music objects.
You can use the tool here: RCTSpace[goes.rctspace.com]

Below I shall run you through the form:

You identifier: Fill in your username without spaces, special characters (with the exception of underscores (_)) or capital letters.

Object identifier: Fill in the name of your ride music style without spaces, special characters (with the exception of underscores (_)) or capital letters.

Creator's name: This should be your real name preferably, but if you are uncomfortable with this you my also fill in your username.

Style description (UK English): Fill in the music style name that should be displayed in the game.

Preview image: You can probably best ignore this, unless you know what you are doing.
The PNG file needs to be 112x112 saved using OpenRCT2's png palette format.

Music files: Convert your music to OGG vorbis* if you haven't already. Upload that in the boxes. This tool allows to upload up to three songs in the same ride music style.
Track name: Please put the original song name here.
Composer: Please put the original artist here.

*For converting to OGG vorbis you can use an online tool, or using Audacity or any other DAW.
Creating a custom ride music object from scratch:
Making a custom .parkobj file.

Make a zipfile and rename .zip extension to .parkobj .
Make sure to use the following standard format when naming your files!
<username>.<type>.<name>.parkobj
For <Type> in this case, just use "music". (For Example: auraspecs.music.dontyou.parkobj)

This renamed zipfile needs to contain the following files:
object.json and <NAME>.wav

Adding your music.

OpenRCT2 accepts the following formats:
OGG Vorbis (preferred), WAV or FLAC.
At the time of writing OpenRCT2 plays everything back in a project rate of 22050 Hz.
This will be improved in the future.

Using a DAW, Audacity or online converter, convert your song to OGG Vorbis. Optionally you can take this opportunity to trim the ends of the song to make a perfect loop.
When saving make sure to name the file something simple, preferably without spaces.

Drag and drop the OGG file into the parkobj file.

At the bottom of this guide there is a guide on how to keep the size of a WAV file low. This should only be used for adding custom music for CUSTOM1.WAV and CUSTOM2.WAV for the original game, as well as OpenRCT2 version 0.4.0 and 0.4.1.

Making the object.json

the "object.json" file can just be a txt file renamed to a .json file, I do recommend using Notepad++ to open it for easy working.

The "object.json" requires the following information. Feel free to copy and fill in.
{ "id": "<username>.music.<name>", "authors": [ "<artist/author name>" ], "version": "1.0", "objectType": "music", "properties": { "tracks": [ { "source": "<name>.ogg", "name": "<Music Title>" } ] }, "strings": { "name": { "en-GB": "<Name you want displayed in the game>" } } }

Please keep in mind if the language file doesn't exist for a specific language it defaults to "en-GB".

My example:
{ "id": "auraspecs.music.dontyou", "authors": [ "Karst van Galen Last" ], "version": "1.0", "objectType": "music", "properties": { "tracks": [ { "source": "dontyou.ogg", "name": "Don't You" } ] }, "strings": { "name": { "en-GB": "Jalmaan - Don't You" } } }

- Add the .json to the parkobj file and you are set.
- Put the parkobj file in "\Documents\OpenRCT2\object\" and you are now able to select your own tune in the game!
Make sure to have cheats enabled, then you can select it in the object selector.

If you run into any trouble, you can refer to our Discord community[discord.gg].
Keep the size of a WAV file low (0.4.0/0.4.1/CUSTOM1.WAV/CUSTOM2.WAV only)
The wav file can be any music file that is rendered with PCM encoding.
My recommendations is to re-render audio file in Audacity to the following settings to minimize the size of the file:

-Set the project bitrate (see the lower left of audacity) should be set to 22050 Hz. // This so the bitrate is low enough to make the file size small, but not so low that it's noticable in game.



-Export as WAV, and when saving you can set the Encoding to the following: "Unsigned 8-bit PCM".

For the original RCT2 you can name it CUSTOM1.WAV or CUSTOM2.WAV and add it to the ObjData folder in Rollercoaster Tycoon 2's folder.

For OpenRCT2 make sure to follow the guide above and change the file link there to whatever you named your WAV file.
34 Comments
AͨuͧrͭaͥSͤ  [author] 20 Dec, 2024 @ 1:15pm 
Glad to see you figred it out! :)
andreaxhearts 17 Dec, 2024 @ 5:55pm 
Okay I figured it out, I found some info in the Discord. I was close, I just needed to save the image using RCT2's palette, of which I found here: https://lospec.com/palette-list/rollercoaster-tycoon-2-color-map
andreaxhearts 16 Dec, 2024 @ 8:21pm 
"Preview image: You can probably best ignore this, unless you know what you are doing.
The PNG file needs to be 112x112 saved using OpenRCT2's png palette format."


Can you give more details on this? What is the palette format?
I tried saving an image with the right size, and I tried using indexed colors, but it still doesn't show up properly in-game.
AͨuͧrͭaͥSͤ  [author] 26 Sep, 2024 @ 4:37pm 
Hi! You can nowadays create music objects much easier using this tool: https://goes.rctspace.com/music
Hopefully it helps!
TheKillerChicken 29 Jul, 2022 @ 1:39pm 
Alrighty, thanks.
AͨuͧrͭaͥSͤ  [author] 29 Jul, 2022 @ 11:52am 
I did asked the devs before I answered, they have added no implementation for looped ogg files. So unless its part of the ogg vorbis standard with the same extension i dont think it's supported :P
TheKillerChicken 27 Jul, 2022 @ 8:31pm 
Alrighty. It is a console vgm format in which uses a xiph vorbis header, but is looped. So maybe I should ask the dev team specifically instead.
AͨuͧrͭaͥSͤ  [author] 27 Jul, 2022 @ 8:08pm 
There's no specific implementation for that in the game no. So probably not. But you could always try!
TheKillerChicken 27 Jul, 2022 @ 1:03am 
I have a strange question, does OpenRCT2 support Looped-Ogg? (.logg extension)
AͨuͧrͭaͥSͤ  [author] 17 Jul, 2022 @ 7:12pm 
Adding multiple tracks into a playlist isn't more difficult than adding a comma after the } in the track lists and repeating what you just did :) https://pastebin.com/ZBFGQMQF

I am a massive audiophile, I make music myself. If you listen to things outside the game you can hear the difference very clearly in quality, but the game's processing makes the audio quality alot worse (22050hz rather than the 44100 what we are used to). So you wont really hear the difference when playing a low quality OGG vorbis file or a high quality WAV file.

Recently Ted also added FLAC functionality, which is the same quality as WAV but in a smaller format. You can also try that.