aboutsummaryrefslogtreecommitdiff
path: root/engines/cge2/cge2_main.cpp
diff options
context:
space:
mode:
authorStrangerke2014-06-12 07:20:55 +0200
committerStrangerke2014-06-12 07:20:55 +0200
commit207f3c8be22b03b8f33e1f92a9010613747a5d03 (patch)
tree99925ee11fe8de2a773b2d32ec3122ef847b962d /engines/cge2/cge2_main.cpp
parent45f8bd755cd6d741f6c342272e01ce1af6464ea7 (diff)
downloadscummvm-rg350-207f3c8be22b03b8f33e1f92a9010613747a5d03.tar.gz
scummvm-rg350-207f3c8be22b03b8f33e1f92a9010613747a5d03.tar.bz2
scummvm-rg350-207f3c8be22b03b8f33e1f92a9010613747a5d03.zip
CGE2: Implement FXP code. Still WIP, loadTab to be fixed
Diffstat (limited to 'engines/cge2/cge2_main.cpp')
-rw-r--r--engines/cge2/cge2_main.cpp37
1 files changed, 13 insertions, 24 deletions
diff --git a/engines/cge2/cge2_main.cpp b/engines/cge2/cge2_main.cpp
index 99b0f26c21..2809de16e2 100644
--- a/engines/cge2/cge2_main.cpp
+++ b/engines/cge2/cge2_main.cpp
@@ -702,34 +702,23 @@ void CGE2Engine::loadTab() {
for (int i = 0; i < kCaveMax; i++)
*(_eyeTab[i]) = *_eye;
- /*
- if (_resman->exist(kTabName)) {
+if (_resman->exist(kTabName)) {
EncryptedStream f(this, kTabName);
for (int i = 0; i < kCaveMax; i++) {
- for (int j = 0; j < 3; j++) {
- signed b = f.readSint16BE();
- unsigned a = f.readUint16BE();
- 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;
- }
-
- }
+ int16 varI = f.readSint16LE();
+ int16 varF = f.readUint16LE();
+ _eyeTab[i]->_x = FXP(varI, varF);
+
+ varI = f.readSint16LE();
+ varF = f.readUint16LE();
+ _eyeTab[i]->_y = FXP(varI, varF);
+
+ varI = f.readSint16LE();
+ varF = f.readUint16LE();
+ _eyeTab[i]->_z = FXP(varI, varF);
}
}
- */
+
warning("STUB: CGE2Engine::loadTab()");
}