[Scummvm-git-logs] scummvm master -> efc9e04ce0308f6bab379aec28936d9510d33496

digitall 547637+digitall at users.noreply.github.com
Tue Jun 15 10:07:03 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:
efc9e04ce0 AGS: Fix Various GCC Compiler Warnings


Commit: efc9e04ce0308f6bab379aec28936d9510d33496
    https://github.com/scummvm/scummvm/commit/efc9e04ce0308f6bab379aec28936d9510d33496
Author: D G Turner (digitall at scummvm.org)
Date: 2021-06-15T11:07:23+01:00

Commit Message:
AGS: Fix Various GCC Compiler Warnings

Changed paths:
    engines/ags/engine/ac/global_game.cpp
    engines/ags/engine/script/cc_instance.cpp
    engines/ags/engine/script/script.cpp
    engines/ags/shared/ac/game_setup_struct.cpp
    engines/ags/shared/ac/mouse_cursor.cpp
    engines/ags/shared/ac/mouse_cursor.h
    engines/ags/shared/game/interactions.cpp
    engines/ags/shared/game/interactions.h
    engines/ags/shared/game/room_file_base.cpp


diff --git a/engines/ags/engine/ac/global_game.cpp b/engines/ags/engine/ac/global_game.cpp
index dbbd2fe25e..862d046b27 100644
--- a/engines/ags/engine/ac/global_game.cpp
+++ b/engines/ags/engine/ac/global_game.cpp
@@ -346,6 +346,7 @@ int GetGameParameter(int parm, int data1, int data2, int data3) {
 			return (pvf->flags & VFLG_FLIPSPRITE) ? 1 : 0;
 		else
 			quit("GetGameParameter internal error");
+		break;
 	}
 	case GP_ISRUNNEXTLOOP:
 		return Game_GetRunNextSettingForLoop(data1, data2);
diff --git a/engines/ags/engine/script/cc_instance.cpp b/engines/ags/engine/script/cc_instance.cpp
index 0280309019..96fe62be8d 100644
--- a/engines/ags/engine/script/cc_instance.cpp
+++ b/engines/ags/engine/script/cc_instance.cpp
@@ -239,15 +239,14 @@ ccInstance *ccInstance::Fork() {
 }
 
 void ccInstance::Abort() {
-	if ((this != nullptr) && (pc != 0))
+	if (pc != 0) {
 		flags |= INSTF_ABORTED;
+	}
 }
 
 void ccInstance::AbortAndDestroy() {
-	if (this != nullptr) {
-		Abort();
-		flags |= INSTF_FREE;
-	}
+	Abort();
+	flags |= INSTF_FREE;
 }
 
 #define ASSERT_STACK_SPACE_AVAILABLE(N) \
@@ -1066,7 +1065,7 @@ int ccInstance::Run(int32_t curpc) {
 					    reg1.StcArr->GetDynamicManager());
 					break;
 				}
-			// fall-through intended
+			// fall through
 			default:
 				cc_error("internal error: SCMD_CALLOBJ argument is not an object of built-in or user-defined type");
 				return -1;
diff --git a/engines/ags/engine/script/script.cpp b/engines/ags/engine/script/script.cpp
index 90ef251da0..f2d023bc26 100644
--- a/engines/ags/engine/script/script.cpp
+++ b/engines/ags/engine/script/script.cpp
@@ -656,6 +656,7 @@ int run_interaction_commandlist(InteractionCommandList *nicl, int *timesrun, int
 			if (timesrun[0] > 0)
 				break;
 			timesrun[0] ++;
+			// fall through
 		case 3:  // Add score
 			GiveScore(IPARAM1);
 			break;
diff --git a/engines/ags/shared/ac/game_setup_struct.cpp b/engines/ags/shared/ac/game_setup_struct.cpp
index 7d85cfd938..7018216f19 100644
--- a/engines/ags/shared/ac/game_setup_struct.cpp
+++ b/engines/ags/shared/ac/game_setup_struct.cpp
@@ -40,7 +40,7 @@ GameSetupStruct::GameSetupStruct()
 	, roomNames(nullptr)
 	, scoreClipID(0) {
 	memset(invinfo, 0, sizeof(invinfo));
-	memset(mcurs, 0, sizeof(mcurs));
+	for (uint8 i = 0; i < ARRAYSIZE(mcurs); i++) mcurs[i].clear();
 	memset(lipSyncFrameLetters, 0, sizeof(lipSyncFrameLetters));
 	memset(guid, 0, sizeof(guid));
 	memset(saveGameFileExtension, 0, sizeof(saveGameFileExtension));
diff --git a/engines/ags/shared/ac/mouse_cursor.cpp b/engines/ags/shared/ac/mouse_cursor.cpp
index afea514395..878ac177c9 100644
--- a/engines/ags/shared/ac/mouse_cursor.cpp
+++ b/engines/ags/shared/ac/mouse_cursor.cpp
@@ -22,18 +22,25 @@
 
 #include "ags/shared/ac/mouse_cursor.h"
 #include "ags/shared/util/stream.h"
+#include "common/util.h"
 
 namespace AGS3 {
 
 using AGS::Shared::Stream;
 
 MouseCursor::MouseCursor() {
+	clear();
+}
+
+void MouseCursor::clear() {
 	pic = 2054;
 	hotx = 0;
 	hoty = 0;
-	name[0] = 0;
-	flags = 0;
 	view = -1;
+	for (uint8 i = 0; i < ARRAYSIZE(name); i++) {
+		name[i] = 0;
+	}
+	flags = 0;
 }
 
 void MouseCursor::ReadFromFile(Stream *in) {
diff --git a/engines/ags/shared/ac/mouse_cursor.h b/engines/ags/shared/ac/mouse_cursor.h
index 6dbe651f8b..775cd56729 100644
--- a/engines/ags/shared/ac/mouse_cursor.h
+++ b/engines/ags/shared/ac/mouse_cursor.h
@@ -45,7 +45,9 @@ struct MouseCursor {
 	short view;
 	char  name[10];
 	char  flags;
+
 	MouseCursor();
+	void clear();
 
 	void ReadFromFile(Shared::Stream *in);
 	void WriteToFile(Shared::Stream *out);
diff --git a/engines/ags/shared/game/interactions.cpp b/engines/ags/shared/game/interactions.cpp
index 50b6bb9ce2..fdedbcc5c8 100644
--- a/engines/ags/shared/game/interactions.cpp
+++ b/engines/ags/shared/game/interactions.cpp
@@ -25,6 +25,7 @@
 #include "ags/shared/game/interactions.h"
 #include "ags/shared/util/aligned_stream.h"
 #include "ags/shared/util/math.h"
+#include "common/util.h"
 
 namespace AGS3 {
 
@@ -39,6 +40,12 @@ InteractionValue::InteractionValue() {
 	Extra = 0;
 }
 
+void InteractionValue::clear() {
+	Type = kInterValInvalid;
+	Value = 0;
+	Extra = 0;
+}
+
 void InteractionValue::Read(Stream *in) {
 	Type = (InterValType)in->ReadInt8();
 	Value = in->ReadInt32();
@@ -71,7 +78,7 @@ void InteractionCommand::Assign(const InteractionCommand &ic, InteractionCommand
 
 void InteractionCommand::Reset() {
 	Type = 0;
-	memset(Data, 0, sizeof(Data));
+	for (uint8 i = 0; i < ARRAYSIZE(Data); i++) Data[i].clear();
 	Children.reset();
 	Parent = nullptr;
 }
diff --git a/engines/ags/shared/game/interactions.h b/engines/ags/shared/game/interactions.h
index 2dc8ce8816..198478c91f 100644
--- a/engines/ags/shared/game/interactions.h
+++ b/engines/ags/shared/game/interactions.h
@@ -64,6 +64,7 @@ namespace AGS {
 namespace Shared {
 
 enum InterValType {
+	kInterValInvalid = 0,
 	kInterValLiteralInt = 1,
 	kInterValVariable = 2,
 	kInterValBoolean = 3,
@@ -82,6 +83,8 @@ struct InteractionValue {
 
 	InteractionValue();
 
+	void clear();
+
 	void Read(Stream *in);
 	void Write(Stream *out) const;
 };
diff --git a/engines/ags/shared/game/room_file_base.cpp b/engines/ags/shared/game/room_file_base.cpp
index b854577d12..b84b4b0ed0 100644
--- a/engines/ags/shared/game/room_file_base.cpp
+++ b/engines/ags/shared/game/room_file_base.cpp
@@ -48,6 +48,8 @@ String GetRoomFileErrorText(RoomFileErrorType err) {
 		return "Unknown block type.";
 	case kRoomFileErr_OldBlockNotSupported:
 		return "Block type is too old and not supported by this version of the engine.";
+	case kRoomFileErr_BlockDataOverlapping:
+		return "Block data overlapping.";
 	case kRoomFileErr_IncompatibleEngine:
 		return "This engine cannot handle requested room content.";
 	case kRoomFileErr_ScriptLoadFailed:
@@ -88,6 +90,7 @@ HRoomFileError ReadRoomHeader(RoomDataSource &src) {
 
 String GetRoomBlockName(RoomFileBlock id) {
 	switch (id) {
+	case kRoomFblk_None: return "None";
 	case kRoomFblk_Main: return "Main";
 	case kRoomFblk_Script: return "TextScript";
 	case kRoomFblk_CompScript: return "CompScript";
@@ -97,6 +100,9 @@ String GetRoomBlockName(RoomFileBlock id) {
 	case kRoomFblk_CompScript3: return "CompScript3";
 	case kRoomFblk_Properties: return "Properties";
 	case kRoomFblk_ObjectScNames: return "ObjScNames";
+	case kRoomFile_EOF: return "EOF";
+	default:
+		break;
 	}
 	return "unknown";
 }




More information about the Scummvm-git-logs mailing list