[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