Wing Commander 1 (KS/WCDX) Loader & Voice Over Mod

Destro

Petty Officer
Hey guys, any word from Destro ?

How is the voice over mod coming ?
Hey Panther1.0., Ya I still here and working on it. Quick update for you. I had some issues with the SegaCD and HCI's extraction tool. For one reason or another the debriefing audio for Gateway Mission 2 just isn't in the debriefing file. It plays in the game but couldn't find any refrence in the Deb.dat file. Also missing some other dialog like inflight com's and story narration, the files are there but just don't extract using the tool. So after some deep digging and ended up finding a program called SnacherPCM2Wav which basically converts binary files to WAV. Which sucks a little because it also converts the code inbetween to broken audio and static so I need to do edit them and separate the missing files manually. Though I have successfully found and extracted the story narration files that I was previously missing and looking for the others. So basicly converting all the SegaCD version code to WAV and scrubbing through them looking for missing lines. So lot's of work but progress is being made. I've also had to work a little this last week and some family things going on but never fear I'm still on the case. :D Cheers
 

Panther1.0

2nd Lieutenant
How you been keeping Destro ? I got the SegaCD version up and running, I'm checking out the voices, so cool !

I never new that Wing Commander has voice when interacting with the characters and mission briefings...
 
Last edited:

Destro

Petty Officer
Hey Panther1.0! Ya there is a ton of audio in the game as I am discovering. :p I played it through not long ago and it's great! Hope you're enjoying it and doing well yourself. :D

Things are going good here but im a bit busy on the life side of things. With everything around me open back up I've returned to work... Somewhat... I work in the theatre industry and it's been hit hard by Covid-19 so I've been working odd jobs, live streaming concerts, outdoor Art installations, and managing renovations to pay the bills. Oh the thrills of being self employed. :p But enough about me, it's due time I've updated everyone on whats going on with this project.

Since the last update I mentioned I was missing some audio files. I did find a way, I'll be it a slow and tedious way to get the missing data so I decided to just move on with mapping and scripting as to not get let down by 'one' missing section. I began the Gimle System and I found even more audio missing.. I cried inside but became determined, so I brewed several pots of coffee (and maybe a beer or two) and just put all 5000+ audio files in a playlist and just sat there for several hours listening. Eventually I did find all the missing audio, they were stuck in the middle out of order for one reason or another and through my scanning I must have just missed them. I rejoiced and filled in all the missing sections.... Then all audio broke and nothing would play. I checked and triple checked my code, the scripting, the audio files for corruption anything to explain the issue, I even changed IDE's and compilers which took some time but nothing. I took a short break from it and came back and started deleting random lines and I found out that the placement of some audio files in my scripting cause a complete break in the system. I have no answer for what caused it but my guess is a memory leak somewhere in my code. I have some thoughts on where the issue might be but for now though, It's fixed, and long story short I'm back on track.

During this "broken" time I didn't want to distance myself from the project too much so I created a new menu system. It's still a bit glitchy but it's more inline with what my vision was and how I wanted it to work. Again all the textures are still place holders, even the music and sound effects, but just wanted to add a bit of flare to the splash screen.

It's been a wild ride but I now have all the audio files I need and am moving forward. It will be a slower move forward for the next few weeks as I work on all my other projects but now there are less hurtles to overcome. Below is a progress report of sorts.

PROGRESS

Funeral - COMPLETE
Medal - COMPLETE
Office - COMPLETE
InFlight Coms (WingMan) - IN PROGRESS
InFlight Coms (Taunts)
Enyo - COMPLETE
McAuliffe - COMPLETE
Gateway - COMPLETE
Gimle - COMPLETE
Brimstone - IN PROGRESS
Cheng Du - IN PROGRESS
Dakota
Port Hedland
Kurasawa
Rostov
Hubble's Star
Venice
Hell's Kitchen

I'm handling Wingman coms as they appear in the game as they appear and the Taunts I have to actually edit and export each line because the bitrate is super low to fit it all on a SegaCD disk so the taunts will be the last thing I tackle. I also started making a little trailer for the project. I whipped it together in about an hour but might as well share it with you all. I'm going to continue hammering away at it on my free time but until then enjoy the teaser and stay safe everyone.

 

Panther1.0

2nd Lieutenant
that's a lot of audio ! wow

looking good Destro, awesome,

yeah, I played up to mission 8 and i'm a little stuck there, the emulation is a little slow and I'm only playing with the keyboard, don't know if there's a better emulator for the sega cd version, I'm using Fusion.

cheers and best of luck with the project!!
 

elend

Rear Admiral
That is an awesome project and I hope you can finish this. I would play WC all over again with this.
 

Maze59077

Petty Officer
a very interesting project👍 .. I can't wait to finally play🕹️pls let us know how the work is going
 

Pedro

Admiral
For anyone else who has the problem:

I couldn't get my joystick to respond in any KS game. Turns out that while most titles will just grab the first connected controller KS obeys the windows preferred device settings which somehow got set to <<none>> (not something you can do manually).

To fix it go into game controllers and then set your joystick as the preferred device in Advanced...
 

Panther1.0

2nd Lieutenant
Oh so you had multiple game controllers plugged in ?

I have noticed huge sound improvement in both WC1 and 2 KS versions if you enable enhanced mode under sound settings (Realtek sound) you can add BASS or some leveling with the equilizer or some Environmental effects....
 
Last edited:

Destro

Petty Officer
Hello everyone. With the holidays right around the corner I wanted to say for starters, Happy Holidays to everyone and I hope you are all doing well and have a Merry Christmas. I'm going to start with a few (small amount of) fun details as I've done a ton of under the hood work lately. I always like to include the technical details in case anyone is interested and to let you all know what I've been up in regards this program.

Fun Details:

- Now working with latest version of WCDX. So go and update that if you haven't already given it a try. It's a great program and fixes a ton of stuff. Glad to see you back Stinger! Great work!
https://www.wcnews.com/chatzone/threads/introducing-wcdx-kilrathi-saga-for-modern-windows.27685/

- Update my tree system to limit the amount of string compares and makes it a bit more manageable and readable.

- As my end goal for this is to create the most definitive and complete version of the games as possible so I created a little video player to run before the start of Secret Missions 1 and add the SNES intro to the PC version. Now you can be treated to the SNES intro when launching that Campaign. It is skippable so you can jump right into the game if you want. :) I plan to make make some edits to the intro to make it a bit quicker and cleaner with better audio in the future but for now a placeholder version had been created for testing and Proof of Concept and it works perfectly. ;P

- A lot of under the hood fixes and enhancements to make things smoother and more efficient. Might not be exciting for everyone but rest assured it's much better now and resolves some problems I foresee going forward. :)


Technical Details:

- Had issues with the Windows API when peeking at memory. It doesn't let you define a char array size after compile time.... It did let me do this anyway so I didn't ask any questions but then just up and gave up on me as it should have. So I had to get around that issue by setting it to MAX_VALUE and grabbing everything in that memory block. This broke a few things for my scripting and now I need to be more precise and include things like Date and Time that I was not before.

- Previously I could only insert one string replace into a line at a time. this was done with the command s{[String.Name]}

EX (OLD): Hey s{[String.Callsign]}, Get you somethin'?

This was fine until now I need to also get Date and Time on the same line I needed to update my code to allow for multiple string insertions.

EX (NEW): Mission briefing. s{[String.System]} System, 0s{[String.Hour]}:0s{[String.Minute]} hours, 2564.s{[String.Day]}.

- IF statements were handled poorly in my code. Honestly, I got it working and said "good enough". They were only able to execute one command each time a true value was detected. Which for the most case was fine as I only needed to call one play Audio command but it's not ideal when calling multiple commands as I would need to duplicate the IF statement over and over again for each command I wanted to run. So doing 10 Sting compares of the same data really starts to slow things down. Not a major issue as computers are fast and this isn't a hefty program. Another issue was the way the memory is handled basically used a struct with an if struct of the same type to store the data...... So long story short is was nesting Memory Blocks inside Memory Blocks and that can be bad news. Thankfully the compiler is smart enough not to go down too far of a rabbit hole but still needed to fix that. So I completely re-wrote how IF statements are handled and stored to avoid nesting and now work more like they would in C/C++.

EX(OLD):
If|BreakScriptCurrent|String|[String.Buffer1]|=|Bonjour, Lieutenant. You are called s{[String.Callsign]}, no? I am called Angel.|Audio~Play~[Audio.Angel.Enyo.1.1]~[Channel.Voice]~|

EX(NEW):
If|BreakScriptCurrent|String|[String.Buffer1]|=|Bonjour, Lieutenant. You are called s{[String.Callsign]}, no? I am called Angel.|
Audio|Play|[Audio.Angel.Enyo.1.1]|[Channel.Voice]|
EnfIF|

- With all the above changes I had to re-write and update almost all of my scripting which was time extensive to make work but 90% of that is completed and running properly. I chose to do these changes now as apposed to when the program was complete so I would only have to update 1000 lines of Scripting rather than 5000 or more lines. It was a big task it but would be even bigger if I waited until later in the development and might not have ever gotten done.

- Lastly I had lots of issues with my IDE. I've been using Codelite to write and build with Mingw64. But Codelite 14 was started giving me strange errors, it would say it built successfully but not build changes and the debugger was opening but not running. I re-installed and re-made my workspace and project files several times but couldn't resolve it so I tried CodeBlocks which worked but didn't have a great Debugger, I also tried Eclipse and Visual Studio Code but I'll be honest, I'm not a pro at coding and couldn't get them setup to use even SDL no matter what I did. Eventually I just downgraded Codelite to v13 and all is working fine now.


Conclusion:

That's about it. I know it's a lot of programming stuff in this update but I want you all know that I'm still working on this on my free time and wish to make it the best it can. Stay safe, Happy Holidays and see you in the New Year.

Cheers,
Destro
 

Destro

Petty Officer
Hey Pedro! I'll give you a quick update. I have been picking at it on my free time, which unfortunately has been not much lately. :( I have fixed many issues including memory leaks and lowered the memory usage from over 5gb to a under a few hundred mb which is more inline with what it should be. I managed this in a few ways but most notably instead of loading all audio files off the top they now simply stream them in when needed. I had to re-write, (Whats new :p) but got it all working.

The reason my lack of free time lately is that I've open my own business back in May. I specalize in technical, design and managment for Live Theatre & Film. I had planned to do in early 2020 but with Covid delayed my plans. I was thinking the first few months before and after would a be slow start but I was very wrong and have far exceeded my expectations. So far, I've done a several music live stream, a short TV series, a pilot for a talent show similar to Americas got talent, several profesional Theatre's Lighting and Sound design just to name a few. Honestly it's a good problem to have but it eats up most of my life at the moment. Never fear however, I'm almost complete with all the bar scenes and the general dialog. Next will be the inflight com's which I have to actually edit out from one larger file. :p

I know hearing that lack of free time is not that great of news but honestly this project is close to my heart and come hell or high water I will get it out to you. :p I wish you all the best and I hope your summer is going great. I'll stay active and bring this to you all as soon as I can. Cheers.
 

Pedro

Admiral
Thanks for the update!

And don't worry I know about lack of free time, there's been no news on the WCIV project as I've entered crunch myself.
 
Top