ResidualVM logo Forum Index - ResidualVM website - Contact us - Rules Login    Register     Search curved edge
It is currently Fri Jul 25, 2014 3:21 pm

All times are UTC




Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next
Author Message
PostPosted: Fri Aug 05, 2011 12:31 am 
Offline
User avatar

Joined: Tue Jul 19, 2011 2:51 am
Posts: 233
Location: aka ThunderPeel2001
This page has a bunch of unused dialogue from the game (scroll down a bit to see them). Is there any way for us to check if these are ever played, or if they were ever MEANT to be played (i.e. they were held back because of a bug), or if they are simply left-over resources?

http://grimfandango.net/?page=missing

Quite interesting!

_________________
Grim Fandango Deluxe - a mod project
Official Blog: http://grimfandangodeluxe.blogspot.com
Forum: http://forums.residualvm.org/viewforum.php?f=2


Top
 Profile  
 
 Post subject:
PostPosted: Sun Aug 07, 2011 9:34 pm 
Offline
User avatar

Joined: Mon May 04, 2009 12:08 am
Posts: 88
I'm the one who extracted those dialog clips (using Scumm Revisited) and since then have found where and when the "custard" line can be heard: when giving Meche Domino's mouthpiece after you've filled it with Fill-a-Dent but before you have Manny bite on it.

Some people have said they've randomly been able to have the conversation with Domino on the factory island ("Domino talks") but I never have playing with the original game.

All the rest (apart from "Eva's message", which I think was meant to be among the notes Manny got from Salvador, and "conspiracy theories") depend on dialog tree choices that aren't available. They could have been cut or could be due to bugs like the Domino conversation, but I don't know either way. It's pretty obvious where they would go in the story, so it's possible they could be restored to the game with ResidualVM. But apparently not with the original game.

I also found some unused dialog text with no associated audio clips using Scumm Revisted when I was preparing for writing the Grim Fandango novel years ago. The only thing that sticks out in my memory was a fragment between Meche and Olivia about the seating arrangement in the Bone Wagon. The presence of text but no audio clips kind of suggests that some planned dialog was simply cut.


Top
 Profile  
 
 Post subject:
PostPosted: Sun Aug 07, 2011 11:58 pm 
Offline
User avatar

Joined: Tue Jul 19, 2011 2:51 am
Posts: 233
Location: aka ThunderPeel2001
Wow. Interesting stuff. Thanks for sharing that. I believe "Domino Talks" has been restored to the ResidualVM version of the game(?), but it would be great if people could look more into the other choices to see if there's similar scripting bugs.

Of course that's probably a lot of work... but it would be awesome if someone did :)

_________________
Grim Fandango Deluxe - a mod project
Official Blog: http://grimfandangodeluxe.blogspot.com
Forum: http://forums.residualvm.org/viewforum.php?f=2


Top
 Profile  
 
 Post subject:
PostPosted: Thu Oct 20, 2011 4:48 pm 
Offline
ResidualVM Developer
User avatar

Joined: Mon Mar 21, 2011 9:20 am
Posts: 143
Location: Belluno, Italy
I've investigated this bug a bit:
it happens only if you talked to Domino in his office earlier. Or vice versa: you can't talk to him in his office (from now on "do") if you talked to him at the end of the world (from now on "dr") already. (Of course this can happen only by jumping with the debug keys, not when actually playing the game.)

The bug is very simple: every lua file has a statement at its top like this:
Code:
CheckFirstTime("filename.lua")

This prevents the file fom being loaded two times. Now, the problem is that both dlg_domino.lua and dlg_dom2.lua, which are used respectively in do and in dr, check for "dlg_domino.lua". When you try to talk to Dom in dr the script tries to load the file dlg_dom2.lua, but that raises an error, since it thinks it was already loaded.
So, that's basically a copy and paste bug.

The solution is not so simple, instead.
* One way could be to override the function CheckFirstTime, and make it do nothing. Dirty hack.
* Another solution could be to reset the state of dlg_dialog.lua every frame or so. A really dirty hack.
* Some more dirty hack.
Unfortunately i can't think of a decent solution right now.

_________________
I can't reap hamburger - cows are a whole other bureau, not to mention the lettuce.

http://lostsoulsalliance.wordpress.com


Top
 Profile  
 
 Post subject:
PostPosted: Thu Oct 20, 2011 7:16 pm 
Offline

Joined: Thu May 07, 2009 9:18 am
Posts: 100
Couldn't a utility be created to patch the game files?
Or when that script is loaded substitute the incorrect line at runtime?


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 21, 2011 12:37 am 
Offline
User avatar

Joined: Tue Jul 19, 2011 2:51 am
Posts: 233
Location: aka ThunderPeel2001
Great job in figuring out what caused the bug. It's a shame there's no immediately obvious "none-hacky" solution. I guess I've never heard the speech at the end of Grim Fandango, as I would have always talked to Domino in his office first.

I hope someone can figure out some sort of agreeable fix that could be added to ResidualVM!

_________________
Grim Fandango Deluxe - a mod project
Official Blog: http://grimfandangodeluxe.blogspot.com
Forum: http://forums.residualvm.org/viewforum.php?f=2


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 28, 2011 8:46 am 
Offline
ResidualVM Developer
User avatar

Joined: Mon Mar 21, 2011 9:20 am
Posts: 143
Location: Belluno, Italy
I've found a solution. Not automatized yet but probably the best one.
    - Build the tools unlab, mklab and delua from residual-tools;
    - create a directory "data000" and unlab the file data000.lua in there;
    - delua the extracted file dlg_dom2.lua and modify its first line to "CheckFirstTime(dlg_dom2.lua)";
    - overwrite the old dlg_dom2.lua with the fixed one
    - create a new data000.lua from the directory data000
    - replace the old data000.lab
    - enjoy :)

_________________
I can't reap hamburger - cows are a whole other bureau, not to mention the lettuce.

http://lostsoulsalliance.wordpress.com


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 28, 2011 11:14 am 
Offline

Joined: Thu May 07, 2009 9:18 am
Posts: 100
I was going to try this fix but unfortunately mklab doesn't compile for me at the moment. I've submitted a bug report http://github.com/residualvm/residualvm-tools/issues/19.


Top
 Profile  
 
 Post subject:
PostPosted: Fri Oct 28, 2011 10:12 pm 
Offline

Joined: Fri Oct 28, 2011 10:11 pm
Posts: 4
Hey giucam can you help me? I downloaded ResidualVM-tools and extracted the Mklab.cpp, unlab.cpp and delua.cpp files. Can you explain with a bit more detail how I use these tools?


Top
 Profile  
 
 Post subject:
PostPosted: Sat Oct 29, 2011 1:01 am 
Offline

Joined: Fri Oct 28, 2011 10:11 pm
Posts: 4
Nevermind. I used the debug mode to access the convo like you suggested.


Top
 Profile  
 
 Post subject:
PostPosted: Tue Nov 15, 2011 8:39 pm 
Offline

Joined: Tue Apr 26, 2011 7:21 pm
Posts: 23
giucam wrote:
I've found a solution. Not automatized yet but probably the best one.

Thanks. That worked great. :D

I uploaded a zip with Windows compiled versions of the residual tools and I created a little batch file that should automate the process. It uses Find And Replace Text to replace the text in the LUA file.

The zip file is available here if anyone's interested. :)

Just unzip it into the same directory containing DATA000.LAB and run fixgrim.bat.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 16, 2011 1:55 pm 
Offline
ResidualVM Developer
User avatar

Joined: Wed Nov 24, 2010 2:44 am
Posts: 306
I'm looking into prettier ways to perform such user-patching, rather than modifying the lab-files wholesale.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 16, 2011 2:29 pm 
Offline

Joined: Thu May 07, 2009 9:18 am
Posts: 100
somaen wrote:
I'm looking into prettier ways to perform such user-patching, rather than modifying the lab-files wholesale.


Can't it be done on the fly whenever residual opens that script it substitutes the correct line?


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 16, 2011 9:28 pm 
Offline
ResidualVM Developer
User avatar

Joined: Wed Nov 24, 2010 2:44 am
Posts: 306
I'd rather avoid that, special-casing in the engine is more of a last-resort solution, besides it complicates things unneccessarily.


Top
 Profile  
 
 Post subject:
PostPosted: Wed Nov 16, 2011 10:41 pm 
Offline

Joined: Thu May 07, 2009 9:18 am
Posts: 100
The official patch includes an extra lab file that I assume takes precedent if there is a duplicate file right?
So what if you include in the patch extractor a process that will take the incorrect script from the original lab, fix it and then insert it into the lab file from the patch.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2, 3  Next

All times are UTC


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Forum design by ScummVM team, icons by raina, adopted for ResidualVM
curved edge   curved edge