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

Ashlebede

New Member
Reaction score
43
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
 
>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.
 
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: )
 
You should attach the files right to the post.
 
Will this see an update sooner or later?
 
Will this see an update sooner or later?

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...)
 
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

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

In your editor's options, set the listfile to the one you extracted earlier. The files should now show up with acceptable names.
 
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.
 
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)".
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • Varine Varine:
    I should have had all of this like a month ago but whatever, it's fine. He's trying a thing, idk it's his menu I don
  • Varine Varine:
    I don't care.
  • Varine Varine:
    Fuck I need more saturday nights off. Turns out I'm much cooler to drunk girls. If I hang out with enough people like that, eventually I'll meet one that likes me sober too
  • Varine Varine:
    idk if anyone has ever done IT. I am not IT but I just got off a 20 minute phone call with the general manager asking me how to make her new computer print. I do adore her, like I know her personally, but I asked three times if the printer was on. She apologized for bothering me, and Chef Ben walked in a few minutes later, turned the printer on apparently, and then called to ask if I was trying to print shit from my house again
  • Varine Varine:
    So I have a newfound appreciation
  • Varine Varine:
    And also I'm going to remove that one from my secondary career options
  • Varine Varine:
    As I get older I'm not thinking I can do this forever anymore, and I'm kind of dead end right now. I get a fine salary and fair raises, like I can easily live my lifestyle on this normally, but I don't know if I can do this in ten years, and I don't think I want to. I don't really have any desire to take over another restaurant, and I don't want to try and own one, and I doubt I'll luck out like I did with that taco place in Texas
  • Varine Varine:
    I have a math degree but that was a while ago and I'm not positive I actually deserved that. It was kind of just given to me I feel like cuz I was in school so long. Like for a bit as a teenager I got real into the mormon thing, and my dad grew up kind of similarly. Much like he fell out of it
  • Varine Varine:
    Anyway he started coming to church with me for a bit, and they gave home the I think Melchizedek? idk how to spell it, but it's the 'upper' priesthood, like he had a whole blessing thing after I got baptized, and it WAS a very neat experience. And the only reason I think they did they did that was cuz he was like late 30s, and that is kind of the age that they have the last chance at that
  • Varine Varine:
    And I mean its not, but like... I'm pretty well set in my lack of religious beliefs, I guess. And I'm a bit younger than my dad would have been then.
  • Varine Varine:
    And then I got real into, he got bored and was like you do you dude, and that's how I got a huge amount of freedom when I started doing drugs as a teenager
  • Varine Varine:
    In hindsight my parents were fantastic. but they were too fucking tired to raise kids like me. And their jobs were easier with better benefits.
  • Varine Varine:
    Anyway idk where I'm going here, but I asked ChatGPT some of the same things and holy shit was it way more strict and just gave me (importantly the wrong) phone number to a hotline
  • Varine Varine:
    TH, I gotta say, though, I'm amazed you keep this up. I feel like there are you and Ghan doing whatever you're doing, Tom posting news, and then me using the chatbox as a journal every once in a while.
    +1
  • Varine Varine:
    Thanks for letting me do that, also. I know I'm not using it correctly, but somewhere along the line I went from arguing with Cheshire to using this as a kind of void for my frustrations and hopes. I like to think of the whole thing as an enigma of sorts
  • Varine Varine:
    It's not, you guys could probably blackmail me if you went back far enough. I doubt anyone would, you've always been very kind, and I'm glad to have been a part of all this! I hope you enjoy me too, cuz I'm going to keep doing it.
    +1
  • Varine Varine:
    In my defense I was high for a lot of that though
  • V-SNES V-SNES:
    Thanks for sharing @Varine
  • The Helper The Helper:
    Brother how long we been here together? You guys are some of my best friends and I have never even met any of you. I dont know what I would if I did not have my Varine rant to look at when I get on. How could I possibly ever shut this site down? We have been here in this little chat box through a lot of shit for a long time. I love you guys!
    +2
  • tom_mai78101 tom_mai78101:
    I missed out on a lot of chat messages. But yeah, we're planning for my mom's funeral back in Taiwan. I'm really glad I work remotely, so I can try to leverage that and go to places outside of US while still working in US.
    +1
  • tom_mai78101 tom_mai78101:
    If it wasn't for my mom, I wouldn't be able to work in the US. Let alone being able to work until our office closed, and I became a full-time remote employee.
  • tom_mai78101 tom_mai78101:
    Really important though, get your wills and last testaments ready. We avoided like 2 to 3 months of waiting for probate court to get back to us.
    +2
  • The Helper The Helper:
    V-SNES I got good news I got your stuff packed for shipping and just need to get to the post office to get shipping cost!
    +1
  • jonas jonas:
    Oh man Cheshire, I often wonder what happened to her and most of the other people who used to be here
  • V-SNES V-SNES:
    @The Helper that's great! Looking forward to getting them!

      The Helper Discord

      Members online

      No members online now.

      Affiliates

      Hive Workshop NUON Dome World Editor Tutorials
      Top