From 43461e7b15833d0bdfbfbead2972dfb874b3588f Mon Sep 17 00:00:00 2001 From: AppleHair Date: Tue, 9 Jul 2024 23:13:47 +0300 Subject: [PATCH] Updated all READMEs and changed version number --- README.md | 16 +++++++++------- _polymod_meta.json | 2 +- data/UD/README.md | 14 ++++++++------ data/UD/vari-injections/README.md | 9 +++++---- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/README.md b/README.md index 1ab5d0a..727ef40 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,12 @@ The Unrestricted Difficulties framework is a soft-coded FNF mod, which gives FNF modders more control over difficulties and variations. +> [!CAUTION] +> ## Usage as dependency for other mods +> Previously, I had a section on gamebanana that explained how to bundle this framework with your mod, but now I want to suggest the exact opposite: **DON'T BUNDLE THIS FRAMEWORK WITH YOUR MOD AT ALL!!**. Instead, you should tell your users to download this framework separately, and then download your mod. This way, your mod will be more future-proof, and you won't have to worry about updating this framework in your mod's download every time I update this framework. If you want to make sure your mod won't load when this framework isn't installed or just make sure this framework loads before your mod does, you can add it as a dependency to your mod's metadata and use polymod's [dependency behavior](https://polymod.io/docs/dependencies/). +> +> Also make sure you package your mod with a folder with the mod's propr name inside the zip, so people will be able to extract it, because append logic and dependency behavior won't work otherwise. + ## Features The framework includes the following features: @@ -12,12 +18,8 @@ The framework includes the following features: - Adds a difficulty sorting system, which orders difficulties in freeplay and story mode according to priority numbers. - Support for custom difficulty sprites in the result screen (was relevant before 0.4.0, but now it's already implemented in the base game), which can also be animated (animations are still relevant). - Adds difficulty display name trimming to the pause menu (and hopefully to the discord RPC too when it gets added to FNF), which will trim a difficulty's variation name from the difficulty's display name if its name starts with the variation name (this doesn't apply to difficulty names that are the same as the variation name). +- Added special attributes to all of the song scripts, which you can set using `scriptSet` on `onCountdownStart` through a module, as opposed to overriding the scripts, to customize the script's default behavior (which includes cutscenes and more song-specific stuff) (to be deprecated in favor of a variation-specific song scripts system in the future). - Improved story mode menu, with the following key improvements: - - Limits the range of difficulties you can choose from and changes the song list according to the songs and difficulties available in each level, as opposed to relying on a constant and displaying only "easy", "normal" and "hard" (which means you can play base game levels on "erect" and "nightmare" difficulties from the story mode menu using this framework). + - Limits the range of difficulties you can choose from and changes the song list according to the songs and difficulties available in each level, as opposed to relying on a constant and displaying only `easy`, `normal` and `hard` (which means you can play base game levels on `erect` and `nightmare` difficulties from the story mode menu using this framework). - Adds custom story mode menu script events (`UD_STORY_ENTER`, `UD_STORY_SCROLL`, `UD_STORY_EXIT`, `UD_STORY_CONFIRM`), which get called on modules. - - Lets you inject alternative data to a level for different variations\difficulties available in the level, meaning you can customize how a level looks in the story mode menu (and even add songs under specific requirements) when having specific difficulties selected. -- Added special attributes to all of the song scripts, which you can set using `scriptSet` on `onCountdownStart` through a module, as opposed to overriding the scripts, to customize the script's default behavior (which includes cutscenes and more song-specific stuff) (to be deprecated in favor of a variation-specific song scripts system in the future). - -## Usage as dependency for other mods - - Previously, I had a section on gamebanana that explained how to bundle this framework with your mod, but now I want to suggest the exact opposite: **DON'T BUNDLE THIS FRAMEWORK WITH YOUR MOD AT ALL!!**. Instead, you should tell your users to download this framework separately, and then download your mod. This way, your mod will be more future-proof, and you won't have to worry about updating this framework in your mod's download every time I update this framework. If you want to make sure your mod won't load when this framework isn't installed or just make sure this framework loads before your mod does, you can add it as a dependency to your mod's metadata and use polymod's [dependency behavior](https://polymod.io/docs/dependencies/). Also make sure you package your mod with a folder with the mod's propr name inside the zip, so people will be able to extract it, because append logic and dependency behavior won't work otherwise. \ No newline at end of file + - Lets you inject alternative data to a level for different variations\difficulties available in the level, meaning you can customize how a level looks in the story mode menu (and even add songs under specific requirements) when having specific difficulties selected. \ No newline at end of file diff --git a/_polymod_meta.json b/_polymod_meta.json index d7a2658..623157e 100644 --- a/_polymod_meta.json +++ b/_polymod_meta.json @@ -8,6 +8,6 @@ "url": "https://github.com/AppleHair" }], "api_version": "0.1.0", - "mod_version": "1.0.3", + "mod_version": "1.0.4", "license": "CC BY-NC 4.0,MIT" } diff --git a/data/UD/README.md b/data/UD/README.md index a32f2d5..0cb81e5 100644 --- a/data/UD/README.md +++ b/data/UD/README.md @@ -1,6 +1,6 @@ # Difficulty Definitions -Inside the data/UD folder there's a file called "difficulties.txt". You can append difficulty definitions to this file using polymod's append logic, which contain the difficulty's ID/name, its priority number (optional) and its display name (optional). The priority number is used for difficulty sorting in the menus and the display name is used for changing the name the difficulty appears with in the pause menu. +Inside the `data/UD` folder there's a file called `difficulties.txt`. You can append difficulty definitions to this file using polymod's append logic, which contain the difficulty's ID/name, its priority number (optional) and its display name (optional). The priority number is used for difficulty sorting in the menus and the display name is used for changing the name the difficulty appears with in the pause menu. > [!TIP] > The default difficulties' priority numbers are as follows: @@ -10,16 +10,16 @@ Inside the data/UD folder there's a file called "difficulties.txt". You can appe > - erect: 7 > - nightmare: 9 > -> So be aware of that if you want to position your custom difficulties between the default ones. +> So be aware that if you want to position your custom difficulties between the default ones, you'll need to use these numbers. -In order to use the append logic, you need to create a new folder called "_append" in the root of your mod's folder (mods/[mod name]/_append). Now, if you use this folder like your root folder, every file you put in there will be appended to the original file with the same name in the root folder. This way, you can append difficulty definitions to the difficulties.txt file without having to modify the original file. +In order to use the append logic, you need to create a new folder called `_append` in the root of your mod's folder (`mods/[mod name]/_append`). Now, if you use this folder like your root folder, every file you put in there will be appended to the original file with the same name in the root folder. This way, you can append difficulty definitions to the `difficulties.txt` file without having to modify the original file. Now for the format of the difficulty definitions: - The difficulty's ID/name, priority number and display name are separated by a colon. - If you don't specify a priority number, your difficulty will just get appended to the end of the difficulty list in menus. - If you don't specify a display name, the difficulty's ID/name will be used instead and difficulty name trimming (trims the variation name from the start of the difficulty name) might effect the way your difficulty is displayed on the pause menu. - every new difficulty definition should be on a new line. -- Empty lines are ignored, and lines starting with a "//" are treated as comments and are also ignored. +- Empty lines are ignored, and lines starting with a `//` are treated as comments and are also ignored. ## Examples @@ -30,7 +30,8 @@ standard,3 flip,5 ``` In this case, the final order of the difficulties in the menu would be: -easy, easier, normal, standard, hard, flip, erect, nightmare + + easy, easier, normal, standard, hard, flip, erect, nightmare Alternatively, you can just append the difficulty name without a priority number, like so: ```txt @@ -39,7 +40,8 @@ standard flip ``` In this case, the final order of the difficulties in the menu would be: -easy, normal, hard, erect, nightmare, easier, standard, flip + + easy, normal, hard, erect, nightmare, easier, standard, flip If you want to change the display names of difficulties and have more specific difficulty IDs, you can do so like this: ```txt diff --git a/data/UD/vari-injections/README.md b/data/UD/vari-injections/README.md index 5f4eded..1a6207f 100644 --- a/data/UD/vari-injections/README.md +++ b/data/UD/vari-injections/README.md @@ -2,7 +2,10 @@ Instead of replacing existing songs' default metadata and chart files, this framework allows you to inject your variation into existing songs using polymod's append logic. This way, you can add your variation to an existing song without replacing its files, and multiple mods can add their variations to the same song without conflicting with yours. -To inject your variation into existing songs, you'll need to put an empty ".txt" file in this folder, with its name as your variation's name, and then add another ".txt" file with the same name to the same place, but through the _append folder, and fill that file with the song ids you want to inject your variation to separated by new lines. This method utlizes polymod's append logic, which means every variation injection file you make will be appendable by other mods. +To inject your variation into existing songs, you'll need to put an empty `.txt` file in this folder, with its name as your variation's name, and then add another `.txt` file with the same name to the same place, but through the `_append` folder, and fill that file with the song ids you want to inject your variation to separated by new lines. This method utlizes polymod's append logic, which means every variation injection file you make will be appendable by other mods. + +> [!NOTE] +> You need to have the variation chart and metadata files placed in the songs folder for this to work (NOT through the `_append` folder). However, just remember not to replace the default ones, because this is the action variation injection was meant to replace. ## Examples @@ -63,6 +66,4 @@ south monster ``` -As you can see, the empty file's only purpose should be to form a base for polymod to append to, and that's why only append logic should be used to make the actual list of songs to inject the variation to. - -Another thing to note is that you need to have the variation chart and metadata files placed in the songs folder for this to work (NOT through the _append folder). However, just remember not to replace the default ones, because this is the action variation injection was meant to replace. +As you can see, the empty file's only purpose should be to form a base for polymod to append to, and that's why only append logic should be used to make the actual list of songs to inject the variation to. \ No newline at end of file