Skip to content

Commit

Permalink
CGE2: Implement loadTab().
Browse files Browse the repository at this point in the history
  • Loading branch information
uruk committed May 15, 2014
1 parent 45714a1 commit b3cdf9c
Show file tree
Hide file tree
Showing 3 changed files with 39 additions and 2 deletions.
31 changes: 29 additions & 2 deletions engines/cge2/cge2_main.cpp
Expand Up @@ -356,12 +356,39 @@ void CGE2Engine::runGame() {
}

void CGE2Engine::loadTab() {
char *n = _text->getText(240);
setEye(_text->getText(240));
for (int i = 0; i < kCaveMax; i++)
_eyeTab[i] == _eye;

warning("STUB: CGE2Engine::loadTab()");
if (_resman->exist(kTabName)) {
EncryptedStream f(this, kTabName);
Common::File output;
for (int i = 0; i < kCaveMax; i++) {
for (int j = 0; j < 3; j++) {
signed b = f.readSigned();
unsigned a = f.readUnsigned();
uint16 round = uint16((long(a) << 16) / 100);

if (round > 0x7FFF)
b++;

switch (j) {
case 0:
_eyeTab[i]->_x = b;
break;
case 1:
_eyeTab[i]->_y = b;
break;
case 2:
_eyeTab[i]->_z = b;
break;
}

}
}
}

warning("STUB: CGE2Engine::loadTab() - Recheck this");
}

void CGE2Engine::cge2_main() {
Expand Down
8 changes: 8 additions & 0 deletions engines/cge2/fileio.cpp
Expand Up @@ -216,6 +216,14 @@ uint32 EncryptedStream::read(byte *dataPtr, uint32 dataSize) {
return _readStream->read(dataPtr, dataSize);
}

unsigned EncryptedStream::readUnsigned() {
return _readStream->readUint16BE();
}

signed EncryptedStream::readSigned() {
return _readStream->readSint16BE();
}

bool EncryptedStream::err() {
return (_error & _readStream->err());
}
Expand Down
2 changes: 2 additions & 0 deletions engines/cge2/fileio.h
Expand Up @@ -121,6 +121,8 @@ class EncryptedStream {
int32 pos();
int32 size();
uint32 read(byte *dataPtr, uint32 dataSize);
unsigned readUnsigned();
signed readSigned();
Common::String readLine();
int getLineCount() { return _lineCount; }

Expand Down

0 comments on commit b3cdf9c

Please sign in to comment.