#2575 closed defect (fixed)
ALL: Crash on starting SCUMM games from launcher
Reported by: | SF/andrej4000 | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | GUI |
Version: | Keywords: | ||
Cc: | Game: |
Description
I can't start any SCUMM games (I tested all v1 till v8) through the launcher. The problem is in the curent SVN
* 0.9.0svn (Apr 25 2006 08:42:45) and self compilation of current SVN * I can't start any SCUMM games (I tested all v1 till v8) through the launcher. Starting any other engines works. Starting SCUMM games without launcher but with start parameters works, too. * Win32 Daily Snapshot and self compilation with DevCpp on my WinXP Home (German) machine. * Unfortunately I can't test, when this bug was invented.
Ticket imported from: #1476342. Ticket imported from: bugs/2575.
Change History (23)
comment:1 by , 19 years ago
comment:2 by , 19 years ago
Works fine over here.
Are the gameid values set correctly? I.e. if you look at your config file with a text editor, and look at your "looma" target/section -- does it contain "gameid=loom" ?
comment:3 by , 19 years ago
Looks like path key for each game points to wrong directory. Please, doublecheck that.
I.e. current code behaves (IMHO) rather strangely. I.e. it assumes that if game path is defined, then it is always valid. Thus engine is created, then it tries to find a game there, fails, and returns back to launcher, which spits above mentioned message.
Would be really nice to report that engine can't find game in that directory. And moreover, if directory does not exist, we get an assert().
Will try to fix both things now. Closing this report as 'works for me'.
comment:4 by , 19 years ago
Owner: | set to |
---|---|
Resolution: | → worksforme |
Status: | new → closed |
comment:5 by , 19 years ago
Well... No I can't start ANY games, even non-SCUMM targets which worked before don't work. Everytime I get such message: --------------- Looking for sky Trying to start game 'Beneath a Steel Sky' WARNING: Game directory does not exist (C:\Spiele\scummvmwin32\BASS-Floppy\)! ---------------
The Path is correct, this target I added right before this error message. PLZ reopen the bug. *g*
comment:7 by , 19 years ago
I found a fix for my problem, but I don't know if it won't disturb the behaviour of scummvm in some special cases.
In backends\fs\windows\windows-fs.cpp search in the function
WindowsFilesystemNode::WindowsFilesystemNode(const String &p)
for the line
_isDirectory = ((fileAttribs & FILE_ATTRIBUTE_DIRECTORY) != 0);
and add this new line after it:
_isPseudoRoot = false;
After this every SCUMM game starts in normal way directly and via the launcher.
comment:8 by , 19 years ago
I can't really comment on Windows specific code. Arisme wrote it, maybe Kirben and aquadran have an idea about it, too...
But it definitely *is* bad that this constructor does not set _isPseudoRoot! From what I understand in this windows specific code, it makes a lot of sense to add _isPseudoRoot = false; to the end of this constructor (around line 161).
comment:9 by , 19 years ago
Owner: | changed from | to
---|---|
Resolution: | worksforme |
Status: | closed → new |
comment:10 by , 19 years ago
Indeed. Well, for some reasons this bug doesn't occure on every system, Kirben (ond probably other people) didn't notice the bug.
comment:11 by , 19 years ago
Owner: | changed from | to
---|---|
Resolution: | → worksforme |
Status: | new → closed |
comment:12 by , 19 years ago
Owner: | changed from | to
---|---|
Resolution: | worksforme |
Status: | closed → new |
comment:14 by , 19 years ago
Owner: | removed |
---|---|
Summary: | Crash on starting SCUMM games from launcher → ALL: Crash on starting SCUMM games from launcher |
comment:15 by , 19 years ago
Me? No, I didn't touch the options. Perhaps I viewed the bug when it was closed, then reloaded the page and my browser didn't update the controls properly...
comment:16 by , 19 years ago
This bug happens for me also:
WinXP SP2, ScummVM 0.9.0 SVN April 27
It happens for many LucasArts games I tested, except when I freshly added Monkey1, it worked 1 time. After I started ScummVM again, and started the game from the launcher again, it didn't work anymore.
The strange thing is, most games work one time, thans refuse to work thereafer.
Example for MI1CD:
Contents of the ini:
[monkey] description=The Secret of Monkey Island (English/DOS/CD) path=X:\Spiele\ScummVM\LA\ENGLISH\DOS\MONKEYCD\ platform=pc gameid=monkey language=en
Output of ScummVM:
Looking for monkey Trying to start game 'The Secret of Monkey Island' WARNING: ScummEngine: unable to locate game data! Output sample rate: 22050 Hz
Regards
Joachim
comment:17 by , 19 years ago
Ah, sorry, most games don't even work 1 time.
And Indy3 EGA works all the time, while VGA doesn't.
comment:18 by , 19 years ago
I commited a fix to windows-fs.cpp, based on Andrej's observations. Still not sure whether it is 100% correct, but at least it is less wrong than the current code.
Does that help?
comment:19 by , 19 years ago
I compiled and testet ScummVM several times for different reasons, everytime including the added significant line since yesterday, end everything worked fine for me.
Well, I don't see any cases, where this var should be initialised with "true" except of calling the constructor without any parameter, which is done everytime to get the root node. This works fine. As far as I see, setting this var to true automatically sets the node to root (meaning it's the list of drives available in the windows environment). I don't think it's a FIXME, but the proper solution. :-)
Let's wait for joachime's testing results, but I'm optimistic.
comment:20 by , 19 years ago
So, it finally works. :) I tested all the English DOS and German fan-tranlations for FM-Towns.
For your information, Loom and Monkey1 FM-Towns german translations work, ZakTownsDE Crashes right at start with Bad ID!, Monkey2TownsDE crashes after difficulty selection with ERROR: Unknows Screesn effect, 30 and Indy3TownsDE hangs at an unanimated LucasFilm games logo, Music playing, and you have to hit <Esc> to skip the intro, then it works fine.
Also, I am begging you to output unknown MD5s again.
If it would help, I'd file a feature request for the lost feature.
Regards
Joachim
comment:21 by , 19 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:22 by , 19 years ago
Glad to know things work again. Not sure how such a serious bug could have slipped by for so long, but I guess it was only by the extende use of the FS code in the new SCUMM detector that it got triggered in a regular fashion.
As for the localized FM-TOWNS versions not working: Odd. The italian Zak apparently works fine.... The platform is correctly set to fmtowns, I assume? Anyway, this is not the right place to discuss, please open a new bug report on these games, and I'll give this a look.
comment:23 by , 6 years ago
Component: | --Unset-- → GUI |
---|
Here is an example error message:
Looking for loom Trying to start game 'Loom' WARNING: Failed to instantiate engine for target looma!