mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-06 10:58:01 +00:00
Read database only if it is opened
svn-id: r11097
This commit is contained in:
parent
2bfad6efce
commit
b4c40ceb12
@ -25,33 +25,49 @@
|
||||
#include "globals.h"
|
||||
#include "scumm_globals.h"
|
||||
|
||||
#include "scumm.h"
|
||||
|
||||
static void GlbInitAll() {
|
||||
#ifndef DISABLE_SCUMM
|
||||
CALL_INIT(IMuseDigital)
|
||||
CALL_INIT(NewGui)
|
||||
CALL_INIT(Akos)
|
||||
CALL_INIT(Bundle)
|
||||
CALL_INIT(Codec47)
|
||||
CALL_INIT(Gfx)
|
||||
CALL_INIT(Dialogs)
|
||||
CALL_INIT(Charset)
|
||||
CALL_INIT(Costume)
|
||||
CALL_INIT(PlayerV2)
|
||||
if (gVars->globals[GBVARS_SCUMM]) {
|
||||
CALL_INIT(IMuseDigital)
|
||||
CALL_INIT(NewGui)
|
||||
CALL_INIT(Akos)
|
||||
CALL_INIT(Bundle)
|
||||
CALL_INIT(Codec47)
|
||||
CALL_INIT(Gfx)
|
||||
CALL_INIT(Dialogs)
|
||||
CALL_INIT(Charset)
|
||||
CALL_INIT(Costume)
|
||||
CALL_INIT(PlayerV2)
|
||||
}
|
||||
#endif
|
||||
#ifndef DISABLE_QUEEN
|
||||
if (gVars->globals[GBVARS_QUEEN]) {
|
||||
CALL_INIT(Restables)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
static void GlbReleaseAll() {
|
||||
#ifndef DISABLE_SCUMM
|
||||
CALL_RELEASE(IMuseDigital)
|
||||
CALL_RELEASE(NewGui)
|
||||
CALL_RELEASE(Akos)
|
||||
CALL_RELEASE(Bundle)
|
||||
CALL_RELEASE(Codec47)
|
||||
CALL_RELEASE(Gfx)
|
||||
CALL_RELEASE(Dialogs)
|
||||
CALL_RELEASE(Charset)
|
||||
CALL_RELEASE(Costume)
|
||||
CALL_RELEASE(PlayerV2)
|
||||
if (gVars->globals[GBVARS_SCUMM]) {
|
||||
CALL_RELEASE(IMuseDigital)
|
||||
CALL_RELEASE(NewGui)
|
||||
CALL_RELEASE(Akos)
|
||||
CALL_RELEASE(Bundle)
|
||||
CALL_RELEASE(Codec47)
|
||||
CALL_RELEASE(Gfx)
|
||||
CALL_RELEASE(Dialogs)
|
||||
CALL_RELEASE(Charset)
|
||||
CALL_RELEASE(Costume)
|
||||
CALL_RELEASE(PlayerV2)
|
||||
}
|
||||
#endif
|
||||
#ifndef DISABLE_QUEEN
|
||||
if (gVars->globals[GBVARS_QUEEN]) {
|
||||
CALL_RELEASE(Restables)
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
@ -71,8 +87,9 @@ static DmOpenRef GlbOpenInternal(const Char *nameP) {
|
||||
void GlbOpen() {
|
||||
gVars->globals[GBVARS_SCUMM] = GlbOpenInternal("Scumm-Globals");
|
||||
gVars->globals[GBVARS_SIMON] = GlbOpenInternal("Simon-Globals");
|
||||
gVars->globals[GBVARS_SKY] = GlbOpenInternal("Sky-Globals");
|
||||
|
||||
gVars->globals[GBVARS_SKY ] = GlbOpenInternal("Sky-Globals");
|
||||
gVars->globals[GBVARS_QUEEN] = GlbOpenInternal("Queen-Globals");
|
||||
|
||||
GlbInitAll();
|
||||
}
|
||||
|
||||
@ -85,6 +102,8 @@ void GlbClose() {
|
||||
DmCloseDatabase(gVars->globals[GBVARS_SIMON]);
|
||||
if (gVars->globals[GBVARS_SKY])
|
||||
DmCloseDatabase(gVars->globals[GBVARS_SKY]);
|
||||
if (gVars->globals[GBVARS_QUEEN])
|
||||
DmCloseDatabase(gVars->globals[GBVARS_QUEEN]);
|
||||
}
|
||||
|
||||
void *GlbGetRecord(UInt16 index, UInt16 id) {
|
||||
@ -102,4 +121,4 @@ void GlbReleaseRecord(UInt16 index, UInt16 id) {
|
||||
if (recordH)
|
||||
MemHandleUnlock(recordH);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -55,15 +55,27 @@ enum {
|
||||
GBVARS_PCJRFREQTABLE_INDEX
|
||||
};
|
||||
|
||||
enum {
|
||||
GBVARS_RESOURCETABLEPE100V1_INDEX = 0,
|
||||
GBVARS_RESOURCETABLEPE100V2_INDEX,
|
||||
GBVARS_RESOURCETABLEPM10_INDEX,
|
||||
GBVARS_RESOURCETABLECM10_INDEX
|
||||
};
|
||||
|
||||
void *GlbGetRecord(UInt16 index, UInt16 id);
|
||||
void GlbReleaseRecord(UInt16 index, UInt16 id);
|
||||
void GlbOpen();
|
||||
void GlbClose();
|
||||
|
||||
#define GBVARS_SCUMM 0
|
||||
#define GBVARS_SIMON 1
|
||||
#define GBVARS_SKY 2
|
||||
#define GBVARS_SWORD2 3
|
||||
enum {
|
||||
GBVARS_SCUMM = 0,
|
||||
GBVARS_SIMON,
|
||||
GBVARS_SKY,
|
||||
GBVARS_SWORD2,
|
||||
GBVARS_QUEEN,
|
||||
|
||||
GBVARS_COUNT
|
||||
};
|
||||
|
||||
#define _GINIT(x) void initGlobals_##x() {
|
||||
#define _GEND }
|
||||
@ -78,6 +90,7 @@ void GlbClose();
|
||||
#define PROTO_GLOBALS(x) void CALL_INIT(x);\
|
||||
void CALL_RELEASE(x);
|
||||
|
||||
#ifndef DISABLE_SCUMM
|
||||
PROTO_GLOBALS(IMuseDigital)
|
||||
PROTO_GLOBALS(NewGui)
|
||||
PROTO_GLOBALS(Akos)
|
||||
@ -88,7 +101,12 @@ PROTO_GLOBALS(Dialogs)
|
||||
PROTO_GLOBALS(Charset)
|
||||
PROTO_GLOBALS(Costume)
|
||||
PROTO_GLOBALS(PlayerV2)
|
||||
#endif
|
||||
|
||||
#ifndef DISABLE_QUEEN
|
||||
PROTO_GLOBALS(Restables)
|
||||
#endif
|
||||
|
||||
#undef PROTO_GLOBALS
|
||||
|
||||
#endif
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user