[Scummvm-git-logs] scummvm master -> 40f097e2c5f6054d56d759c8090181ebfbf626a8
Strangerke
Strangerke at scummvm.org
Wed Jun 9 22:17:40 UTC 2021
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
40f097e2c5 CRYO: Initialize uninitialized variables in eden.cpp
Commit: 40f097e2c5f6054d56d759c8090181ebfbf626a8
https://github.com/scummvm/scummvm/commit/40f097e2c5f6054d56d759c8090181ebfbf626a8
Author: Strangerke (arnaud.boutonne at gmail.com)
Date: 2021-06-09T23:17:27+01:00
Commit Message:
CRYO: Initialize uninitialized variables in eden.cpp
Changed paths:
engines/cryo/defs.h
engines/cryo/eden.cpp
diff --git a/engines/cryo/defs.h b/engines/cryo/defs.h
index f7faa8cb1c..24125d4816 100644
--- a/engines/cryo/defs.h
+++ b/engines/cryo/defs.h
@@ -321,6 +321,13 @@ struct perso_t {
byte _lastLoc; // For party member this is mini sprite x offset
byte _speed; // num ticks per step
byte _steps; // current ticks
+
+ void clear() {
+ _roomNum = _actionId = _partyMask = 0;
+ _id = _flags = _roomBankId = _spriteBank = 0;
+ _items = _powers = 0;
+ _targetLoc = _lastLoc = _speed = _steps = 0;
+ }
};
namespace ObjectFlags {
@@ -338,6 +345,13 @@ struct object_t {
uint16 _itemMask;
uint16 _powerMask; // object of power bitmask
int16 _count;
+
+ void clear() {
+ _id = _flags = 0;
+ _locations = 0;
+ _itemMask = _powerMask = 0;
+ _count = 0;
+ }
};
namespace DialogFlags {
@@ -466,6 +480,14 @@ struct Area {
byte _placeNum;
Room *_citadelRoomPtr;
int16 _visitCount;
+
+ void clear() {
+ _num = _type = 0;
+ _flags = _firstRoomIdx = 0;
+ _citadelLevel = _placeNum = 0;
+ _citadelRoomPtr = nullptr;
+ _visitCount = 0;
+ }
};
namespace ValleyNews {
@@ -757,6 +779,14 @@ struct Citadel {
int16 _id;
int16 _bank[8];
int16 _video[8];
+
+ void clear() {
+ _id = 0;
+ for (int i = 0; i < 8; ++i) {
+ _bank[i] = 0;
+ _video[i] = 0;
+ }
+ }
};
/*
diff --git a/engines/cryo/eden.cpp b/engines/cryo/eden.cpp
index 16f037fc24..6c546a5a86 100644
--- a/engines/cryo/eden.cpp
+++ b/engines/cryo/eden.cpp
@@ -163,6 +163,18 @@ EdenGame::EdenGame(CryoEngine *vm) : _vm(vm), kMaxMusicSize(2200000) {
_glowIndex = 0;
_torchCurIndex = 0;
_cursCenter = 11;
+
+ for (int i = 0; i < 42; ++i)
+ _objects[i].clear();
+
+ for (int i = 0; i < 58; ++i)
+ _persons[i].clear();
+
+ for (int i = 0; i < 7; ++i)
+ _citadelList[i].clear();
+
+ for (int i = 0; i < 12; ++i)
+ _areasTable[i].clear();
}
EdenGame::~EdenGame() {
More information about the Scummvm-git-logs
mailing list