The M16 platform is a multiplayer platform for Warcraft 1.28.5 Korean version, featuring more 'sophisticated' maps. These maps are unique because they have their own server within the platform, allowing them to run platform server codes. A prime example of this is the fully cloud-based load/save system. Their platform.
Why does this guide exist?
Over time, as players seek more Warcraft maps, the transition to the current Reforged platform has rendered many old or other platform maps incompatible. This guide is written to teach you how to make maps from the M16 platform compatible with Warcraft Reforged.
Why don't M16 platform maps work on Warcraft Reforged?
The main reason is the use of certain codes that conflict with the current platform. However, this issue is 100% solvable.
Required Tools
MPQ Editor
Text Editor (Preferably one that supports UTF-8)
Customized Blizzard.j by me
Listfile
How to port maps from M16 to Reforged:
Export and Edit the Map Script:
Spoiler:
After exporting the 'war3map.j' file, open it with a text editor capable of handling UTF-8 encoding.
Initiate a search for the term 'endglobals'. Your goal is to identify and remove all code lines that commence with 'native'. However, it's crucial to retain any instances of the 'UnitAlive' native - these should not be removed.
Additionally, if you encounter the specific line constant playerunitevent EVENT_PLAYER_UNIT_DAMAGED=ConvertPlayerUnitEvent(52), ensure its removal from the script.
As a best practice, it's advisable to conduct a thorough syntax check of your JASS script. Utilize the pjass tool, coupled with the custom 'Blizzard.j', to verify the accuracy and compatibility of your script.
Reimport and Organize Files
Spoiler:
With the necessary edits completed, save your modifications to the 'war3map.j' file.
Proceed to reimport this updated file back into your map. If your map lacks a 'Scripts' folder, now is the time to create one.
Into this newly established or existing 'Scripts' folder, import the custom 'Blizzard.j' provided.
Vegas wrote:Can you cheat it and convert the map back to M16?
You don't actually need to convert it back to M16. Instead, you can cheat it using traditional methods. However, this approach won't work for maps that use a load and save system based on cloud storage. This is because these maps contain a secret key embedded within the map script and a hash verification of the .w3x file itself. Therefore, the server can detect that the map version is not legitimate. The only way to cheat on m16 maps is with memory manipulation. Converted maps would work normally, since there are none verification from blizzard.
Hi devo, I just followed your guide to port M16 maps
I delete the 'native' code except UnitAlive
but I can't find the map in reforge/can't open it in 1.26 either
Is there anything else I need to do?