• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Map Adapter

Level 20
Joined
Aug 13, 2013
Messages
1,696
Uploaded a win-x86 version.
The compatibility pop-up error is gone but still can't get your program to work on my end. ;_;
To run it, you need to have .NET Core Desktop runtime 3.1.x installed: Download .NET Core 3.1 Runtime
microsoft-jpg.361755

It only behaves like this; (GIF Preview)
map-adapter-problem-gif-gif.361754
 
Level 18
Joined
Jan 1, 2018
Messages
728
The compatibility pop-up error is gone but still can't get your program to work on my end. ;_;

microsoft-jpg.361755

It only behaves like this; (GIF Preview)
map-adapter-problem-gif-gif.361754
What did the compatibility error look like? The original was compiled 'portable' so it should work on both 32bit and 64bit.
I think there may be something that makes it incompatible with 32bit, just don't know what.
 
Level 20
Joined
Aug 13, 2013
Messages
1,696
What did the compatibility error look like? The original was compiled 'portable' so it should work on both 32bit and 64bit.
I think there may be something that makes it incompatible with 32bit, just don't know what.
Oh I didn't realized that it's just not compatible with the Windows I'm using. (7 Ultimate) :p

Any chance of it?
 

deepstrasz

Map Reviewer
Level 69
Joined
Jun 4, 2009
Messages
18,808
As far as I can tell, the map isn't using any custom imports and doesn't have the Reforged map file extension (.w3m):
Heroquest! Quest 1 - 9(SinglePlayer) V1.7
Any ideas why the shop might have not shown? Have they changed texture paths again? But then shouldn't I have gotten a crash instead?



I've got this error after adapting and trying to access the incompatible field again:
anima.png
Diverse Fights v0.8.2 (Reforged)
 
Last edited:
Level 18
Joined
Jan 1, 2018
Messages
728
As far as I can tell, the map isn't using any custom imports and doesn't have the Reforged map file extension (.w3m):
Heroquest! Quest 1 - 9(SinglePlayer) V1.7
Any ideas why the shop might have not shown? Have they changed texture paths again? But then shouldn't I have gotten a crash instead?
Some map authors only test their map in reforged mode, so it's possible that even in 1.32 classic graphics mode something doesn't show up. If that's the case (I think most likely it is, but needs to be tested to be sure), there's nothing my program can do about it.

I've got this error after adapting and trying to access the incompatible field again:
anima-png.361861
Diverse Fights v0.8.2 (Reforged)
Should be fixed in new version.
 

deepstrasz

Map Reviewer
Level 69
Joined
Jun 4, 2009
Messages
18,808
Pretty sure you can just remove those.
I removed them but as I mentioned I get that crash and there's no way I can verify if that is the reason but I assume so because those are related to where units should spawn and there are no enemies right at the start but only after a timer runs out and when that happens I get the crash. What also happens is blight being created on the map.
 
Level 18
Joined
Jan 1, 2018
Messages
728
I removed them but as I mentioned I get that crash and there's no way I can verify if that is the reason but I assume so because those are related to where units should spawn and there are no enemies right at the start but only after a timer runs out and when that happens I get the crash. What also happens is blight being created on the map.
I tried it and didn't run into a crash (didn't play for long though, 3 minutes max).
 

deepstrasz

Map Reviewer
Level 69
Joined
Jun 4, 2009
Messages
18,808
I'm asuming you put the functions after endglobals, however in this file the native 'UnitAlive' is also declared, so it has to be after that, or you get a syntax error.
Oh, I've put the script after endglobals. Had no idea about that UnitAlive thing. Didn't even notice it.



EDIT:
How about searching for files in the files panel?
Also, sorting them by name or file type doesn't seem to work.
 
Last edited:

deepstrasz

Map Reviewer
Level 69
Joined
Jun 4, 2009
Messages
18,808
I'm asuming you put the functions after endglobals, however in this file the native 'UnitAlive' is also declared, so it has to be after that, or you get a syntax error.
Can't find that exact word UnitAlive, only stuff like:
boolean udg_humanalive= false
set udg_humanalive=true
if ( not ( udg_humanalive == true ) ) then


I haven't been able to adapt the following maps:
Custom Hero Survival aZ1.9f Ref v2
Saviors of Lordaeron BETA v0.6b
Diverse Fights v0.8.2 (Reforged)
There's an error reading them, the game says.

This still crashes my game after the blight appears (I removed the location triggers):
God of the Undead
 
Last edited:
Level 18
Joined
Jan 1, 2018
Messages
728
How about searching for files in the files panel?
Is this functionality really needed? Asking because idk where I'd put the search bar, totally not because I'm lazy.

Also, sorting them by name or file type doesn't seem to work.
I'm guessing the column headers being clickable led you to believe that sorting is implemented, but it's not (yet).

Can't find that exact word UnitAlive, only stuff like:
boolean udg_humanalive= false
set udg_humanalive=true
if ( not ( udg_humanalive == true ) ) then
Searching is case-sensitive.

I haven't been able to adapt the following maps:
Custom Hero Survival aZ1.9f Ref v2
Saviors of Lordaeron BETA v0.6b
Diverse Fights v0.8.2 (Reforged)
There's an error reading them, the game says.
I'll try finding the cause.

EDIT:
For saviors of lordaeron, you must also delete the global variables of type minimapicon. I'll add a diagnostic for this.
For custom hero survival, the function BlzGetEventIsAttack is used as argument in another function, so you cannot simply remove it. Since it returns a boolean, you can replace it with 'true', but this will probably make the damage system of the map bugged.
For diverse fights, not sure how you tried adapting this one, but you could probably replace the framename with BlzGetOriginFrame(ORIGIN_FRAME_GAME_UI,0), like the frame below it, or just ignore it.

This still crashes my game after the blight appears (I removed the location triggers):
God of the Undead
Works on my pc™. Don't know what could be the cause here so can't really help.
 
Last edited:

deepstrasz

Map Reviewer
Level 69
Joined
Jun 4, 2009
Messages
18,808
For saviors of lordaeron, you must also delete the global variables of type
minimapicon
. I'll add a diagnostic for this.
Well, I deleted everything the program showed on the left related to icons and whatnot.
Works on my pc™. Don't know what could be the cause here so can't really help.
Well, I could try adapting it for 1.29 to see if there's any difference.
But in the end, I guess I'd have to wait for a proper 1.32+ patch.
 
Level 18
Joined
Jan 1, 2018
Messages
728
v0.6.0 changelog:
  • Can now sort file list by clicking the column headers.
  • Added diagnostics to detect incompatible types (minimapicon and commandbuttoneffect)
  • Disabled word wrapping in script edit window.
  • BLP files are now recognized by filetype column.
Well, I deleted everything the program showed on the left related to icons and whatnot.
Try the new version, it now also detects the global variables you need to delete.
 
Level 18
Joined
Jan 1, 2018
Messages
728
Can I convert this map from the reforged to warcraft 1.27 please don't use this program :(
I don't have object editor data for 1.27 specifically, so can only adapt for 1.29 and then it may or may not work on 1.27

ood on my screen it won't let me click 2 important buttons and I don't know how to fix esom, look:
Didn't expect people to have such a small screen. For now workaround would be: if you have the 'browse' button focused, then press tab to focus 'open archive' button, then press enter to select it. I know it's inconvenient to do it like that but it's hard to make the program look good on smaller than expected screens. The window size is 1280x720 so you should have at least that.
 
Level 7
Joined
Aug 11, 2020
Messages
14
I don't have object editor data for 1.27 specifically, so can only adapt for 1.29 and then it may or may not work on 1.27


Didn't expect people to have such a small screen. For now workaround would be: if you have the 'browse' button focused, then press tab to focus 'open archive' button, then press enter to select it. I know it's inconvenient to do it like that but it's hard to make the program look good on smaller than expected screens. The window size is 1280x720 so you should have at least that.

what is the Jazz Helper code to use? I can't find that code; thanks for the above :)
 
Level 18
Joined
Jan 1, 2018
Messages
728
Updated to v0.6.1, when adapting for 1.29 it will now detect incompatible types that were introduced in patch 1.30 and 1.31, and I also made the form and left+right panels resizable so it displays better on small resolutions.

what is the Jazz Helper code to use? I can't find that code; thanks for the above :)
Currently there is no JassHelper support. If you want to run JassHelper, you can run it from the command line: JassHelper 0.A.0.0
 
Level 18
Joined
Jan 1, 2018
Messages
728
Uploaded v0.7.0, changelog:
  • Fix text in diagnostics isn't cleared when closing the archive.
  • Open archive button will automatically become enabled/disabled if the file at the given path is created, deleted, or renamed, instead of only when changing the input archive path.
  • Fixed a bug causing war3map.w3i to not adapt properly when targeting 1.29
  • Added v1.30 to the list of possible target patches.
Note that adapting for v1.30 will currently use object editor data from 1.29, since I don't have the files for 1.30, and also because it's hardcoded in a way the makes it really annoying to add more data, so I need to refactor that part of the program before I can add the object editor data from additional patches.
 
Level 18
Joined
Jan 1, 2018
Messages
728
Updated to v0.8.0, the program can now also parse and adapt war3map.wtg files. Note that the adapter only handles changing to the old file format, it does not check if any incompatible GUI functions (from triggerdata.txt) are used.
 
Level 14
Joined
Jan 8, 2015
Messages
424
Hi, is there a way to make it support older versions? 1.28 and 1.26 for instance? Some fans of my map play on older versions via gameranger and stuff alike and i cant port it back to fully work, furthest i got was 1.28.5 but game doesnt see it in the menu and works from World editor test only. I think it would be greatly appretiated by many people to have it go back just this bit further back beyond 1.29. I can provide most versions of wc3 if you dont have them.
 
Level 18
Joined
Jan 1, 2018
Messages
728
v0.9.0 changelog:
  • Target patch list is now sorted in descending order, and added v1.28 to it.
  • Implement adapter for war3map.w3c files.
  • Updated war3map.w3i adapter to check amount of players/teams when adapting to 1.28 (24 player support was added in v1.29).
  • Many additional file types are now recognized by the application (in some cases, it can be detected that a file is unadaptable, for example .ogg (v1.30 only) and .flac (v1.32+) audio files).
Hi, is there a way to make it support older versions? 1.28 and 1.26 for instance?
The new version should help with that.

furthest i got was 1.28.5 but game doesnt see it in the menu and works from World editor test only
Not sure why it'd be invisible in-game. Does it show up if you re-save the map in the world editor first?
 
Level 6
Joined
May 29, 2013
Messages
126
I am downgrading current version of my map to version 1.28.
I modified the script file that was not compatible and made it adapted, and there are no incompatible files.
but my map does not open due to an invalid or missing trigger file error.
Have I missed anything?
As a result of my tests, if I delete all triggers on the map or remove .wtg file, downgraded map opens normally.
 
Last edited:
Level 18
Joined
Jan 1, 2018
Messages
728
I am downgrading current version of my map to version 1.28.
I modified the script file that was not compatible and made it adapted, and there are no incompatible files.
but my map does not open due to an invalid or missing trigger file error.
Have I missed anything?
As a result of my tests, if I delete all triggers on the map or remove .wtg file, downgraded map opens normally.
I also encountered issues with trigger data adapter before. I think the adapter for .wtg/.wct files (trigger files) from 1.31 to earlier versions may be bugged right now, though I'm not sure why it goes wrong, since my library is able to parse the adapted files without issues. I think it may be caused by the combination of these two files no longer being valid. So while they can be parsed individually, when you put them together the result is not valid. This is just my theory, haven't had the time to investigate yet.
If this is indeed the issue it's hard to fix right now, because the tool handles all files individually.

Anyways since you say deleting .wtg worked, have you also tried deleting the .wct file, or both? If you only delete the .wtg file I assume the world editor will ignore the .wct, so it may be the same result as deleting both. And what happens if you delete all triggers and then remove the .wct?

Also if you're adapting a map to edit it in the world editor later, you can ignore the map script incompatibilities, since the world editor will simply regenerate the script for you.
 
Level 6
Joined
May 29, 2013
Messages
126
I also encountered issues with trigger data adapter before. I think the adapter for .wtg/.wct files (trigger files) from 1.31 to earlier versions may be bugged right now, though I'm not sure why it goes wrong, since my library is able to parse the adapted files without issues. I think it may be caused by the combination of these two files no longer being valid. So while they can be parsed individually, when you put them together the result is not valid. This is just my theory, haven't had the time to investigate yet.
If this is indeed the issue it's hard to fix right now, because the tool handles all files individually.

Anyways since you say deleting .wtg worked, have you also tried deleting the .wct file, or both? If you only delete the .wtg file I assume the world editor will ignore the .wct, so it may be the same result as deleting both. And what happens if you delete all triggers and then remove the .wct?

Also if you're adapting a map to edit it in the world editor later, you can ignore the map script incompatibilities, since the world editor will simply regenerate the script for you.

Thank you for answering.
As a result of my testing, the map did not open unless I fixed the incompatibility of the map script. After an error that only exists in current version function does not exist, it crashes due to out of memory.
When I clear all the triggers, the map opens normally. Regardless of whether I delete the .wtg and .wct or not. I tried deleting the .wct and it opened without problems.
and Triggers exist, but when only .wct was deleted from the map that fixes the incompatibility of the map script, no errors occurred in the map. but the map screen was black, resulting in an abnormal result. It's like not being opened.
triggers exists, but the map that fixes the incompatibility of the map script does not cause the non-existent function error and out of memory errors mentioned above. but missing or invaild trigger file error occurs.
Just delete the .wtg file only from this map and it will run normally. delete both .wtg .wct file too.

As for other tests, I also have an very old map file of version 1.28. this map runs without problems with old editor. However, if I run this map with Reforged Editor and save it, and convert it to 1.28 with your program, a missing or invaild trigger file error occurs.

Anyway, it is a great salvation for me that you made this program. Reforged Battle.net is dying in Korea, and free server that only support version 1.28 are popular. Downgrading manually with two editors open and editing strings, numbers one by one caused tremendous despair and irritation and almost quit making maps.
 
Last edited:
Level 1
Joined
Mar 29, 2021
Messages
4
Is it possible to edit the war3map.w3i to change the player count? And then manually remove all the instances referencing 13+ players in the map script? Then 24-player maps could be ported to 1.26-1.28?
 
Level 18
Joined
Jan 1, 2018
Messages
728
Is it possible to edit the war3map.w3i to change the player count? And then manually remove all the instances referencing 13+ players in the map script? Then 24-player maps could be ported to 1.26-1.28?
The tool does not support manually editing the war3map.w3i file so you'd have to change the players in the world editor or in code, should be possible.
 
Level 1
Joined
Mar 29, 2021
Messages
4
Thanks for the BlzCreateItemWithSkin, BlzGetEventIsAttack, etc. ! But how about BlzGetUnitArmor/BlzSetUnitArmor/BlzGetUnitMaxHP/BlzSetUnitMaxHP ? Is it possible to add them with a similar simple plug-in function?

BTW If anyone happens to use Hex Workshop (by BreakPoint Software) as their HEX editor, I made an "Structure Viewer" addon for it that it can read war3map.w3i files and edit the values within. Just throw the "w3i_v31.hsl" file in the "Program Files\BreakPoint Software\Hex Workshop v6.7\Structures" folder and then open up a w3i file and click "Tools -> Structure Viewer -> Select Structure Library" and then "Tools -> Structure Viewer -> Add Structure". Currently supports 1.31/1.32 .w3i files. Random Unit/Item tables (last section in w3i file) haven't been implemented. More info for the w3i format here
 

Attachments

  • hexsswc3.png
    hexsswc3.png
    155.2 KB · Views: 63
  • w3i_v31.zip
    1.2 KB · Views: 37
Level 18
Joined
Jan 1, 2018
Messages
728
Thanks for the BlzCreateItemWithSkin, BlzGetEventIsAttack, etc. ! But how about BlzGetUnitArmor/BlzSetUnitArmor/BlzGetUnitMaxHP/BlzSetUnitMaxHP ? Is it possible to add them with a similar simple plug-in function?
I'm sure there are workarounds to do some of these on older patches, but I don't know how, maybe others know.
 
Top