Have you ever wanted to play a map but couldn't, because it was made with Reforged's World Editor?
Well today is your lucky day, because now you can make those maps compatible with patch 1.31 (1.30, 1.29, and 1.28 also supported, or any patch for which you have the game files since v1.0.0), using my new tool. I have worked on this some time ago, and recently got the motivation to make a user interface for it, so that other people can use it as well. There aren't a lot of buttons so I'm assuming I don't need to write a guide for how to use this tool, but if you have any questions feel free to ask them.
The map script (war3map.j or war3map.lua) usually needs some adjustments to be compatible with 1.31. Unfortunately, these cannot be automated at the moment, so you need to make the changes manually. To help you with that, here's a list of some common adjustments you may need to make:
This project is open source, you can find it here.
To run it, you need to have .NET Desktop runtime 6.0.x installed: Download .NET 6.0 Runtime
This tool requires an appsettings.json file, which stores the location of the game files required to adapt files.
As of v1.3.0, if this file is not found, a new window will show on startup where you can select the directory containing the game files and the patch to which those files belong.
The directory must at least contain the following files in order for the tool to work correctly: War3App/PathConstants.cs at master · Drake53/War3App
For example, if you have the triggerdata.txt file at "C:\Users\User\Documents\Warcraft III files\war3.w3mod\ui\triggerdata.txt", you must set the directory to "C:\Users\User\Documents\Warcraft III files\war3.w3mod".
-> To obtain these files, you must extract the game files using a tool, for example:
Well today is your lucky day, because now you can make those maps compatible with patch 1.31 (1.30, 1.29, and 1.28 also supported, or any patch for which you have the game files since v1.0.0), using my new tool. I have worked on this some time ago, and recently got the motivation to make a user interface for it, so that other people can use it as well. There aren't a lot of buttons so I'm assuming I don't need to write a guide for how to use this tool, but if you have any questions feel free to ask them.
The map script (war3map.j or war3map.lua) usually needs some adjustments to be compatible with 1.31. Unfortunately, these cannot be automated at the moment, so you need to make the changes manually. To help you with that, here's a list of some common adjustments you may need to make:
- BlzCreateUnitWithSkin, BlzCreateItemWithSkin, etc: Replace with CreateUnit, CreateItem, etc, and remove the last argument. This last argument is for the skinId, and is usually the same as the item/unit/object id, so there's no harm in removing it. Another solution (useful if these natives are used a lot of times) is to insert the following functions after
endglobals
:
JASS:
function BlzCreateItemWithSkin takes integer itemid, real x, real y, integer skinId returns item
return CreateItem(itemid, x, y)
endfunction
function BlzCreateUnitWithSkin takes player id, integer unitid, real x, real y, real face, integer skinId returns unit
return CreateUnit(id, unitid, x, y, face)
endfunction
function BlzCreateDestructableWithSkin takes integer objectid, real x, real y, real face, real scale, integer variation, integer skinId returns destructable
return CreateDestructable(objectid, x, y, face, scale, variation)
endfunction
function BlzCreateDestructableZWithSkin takes integer objectid, real x, real y, real z, real face, real scale, integer variation, integer skinId returns destructable
return CreateDestructableZ(objectid, x, y, z, face, scale, variation)
endfunction
function BlzCreateDeadDestructableWithSkin takes integer objectid, real x, real y, real face, real scale, integer variation, integer skinId returns destructable
return CreateDeadDestructable(objectid, x, y, face, scale, variation)
endfunction
function BlzCreateDeadDestructableZWithSkin takes integer objectid, real x, real y, real z, real face, real scale, integer variation, integer skinId returns destructable
return CreateDeadDestructableZ(objectid, x, y, z, face, scale, variation)
endfunction
- BlzGetEventIsAttack: This is used in newer versions of Damage Engine. According to the description there, you can add the following to make it work:
JASS:function BlzGetEventIsAttack takes nothing returns boolean return BlzGetEventDamageType() == DAMAGE_TYPE_NORMAL endfunction
- Audio files with .flac extension: Replace the file extension with .wav (this assumes the .flac file is not imported. if it is, this will not work).
This project is open source, you can find it here.
To run it, you need to have .NET Desktop runtime 6.0.x installed: Download .NET 6.0 Runtime
This tool requires an appsettings.json file, which stores the location of the game files required to adapt files.
As of v1.3.0, if this file is not found, a new window will show on startup where you can select the directory containing the game files and the patch to which those files belong.
The directory must at least contain the following files in order for the tool to work correctly: War3App/PathConstants.cs at master · Drake53/War3App
For example, if you have the triggerdata.txt file at "C:\Users\User\Documents\Warcraft III files\war3.w3mod\ui\triggerdata.txt", you must set the directory to "C:\Users\User\Documents\Warcraft III files\war3.w3mod".
-> To obtain these files, you must extract the game files using a tool, for example:
- Ladik's MPQ Editor version 2.0.1.278 (for v1.29 and earlier)
- Ladik's Casc Viewer (for v1.30 and later)
Attachments
Last edited: