Skip to content

Commit

Permalink
Updated: Template Mod & Changelog Template
Browse files Browse the repository at this point in the history
  • Loading branch information
Sewer56 committed Apr 8, 2023
1 parent 2839b6a commit 3dda67c
Show file tree
Hide file tree
Showing 2 changed files with 48 additions and 21 deletions.
67 changes: 47 additions & 20 deletions changelog-template.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -5,33 +5,60 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/)
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## Release (1.23) Highlights
## Release (1.24) Highlights

This release focuses on memory and load speed optimisations.
This is a very small feature update mostly consisting of community PRs.

***Launcher Changes***:
- Added: Support for assigning tags to mods, mods can now use tags to help end users filter their mod collection.
- This includes support for some automated tags, e.g. `Has Code Injection`.
### Custom Controls for Mod Configurations

- Fixed: Bug that prevented users from selecting other mods after updating a mod in `Edit Mod` menu.
@jroweboy added the ability additional controls developers can use in their mods ![image](https://user-images.githubusercontent.com/952515/227748620-6b25b471-12c9-461b-9c8b-d387a716d54f.png);

***Space and Memory Related Changes***:
- Changed: Loader now uses hooking functionality from `Reloaded.SharedLib.Hooks` mod, as opposed to including its own hooking library. (Saves ~1.4MiB)
- Changed: Bootstrapper library now dynamically links with Visual C++ Runtime using custom build of .NET Runtime's `libnethost`. (Saves ~300KiB)
- Removed: JSON parser from boostrapper, now uses Environment Variables (Saves ~200KiB)
- Added: Full GC After Loader Initialisation. In practice most mods idle outside the occasional hooks.
- Mods can now use `ExcludeAssets="runtime"` in NuGet PackageReference(s) to not unnecessarily include DLLs from interfaces/DI packages.
The 3 new custom controls are:
```
Slider: Horizontal Slider with an optional textbox to display the value
FilePicker: Textbox with a button to open a `OpenFileDialog`.
FolderPicker: Textbox with a button to open a custom `FolderSelectDialog`.
```

***Load Speed Related Changes***:
- Changed: Mod loading logic/model now is singlethreaded (again) but with merged preparing and initialising step. Will not interface/DI DLLs unused at runtime from disk.
- Added: Mod loader now caches whether mods can unload and/or have exports as part of `ModConfig.json`.
- This change is what allows for preparing and initialising to be done in one step.
Example usage:

***CI/CD***
- Builds produced by CI should now hopefully be more deterministic.
```csharp
[DisplayName("Int Slider")]
[Description("This is a int that uses a slider control similar to a volume control slider.")]
[DefaultValue(100)]
[SliderControlParams(/* Settings here */)]
public int IntSlider { get; set; } = 100;

***Other***
- Loader: Now prints unsuccessful attempts at calls to GetController API.
[DisplayName("Double Slider")]
[Description("This is a double that uses a slider control without any frills.")]
[DefaultValue(0.5)]
[SliderControlParams(minimum: 0.0, maximum: 1.0)]
public double DoubleSlider { get; set; } = 0.5;

[DisplayName("File Picker")]
[Description("This is a sample file picker.")]
[DefaultValue("")]
[FilePickerParams(title:"Choose a File to load from")]
public string File { get; set; } = "";

[DisplayName("Folder Picker")]
[Description("Opens a file picker but locked to only allow folder selections.")]
[DefaultValue("")]
[FolderPickerParams(/* Settings here */)]
public string Folder { get; set; } = "";
```

### Added Localization for Traditional Chinese (TW)

@EditorKos contributed a localization for `zh-TW` locale.

### Fixes

- Mod Packs can now use custom `ReleaseMetadataFileName(s)`. (thanks @jroweboy)
- Mods from GameBanana which specify custom additional contributors/authors no longer breaks mod search.
- GameBanana (probably unintentionally) made a change to how one of the fields is returned.
- And that broke things... so I added a workaround.
- I also need to update the cache server; please give it a moment after the update goes live.

## Complete Changes

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<PropertyGroup>
<PackageType>Template</PackageType>
<PackageVersion>1.5.0</PackageVersion>
<PackageVersion>1.6.0</PackageVersion>
<PackageId>Reloaded.Mod.Templates</PackageId>
<Title>Reloaded-II Mod Templates</Title>
<Authors>Sewer56</Authors>
Expand Down

0 comments on commit 3dda67c

Please sign in to comment.