Residual - Grim Fandango

General chat related to ScummVM, adventure gaming, and so on.

Moderator: ScummVM Team

Post Reply
User avatar
Herrscher
Posts: 110
Joined: Sun Oct 30, 2005 5:17 pm

Residual - Grim Fandango

Post by Herrscher »

Hi guys.

Yesterday I grabbed the Residual source and finally got it to compile.
But running it just shows this funny "vehicle" bitmap and then a broken savegame loading screen appears and a bunch of error messages.
Nothing like "playable until year 2"... :?
It is just killable via the 'X'.


Standard out:

Code: Select all

GetSaveGameImage() started.
GetSaveGameImage() started.
GetSaveGameImage() started.

Error out:

Code: Select all

X:\Residual>residual.exe
GetSaveGameImage() started.
lua: (null)
Active Stack:
        `error' tag method at line 2352 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:4001)
        function (Scripts\_options.lua:3810)
lua: bad argument #1 to function `GetSaveGameImage' (string expected)
Active Stack:
        `error' tag method at line 2358 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:4001)
        function (Scripts\_options.lua:3810)
GetSaveGameImage() started.
lua: (null)
Active Stack:
        `error' tag method at line 2352 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:4001)
        function (Scripts\_options.lua:4055)
lua: bad argument #1 to function `GetSaveGameImage' (string expected)
Active Stack:
        `error' tag method at line 2358 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:4001)
        function (Scripts\_options.lua:4055)

X:\Residual>residual.exe > res.txt
lua: (null)
Active Stack:
        `error' tag method at line 2352 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:4001)
        function (Scripts\_options.lua:3810)
lua: bad argument #1 to function `GetSaveGameImage' (string expected)
Active Stack:
        `error' tag method at line 2358 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:4001)
        function (Scripts\_options.lua:3810)
lua: (null)
Active Stack:
        `error' tag method at line 2352 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:4001)
        function (Scripts\_options.lua:4055)
lua: bad argument #1 to function `GetSaveGameImage' (string expected)
Active Stack:
        `error' tag method at line 2358 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:4001)
        function (Scripts\_options.lua:4055)
lua: (null)
Active Stack:
        `error' tag method at line 2352 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:3853)
        function (Scripts\_options.lua:3943)
lua: bad argument #1 to function `GetSaveGameImage' (string expected)
Active Stack:
        `error' tag method at line 2358 [in file Scripts\_system.lua]
        function GetSaveGameImage [in file (C)]
        function (Scripts\_options.lua:3166)
        function (Scripts\_options.lua:2517)
        function (Scripts\_options.lua:3853)
        function (Scripts\_options.lua:3943)

X:\Residual>


How do you debug the scripts anyway?


What's your usual setup on Windows for compiling and debugging? Or are you ALL using Linux for that??


BTW, the README reads:
Copy 'residual.exe' into the directory containing your .lab files, and create a file in this directory called 'residual.ini'. This file should contain [...]
But this is not enough, as you also need the GRIM.TAB file. ;)

So here are all needed *.LAB files from the 2 CDs (as it is a real PIO mess to just do "xcopy D:\GRIMDATA\*.LAB X:\Residual" - it took me 'bout 40 minutes or something to get Windows realize that these copy protection dummy files are CRC-ly messed up... :roll:

Code: Select all

17.10.1998  15:58            22.410 CREDITS.LAB
17.10.1998  18:25        29.163.069 DATA000.LAB
16.10.1998  17:30       115.377.732 DATA002.LAB
16.10.1998  17:31        81.392.084 DATA004.LAB
15.10.1998  14:01        30.042.112 DATA005.LAB
13.10.1998  14:24               608 LOCAL.LAB
15.10.1998  10:33         7.121.597 MOVIE00.LAB
13.10.1998  14:23       156.018.688 MOVIE01.LAB
13.10.1998  14:10        68.042.073 MOVIE02.LAB
13.10.1998  14:24       482.465.792 MOVIE03.LAB
13.10.1998  14:11       108.330.269 MOVIE04.LAB
13.10.1998  14:11         4.456.393 VOX0000.LAB
18.10.1998  14:09       388.753.408 VOX0001.LAB
14.10.1998  09:03       105.318.939 VOX0002.LAB
13.10.1998  14:38       321.923.072 VOX0003.LAB
13.10.1998  14:25        45.076.847 VOX0004.LAB
12.10.1998  22:56         6.995.569 YEAR0MUS.LAB
12.10.1998  23:12       268.775.424 YEAR1MUS.LAB
12.10.1998  22:58        81.147.716 YEAR2MUS.LAB
12.10.1998  23:14       207.411.200 YEAR3MUS.LAB
12.10.1998  23:00        63.489.389 YEAR4MUS.LAB
              21 Datei(en)  2.571.324.391 Bytes
BTW, I'm not sure if they are all needed. But at least these are the ones that are correctly copyable. :)


Thanks,

Herrscher


P.S.: The link to the Doxygen documentation seems to be broken... :idea:
User avatar
joostp
ScummVM Developer
Posts: 490
Joined: Wed Sep 21, 2005 3:55 pm

Post by joostp »

The german version has some copy protection mechanism that causes the files to show up with weird sizes (did you really think 2,4gb fits on 2CDs?), maybe that's part of the reason residual doesn't work properly for you.
User avatar
Herrscher
Posts: 110
Joined: Sun Oct 30, 2005 5:17 pm

Post by Herrscher »

joostp wrote:(did you really think 2,4gb fits on 2CDs?)
No, I didn't... :roll: ...but I *do* think you didn't read my post... 8)
Herrscher wrote:So here are all needed *.LAB files from the 2 CDs (as it is a real PIO mess to just do "xcopy D:\GRIMDATA\*.LAB X:\Residual" - it took me 'bout 40 minutes or something to get Windows realize that these copy protection dummy files are CRC-ly messed up... :roll:
I just listed the CORRECT files so the devs could include them in the Residual README to do the Germans a favor, as it is - as I said above - no fun trying to copy these dummy files. :idea:
Also needed is GRIM.TAB as I said above.

And so this cannot be the problem as these dummy files never made the way to my harddrive.

Nonetheless the "german version" could be the problem, maybe they modified also LUA functions for that?!? Don't believe that...

Maybe I am just doing it wrong. As it is WIP the README doesn't have THAT MUCH information... :?

That's why I was asking for help...


My main question wasn't about copy protection or similar, but this (that is why it is bolded):
Herrscher wrote:How do you debug the scripts anyway?


What's your usual setup on Windows for compiling and debugging? Or are you ALL using Linux for that??
I just wanted to know, how your debugging setup for LUA scripts embedded into GRIME looks like so I could dig into this myself. Unfortunately I don't have any experience with embedded script languages like LUA or Python. :cry:
User avatar
knakos
ScummVM Porter
Posts: 423
Joined: Wed Nov 02, 2005 2:35 pm
Location: Athens, Greece

Post by knakos »

You certainly have an aggresive way of asking for help from the Residual developers. Mocking, trying to start a flame and doubting is going to earn you, like, negative help points. And do not try to reply to my post in the same tone, as you will only verify your hostility. Please respect this forum (and rule #4). Feel free though to ask questions, refer to the wiki and of course submit code patches. We'll welcome any submission.

Kostas
fingolfin
Retired
Posts: 1452
Joined: Wed Sep 21, 2005 4:12 pm

Post by fingolfin »

The german version of Grim works just fine in Residual (well, at least as "fine" as the english one does). No startup problems etc. And I believe various people are using Residual under Windows, too. Including people who (used to) develop it. Not that there is much (any?) activity in this regard...
User avatar
joostp
ScummVM Developer
Posts: 490
Joined: Wed Sep 21, 2005 3:55 pm

Post by joostp »

Herrscher wrote:I just listed the CORRECT files so the devs could include them in the Residual README to do the Germans a favor, as it is - as I said above - no fun trying to copy these dummy files. :idea:
Also needed is GRIM.TAB as I said above.
Ah, now I get it. You listed the CORRECT filenames, but with the wrong sizes.
Indeed, that's very useful!

Next time, take the time to comprehend a post (and, god-forbid, write a cohesive and comprehendible one yourself) before you reply rudely.

Thanks for reminding me why I spend my valuable free time helping others for free.

I have better things to do. good luck.
User avatar
Herrscher
Posts: 110
Joined: Sun Oct 30, 2005 5:17 pm

Post by Herrscher »

knakos wrote:You certainly have an aggresive way of asking for help from the Residual developers.
Please...?!?!? :shock:

knakos wrote:Mocking, trying to start a flame
?????? :oops:

knakos wrote:And do not try to reply to my post in the same tone, as you will only verify your hostility.
It seems that I appear to you guys like a boy who reached puberty some weeks ago, but I can assure you I left it behind almost a decade ago... 8)

And I swear to not having any clue where you could see an aggressive way and/or even hostility (??????)
I rather thought that the opposite is the case, as I can not see how a '8)' can be misunderstood.

Maybe it's my clumsy english speaking / grammar (as I am *NOT* a native speaker) that leads to such an impression?? (Actually, I'm German, and we definitely don't own the language of love (Rammstein anyone? :D) - maybe that is adding here?!)
If so, you guys should bear with me... :)
If not, please tell me at least what was so offending, so I can become a better person... :twisted: :wink:


joostp wrote:Ah, now I get it. You listed the CORRECT filenames, but with the wrong sizes.
Indeed, that's very useful!
Holy Sh****!!! :shock:
Of course you're damn right!! :oops:
I'm sorry...
I actually didn't realize the total bytecount at all and just took "dir > dir.txt" as a lazy way of posting the "needed" filenames. I didn't look at the sizes at all (as you probably know by now ;)).
And so I interpreted your post as the default John Doe answer to having problems with copy protection, which kind of "insulted" (not really, but cannot find a better word) me, as I already knew that. :?

But this now destroys my philosophy of life as a computer scientist...
How can it be, that (some of) these dummy files, which are just a garbage cocktail of different files (because of a manipulated TOC) could be copied to the harddisc without stopping because of CRC-errors?!?!?!?!?!?!?!?!?!?
I mean, that's the point of CRC anyway!
The only thing possible IMHO would be little scratches, that kind of "undo" the messed up CRCs... unfortunately this is totally absurd. :roll:
Just tried copying under Gentoo with equal results, so this is no problem in the Windows I/O subsystem.

Also, Resource File Creator and Dumper (http://quick.mixnmojo.com/software) could open the "broken" LAB files. This should IMHO only be possible if it would use a forensic analysis method of seeking for content, not when using a strict *.LAB file format approach... :?

So, as googling for needed files in the German version was kinda hard, I found this little Linux installer (http://www.liflg.org/forum/viewtopic.ph ... c31d237243), and took it apart to get a setup script.
So it seems, that the ONLY needed *.LAB files from CD1 from the GRIMDATA directory are:

Code: Select all

cp $SETUP_CDROMPATH/GRIMDATA/DATA000.LAB data000.lab
cp $SETUP_CDROMPATH/GRIMDATA/LOCAL.LAB local.lab
cp $SETUP_CDROMPATH/GRIMDATA/MOVIE00.LAB movie00.lab
...which take up a roughly 35 MB... :?

CD2 doesn't contain dummy files (as it seems) and contains roughly 648 MB data.

So did LA really accept the costs to produce 2 disc just for protection reasons?? Even with the EXE, DLLs and a DirectX redistributable, this should fit (at least when nicely zipped) to a 700-MB disc!?
BTW: Is the english version actually a 1-disc one (because it has no protection, right)?

Maybe one of the owners of a english one could post a quick "dir D: > dir.txt" or "ls -as /cdrom > dir.txt"? :?:


Nonetheless, @ joostp, I can not quite see where additional (aka :unneeded:) files in the Residual directory could lead to these problems. :?:
Or is Residual just scanning ALL *.LAB files it can find and will also break if I put a KERNEL32.DLL renamed to *.LAB there???? :shock:

(Ah, stupid question, as I can find out by myself when home again...) 8)



Additionally:
joostp wrote:Thanks for reminding me why I spend my valuable free time helping others for free.
This sounds a bit childish... :o

If you want richness/wealth (-> "free"), glory and honor, you shouldn't "waste" your time at an free open-source project.
If you do it for ideological reasons, you gotta live with all those "idiots" out there who take your work for granted (like me ;)).
But this is the wrong attitude IMHO... not to be "rude" again... :(


Regards,

Herrscher


P.S.: I also could ask "Why do I accept the efforts of checking Residual and post stuff to help others (especially the bedevilled Germans ;)) [*], and getting nothing in return...?!?". 8)


[*] -- Yes, I know by now, that my first attempt was pretty misleadingly and that for everything else than helpful. I'm sorry for that... :cry: ...but I hope the good will is that what counts... ;)
User avatar
Herrscher
Posts: 110
Joined: Sun Oct 30, 2005 5:17 pm

Post by Herrscher »

fingolfin wrote:The german version of Grim works just fine in Residual (well, at least as "fine" as the english one does). No startup problems etc. And I believe various people are using Residual under Windows, too. Including people who (used to) develop it. Not that there is much (any?) activity in this regard...
Thanks for the info, so then I suppose that

a) Residual indeed scans for ALL *.LAB it find, or

b) I introduced some really awkward bugs when compiling it.


I hope it's a). ;)
User avatar
joostp
ScummVM Developer
Posts: 490
Joined: Wed Sep 21, 2005 3:55 pm

Post by joostp »

Herrscher wrote:Additionally:
joostp wrote:Thanks for reminding me why I spend my valuable free time helping others for free.
This sounds a bit childish... :o

If you want richness/wealth (-> "free"), glory and honor, you shouldn't "waste" your time at an free open-source project.
If you do it for ideological reasons, you gotta live with all those "idiots" out there who take your work for granted (like me ;)).
But this is the wrong attitude IMHO... not to be "rude" again... :(
You miss the point completely.
Obviously I'm not into this for money or fame, nor am I working on Open Source Software because of ideological reasons, but rather because these are things that "I'd like to see done" and don't expect someone else to do for me.

Nowhere is stated that I *have* to provide tech support for ScummVM in any way whatsoever.
It's provided as a courtesy, and as such a little appreciation/gratitude would go a long way.

If you come on here and ask a question and don't accept an answer from the people who are supposed to know, and even reply in a (perceived) rude way, you're just pissing people off and it feels like a waste of time to me.
Post Reply