Releases: CnCNet/WorldAlteringEditor
Release list
v1.9.0 (Beta)
Major update. Due to the large amount of architectural changes in this version, consider this version a beta - most functionality should work, but it's not impossible that a bug or two have slipped through.
MCP Server Support for AI Agents
WAE can now host a MCP (Model Context Protocol) server. This exposes the map editor to AI/LLM agents, allowing AI agents to perform various tasks on the map, including
- modifying terrain
- drawing connected tiles
- using the terrain generator
- placing terrain objects, buildings, vehicles, infantry, aircraft, overlays, waypoints...
- editing existing technos
- erasing objects
- querying WAE's loaded rules data and game engine scripting possibilities
- adding and modifying scripting elements
The MCP server is usable with standard agents like ChatGPT and Claude if you run them on the same computer with WAE. Technically AI agents can even generate entire maps, though at least currently they are more suitable for limited, better defined tasks.
I've personally used the MCP server with ChatGPT and had some useful results. I'll share a few examples below.
Example Prompts
Civilian truck generation:
I have the World-Altering Editor running with a map open.
Using the MCP server running at http://127.0.0.1:7743/, could you place a few dozen trucks of various types on the unoccupied cells between (230, 108) and (232, 121)? They should be owned by the "Civilians" house, have Sleep as their mission, and each have random Facing between 176 and 208.
AITrigger scripting:
I have the World-Altering Editor running an MCP server at http://127.0.0.1:7743/
Using the MCP server, could you create me an AITrigger and relevant TaskForce/Script/TeamType combination?
Call it "H GDI MTNK + MSAM". It should use the existing "Hunt" script, and contain 10 Medium Tanks (AIMTNK) and 6 Rocket Launchers (AIMSAM).
I've created this large urban map with ~1000 civilian buildings. Could you go through the buildings and place 1-3 civilian cars next to each building? Each car should either face the building or be parallel to it. Put each car to "Sleep" mode.
The AI also succeeded in performing this task, though the resulting image would be way too big here.
Please note that the MCP server feature is experimental and due to its large scale, I've only been able to give it limited testing in relation to its capabilities. If you have any feedback on what the MCP server could do better, please share it on the appropriate Discord channels.
You can also configure the mapping instructions WAE gives to the MCP server by supplying your own AIMappingInstructions.md file in the Config folder. The default instructions, found in the Default folder, are likely unoptimal for mods that heavily modify stock TS&YR assets.
Connected Tiles Tool Improvements
While the MCP server has taken the bulk of the work for this release, the Connected Tiles tool has also received some attention.
- The Connected Tiles tool can now form closed formations, such as circles.
- The Connected Tiles tool can now also create endings for supported connected tile types.
Other Changes
- The "Copy Custom Shape" tool now allows clearing the selection by pressing ESC
- The "Flatten Ground" tool now defaults to 3x3 brush size
- Low-level file loading code (MIX, CSF, IsoMapPack5) no longer assumes that the local system is little-endian (like x86/AMD64). Files are now parsed correctly regardless of the endianness of the platform that the code is run on.
- WAE has been split from a monolithic executable to 3 different modules:
MapEditorLibrary.dll,MapEditorMCP.dll, andWorldAlteringEditor.exe/.dll. This enforces stricter architecture design and keeps the MCP server as its own component that the rest of WAE is not dependent on. - Fixed a bug where techno range indicators did not show up when technos were being placed (Credits: NayiemW)
- Fixed a bug where
Edit -> Map Size...calculated map cell count incorrectly - Fixed a bug where, after attempting to paint terrain on a non-clear cell with "Only Paint on Clear" enabled, subsequent painting actions on the same cell were ignored even if the "Only Paint on Clear" option was changed
- Fixed a rare (one in 2,600 chance) bug where WAE failed to open a map after it had been saved due to a bug in the LZO decoder
- (DTA) Added terrain object collections for bushes
Known issue: The download bundles an unnecessary file/folder, runtimes. It is harmless, and you can safely delete it without affecting any WAE functionality. I'll sort it out for the next release.
v1.8.9
- Fixed a bug where the flattening tool did not work properly on map edges (Credits: ZivDero)
- Fixed a bug where the house names in the sidebar's object owner dropdown were not updated when a house was renamed (Credits: Rampastring)
- Fixed unintuitive UX where the tunnel drawing tool was overridden by the check distance tool when you pressed B without having a tunnel active (Credits: Rampastring)
- Fixed a bug where the TileSet list box got its scroll position reseted to 0 on first click after clearing a TileSet search query (Credits: Rampastring)
- (TS+YR) Fixed "Smoothen Water" script not compiling (Credits: ZivDero)
- (DTA) Fixed "Apply Animated Water" script not compiling (Credits: Rampastring)
v1.8.8
- Unit veterancy pips are now displayed in the editor (Credits: Rampastring)
- Updated Chinese (zh-Hans) translation (Credits: KuroNoSeiHai, SadPencil)
- Slope tools have been modified to behave more like the game's internal slope code. This hopefully fixes issues where especially the "lower ground" tools created holes into the ground at times (Credits: ZivDero)
- Description of
Apply 100 Damage Attrigger action now mentions that the action also destroys bridges (Credits: Rampastring) - (TS+DTA) Added
-1 (Instant)pre-set option to theCenter Camera at Waypointtrigger action for Vinifera users (Credits: Rampastring) - Fixed a bug where you could write commas into local variable names, corrupting your local variables (Credits: Rampastring)
- Fixed an edge case crash when moving the mouse cursor while holding the left mouse button down when assigning unit followers (Credits: Rampastring)
- Improved file reading code to be compatible with browser virtual file systems (Credits: Antares, Rampastring)
Also, the editor's back-end code has been refactored to internally allow loading maps and TMP information without creating GPU textures. This has no immediate benefit, but in the future, it will allow creating more powerful map scripts (map scripts which can load other maps and read data from them), and paves the way for potentially creating a command-line interface for WAE, or any other kinds of tools and features where it's beneficial to avoid the memory and loading time overhead from creating GPU textures when loading a map.
v1.8.7
Minor maintenance release.
- Fixed a bug where scrolling Waypoint parameter values of trigger events and actions set the waypoint to 0 if the waypoint was param
#7(WaypointZZ) - Fixed an edge case bug where the ground flattening tool did not consider the
Morphable=key when checking for incorrect cell heights - Fixed an edge case bug where ground raising tools did not consider the
Morphable=key when checking for incorrect cell heights - Fixed an edge case crash in terrain line painting functionality
- Fixed a bug where Number-type parameter
#7of new trigger actions were initialized toAinstead of0 - Updated Chinese translation (Credits: KuroNoSeiHai, SadPencil)
- (RA2/YR) Fixed a bug where the "Set Superweapon Charge" trigger action had a HouseType as its parameter instead of a SuperWeapon
- (RA2/YR) Fixed a bug where the "Flash Buildings of Type" trigger action wrote its Building parameter in an incorrect number-based format
v1.8.6
- Fixed a bug where placing tiles with a custom height modifier would unintentionally generate multiple events with one mousedown input
- Improved placement cursor behaviour when placing down height-modifying tiles to appear less chaotic
- Lighting level is now applied to cursor action preview when placing down cells that modify height levels
- It is now possible to change brush size by holding Alt while using the scroll wheel
- Improved terrain pasting preview to better take height level into account
v1.8.5
- It is now possible to translate TileSet names
- Translation keys follow the convention
TileSet.<Set Name>=. For example,TileSet.Cliffs=
- Translation keys follow the convention
- Updated Chinese translation (Credits: KuroNoSeiHai, SadPencil)
- Fixed a bug where placing down height-modifying tiles would unintentionally generate multiple placement events on different cells with one mousedown input
- Fixed a bug where connected tiles were applied with a different random seed from what was used to generate the preview of connected tiles
- Fixed a bug where the cell info display did not use translated names for base node building types
- Fixed an issue where the "Disable All Debug Triggers" script was not copied to build output (and thus was not present in previous versions of WAE)
- (DTA) Removed obsolete map code INI files
v1.8.4
Minor hotfix release.
- Fixed issues where in rare cases you could not place down terrain, overlay, smudges, or terrain objects due to overly aggressive "was this object just placed here" checks
- The editor no longer writes
DefaultRepairableStructures=under house sections when it is disabled
v1.8.3
- Added Tags window (Scripting -> Tags)
- Fixed a bug where viewing references for a trigger always showed the trigger as referencing itself
- Connected tiles have been reworked, now giving less repetitive results, more strictly preferring straight paths over turns when possible, and giving better performance
- Connected tiles can now also be regenerated before placement by pressing R
v1.8.2
- Added support for selecting BuildingType parameters for trigger actions through the BuildingType selection window
- (TS+DTA) Added support for Vinifera's
Layer=key for animations - Map lighting is now reinitialized when INI code applied through
Tools -> Apply INI Code...modifies a building's lighting properties - Viewing references of a trigger now lists triggers that are linked to the active trigger
- Viewing references of a trigger now shows a separate message if the trigger's actions reference the trigger itself
- Pathfinding for the "Check Distance (Pathfinding)" cursor action has been optimized to run ~20-30x faster
- Fixed a bug where overlay placed as "regular overlay" (not collections or connected overlays) could not be placed on top of existing overlay
- Fixed a bug where line-painting-supporting placement actions did not always properly receive left mouse button input, leading to objects not getting placed in rare cases
- Fixed crash on loading a map after using the "Activate Assign Mission Cursor Action" script
- Fixed various incorrect TriggersWindow translation keys in reference English translation file
v1.8.1
- Overlay collection placement now supports line painting
- Terrain object collection placement now supports line painting
- Smudge placement now supports line painting
- Smudge collection placement now supports line painting
- Improved input handling in line painting tools to make the editor more reliably catch the tile where the user started dragging the cursor on
- Map issue list is now written to the map editor log file when the map is manually saved
- (TS+DTA) Added "Building Does Not Exist (Vinifera)" trigger event
- (TS+DTA) Replaced "Show Difficulty Level (ts-patches)" trigger action with "Create Building At (Vinifera)" trigger action
- Fixed a bug where certain ramps in RA2/YR were checked for having ore on them and if yes, a map issue was reported (supposedly this is only a problem in Tiberian Sun)

