Cybergoth Posted December 10, 2009 Share Posted December 10, 2009 Hi there! I was pretty uncertain where to post this, since it doesn't seem to fit anywhere. In the end this forum won What I'm looking for, is detailed info on Warcraft maps and the format they're stored in. Has this been reverse-engineered or documented somewhere? Are there any editors, unpackers, extractors or other hacking tools available? Does anyone know anything about this or least can someone give me a pointer where to start looking for this kind of info? Greetings, Manuel Quote Link to comment Share on other sites More sharing options...
Hornpipe2 Posted December 10, 2009 Share Posted December 10, 2009 (edited) I've got a side project called Stratlas, which is a tool used to produce full-size lossless compressed map images from legacy RTS games. I added Warcraft support last year or so. (It also does war2, preliminary c&c, and preliminary total annihilation maps.) Information on the old game is difficult to come by at best. One big stumbling block is that the map files themselves are packed away in the .war archive and "built" at run-time. To make custom maps you instead hack up a save file and change the tile info stored there. There is a map editor (warcedit) which does exactly that... it's an ancient tool that only works with the Forest tileset, but you can grab it off the Stratlas downloads page anyway. Stratlas makes its images by parsing .sav files. I have another program that works directly with the raw files but doesn't show starting locations - I don't exactly have permission to distribute it, but modifying Stratlas to work in this way would be pretty trivial. The Stratlas codebase can give some hints, but it's pretty much the bare minimum required to accurately place tiles and objects so it looks right. That leaves big gaps in e.g. fog-of-war info, AI waypoints, starting resources, etc. Most of my info was gleaned from the open-source project Wargus. Buried away in their svn repo is a directory called war1gus, with a file war1tool.c which is used to extract all the game resources for use with the Stratagus open-source RTS engine. Here is a link that you may find useful: http://wargus.svn.sourceforge.net/viewvc/wargus/trunk/war1gus/ If you're just interested in pulling the data to make your own viewer (or trying some direct replacements in the .war file), and you have a war-file extractor, you can simply get these numbered files from the archive. They are exactly 8192 bytes in size - odd is for tilemap, the even is fog-of-war map. 45 .. 67 -> forest 69 .. 91 -> swamp 93 .. 115 -> dungeon If you have more questions let me know! Edited December 10, 2009 by Hornpipe2 Quote Link to comment Share on other sites More sharing options...
Cybergoth Posted December 11, 2009 Author Share Posted December 11, 2009 Brilliant! This is exactly the kind of info I'm looking for, thank you very much! If you're just interested in pulling the data to make your own viewer That's the plan, indeed! I have a 4 week vacation starting the Christmas week and I want to spend some of the time with NES programming. Since I figured the NES is a bit too underpowered for what I had in mind with my Apocalypse Engine, I've started toying with the idea of a Warcraft demake The project I choose for this vacation is learning how scrolling works on the NES and well, I intend to scroll Warcraft maps for the start If you have more questions let me know! Way cool offer, thanks! I'm sure I'll bump into some more questions, e.g. regarding tile data and such, but you already jump-started me with some good pointers for preliminary research Quote Link to comment Share on other sites More sharing options...
Hornpipe2 Posted December 11, 2009 Share Posted December 11, 2009 Map tiles get a bit confusing, because tilesets are actually stored across four files. However, they are somewhat better documented because a lot was shared between those and Warcraft II. Here's documentation on War2: http://cade.datamax.bg/war2x/wc2tile.html The main difference is that Warcraft II, megatiles are 32x32 (made of 16 8x8 Minitiles) whereas War1 is 16x16 (4 8x8 minitiles). .gfx (or in War2BNE or newer, .grp) graphics files are arbitrary sizes and stored in a different format, but it is identical to War1/War2. These are used for unit, building, and spell images. Here's a Google cache of info from Starcraft on how those work. Stratlas loads only the first frame of GRP files, making it mostly useless to you : ) http://74.125.95.132/search?q=cache:Y86P9TJ-nSUJ:mediasrv.ns.ac.yu/extra/fileformat/games/grp/grp.txt+starcraft+grp+file+format&hl=en&gl=us&strip=1 Good luck! Quote Link to comment Share on other sites More sharing options...
KuriKai Posted April 24, 2010 Share Posted April 24, 2010 Cybergoth: Have you managed to get anywhere with the Engine yet? I am interested in making a Warcraft Engine but my coding skills are very low. There was a person who tried before and got quite far, but for some reason he stopped. his Engine was called Winwar. it's hosted on sourceforge Quote Link to comment Share on other sites More sharing options...
Cybergoth Posted April 24, 2010 Author Share Posted April 24, 2010 Unfortunately none of my plans worked out, Instead of a four week vacation around christmas I got called back to work after two weeks already from my boss. I remember I spent and evening or two going through all the great info provided by Hornpipe2, but didn't get far. All I remember is that I ran into some issues when trying to compile the war1tool.c mentioned above, mostly because I never worked with Cygwin before. (At work we use either Microsoft or Qt for C++ ) Quote Link to comment Share on other sites More sharing options...
KuriKai Posted April 25, 2010 Share Posted April 25, 2010 Unfortunately none of my plans worked out, Instead of a four week vacation around christmas I got called back to work after two weeks already from my boss. I remember I spent and evening or two going through all the great info provided by Hornpipe2, but didn't get far. All I remember is that I ran into some issues when trying to compile the war1tool.c mentioned above, mostly because I never worked with Cygwin before. (At work we use either Microsoft or Qt for C++ ) Ah, ok. I run Ubuntu, and I just managed to compile war1tool very easily. It works, it extracts all the graphics from the warcraft .war file. I will try and make an Engine, I don't think I will get too far though Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.