Opened 12 years ago

Closed 12 years ago

#3393 closed defect (fixed)

GOB3: Data file fails to open, lockup

Reported by: SF/onnojongbloed Owned by: agent-q
Priority: blocker Component: Engine: Gob
Keywords: Cc:
Game: Goblins 3

Description

Original thread on the forums:
http://forums.scummvm.org/viewtopic.php?p=26812

Version: 0.10.0a, build: DS #D

Issue:
ScummVM locks up after the initial Coktel movie/sting.

Cause:
IMD.ITK fails to be loaded, causes error() to be called which halts the application.

Method of Reproduction:
Hardware was a Nintendo DS classic with an M3 Adapter (v30 firmware, latest) and a 1gb kingston flashcard. The game is the CD version. DLDI driver came from <a href="http://dldi.drunkencoders.com/index.php?title=M3_Adapter_%28SD_Card%29">here</a> and is the one by AgentQ.

Possible cause:
DataIO::file_open() fails, because open on the file handle fails, all the way down to FAT_fopen failing in ::std_fopen. Is this a bug in the DLDI driver? Path passed to FAT_fopen was "GOB3//IMD.ITK".

Workaround:
o2_openItk doesn't seem to mind when DataIO::openDataFile(const char *src, bool itk) fails. REplacing the error() call in that function by a return at least allowed me to resume the game into a playable state.

Worth noting:
Other ITK files seem to load just fine for some reason.

Ticket imported from: #1787239. Ticket imported from: bugs/3393.

Change History (8)

comment:1 Changed 12 years ago by SF/onnojongbloed

Increasing MAX_FILES_OPEN (to 8) seems to have fixed it.
This define can be found in gba_nds_fat.h

comment:2 Changed 12 years ago by SF/onnojongbloed

Seems to be similar to bug #1742029

comment:3 Changed 12 years ago by SF/onnojongbloed

Owner: set to agent-q

comment:4 Changed 12 years ago by sev-

Priority: normalblocker

comment:5 Changed 12 years ago by sev-

Raising priority. This is a release-critical bug.

comment:6 Changed 12 years ago by sev-

What is the status of this item?

comment:7 Changed 12 years ago by agent-q

Resolution: fixed
Status: newclosed

comment:8 Changed 12 years ago by agent-q

Fixed

Note: See TracTickets for help on using tickets.