[Scummvm-git-logs] scummvm master -> 50c5177eb002da0d809f16941643a53677ec324c
digitall
dgturner at iee.org
Sun Aug 25 08:30:04 CEST 2019
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:
50c5177eb0 AGI: Fix Remaining GCC Compiler Warnings
Commit: 50c5177eb002da0d809f16941643a53677ec324c
https://github.com/scummvm/scummvm/commit/50c5177eb002da0d809f16941643a53677ec324c
Author: D G Turner (digitall at scummvm.org)
Date: 2019-08-25T07:27:21+01:00
Commit Message:
AGI: Fix Remaining GCC Compiler Warnings
These were the remaining memset on non-trivial structure warnings.
Changed paths:
engines/agi/agi.cpp
engines/agi/agi.h
engines/agi/logic.h
engines/agi/picture.h
engines/agi/preagi.cpp
engines/agi/view.h
diff --git a/engines/agi/agi.cpp b/engines/agi/agi.cpp
index 2277005..73d9e09 100644
--- a/engines/agi/agi.cpp
+++ b/engines/agi/agi.cpp
@@ -91,14 +91,14 @@ int AgiEngine::agiInit() {
// clear all resources and events
for (i = 0; i < MAX_DIRECTORY_ENTRIES; i++) {
- memset(&_game.views[i], 0, sizeof(struct AgiView));
- memset(&_game.pictures[i], 0, sizeof(struct AgiPicture));
- memset(&_game.logics[i], 0, sizeof(struct AgiLogic));
- memset(&_game.sounds[i], 0, sizeof(class AgiSound *)); // _game.sounds contains pointers now
- memset(&_game.dirView[i], 0, sizeof(struct AgiDir));
- memset(&_game.dirPic[i], 0, sizeof(struct AgiDir));
- memset(&_game.dirLogic[i], 0, sizeof(struct AgiDir));
- memset(&_game.dirSound[i], 0, sizeof(struct AgiDir));
+ _game.views[i].reset();
+ _game.pictures[i].reset();
+ _game.logics[i].reset();
+ _game.sounds[i] = nullptr; // _game.sounds contains pointers now
+ _game.dirView[i].reset();
+ _game.dirPic[i].reset();
+ _game.dirLogic[i].reset();
+ _game.dirSound[i].reset();
}
// clear view table
diff --git a/engines/agi/agi.h b/engines/agi/agi.h
index 8627d2d..6923b2e 100644
--- a/engines/agi/agi.h
+++ b/engines/agi/agi.h
@@ -375,7 +375,15 @@ struct AgiDir {
// 0x40 = was compressed
uint8 flags;
- AgiDir() : volume(0), offset(0), len(0), clen(0), flags(0) {}
+ void reset() {
+ volume = 0;
+ offset = 0;
+ len = 0;
+ clen = 0;
+ flags = 0;
+ }
+
+ AgiDir() { reset(); }
};
struct AgiBlock {
diff --git a/engines/agi/logic.h b/engines/agi/logic.h
index 5e8700d..992ebbf 100644
--- a/engines/agi/logic.h
+++ b/engines/agi/logic.h
@@ -36,7 +36,16 @@ struct AgiLogic {
int numTexts; /**< number of messages */
const char **texts; /**< message list */
- AgiLogic() : data(nullptr), size(0), sIP(0), cIP(0), numTexts(0), texts(nullptr) {}
+ void reset() {
+ data = nullptr;
+ size = 0;
+ sIP = 0;
+ cIP = 0;
+ numTexts = 0;
+ texts = nullptr;
+ }
+
+ AgiLogic() { reset(); }
};
} // End of namespace Agi
diff --git a/engines/agi/picture.h b/engines/agi/picture.h
index 1380aae..dc6e582 100644
--- a/engines/agi/picture.h
+++ b/engines/agi/picture.h
@@ -35,7 +35,12 @@ struct AgiPicture {
uint32 flen; /**< size of raw data */
uint8 *rdata; /**< raw vector image data */
- AgiPicture() : flen(0), rdata(nullptr) {}
+ void reset() {
+ flen = 0;
+ rdata = nullptr;
+ }
+
+ AgiPicture() { reset(); }
};
// AGI picture version
diff --git a/engines/agi/preagi.cpp b/engines/agi/preagi.cpp
index e2751cd..aff00a7 100644
--- a/engines/agi/preagi.cpp
+++ b/engines/agi/preagi.cpp
@@ -82,10 +82,10 @@ void PreAgiEngine::initialize() {
// clear all resources and events
for (int i = 0; i < MAX_DIRECTORY_ENTRIES; i++) {
- memset(&_game.pictures[i], 0, sizeof(struct AgiPicture));
- memset(&_game.sounds[i], 0, sizeof(class AgiSound *)); // _game.sounds contains pointers now
- memset(&_game.dirPic[i], 0, sizeof(struct AgiDir));
- memset(&_game.dirSound[i], 0, sizeof(struct AgiDir));
+ _game.pictures[i].reset();
+ _game.sounds[i] = nullptr; // _game.sounds contains pointers now
+ _game.dirPic[i].reset();
+ _game.dirSound[i].reset();
}
}
diff --git a/engines/agi/view.h b/engines/agi/view.h
index e4adfdc..88094d6 100644
--- a/engines/agi/view.h
+++ b/engines/agi/view.h
@@ -48,13 +48,15 @@ struct AgiView {
int16 loopCount;
AgiViewLoop *loop;
- AgiView() {
+ void reset() {
headerStepSize = 0;
headerCycleTime = 0;
description = nullptr;
loopCount = 0;
loop = nullptr;
}
+
+ AgiView() { reset(); }
};
enum MotionType {
More information about the Scummvm-git-logs
mailing list