1. Updated Resource Submission Rules: All model & skin resource submissions must now include an in-game screenshot. This is to help speed up the moderation process and to show how the model and/or texture looks like from the in-game camera.
    Dismiss Notice
  2. DID YOU KNOW - That you can unlock new rank icons by posting on the forums or winning contests? Click here to customize your rank or read our User Rank Policy to see a list of ranks that you can unlock. Have you won a contest and still haven't received your rank award? Then please contact the administration.
    Dismiss Notice
  3. Ride into the sunset with the 32nd Modeling Contest. The contest is optionally paired. Best of luck, people!
    Dismiss Notice
  4. This adventure has come to an end. Congratulate our heroes in the 16th Mini Mapping Contest Results.
    Dismiss Notice
  5. From the gates of hell, the 5th Special Effect Contest Results have emerged.
    Dismiss Notice
  6. Race against the odds and Reforge, Don't Refund. The 14th Techtree Contest has begun!
    Dismiss Notice
  7. Check out the Staff job openings thread.
    Dismiss Notice
Dismiss Notice
60,000 passwords have been reset on July 8, 2019. If you cannot login, read this.

Fixing Old Maps

Discussion in 'Triggers & Scripts' started by ToBeDetermined, Mar 4, 2014.

  1. ToBeDetermined

    ToBeDetermined

    Joined:
    Feb 10, 2014
    Messages:
    9
    Resources:
    0
    Resources:
    0
    Hello everyone! This thread is a plea for a topic to fixing old maps, as well as some personal maps I'd like fixed so I can play them.

    Below are the maps I'd like to have fixed, I recruited some help earlier on fixing the WoT_3 (WheelofTime) map, but he's been unsuccessful for several weeks now so I'd like to expedite the process if possible. :)

    Thanks a lot in advance, and have a great day! ^_^
     

    Attached Files:

  2. BPower

    BPower

    Joined:
    Mar 18, 2012
    Messages:
    1,709
    Resources:
    21
    Spells:
    15
    Tutorials:
    1
    JASS:
    5
    Resources:
    21
    I think this rather belongs into the request section.
     
  3. ToBeDetermined

    ToBeDetermined

    Joined:
    Feb 10, 2014
    Messages:
    9
    Resources:
    0
    Resources:
    0
    But this does involve fixing triggers.... >_>
     
  4. BPower

    BPower

    Joined:
    Mar 18, 2012
    Messages:
    1,709
    Resources:
    21
    Spells:
    15
    Tutorials:
    1
    JASS:
    5
    Resources:
    21
    Yes and no, you want someone to fix three maps. That's far beyond fixing "a" trigger.
    Furthermore some of the maps are protected or at least have seen a map optimizer.
     
  5. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,930
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    Why should people spend their time fixing maps that only you want to play? I mean why has the map maker not fixed them?

    The only person who wants to fix them is you, so I advise doing it if you really want the maps fixed. The maps are apparently optimized so you will likely need to modify the trigger script manually in a text editor and re-import it back into the MPQ. Remember that the return bug has been removed (typecast exploit) so you will either need to use one of its more modern forms (if applicable) or upgrade to hashtables (since they do most of the things the typecasting exploit was used for anyway.
     
  6. ToBeDetermined

    ToBeDetermined

    Joined:
    Feb 10, 2014
    Messages:
    9
    Resources:
    0
    Resources:
    0
    First off, I'm quite sure I'm not the ONLY one wanting to play this maps. I have a friends list full of people wanting to play them for one.

    Secondly, the reason the mapmakers themselves have not fixed the maps is most likely because they don't play the game anymore. Incase you weren't aware, the game has been out for many years. People move on.

    Thirdly, I don't have the knowledge necessary to do it myself, nor the time needed to obtain such knowledge.

    Lastly, do you really have to be so high and mighty about it?
     
  7. deathismyfriend

    deathismyfriend

    Joined:
    Oct 24, 2012
    Messages:
    6,528
    Resources:
    14
    Spells:
    12
    Tutorials:
    2
    Resources:
    14
    Did you try to contact the original authors of those maps ? Try to do that and if you do get ahold of them see if they have the original maps still.
     
  8. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,930
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    I highly doubt that. No one on my friends list from before the type cast exploit was fixed still logs on to WC3. Unless you have actively forced real life friends back to playing WC3 after 5 years odd then your friends list will be empty.

    Exactly, which is why I unfortunately have to raise the question about your friends list making no sense. Or are you trying to say that these are people who never played the maps before but might play them if they worked? There are a ton of other maps to play out there that do work.

    Well a lot of people here do have the knowledge but do not have the time. They would rather help map makers who are making new maps with their problems than to use low level manipulation and sweat blood to try and fix a map the map maker clearly did not want people to modify. One way they spend 5 minutes in worldedit and help someone, the other might take days and may still not work depending what levels of silliness the author took to try and stop people modifying the map. The only person to blame is the map maker for not allowing people to edit (fix) his map.

    I am trying to tell you that what you are asking is not reasonable. Someone might help you but the chances are borderline an impossibility. None of those maps I ever played, have seen be played or would want to play and I am sure most people here are in a similar situation (especially since the maps are so old that most of the current WC3 players were not even playing WC3 back then).
     
    Last edited: Mar 6, 2014
  9. muzzel

    muzzel

    Joined:
    Jun 27, 2008
    Messages:
    1,303
    Resources:
    2
    JASS:
    1
    Wurst:
    1
    Resources:
    2
    Oh DSG give it a rest. There are old maps and old players and sometimes old players play old maps. I myself fixed two pre 1.24 maps, not even a year ago.
    If he wants the map fixed he has all right to ask for help here.
     
  10. ToBeDetermined

    ToBeDetermined

    Joined:
    Feb 10, 2014
    Messages:
    9
    Resources:
    0
    Resources:
    0
    I can only hope that others will see you for the person you are and not the person you project, Dr Super Good.
     
  11. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,930
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    There is a big difference between asking for help and requesting someone else do it. He is not asking for help but requesting someone else do it. All I have said is quite reasonable as most requests made on this site go unfulfilled as there are just too many and too few people to do them.

    I do notice some of what I said was silly and have removed it.

    I do not think you have seen me for the person I am. Basing your entire opinion about me on my feedback for your request is not going to be accurate.

    WoT_3.w3x was made using a third party modification of worldedit that is not standard. It specifically has custom GUI declared in it preventing it from being opened. Until it is known what tool was used to make the map it would be very difficult to fix it.

    WMW TE v4.1.w3x is corrupted. It may have been corrupted as a form of "protection" to prevent worldedit from opening it. Making modifications to such a map without the permission of the author is against this site's policy (I belive).
    Specifically this...
    Although I do not know if it still holds or as to what extent. I do however know that similar requests have been stopped in the past and this site tries to respect the wishes of content makers.

    Lotr Builder v5.5 p.w3x has been optimized by vexorian optimizer set to remove GUI trigger data but still allow loading in worldedit. The open source version is required in order for it to be fixed. The author may have used the optimizer as a form of protection so some form of modifiable version (permission) is required.

    As for why the maps are not compatible...
    WoT_3.w3x uses typecasting exploit which was patched. A fix may be possible as the trigger script is not optimized but this would still be very time consuming out side the editor.
    WMW TE v4.1.w3x uses typecasting exploit which was patched. The map is optimized by vexorian optimizer so a fix is not realistic outside the editor.
    Lotr Builder v5.5 p.w3x uses typecasting exploit which was patched. The map is optimized by vexorian optimizer so a fix is not realistic outside the editor. The map also appears to use WEU which is mostly unsupported nowadays.

    As you can see, the request is far from easy. All of the maps cannot be opened in standard worldedit or JNGP and two of them are optimized making external modification very time consuming. Only a very dedicated person with a lot of motivation should consider taking the task on.
     
  12. DysfunctionaI

    DysfunctionaI

    Joined:
    Mar 6, 2006
    Messages:
    281
    Resources:
    1
    Tutorials:
    1
    Resources:
    1
    I wasn't scripting when typecasting was around, so lemme get this straight.

    The only reason you can't play these maps is because the map script has some lines that need to be replaced? Can every typecasting situation be replaced with something else? How often was typecasting actually used within the script?

    If it's known how to replace typecasting with something else, then the only thing stopping you from fixing these maps is Ctrl+F in war3map.j and looking for typecasting, then replacing it with whatever. No need to open the map at all.

    I don't think this goes against the rules of protection because he's not trying to actually open the map in the WE, but rather, fix the script so that the map is playable once more.

    Google "RMPQEx". It's an MPQ extractor with an option to de-obfuscate the script file. Open the map, click the De-obfuscate button, and select what you want. Now you can read the jass script file, find typecasting, and replace it. You could even copy the whole script, and paste it into JNGP's trigger editor, with TESH enabled, so you can read it more clearly.
     
  13. PurgeandFire

    PurgeandFire

    Code Moderator

    Joined:
    Nov 11, 2006
    Messages:
    7,428
    Resources:
    18
    Icons:
    1
    Spells:
    4
    Tutorials:
    9
    JASS:
    4
    Resources:
    18
    @DSG:

    Even if the request might not be completed, I don't think there is any point in mentioning that it won't be fixed (unless the user continuously bumps the thread). I understand your points, it just isn't very nice. :( Something along the lines of 90% of model requests don't get completed, but that doesn't mean we should post in every model request that it won't be completed.

    @DysfunctionaI:

    Not every typecasting situation can be replaced. The current means of typecasting is done through hashtables, by saving a handle as one type and then loading it as the return type. However, this is a bit limited. For example, you can't cast terraindeformations or weathereffects (no hashtable functions exist for them). You also can't typecast a rect to a unit, for example. Before patch 1.24, this was possible (for no purpose except for data attachment, but the fact that it was possible makes fixing it require some extra work).

    Most of the time, it is relatively easy to get a map to open. The hard part is fixing it so that it retains its old functionality. It is still pretty easy to fix overall, but it requires some knowledge of the bug and how to replicate it with current functions. For more info, you can check out the "Make a map work for 1.24" in my signature (although, I really could extend that tutorial a bit).
     
  14. Dr Super Good

    Dr Super Good

    Spell Reviewer

    Joined:
    Jan 18, 2005
    Messages:
    25,930
    Resources:
    3
    Maps:
    1
    Spells:
    2
    Resources:
    3
    Yes and no. Having fixed maps with such problems in the past I can assure you 99% of cases can be fixed (not all since the reason the fix was applied was to stop something that was a critical security risk and was known to have destroyed several people's OS installations). However fixing them is not as simple as changing from x to y.

    Although H2I is now native with GetHandleId and can be replaced 1:1, the inverse typecasts such as integer to unit are not. The only way to implement them is to either not use them (major scripting changes) or to use a hashtable as a sort of intermediate storage (since you can use that to map integer numbers to the appropriate handle types for recalling).

    An example was in the map NotD AM where handlevars were used. In order for it to be vaguely functional a lot of script had to be changed over to hashtables (which also fixed string leaks).


    The code is optimized so there are no consistent names. Additionally as stated above 1:1 replacements are not always possible and some times it is better to re-engineer pieces of code.

    At least one of the maps used WEU and it is likely the only reason it is using the type casting exploit is for the broken GUI actions WEU added that it probably does not use anyway. If we had WEU and the open source version it could probably be fixed in a few minutes.

    He is still trying to modify a map without the author's permission when the author clearly does not want people modifying his map. One could argue that no author in their right mind would not want their map playable, but some have their reasons (they do not want the map played any more as they find it embarrassing is a common one).

    This is not possible. All human readable names are lost permanently during optimization of the map. Sure you can restore indentation but that is meaningless and most JASS editors support that feature anyway. The actual problem is understanding what the heck a function is doing and this is very hard when you have a deceleration such as...

    Code (vJASS):
    function aym takes integer a, unit b, string c returns integer

    Compared with...
    Code (vJASS):
    function registerUnit takes integer slot, unit which, string tag returns integer
     
  15. Quilnez

    Quilnez

    Joined:
    Oct 12, 2011
    Messages:
    3,294
    Resources:
    37
    Icons:
    2
    Tools:
    1
    Maps:
    7
    Spells:
    21
    Tutorials:
    2
    JASS:
    4
    Resources:
    37
    just stay at this community for a little longer, learn some about mapping and coding, and I assure, you could make something far better than those maps you have attached above someday :wink:
     
  16. muzzel

    muzzel

    Joined:
    Jun 27, 2008
    Messages:
    1,303
    Resources:
    2
    JASS:
    1
    Wurst:
    1
    Resources:
    2
  17. ToBeDetermined

    ToBeDetermined

    Joined:
    Feb 10, 2014
    Messages:
    9
    Resources:
    0
    Resources:
    0
    Thanks for your help in fixing one of the maps, Purge. It's very, very much appreciated!

    For those of you stumbling upon the thread and looking for a fixed version for your own play, it will be attached. :)
     

    Attached Files: