diff options
author | Max Horn | 2010-11-23 22:27:40 +0000 |
---|---|---|
committer | Max Horn | 2010-11-23 22:27:40 +0000 |
commit | 830c39a6871ce6cae5d22bdf0f326fa063582ea7 (patch) | |
tree | 456b88ababd2090e40c178eb201a9340068acfc5 /engines/sword2/header.cpp | |
parent | 12d5151ff48adaf78bf75248155a1a78d8e3fbd2 (diff) | |
download | scummvm-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.cpp | 71 |
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 |