We just released op2ext 3.0.0. Hooman completed the bulk of the work and I filled in some minor parts and completed some of the manual testing. This change represents an extensive rewrite of the backend and a lot of improvements. Release notes are below.
You can download from here:
https://github.com/OutpostUniverse/op2ext/releases----
Outpost 2 Extension Modules (op2ext) Version 3.0.0Outpost 2 extension module loader (op2ext) allows modifying and extending Outpost 2 through loading of alternate game resources or injecting independently compiled DLLs. Read more about Outpost 2 and the Outpost Universe Community at
https://www.outpost2.net/.
Version 3.0.0This version introduces breaking changes from 2.2.0 by removing the public functions IsConsoleModuleLoaded & IsIniModuleLoaded. Additionally, the format of data in the Outpost2.ini file has been updated. A user must reformat 2 sections of the .ini file to incorporate this version of op2ext. See instructions below the change log.
* Remove public functions IsConsoleModuleLoaded & IsIniModuleLoaded
- Breaking change from version 2.2.0
* Allow loading multiple console modules
* Allow GetConsoleModDir_s to also return the directory of an ini module
* Allow Logging error and debug messages from modules
- LogError
- LogDebug
* Add function hook for "Run" in ini modules
- Matches corresponding Run function hook in console modules
* Add concept of Built in Modules within op2ext
- Repackage IPDropDown as a Built in Module
- Add Earthworker Proximity Tasking as a Built in Module
* Allow toggling modules on and off using the Outpost2.ini file
- NOTICE: The INI file must be updated to new format when switching to this version of op2ext
* Improve logging framework
* Full support of mingw for compiling on Linux for Windows/Wine
* Significant backend archicture improvements
- Unify console and ini module loading
- Improve memory patching techniques
- Improve support of ini files
- Improve coverage of unit tests and support gmock
- Use continuous integration results to autopopulate release builds
How to update the Outpost2.ini file to be compatible with op2ext 3.0.0Remove the LoadAddons line from the Game section (it is now replaced by the ExternalModules section)
[Game]
LoadAddons = "NetFix, NetHelper"Add the following sections to the ini file:
[BuiltInModules]
EarthworkerProximityTasking = yes
IPDropDown = yes
[ExternalModules]
NetFix = yes
NetHelper = yes