#3418 closed defect (fixed)
IHNM/ITE: Error loading Game resources (fs-node regression)
Reported by: | (none) | Owned by: | SF/david_corrales |
---|---|---|---|
Priority: | normal | Component: | Engine: SAGA |
Version: | Keywords: | detection | |
Cc: | Game: | I Have No Mouth |
Description
ScummVM 0.11.0svn (Sep 25 2007 16:51:37) Features compiled in: Vorbis FLAC MP3 zLib MPEG2
I get the error message "Error loading Game resources" on both IHNM and ITE. Nothing more than that. I attached both logs in a .zip. Hope it helps.
I Have no Mouth (DOS/English)
AmigaOS4 gcc version 4.0.2 (AmigaOS build 20051012)
Two weeks ago (or so) it worked, cannot pinpoint it.
Ticket imported from: #1804403. Ticket imported from: bugs/3418.
Attachments (2)
Change History (19)
by , 17 years ago
Attachment: | D9Logs.zip added |
---|
comment:1 by , 17 years ago
comment:2 by , 17 years ago
ScummVM 0.11.0svn (Sep 29 2007 05:57:27) Features compiled in: Vorbis FLAC MP3 zLib MPEG2
AGI, AGOS, Cine, Gob, Kyra, Parallaction, Queen, SCUMM, Sword1, Sword2, Sky and Touche all work fine...
I'll try to pinpoint the revision where it breaks
comment:4 by , 17 years ago
Owner: | set to |
---|
comment:5 by , 17 years ago
Thanks for your work vampir_raziel. Revision 28944 was the merge of the filesystem node (GSoC project). I'm assigning this to david_corrales, as the filesystem node is his code
comment:6 by , 17 years ago
Summary: | IHNM/ITE: Error loading Game resources → IHNM/ITE: Error loading Game resources (fs-node regression) |
---|
comment:7 by , 17 years ago
Does this only occur on AmigaOS or also on other systems?
Is there maybe a demo version of this game with which one can reproduce the issue?
comment:8 by , 17 years ago
Today I was trying out both demos (IHNM and ITE) in Linux without problems. Still can't pinpoint the error in the Amiga platform. I checked the changes made by my FSNode patch but couldn't find anything obvious.
comment:9 by , 17 years ago
OK, i may have not found the solution for my problem, but i'm pretty sure to have found the cause.
I let run a "snooper" kind of program which writes a log of "nearly" all system calls with paths and more information.
This i found
00048 : scummvm [9] : o.k. = Open("Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheEarth/SCRIPTS.RSC", 00050 : scummvm [9] : FAIL = IsInteractive("Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheEarth/SCRI 00055 : scummvm [9] : DIR = ParentOfFH(0x17AEE1BC) "Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheE 00057 : scummvm [9] : o.k. = Open("Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheEarth/SCRIPTS.RSC", 00059 : scummvm [9] : FAIL = IsInteractive("Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheEarth/SCRI 00067 : scummvm [9] : DIR = ParentOfFH(0x17AEE0F4) "Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheE 00069 : scummvm [9] : o.k. = Open("Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheEarth/ITE.RSC",OLD) 00071 : scummvm [9] : FAIL = IsInteractive("Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheEarth/ITE. 00076 : scummvm [9] : DIR = ParentOfFH(0x17AEE1BC) "Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheE 00078 : scummvm [9] : o.k. = Open("Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheEarth/ITE.RSC",OLD) 00080 : scummvm [9] : FAIL = IsInteractive("Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheEarth/ITE. 00088 : scummvm [9] : DIR = ParentOfFH(0x17AEE1BC) "Games:ScummVM/Games/DreamersGuild/InheritTheEarth/Games:ScummVM/Games/DreamersGuild/InheritTheE
It seems tha these commands do a "path path file" instead of "path file", whereas "Lock" and DupLock" work as expected.
The rest is attached. File Added: ITE_Snoopy.log
comment:10 by , 17 years ago
With help from thebluegr ([md5]) and david_corrales we pinpointed the problem to a path issue in the AmigaOS4 backend (arising in the SAGA engine)
Here's the IRC transcript (cut to only hold important info)
[21:14:29] <Raziel_AOne> [md5] with the latest patch you made IHNM work again [21:15:09] <[md5]_> the _gf_compressed_sounds = false; one? [21:15:18] <Raziel_AOne> yes, i believe so
[21:15:13] <Raziel_AOne> I have no Mouth and i must scream works again!!! [21:15:29] <Raziel_AOne> ITE still doesn't [21:15:18] <[md5]_> right [21:15:22] <[md5]_> so I know what's the problem [21:15:56] <[md5]_> it seems that there are problems when trying to find a file with a space in its name [21:16:01] <[md5]_> in Amiga [21:16:03] <[md5]_> i.e. [21:16:21] <[md5]_> it's trying to find file "inherit the earth voices" or "inherit the earth voices.cmp" [21:16:33] <[md5]_> and that always fails for some reason or gives incorrect results [21:16:39] <[md5]_> but I don't know why [21:16:51] <[md5]_> well [21:16:56] <Raziel_AOne> it HAS to be " " marked, otherwise it fails (if not added automatically) [21:17:05] <Raziel_AOne> Amiga FS [21:17:11] <Raziel_AOne> e.g. [21:17:23] <Raziel_AOne> This is a path: to a file [21:17:27] <Raziel_AOne> has to be [21:17:34] <Raziel_AOne> "This is a path:L to a file" [21:17:50] <Raziel_AOne> Amiga FS will otherwise stop at the first space [21:17:58] <[md5]_> so we got a winner :) [21:18:09] <[md5]_> david_corrales, does that point you to the right direction? [21:20:14] <[md5]_> well Raziel_AOne, to make both games work, change all parts where it's checking for "inherit the earth voices" and make it look for "inherittheearthvoices" (no spaces) till david_corrales fixes that
First patch (the one that made IHNM working again was: in detection.cpp line 177, add the following right above "return _resource->createContexts();": _gf_compressed_sounds = false;
A workaround has been found and the bug 50% fixed, it would be nice to have in official and 100% working fix in SVN, though
Thanks for the help so far, guys
comment:11 by , 17 years ago
Not fixed in revision 29279, i'm afraid
Still that "doubled path" problem with ITE from the 2007-10-24 10:16 post.
comment:13 by , 17 years ago
ITE is still failing, whereas IHNM is fixed
(sorry for holding back that information)
comment:14 by , 17 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:15 by , 17 years ago
The solution was to properly implement the AmigaOSFilesystemNode::exists() method, since the stub was returning true for all cases, thus messing the loading logic. Thanks a lot to [md5], Raziel_One, LordHoto and Peres for their help :D
comment:16 by , 17 years ago
Indeed, thanks to all the aforementioned people for fixing this one :)
Raziel reported that it's working now, so I'm finally closing this as fixed
These logs seem very strange, it looks like the engine never starts at all. I'm not sure if this a problem with the engine itself or with the latest changes to the filesystem node. Have you tried any other games with the latest SVN? Do they all play correctly?