NorthEdge.MagicLoaderGenerator 1.3.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package NorthEdge.MagicLoaderGenerator --version 1.3.0
                    
NuGet\Install-Package NorthEdge.MagicLoaderGenerator -Version 1.3.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="NorthEdge.MagicLoaderGenerator" Version="1.3.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="NorthEdge.MagicLoaderGenerator" Version="1.3.0" />
                    
Directory.Packages.props
<PackageReference Include="NorthEdge.MagicLoaderGenerator" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add NorthEdge.MagicLoaderGenerator --version 1.3.0
                    
#r "nuget: NorthEdge.MagicLoaderGenerator, 1.3.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package NorthEdge.MagicLoaderGenerator@1.3.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=NorthEdge.MagicLoaderGenerator&version=1.3.0
                    
Install as a Cake Addin
#tool nuget:?package=NorthEdge.MagicLoaderGenerator&version=1.3.0
                    
Install as a Cake Tool

MagicLoader generator

Description

This library is intended to facilitate the generation of translation files to be used by MagicLoader in order to mod Oblivion: Remastered.

Project and Solution templates are available by using dotnet new as follows:
dotnet new install NorthEdge.MagicLoaderGenerator.Templates (the first time or when updating)
dotnet new mlg-sln -n MyMod for a complete solution or dotnet new mlg-mod -n MyMod for a console project only.

Configuration

The configuration of an application using this library is broken down in several parts. See the sample configuration file.

Filesystem

These parameters control the output of the generator. See:
IModOutputGenerator
FolderOutputGenerator
ZipOutputGenerator
MagicLoaderMod

ModDirectoryStructure

Default value: OblivionRemastered\Content\Dev\ObvData\Data\MagicLoader\

This parameter describes the directory structure generated by the mod.

It is intended to reflect the directory structure of the game so that end-users of the mod can extract the mod archive at the root directory of their game installation.

OutputDirectory

Default value: MagicLoader

This parameter controls where the generator will output the mod file it produces.\

It can be a relative path to the working directory of the executable or an absolute path.

InputDirectory

Default value: Input

This parameter controls where the configuration will look for existing MagicLoader files.\

It can be a relative path to the working directory of the executable or an absolute path.

Localization

These parameters control the loading of the localization data.

LocalizationSource

Default value: Localization

This parameter controls the source of the localization data.

It can be a relative path to the working directory of the executable or an absolute path.
The library only supports loading JSON files extracted using FModel. The expected structure is one folder per language (see Languages below) containing a file named Game.json.
This translation data will not be provided.

IncludedSections

Default value: [ "ST_FullNames" ]

This parameter controls which sections of the game localization data are loaded.

Possible values are : ST_FullNames ST_ResponseTexts ST_ScriptContent ST_BookContent ST_LogEntries ST_HardcodedContent ST_AltarDynamicTexts ST_Descriptions ST_AltarStaticTexts ST_MissingEntries
See: LocalizationFile

MagicLoader can expand translation keys using the following syntax $[[<translation key>]] e.g. $[[LOC_FN_Miscarcand01]]. However, please note that it might not expand keys other than FullNames (starting with LOC_FN_).

This syntax will be used by the default transformer TranslateFileTransform if a localization key is not found for a specific language. For instance, LOC_FN_SancreTor has no translation in French or German.

Languages

Default value: [ "de", "en", "es", "fr", "it", "ja", "pl", "pt", "ru", "zh-Hans" ]

This parameter which languages are loaded by the localization provider which in turn changes the files generated by the mod.

They should have the matching directory in the Localization folder. See LanguagesEnum

Localizations

Default value: []

This parameter allows extra localization data to be added to the localization provider from the configuration.

The keys are the localization keys and, they must start with LOC_FN_. The values are dictionaries with the language codes as keys (see Languages above) and the translation as values. Example:

  "Localizations": {
    "LOC_FN_SoulLevelNameFilled": {
      "de": "Gefüllt",
      "en": "Filled",
      "es": "Completada",
      "fr": "Remplie",
      "it": "Riempito",
      "ja": "満たされた",
      "pl": "Wypełniony",
      "pt": "Cheia",
      "ru": "Заполненный",
      "zh-Hans": "充满"
    }
  }

Mod

These parameters control the output of the generator by describing files and the localization keys to include.

ModName

Default value: MagicLoaderMod

This parameter controls the root directory of the generator output as well as the name of the ZIP archives when using ZipOutputGenerator.

If ModFiles (see below) contains more than one entry, this value will also be used to create a folder inside ModDirectoryStructure.

ModFiles

This parameter describes a dictionary of files to generate using a list of localization keys.

The keys of the dictionary represent the name of the files generated by the mod. The values contain dictionaries representing the sections handled by MagicLoader as their keys and a list of localization keys as their value. The two supported sections are FullNamesEditEntries (FullNames_Edit) and FullNameEntries: (FullNames).
See MagicLoaderFile

Changelog

Version 1.1

  • Initial stable release

Version 1.2

  • Add an overload to MagicLoaderMod::Generate to handle variants
  • Allow extra localization data to be added from the configuration
  • Added support to import existing localization files into the mod

Version 1.2.1

  • Fix an issue with the ZIP creation in ZipOutputGenerator where the ZipArchive wasn't disposed properly before writing the stream to the filesystem

Version 1.3

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 145 5/28/2025
1.3.0 147 5/26/2025
1.2.1 150 5/25/2025
1.2.0 190 5/25/2025 1.2.0 is deprecated because it has critical bugs.
1.1.0 180 5/23/2025 1.1.0 is deprecated because it has critical bugs.