• Check out the results of the Techtree Contest #19!
  • Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.
  • Create a void inspired texture for Warcraft 3 and enter Hive's 34th Texturing Contest: Void! Click here to enter!
  • The Hive's 22nd Icon Contest: Creep Abilities is now concluded, time to vote for your favourite set of icons! Click here to vote!

[Solved] Strings corruption

Level 9
Joined
Sep 8, 2017
Messages
105
Hello wizards of the Hive!
I'm encountering a very weird and frustrating issue on the editor.

For some time now random text issues appear on my map. It feels like all the texts/strings get corrupted. It never happened before.
For examples, displayed messages are duplicated, random numbers appear in sentences, etc.
For instance, on the first screenshot, a quest log got corrupted out of nowhere replacing all its content by a random line from a cinematic + adding a number.
On the second screenshot, a dialog line was played but the written part was just a complete mix of random things in the game...

Obviously, absolute no trigger is supposed to do these kind of things.
I'm suspecting some wicked witchcraft in the "core" files of the map but I'm almost clueless on it : /
Does anyone know the source of this kind of problem and how to fix it please?

WC3ScrnShot_030126_171524_000.png
WC3ScrnShot_030126_171206_000.png


Someone suggested that something happened with the .wts file...

Basically, when you enter almost any kind of string in the editor, it saves that string in the forementioned file,
And then other files that need those strings save their string number (which goes from 0 theoretically infinity, linearly)

What could have happened is that I took a wts from one version of your map, and inserted it into my current version of the map which then caused the numbers not to line up with their original text.
However I didn't anything like that.

If the editor did this string corruption on it's own, without any external tools involved, then that might be new bug that should get reported to blizzard.
But I have no idea what steps I did at the time to have this occurr... and if the bug cannot be reproduced on their side, it definitively won't get fixed.
And let's be honest, we can't expect Blizzard to fix anything anyway.

Maybe there is something to work on that wts file to fix it. Sadly I don't know how could it go.
Please don't tell me my map is doomed...
 
Looks like it’s occurring during gameplay.
For example the quest log is not corrupted right away when I launch the game.
The corruption seems to happen "quite randomly"…
Some texts messages usually stay fine.
 
Looks like it’s occurring during gameplay.
For example the quest log is not corrupted right away when I launch the game.
The corruption seems to happen "quite randomly"…
Some texts messages usually stay fine.
That sounds like some serious memory corruption bug. For example some logic in the game is manipulating dangling pointers/references, or performing array writes outside of array bounds. This sort of error is highly prone to causing crashes, but will only do so if an unallocated memory page is read from or written to.

How reproduceable is it? Does it happen without any user input? If so you might be able to start removing systems/triggers from the map until it no longer occurs.

Does your map use JASS or Lua? If it is Lua it could be related to wrapper objects incorrectly being recycled despite still being reachable.
 
That sounds like some serious memory corruption bug. For example some logic in the game is manipulating dangling pointers/references, or performing array writes outside of array bounds. This sort of error is highly prone to causing crashes, but will only do so if an unallocated memory page is read from or written to.

How reproduceable is it? Does it happen without any user input? If so you might be able to start removing systems/triggers from the map until it no longer occurs.

Does your map use JASS or Lua? If it is Lua it could be related to wrapper objects incorrectly being recycled despite still being reachable.
I actually find out that the problem was coming from the w3protect online tool I use to protect my map.
Recently (it didn't cause any problem before), checking the "Inline Strings" option cause that issue (mixed texts, random numbers displayed, duplicated messages, etc).

From what I understood:
Inline Strings rewrites how Warcraft III stores text by removing the normal war3map.wts string table and inserting the strings directly inside the JASS script. Many triggers, systems, and UI elements still reference the original string IDs. When the protector restructures those references, the indices can become mismatched, which results in texts displaying the wrong content, duplicated messages, or random numbers instead of the intended strings.

My map is in GUI/JASS btw.
 
Back
Top