• 🏆 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!

Bypassing Tileset Limit - Which Tool?

Status
Not open for further replies.
Level 5
Joined
Feb 8, 2015
Messages
93
So I want to bypass the "13" tileset limit in my map.

However, my ferociously defensive computer refuses to download World Editor Unlimited, and I haven't been able to make Newgen/JNGP work since 1.26.

I normally use Sharpcraft, but it doesn't have a feature to extend tilesets.

Any advice?
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,188
Are you sure Sharpcraft does not support it? Have you tried adding extra tiles?

One can always manually bypass the limit by hex editing the .w3e file inside the map which defines the tile set used. One can read/write internal map files using a third party MPQ editor such as MPQEdit.

Some knowledge of how computers process bytes may be required to do the editing. One must enable custom tile set (best done in standard editor), modify the tile set list to size 16 then insert the times you want to the list. Each tile type in the tile set list is declared as a 4 byte type code, similar to the type codes used by object data and identical to the terrain type codes used by triggers. If your map contains 13 tile types in the tile set list then one needs to add an extra 12 bytes to the tile set list. After this is all done the file can be saved and re-imported into the map and even the standard World Edit will allow one to use them for terraining.

One can also modify the files programmatically. People like myself have written APIs for .w3e files in a variety of languages. For example I made one using Java. These can be much more human friendly to use than hex editing but do require basic knowledge of the appropriate programming language that the API is compatible with.
 
Level 5
Joined
Feb 8, 2015
Messages
93
Are you sure Sharpcraft does not support it? Have you tried adding extra tiles?

It will allow you to use 13+ tilesets, but it does not have a tool to add extra ones. I.e. if you made a map with Newgen World Editor (back in the day), and made a total of 16 tiles. That map could be opened and used (with all tilesets) in Sharpcraft.

One can always manually bypass the limit by hex editing the .w3e file inside the map which defines the tile set used. One can read/write internal map files using a third party MPQ editor such as MPQEdit.

I'll give it a go. Gonna EDIT this post later.

EDIT:
Opened the War3map.w3e file (with Notepad), and it's only a bunch of gibberish - at least that's how I view it.

CutOut01.png
CutOut02.png
 
Last edited:

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,188
Opened the War3map.w3e file (with Notepad), and it's only a bunch of gibberish - at least that's how I view it.
Notepad is not a hex editor. A hex editor is like XVI32.

Even in notepad you can notice the tile type and cliff type declarations. One cannot use notepad to edit the file however due to it being a text editor so will mangle the file.

I wrote a Java API to modify such files and produced...
wc3scrnshot_011813_031727_01-jpg.159679
 

Dr Super Good

Spell Reviewer
Level 63
Joined
Jan 18, 2005
Messages
27,188
What am I even looking at?
My avatar turned into a water height map on a 480*480 tile map.
Anyway, I got this (See Spoiler).
The file format is described here.

To modify tileset...
  1. Backup the map file in case something goes wrong to prevent data loss.
  2. Extract the .w3e file.
  3. Enable custom tile set flag.
  4. Increase tile set declaration count from 8 to 16.
  5. Insert 32 more bytes to the end of the tile type array.
  6. Modify these 32 bytes to contain 8 more tile type codes.
  7. Save the .w3e file.
  8. Reimport the .w3e file.
 
Level 5
Joined
Feb 8, 2015
Messages
93
My avatar turned into a water height map on a 480*480 tile map.
Thought I saw some recognizeable contours... Issue was I thought you had converted my hex code jibberjap into that picture, and I was like... "How are those two things even remotely connected?"

The file format is described here.

To modify tileset...
  1. Backup the map file in case something goes wrong to prevent data loss.
  2. Extract the .w3e file.
  3. Enable custom tile set flag.
  4. Increase tile set declaration count from 8 to 16.
  5. Insert 32 more bytes to the end of the tile type array.
  6. Modify these 32 bytes to contain 8 more tile type codes.
  7. Save the .w3e file.
  8. Reimport the .w3e file.

Will give it a go. Thanks for all the help and quick replies.

EDIT: Totally not getting it. Even after looking at the W3Campaigns site, it's still just a load of gibberish numbers to me :p
 
Last edited:
Status
Not open for further replies.
Top