WC1/2 clone (NOT remake) proposal

Discussion in 'Fan Projects & Editing' started by ZOmegaZ, Nov 19, 2007.

  1. Karakkaze

    Karakkaze Spaceman

    Messages:
    27
    Likes Received:
    0
    Trophy Points:
    50
    Nicely done.

    Oh, do you plan on using the tool to convert all of the ship graphics? I've wanted to do something in Flash using the Wing Commander graphics, but the only WC1 graphic viewer I know of has color issues. Is it possible you could export them to a recognizable format that supports alpha channels, be it .PCX or .PNG? .PCX would be with the palette data intact, giving us a pretty much perfect rip, for recoloring. .PNG simply because it'd be easier for flash animators.
  2. ZOmegaZ

    ZOmegaZ Commodore

    Messages:
    103
    Likes Received:
    0
    Trophy Points:
    12,035
    Looking at the Pygame documentation, PNG exporting should be a trivial addition to the code. I'll see about doing a simple executable package once I get back into the code.
  3. Flashpoint

    Flashpoint Captain

    Messages:
    352
    Likes Received:
    15
    Trophy Points:
    11,185
    Would it be terribly cheeky to ask you to send me a breakdown of the file formats?

    Camp.xxx
    briefing.xxx

    I'm still slowly learning VB (due to intense workload) and I have to admit that you are much much better at this. This is my first attempt to hack files using a Hex editor after all and although I have uncovered much, there is also much that will either take me time or is simply beyond me.

    You mentioned the files are split into tables, so could you let me know at what addresses these tables begin and end, where the first block begins and ends (eg the 13 entries that make up each briefing), how long each block is and if you know them, what each bit of data does within a single block?
    Or alternatively give me some good advice on viewing and organising the data so I can interpret it better (priting bits out was very useful, but it's a bit to huge a file to print the whole thing.

    If you can, wonderful, if you can't cool too. I figured asking was worth while as it seems a little silly to have 2 people investigating the same files.
  4. Madman

    Madman Vice Admiral

    Messages:
    975
    Likes Received:
    4
    Trophy Points:
    32,385
    Location:
    Wakefield, West Yorks, England
    Would love to see a little code that allows you to view the cutscenes from the game (ie the briefings and bar convos) - would help shades for instance!
  5. Flashpoint

    Flashpoint Captain

    Messages:
    352
    Likes Received:
    15
    Trophy Points:
    11,185
    I think ZOmegaZ work will bear more fruit in that direction as he is pouring old WC1 resources and data into a new engine.

    My project is simply to write a WC1 mission/campaign builder & editor with a friendly windows interface.
  6. ZOmegaZ

    ZOmegaZ Commodore

    Messages:
    103
    Likes Received:
    0
    Trophy Points:
    12,035
    The files I linked to above contain the format information you want. For example, where each table is in the file is contained in the first table, which is at the beginning of the file. I may update the format files with an example some time, just for grins. And my code should be much more instructive in accessing and organizing the data than anything I could post here would be. It's a relatively simple matter to modify the code as it stands to output any given block of data from the briefing or camp files.

    I have managed to get a little work done. The talking head is less buggy and has correct text now, and basic branching code has been implemented. I've got structures in place to handle persistent game variables, like pilot kills and such, so that the branching has something to work with. I'm hoping to release some new code within two weeks, including a functional talking head system and a graphics converter. The briefing simulator will definitely work with bar scenes, but I haven't started on briefings and debriefings yet. Those are much more complex, more backgrounds to account for. We'll see how far I get. :)
  7. Flashpoint

    Flashpoint Captain

    Messages:
    352
    Likes Received:
    15
    Trophy Points:
    11,185
    Amazing. You're a star
  8. Flashpoint

    Flashpoint Captain

    Messages:
    352
    Likes Received:
    15
    Trophy Points:
    11,185
    Apologies for the bump, but I need to keep my eye on some of the documentation in this thread, after madmans post on my thread made me go back into my editor tonight :)
  9. ZOmegaZ

    ZOmegaZ Commodore

    Messages:
    103
    Likes Received:
    0
    Trophy Points:
    12,035
    I actually started working on this again for the first time in a while. I now have a functional room engine, which will display the rec room and the barracks and transition between them. All clickable hotspots are in place in the rec room, and conversations play as appropriate for the mission selected. If I stay on it, I'm hoping to have the entirety of the rec-room/barracks functional within a few weeks. After that, the briefings and debriefings still need quite a bit of polish. And then finally, the flight engine, which will take for freaking ever. :)
  10. Chris Knudsen

    Chris Knudsen Captain

    Messages:
    307
    Likes Received:
    0
    Trophy Points:
    10,835
    Location:
    Copenhagen, Denmark
    This sounds like an interesting project, but I'm afraid you're going to run into limitations with pure SDL when you start work on the flight engine. SDL uses software rendering, which is very slow, and you'll have to update the screen many times a second in the flight engine. Also, SDL in itself doesn't support rotating and scaling of 2D images, which is a must for a Wing Commander 1/2 like flight engine. I'd advise you to use SDL as a window context wrapper for OpenGL, which will give you full hardware rendering and easy rotating and scaling of sprites. Does Pygame support OpenGL through SDL?
  11. ZOmegaZ

    ZOmegaZ Commodore

    Messages:
    103
    Likes Received:
    0
    Trophy Points:
    12,035
    You're quite right, Pygame is definitely not the way to go for the flight engine. I was looking at PySoy for that, since I wasn't planning to go deep enough to develop my own 3D engine. If it comes to that, though, I may just.

    You can use OpenGL through Pygame, I understand, but I don't know enough about it to comment more intelligently than that. :)
  12. Chris Knudsen

    Chris Knudsen Captain

    Messages:
    307
    Likes Received:
    0
    Trophy Points:
    10,835
    Location:
    Copenhagen, Denmark
    I haven't heard of PySoy before and I'm wondering if you really need a proper 3D engine? Isn't the Wing Commander 1/2 engine just 2D bitmaps scaled to simulate distance? That should be more than possible with OpenGL... which is surprisingly easy to use in an SDL context. I feared diving into OpenGL myself, but as soon as I had a simple sprite rendering procedure set up, it's a breeze.
  13. ZOmegaZ

    ZOmegaZ Commodore

    Messages:
    103
    Likes Received:
    0
    Trophy Points:
    12,035
    A proper 3d engine isn't strictly necessary, no, but it does make the engine much more extensible in the long run. Also, it cuts down on having to implement my own collision code. :)
  14. Flashpoint

    Flashpoint Captain

    Messages:
    352
    Likes Received:
    15
    Trophy Points:
    11,185
    Ah, I thought you'd abandoned this. Nice to see you haven't.
    I've a quick question for you...
    When deconstructing the campaign/mission/briefing did you ever come across anything which signified they type of mission it was? Like escort or indeed what you were escorting?
    I imagine this has to be in there somewhere to allow the program to choose suitable music and for keeping track of win/loss debriefings and mission branching.

    I ask, as I have been unable to identify how the game engine works this out.
  15. delMar

    delMar Rear Admiral

    Messages:
    120
    Likes Received:
    9
    Trophy Points:
    22,035
    Gender:
    Male
    Location:
    Austria
    Sorry to bump such an old thread, but is there a way to get the file originally at http://srange.net/wc1/code.zip from somewhere else?
    Unfortunately, it's not available anymore and I did not find it in the CIC's download section...

Share This Page