aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorNipun Garg2019-07-06 23:09:06 +0530
committerEugene Sandulenko2019-09-03 17:17:14 +0200
commit2990f6cff58ad8fd39d923d35081cf2468fe5cb1 (patch)
tree02d1fdfbaba25a2411b24266afc366359925a8af /engines
parent8b806991b99238b0f41b2b84492d4d8af7c84bf8 (diff)
downloadscummvm-rg350-2990f6cff58ad8fd39d923d35081cf2468fe5cb1.tar.gz
scummvm-rg350-2990f6cff58ad8fd39d923d35081cf2468fe5cb1.tar.bz2
scummvm-rg350-2990f6cff58ad8fd39d923d35081cf2468fe5cb1.zip
HDB: Fix endian issues
Diffstat (limited to 'engines')
-rw-r--r--engines/hdb/gfx.cpp44
1 files changed, 40 insertions, 4 deletions
diff --git a/engines/hdb/gfx.cpp b/engines/hdb/gfx.cpp
index ba656c81eb..63e82150f7 100644
--- a/engines/hdb/gfx.cpp
+++ b/engines/hdb/gfx.cpp
@@ -138,15 +138,51 @@ bool Gfx::init() {
}
void Gfx::save(Common::OutSaveFile *out) {
+ int i;
+
out->writeSint32LE(_currentSky);
- out->write(&_fadeInfo, sizeof(_fadeInfo));
- out->write(&_snowInfo, sizeof(_snowInfo));
+
+ out->writeByte(_fadeInfo.active);
+ out->writeByte(_fadeInfo.stayFaded);
+ out->writeByte(_fadeInfo.isBlack);
+ out->writeSint32LE(_fadeInfo.speed);
+ out->writeByte(_fadeInfo.isFadeIn);
+ out->writeSint32LE(_fadeInfo.curStep);
+
+ out->writeByte(_snowInfo.active);
+ for (i = 0; i < MAX_SNOW; i++)
+ warning("STUB: Save Double Value");
+ for (i = 0; i < MAX_SNOW; i++)
+ warning("STUB: Save Double Value");
+ for (i = 0; i < MAX_SNOW; i++)
+ warning("STUB: Save Double Value");
+ for (i = 0; i < MAX_SNOW; i++)
+ out->writeSint32LE(_snowInfo.xvindex[i]);
}
void Gfx::loadSaveFile(Common::InSaveFile *in) {
+ int i;
+
_currentSky = in->readSint32LE();
- in->read(&_fadeInfo, sizeof(_fadeInfo));
- in->read(&_snowInfo, sizeof(_snowInfo));
+
+ _fadeInfo.active = in->readByte();
+ _fadeInfo.stayFaded = in->readByte();
+ _fadeInfo.isBlack = in->readByte();
+ _fadeInfo.speed = in->readSint32LE();
+ _fadeInfo.isFadeIn = in->readByte();
+ _fadeInfo.curStep = in->readSint32LE();
+
+ _snowInfo.active = in->readByte();
+
+ for (i = 0; i < MAX_SNOW; i++)
+ warning("STUB: Load Double Value");
+ for (i = 0; i < MAX_SNOW; i++)
+ warning("STUB: Load Double Value");
+ for (i = 0; i < MAX_SNOW; i++)
+ warning("STUB: Load Double Value");
+ for (i = 0; i < MAX_SNOW; i++)
+ _snowInfo.xvindex[i] = in->readSint32LE();
+
setSky(_currentSky);
turnOffSnow();
if (_snowInfo.active)