aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorD G Turner2019-12-24 09:03:14 +0000
committerD G Turner2019-12-24 09:03:14 +0000
commit5dc1cb2fca85120fb341f3c77511cb6cbc642ad0 (patch)
tree1f707bab6268ff98f607c95dd63cf67994c28d9e /engines
parent3d49d03ca77b531c95f88e03713012116640cfb7 (diff)
downloadscummvm-rg350-5dc1cb2fca85120fb341f3c77511cb6cbc642ad0.tar.gz
scummvm-rg350-5dc1cb2fca85120fb341f3c77511cb6cbc642ad0.tar.bz2
scummvm-rg350-5dc1cb2fca85120fb341f3c77511cb6cbc642ad0.zip
SAGA: Fix Memset on Non Trivial Structure Compiler Warnings
These are emitted from GCC when -Wclass-memaccess is enabled.
Diffstat (limited to 'engines')
-rw-r--r--engines/saga/actor.h20
-rw-r--r--engines/saga/font.h11
2 files changed, 29 insertions, 2 deletions
diff --git a/engines/saga/actor.h b/engines/saga/actor.h
index 8dc27c74be..4a8d6fbde7 100644
--- a/engines/saga/actor.h
+++ b/engines/saga/actor.h
@@ -437,7 +437,25 @@ struct SpeechData {
int playingTime;
SpeechData() {
- memset(this, 0, sizeof(*this));
+ for (uint i = 0; i < ACTOR_SPEECH_ACTORS_MAX; i++) {
+ speechColor[i] = 0;
+ outlineColor[i] = 0;
+ }
+ speechFlags = 0;
+ for (uint i = 0; i < ACTOR_SPEECH_ACTORS_MAX; i++) {
+ strings[i] = nullptr;
+ }
+ // speechBox is initialized by Rect constructor
+ // drawRect is initialized by Rect constructor
+ stringsCount = 0;
+ slowModeCharIndex = 0;
+ for (uint i = 0; i < ACTOR_SPEECH_ACTORS_MAX; i++) {
+ actorIds[i] = 0;
+ }
+ actorsCount = 0;
+ sampleResourceId = 0;
+ playing = false;
+ playingTime = 0;
}
FontEffectFlags getFontFlags(int i) {
diff --git a/engines/saga/font.h b/engines/saga/font.h
index e46468e816..6a483b2867 100644
--- a/engines/saga/font.h
+++ b/engines/saga/font.h
@@ -82,8 +82,17 @@ struct TextListEntry {
FontEffectFlags flags;
KnownFont font;
const char *text;
+
TextListEntry() {
- memset(this, 0, sizeof(*this));
+ display = false;
+ useRect = false;
+ // point initialized by Common::Point constructor
+ // rect initialized by Common::Rect constructor
+ knownColor = kKnownColorTransparent;
+ effectKnownColor = kKnownColorTransparent;
+ flags = kFontNormal;
+ font = kKnownFontSmall;
+ text = nullptr;
}
bool operator==(const TextListEntry &e) const {