Jump to content


  • Content Count

  • Joined

  • Last visited

Community Reputation

2 Neutral

About Blade

  • Rank
    Sand Flea

Recent Profile Visitors

546 profile views
  1. Nope, the engines are largely unrelated plus OpenSAGE is a long long way from being a playable game. That isn't to say when its further along it couldn't be adapated, but then so could say the SpringRTS engine if you want to just remake the game on a different engine and that one is already ready to go. If you want a proper recreation, then someone is going to have to make a start on that either by working out the file formats and then trying to match the behaviour in a custom engine like OpenSAGE or by creating a reimplementation by studying/decompiling the original binary as done by OpenDUNE and the approach being used by Thyme in creating their reimplementation of SAGE.
  2. I've been working on a project to recreated the SAGE engine as used by Command & Conquer Generals: Zero Hour over at GitHub using a similar technique to reimplement the engine to that used by OpenRCT2. The project is far from finished, but the intention is to be able to improve the engine, fix some of its flaws and port it to other platforms (hopefully with cross platform multi-player). Currently the only notable feature is a border less windowed option that allows fake full screen, but as more of the engine is implemented, more should become possible. The GitHub read me has details of our freenode IRC channel and discord server if you want to discuss the project.
  3. Okay, so it seems that the faction colors are mainly done by a 16 color lookup table, though a variable size one up to 256 colors is possible. The attached tool will take a series of pcx files named as filename ####.pcx and turn them into a shp called filename.shp. The tool is ran as "d2shpset filename" without either extension. The -l flag will tell it to create a lookup table for faction colors. I believe the 16 color tables will work, I'm not sure about the 17+ extended ones though. I'd need an example file to ensure my code matches it, but it might already work correctly. You can also use -d to disable the LCW (format80) compression for troubleshooting purposes though it will give you larger file sizes. The RedHorizon tools don't use LCW compression as apparently it made Dune2 crash. My LCW algorithm results in the exact same data as the WW code so it shouldn't have that issue, but we'll see. P.S. Frame sizes are determined by the size of the PCX file they are created from so variable frame sizes are also possible. d2shpset.zip
  4. Okay, so I have a tool that can currently write none remapping dune2 shp files, which is enough to edit the TD/RA mouse cursors, but I've not yet tackled generating the lookup table I think is needed for remap. I've looked over the code for the Red Horizon and think I know where it goes wrong though, it builds the table in the order it encounters a colour, so if the first pixel it encounters is not 0, that gets position 0 in the lookup. However I believe the game always treats 0 as transparent, it never checks the lookup for it and so 0 must always map to 0 in the lookup or you get this error. Not that this info helps you right now, but it means I should get it right when I do it ;)
  5. Do you have any documentation on how the faction colour system works? I'm guessing it has something to do with the optional palette that can be included in a frame? If not I guess I'll have to go spelunking in the OpenDUNE code and Ultraqs code to figure it out.
  6. You mean it treats the top left pixel always as transparent?
  7. Yeah, that animation speed parameter actually controls the size of the buffer the game needs to create to decode the frames, nothing in a WSA file actually flags the playback rate at all. Where the guys who wrote the original docs for the file spec got that from I don't know, just looking at a few related files shows that the value varies too widely to be related to timing. Anyhow, I'd be happy to hear any feedback on successful use of any of the tools, I plan to add a Dune2 shp encoder at some point too :)
  8. I posted a bug report on those tools, they don't handle the Delta field in the header correctly so its hit and miss if a WSA generated by those tools can actually be decoded by the game. I'm not sure how good the compression is in Ultraq's tools, but these match the compression achieved by the code WW used. When I was testing the C&C version I round tripped a couple of C&C WSA files and it even shaved a few bytes off because the format40 (actually called XORDelta by WW) encoder in this tool is slightly more efficient than the WW one was.
  9. As part of a project to develop an OpenDUNE style open source version of Red Alert, I've created a number of command line tools for creating the files used in the C&C games. Since the Dune2 WSA format is so similar to the C&C one, it wasn't much work to write a tool that creates the D2 versions either. If you would like to give it a go, the tool is part of a package and is d2wsaset, the tools can be downloaded from http://omniblade.cncnet.org/tools.zip. The tool is untested currently so any feedback on if the files it generates actually work in game would be helpful. The tool takes pcx files only and has options to set a loop frame and include the palette in the file. I'm not sure if Dune2 uses these options on its wsa files, so you may need to experiment or look at the existing files with a hex editor and a copy of the file format such as found at http://eob.wikispaces.com/lol.wsa. Running the tool without any options will give you instructions for use, a file name is passed to it without any extension.
  • Create New...