Just coming back from
over there, do you think multi-language support for all the texts would be worthwhile?
Definitely! I can imagine the WC Workshop handling localization issues and generate WC1/2 assets for one specific language at a time. I like it
Concerning EXE hacking:
I have identified some hard-to-miss points inside the EXEs myself already. Like names of pilots, etc.
I plan to generate modified EXE files as well (allows for changing names of pilot for campaigns in different settings than just the Tiger's Claw).
Modifying ship's data also requires exe modification, if I got that right. So there's no way around that anyway.
If I can relieve you from some tedious tasks, I'd really love to.
So if anything in the EXE can be modified by just modifying the right bytes at the right offset, please let me know. It just requires me to adjust some mapping files.
Except, of course, you get a kick out of creating a new wc4-dvd patch revision with the left hand while importing some star citizen constellation class craft into wc1 with the right hand at the same time.
At least to me it seems as if that's exactly what you where doing constantly
Hehe i really tend to overcommit don't I
I'm really passionate about all things WC, so i tend to explore lots of venues simultaneously, in some cases to a fault since I end up not being able to cover all the projects I start, dispite my best intentions. Of course, at the end of the day that's not the most wise course of action... So yeah i could definitely use some help at a few tasks, if you want to coordinate efforts I definitely welcome it
Here's something you may want to pick up, i'd be glad to pass it to you if you're interested:
As you know, there are a number of advantages in using the SM2 EXE over WC.EXE, even for the main campaign and SM1. The most significant of these is probably the frame limiter, which doesn't cover all the sequences, but it *is* there, so adding support for the limiter in the sequences where it's lacking (ex. talking heads and autopilot) should be a matter of hooking a call to the limiter in the appropriate places. Should be a bit tedious, but not too challenging.
But *before* that: the SM2 EXE needs to be configured to run either the WC1, SM1 or SM2 campaigns. In short, turn SM2.EXE into a "universal", more polished, WC1 EXE. I had the following tasks on my list so far:
- Configure the default campaign number to launch. This is hardcoded to 2 in the SM2 EXE, but is in fact quite simple to change: just search for byte pattern
b8 02 00 50 9a 48
and change the 02 to 00 or 01. That's it! The appropriate campaign should launch when you click the start campaign button.
- Change the SM2 stats to match WC1 stats. The SM2 Dralthi, for example, has alternate stats, being armed with Mass Drivers and missiles instead of the original WC1 loadout. Other differences may exist, i'm not sure. In order to have the SM2 EXE to present the same stats as the WC1 EXE, we should overlay the stats from the WC1 EXE on the SM2 EXE. I remember back in the day I had a hex-editor that allowed me to simply dump to a file the entire ship stats block from the WC1 EXE and paste it on the SM2 stats block (the process was manual).
I can imagine this could fit very well in the WC Workship as part of a more specific stats-editing functionality, or simply a black-box approach (cut X bytes from the WC1 EXE, and paste them on the SM2 EXE at offset Y, that seems to work).
In any case, i can dig the necessary info for you on this, if you want.
- Other modifications: possibly editing the references to Doomsday and Jazz back into the original WC pilots for campaigns 0 or 1, and similar modifications to Drakhai / Ace pilots. Also, confirm the mid-game cutscenes play properly when playing WC1 or SM1 via the SM2 EXE. I haven't broken this point down to sub-tasks yet, but we can discuss it in more detail later.
Anyway, that was the approach i had in mind. Comments welcome!