Author Topic: Voice acting in Space Quest V  (Read 30824 times)

0 Members and 1 Guest are viewing this topic.

Offline aardvark4lunch

Re: Voice acting in Space Quest V
« Reply #30 on: February 11, 2016, 11:39:28 PM »
- be ok with it only working in ScummVM (you can talk what you have right now and it appears to work), or

Holy crap. The one you uploaded is working in scummVM. Not sure if it'd be worth the effort figuring it out for dos if it's already working in scummVM

https://www.youtube.com/watch?v=hb7ien-ChUA&feature=youtu.be&ab_channel=Aardvark4lunch

Video quality is crap and yes, the voiceovers are terrible. I just quickly recorded them with my webcam to test.
« Last Edit: February 12, 2016, 02:23:25 AM by aardvark4lunch »

Offline Kawa

Re: Voice acting in Space Quest V
« Reply #31 on: February 12, 2016, 02:57:55 AM »
What's this about SQV's terp not supporting speech? I heard it myself, right? I mean, with broken "both" support but...

Offline MusicallyInspired

Re: Voice acting in Space Quest V
« Reply #32 on: February 12, 2016, 08:25:56 AM »
It would absolutely be worth making it work in DOS because ScummVM isn't perfect and not everybody uses it.
Brass Lantern Prop Competition

Offline aardvark4lunch

Re: Voice acting in Space Quest V
« Reply #33 on: February 12, 2016, 09:00:35 AM »
I was surprised to find that lip sync works with dialogue portraits automatically. But there are still many things that need to be fixed. When you skip dialogue for example, it gives control back to the player but the speech keeps playing.

It would absolutely be worth making it work in DOS because ScummVM isn't perfect and not everybody uses it.

Damn. Seems like an awful lot of (advanced) work and I have zero experience with this kind of thing :S

Offline Collector

Re: Voice acting in Space Quest V
« Reply #34 on: February 12, 2016, 12:02:30 PM »
It would absolutely be worth making it work in DOS because ScummVM isn't perfect and not everybody uses it.

Agreed.
KQII Remake Pic

Offline aardvark4lunch

Re: Voice acting in Space Quest V
« Reply #35 on: February 12, 2016, 10:26:02 PM »
I'd be happy to try and get it working in DOS. But I don't really know what I'd need to do, or more specifically how to do it.

Offline troflip

Re: Voice acting in Space Quest V
« Reply #36 on: February 12, 2016, 11:15:12 PM »
I'd be happy to try and get it working in DOS. But I don't really know what I'd need to do, or more specifically how to do it.

Basically, you have to replace the interpreter (sierra.exe) with one from a game that supports speech (aud36 resources), such as LSL6. Then you need to modify the game files so it works on that interpreter*.

Here's a link to the thread where I did this last year, when I was paring down SQ5 into a minimal template game, and I/we decided to use the LSL6 interpreter instead:

http://sciprogramming.com/community/index.php?topic=1383.msg6268#msg6268

*That's the hard part.
Check out my website: http://icefallgames.com
Groundhog Day Competition

Offline aardvark4lunch

Re: Voice acting in Space Quest V
« Reply #37 on: February 12, 2016, 11:47:16 PM »
Then you need to modify the game files so it works on that interpreter*.

How much would need to be changed? Just a few scripts? Or every script in the game?

Offline MusicallyInspired

Re: Voice acting in Space Quest V
« Reply #38 on: February 13, 2016, 12:07:14 AM »
It depends on which classes (or kernel functions?) are the same or different between interpreters. Not every game has the same ones, hence the differences. If one game does something a certain way with one interpreter, it might not work the same in another. ScummVM mostly works because it supports *all the interpreters.



*most, as close as possible. Which means that if it does work in ScummVM, it's probably possible with some combination of script and DOS interpreter.
Brass Lantern Prop Competition

Offline troflip

Re: Voice acting in Space Quest V
« Reply #39 on: February 13, 2016, 01:06:13 AM »
Probably a few scripts would need to change, as there may be some kernel differences as MI indicated. And even though the classes are totally separate from the kernel, the interpreter does make some assumptions about what methods and properties are on each class. But I suspect they're fairly minor, given that I was able to "port" a trimmed down SQ5 to the LSL6 interpreter (but more differences may be exposed if you're trying to get the whole game working on LSL6 terp).

You'll see in the thread I linked that vocab.994 needs to tightly tied to the class hierarchy, as this provides a map of which properties are where in various core classes. That is, it contains information like "x is the 10th property on the Actor class". If this doesn't match exactly, nothing will really work. I forget what changed I made. I *think* I just grabbed the vocab.994 from LSL6 and used that, and then made sure that core classes (Feature, Prop, Sound, Ego, Room, Region and every other class that inherits from them etc...) has property lists that matched the LSL6 classes. Maybe I didn't even need to make any changes, I forget. At any rate, it should be easy to compare the SCI 1.1 template game core classes to those you get from decompiling SQ5, and see if there are any differences in the property lists (I added a "case" property to Feature and its subclasses, that's unrelated, you can leave that out). The SCI Companion documentation has diagrams that show the class hierarchy well.

I think there's also a version number in the resource.map file that would need to be manually "hex-edited" otherwise the interpreter will reject the game completely. It's near the beginning of the file, it should maybe be obvious by comparing the resource.map of SQ5, LSL6 and the SCI 1.1 template game.  Oh, it actually looks like I hard-coded it to the LSL6 version number when writing out the SCI1.1 resource maps, so maybe there's nothing to do here except "rebuild resources", which is what will write it out. I hope I didn't break things for other games, yikes.

Finally, I think there were some global variables that needed to be correct, this thread might be useful:
http://sciprogramming.com/community/index.php?topic=1421.15

The actual set of changes required is probably small. But when something isn't working, it can be very hard to find out why.
« Last Edit: February 13, 2016, 01:18:17 AM by troflip »
Check out my website: http://icefallgames.com
Groundhog Day Competition

Offline Kawa

Re: Voice acting in Space Quest V
« Reply #40 on: February 13, 2016, 03:09:52 AM »
But I did try to talkify SQV before and it worked. I don't recall switching terps.

Offline troflip

Re: Voice acting in Space Quest V
« Reply #41 on: February 13, 2016, 03:47:30 AM »
What was the version of the interpreter? There may have been different versions (e.g. for the international flavors of SQ5?).

How did you handle separating the regular digital audio resources with the speech ones? Did you copy the resource.aud to resource.sfx (which the SQ5 terp I have doesn't seem to understand) first? Otherwise it seems like the audio resources could clobber the aud36 ones, or vice versa.

If you have something that's working, seems like it would be useful to upload it somewhere.
Check out my website: http://icefallgames.com
Groundhog Day Competition

Offline Kawa

Re: Voice acting in Space Quest V
« Reply #42 on: February 13, 2016, 05:34:37 AM »
1. My copy of SQ5 was English-only, but to be entirely honest I can't quite confirm that it was the same terp.
2. I did not bother with the digital audio resources.
3. I threw it away after finding "both" was broken, but if you insist I can do it again with a fresh copy.

Offline aardvark4lunch

Re: Voice acting in Space Quest V
« Reply #43 on: February 13, 2016, 06:31:42 AM »
That would be greatly appreciated, if you have the spare time.

Offline Kawa

Re: Voice acting in Space Quest V
« Reply #44 on: February 13, 2016, 09:08:26 AM »
I have all the time. I'll be off to get that fresh copy now.

Okay, got my results. The terps from Space Quest V (as in, the one that came with this download) and Freddy Pharkas (disk version) did not do any speech at all, while the terps from King's Quest 6 and Freddy Pharkas (both CD versions), Larry 6 (low-res version), and The Dating Pool (my project) did, but then the sound went haywire and DOSBox itself froze to death. Which is quite interesting.

Switching the value of global90 was easy though. I suspect editing the messenger and narrator the way I did in my game wouldn't be too difficult either.

For reference:
Code: [Select]
terp      hash                              result
catdate   2E7B25F3B1C2A5C792C731EE46A30A12  speech, noise crash after
fpfp      7CC5255876F22D531A261D06FED6349A  no speech
fpfp-cd   DF7E4339E89DFEE3795CE3612FC536E2  speech, noise crash after, palette issue
kq6-cd    167E51135DD3EC70E96E4DF9B38541A5  speech, noise crash after
lsl6      2E7B25F3B1C2A5C792C731EE46A30A12  speech, noise crash after
sq5       B1D29B42DE35F70265852D42BE8FFD62  no speech

Aaand only now do I realize catdate uses the larry 6 terp. Huh.
« Last Edit: February 13, 2016, 10:03:49 AM by Kawa »


SMF 2.0.19 | SMF © 2021, Simple Machines
Simple Audio Video Embedder

Page created in 0.099 seconds with 22 queries.