21/06
REX / M2EX - 21/06
Two headline features this time: faction renaming and unit conversion/upgrades. Plus a big batch of new EDU/EDB modding attributes, much faster end turns, HD terrain for Rome, and a pile of crash fixes. :D
Important: old REX/M2EX saves still load. As usual, new saves use a slightly upgraded format and are not backward-compatible in older versions.
New Features
- Added faction renaming. Click your faction's name in the faction overview scroll and type a new one. It's saved in your campaign and shows up everywhere the faction name appears (diplomacy, rankings, event messages). You can't reuse a name another faction already has. (RTW/M2TW)
- Added unit conversion / upgrades. You can re-equip a garrisoned unit into another type in a settlement (peasant spearmen into proper spearmen, archers into Trebizond archers, etc.), keeping its experience instead of disbanding and training from scratch. It shows up as an extra "recruit" item in the settlement scroll. (RTW/M2TW)
- Conversions keep unit strength as a fraction (a 60%-strength unit stays 60% after the swap, even if the unit count differs) and scale XP by the configured amount. Generals' bodyguards only convert into other bodyguards, so you can re-equip a general without losing his head. (RTW/M2TW)
- Upgrade options show the destination unit's card and a tooltip like "Upgrade to X". Lockey is
{SMT_UPGRADE_TO}if you want to retext or translate it. (RTW/M2TW)
Performance
- Made end-turn times roughly 20-40x faster. (RTW/M2TW)
Battle
- Quitting a sally-out battle now reflects what actually happened. Bail before the armies meet and you instantly lose; quit once fighting is under way and the game auto-resolves from the current state, so a winning position no longer hands you a free loss. (RTW/M2TW)
- Fixed
short_pikeunits without a sidearm running at the enemy with pikes pointed in the air when out of phalanx. They now lower the pike to fight, including while charging or being charged. (RTW) - Short pikes now brace two ranks deep in phalanx instead of four, matching their shorter reach. (RTW)
Campaign & AI
- Fixed the AI treating a huge demanded yearly tribute (e.g. 999999 for 3000 turns) as a giant gift: the duration overflowed its valuation, so it happily accepted anything bundled with the extortion. Demanded yearly tributes over 20 turns are now ignored, same as offered ones already were. (RTW/M2TW)
- Fixed the sally-out exploit, baiting the AI into sallying against a weak besieging army while a strong stack sits next to it. The garrison now weighs the besieger's nearby reinforcements, not just the besieging army itself. (RTW/M2TW)
- Fixed roads not visually downgrading when a road building is demolished or destroyed. (RTW/M2TW)
- Fixed farm levels the same way: losing a farm building now lowers the region's farming level instead of freezing it at the highest ever built. (RTW/M2TW)
Diplomacy
- The AI now trades map information freely as a basic courtesy. Any faction you're not at war with shares and accepts map info for no gold. (RTW/M2TW)
- The AI offers map information unprompted when working out a deal with a faction it's friendly or neutral with, instead of only when asked. (RTW/M2TW)
- Map information now reveals the whole map the other faction has explored, instead of only the terrain their units happened to be seeing that turn. Much less annoying with black fog of war. (RTW/M2TW)
- Removed the same-turn lockout after a failed meeting, where the AI would refuse all further deals once it declined one. (RTW/M2TW)
- Diplomats and princesses can now perform multiple diplomacy actions per turn. It does not affect the AI, so no diplospam. (M2TW)
Graphics & Rendering
- New HD terrain for Rome. (RTW)
- Fixed units twitching when they turn. (RTW)
Camera & Controls
- Changed the default controls to the FPS keyset (WASD to pan, Q/E to rotate), which pairs well with the RTS battle camera, instead of the old numpad/arrow-key defaults. (RTW/M2TW)
- Fixed the RTS battle camera bumping upward when panning close to rising terrain or walls. It now clips through terrain and buildings instead. (RTW/M2TW)
- Fixed the Total War camera's keyboard controls being reversed (A/D and Q/E swapped). (RTW)
- Fixed RTS camera keyboard panning going floaty and laggy after the cursor touched a screen edge. (M2TW)
- Widened the Total War camera's middle-mouse look so you can angle it nearly top-down, matching the RTS camera's expanded range. (RTW/M2TW)
- Added a cursor-lock preference that confines the mouse to the game window in any display mode, so it no longer escapes onto a second monitor mid-battle. Off by default; set
controls.lock_cursorin the M2 prefs orLOCK_CURSOR:TRUEin RTW's preferences.txt. Alt-tab still works. (RTW/M2TW) - Fixed cursor clipping being lost after the first alt-tab, so the lock now survives alt-tabbing. (Retail already had cursor locking in fullscreen.) (RTW/M2TW)
- Fixed the campaign map losing mousewheel zoom after you scrolled a unit/trait list in a character or army page and closed it with esc while the cursor was still over the list. (RTW/M2TW)
UI & Settings
- Nicely textured movement bar, with @Æonflux. (M2TW)
- Fixed the Radar Faction Colours setting not saving; it reset to default on every quit. It persists across restarts now. (RTW/M2TW)
- Fixed unit cards turning invisible when you select multiple units and drag their cards in battle. The units were still there and clickable, just not drawn. Same fix covers dragging multiple unit or character cards on the campaign map. (RTW/M2TW)
- Fixed dragging a unit card onto a same-type unit on the campaign map doing both a merge and a swap at once. (RTW/M2TW)
- The building browser now shows the actual value for
trade_base_income_bonus(as a %, so level 2 reads "20%") andtrade_level_bonus(as +N levels), instead of a generic "Increase in trade" line. (RTW/M2TW) - The video options now list every resolution your monitor supports. Removed the old max-resolution cap that could hide your native res when an old preferences.txt had a stale value stuck (an old monitor, or Rome's legacy 1600x1200 maximum). (RTW)
- Moved the region name up so the settlement scroll no longer overflows onto the buttons at the bottom. (RTW/M2TW)
- The "control your AI reinforcement armies" option is no longer missing in mods (still off by default). (M2TW)
- The AI support army Show/Hide/Slide setting in the minimal battle HUD options is now available in all games, not just mods. (M2TW)
- The "Settlement infiltrated" spy text now shows whenever you have a chance to open the gates, not just in mods. (M2TW)
Campaign Minimap
- Added a
minimap_modepreference to switch the minimap between the political map (political, default), region borders over plain terrain (borders), and a terrain-only map (terrain). (RTW/M2TW) - Improved how visible internal province borders are by default. Faction colours without an explicit
tertiary_colournow get a contrasting border instead of a flat 60% darken, which was invisible on dark colours. (RTW/M2TW) - Added a
minimap_border_stylepreference; set it todoubleto draw faction frontiers in both neighbours' colours side by side. (RTW/M2TW) - Added a
minimap_province_colouroverride to draw every internal region line in one fixed colour instead of per-faction, for the classic look. (RTW/M2TW) - Made the minimap border widths (internal and external) configurable via
minimap_*preferences. (RTW/M2TW) - Made the minimap border, internal/filler, explored-not-visible, wasteland and shroud opacities configurable in the preferences. (RTW/M2TW)
Scripting & Console
- Added
IsSeason winter|spring|summer|autumn, a condition that checks the current campaign season. Works in the EDCT, EDA and campaign scripts, e.g.Condition IsSeason summerornot IsSeason winter. (RTW/M2TW) - Added
rename_faction,rename_settlementandrename_regionscript commands, e.g.rename_faction byzantium, "Empire of Nicaea"for a literal name orrename_faction byzantium, SMT_NICAEAfor a loc from expanded.txt. Regions use their id from descr_regions, and local/target work as usual. (RTW/M2TW) - The same three exist as console commands, e.g.
rename_faction byzantium "Empire of Nicaea". Note: no comma in the console form, just a space. (RTW/M2TW)
Modding: New EDU Attributes
expendable: when these troops rout, they don't panic nearby non-expendable units. (RTW/M2TW)elitist: ignores morale shock from non-elitist units routing nearby, and isn't boosted by lesser enemies fleeing. (RTW/M2TW)steadfast: reduced morale drop from nearby routing units. (RTW/M2TW)intimidate: projects a low-level fear aura against nearby enemies. (RTW/M2TW)relentless: accumulates fatigue more slowly. (RTW/M2TW)disciplined_missile: missile troops tire more slowly. (RTW/M2TW)inexhaustible: never gets fatigued at all. (RTW/M2TW)disciplined_charge: the unit's charge bonus decays more slowly in combat. (RTW/M2TW)aggressive_push: gives a larger charge bonus. (RTW/M2TW)brace_for_charge: a stationary, braced unit halves the impact of an incoming charge. (RTW/M2TW)desert_raider: combat bonus when fighting on sand. (RTW/M2TW)forest_ambusher: combat bonus when fighting in dense forest. (RTW/M2TW)police: garrisoning these troops improves the settlement's public order, scaled by unit size. (RTW/M2TW)troublemaker: garrisoning these troops worsens public order and gives negative admin income, scaled by unit size. (RTW/M2TW)infinite_ammo: the unit fires without ever running out of ammunition. (RTW/M2TW)no_scale: the unit doesn't scale with the unit-size setting. (RTW/M2TW)single_entity: a general with this bypasses the minimum-4 bodyguard floor and the leader/influence size bonuses, so the bodyguard is strictly its EDU size. True 1-man general units now spawn correctly. (RTW/M2TW)client_kingdom_only_units: only protectorate/subject factions may recruit the unit. Toggle the whole mechanic withclient_kingdom_only_units_enablein descr_ex. (RTW/M2TW)capturable_eagle: any unit with this can lose its standard to the enemy on defeat, unhardcoding the old Roman-cohort-only eagle-capture mechanic. (RTW)- Ported the Medieval II
move_speed_modEDU line to Rome, which scales how fast a unit moves on the battlefield. (RTW) - Nonsense soldier counts in the EDU are now clamped to a valid range instead of producing a broken unit. (RTW/M2TW)
- Big shoutout to @drugdealer GunRunner Albanian for most of the new EDU/EDB effects. <3
Modding: Buildings (EDB)
- Added EDB condition aliases: name a requires condition once with
alias <name> { requires ... }, then reuse it as<name>in any building's requires line. Aliases can span multiple lines, use and/or/not/parentheses, and reference earlier aliases recursively. An optionaldisplay_string <lockey>sets the tech-tree text shown while the requirement is unmet. Can cut thousands of lines of typing. (RTW/M2TW) - Added building exclusivity tags (unhardcoded temples). Define a group with a top-level
tags { ... }block, mark buildings withtag <name>, then useno_building_tagged <tag> [queued]in conditions to forbid construction when another tagged building is present.queuedalso counts queued buildings. (RTW/M2TW) - Added
destroy_on_conquestanddowngrade_on_conquest, optional per-level EDB keywords. On conquest (not gift / rebel flip), each building rolls to be removed or knocked down a level, so conquerors have to rebuild the province. Takes a 0-1 chance likedestroy_on_conquest 0.6, or omit the number for guaranteed. (RTW/M2TW) - Building costs in the EDB can now be negative, for buildings that pay you to construct them. (RTW/M2TW)
- Lifted the building construction-points cap from 255, so slow or expensive buildings can use larger values. (RTW/M2TW)
- Added a
religious_unrest_bonusEDB capability: lowers religious unrest in a settlement, or raises it with a negative value. It only adjusts religions actually present and causing unrest, so it can't conjure phantom order pips at 0% presence. (RTW) - Fixed the
faction_leader_traitandfaction_leader_attributebuilding conditions rejecting every trait name with "Unrecognised trait", which crashed on launch if used in EDB. (RTW/M2TW) - Fixed
recruits_cost_bonus_navalthrowing "Invalid capability specifier". It's now accepted as an alias ofrecruitment_cost_bonus_naval. (RTW/M2TW) - Fixed
recruits_cost_bonus_missilealso discounting siege engines and ships (which have their own tokens). It now covers only foot and horse archers. (RTW/M2TW)
Modding: Unit Conversion
- Enable conversions in the EDU with
convert <type> [cost N] [time N] [xp F], e.g.convert Feudal Knights cost 600 time 2 xp 1.0. Skip cost/time to inherit the target's recruitment values, skip xp to keep all experience (1.0). You can chain conversions both ways to make swaps or downgrades. (RTW/M2TW)
Modding: Economy & Settlements
- Added
population_on_recruitto descr_caps_ex, controlling whether recruiting a unit costs settlement population (and whether cancelling a queued unit refunds it). It's separate frompopulation_on_disband, so recruiting can cost population that disbanding never gives back. Defaults to vanilla (on for RTW, off for M2TW). (RTW/M2TW) - Added
population_normaliseto descr_caps_ex, controlling whether a unit's population cost scales with unit size. On, a 60-man peasant unit costs 60 population regardless of the size setting instead of 240+. Off by default. (RTW/M2TW) - M2TW recruitment can now properly cost settlement population, with disbanding or cancelling refunding it. Off by default, controlled by
population_on_recruitandpopulation_on_disband. (M2TW) - Added
unit_upgrade_cost_multiplierto descr_ex, scaling the gold cost of weapon and armour upgrades. (RTW/M2TW) - Added
region_income_multiplierto descr_regions, scaling all of a province's income (farm, tax, mining and trade). (RTW/M2TW) - Added descr_settlement_mechanics.xml to RTW, so you can edit the population thresholds for each settlement level (base, upgrade, min, max) instead of the hardcoded values. Same file and format as Medieval II. (RTW)
- RTW can now scale and clamp every settlement factor feeding population growth, public order and income through one file, e.g.
<factor name="SOF_SQUALOUR" modifier="0.5" min="0" max="16"/>to halve squalor's unrest. All factors default tomodifier="1.0". (RTW) - Gave the
<factor>modifiers a cleaner attribute syntax (modifier,min,max) instead of nested<pip_modifier value="...">tags. Medieval II reads the new form too. (RTW/M2TW)
Modding: Misc
- Added descr_unit_sizes.txt to define your own unit-size steps for the battle options dropdown, each a localised label plus a multiplier, instead of the fixed Small/Normal/Large/Huge. Lines are
unit_size <text_key> <multiplier>. (RTW/M2TW) - M2TW tower reload now scales smoothly with any unit-size multiplier instead of being tied to 4 fixed size entries. (M2TW)
- Renamed descr_campaign_ai_db.xml to descr_campaign_ai_db_ex.xml. The format is unchanged, but old files are intentionally ignored, since they mostly just leave the AI stuck and make a bad first impression. To keep your mod's LTGD AI changes, fix the behaviour and rename your file. (M2TW)
- Added a new
tertiary_colourto descr_sm_factions (aftersecondary_colour) for the internal province borders, so you can restore the original minimap look.primary_colouris the land fill,secondary_colourthe faction borders. Omittertiary_colourand it defaults to a slight darken of the primary. (RTW/M2TW)
Stability & Crash Fixes
- Fixed a crash when loading a savegame that doesn't match the installed mod (e.g. a different faction roster than the current descr_sm_factions.txt). It now drops you back to the menu with a "Failed to load savegame" message instead of crashing. (RTW/M2TW)
- Fixed a follow-up crash when loading a second save after one had already failed, so you no longer have to restart the game to keep trying. (RTW/M2TW)
- Fixed a crash that could eat 16+ GB of RAM and then assert with "failed to lock buffers" when editing rivers or coastlines on the campaign map. (RTW/M2TW)
- Fixed a crash when opening the battle location info panel on a tile whose climate or ground type had no matching text entry. It now shows a blank field; check your descr_climates and strings if a field comes up empty. (RTW/M2TW)
- Fixed a crash when a script fires an
emergent_factionevent for a faction not in the campaign. The faction just fails to emerge and logs the name instead of crashing. (RTW/M2TW) - Fixed a crash when an AI faction assaulted a settlement in a climate/season your weather_db.xml had no pattern for. That tile now uses default weather instead of crashing at end of turn. (M2TW)
- Fixed a crash when an EDB condition alias body had a parse error. The game now prints a proper "Script Error" with line/column naming the bad token, so you can find the typo. (M2TW)
- Fixed the loading screen freezing for some players, mostly on Linux/Proton in borderless mode. Alt-tab used to revive it; that workaround shouldn't be needed now. (RTW/M2TW)
- Borderless windows no longer minimise themselves on focus loss, so no more random tab-outs. (RTW/M2TW)
- Fixed the Senate tab missing from the faction overview when playing a Roman faction in a freshly started campaign. (RTW)
- Fixed UI and button sounds sometimes going completely silent for a whole session while music kept playing, usually on first launch. A skipped intro movie or animated menu could leave the sound system stuck mid-loading, muting all sound effects until restart. (RTW/M2TW)