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

[Solved] My map doesnt appear on the list of maps

Status
Not open for further replies.
Level 1
Joined
Jan 31, 2017
Messages
2
Hi,

I have a map that I have saved (in the right place) but I cannot find it when I play.

1485909255-bug3.jpg


This problem exists since I have copied and pasted a custom spell in it. I think I have done it properly, I mean the spell works when I play the map from World Editor.

I do not understand why the map is "invisible" then. It isn't the first time I copied and pasted that "kamehameha" custom spell in a map and until now it always worked well. I have other maps with that same custom spell which work perfectly and are playable on Battle.net.

Here it is :

1485905657-kamehameha.jpg


The non-working "invisible" map contains a lot of triggers and imported units which could possibly complicate things with custom spells. Maybe there is a maximum number of triggers in a map. Also the map is pretty big, 6 Mo.

Any solution or advice ? Has anyone faced this problem before ?
 
Level 19
Joined
Jan 3, 2022
Messages
320
I've just encountered this problem with 1.27 client. Same reason: file name of the map was too long.
I didn't know about this and ended up wasting a lot of time, because I relied on the map showing up/not showing up when I edited war3map.w3i.

Exact numbers:​

Is visible?File name length (with .w3x)Full path lengthFull Path
yes +4579C:/APP/Warcraft III - LAN/Maps/10/yweogdfyisgafyigweqyrcqprqwevnipryvqwubor.w3x
no -4680C:/APP/Warcraft III - LAN/Maps/11/ryweogdfyisgafyigweqyrcqprqwevnipryvqwubor.w3x

Possible explanation: Strings in C, C++ end with a \0 (null). This means when array has 80 character slots, you can store 79 letters + final \0
If Warcraft 3 only allocated an array of length 80, you cannot have total path lengths > 79 characters.

PS: On top of that, I have 8dot3 names disabled in registry. Why? WorldEdit has long bothered me by shorting map names: mapgoo~1.w3x. I don't think this causes any differences here though.
PPS: This issue was fixed in Reforged, since they had to use long names when putting maps in folders like ./Maps/<sha1-hash>/mapfile.w3x. A full path length of 127 works. But I doubt they support full 32k long names that are possible with Win32 API.
 

Dr Super Good

Spell Reviewer
Level 64
Joined
Jan 18, 2005
Messages
27,198
Possible explanation: Strings in C, C++ end with a \0 (null). This means when array has 80 character slots, you can store 79 letters + final \0
If Warcraft 3 only allocated an array of length 80, you cannot have total path lengths > 79 characters.
This would be incorrect API usage. The array should have been defined with a size of MAX_PATH.

But I guess it is not surprising given that Player(-1) used to cause an application crash...
 
Status
Not open for further replies.
Top