aboutsummaryrefslogtreecommitdiff
path: root/engines/gob/init.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/gob/init.cpp')
-rw-r--r--engines/gob/init.cpp50
1 files changed, 14 insertions, 36 deletions
diff --git a/engines/gob/init.cpp b/engines/gob/init.cpp
index 8bf9536286..9d17e6b054 100644
--- a/engines/gob/init.cpp
+++ b/engines/gob/init.cpp
@@ -80,9 +80,6 @@ void Init::doDemo() {
}
void Init::initGame() {
- int16 handle2;
- int16 handle;
- int16 imdHandle;
byte *infBuf;
char *infPtr;
char *infEnd;
@@ -91,11 +88,8 @@ void Init::initGame() {
initVideo();
if (!_vm->isDemo()) {
- handle2 = _vm->_dataIO->openData(_vm->_startStk.c_str());
- if (handle2 >= 0) {
- _vm->_dataIO->closeData(handle2);
+ if (_vm->_dataIO->existData(_vm->_startStk.c_str()))
_vm->_dataIO->openDataFile(_vm->_startStk.c_str());
- }
}
_vm->_util->initInput();
@@ -127,19 +121,13 @@ void Init::initGame() {
return;
}
- handle = _vm->_dataIO->openData("intro.inf");
+ if (!_vm->_dataIO->existData("intro.inf")) {
- if (handle < 0) {
- for (int i = 0; i < 4; i++) {
- handle2 = _vm->_dataIO->openData(_fontNames[i]);
- if (handle2 >= 0) {
- _vm->_dataIO->closeData(handle2);
+ for (int i = 0; i < 4; i++)
+ if (_vm->_dataIO->existData(_fontNames[i]))
_vm->_draw->_fonts[i] = _vm->_util->loadFont(_fontNames[i]);
- }
- }
- } else {
- _vm->_dataIO->closeData(handle);
+ } else {
infBuf = _vm->_dataIO->getData("intro.inf");
infPtr = (char *) infBuf;
@@ -153,11 +141,8 @@ void Init::initGame() {
buffer[j] = 0;
strcat(buffer, ".let");
- handle2 = _vm->_dataIO->openData(buffer);
- if (handle2 >= 0) {
- _vm->_dataIO->closeData(handle2);
+ if (_vm->_dataIO->existData(buffer))
_vm->_draw->_fonts[i] = _vm->_util->loadFont(buffer);
- }
if ((infPtr + 1) >= infEnd)
break;
@@ -167,26 +152,21 @@ void Init::initGame() {
delete[] infBuf;
}
- strcpy(buffer, _vm->_startTot.c_str());
- handle = _vm->_dataIO->openData(buffer);
-
- if (handle >= 0) {
- DataStream *stream = _vm->_dataIO->openAsStream(handle, true);
+ if (_vm->_dataIO->existData(_vm->_startTot.c_str())) {
+ DataStream *stream = _vm->_dataIO->getDataStream(_vm->_startTot.c_str());
stream->seek(0x2C);
_vm->_inter->allocateVars(stream->readUint16LE());
delete stream;
- strcpy(_vm->_game->_curTotFile, buffer);
+ strcpy(_vm->_game->_curTotFile, _vm->_startTot.c_str());
_vm->_sound->cdTest(1, "GOB");
_vm->_sound->cdLoadLIC("gob.lic");
// Search for a Coktel logo animation or image to display
- imdHandle = _vm->_dataIO->openData("coktel.imd");
- if (imdHandle >= 0) {
- _vm->_dataIO->closeData(imdHandle);
+ if (_vm->_dataIO->existData("coktel.imd")) {
_vm->_draw->initScreen();
_vm->_draw->_cursorIndex = -1;
@@ -198,19 +178,17 @@ void Init::initGame() {
}
_vm->_draw->closeScreen();
- } else if ((imdHandle = _vm->_dataIO->openData("coktel.clt")) >= 0) {
+ } else if (_vm->_dataIO->existData("coktel.clt")) {
_vm->_draw->initScreen();
-
- stream = _vm->_dataIO->openAsStream(imdHandle, true);
_vm->_util->clearPalette();
+
+ stream = _vm->_dataIO->getDataStream("coktel.clt");
stream->read((byte *) _vm->_draw->_vgaPalette, 768);
delete stream;
- imdHandle = _vm->_dataIO->openData("coktel.ims");
- if (imdHandle >= 0) {
+ if (_vm->_dataIO->existData("coktel.ims")) {
byte *sprBuf;
- _vm->_dataIO->closeData(imdHandle);
sprBuf = _vm->_dataIO->getData("coktel.ims");
_vm->_video->drawPackedSprite(sprBuf, 320, 200, 0, 0, 0,
*_vm->_draw->_frontSurface);