Tutorial How to convert a Frozen Throne map so it is playable in Reign of Chaos

Discussion in 'Graveyard' started by Ashlebede, Jan 4, 2011.

  1. Ashlebede

    Ashlebede New Member

    This tutorial explains how you can make a map in the Frozen Throne's (TFT) World Editor and then convert it so all your Reign of Chaos (RoC) friends can play it.

    This method allows you to use almost everything TFT's World Editor has to offer and also allows the use of TFT-only spells. This method was used for the conversion of the famous TFT-quality map Hero Line Wars RoC and was sent to my friend Sesamia by its creator, Kueken. I would like to thank him for telling me how he converted his map and allowing me to write this tutorial.

    So, if you want to make your map playable in RoC, thou shalt need the following :

    • A complete TFT install updated with the most recent patch
    • An MPQ editor (such as WinMPQ)
    • A TFT map and the author's permission OR a map you made yourself
    • Microsoft Excel (or OpenOffice.org Calc, its free and open source equivalent)
    • Windows or a Windows Emulator (such as Wine)

    It is also recommended that you have the following :

    • Patience
    • A map optimizer, to reduce file size (such as Vexorian's Wc3mapoptimizer)
    • Warcraft 3 Viewer (if you want to use TFT-only models)
    • A RoC-only install updated with the most recent patch (for testing)
    • Fun :p

    Before we start converting our map, we need to get some required files in TFT's installation folder. Open war3x.mpq (they are both in your installation folder) with the MPQ editor. It contains a (listfile). Extract it in any folder.

    Now, open war3patch.mpq, which is also in your installation folder. It has no listfile ; all the files have weird names. In your editor's options, set the listfile to the one you extracted earlier. The files should now show up with acceptable names.

    From war3patch.mpq, extract the following files to an empty folder :

    • UI\TriggerData.txt
    • Units\AbilityData.slk
    • Units\CampaignAbilityFunc.txt
    • Units\CommonAbilityFunc.txt
    • Units\HumanAbilityFunc.txt
    • Units\ItemAbilityFunc.txt
    • Units\NeutralAbilityFunc.txt
    • Units\NightElfAbilityFunc.txt
    • Units\UndeadAbilityFunc.txt

    Now, open your finished TFT map (or make it). Make sure none of the units in the Object Editor are based on TFT-only units. For instance, you can create a unit based on Footman and give it TFT-only abilities, such as Locust, which makes it unselectable. However, you cannot base a unit on the Spell Breaker, which is a TFT-only unit.

    This restriction does not apply when you have TFT-only units that are not preplaced on the map and are only placed using triggers. If you have any pre-placed units based on TFT-only ones on your map, you will either have to create a new similar unit-type based on a RoC unit or place them using triggers. A good way to know if a unit is based on a TFT-only unit is to find it in the Object Editor and press CTRL+U, which resets the unit to its default, the unit on which it is based. If that unit is a Blood Mage, you know it won't work. Remember to do CTRL+Z to undo the changes if you want to go back to the modified unit.

    That is the only real restriction. Do not preplace anything based on TFT-only objects. This also applies for doodads, items and destructables.

    You are free to use almost any of the TFT-only content, even trigger actions, gameplay constants, custom abilities... however, there are a few trigger actions that do not work (very few, in fact), such as Unit - Hide.

    Oh, by the way, if you are going to use any TFT-only model files, you might want to either replace them with RoC models or import them into your map. To do that, you will need to open war3x.mpq (the file that contains all TFT models and textures) with Warcraft 3 Viewer and find the model you're looking for. Extract it, write down its original path in war3x.mpq and do the same for every texture it uses. To find out which textures are used by a model file, go in Warcraft 3 Viewer's menu : Current File>Show used texture names. If your model also has a portrait version, extract is as well. Now, import the textures and models into the map using the World Editor's Import Manager and change their paths to the ones they had in war3x.mpq. If you do not import the textures and models, the models will not show up on computers that do not have TFT installed. Please note that importing TFT models into your map increases file size a lot.

    Now, create your map as you would for any TFT map, remembering these restrictions. Once you are finished and everything is done, convert all triggers to custom text (in the trigger editor, Edit>Convert to Custom Text) and save it with a new file name, such as "myMap_CustomText.w3x".

    Once that is done (it can be long if you have many non-Jass triggers), you have to make your map playable in RoC by removing every single TFT feature it has. It is the hardest (the longest, at least) part of the conversion. It is usually done by :

    • Removing all triggers
    • Removing all custom abilities and resetting the base abilities to default by using the CTRL+SHIFT+U hotkey
    • Resetting all custom doodads to default by using the CTRL+U and CTRL+SHIFT+U again for base ones
    • Removing all custom buffs and resetting all base buffs to default
    • Removing all custom upgrades and resetting the base upgrades to default
    • Removing all custom destructables and resetting the base destructables to default
    • Removing all items that are not pre-placed and resetting others, as well as resetting the base items to default (if unsure whether they are pre-placed or not, reset them to default)
    • Removing all units that are not pre-placed and resetting others, as well as resetting the base items to default (if unsure whether they are pre-placed or not, reset them to default)
    • Resetting gameplay constants to default

    If it was all done correctly, your map should now have the .w3m extension. To verify whether or not it can have the .w3m extension, go in the menu Scenario>Map Description and look at that dialog box. It should tell you if you can't save it as a RoC map and why not. Change that stuff so it can work in RoC and then save your map with a new name, such as "myMap_Empty.w3m".

    Now, to make your map's TFT-only features (which do not exist anymore :p) work in RoC, we need to import some of TFT's files, those which we extracted from war3patch.mpq. But then, we need to edit them a bit. That is where Excel comes in handy.

    Open the file AbilityData.slk with Excel or OpenOffice.org Calc. It should show all sorts of ability rawcodes and stuff in some sort of table. One of the columns, in the first row, reads "version". That column describes whether or not the ability is available in RoC.

    So, you'll have to change every single "1" in that column to a "0", since "1" describes TFT and "0" describes RoC. Good luck with that, it can be long. To do so, I simply pressed 0, enter, 0, enter, 0, enter... many, many times (there are about 700 rows if I remember well). Or you can use the attached file which is already modified. Then save the AbilityData.slk file.

    Now that all the abilities are available in RoC, we should import that file. In the World Editor, with your empty map, open the Import Manager. Import all of the files we extracted earlier and change their paths to the ones they had in war3patch.mpq.

    For instance, "war3mapImported\AbilityData.slk" becomes "Units\AbilityData.slk". In fact, you'll just have to change all those "war3mapImported"s to "Units"s, except for TriggerData.txt, which becomes "UI\TriggerData.txt". Remember the file names are case sensitive.

    Now, open your original map (the pure TFT version with custom text triggers) with the MPQ editor and extract the following files :

    • war3map.j
    • war3map.w3a
    • war3map.w3e
    • war3map.w3h
    • war3map.w3q
    • war3map.w3t
    • war3map.w3u
    • war3map.wct
    • war3map.wtg
    • war3map.wts
    • war3mapExtra.txt
    • war3mapMisc.txt
    • war3mapSkin.txt

    Those are basically all the files of your map, since they contain your map script, object editor data, trigger data, gameplay constants, interface options... they may not all be present in the map ; extract only those that exist.

    Now, in the RoC version, open the Import Manager and import the files you just extracted. As for the war3patch.mpq files, change their paths to the original ones. For instance, "war3mapImported\war3map.j" becomes "war3map.j". Remove the "war3mapImported\" from every file name.

    And now ? Your map should work. Yep, it should work in RoC. However, the file's size increased by a lot. You will want to run a map optimizer and/or widgetizer now that it's finished, to decrease loading time and file size.

    And now, all your Reign of Chaos friends should be able to play your map. :thup:

    I included a demo map. I called it "Footman with Locust". Believe it or not, it's about a footman with the Locust ability, which makes it unselectable and invulnerable. His friend, Mountain King with Banish, likes to Banish the 3 defenseless blue peasants on the map. What is so special is that it can be played in Reign of Chaos. Yes sir, it can.

    View attachment FootmanWithLocustFinal.w3m <=== Demo map
    View attachment AbilityData.slk.RAR <=== Modified AbilityData.slk
    • Like Like x 1
  2. Sgqvur

    Sgqvur FullOfUltimateTruthsAndEt ernalPrinciples, i.e shi

    >So, you'll have to change every single "1" in that column to a "0", since "1" describes TFT and "0" describes RoC. Good luck with that, it can be long. To do so, I simply pressed 0, enter, 0, enter, 0, enter... many, many times (there are about 700 rows if I remember well).

    I think you can drag the first column down and every column that is beneath it will change it's value to the one you started dragging from.

    Quite alot of requirements just to make your map a time traveler but if you have lots of RoC friends I guess its worth it.

    I've always asked my self what's this map Hero Line Wars RoC doing in the custom maps section in bnet in frozen throne and I played it a few times but figured it's some kinda of ancient map(no offense) (from 2002-3-4) that people play from nostalgia but guess I was really really wrong. It was actually made by an educated mapper who likes backwards compatibility.
  3. Ashlebede

    Ashlebede New Member

    Yes, it is made by an experimented mapper and it is a TFT-quality map. Many people think that because a map was made for RoC, it is worse than a TFT map ( which is like racism, but for maps... mappism ? RoCism ? ), and many even think that it's not possible to make a TFT map playable in RoC if it has TFT-only abilities. HLW RoC proves them wrong. The development was stopped pretty damned closed to a year ago, though...

    I ain't a pr0 at Excel, by the way, so I didn't know that shortcut. You can just take that .rar file, anyways, which contains the modified AbilityData.slk.

    (Changed the demo map, was the wrong map... >>D: )
  4. BlackRose

    BlackRose Forum User

    Kueken! <3
  5. Ashlebede

    Ashlebede New Member

    What about him ? >>D:
  6. BlackRose

    BlackRose Forum User

    Lurve him :D

    Lurve offtopicness :D
  7. tooltiperror

    tooltiperror Super Moderator Staff Member

    You should attach the files right to the post.
  8. Sim

    Sim Forum Administrator Staff Member

    Will this see an update sooner or later?
  9. Ashlebede

    Ashlebede New Member

    Anything in particular that needs an update ? (except attaching the files directly to the post, which I'm too lazy/don't know how to do)

    {sorry about the late reply, I don't visit this website too often, these days...)
  10. Sim

    Sim Forum Administrator Staff Member

  11. BEeeH-

    BEeeH- New Member

    Nice guide!:> But what do you mean with this??? "set the listfile to the one you extraced earlier" How? :O

  12. tooltiperror

    tooltiperror Super Moderator Staff Member

    The files in the post should be attached to the post, not linked, if possible.

    This has been needing the update mentioned by Sim for a long time, so I'll take the liberty to send this to the home for abandoned resources.
  13. ChosenOreo

    ChosenOreo New Member

    You don't even need to do all that

    All you need to do is import the files from war3patch.mpq, and then import ALL files from yourmap.w3x into blankmap.w3m (except for the "(listfile)" and "(attributes)".

Share This Page