Skip to content

Releases: youneuoy/M2TWEOP-library

M2TWEOP-3.0.2

22 Jan 17:42
Compare
Choose a tag to compare

EOP Logo

Build Status Discord Link ko-fi


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

Download

M2TWEOP-3.0.1

03 Dec 11:23
Compare
Choose a tag to compare

EOP Logo

ko-fi
Discord Link
Build Status

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

Download

M2TWEOP-3.0.0

01 Dec 22:13
Compare
Choose a tag to compare

EOP Logo

ko-fi
Discord Link
Build Status

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

Download

M2TWEOP-2.2.3

12 Aug 19:43
Compare
Choose a tag to compare

EOP Logo

ko-fi
Discord Link
Build Status

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

image

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

image

Links

Download

M2TWEOP-2.2.2

07 Jul 19:35
Compare
Choose a tag to compare

EOP Logo

ko-fi
Discord Link
Build Status

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

Download

M2TWEOP-2.2.1

18 May 11:12
Compare
Choose a tag to compare

EOP Logo

ko-fi
Discord Link
Build Status

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 - youneuoy
  • army: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

Download

M2TWEOP-2.2.0

20 Mar 12:34
Compare
Choose a tag to compare

EOP Logo

ko-fi
Discord Link
Build Status

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 - youneuoy
  • stratmap.objects.replaceTile now works correcly (Broken since M2TWEOP.2.1.beta-35) Closes: #39 - youneuoy
  • stratmap.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

Download

M2TWEOP-2.1.39

12 Mar 23:06
Compare
Choose a tag to compare

EOP Logo

ko-fi
Discord Link
Build Status

;## 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

04 Mar 17:23
Compare
Choose a tag to compare

EOP Logo

ko-fi
Discord Link
Build Status

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

28 Feb 15:28
Compare
Choose a tag to compare

EOP Logo

ko-fi
Discord Link
Build Status

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

Links

Download