Releases: gurrenm3/BTD-Mod-Helper
Releases · gurrenm3/BTD-Mod-Helper
3.2.1
- Pause Screen Mods Button now shows number of active mods
- Updated icon for Pause Screen mods button
- Made it less likely for other mods to have errors if they tried to use file/folder picker popups outside standard mod settings
- Apopalypse Mode is now correctly affected by the Round Set changer
- Made the Round Changer button also show up in the Challenge Editor Play screen
- Note: The Round Set Changer would always technically apply to challenges, this is just making it clearer and easier
to change without going back to the normal map play screens
- Note: The Round Set Changer would always technically apply to challenges, this is just making it clearer and easier
3.2.0
Misc Updates
- Added a button that lets you open the Mods Menu from the In Game Pause Screen
- This includes opening Mod Settings menus, but not many settings yet will probably live update in a game
- Added a button in the Mods Menu that can display the SHA 256 hashes of active mods
- Added a new
ModTower.IncludeInMonkeyTeams
override - Fixed some inconsistencies where some simulation behavior extensions would throw exceptions instead of just returning null
- ModHelperData now supports multiline raw strings for descriptions, example
Localization Updates
General
- Added a new button in the Mods Menu to export a mod's localization to a json file, which can be edited to change its
supported displayed text for your language- This goes to a newly added subfolder
Mods/BloonsTD6 Mod Helper/Localization/[Language]
- Edits to files here should refresh the text without requiring a game restart
- This goes to a newly added subfolder
- Added a new Translation Tool page on the website that can
easily put Localization files through Google translate for individual or all supported languages- Using this tool, Mod Helper now contains Localizations for all supported BTD6 language. If you see a way that
one/many of the Google Translations could be improved for your language, you can help out by submitting edits to
the corresponding Language file through GitHub
- Using this tool, Mod Helper now contains Localizations for all supported BTD6 language. If you see a way that
- The text in mods that should be automatically supported for localization editing includes
- Names and Descriptions for Towers, Upgrades, Heroes, Bloons etc
- Names and Descriptions for Mod Settings
- General mod info like the description
For Modders
- The standard btd6.targets import will now automatically embed
/Localization/[Language].json
files in your mod
project- Use the Localization Button on your own mod with active language English to get a starter .json for your mod
- If you paste in the .json content on the website and press the "Translate All" button it will create a .zip file
with all the correctly named .json files you'd need for your mod
- ModHelperText and ModHelperDropdown components now Localize their texts by default
- For Localization Entries, putting text within [Square Brackets] will make it try to fetch existing localization for
that key- e.g.
The description is [DartMonkey Description]
->
The description is Throws a single dart at nearby Bloons. Short range and low pierce but cheap.
- e.g.
- Added new
ModContent.Localize
methods that can add new mod specific localizations from variablesOr within any method/constructor that's going to run as the game loadsprivate static readonly string DoTheThing = ModContent.Localize<MyMod>(nameof(DoTheThing), "Do The Thing!");
The result assigned to thevar doTheThing = ModContent.Localize(nameof(DoTheThing), "Do The Thing!");
DoTheThing
is your mod specific localization key, that you can use in a
ModHelperText.SetText(DoTheThing)
directly or asstring localizedText = DoTheThing.Localize()
otherwise - As before, you can still override the
RegisterText
method in any class that extendsNamedModContent
to
directly add extra stuff to the text tablepublic override void RegisterText(Il2CppSystem.Collections.Generic.Dictionary<string, string> textTable) { base.RegisterText(textTable); // Call the base to still register DisplayName / Description textTable[Id + " Long Description"] = LongDescription; // More specific stuff to your ModContent }
3.1.25
- An error indicator will now show on the main menu Mods Button if any mods have load errors
- Added a new load error for not being on MelonLoader 0.6.1
- Fixed unneeded errors on Epic about Il2CppFacepunch.Steamworks
3.1.24
- Removed a no longer needed patch that had side effects with X/3+/X Mermonkey damage calculations
3.1.23
- Fixed ApplyOutlineShader
- Updated UpgradeTypes and VanillaSprites enums for Mermonkey
3.1.22
This update will require a manual download from GitHub here
-
Initial fixes for BTD6 v44
-
Removed the BypassSavingRestrictions settings as it's no longer needed (hurray!)
- Also removed the AutoHideModdedClientPopup setting as the new popup requests
-
Added a new String extension for GetBtd6Localization (thanks @DarkTerraYT !)
3.1.21
- Initial fixes for BTD6 v43.0
Notes for Modders
- For any place where you previously used
InGame.instance.UnityToSimulation
, just switch it now to eitherInGame.instance.bridge
orInGame.Bridge
orInGame.instance.GetUnityToSimulation()
3.1.20
- Fixed a bug preventing modded heroes from reaching level 20
3.1.19
- Fixed a patch for BTD6 v42.1
3.1.18
- Fixes for BTD6 v42.0
This Mod Helper update will not be able to be made via the in game Mod Browser.
Note for Modders
A large number of mods will need to be updated for this patch, as the namespace
for SpriteReference
, PrefabReference
, and AudioSourceReference
has been changed from Il2CppAssets.Scripts.Utils
to Il2CppNinjaKiwi.Common.ResourceUtils
.