Note: LucasForums Archive Project
The content here was reconstructed by scraping the Wayback Machine in an effort to restore some of what was lost when LF went down. The LucasForums Archive Project claims no ownership over the content or assets that were archived on archive.org.

This project is meant for research purposes only.

Secret of Monkey Island - CD Talkie Edition Project

Page: 3 of 8
 cocomonk22
07-25-2009, 5:04 AM
#101
OK, I'll leave it as is then.

You have to modify the splitter's output if the print command has position parameters:

Here's the original:
(14) print(255,[Pos(240,8),Text("--LeChuck!^255^3GRRRRRRRRR!^255^3Arf, oo
f-oof, Monkey Island^15!^255^3*sniff* *sniff*")]);
(AE) WaitForMessage()

After split:
(14) print(255,[Pos(240,8),Text("--LeChuck!")]);
(AE) WaitForMessage()
(14) print(255,[Text("GRRRRRRRRR!")]);
(AE) WaitForMessage()
(14) print(255,[Text("Arf, oof-oof, Monkey Island^15!")]);
(AE) WaitForMessage()
(14) print(255,[Text("*sniff* *sniff*")]);
(AE) WaitForMessage()

EDIT: Regarding completely new music where there wasn't any before:
For additional music, the SE added background sounds to certain scenes. We could add this to the CD version by creating new SOUN starting at 099_LFLF_icons\009_SOUN_130.dmp. SOUN works as follows:

Values from offsets 0-23 (0x00-0x17) are all the same, so just copy data from an existing SOUN.
At offset 24 (0x18) track number in hex format (for new music not in original start with track decimal 24 or hex 18).
At offset 25 (0x19) seems to be loop, opening uses 01, scummbar uses ff.
The six remaining values 26-31 (0x1a-0x1f) are all 00 if you want the music to start at the beginning of the track.

An example of music not starting at the beginning:
The scene at the lookout following the intro uses the same music as the opening, but starts at position 1 min 36 sec. Hex values are 01 23 30 00 00 00. 01 23 30 is equivalent to 1 35 48 in decimal.

We would start the music by using startSound(130) or whatever number our SOUN is. To avoid problems we could use
VAR_RESULT = isSoundRunning(130)
if (!VAR_RESULT) {
startSound(130)
}
in the ENCD of the room.

Stopping the music is a bit more difficult, as you have to add a stopSound(130) for every script in the room that leaves the room. A possible problem I can see is on the dock with Guybrush and Elaine when their theme plays on the dock: it should be fine if we stop the dock ambient sound before the Guybrush and Elain theme plays.
 LogicDeLuxe
07-25-2009, 6:00 AM
#102
You have to modify the splitter's output if the print command has position parametersI just noticed this. Now, splitlines copies everything between "print" and "Text" to each new line. I hope, this fixes it: (outdated version)

And you should check the script 155 thing in your patch: http://www.lucasforums.com/showthread.php?p=2654771#post2654771)
 cocomonk22
07-25-2009, 6:11 AM
#103
Fixed patch: http://www.mediafire.com/?yymeyajyzh1)
What happened was I inserted a hex value when I should have overwritten.

EDIT: I just tested the updated splitter, and the Spiffy lines are in the correct positions now. :thmbup1:
 LogicDeLuxe
07-25-2009, 7:21 AM
#104
Still, my linesplitter doesn't seem to give the expected results. When looking at the rubber chicken, Guybrush only says "Hmmm...". He should continue with "A rubber chicken with a pulley in the middle", but he doesn't. Any idea what causes the issue?
The original script looks like this:Events:
7 - 00CE
8 - 0024
9 - 009B
5A - 0018
5B - 001E
[0018] (1A) Var[182] = 8;
[001D] (00) stopObjectCode()
[001E] (1A) Var[376] = 961;
[0023] (00) stopObjectCode()
[0024] (D8) printEgo([Text("Hmmm...^255^3A rubber chicken with a pulley in the middle^^255^3What possible use could that have?")]);
[0081] (AE) WaitForMessage()
[0083] (54) setObjectName(377,"rubber chicken")
[0095] (14) print(255,[Text(" ")]);
[009A] (00) stopObjectCode()And my tool changes it to:Events:
7 - 00CE
8 - 0024
9 - 009B
5A - 0018
5B - 001E
[0018] (1A) Var[182] = 8;
[001D] (00) stopObjectCode()
[001E] (1A) Var[376] = 961;
[0023] (00) stopObjectCode()
[0024] (D8) printEgo([Text("Hmmm...")]);
WaitForMessage()
printEgo([Text("A rubber chicken with a pulley in the middle^")]);
WaitForMessage()
printEgo([Text("What possible use could that have?")]);
[0081] (AE) WaitForMessage()
[0083] (54) setObjectName(377,"rubber chicken")
[0095] (14) print(255,[Text(" ")]);
[009A] (00) stopObjectCode()
 cocomonk22
07-25-2009, 7:30 AM
#105
Strange... The first time you look at it, he says the whole message, but if you look at it again, he'll just say "Hmmm..."

EDIT: And if you look at it and then immediately click to start walking around, he says the whole message again... This could have something to do with it being in a VERB. Or it could have something to do with the Event specification. I would test it without any WaitForMessage() between the lines and see if that works.
 TheJoe
07-25-2009, 7:43 AM
#106
Here is a little tool that looks up strings from the speech.info and a mi1.txt (scummtr.exe -w -g monkeycdalt -of mi1.txt -H) in the same dir and outputs a "match.bat" with "ren sample.mp3 linennumber_sample.mp3". It splits up multiple lines (\0xff\0x03).

It's a *very* dirty hack but should do the job.

http://helicoid.de/scumm/mkspeech.zip)

This can be used as a starting point for generating a monster.sou - even with multiple lines like LogicDeLuxe proposes.

Why did we not have this tool for MISP!
 cocomonk22
07-25-2009, 7:45 AM
#107
We didn't have that tool for MISP because there was no speech.info since the SE hadn't come out or been released.
 LogicDeLuxe
07-25-2009, 10:00 AM
#108
I would test it without any WaitForMessage() between the lines and see if that works.Unsurprisingly, it skips right to "What possible use could that have?" then. :mad:
 cocomonk22
07-25-2009, 10:22 PM
#109
EDIT3: It now works perfectly! Cutscene 2 (Guybrush reading the re-elect Governor Marley poster) is used to keep verb menu visible and keep the camera in the same position. CursorShow() is used to keep the cursor visible during the cutscene. UserputOn() is used to enable user input (clicking, keys, etc.) during cutscene. The earliest the cutscene can end without messing up Guybrush's lines is after the first WaitForMessage(). Now the behavior to the user is exactly the same as normal, you can click on other objects during Guybrush's lines, you can walk around, you can use other verbs, etc.
[0024] cutscene([2])
CursorShow()
UserputOn()
printEgo([Text("Hmmm...")]);
WaitForMessage()
endCutscene()
[0030] (D8) printEgo([Text("A rubber chicken with a pulley in the middle^")]);
WaitForMessage()
[0062] (D8) printEgo([Text("What possible use could that have?")]);
WaitForMessage()
[0089] (54) setObjectName(377,"rubber chicken")
[009B] (14) print(255,[Text(" ")]);
[00A0] (00) stopObjectCode()
The only problems with the dialog splitter are with verbs, right? If so, just use these modifications when splitting lines only in ???_VERB.dmp files.
 LogicDeLuxe
07-26-2009, 7:06 AM
#110
EDIT3: It now works perfectly!Unfortunately not. Still "What possible use could that have?" is missing sometimes. Well, that can be solved by placing endCutscene() after that line, so not a big deal.

But worse, you can easily get errors like "Object 377 stopped with active cutscene/override!" when clicking around without letting Guybrush finish his text first.
I think, letting the controls disabled during his lines is a better idea. Just like with the election poster. Unless, you have a better idea.
 cocomonk22
07-26-2009, 7:31 AM
#111
OK, I have a better idea:
[0024] cutscene([2])
CursorShow()
UserputOn()
beginOverride
goto end
printEgo([Text("Hmmm...")]);
WaitForMessage()
[0030] (D8) printEgo([Text("A rubber chicken with a pulley in the middle^")]);
WaitForMessage()
[0062] (D8) printEgo([Text("What possible use could that have?")]);
WaitForMessage()
[end] endCutscene()
[0089] (54) setObjectName(377,"rubber chicken")
[009B] (14) print(255,[Text(" ")]);
[00A0] (00) stopObjectCode()
Cutscene ends after the last line, and I've added options to handle override so that error won't occur anymore. User can still click around, but can't use any verbs until Guybrush finishes talking.
 jestar_jokin
07-26-2009, 7:58 AM
#112
Stopping the music is a bit more difficult, as you have to add a stopSound(130) for every script in the room that leaves the room.

Each room contains an ENCD (room entry) and EXCD (room exit) script. I believe you could modify the single EXCD script to stop the music whenever the room is exited.
 cocomonk22
07-26-2009, 8:02 AM
#113
Hopefully that's the case. I was just looking at the scummbar as an example, and it didn't have a stopSound in the EXCD, just in scripts leaving the room for whatever reason.
 jestar_jokin
07-26-2009, 9:02 AM
#114
Hopefully that's the case. I was just looking at the scummbar as an example, and it didn't have a stopSound in the EXCD, just in scripts leaving the room for whatever reason.

I'm only guessing, but maybe because whenever you enter a conversation with one of the patrons, it zooms to a close-up, which is actually a new room, and the music is supposed to continue playing in those cases.
 LogicDeLuxe
07-26-2009, 12:15 PM
#115
Cutscene ends after the last line, and I've added options to handle override so that error won't occur anymore. User can still click around, but can't use any verbs until Guybrush finishes talking.Nice theory, but unfortunately not accurate. Just look at the chicken while Guybrush is still saying the chicken text: error.

The way I implemented it now, you'll get controls back as soon as Guybrush starts the last line in a VERB script. I hope there are no tricky jumping, as my tool currently only detects cutscenes when they are in order. It does only set this cutscene stuff if the text isn't already in a cutscene, and if it is a VERB script. Let's hope, this works now as expected.
dialogsplitter.zip - 0.01MB (http://www.zshare.net/download/63187900746c9c39/)
 LogicDeLuxe
07-26-2009, 2:10 PM
#116
Smirk's cigar can be easily fixed by replacing "[0000] (13) ActorOps(12,[Costume(0)]);" with "[0000] (13) ActorOps(12,[Costume(76)]);" in 000_LECF\076_LFLF_cu-traine\000_ROOM\022_ENCD.dmp
 jott
07-26-2009, 3:12 PM
#117
I wonder if it would be easier to patch ScummVM instead of messing with nearly all scripts.....
 cocomonk22
07-26-2009, 4:34 PM
#118
I'd rather apply patches to the game itself so it can be compatible with all ScummVM ports.
 cocomonk22
07-26-2009, 5:17 PM
#119
The way I implemented it now, you'll get controls back as soon as Guybrush starts the last line in a VERB script. I hope there are no tricky jumping, as my tool currently only detects cutscenes when they are in order. It does only set this cutscene stuff if the text isn't already in a cutscene, and if it is a VERB script. Let's hope, this works now as expected.
dialogsplitter.zip - 0.01MB (http://www.zshare.net/download/63187900746c9c39/)
Looks good, however, could you add in CursorShow() right after cutscene[2] and before beginOverride to make it less obvious that we're using a cutscene for this?

EDIT: Here's an updated version of dialog splitter with the CursorShow() change added back in:
dialogsplitter.zip - 0.01MB (http://www.mediafire.com/?zhmjo1kznko)
 LogicDeLuxe
07-27-2009, 10:50 AM
#120
So, since it is running fine now, we need to release an official script patch in order to build a mapping.txt which is compatible for everyone.
Some bugfixes are still possible, as long as no text is changed.

So is the stump joke wanted in? Someone at mixnmojo apparently did have contact with Dominic Amarto and he did some lines for the 2002's April fools joke back then. I can't find the news page of it anymore, so I don't know who it was.
The stump joke lines are:"Hey!"
"There's a hole at the base of this stump!"
"Wow! It's a tunnel that opens onto a system of catacombs!"
"I think I can squeeze through--"
(after requesting disks 22, 36 and 114)
"Oh, well. I guess I can't go down there."
"I'll just have to skip that part of the game."
Btw, the loading image of the SE has a floppy disk labeled "disk 23" which is probably a joke on this.
 Espiox
07-27-2009, 2:06 PM
#121
So is the stump joke wanted in?

Honestly, I'm not that bothered about putting that joke in (nor, really, "fixing" any other part of the CD version). I'm all for it if it's optional though.
 cocomonk22
07-29-2009, 10:29 PM
#122
I could compile a new patch with LogicDeLuxe's dialog splits.
 naveen123
07-31-2009, 10:12 AM
#123
When is the CD Talkie Edition being released :)?Give us an approximate :).
 jott
07-31-2009, 12:32 PM
#124
First of all the modified SCUMM scripts have to be finished. There are still some minor things to do IMHO (removing some of the "Throopweed" variations, maybe add logic to the sword fighting scenes that the proper response sample is chosen, ...)

If that is done, there is still some more work to be done, as the sword fighting scenes (and some other places) need a proper speech file assignment.

Finally the installer has to be finished to reduce the need of technical skills. I'm not sure how Espiox is coming forward with that.

For my very rough estimate, I guess it's about 5-8 man hours of work with some polish, maybe more. Translate that to the spare time everyone involved has for the project....

Of course anyone who wants to help out is welcome to do so. Alpha & beta testing is essential too....
 naveen123
07-31-2009, 12:36 PM
#125
I don't mind testing the game and giving feedbacks.
 Nickelstein
07-31-2009, 2:41 PM
#126
I wanna beta test
 LogicDeLuxe
07-31-2009, 4:37 PM
#127
removing some of the "Throopweed" variationsAgreed. It won't hurt at all if we keep just those which actually have a sample. Unless someone spends all day talking to the lookout, he won't notice the difference for sure.
maybe add logic to the sword fighting scenes that the proper response sample is chosen, ...) I could live without the sample variations, but if someone wants to write the scripts for this.Finally the installer has to be finished to reduce the need of technical skills. I'm not sure how Espiox is coming forward with that.Ideally that would be like the MI speech project, except that instead of a monster.so3, there will be a tool which extracts, encodes and assembles the SE samples to a monster.so3/sog/sof. This tool should have an input file telling the samples order, so that the user don't need scrummtr too.


For beta testers:
Right now, anyone is welcome to test the game with split dialog and check if there isn't anything broken. You currently need quite a lot tools for this to get this far, since there is no convenient installer yet.
Use the latest patch and the dialog splitter tool versions last posted by cocomonk22.
 cocomonk22
07-31-2009, 8:30 PM
#128
Can you explain adding logic to the sword fighting scenes? I believe I have done that with different lines based on text color, unless the SE changes lines from the original?
 LogicDeLuxe
08-01-2009, 6:16 AM
#129
Can you explain adding logic to the sword fighting scenes? I believe I have done that with different lines based on text color, unless the SE changes lines from the original?I think he meant the variations on Guybrush' lines. For all the replies, we have samples were he sounds rather unsure, which is supposed to be used when the wrong replay is chosen. And we have the main samples in which he sounds rather convinced.
 jott
08-01-2009, 6:40 AM
#130
I think he meant the variations on Guybrush' lines.

Exactly. And I agree that it's not as burning as the other problems but would be nice to have.


Ideally that would be like the MI speech project, except that instead of a monster.so3, there will be a tool which extracts, encodes and assembles the SE samples to a monster.so3/sog/sof. This tool should have an input file telling the samples order, so that the user don't need scrummtr too.

Well if it is (legally) possible to redistribute a full patch that includes all current changes there will indeed not be much left to do. The mapping for the mkspeech can be dumped from the current automatic association based on the scummtr output.
As we touch every line of speech I am not quite sure how the legal point in redistributing a patch is (as it will include nearly all of the text lines) so using scummtr is less problematic for that matter.
On the other hand the installer could easily be bundled with all the necessary tools and just call them properly. I sent Espiox a rough script as a starting point for just that about a week ago.
 Espiox
08-01-2009, 11:20 AM
#131
On the other hand the installer could easily be bundled with all the necessary tools and just call them properly. I sent Espiox a rough script as a starting point for just that about a week ago.

Wow, has it been that long? Sorry for my absence this week, Real Life stepped in to prevent me putting any time into this project for a short while. I have all of tomorrow off though, so I'll get working on that installer post-haste.
 LogicDeLuxe
08-01-2009, 12:01 PM
#132
Well if it is (legally) possible to redistribute a full patch that includes all current changes there will indeed not be much left to do.The point in such patching methods is to avoid legal problems like this. The MI speech project does it the same way for the scripts. And we actually don't touch that much text. Actually only those with variables in it. The main difference is the voice references added.
You sure can't do anything useful with it without having the game files, which is pretty much the point.

I'm not an expert on this, but I never heard of anyone sued due to a patch like this was released. And there certainly are patches which would be of much more legal concern than this one.
 jestar_jokin
08-02-2009, 7:21 AM
#133
As we touch every line of speech I am not quite sure how the legal point in redistributing a patch is (as it will include nearly all of the text lines) so using scummtr is less problematic for that matter.

If you use a binary diff tool like bsdiff to create a patch, it will only store the differences between the patched & original files. Technically, none of the lines of text are actually getting changed, just the bits of code inside or surrounding them.

Here's a simplified example:


original:
printEgo("Hi there!^255^3My name's Guybrush Threepwood.")

new:
printEgo("Hi there!")
printEgo("My name's Guybrush Threepwood.")

difference (contents of the patch):
remove ^255^3
insert ") printEgo("


For your own purposes you will need to use scummtr etc to get the speech code into the game, but for final distribution you can just release a patch file (plus the tools for handling the SE stuff).
 jott
08-02-2009, 12:01 PM
#134
If you use a binary diff tool like bsdiff to create a patch, it will only store the differences between the patched & original files.

You are probably right, the context needed should be small or just an offset, if the delta algorithm is smart enough. I was thinking too much about normal text diff there.
 daltysmilth
08-02-2009, 1:41 PM
#135
Question: when this is all finished, will there be a simple download that will allow this mod to run?
 LogicDeLuxe
08-02-2009, 3:47 PM
#136
Question: when this is all finished, will there be a simple download that will allow this mod to run?That's the goal. All you should need is MI1SE, ScummVM and this patch.
 whaleyland
08-19-2009, 6:27 AM
#137
Any update on the progress of this project? I've been looking forward to a talkie MI1 and 2 for years and this looks very likely to happen now (and no, the new graphic-intensive remake does not count...I want pixels! I mean, I have the new MI:SE, but I want to turn it into an old MI with talkie...ya know what I mean).
 whaleyland
09-09-2009, 12:34 AM
#138
Seriously, what has happened to this project?! Is it still on? I can't run the new SE very well on my Macbook and really want a talkie version of the original.
 cocomonk22
09-09-2009, 12:46 AM
#139
Well, pretty much all the programming is done. We just need people to do the dirty work of putting in the lines that didn't get matched up properly into the missing.txt.
 xone
09-09-2009, 4:22 AM
#140
Hello,
I'd like to help with the dirty work, but I don't have needed files..
I've tried compile this project by my self using mkspeech, but I've got monster.so3 about 5MB from over 3000 MP3 files.. Anyway, there wasn't any voices during the game (I've decompile and compile again .txt file using scummtr of course)..

Regards, X.

***edit
For beta testers:
Right now, anyone is welcome to test the game with split dialog and check if there isn't anything broken. You currently need quite a lot tools for this to get this far, since there is no convenient installer yet.
Use the latest patch and the dialog splitter tool versions last posted by cocomonk22.

I'm trying compile this project again..
I can't get worked dialog splitter tool (I surely don't have scummbler.py)..

Can anyone write down in one place all needed tools and download links? Thanks in advanced.

***edit 2
OK. I have manage to compile this..
I couldn't use dialog splitter tool because of missing scummbler.py file I think.
But I have about 130MB monster.so3 file and I can hear voices during play..

Anyway someone could write down in one place all needed tools and download links.. Maybe i have miss something and I didn't made it correctly..

Testing now.. It's nice... :D
 Varrok
09-09-2009, 1:27 PM
#141
Hello,
I'd like to help with the dirty work, but I don't have needed files..
I've tried compile this project by my self using mkspeech, but I've got monster.so3 about 5MB from over 3000 MP3 files.. Anyway, there wasn't any voices during the game (I've decompile and compile again .txt file using scummtr of course)..

Regards, X.

***edit


I'm trying compile this project again..
I can't get worked dialog splitter tool (I surely don't have scummbler.py)..

Can anyone write down in one place all needed tools and download links? Thanks in advanced.

***edit 2
OK. I have manage to compile this..
I couldn't use dialog splitter tool because of missing scummbler.py file I think.
But I have about 130MB monster.so3 file and I can hear voices during play..

Anyway someone could write down in one place all needed tools and download links.. Maybe i have miss something and I didn't made it correctly..

Testing now.. It's nice... :D

Wow... it's great that you did it :D The bad thing is that you didn't say WHAT DID YOU do (what exactly links did you use, how did you use them) to make it work and some people still has no idea how to hear SE voices in normal game :/
 xone
09-10-2009, 2:10 AM
#142
Wow... it's great that you did it :D The bad thing is that you didn't say WHAT DID YOU do (what exactly links did you use, how did you use them) to make it work and some people still has no idea how to hear SE voices in normal game :/

Well.. Isn't too hard to compile this project but you need read whole thread carefully. Sometimes you need search for needed tools using google.

OK. Here is what I have done (if I shouldn't write this all step-by-step instruction, moderator please delete this post).

0 ) YOU NEED TO BUY Your own copy of The Secret of Monkey Island Special Edition!
1 ) After install you need get MI CD files that are inside SE version. Extract Monkey1.pak and get classic/en/monkey1.* (tool to extract: http://helicoid.de/scumm/extractpak.zip).
2 ) Extract audio\MusicOriginal.xwb (tool to extract: http://helicoid.de/scumm/unxwb-mi.zip).
3 ) Now convert xma files to wav (tool to convert http://www.enbclan.com/download.php?f=/cod5/xWMAEncode.zip).
4 ) Convert WAV files to MP3/OGG/FLAC. Rename them starting track1.*
5 ) Extract audio\Speech.xwb (tool above)
6 ) Convert WAV files to MP3 (OGG or FLAC are not supported yet).
7 ) Now You need patch Your Monkey files that you extracted - You should backup files then you will have original files if you fail (here is patch http://www.mediafire.com/?yymeyajyzh1)
8 ) After patching extract scumm script with command scummtr -cw -g monkeycdalt -of mi1.txt -h -H (the tool: http://hibernatus34.free.fr/scumm/scummtr.exe).
9 ) Now if you have all MP3 files and mi1.txt in one folder you can make monster.so3 and mi1new.txt (here is the tool: http://helicoid.de/scumm/mkspeech.zip)
10) Now compile scumm script into the game files with command scummtr -cw -g monkeycdalt -if mi1new.txt -H
11) Monkey files (Monkey1.000 and Monkey1.001) copy with all 24 tracks and Monsetr.so3 to the same directory and use ScummVM to play..
12) Enjoy and say Thanks to the authors!

Thank you jott, LogicDeLuxe, cocomonk22 and all other hard working on this project!

PS. I have found SCUMMBLER (and needed environment) but I don't know how and when use dialog splitter :(
PS2. Using all steps described above I can play with speeches but sometimes there is no voices or voices are messed. Can I correct it manually?
 LogicDeLuxe
09-10-2009, 12:39 PM
#143
PS. I have found SCUMMBLER (and needed environment) but I don't know how and when use dialog splitter :(You don't need neither. The changes made with those tools are included in the patch you used.PS2. Using all steps described above I can play with speeches but sometimes there is no voices or voices are messed. Can I correct it manually?That's pretty much the point and basically the only work remaining in order to make a fully automated tool.
Mkspeech.exe can take a tweak file, which is explained in this thread.
 xone
09-11-2009, 4:25 AM
#144
That's pretty much the point and basically the only work remaining in order to make a fully automated tool.
Mkspeech.exe can take a tweak file, which is explained in this thread.

My English isn't very well so I don't know if I understand what tweak file you have talking about.. It's mapping.txt file? I'm trying make something with that file, but I don't quiet understand how mapping file should be prepared (how I should know what I have type there).

BTW. You want make tool that will make whole translation speech.info and mi1.txt to mi1new.txt.. Isn't better share correct mi1new.txt, mapping.txt and tool that will just compile monster.so? and upgrade monkey.00? files (users should have other needed files)? Or it's illegal to share that *.txt files?

PS. If it's isn't illegal to share *.txt files can I ask you to share any mapping.txt file (if you have one)? So maybe I'll be able to help finish it and don't do the job already done. Thanks in advance.

***edit
I'm trying to get a clue how to fix missing voices..
For example: One of Important-looking pirates is saying "Hey, don't forget we're short on help because of this whole LeChuck thing.", but there is no voice, only subtitles. There is also no hex values on the beginning of the line inside mi1new.txt (line before have \xFF\x0A\xf1\x03\xFF\x0A\x00\x00\xFF\x0A\x0a\x00\x FF\x0A\x00\x00, and line after have similar)..
I have found that file PL3_28_bar_48_4.mp3 is exactly this sentence, but I don't know how to add this to mapping.txt or change mi1new.txt to hear it in game.
I wish I have explained this clear enough..
 Krasas
09-11-2009, 3:06 PM
#145
I'm trying to get a clue how to fix missing voices..
For example: One of Important-looking pirates is saying "Hey, don't forget we're short on help because of this whole LeChuck thing.", but there is no voice, only subtitles. There is also no hex values on the beginning of the line inside mi1new.txt (line before have \xFF\x0A\xf1\x03\xFF\x0A\x00\x00\xFF\x0A\x0a\x00\x FF\x0A\x00\x00, and line after have similar)..
I have found that file PL3_28_bar_48_4.mp3 is exactly this sentence, but I don't know how to add this to mapping.txt or change mi1new.txt to hear it in game.
I wish I have explained this clear enough..

Based on jott's explanation here (http://www.lucasforums.com/showpost.php?p=2653174&postcount=62) (refer to page 2 of this thread for the whole discussion), you 'll basically want to modify the mapping.txt file by adding lines to it.
Mapping.txt has lines of the form: x=y
The missing.txt file should direct you as to exactly what you should add to the mapping.txt file.

For those lines that the "mkspeech" tool has trouble identifying the right mp3 sample by itself, the missing.txt should have a bunch of "Multiple hits for line ..." entries. Among those entries you pick the one with the right mp3 sample, and it will tell you exactly what you need to add to the mapping.txt file.

Finally, you should run the mkspeech tool again, and the scummtr command to re-import the subtitles to the game files.

(I have not tried any of the above. That's just my understanding of what needs to be done)
 xone
09-15-2009, 4:05 AM
#146
OK..
I have looking for that sentence inside missing.txt and I've found:
MISS : "Hey, don't forget we're short on help because of this whole LeChuck thing." - add 1229,0=sampleno
So I have add to mapping.txt:
1229,0=y
where y is sample number, but how can I check what sample number is PL3_28_bar_48_4.mp3 ??

***edit
OK. I've found speech tool on helicoid server (jott's server I guess), so I have samples order..
I've add "Hey, don't forget we're short on help because of this whole LeChuck thing." sentence using mapping.txt and it's working..
I have two more questions..
- Is it possible to correct mi1new.txt file when samples overlap, for example green pirate is talking "swordplay, thievery, and, er, treasure huntery;" and then "then return with proof that you've done it." but the second sample is overlap..
- Is is possible to correct script file when samples are jerky like "GROG!!! GROG!!! GROG!!!"?
 thorndraco
10-04-2009, 12:45 PM
#147
I'm having trouble with the mkspeech step. It says the speech.info is missing, and I've seen the file name mentioned several times in this thread, but couldn't find any mention of where this file comes from or how I'm supposed to get it.

EDIT: n/m I found it.

EDIT: I have it working, but I'm noticing a ton of the speech overlaps or cuts each other off, is there an optimal subtitle speed I should be using? I also seem to have to re-turn on the speech any time I go to the options.

I have the latest SVN of ScummVM (I actually noticed that the overlap got worse when I updated, instead of better).
 mcollard
10-06-2009, 7:05 PM
#148
I am very interested in this project. I restored today a Packard Bell Multi-Media system... I am interested in the talkie versions with subtitles as my child cannot yet read.

I thought it might be a fun project. OK. So for those of us DOS-only losers, is it possible to build scummvm for DOS?
 LogicDeLuxe
10-06-2009, 7:52 PM
#149
is it possible to build scummvm for DOS?I don't think so.
I can think of a solution, though. It should be possible to actually replace the music with MIDI versions, and convert the voice samples to 22 kHz VOC, so a monster.sou could be built. Then the game should work with the FOA talky-demo executable. The quality would be similar to DOTT or Sam & Max. No attempts were made to realize such a project, though.
 mcollard
10-07-2009, 8:34 AM
#150
This would be ideal.

I have some programming background, however, creating the SOU and setting up the clips is beyond my level of expertise and would charge a hefty learning curve.
Page: 3 of 8