ResourceManager Version 1

4 October 2024

ResourceManager is a mod for ZeroRanger that adds a custom ‘music pack’ system to replace all the music in the game with user-provided songs! These can be distributed as music packs along with a json file describing the titles of each song and some other metadata. It also loads palettes too!

The system is designed so that anyone can create a music pack and share it with people, without requiring a separate patch / data.win for each set of songs. It also leaves the original soundtrack files intact, in case you want that for some reason.

Palettes

  • ZeroArrange Palette Collection compiled by JuliaScythe containing ~50 palettes from 15 authors, from palettes submitted to the System Erasure discord server.
  • Many more in the palettes channel!

Music Packs

Downloads

Installation

IMPORTANT: BEFORE USING MODS FOR ZERORANGER, BACK UP YOUR SAVE FILES. THIS SHOULDN’T CAUSE ANY ISSUES BUT UMT IS A FORCE OF CHAOS AND IT’S BETTER TO BE SAFE.

If you just want Green Arrange, gooeyPhantasm has made a guide for installing both the mod and pack at once!

  • Download latest version of the patch above.
  • Use a xdelta tool of your choice to apply the patch. I like this one.
    • Use the data.win file from an unmodified 2022 Steam copy of ZeroRanger as the Source file.
    • Use the downloaded patch as the Patch file.
    • (Optional) Create a copy of your original data.win file in case you want to remove the mod (Verifying game files on Steam also works!)
    • Replace the original data.win with your patched result. The new file may need to be renamed to be data.win!
  • Create empty folders named musicpacks and palettes in your data.win folder (which is probably in steamapps/common/ZeroRanger/).

Usage

  • Place music packs in <data.win folder>/musicpacks/<pack_name>/.
  • In the game, go to Options -> Sound -> Music Pack and select the new pack.
  • Place palettes in <data.win folder>/palettes and select using the usual method. Note: the .zrpal files must be directly in the palettes directory, not in a subdirectory.
  • Enjoy!

Known Issues

  • If you have a broken pack.json file and the game tries to load it on boot and crashes, change the contents of MUSICLOADER.zr in your ZR save folder to base (or just delete it). This will tell the game to load the base set of music rather than any specifc pack on boot.
  • Occasionally the music may repeat during a certain section of stage 4.

Pack Creation

From a pack creator’s perspective, a music pack is a collection of music files along with a pack.json file defining the pack’s properties. It’s probably easiest to look at an example to get the idea.

  • pack_name: the name of the pack, to be shown in the game’s menu. Keep this short, since there’s not much room!
  • hacks(optional): a selection of switches that toggle on and off modifications to how the music works in the game. If you’re writing a music pack that needs a new hack, let me know and I’ll add it as an option.
    • no_orangardimus: set to true to let the stage 1 music continue throughout the Artypo fight.
    • no_2-1_bossay: set to true to let the stage 2-1 music continue throughout the bossfight.
    • despair_pinch_custom: if true, once Despair reaches her desperation phase, play the music with key _hack_bgm_despair2_pinch with no pitch bending.
    • custom_zeroranger_male_shout: replace the male announcer MAXIMUM shout with the music with key _hack_custom_zeroranger_male_shout.
  • replacements: an object with keys as internal music asset names, and values as objects. The values can either have a key file and name representing a single song, or an array under choices containing a list of such file/name pairs to randomly select from.
    • choices_sync: if you have multiple choice-selected songs that you want to guarantee will always play together, give them the same choices_sync value. Otherwise, give each choice it’s own, low, choices_sync value. (Internally the random choices seed is divided by this value when determining which choice to use.)

Any palettes (.zrpal files) in the musicpack directory will be loaded as if they were in the palettes/ directory, to make it easier to distribute a music pack with palettes.

Palette Creation

Use skirlez’s ZeroRanger palette tool to create your palette, then place the output in a .zrpal file in <data.win folder>/palettes/. That’s it! Alternatively, use renexmachina & moonie’s ZRPal editor!

Changelog

Future Releases / Planned Features

  • Add a musicpack hack to set the stage entry flavour text.
  • Add visibility of the palette //AUTHOR = field in game somewhere.

1.3

  • Add palette loading!
  • Palettes will be loaded from <data.win folder>/palettes/ or a musicpack, and should contain the output from skirlez’s tool in a .zrpal file.

1.2

  • Fixed music texts over a certain length scrolling to the side in weird behavior
  • Fixed full-clear crisis music not having a music popup
  • Added significantly better error handling to the pack loader (it should now tell you precisely what is wrong with your pack, rather than just crashing)

1.1

  • Fixed bossay restarting in a certain section if replaced
  • Added music popup to the final boss final phase, if a custom track is used for that
  • Added mod version and currently loaded pack text in the settings

1.0

  • Initial release
  • Supporting music packs only

Credits

  • Developed by JuliaScythe.
  • Code help from Malkraz, gooeyPhantasm and skirlez.
  • With thanks to System Erasure, Resonant Union, and the UndertaleModTool developers.