Releases: youneuoy/M2TWEOP-library
M2TWEOP-3.0.2
Release Notes - 3.0.2
These are fixes/features released in the 3.0.2 version
Library
- Fix for alpha channel in
M2TWEOP3dObjects.MakeTextFont
,ChangeColor
for font, etc - Improved internal naming of EOP units added via txt file (MIGHT MAKE UPDATE NON SAVE GAME COMPATIBLE)
Lua Plugin
- Enabled safety checks for Lua events (broken since 3.0)
- Added 2 new parameters - weight, isItalic to
M2TWEOP3dObjects.MakeTextFont
- Fixed spawning EOP units
- Fixed some bugs with eop units in buildings
- Fixed getting unit under fire from
Release Notes - 3.0.1
These are fixes released in the 3.0.1 version
Library
- When enable planned retreat routes, also overwrite all retreats(even AI ones).
- Fixed add building pools for disk version.
- Fixed launching the game with installed M2TWEOP.
- Fixed save files with non-english letters.
- Fixed hotseat settings.
Lua Plugin
- Fixed reading condition requirements for pools.
- Fixed getting stratCharacter from eventData.
Release Notes - 3.0.0
Launcher
- Enabling Discord Rich Presence no longer opens an extra window, it now seamlessly toggles on and off. You just need to use the launcher if you want to enable it. - Medik
- Added a new default theme for the launcher, console and all other EOP GUI elements. - Medik
- Added the ability to configure ImGUI elements (Launcher, Console, ImGUI Lua etc.) via a single toml file. See configuring the EOP launcher tutorial for more information - Medik
- Added an executable GUI that allows you to create the toml files with a GUI tool. Thank you ImThemes. - Medik
- Added tooltips that explain what all the EOP launcher settings do - Medik
- M2TWEOP GUI automatically selects the mod .cfg file if it detects one - Fynn
- Added an uninstaller batch file that deletes all EOP files in the mod folder- Medik
Library
- Added support for DXVK project (Vulcan wrapper over game d3d9 graphics). To try this out simply enable the option in the launcher. For some hardware, this can massively improve performance - youneuoy and Medik
- "Show planned retreat route" no longer shows on the Stratmap Context Menu if the option is disabled in the launcher - Medik
Lua Plugin
Note: The following changes were all made by Fynn
- Added ability to recruit EOPEDU units from buildings
- With this change, the unit cap has now been broken in it's entirety
- Added event that fires after game loads to main menu
- Added
onAiTurn
event as an insertion point for campaign ai altering code - Fixed EOP EDU units as mercenaries causing crashes when gifting or rebelling settlements
- uimanager struct added to game data all where you can get selected units, character, fort, settlement
- Check if unit has an attribute (from edu attributes line)
- Get and set military access between factions
- Get and set faction standing between factions
- College of cardinals struct added
- Global array of forts, ports and watchtowers added to campaign struct
- Get settlement by name function added to campaign struct
- Get religion name added
- Get and set guard mode, fire at will, skirmish of units in battle
- Expansion to unit struct, including many in battle properties
- Added unit position data struct to get some more unit information during battles
- Expansion of campaign struct with difficulty per faction, crusade/jihad structs, fog of war and more
- Added most game options from the game cfg file to lua
- Expansion to character struct with new fields like inEnemyZOC, numTurnsIdle, timeInRegion and much more
- Expansion to faction struct with new fields like battles won/lost, neighbour regions, faction economy, faction rankings, interfaction battle statistics
- Added win conditions like regions to hold and factions to outlive
- Added faction economy with all the information from the financial panel
- Expanded sm factions struct
- Expanded settlement struct with capabilities, recruit pools, tax level, base fertility and more
- Expanded army struct with siege equipment and more
- Added ability to add conditions to recruit pools in the format of edb
- Added ability to use any game condition in lua with M2TWEOP.condition, which can use event context through the eventData
- Expanded tile struct with easy way to locate if it contains characters, settlements, resources and much more
- Expanded region struct with roads, sea trade, harvest success and more
- Added many enums to the luaDocs file for easier coding
- Fixed and expanded battleArmy and battleUnit structs
- Added ability to change some hardcoded campaign difficulty modifiers
- Expanded edu and renamed many fields for consistency
- Added ai structs like the long term goal director, ai production controller and ai personality with changeable values
- Added much of the information the campaign ai uses like free strength, military balance and much more
- All game events improved performance and added to the game, there is a change in how game events provide their parameters (See more below)
Breaking Changes
regionNumber
in settlement struct ->regionID
- Event function has different parameters (see more below)
- Lot of info like different public order and growth types inside settlement struct moved to their own struct
- Many renamed fields in edu entry struct
dipNum
in factionStruct ->factionID
(dipNum still works for compatibility but it is not in docs, you should change it where you use it)
Note: Please use the Lua docs to find problems with obsolete namings
Note: eopLuaHelpers.lua
has not been updated in accordance with the breaking changes.
New Event Structure Example
In the below example the eventData parameter contains 4 fields with information, which you can see in the documentation under "Exports":
---A settlement is being processed for the start of its faction's turn.
-- Exports: settlement, faction, regionID, religion
---@param eventData eventTrigger
function onSettlementTurnStart(eventData)
local faction = eventData.faction
local religion = eventData.religion
end
Links
- Website
- FAQ
- Lua Documentation
- ImGUI Documentation
- Discord
- Installation Video
- M2TWEOP Tutorials
- M2TWEOP Features
Download
M2TWEOP-3.0.1
Release Notes - 3.0.1
These are fixes released in the 3.0.1 version
Library
- When enable planned retreat routes, also overwrite all retreats(even AI ones).
- Fixed add building pools for disk version.
- Fixed launching the game with installed M2TWEOP.
- Fixed save files with non-english letters.
- Fixed hotseat settings.
Lua Plugin
- Fixed reading condition requirements for pools.
- Fixed getting stratCharacter from eventData.
Release Notes - 3.0.0
Launcher
- Enabling Discord Rich Presence no longer opens an extra window, it now seamlessly toggles on and off. You just need to use the launcher if you want to enable it. - Medik
- Added a new default theme for the launcher, console and all other EOP GUI elements. - Medik
- Added the ability to configure ImGUI elements (Launcher, Console, ImGUI Lua etc.) via a single toml file. See configuring the EOP launcher tutorial for more information - Medik
- Added an executable GUI that allows you to create the toml files with a GUI tool. Thank you ImThemes. - Medik
- Added tooltips that explain what all the EOP launcher settings do - Medik
- M2TWEOP GUI automatically selects the mod .cfg file if it detects one - Fynn
- Added an uninstaller batch file that deletes all EOP files in the mod folder- Medik
Library
- Added support for DXVK project (Vulcan wrapper over game d3d9 graphics). To try this out simply enable the option in the launcher. For some hardware, this can massively improve performance - youneuoy and Medik
- "Show planned retreat route" no longer shows on the Stratmap Context Menu if the option is disabled in the launcher - Medik
Lua Plugin
Note: The following changes were all made by Fynn
- Added ability to recruit EOPEDU units from buildings
- With this change, the unit cap has now been broken in it's entirety
- Added event that fires after game loads to main menu
- Added
onAiTurn
event as an insertion point for campaign ai altering code - Fixed EOP EDU units as mercenaries causing crashes when gifting or rebelling settlements
- uimanager struct added to game data all where you can get selected units, character, fort, settlement
- Check if unit has an attribute (from edu attributes line)
- Get and set military access between factions
- Get and set faction standing between factions
- College of cardinals struct added
- Global array of forts, ports and watchtowers added to campaign struct
- Get settlement by name function added to campaign struct
- Get religion name added
- Get and set guard mode, fire at will, skirmish of units in battle
- Expansion to unit struct, including many in battle properties
- Added unit position data struct to get some more unit information during battles
- Expansion of campaign struct with difficulty per faction, crusade/jihad structs, fog of war and more
- Added most game options from the game cfg file to lua
- Expansion to character struct with new fields like inEnemyZOC, numTurnsIdle, timeInRegion and much more
- Expansion to faction struct with new fields like battles won/lost, neighbour regions, faction economy, faction rankings, interfaction battle statistics
- Added win conditions like regions to hold and factions to outlive
- Added faction economy with all the information from the financial panel
- Expanded sm factions struct
- Expanded settlement struct with capabilities, recruit pools, tax level, base fertility and more
- Expanded army struct with siege equipment and more
- Added ability to add conditions to recruit pools in the format of edb
- Added ability to use any game condition in lua with M2TWEOP.condition, which can use event context through the eventData
- Expanded tile struct with easy way to locate if it contains characters, settlements, resources and much more
- Expanded region struct with roads, sea trade, harvest success and more
- Added many enums to the luaDocs file for easier coding
- Fixed and expanded battleArmy and battleUnit structs
- Added ability to change some hardcoded campaign difficulty modifiers
- Expanded edu and renamed many fields for consistency
- Added ai structs like the long term goal director, ai production controller and ai personality with changeable values
- Added much of the information the campaign ai uses like free strength, military balance and much more
- All game events improved performance and added to the game, there is a change in how game events provide their parameters (See more below)
Breaking Changes
regionNumber
in settlement struct ->regionID
- Event function has different parameters (see more below)
- Lot of info like different public order and growth types inside settlement struct moved to their own struct
- Many renamed fields in edu entry struct
dipNum
in factionStruct ->factionID
(dipNum still works for compatibility but it is not in docs, you should change it where you use it)
Note: Please use the Lua docs to find problems with obsolete namings
Note: eopLuaHelpers.lua
has not been updated in accordance with the breaking changes.
New Event Structure Example
In the below example the eventData parameter contains 4 fields with information, which you can see in the documentation under "Exports":
---A settlement is being processed for the start of its faction's turn.
-- Exports: settlement, faction, regionID, religion
---@param eventData eventTrigger
function onSettlementTurnStart(eventData)
local faction = eventData.faction
local religion = eventData.religion
end
Links
- Website
- FAQ
- Lua Documentation
- ImGUI Documentation
- Discord
- Installation Video
- M2TWEOP Tutorials
- M2TWEOP Features
Download
M2TWEOP-3.0.0
Release Notes
Launcher
- Enabling Discord Rich Presence no longer opens an extra window, it now seamlessly toggles on and off. You just need to use the launcher if you want to enable it. - Medik
- Added a new default theme for the launcher, console and all other EOP GUI elements. - Medik
- Added the ability to configure ImGUI elements (Launcher, Console, ImGUI Lua etc.) via a single toml file. See configuring the EOP launcher tutorial for more information - Medik
- Added an executable GUI that allows you to create the toml files with a GUI tool. Thank you ImThemes. - Medik
- Added tooltips that explain what all the EOP launcher settings do - Medik
- M2TWEOP GUI automatically selects the mod .cfg file if it detects one - Fynn
- Added an uninstaller batch file that deletes all EOP files in the mod folder- Medik
Library
- Added support for DXVK project (Vulcan wrapper over game d3d9 graphics). To try this out simply enable the option in the launcher. For some hardware, this can massively improve performance - youneuoy and Medik
- "Show planned retreat route" no longer shows on the Stratmap Context Menu if the option is disabled in the launcher - Medik
Lua Plugin
Note: The following changes were all made by Fynn
- Added ability to recruit EOPEDU units from buildings
- With this change, the unit cap has now been broken in it's entirety
- Added event that fires after game loads to main menu
- Added
onAiTurn
event as an insertion point for campaign ai altering code - Fixed EOP EDU units as mercenaries causing crashes when gifting or rebelling settlements
- uimanager struct added to game data all where you can get selected units, character, fort, settlement
- Check if unit has an attribute (from edu attributes line)
- Get and set military access between factions
- Get and set faction standing between factions
- College of cardinals struct added
- Global array of forts, ports and watchtowers added to campaign struct
- Get settlement by name function added to campaign struct
- Get religion name added
- Get and set guard mode, fire at will, skirmish of units in battle
- Expansion to unit struct, including many in battle properties
- Added unit position data struct to get some more unit information during battles
- Expansion of campaign struct with difficulty per faction, crusade/jihad structs, fog of war and more
- Added most game options from the game cfg file to lua
- Expansion to character struct with new fields like inEnemyZOC, numTurnsIdle, timeInRegion and much more
- Expansion to faction struct with new fields like battles won/lost, neighbour regions, faction economy, faction rankings, interfaction battle statistics
- Added win conditions like regions to hold and factions to outlive
- Added faction economy with all the information from the financial panel
- Expanded sm factions struct
- Expanded settlement struct with capabilities, recruit pools, tax level, base fertility and more
- Expanded army struct with siege equipment and more
- Added ability to add conditions to recruit pools in the format of edb
- Added ability to use any game condition in lua with M2TWEOP.condition, which can use event context through the eventData
- Expanded tile struct with easy way to locate if it contains characters, settlements, resources and much more
- Expanded region struct with roads, sea trade, harvest success and more
- Added many enums to the luaDocs file for easier coding
- Fixed and expanded battleArmy and battleUnit structs
- Added ability to change some hardcoded campaign difficulty modifiers
- Expanded edu and renamed many fields for consistency
- Added ai structs like the long term goal director, ai production controller and ai personality with changeable values
- Added much of the information the campaign ai uses like free strength, military balance and much more
- All game events improved performance and added to the game, there is a change in how game events provide their parameters (See more below)
Breaking Changes
regionNumber
in settlement struct ->regionID
- Event function has different parameters (see more below)
- Lot of info like different public order and growth types inside settlement struct moved to their own struct
- Many renamed fields in edu entry struct
dipNum
in factionStruct ->factionID
(dipNum still works for compatibility but it is not in docs, you should change it where you use it)
Note: Please use the Lua docs to find problems with obsolete namings
Note: eopLuaHelpers.lua
has not been updated in accordance with the breaking changes.
New Event Structure Example
In the below example the eventData parameter contains 4 fields with information, which you can see in the documentation under "Exports":
---A settlement is being processed for the start of its faction's turn.
-- Exports: settlement, faction, regionID, religion
---@param eventData eventTrigger
function onSettlementTurnStart(eventData)
local faction = eventData.faction
local religion = eventData.religion
end
Links
- Website
- FAQ
- Lua Documentation
- ImGUI Documentation
- Discord
- Installation Video
- M2TWEOP Tutorials
- M2TWEOP Features
Download
M2TWEOP-2.2.3
Release Notes
Launcher
- The launcher should no longer throw an error if Discord isn't open/installed - Medik
Library
- Added error handling around loading of FBX models to aid in debugging - Medik
objects.addCharacterCas()
now uses a scale of 0.7 instead of 1.0 by default. Most mods seem to use 0.7 and the default of 1 was causing oversized .cas models. If passing in the scale is important you, please let us know and we can take a look. - Medik
Lua Plugin
- Added new function
M2TWEOP.getTileVisibility(faction, xCoord, yCoord)
. Allows you to check if a faction has seen a tile, similar to onTileSeen() - Medik - Added new function
stackStruct.sortStack(sortType)
. Allows the sorting of units in a stack (Player and AI) based on a variety of options (EDU Type, Experience, Number of Soldiers, etc.) - Medik
EOP_-_Automatic_Unit_Sorting_In_A_Stack.mp4
Lua Plugin
- New function
M2TWEOP.getBattleCamCoords()
. Allows movement of the camera along the X, Y and Z axis beyond the default, max range - Medik
Documentation
- Added a new 'Copy to clipboard button' above code snippets - Medik
- Added a customized version of Prism.js to manage the syntax highlighting of code snippets - Medik
Links
- Website
- FAQ
- Lua Documentation
- ImGUI Documentation
- Discord
- Installation Video
- M2TWEOP Tutorials
- M2TWEOP Features
Download
M2TWEOP-2.2.2
Release Notes
Launcher
- Added Discord Rich Presence support for 30+ mods. Enabled by default. You can toggle it off in the launcher settings. - Medik
Rich Presence is enabled for the following mods. If your mod is not on this list and you would like an integration, please reach out! Note: Make sure to set modTitle
correctly in eopData/uiCfg.json
or your mod may not be detected.
Supported Mods
- Divide and Conquer
- Divide and Conquer: AGO
- Divide and Conquer: AGO (SUS)
- Third Age: Reforged
- Third Age: Total War Extended (4.0)
- Third Age: Total War (Vanilla)
- Silmarillion: Total War
- DCI: Last Alliance
- Tsardoms: Total War
- Insularis Draco
- Elder Scrolls: Total War
- Call of Warhammer: Beginning of The End Times
- Stainless Steel (6.4/SSHIP)
- Game of Thrones: Total War
- Warcraft: Total War
- Rusichi: Total War
- De Bello Mundi
- Chivalry II: The Sicial Vespers
- Medieval 2: Total War (DenMod)
- The Great Conflicts
If the mod is not on the list, you will still get some Rich Presence, albeit without a custom title and image. It will simply say Medieval II: Total War
Links
- Website
- FAQ
- Lua Documentation
- ImGUI Documentation
- Discord
- Installation Video
- M2TWEOP Tutorials
- M2TWEOP Features
Download
M2TWEOP-2.2.1
Release Notes
Launcher
- Removed
M2TWEOP tools.exe
from the release package - Medik
Lua Plugin
character:reposition
will now cause the character to stop sieging/blockading ports - youneuoyarmy:mergeArmies(anotherArmy)
will now not work if the number of units in the resulting army is >20 - youneuoy- Added a new file
helpers/EopLuaHelpers.lua
which includes 50+ community made helper functions - Medik - Added performance optimizations for
loadTexture()
- Medik
Documentation
- Added example code for calculating the window size and drawing centered text and image buttons - Medik
Bugfixes
- Fixed
unit.soldierCountStratMapMax
- youneuoy - Fixed (again)
utf16
->utf8
strings conversion - youneuoy - Fix an online battle generation crash when the faction who created the settlement does not exist - youneuoy
Links
- Website
- FAQ
- Lua Documentation
- ImGUI Documentation
- Discord
- Installation Video
- M2TWEOP Tutorials
- M2TWEOP Features
Download
M2TWEOP-2.2.0
Release Notes
Release with many serious bugfixes and some improvements for 3d graphics stuff.
Lua Plugin
- new table: M2TWEOP3dObjectsTable - used for creating simple 3d objects - youneuoy
- new type: Eop3dText - used for drawing 3d text at game map - youneuoy
Documentation
- updated - youneuoy
Bugfixes
stratmap.objects.setModel
now works correcly for forts(Broken since very old versions, give crash when go back from battle and replaced fort apper in scren) Closes: #39 - youneuoystratmap.objects.replaceTile
now works correcly (Broken since M2TWEOP.2.1.beta-35) Closes: #39 - youneuoystratmap.objects.setModel
now works good with fog of war(In old versions if you not clear see replaced model, then old one displayed) - youneuoy- Online battle generator now reads the config correctly (Broken since M2TWEOP.2.1.37) - youneuoy
- fixed work with utf8-utf16 convertation(the display of some text was broken because of this eop bug) - youneuoy
- fix broken function
settlement:changeOwner(faction)
- youneuoy - fixed crash on returning from tactical map view - youneuoy
Links
- Website
- FAQ
- Lua Documentation
- ImGUI Documentation
- Discord
- Installation Video
- M2TWEOP Tutorials
- M2TWEOP Features
Download
M2TWEOP-2.1.39
;## Release Notes
;### Launcher
;### Library
Lua Plugin
- new config variable - terminateAtLuaException. Set to 1 if you want the game to crash on an error in your script (Lua exception). You will still receive a message detailing the error, but closing it will also close the game. - youneuoy
- Added ability to add new character strategy models and switch models at any time. - Fynn
- You can fire any script command from the game now in lua - Fynn and Jojo00182
- The changers for the localized names for settlement, faction, region, rebels are now struct fields that support getting and setting, the change functions are deprecated. - Fynn
- Expanded the battle related structs a lot including ability to tell who won a battle - Fynn
- Added function to fire historic events with
custom text and body via lua. - Fynn - New event onGeneralDevastatesTile - Fynn
;### ImGUI
;### Documentation
;### Bugfixes
Links
Download
M2TWEOP-2.1.38
Release Notes
Launcher
Library
- new internal thing: casModelsDrawer - youneuoy
Lua Plugin
- stratmap.objects: added functions for start/stop draw any CAS model at any tile, etc(stratmap.objects.startDrawModelAt/stratmap.objects.stopDrawModel - youneuoy
ImGUI
Documentation
- updated
- little fixes
Bugfixes
- fixed crash then moving units in recruit queue - youneuoy
Links
Download
M2TWEOP-2.1.37
Release Notes
Launcher
Library
Lua Plugin
- Added getstack, getwatchtower, getneighbour, getresource, getfort to regionstruct - Fynn
- Added savegame and getgameversion functions - Fynn
- Added get hiddenresource and set hiddenresource to regionstruct - Fynn
ImGUI
Documentation
Bugfixes
- Fixed bugs with mercenaries, especially on disk