-
-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Title Screen JSON for easier title screen editing #1027
Comments
nah |
:ghostOld: |
I'd make it so editing the main menu planet behaves like editing existing planets in base game in that the config is the same as making a new planet just u put the name of the title screen planet. Currently it seems like editing the main menu planet and adding new planets is two entirely separate operations. I would add an api method called "RegisterTitleScreenHandler" that takes in a function to call, bool to delete nh planets, to share title screen, fact or condition required. Existing mods that already edit the title screen can just register whatever method they call to do that and instantly have compat. NH would then, when the title screen gets loaded, randomly select compatible title screen builders/configs and then do it. It would refresh when the title is changed. Setting the path to your subtitle already exists, it goes in the addon manifest. |
Officially stating this, I am putting up a $100 bounty for this feature to be added in some form. Xen has told me he's interested. |
im doing it i win! |
RULES FOR THE BOUNTY
Payment will be provided to the user via PayPal in the amount of one-hundred United States dollars, within one week of the PR following the requirements above, being merged to the main New Horizons code base, unless extreme circumstances cause a delay. |
Feature
Story mods have been editing the main menu more and more to add their own custom flair to the title screen, but in order to do so they've all needed to create their own custom implementation. It would be pretty nice to have the ability to edit the title screen via JSON just like normal planets and systems. Such a method could also improve compatibility between mods.
To do this, you would create a file called "title_screen.json" which uses a custom schema, similar to the celestial body schema, but with some features from the system schema, and some exclusive features as well.
The main menu is recreated when initially loaded after the "controller is recommended" splash and every time a profile is changed.
string subtitle: relative path to the subtitle png. Defaults to subtitle.png in the root directory if no path is specified. Is always set, regardless of factRequiredForTitle and conditionRequiredForTitle.
string factRequiredForTitle: checks the save file for the currently selected profile to see if the provided fact has been discovered. If not, the rest of the title screen json will not load.
string conditionRequiredForTitle: checks the save file for the currently selected profile to see if the provided persistent condition has been set. If not, the rest of the title screen json will not load.
bool disableNHPlanets: Default true. If set to true, NH generated planets will not show on the title screen. If false, this title screen has the same chance as other NH planet title screens to show.
bool mergeWithOtherTitles: Default true. If true, this custom title screen will merge with all other custom title screens with mergeWithOtherTitles set to true. If false, NH will randomly select between this and other valid title screens that are loaded.
Skybox Module Skybox: Edits the starfield and skybox of the main menu.
string music: relative path to music to replace the title screen music with.
float rotationSpeed: changes the speed the main menu planet and the skybox rotates.
MColor menuColor: changes the color of the main menu text
MColor titleColor: changes the color of the Outer Wilds logo
MenuPlanetModule MenuPlanet: edit properties of the main menu planet
path
is mostly only helpful for Asset Bundles. Some aspects, like the physics modules, may be ignored.MenuCelestialObject[] MenuCelestialObjects: A list of celestial objects to generate on the main menu. Simplified version of the standard Celestial Body schema.
object extras: Stuff for other mods
I imagine that not every feature here can be reasonably added, but with those that can, I would bet we would see more mods come out with custom title screens.
Context
No response
The text was updated successfully, but these errors were encountered: