Ok, firstly apologies to your good self, Incos. I started writing a quick reply about the subjects you mentioned, but as it turned out when I started writing I found I had quite a bit to say. This post rapidly turned into a monster, In fact I just started writing about some of my ideas for a new WC2 front end then went to preview it and it got rejected because its over 20,000 characters .... OMW As a result I had to cut that description (which wasn't so far under the limit on its own) and will post it following this bit (which isn't too much shorter than the other bit) So sorry for turning your simple enquiry into a platform for a whole bunch of stuff that I wanted to talk about ....... but there is some info related to the topics you brought up in here somewhere.Now I wonder if he individually changed the palette of each bmp or if this is also in the war2.exe.. I will be looking at it tonight.
The only reason I ask is i want to learn. I would like to change the black ogres as well possibly some of the colors to dif variations.
It also opens the door for a bigger player Warcraft 2, such as 10 players or 12 players. Sc2 and wc3 both do it. I just wonder if it's the engine holding it back as well.
I know some of the guys have looked into it already. And say it's impossible for a bigger map than 128x128
Yes ... but not SC1 AFAIK. You may be aware that SC1 was basically WC2.5 It's based on the WC2 game engine, which was expanded in 2 main ways (a) there's 3 races and (b) WC2 Humans and Orcs are very similar. There's minor differences but each unit has a directly equivalent opposite number in the other race. In SC, the races are fundamentally different, and play differently. As far as the game engine is concerned, SC being set in space with aliens is totally irreverent. That's just sounds and graphics, SC1 really was the next WC2.
Of course, as we know, WC3 is a great steaming turd sandwich with a really sweet editor and mass of over-produced graphics. LOL... Ok maybe that's just my opinion. I'd certainly never suggest that Blizz was dumbing it down to
point and click fun for the whole family, while they were all still high on the fumes from the mega-gazillion bucks they made from D2. I would never suggest such a thing as I have far too much respect for their visionary awesomeness... and in the end they woke up and redeemed themselves somewhat with SC2. At least it's a genuine RTS.
But I'm a
Tolkien Nerd Goddamnit! The Nerd-Gods owe me a nice, shiny, new, awesome, challenging RTS with freakin' wizards and ogres and castles and guys with swords and orc hoards and all dat – because no matter how good the game may or may not be, there's an itch that some freak show of creepy-crawley space critters just does NOT scratch.
Lambchops looks around and suddenly realises he's standing on a soapbox delivering some kind of weird sermon to a handful of people at the local pub who's various reactions range from bemused indifference, through wondering if they should be concerned, to actually dialing 9-1 and waiting with their finger above the 1 key just in case this loony is about to totally lose it.
...Oh! ..Um ..... yes where was I? Expanded client features.... >8 players .. Ok, got it. Yeah really needs a complete re-write of the engine for this – even the guys who wrote it in the first place, with their own source code, when expanding it with entirely new races didn't mess with that limit... as far as I can remember, not having even seen SC1 in at least a decade.... and of course the Koreans hacked the living daylights out of it – I mean those guys went totally nuts on it, they even had full on bot leagues where their AIs could compete against each other, but I've never heard of a >8 player game... maybe there is, if anyone knows of this please let me know, but for this WC2 engine.. nah. There was a discussion on
THIS thread with some more info.
As far as maps larger than 128x128, this too would require some modification to the executable, although I don't think it would be anywhere near as difficult as >8 players (which is pretty much a "complete ground-up rewrite" situation) it would still require a considerable amount of time and effort to track down, and I am of the opinion that
should the availability of such time present itself, it would be put to better use developing new solutions rather than endlessly tinkering with with a chunk of 20 year old code that we will never be able to really get what we want out of for 2 very pertinent reasons: (1) We do not, nor will we ever conceivably own the software nor even the right to use it in the manner we wish to. (2) As a result we will never have access to the source code, which is the only way to effect any serious development of a software engineering project.Even if we collectively spent the remainder of the very brief time we have on this earth painstakingly picking apart every part of the WC2 files the resultant archive of tricks and kludges would still never compare to an active, developing, well written set of source files, and furthermore we would all be too senile to appreciate the collection of kludgey little tricks we had reaped as the reward for our life's labors.
... and to put it into context people, we may all be a touch OCD about our beloved WC2 (myself no less that anyone) but these files we could spend the rest of our lives pawing over are the product of the active, well written source files that the embryonic Blizzard team developed from the ground up inside the single calendar year of 1996. So what am I saying? We should all give up and go back to playing tiddly-winks? Hell NO! I'm saying we should get real about this stuff.
Despite the things we can't do with the .exe, IMHO there are some really cool features that COULD be implemented by a new front end using the existing client game engine as a mule of sorts.
Lengthy rant about Lamby's pipe dreams for a new client front-end clipped and placed in following post due to forum size restrictions. Check it out if you like crazy ideas If we were to be able to develop a new front end
anything like the one I imagine we possibly
could(see next post) it would bring in new interest, and revitalize our community (including, and perhaps specifically, the development community), and I believe
it would be used by the existing players also, because it would quite genuinely be a better interface.
So if that works, and it's good, and it's used.... because it's good, then that is something real that we have and can build on. Then we could work on a new back-end, then in a later release of the front-end include an option to use the new extended game engine.... which we could, of course, configure to use whatever sized maps and however many players we wanted (or could technically achieve). If its good, people will use it. If its crap or it doesn't feel right, they won't.
I installed Wargus years ago and messed around with it a bit. I didn't like it.
I thought it was a really well written, excellent piece of work. But hated playing it...
... and I have always loved
any computer game that had a little guy with a sword that you could make walk around the screen, right the way from the rudimentary text-based graphics in the Ultima series on an Apple ][ in the early 80's, I'm a total junkie for them.
I remember once spending about a week playing some totally tragic freeware Mysterious "Castle" / "Dungeon" game that fitted on a single floppy disk and I think was made by 1 guy living in his Mum's basement. He did it all including drawing all the graphics himself... and it was
bad... lol
so bad, and it looked worse, and I knew it, but still, I played the crap out of it, stayed up all night more than once.... and I still remember that crappy little POS game over 20 years later! OMG WTH is wrong with me?!
But Wargus. No way. Couldn't cope with it, and it's a really nice piece of work... Why?
Because it looked a lot like my beloved WC2, but it just didn't feel right. It was like fingernails on a chalkboard.
Who knows, if we all had have been introduced to Wargus first, maybe we would all love it and if someone wanted use to use the Blizzard client we'd all go, "EWW". But that's not what happened. So this is the real challenge, to improve what we've got, while still making it
feel right.
This is why I think the ONLY way to go, initially, with a new interface is to just use it to drive the existing client, that way as long as we do a good enough job of it, it will still feel like WC2, because people
will still be playing WC2. If they want to, people will still be able to play with the Blizzard interface in the same games as people using a the new interface. Then
if its good and people
use it we have the ideal environment to develop and refine a new back-end where we can compare it side be side with the existing back-end, using exactly the same interface, and make it so it has all the traits we like but can also use huge maps, and never get a dead spot.... and everything else you ever wished you could fix.
But the
real awesomeness would begin when we finally got to the stage where we could introduce a new map format and editor that could handle triggers and events etc., like the war3 or sc2 systems. Once you're working with your own code and not trying to dury-rig little bits of crap into someone else's executable you can do all that stuff.
But for any of this to work, it has to be good, and it has to be
optional. There always has to be the ability to make and play standard WC2 games, and the option to play with extended features. That way if they're good, people will choose to use them, if not, they wont. But even if this idea actually turned out better and was more widely successful than we ever imagined it would be and pretty much everyone chose to spend most of their gaming time using the "new stuff", we would still always want to be able to go back and play an awesome game of oldskool-kewl WC2 every once in a while. Hell
I would demand that - 'aint nobody takin my WC2 away, don't even think about it!
Oh.... Incos, ..... HI
That's right. What were we discussing? Ahh that's right, editing unit graphics and/or palette entries. Well. From what I understand of the whole black-to-pink mod, its an edit of the data files, not the exe itself.
All the graphics and heaps of other resources are all stored in the mpq files.
MoPaQMPQ is a Blizzard proprietary cabinet format. It's short for MoPaQ. The "MO" is the author's initials, it was originally conceived by a guy named Mike O'Brien, and "paq" is just "pack". An mpq is like an archive that can contain hundreds of different files, compressed and organised into an internal directory structure.... kind of like ZIP file containing a whole bunch of different files and folders, except mpq's also have another key feature which is a quite sophisticated hashed indexing system that allows for extremely fast lookup and location and retrieval of an individual resource in a large archive.
All the game data and resources initially existed in war2dat.mpq, but IIRC the system is set up so that entries with the same name/internal path in war2patch.mpq will override the default files in war2dat.mpq, in this way blizzard could release various patches and upgrades, just by adding them to the much smaller war2patch.mpq instead of having to reproduce and distribute the entire wad of resources for most of the game that is war2dat.mpq.
Despite being a proprietary format that has never been technically available to the public, quite a number of MPQ readers/editor have been written by third parties over the years (generally gaming enthusiasts), however Blizzard continued to use MoPaQ for many years after WC2, and they also altered and updated the specs for the the internal file structure many times along the way. Certainly WC2, SC1, WC3, D2,D3,WoW and I'm pretty sure also SC2 all use various versions of MoPaQ, and they all have the same ".mpq" file extension.
As a result many if not all of the 3rd party MoPaQ tools tend to only work with a small subset of MoPaQ versions and therefore you need to have the right editor to open the mpq files from any particular Blizzard game. So in the case of WC2, an old one... at least that's the way it used to be, I don't know if anyone has written a more comprehensive mpq editor recently, at any rate EasyCompany is the guy to talk to about that stuff, he's much more clued up about it than me... I'm a bit of a code monkey, when I'm messing round with graphics resources it's because I've pulled them out of process memory, not the mpq files.
BTW: I think it was only last year or the year before Blizzard finally introduced its new container format, the successor to MoPaQ. Was big news for nerdy folk like me.... lol.
Pink OGRESAs far as how the pink ogres thing actually works, I don't really know, because I've never looked at it. I did have it installed on a version of war2ce a while back, but I've never looked at the internals or mechanism. That being said, however, I would be
extremely surprised if it worked in any way other than replacing the 0xE4 to 0xE7 palette entries with shades of pink as against shades of grey/black.
GRPThe WC2 unit graphics are stored in a format called GRP. IIRC the GRP files are stored in war2dat.mpq then loaded into process memory when WC2 starts up.
GRP is a pretty interesting format, but I won't describe beyond saying that GRP is short for “Group” and they indeed then to contain groups of related images – in this case the various images that are used to animate the on screen unit images. Any further description isn't needed as I've actually written a pdf doc explaining the internals and implementation of GRP files in WC2 which I will attach to this post. The only other info on their internals I have come across was a text file written about 15 years ago by someone who had partially worked out how to decode them but still didn't understand some of the principles, it was however a useful starting point.
Certainly I can tell you that in the normal scheme of things, there is only ever 1 copy of each GRP in process memory. The unmodified GRP frames are all for the red player (player 1 when fixed order – or actually player 0 internally). As I understand it, the only time that images of other colored units are produced is when each frame is actually being rendered onto the screen display buffer, at which point as i decodes and renders the current frame for each on screen unit, the GRP decoder substitutes the palette indices for entries 0xD0 to 0xD3 with the appropriate entries for the color that has been assigned to the player that owns it.
I don't know if the palettes are stored in war2dat.mpq then loaded (which seems likely), however as they are not particularly large amounts of data, they could be already resident in the executable's '.data' section, but could be overwritten by a particular entry in war2patch.mpq, so the black to pink mod could be a direct edit of war2dat.mpq, or entry added to war2Patch.mpq that overrides the original palette in either war2dat.mpq or the .exe. It could also even be an edit of the palette in process memory after WC2 has loaded, but I think I remember reading/hearing somewhere that it was an mpq edit of some sort.
Anyway, as far as editing graphics and mpq's and the like, as far as I know
EC is da man.
DOGGIE BAGIf anyone is interested I documented the GRP format which is an the attached pdf. ( there's even some nice pretty pictures if you don't want to read about it
)
Also, while we're on the subject of palettes, I've attached a basic little
app for displaying the palette from 8 bit PCX files ( i.e. wc2 SS )
....Just drop a SS on it and it will produce a small bitmap file that has a 16x16 grid of colored squares on it that show the 256 colors in the PCX image's palette... Something like this: