aboutsummaryrefslogtreecommitdiff
path: root/engines/sword2/header.cpp
diff options
context:
space:
mode:
authorMax Horn2010-11-23 22:27:40 +0000
committerMax Horn2010-11-23 22:27:40 +0000
commit830c39a6871ce6cae5d22bdf0f326fa063582ea7 (patch)
tree456b88ababd2090e40c178eb201a9340068acfc5 /engines/sword2/header.cpp
parent12d5151ff48adaf78bf75248155a1a78d8e3fbd2 (diff)
downloadscummvm-rg350-830c39a6871ce6cae5d22bdf0f326fa063582ea7.tar.gz
scummvm-rg350-830c39a6871ce6cae5d22bdf0f326fa063582ea7.tar.bz2
scummvm-rg350-830c39a6871ce6cae5d22bdf0f326fa063582ea7.zip
SWORD2: Reduce dependencies on common/memstream.h
svn-id: r54442
Diffstat (limited to 'engines/sword2/header.cpp')
-rw-r--r--engines/sword2/header.cpp71
1 files changed, 71 insertions, 0 deletions
diff --git a/engines/sword2/header.cpp b/engines/sword2/header.cpp
index c930b0c8e7..6ab88d159d 100644
--- a/engines/sword2/header.cpp
+++ b/engines/sword2/header.cpp
@@ -24,6 +24,7 @@
*/
#include "sword2/header.h"
+#include "sword2/object.h"
#include "sword2/screen.h"
#include "sword2/sword2.h"
@@ -290,4 +291,74 @@ void Parallax::write(byte *addr) {
writeS.writeUint16LE(h);
}
+void ObjectMouse::read(byte *addr) {
+ Common::MemoryReadStream readS(addr, size());
+
+ x1 = readS.readSint32LE();
+ y1 = readS.readSint32LE();
+ x2 = readS.readSint32LE();
+ y2 = readS.readSint32LE();
+ priority = readS.readSint32LE();
+ pointer = readS.readSint32LE();
+}
+
+void ObjectMouse::write(byte *addr) {
+ Common::MemoryWriteStream writeS(addr, size());
+
+ writeS.writeSint32LE(x1);
+ writeS.writeSint32LE(y1);
+ writeS.writeSint32LE(x2);
+ writeS.writeSint32LE(y2);
+ writeS.writeSint32LE(priority);
+ writeS.writeSint32LE(pointer);
+}
+
+void ObjectWalkdata::read(byte *addr) {
+ Common::MemoryReadStream readS(addr, size());
+
+ nWalkFrames = readS.readUint32LE();
+ usingStandingTurnFrames = readS.readUint32LE();
+ usingWalkingTurnFrames = readS.readUint32LE();
+ usingSlowInFrames = readS.readUint32LE();
+ usingSlowOutFrames = readS.readUint32LE();
+
+ int i;
+
+ for (i = 0; i < ARRAYSIZE(nSlowInFrames); i++)
+ nSlowInFrames[i] = readS.readUint32LE();
+
+ for (i = 0; i < ARRAYSIZE(leadingLeg); i++)
+ leadingLeg[i] = readS.readUint32LE();
+
+ for (i = 0; i < ARRAYSIZE(dx); i++)
+ dx[i] = readS.readUint32LE();
+
+ for (i = 0; i < ARRAYSIZE(dy); i++)
+ dy[i] = readS.readUint32LE();
+}
+
+void ObjectWalkdata::write(byte *addr) {
+ Common::MemoryWriteStream writeS(addr, size());
+
+ writeS.writeUint32LE(nWalkFrames);
+ writeS.writeUint32LE(usingStandingTurnFrames);
+ writeS.writeUint32LE(usingWalkingTurnFrames);
+ writeS.writeUint32LE(usingSlowInFrames);
+ writeS.writeUint32LE(usingSlowOutFrames);
+
+ int i;
+
+ for (i = 0; i < ARRAYSIZE(nSlowInFrames); i++)
+ writeS.writeUint32LE(nSlowInFrames[i]);
+
+ for (i = 0; i < ARRAYSIZE(leadingLeg); i++)
+ writeS.writeUint32LE(leadingLeg[i]);
+
+ for (i = 0; i < ARRAYSIZE(dx); i++)
+ writeS.writeUint32LE(dx[i]);
+
+ for (i = 0; i < ARRAYSIZE(dy); i++)
+ writeS.writeUint32LE(dy[i]);
+}
+
} // End of namespace Sword2