PrePatch 1.24 WE Problems

Level 5
Joined
May 10, 2009
Messages
88
Okay, I have this map...It's called Skull09 Colosseum. This map was created around 4 years ago when patch 1.24x was not released. Since patch 1.24x was released, this map CAN be viewed in the World Editor, but CANNOT be played online or offline in Warcraft. I'd rather not provide a copy of the map.

I think it has something to do with the patch. Just like DotA and Icegliders, they were unplayable due to "Game Not Found" in the Custom Games List.

How do I fix this? By the way...there is around 750 invalid object claims in the map. Would that have something to do with it? How can I know what these objects are without using trial and error?
 

Dr Super Good

Spell Reviewer
Level 62
Joined
Jan 18, 2005
Messages
27,009
If its a trigger compile error, your map must have used the type casting bug in some jass script which has been patched. You can fix it by removing or "updating" (perform maintenence) the offending script.

It could also be a problem with file name length, make sure to shorten its name and also do not embed it deep in a folder hirachy as apparently that also counts as name length.

If it is not a trigger error you are refering to, we need a screenshot to help. If it is a trigger error I am 100% sure it is due to some of your triggers have been invalidated by the patch and need to be updated.

Updating the scripts means removing the type casting bug (or called the double return bug). This bug was removed due to its extreemly abusable and unsafe nature. Most of the time you can replace gamecache systems with hashtables and H2I calls with the newly implimented native with same functionality. Other more obscure systems like linked lists abusing integer to float bitwise conversions on locations can not be directly replaced and will need a new system to be designed with simlar functionality.

If you can not maintain the JASS scripts, you have no choice but to seek other people to help you with it (or delete the offending code).
 
Level 5
Joined
May 10, 2009
Messages
88
If its a trigger compile error, your map must have used the type casting bug in some jass script which has been patched. You can fix it by removing or "updating" (perform maintenence) the offending script.

It could also be a problem with file name length, make sure to shorten its name and also do not embed it deep in a folder hirachy as apparently that also counts as name length.

If it is not a trigger error you are refering to, we need a screenshot to help. If it is a trigger error I am 100% sure it is due to some of your triggers have been invalidated by the patch and need to be updated.

Updating the scripts means removing the type casting bug (or called the double return bug). This bug was removed due to its extreemly abusable and unsafe nature. Most of the time you can replace gamecache systems with hashtables and H2I calls with the newly implimented native with same functionality. Other more obscure systems like linked lists abusing integer to float bitwise conversions on locations can not be directly replaced and will need a new system to be designed with simlar functionality.

If you can not maintain the JASS scripts, you have no choice but to seek other people to help you with it (or delete the offending code).

How do I check whether the jass scripting is affecting wacraft functionality?
 

Dr Super Good

Spell Reviewer
Level 62
Joined
Jan 18, 2005
Messages
27,009
You mentioned an error... If it is a trigger error then it must be a JASS script fault. If not then we need to see the error (screen shot it) to help you.

When does this error appear? You said it opens fine in the editor so I am guessing it is when you try to save (probably a trigger error in that case).

How do I check whether the jass scripting is affecting wacraft functionality?
Any function that uses the type casting (double return) bug is no longer valid. All functions must return the same type as they specify they will return. If you see a function returning both a handle and an integer value then that is an example of a type casting bug abusing function. It can be any type such as returning an integer when the function declared a unit but in any case, all those functions need to be fixed or removed inorder for the map to play.

As I already mentioned, fixing the type casting bug depends on its implimentation so there is no real genearl solution. You can replace H2I with its native equivilent though as it works the same (but be aware maps used to rely heavily on integer to a subset of handle casts which are now impossible).
 
Top