Skip to content

@Mpstark Mpstark released this Jun 4, 2019

v0.7.2 for BattleTech 1.6/UW

It is highly recommend to install only mods that are 1.6 compatible! Individual mods may take days/weeks to be updated, mod packs may take even longer.

Please report any issues here

Changes

  • 1.6/UW compatability
  • AdvancedJSONMerges can now have multiple JSON Path matches

Note

From the usual mod crew: a big, huge, massive thank you to HBS for all of your support (though modding is of course unofficial and unsupported). In particular, HBS_Eck has been a killer asset, providing go-between, dev-insights, and just generally being amazing.

Assets 3

@Mpstark Mpstark released this Mar 13, 2019 · 4 commits to master since this release

v0.7.1 for BattleTech 1.5

  • 1.5 compatibility, please report all issues!
  • Fix NRE when no mods in folder

EDIT: Should fine work with 1.5.1

Assets 3

@Mpstark Mpstark released this Feb 21, 2019 · 7 commits to master since this release

ModTek 0.7.0

Thanks to everyone in the BattleTech modding community, most especially the usual crew (you know who you are!) for all of your support.

As with 0.6.*, the ModTek folder goes into the Mods directory and the injector must be run in that folder. If upgrading from 0.6.*, you shouldn't need to reinject.

Please report any issues that you find with ModTek 0.7.0.

Features

  • Mods can now declare custom resources to share files between several mods (#122) (thanks @CptMoore @Denadan for suggestions/ideas)
    • These resources are subject all forms of JSON merging
  • FinishedLoading methods will be called for mods that declare them
    • Currently can get: List<string> loadOrder and Dictionary<string, Dictionary<string, VersionManifestEntry>> customResources
    • These parameters can be declared in any order (or omitted) in FinishLoading's signature
  • Mods can now remove entries from the manifest by ID (#38)
  • Mods can now append .csv and .txt files (using manifest entry flag ShouldAppendText) (#117)
    • example: adding to particular ItemCollections (for shops/rewards)
  • GameTip files can now be appended to or replaced by mods (#71)
  • SoundBank files can now be replaced by mods (#60)
  • Debug settings (StreamingAssets/data/debug/settings.json) can now be merged on or replaced by mods
  • AdvancedJSONMerges can now target multiple IDs by using TargetIDs (a list of strings) instead of TargetID

Fixes

  • Injector should be more clear with the detect flag (@janxious)

Technical Changes

  • Large code refactor/organization
  • Mod Init methods are now called aware of parameter names
    • Fallback to purely type-based Init call if cannot find exact matches
Assets 3

@Mpstark Mpstark released this Feb 3, 2019 · 59 commits to master since this release

ModTek 0.6.1

For BattleTech 1.4 and above

Please delete .modtek folder if upgrading!

IMPORTANT

- Notice copied from 0.6.0 release -

  • We've changed how things are organized -- ModTek, the new ModTek injector, and all support files now live in: {BattleTech directory}/Mods/ModTek. DO NOT PUT ANY FILES IN MANAGED!
  • Individual mods will likely need to be updated to support BattleTech 1.4. Please be patient with modders as they update their mods.

Fixes

  • MDDB now properly loads from modded location (thanks for report/testing @JustinKaseToo)
    • This means that modded content should show up again from the DB

Misc. Changes

  • MDDB no longer writes to database location on game exit -- this patch will only affect BattleTech version 1.4.0
  • Version number should be truncated to semantic version in every place that it is displayed
  • Injector no longer has dependencies wrapped into .exe, as this was broken on some flavors of Linux (thanks @EddyBuhler)
Assets 3

@Mpstark Mpstark released this Feb 1, 2019 · 62 commits to master since this release

ModTek 0.6.0

Should support BattleTech 1.4 -- PLEASE REPORT ALL ISSUES! Will not work on BattleTech 1.3.2 or earlier.

IMPORTANT

  • We've changed how things are organized -- ModTek, the new ModTek injector, and all support files now live in: {BattleTech directory}/Mods/ModTek. DO NOT PUT ANY FILES IN MANAGED!

  • Individual mods will likely need to be updated to support BattleTech 1.4. Please be patient with modders as they update their mods.

Functionality

  • Integrated BTML into ModTek
    • One project, single download, single directory
    • No mod files go into the Managed directory
    • As noted above, this means that all files from ModTek should now be in BATTLETECH/Mods/ModTek/
    • Documentation is still being updated!
  • Mod assemblies that have dependants should now resolve even if dependant linked against different version (@CptMoore)
    • Can disable this behavior in mod.json by adding field "EnableAssemblyVersionCheck": true,

Error Handling

  • If a DLL fails to load or throws an exception during load, don't load other files or dependacies
Assets 3

@Mpstark Mpstark released this Jan 23, 2019 · 91 commits to master since this release

ModTek v0.5.1

It is expected that ModTek will need to be updated when BattleTech 1.4 comes out, whenever that is.

Functionality

  • Mods that declare conflicts will not load if their conflict could be loaded
  • Conflicts are now unidirectional instead of bidirectional
  • Add config.json in .modtek that will contain configuration for ModTek itself

Performance/Optimization

  • Clears internal data structures when loading is finished, freeing that memory up

Error Handling

  • Informational popup on Main Menu load that shows mods that failed to load
  • Progress Panel will show if ModTek encounters exception that kills it
  • Show logged errors during game load screen
    • Infinite load screens should be easier to differentiate from long load screens
    • Whitelist for these errors is in config.json -- default is just showing missing assets
    • Mod authors will likely want to turn the whitelist off, to show all errors
  • Show logged errors as popup if not during a loadscreen
    • Same rules as above
  • Don't load mods that have their dependancies fail to load
  • Better error messages when JSON fails to parse

mod.json

  • Add BattleTechVersion, BattleTechVersionMin, BattleTechVersionMax fields
    • Allows mods to specify what BattleTech version that they should load for
  • Add IgnoreLoadFailure, which will skip popup and log messages if that mod doesn't load

Bugfixes

  • Don't throw an exception when logging an exception
  • Log should now write when ModTek dies (thanks Pode)
Assets 3

@Mpstark Mpstark released this Jan 13, 2019 · 136 commits to master since this release

ModTek v0.5.0

Note: I had to yank this release and release it again with a couple changes. This happened within a couple hours of release. If you're unsure, redownload.

Performance

  • Search original VersionManifest by id instead of by absolute path
  • Don't open/close a new file handle for every log message (@m22spencer)
  • Do more than a single "chunk" per frame of the loading screen (@m22spencer)
  • Read/parse JSON files only a single time per file

Functionality

  • Add advanced JSON merges using JSONPath, this will allow for much finer control over what to do with a JSON merge (@CptMoore)
  • Swap to directly patching BattleTechResourceLoader instead of patching VersionManifest, should have better compatability with DLC
  • Swap to relative paths for merge/db cache, and swap to id based type cache
  • Add OptionallyDependsOn field in mod.json, which allows mods to specify mods that they should load after, but only if they're installed

Bugfixes/Misc

  • Fix merges onto replaced game files (thanks JK for testing)
  • Fix oddness with paths using different path seperators (in caches in particular)
  • Progress bar now is finer grained and more representative of overall loading of each step
  • Change logging to be more informative, less repetive (except when repeating is helpful)
  • Delete empty merge cache folders
  • Code organization and some refactoring

Thanks

All of this would not have been possible without the incredible support of:

Assets 3

@Mpstark Mpstark released this Jan 3, 2019 · 174 commits to master since this release

Compatible with BattleTech 1.3 / Flashpoint

This release was originally cut by janxious on Nov. 29th, 2018

Assets 3

@Mpstark Mpstark released this Jun 21, 2018 · 213 commits to master since this release

Minor release.

  • Compiled/linked against BattleTech release 1.1.
Assets 3

@Mpstark Mpstark released this Jun 8, 2018 · 214 commits to master since this release

Minor release

  • Fix conflicts
Assets 3
You can’t perform that action at this time.