Opened 11 years ago

Closed 11 years ago

#4742 closed defect (fixed)

LURE: "Could not find language data in support file!"

Reported by: eriktorbjorn Owned by: dreammaster
Priority: normal Component: Engine: Lure
Keywords: Cc:
Game: Lure of the Temptress

Description

Current SVN version of ScummVM English version of the game

Lure of the Temptress currently fails to start. It crashes with a "Could not find language data in support file!" error. (Literally crashes. I guess it can't display a debugger this early in the startup process.)

The error was probably introduced when support was added for Chinese translated games. This added a new language enum to the top of the list. Apparently, we store the actual language constant in the lure.dat file, and they were just invalidated. The simplest fix would be to move the new language constant to the bottom of the list. However, according to an old commit message by Fingolfin (r21812), "...nothing should depend on [the exact values of the language constants] -- any code that is broken by [removing the hard-coded numbers] was wrong to start with and must be fixed accordingly".

Ticket imported from: #2925225. Ticket imported from: bugs/4742.

Change History (4)

comment:1 by dreammaster, 11 years ago

Unless there's any better solution, I can introduce my own enum for the set of supported languages, and use them rather than the main language list. That way the language Ids will remain permanently the same.

comment:2 by eriktorbjorn, 11 years ago

I was thinking about something like that, too. It could even be the same list of numbers as now ("for historical reasons"), to avoid breaking the current lure.dat

comment:3 by fingolfin, 11 years ago

Introducing a private enum for this purpose is indeed a proper solution, and the easiest way to stay backwards compatible.

comment:4 by dreammaster, 11 years ago

Owner: set to dreammaster
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.