diff options
author | Peter Kohaut | 2018-03-24 17:20:27 +0100 |
---|---|---|
committer | Peter Kohaut | 2018-03-24 17:28:34 +0100 |
commit | 5e9985bd6e4d136ec20e5e3be7589d34051227f1 (patch) | |
tree | e8b8f70ad0f509ec7b919c68c2f09bd2bbf0e8a1 /engines/bladerunner/combat.cpp | |
parent | 2a646f8cc287a98f90e561ce8072c2af4322fd22 (diff) | |
download | scummvm-rg350-5e9985bd6e4d136ec20e5e3be7589d34051227f1.tar.gz scummvm-rg350-5e9985bd6e4d136ec20e5e3be7589d34051227f1.tar.bz2 scummvm-rg350-5e9985bd6e4d136ec20e5e3be7589d34051227f1.zip |
BLADERUNNER: Load game methods
save methods update
replaced few char* with Common::String
changed few pointers to references
Diffstat (limited to 'engines/bladerunner/combat.cpp')
-rw-r--r-- | engines/bladerunner/combat.cpp | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/engines/bladerunner/combat.cpp b/engines/bladerunner/combat.cpp index eefcebccba..e1dc6b1044 100644 --- a/engines/bladerunner/combat.cpp +++ b/engines/bladerunner/combat.cpp @@ -127,8 +127,8 @@ void Combat::shoot(int actorId, Vector3 &to, int screenX) { distanceFromCenter = 100 * ------------------------------- abs(right - left) / 2 */ - Common::Rect *rect = actor->getScreenRectangle(); - int distanceFromCenter = CLIP(100 * (screenX - abs((rect->right + rect->left) / 2)) / abs((rect->right - rect->left) / 2), 0, 100); + const Common::Rect &rect = actor->getScreenRectangle(); + int distanceFromCenter = CLIP(100 * (screenX - abs((rect.right + rect.left) / 2)) / abs((rect.right - rect.left) / 2), 0, 100); int damage = (100 - distanceFromCenter) * _ammoDamage[_vm->_settings->getAmmoType()] / 100; @@ -205,14 +205,25 @@ int Combat::findCoverWaypoint(int waypointType, int actorId, int enemyId) const return result; } -void Combat::save(SaveFile &f) { - f.write(_active); - f.write(_enabled); - for (int i = 0; i != 9; ++i) { - f.write(_hitSoundId[i]); +void Combat::save(SaveFileWriteStream &f) { + f.writeBool(_active); + f.writeBool(_enabled); + for (int i = 0; i != kSoundCount; ++i) { + f.writeInt(_hitSoundId[i]); } - for (int i = 0; i != 9; ++i) { - f.write(_missSoundId[i]); + for (int i = 0; i != kSoundCount; ++i) { + f.writeInt(_missSoundId[i]); + } +} + +void Combat::load(SaveFileReadStream &f) { + _active = f.readBool(); + _enabled = f.readBool(); + for (int i = 0; i != kSoundCount; ++i) { + _hitSoundId[i] = f.readInt(); + } + for (int i = 0; i != kSoundCount; ++i) { + _missSoundId[i] = f.readInt(); } } |