Opened 17 years ago

Closed 17 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
Version: 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 by SF/onnojongbloed, 17 years ago

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

comment:2 by SF/onnojongbloed, 17 years ago

Seems to be similar to bug #1742029

comment:3 by SF/onnojongbloed, 17 years ago

Owner: set to agent-q

comment:4 by sev-, 17 years ago

Priority: normalblocker

comment:5 by sev-, 17 years ago

Raising priority. This is a release-critical bug.

comment:6 by sev-, 17 years ago

What is the status of this item?

comment:7 by agent-q, 17 years ago

Resolution: fixed
Status: newclosed

comment:8 by agent-q, 17 years ago

Fixed

Note: See TracTickets for help on using tickets.