[Scummvm-git-logs] scummvm master -> 2d21a7dfdec1dc9eac855244bccc800f3af5d773
dreammaster
noreply at scummvm.org
Tue Apr 26 05:20:18 UTC 2022
This automated email contains information about 17 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
07e74fdd72 AGS: Typecast warning fixes in data serialization
250190e997 AGS: Fixing various type-cast warnings
0be3602b44 AGS: In ScriptAudioClip changed index fields from char to unsigned
f2399dc15c AGS: Fixing various "unused variable/arg" warnings
7b13f47d04 AGS: Fixing unimplemented cases in switches
5b291a5ef0 AGS: Typecast warning fixes in data serialization
a633e9d72f AGS: Fixing various type-cast warnings
d0e8eba2c4 AGS: In DialogOptions changed index fields from char to int
a6f42ad1ab AGS: Fixing various "unused va/arg" warnings + removed empty funcs
357679d2a8 AGS: Fixing unimplemented cases in switches
85684cbae6 AGS: Fixed couple of "unreachable code" warnings
741405aa3f AGS: Fixed potential use of uninitialized vars
e60335a58a AGS: In log config fixed missing group letter id for "script"
194dc7bafa AGS: Fixed game events not cleared inside blocking action
22bcba88f5 AGS: Fixed RoomObject animation loosing parameters
1ab42991d1 AGS: Added more event constants, clarified couple event calls
2d21a7dfde AGS: Removed couple of unused constants
Commit: 07e74fdd726ddf21201815b38593fbf210f2fdb4
https://github.com/scummvm/scummvm/commit/07e74fdd726ddf21201815b38593fbf210f2fdb4
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T18:47:08-07:00
Commit Message:
AGS: Typecast warning fixes in data serialization
>From upstream efed621fda5adabac8937b8d0ca64e537fabdfeb
Changed paths:
engines/ags/engine/game/savegame_v321.cpp
engines/ags/shared/ac/mouse_cursor.cpp
engines/ags/shared/ac/view.cpp
engines/ags/shared/ac/view.h
engines/ags/shared/game/main_game_file.cpp
engines/ags/shared/game/room_file.cpp
engines/ags/shared/script/cc_script.cpp
engines/ags/shared/util/data_ext.cpp
engines/ags/shared/util/multi_file_lib.cpp
diff --git a/engines/ags/engine/game/savegame_v321.cpp b/engines/ags/engine/game/savegame_v321.cpp
index 816a6412da9..672d2697f38 100644
--- a/engines/ags/engine/game/savegame_v321.cpp
+++ b/engines/ags/engine/game/savegame_v321.cpp
@@ -96,7 +96,7 @@ static HSaveError restore_game_scripts(Stream *in, const PreservedParams &pp, Re
r_data.GlobalScript.Data.reset(new char[gdatasize]);
in->Read(r_data.GlobalScript.Data.get(), gdatasize);
- if (in->ReadInt32() != (int32_t) _G(numScriptModules)) {
+ if (in->ReadInt32() != (int32_t)_G(numScriptModules)) {
return new SavegameError(kSvgErr_GameContentAssertion, "Mismatching number of script modules.");
}
r_data.ScriptModules.resize(_G(numScriptModules));
diff --git a/engines/ags/shared/ac/mouse_cursor.cpp b/engines/ags/shared/ac/mouse_cursor.cpp
index 2dff2e01dc5..24ee06e6fe8 100644
--- a/engines/ags/shared/ac/mouse_cursor.cpp
+++ b/engines/ags/shared/ac/mouse_cursor.cpp
@@ -55,10 +55,10 @@ void MouseCursor::WriteToFile(Stream *out) {
void MouseCursor::ReadFromSavegame(Stream *in, int cmp_ver) {
pic = in->ReadInt32();
- hotx = in->ReadInt32();
- hoty = in->ReadInt32();
- view = in->ReadInt32();
- flags = in->ReadInt32();
+ hotx = static_cast<int16_t>(in->ReadInt32());
+ hoty = static_cast<int16_t>(in->ReadInt32());
+ view = static_cast<int16_t>(in->ReadInt32());
+ flags = static_cast<int8_t>(in->ReadInt32());
if (cmp_ver > 0)
animdelay = in->ReadInt32();
}
diff --git a/engines/ags/shared/ac/view.cpp b/engines/ags/shared/ac/view.cpp
index ef362f5f1e9..fc390e489cc 100644
--- a/engines/ags/shared/ac/view.cpp
+++ b/engines/ags/shared/ac/view.cpp
@@ -83,7 +83,7 @@ void ViewLoopNew::Dispose() {
}
void ViewLoopNew::WriteToFile_v321(Stream *out) {
- out->WriteInt16(numFrames);
+ out->WriteInt16(static_cast<uint16_t>(numFrames));
out->WriteInt32(flags);
WriteFrames_Aligned(out);
}
@@ -97,7 +97,7 @@ void ViewLoopNew::WriteFrames_Aligned(Stream *out) {
}
void ViewLoopNew::ReadFromFile_v321(Stream *in) {
- Initialize(in->ReadInt16());
+ Initialize(static_cast<uint16_t>(in->ReadInt16()));
flags = in->ReadInt32();
ReadFrames_Aligned(in);
}
@@ -125,14 +125,14 @@ void ViewStruct::Dispose() {
}
void ViewStruct::WriteToFile(Stream *out) {
- out->WriteInt16(numLoops);
+ out->WriteInt16(static_cast<uint16_t>(numLoops));
for (int i = 0; i < numLoops; i++) {
loops[i].WriteToFile_v321(out);
}
}
void ViewStruct::ReadFromFile(Stream *in) {
- Initialize(in->ReadInt16());
+ Initialize(static_cast<uint16_t>(in->ReadInt16()));
for (int i = 0; i < numLoops; i++) {
loops[i].ReadFromFile_v321(in);
diff --git a/engines/ags/shared/ac/view.h b/engines/ags/shared/ac/view.h
index 906c9da00a0..cafcf04af63 100644
--- a/engines/ags/shared/ac/view.h
+++ b/engines/ags/shared/ac/view.h
@@ -56,7 +56,7 @@ struct ViewFrame {
#define LOOPFLAG_RUNNEXTLOOP 1
struct ViewLoopNew {
- short numFrames;
+ int numFrames;
int flags;
std::vector<ViewFrame> frames;
// NOTE: we still need numFrames for backward compatibility:
@@ -74,7 +74,7 @@ struct ViewLoopNew {
};
struct ViewStruct {
- short numLoops;
+ int numLoops;
std::vector<ViewLoopNew> loops;
ViewStruct();
diff --git a/engines/ags/shared/game/main_game_file.cpp b/engines/ags/shared/game/main_game_file.cpp
index f93c0aa1ff4..3fe02db78f9 100644
--- a/engines/ags/shared/game/main_game_file.cpp
+++ b/engines/ags/shared/game/main_game_file.cpp
@@ -350,8 +350,8 @@ void ReadDialogs(DialogTopic *&dialog,
} else {
// Encrypted text on > 2.60
while (1) {
- size_t newlen = in->ReadInt32();
- if (static_cast<uint32_t>(newlen) == 0xCAFEBEEF) { // GUI magic
+ size_t newlen = static_cast<uint32_t>(in->ReadInt32());
+ if (newlen == 0xCAFEBEEF) { // GUI magic
in->Seek(-4);
break;
}
diff --git a/engines/ags/shared/game/room_file.cpp b/engines/ags/shared/game/room_file.cpp
index 16e92e71a12..1802cf0577d 100644
--- a/engines/ags/shared/game/room_file.cpp
+++ b/engines/ags/shared/game/room_file.cpp
@@ -338,10 +338,10 @@ HError ReadCompSc3Block(RoomStruct *room, Stream *in, RoomFileVersion data_ver)
// Room object names
HError ReadObjNamesBlock(RoomStruct *room, Stream *in, RoomFileVersion data_ver) {
- size_t name_count = in->ReadByte();
+ size_t name_count = static_cast<uint8_t>(in->ReadInt8());
if (name_count != room->ObjectCount)
return new RoomFileError(kRoomFileErr_InconsistentData,
- String::FromFormat("In the object names block, expected name count: %d, got %d", room->ObjectCount, name_count));
+ String::FromFormat("In the object names block, expected name count: %zu, got %zu", room->ObjectCount, name_count));
for (size_t i = 0; i < room->ObjectCount; ++i) {
if (data_ver >= kRoomVersion_3415)
@@ -354,10 +354,10 @@ HError ReadObjNamesBlock(RoomStruct *room, Stream *in, RoomFileVersion data_ver)
// Room object script names
HError ReadObjScNamesBlock(RoomStruct *room, Stream *in, RoomFileVersion data_ver) {
- size_t name_count = in->ReadByte();
+ size_t name_count = static_cast<uint8_t>(in->ReadInt8());
if (name_count != room->ObjectCount)
return new RoomFileError(kRoomFileErr_InconsistentData,
- String::FromFormat("In the object script names block, expected name count: %d, got %d", room->ObjectCount, name_count));
+ String::FromFormat("In the object script names block, expected name count: %zu, got %zu", room->ObjectCount, name_count));
for (size_t i = 0; i < room->ObjectCount; ++i) {
if (data_ver >= kRoomVersion_3415)
diff --git a/engines/ags/shared/script/cc_script.cpp b/engines/ags/shared/script/cc_script.cpp
index 9b1972632a1..07673348930 100644
--- a/engines/ags/shared/script/cc_script.cpp
+++ b/engines/ags/shared/script/cc_script.cpp
@@ -281,7 +281,7 @@ bool ccScript::Read(Stream *in) {
sectionOffsets = nullptr;
}
- if ((uint32)in->ReadInt32() != ENDFILESIG) {
+ if (static_cast<uint32_t>(in->ReadInt32()) != ENDFILESIG) {
cc_error("internal error rebuilding script");
return false;
}
diff --git a/engines/ags/shared/util/data_ext.cpp b/engines/ags/shared/util/data_ext.cpp
index 866ae2873b1..261aedec70a 100644
--- a/engines/ags/shared/util/data_ext.cpp
+++ b/engines/ags/shared/util/data_ext.cpp
@@ -126,7 +126,7 @@ void WriteExtBlock(int block, const String &ext_id, PfnWriteExtBlock writer, int
// Write block's header
(flags & kDataExt_NumID32) != 0 ?
out->WriteInt32(block) :
- out->WriteInt8(block);
+ out->WriteInt8(static_cast<int8_t>(block));
if (block == 0) // new-style string id
ext_id.WriteCount(out, 16);
soff_t sz_at = out->GetPosition();
diff --git a/engines/ags/shared/util/multi_file_lib.cpp b/engines/ags/shared/util/multi_file_lib.cpp
index 5e47eaafff1..563ebbd4c12 100644
--- a/engines/ags/shared/util/multi_file_lib.cpp
+++ b/engines/ags/shared/util/multi_file_lib.cpp
@@ -146,7 +146,7 @@ MFLUtil::MFLError MFLUtil::ReadSigsAndVersion(Stream *in, MFLVersion *p_lib_vers
// if we've reached this point we must be right behind the header signature
// read library header
- MFLVersion lib_version = (MFLVersion)in->ReadByte();
+ MFLVersion lib_version = static_cast<MFLVersion>(in->ReadInt8());
if ((lib_version != kMFLVersion_SingleLib) && (lib_version != kMFLVersion_MultiV10) &&
(lib_version != kMFLVersion_MultiV11) && (lib_version != kMFLVersion_MultiV15) &&
(lib_version != kMFLVersion_MultiV20) && (lib_version != kMFLVersion_MultiV21) &&
@@ -161,7 +161,7 @@ MFLUtil::MFLError MFLUtil::ReadSigsAndVersion(Stream *in, MFLVersion *p_lib_vers
}
MFLUtil::MFLError MFLUtil::ReadSingleFileLib(AssetLibInfo &lib, Stream *in, MFLVersion lib_version) {
- int passwmodifier = in->ReadByte();
+ char passwmodifier = in->ReadInt8();
in->ReadInt8(); // unused byte
lib.LibFileNames.resize(1); // only one library part
size_t asset_count = (uint16)in->ReadInt16();
@@ -330,8 +330,8 @@ MFLUtil::MFLError MFLUtil::ReadV30(AssetLibInfo &lib, Stream *in, MFLVersion /*
void MFLUtil::WriteHeader(const AssetLibInfo &lib, MFLVersion lib_version, int lib_index, Stream *out) {
out->Write(HeadSig, strlen(HeadSig));
- out->WriteByte(lib_version);
- out->WriteByte(lib_index); // file number
+ out->WriteInt8(static_cast<uint8_t>(lib_version));
+ out->WriteInt8(static_cast<uint8_t>(lib_index)); // file number
// First datafile in chain: write the table of contents
if (lib_index == 0) {
@@ -351,7 +351,7 @@ void MFLUtil::WriteV30(const AssetLibInfo &lib, MFLVersion lib_version, Stream *
out->WriteInt32(lib.AssetInfos.size());
for (const auto &asset : lib.AssetInfos) {
StrUtil::WriteCStr(asset.FileName, out);
- out->WriteInt8(asset.LibUid);
+ out->WriteInt8(static_cast<uint8_t>(asset.LibUid));
out->WriteInt64(asset.Offset);
out->WriteInt64(asset.Size);
}
@@ -390,12 +390,12 @@ void MFLUtil::ReadEncArray(void *data, size_t size, size_t count, Stream *in, in
uint8_t *ch = (uint8_t *)data;
const size_t len = size * count;
for (size_t i = 0; i < len; ++i) {
- ch[i] -= GetNextPseudoRand(rand_val);
+ ch[i] = static_cast<uint8_t>(ch[i] - GetNextPseudoRand(rand_val));
}
}
int8_t MFLUtil::ReadEncInt8(Stream *in, int &rand_val) {
- return in->ReadByte() - GetNextPseudoRand(rand_val);
+ return static_cast<int8_t>(in->ReadInt8() - GetNextPseudoRand(rand_val));
}
int32_t MFLUtil::ReadEncInt32(Stream *in, int &rand_val) {
@@ -410,7 +410,7 @@ int32_t MFLUtil::ReadEncInt32(Stream *in, int &rand_val) {
void MFLUtil::ReadEncString(char *buffer, size_t max_len, Stream *in, int &rand_val) {
size_t i = 0;
while ((i == 0) || (buffer[i - 1] != 0)) {
- buffer[i] = in->ReadByte() - GetNextPseudoRand(rand_val);
+ buffer[i] = static_cast<int8_t>(in->ReadInt8() - GetNextPseudoRand(rand_val));
if (i < max_len - 1)
i++;
else
Commit: 250190e997d1e8d84e89b7336775e35f194ddd14
https://github.com/scummvm/scummvm/commit/250190e997d1e8d84e89b7336775e35f194ddd14
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T18:47:12-07:00
Commit Message:
AGS: Fixing various type-cast warnings
>From upstream 82e89d3c3dccfa0aba0b18c1aa544130ac7e6902
Changed paths:
engines/ags/shared/ac/sprite_file.cpp
engines/ags/shared/debugging/out.h
engines/ags/shared/game/interactions.h
engines/ags/shared/game/room_file.cpp
engines/ags/shared/game/tra_file.cpp
engines/ags/shared/game/tra_file.h
engines/ags/shared/gfx/bitmap.cpp
engines/ags/shared/gui/gui_main.cpp
engines/ags/shared/util/directory.cpp
engines/ags/shared/util/directory.h
engines/ags/shared/util/math.h
engines/ags/shared/util/memory_stream.cpp
engines/ags/shared/util/memory_stream.h
engines/ags/shared/util/string_compat.cpp
engines/ags/shared/util/text_stream_reader.cpp
diff --git a/engines/ags/shared/ac/sprite_file.cpp b/engines/ags/shared/ac/sprite_file.cpp
index 39363fcb9a8..2520a905d3c 100644
--- a/engines/ags/shared/ac/sprite_file.cpp
+++ b/engines/ags/shared/ac/sprite_file.cpp
@@ -54,11 +54,11 @@ typedef ImBufferPtrT<uint8_t *> ImBufferPtr;
typedef ImBufferPtrT<const uint8_t *> ImBufferCPtr;
-// Finds the given color's index in the palette, or returns -1 if such color is not there
+// Finds the given color's index in the palette, or returns SIZE_MAX if such color is not there
static size_t lookup_palette(uint32_t col, uint32_t palette[256], uint32_t ncols) {
for (size_t i = 0; i < ncols; ++i)
if (palette[i] == col) return i;
- return (size_t)-1;
+ return SIZE_MAX;
}
// Converts a 16/32-bit image into the indexed 8-bit pixel data with palette;
@@ -90,7 +90,7 @@ static bool CreateIndexedBitmap(const Bitmap *image, std::vector<uint8_t> &dst_d
default: assert(0); return false;
}
- if ((int)pal_n == -1) {
+ if (pal_n == SIZE_MAX) {
if (pal_count == 256) return false;
pal_n = pal_count;
palette[pal_count++] = col;
diff --git a/engines/ags/shared/debugging/out.h b/engines/ags/shared/debugging/out.h
index 54479e9563b..86589fb51ab 100644
--- a/engines/ags/shared/debugging/out.h
+++ b/engines/ags/shared/debugging/out.h
@@ -112,8 +112,8 @@ enum MessageType {
// This enumeration is a list of common hard-coded groups, but more could
// be added via debugging configuration interface (see 'debug/debug.h').
-enum CommonDebugGroup {
- kDbgGroup_None = -1,
+enum CommonDebugGroup : uint32 {
+ kDbgGroup_None = SIZE_MAX,
// Main debug group is for reporting general engine status and issues
kDbgGroup_Main = 0,
// Game group is for logging game logic state and issues
diff --git a/engines/ags/shared/game/interactions.h b/engines/ags/shared/game/interactions.h
index 41650de94b9..9bbe8e867aa 100644
--- a/engines/ags/shared/game/interactions.h
+++ b/engines/ags/shared/game/interactions.h
@@ -62,7 +62,7 @@ namespace AGS3 {
namespace AGS {
namespace Shared {
-enum InterValType {
+enum InterValType : int8_t {
kInterValInvalid = 0,
kInterValLiteralInt = 1,
kInterValVariable = 2,
diff --git a/engines/ags/shared/game/room_file.cpp b/engines/ags/shared/game/room_file.cpp
index 1802cf0577d..299b68b67cb 100644
--- a/engines/ags/shared/game/room_file.cpp
+++ b/engines/ags/shared/game/room_file.cpp
@@ -611,7 +611,8 @@ HRoomFileError UpdateRoomData(RoomStruct *room, RoomFileVersion data_ver, bool g
// Older format room messages had flags appended to the message string
// TODO: find out which data versions had these; is it safe to assume this was before kRoomVersion_pre114_3?
for (size_t i = 0; i < room->MessageCount; ++i) {
- if (!room->Messages[i].IsEmpty() && room->Messages[i].GetLast() == (char)ROOM_MESSAGE_FLAG_DISPLAYNEXT) {
+ if (!room->Messages[i].IsEmpty() &&
+ static_cast<uint8_t>(room->Messages[i].GetLast()) == ROOM_MESSAGE_FLAG_DISPLAYNEXT) {
room->Messages[i].ClipRight(1);
room->MessageInfos[i].Flags |= MSG_DISPLAYNEXT;
}
diff --git a/engines/ags/shared/game/tra_file.cpp b/engines/ags/shared/game/tra_file.cpp
index f2786d34eff..7229b85dc1c 100644
--- a/engines/ags/shared/game/tra_file.cpp
+++ b/engines/ags/shared/game/tra_file.cpp
@@ -101,7 +101,7 @@ HError ReadTraBlock(Translation &tra, Stream *in, TraFileBlock block, const Stri
tra.SpeechFont = in->ReadInt32();
tra.RightToLeft = in->ReadInt32();
return HError::None();
- case kTraFblk_ExtStrID:
+ case kTraFblk_None:
// continue reading extensions with string ID
break;
default:
diff --git a/engines/ags/shared/game/tra_file.h b/engines/ags/shared/game/tra_file.h
index f37a4974707..145b55f34da 100644
--- a/engines/ags/shared/game/tra_file.h
+++ b/engines/ags/shared/game/tra_file.h
@@ -47,7 +47,7 @@ enum TraFileErrorType {
};
enum TraFileBlock {
- kTraFblk_ExtStrID = 0,
+ kTraFblk_None = 0,
kTraFblk_Dict = 1,
kTraFblk_GameID = 2,
kTraFblk_TextOpts = 3,
diff --git a/engines/ags/shared/gfx/bitmap.cpp b/engines/ags/shared/gfx/bitmap.cpp
index 59c4226cf0a..cde33b2c5a7 100644
--- a/engines/ags/shared/gfx/bitmap.cpp
+++ b/engines/ags/shared/gfx/bitmap.cpp
@@ -105,14 +105,14 @@ Bitmap *AdjustBitmapSize(Bitmap *src, int width, int height) {
template <class TPx, size_t BPP_>
struct PixelTransCpy {
static const size_t BPP = BPP_;
- inline void operator()(uint8_t *dst, const uint8_t *src, color_t mask_color, bool use_alpha) const {
+ inline void operator ()(uint8_t *dst, const uint8_t *src, uint32_t mask_color, bool use_alpha) const {
if (*(const TPx *)src == mask_color)
*(TPx *)dst = mask_color;
}
};
struct PixelNoSkip {
- inline bool operator()(uint8_t *data, color_t mask_color, bool use_alpha) const {
+ inline bool operator ()(uint8_t *data, uint32_t mask_color, bool use_alpha) const {
return false;
}
};
@@ -122,7 +122,7 @@ typedef PixelTransCpy<uint16_t, 2> PixelTransCpy16;
struct PixelTransCpy24 {
static const size_t BPP = 3;
- inline void operator()(uint8_t *dst, const uint8_t *src, color_t mask_color, bool use_alpha) const {
+ inline void operator ()(uint8_t *dst, const uint8_t *src, uint32_t mask_color, bool use_alpha) const {
const uint8_t *mcol_ptr = (const uint8_t *)&mask_color;
if (src[0] == mcol_ptr[0] && src[1] == mcol_ptr[1] && src[2] == mcol_ptr[2]) {
dst[0] = mcol_ptr[0];
@@ -134,8 +134,8 @@ struct PixelTransCpy24 {
struct PixelTransCpy32 {
static const size_t BPP = 4;
- inline void operator()(uint8_t *dst, const uint8_t *src, color_t mask_color, bool use_alpha) const {
- if (*(const uint32_t *)src == (uint32_t)mask_color)
+ inline void operator ()(uint8_t *dst, const uint8_t *src, uint32_t mask_color, bool use_alpha) const {
+ if (*(const uint32_t *)src == mask_color)
*(uint32_t *)dst = mask_color;
else if (use_alpha)
dst[3] = src[3]; // copy alpha channel
@@ -151,7 +151,8 @@ struct PixelTransSkip32 {
};
template <class FnPxProc, class FnSkip>
-void ApplyMask(uint8_t *dst, const uint8_t *src, size_t pitch, size_t height, FnPxProc proc, FnSkip skip, color_t mask_color, bool dst_has_alpha, bool mask_has_alpha) {
+void ApplyMask(uint8_t *dst, const uint8_t *src, size_t pitch, size_t height, FnPxProc proc,
+ FnSkip skip, uint32_t mask_color, bool dst_has_alpha, bool mask_has_alpha) {
for (size_t y = 0; y < height; ++y) {
for (size_t x = 0; x < pitch; x += FnPxProc::BPP, src += FnPxProc::BPP, dst += FnPxProc::BPP) {
if (!skip(dst, mask_color, dst_has_alpha))
diff --git a/engines/ags/shared/gui/gui_main.cpp b/engines/ags/shared/gui/gui_main.cpp
index 3a45fdd9c86..c05a9345c2c 100644
--- a/engines/ags/shared/gui/gui_main.cpp
+++ b/engines/ags/shared/gui/gui_main.cpp
@@ -712,8 +712,7 @@ GUILabelMacro FindLabelMacros(const String &text) {
// Test which macro it is (if any)
macro_at++;
const size_t macro_len = ptr - macro_at;
- if (macro_len == (size_t)-1 || macro_len > 20); // skip zero-length or too long substrings
- else if (ags_strnicmp(macro_at, "gamename", macro_len) == 0)
+ if (ags_strnicmp(macro_at, "gamename", macro_len) == 0)
macro_flags |= kLabelMacro_Gamename;
else if (ags_strnicmp(macro_at, "overhotspot", macro_len) == 0)
macro_flags |= kLabelMacro_Overhotspot;
diff --git a/engines/ags/shared/util/directory.cpp b/engines/ags/shared/util/directory.cpp
index 0d455885e45..2938eb2e0e4 100644
--- a/engines/ags/shared/util/directory.cpp
+++ b/engines/ags/shared/util/directory.cpp
@@ -193,7 +193,7 @@ bool FindFileRecursive::Next() {
}
bool FindFileRecursive::PushDir(const String &sub) {
- if (_maxLevel != -1 && (int)_fdirs.size() == _maxLevel)
+ if (_maxLevel != SIZE_MAX && (int)_fdirs.size() == _maxLevel)
return false; // no more nesting allowed
String path = Path::ConcatPaths(_fullDir, sub);
diff --git a/engines/ags/shared/util/directory.h b/engines/ags/shared/util/directory.h
index 68b23f4715c..d714a02ca9a 100644
--- a/engines/ags/shared/util/directory.h
+++ b/engines/ags/shared/util/directory.h
@@ -112,7 +112,7 @@ private:
Common::Stack<FindFile> _fdirs;
FindFile _fdir; // current find dir iterator
FindFile _ffile; // current find file iterator
- int _maxLevel = -1; // max nesting level, -1 for unrestricted
+ uint32_t _maxLevel = SIZE_MAX;
String _fullDir; // full directory path
String _curDir; // current dir path, relative to the base path
String _curFile; // current file path with parent dirs
diff --git a/engines/ags/shared/util/math.h b/engines/ags/shared/util/math.h
index dcb521e8e71..68ce2e5e492 100644
--- a/engines/ags/shared/util/math.h
+++ b/engines/ags/shared/util/math.h
@@ -80,7 +80,8 @@ inline T Surplus(const T &larger, const T &smaller) {
// returns same value converted if it's in range, or provided replacement if it's not.
template <typename T, typename TBig>
inline T InRangeOrDef(const TBig &val, const T &def) {
- return (val >= std::numeric_limits<T>::min() && val <= std::numeric_limits<T>::max()) ? val : def;
+ return (val >= std::numeric_limits<T>::min() && val <= std::numeric_limits<T>::max()) ?
+ static_cast<T>(val) : def;
}
inline float RadiansToDegrees(float rads) {
diff --git a/engines/ags/shared/util/memory_stream.cpp b/engines/ags/shared/util/memory_stream.cpp
index 59fa27720b4..62fc4c764e6 100644
--- a/engines/ags/shared/util/memory_stream.cpp
+++ b/engines/ags/shared/util/memory_stream.cpp
@@ -49,7 +49,9 @@ MemoryStream::MemoryStream(uint8_t *buf, size_t buf_sz, StreamWorkMode mode, Dat
void MemoryStream::Close() {
_cbuf = nullptr;
_buf = nullptr;
- _pos = -1;
+ _buf_sz = 0;
+ _len = 0;
+ _pos = 0;
}
bool MemoryStream::Flush() {
@@ -88,9 +90,9 @@ size_t MemoryStream::Read(void *buffer, size_t size) {
if (EOS()) {
return 0;
}
- soff_t remain = _len - _pos;
- assert(remain > 0);
- size_t read_sz = std::min((size_t)remain, size);
+ assert(_len > _pos);
+ size_t remain = _len - _pos;
+ size_t read_sz = std::min(remain, size);
memcpy(buffer, _cbuf + _pos, read_sz);
_pos += read_sz;
return read_sz;
@@ -100,28 +102,31 @@ int32_t MemoryStream::ReadByte() {
if (EOS()) {
return -1;
}
- return _cbuf[(size_t)(_pos++)];
+ return _cbuf[_pos++];
}
bool MemoryStream::Seek(soff_t offset, StreamSeek origin) {
if (!CanSeek()) {
return false;
}
+ soff_t pos = 0;
switch (origin) {
- case kSeekBegin: _pos = 0 + offset; break;
- case kSeekCurrent: _pos = _pos + offset; break;
- case kSeekEnd: _pos = _len + offset; break;
+ case kSeekBegin: pos = 0 + offset; break;
+ case kSeekCurrent: pos = _pos + offset; break;
+ case kSeekEnd: pos = _len + offset; break;
default:
return false;
}
- _pos = std::max<soff_t>(0, _pos);
- _pos = std::min<soff_t>(_len, _pos); // clamp to EOS
+ _pos = static_cast<size_t>(std::max<soff_t>(0, pos));
+ _pos = static_cast<size_t>(std::min<soff_t>(_len, pos)); // clamp to EOS
return true;
}
size_t MemoryStream::Write(const void *buffer, size_t size) {
- if (_pos >= (soff_t)_buf_sz) { return 0; }
- size = std::min(size, _buf_sz - (size_t)_pos);
+ if (_pos >= _buf_sz) {
+ return 0;
+ }
+ size = std::min(size, _buf_sz - _pos);
memcpy(_buf + _pos, buffer, size);
_pos += size;
_len += size;
diff --git a/engines/ags/shared/util/memory_stream.h b/engines/ags/shared/util/memory_stream.h
index d50526a38fb..5cba412d206 100644
--- a/engines/ags/shared/util/memory_stream.h
+++ b/engines/ags/shared/util/memory_stream.h
@@ -82,7 +82,7 @@ protected:
size_t _buf_sz; // hard buffer limit
size_t _len; // calculated length of stream
const StreamWorkMode _mode;
- soff_t _pos; // current stream pos
+ size_t _pos; // current stream pos
private:
uint8_t *_buf;
diff --git a/engines/ags/shared/util/string_compat.cpp b/engines/ags/shared/util/string_compat.cpp
index 3afb03f3231..55a466fd1cf 100644
--- a/engines/ags/shared/util/string_compat.cpp
+++ b/engines/ags/shared/util/string_compat.cpp
@@ -28,14 +28,14 @@ namespace AGS3 {
char *ags_strlwr(char *s) {
char *p = s;
for (; *p; p++)
- *p = tolower(*p);
+ *p = (char)tolower(*p);
return s;
}
char *ags_strupr(char *s) {
char *p = s;
for (; *p; p++)
- *p = toupper(*p);
+ *p = (char)toupper(*p);
return s;
}
diff --git a/engines/ags/shared/util/text_stream_reader.cpp b/engines/ags/shared/util/text_stream_reader.cpp
index eb5b2f20d7b..fb1dfc2c9a7 100644
--- a/engines/ags/shared/util/text_stream_reader.cpp
+++ b/engines/ags/shared/util/text_stream_reader.cpp
@@ -110,8 +110,8 @@ String TextStreamReader::ReadLine() {
}
String TextStreamReader::ReadAll() {
- soff_t len = _stream->GetLength() - _stream->GetPosition();
- return ReadString(len > SIZE_MAX ? SIZE_MAX : (size_t)len);
+ size_t len = Math::InRangeOrDef<size_t>(_stream->GetLength() - _stream->GetPosition(), SIZE_MAX);
+ return ReadString(len);
}
} // namespace Shared
Commit: 0be3602b44dd701a29db80c73bdbb6d881b1c009
https://github.com/scummvm/scummvm/commit/0be3602b44dd701a29db80c73bdbb6d881b1c009
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T18:47:12-07:00
Commit Message:
AGS: In ScriptAudioClip changed index fields from char to unsigned
>From upstream 012853058ecd3eb06abf51ad76f150d727dbad5e
Changed paths:
engines/ags/shared/ac/dynobj/script_audio_clip.cpp
engines/ags/shared/ac/dynobj/script_audio_clip.h
diff --git a/engines/ags/shared/ac/dynobj/script_audio_clip.cpp b/engines/ags/shared/ac/dynobj/script_audio_clip.cpp
index 4599b1155e9..1428dd0b05d 100644
--- a/engines/ags/shared/ac/dynobj/script_audio_clip.cpp
+++ b/engines/ags/shared/ac/dynobj/script_audio_clip.cpp
@@ -30,9 +30,9 @@ void ScriptAudioClip::ReadFromFile(Stream *in) {
id = in->ReadInt32();
scriptName.ReadCount(in, SCRIPTAUDIOCLIP_SCRIPTNAMELENGTH);
fileName.ReadCount(in, SCRIPTAUDIOCLIP_FILENAMELENGTH);
- bundlingType = in->ReadInt8();
- type = in->ReadInt8();
- fileType = in->ReadInt8();
+ bundlingType = static_cast<uint8_t>(in->ReadInt8());
+ type = static_cast<uint8_t>(in->ReadInt8());
+ fileType = static_cast<AudioFileType>(in->ReadInt8());
defaultRepeat = in->ReadInt8();
defaultPriority = in->ReadInt16();
defaultVolume = in->ReadInt16();
diff --git a/engines/ags/shared/ac/dynobj/script_audio_clip.h b/engines/ags/shared/ac/dynobj/script_audio_clip.h
index 58ef8cdd091..28777ef5b61 100644
--- a/engines/ags/shared/ac/dynobj/script_audio_clip.h
+++ b/engines/ags/shared/ac/dynobj/script_audio_clip.h
@@ -53,9 +53,9 @@ struct ScriptAudioClip {
int id = 0;
Shared::String scriptName;
Shared::String fileName;
- int8 bundlingType = AUCL_BUNDLE_EXE;
- int8 type = 0;
- int8 fileType = eAudioFileOGG;
+ uint8_t bundlingType = AUCL_BUNDLE_EXE;
+ uint8_t type = 0;
+ AudioFileType fileType = eAudioFileOGG;
int8 defaultRepeat = 0;
short defaultPriority = 50;
short defaultVolume = 100;
Commit: f2399dc15ca5fa84560356d78d210075983de712
https://github.com/scummvm/scummvm/commit/f2399dc15ca5fa84560356d78d210075983de712
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T19:17:26-07:00
Commit Message:
AGS: Fixing various "unused variable/arg" warnings
>From upstream 4b3c27c1a2b39d6c6b089adee111c6889d19ad0e
Changed paths:
engines/ags/shared/ac/game_setup_struct.cpp
engines/ags/shared/ac/game_setup_struct.h
engines/ags/shared/ac/sprite_file.cpp
engines/ags/shared/ac/sprite_file.h
engines/ags/shared/font/ttf_font_renderer.cpp
engines/ags/shared/font/ttf_font_renderer.h
engines/ags/shared/font/wfn_font_renderer.h
engines/ags/shared/game/main_game_file.cpp
engines/ags/shared/game/room_file.cpp
engines/ags/shared/game/tra_file.cpp
engines/ags/shared/gfx/allegro_bitmap.cpp
engines/ags/shared/gfx/allegro_bitmap.h
engines/ags/shared/gfx/bitmap.cpp
engines/ags/shared/gui/gui_object.h
engines/ags/shared/util/aligned_stream.cpp
engines/ags/shared/util/compress.cpp
engines/ags/shared/util/data_ext.h
engines/ags/shared/util/multi_file_lib.cpp
diff --git a/engines/ags/shared/ac/game_setup_struct.cpp b/engines/ags/shared/ac/game_setup_struct.cpp
index 615eccd2267..a34414c47f5 100644
--- a/engines/ags/shared/ac/game_setup_struct.cpp
+++ b/engines/ags/shared/ac/game_setup_struct.cpp
@@ -152,7 +152,7 @@ void GameSetupStruct::WriteInvInfo_Aligned(Stream *out) {
}
}
-HGameFileError GameSetupStruct::read_cursors(Shared::Stream *in, GameDataVersion data_ver) {
+HGameFileError GameSetupStruct::read_cursors(Shared::Stream *in) {
ReadMouseCursors_Aligned(in);
return HGameFileError::None();
}
@@ -208,8 +208,8 @@ void GameSetupStruct::WriteMouseCursors_Aligned(Stream *out) {
//-----------------------------------------------------------------------------
// Reading Part 2
-void GameSetupStruct::read_characters(Shared::Stream *in, GameDataVersion data_ver) {
- chars = new CharacterInfo[numcharacters + 5]; // TODO: why +5, is this really needed?
+void GameSetupStruct::read_characters(Shared::Stream *in) {
+ chars = new CharacterInfo[numcharacters];
ReadCharacters_Aligned(in);
}
diff --git a/engines/ags/shared/ac/game_setup_struct.h b/engines/ags/shared/ac/game_setup_struct.h
index 3d48ec212d3..e28b95dbefb 100644
--- a/engines/ags/shared/ac/game_setup_struct.h
+++ b/engines/ags/shared/ac/game_setup_struct.h
@@ -132,7 +132,7 @@ struct GameSetupStruct : public GameSetupStructBase {
// Part 1
void read_savegame_info(Shared::Stream *in, GameDataVersion data_ver);
void read_font_infos(Shared::Stream *in, GameDataVersion data_ver);
- HGameFileError read_cursors(Shared::Stream *in, GameDataVersion data_ver);
+ HGameFileError read_cursors(Shared::Stream *in);
void read_interaction_scripts(Shared::Stream *in, GameDataVersion data_ver);
void read_words_dictionary(Shared::Stream *in);
@@ -142,7 +142,7 @@ struct GameSetupStruct : public GameSetupStructBase {
void WriteMouseCursors_Aligned(Shared::Stream *out);
//------------------------------
// Part 2
- void read_characters(Shared::Stream *in, GameDataVersion data_ver);
+ void read_characters(Shared::Stream *in);
void read_lipsync(Shared::Stream *in, GameDataVersion data_ver);
void read_messages(Shared::Stream *in, GameDataVersion data_ver);
diff --git a/engines/ags/shared/ac/sprite_file.cpp b/engines/ags/shared/ac/sprite_file.cpp
index 2520a905d3c..4f74aa70bdd 100644
--- a/engines/ags/shared/ac/sprite_file.cpp
+++ b/engines/ags/shared/ac/sprite_file.cpp
@@ -216,7 +216,7 @@ HError SpriteFile::OpenFile(const String &filename, const String &sprindex_filen
}
// Failed, index file is invalid; index sprites manually
- return RebuildSpriteIndex(_stream.get(), topmost, _version, metrics);
+ return RebuildSpriteIndex(_stream.get(), topmost, metrics);
}
void SpriteFile::Close() {
@@ -326,7 +326,7 @@ static inline void ReadSprHeader(SpriteDatHeader &hdr, Stream *in,
}
HError SpriteFile::RebuildSpriteIndex(Stream *in, sprkey_t topmost,
- SpriteFileVersion vers, std::vector<Size> &metrics) {
+ std::vector<Size> &metrics) {
topmost = std::min(topmost, (sprkey_t)_spriteData.size() - 1);
for (sprkey_t i = 0; !in->EOS() && (i <= topmost); ++i) {
_spriteData[i].Offset = in->GetPosition();
diff --git a/engines/ags/shared/ac/sprite_file.h b/engines/ags/shared/ac/sprite_file.h
index 749ad873465..3f036aad94e 100644
--- a/engines/ags/shared/ac/sprite_file.h
+++ b/engines/ags/shared/ac/sprite_file.h
@@ -146,7 +146,7 @@ public:
bool LoadSpriteIndexFile(const String &filename, int expectedFileID,
soff_t spr_initial_offs, sprkey_t topmost, std::vector<Size> &metrics);
// Rebuilds sprite index from the main sprite file
- HError RebuildSpriteIndex(Stream *in, sprkey_t topmost, SpriteFileVersion vers,
+ HError RebuildSpriteIndex(Stream *in, sprkey_t topmost,
std::vector<Size> &metrics);
// Loads an image data and creates a ready bitmap
diff --git a/engines/ags/shared/font/ttf_font_renderer.cpp b/engines/ags/shared/font/ttf_font_renderer.cpp
index dd5373a4973..4cdb29cb00e 100644
--- a/engines/ags/shared/font/ttf_font_renderer.cpp
+++ b/engines/ags/shared/font/ttf_font_renderer.cpp
@@ -38,7 +38,7 @@ extern bool ShouldAntiAliasText();
// ***** TTF RENDERER *****
-void TTFFontRenderer::AdjustYCoordinateForFont(int *ycoord, int fontNumber) {
+void TTFFontRenderer::AdjustYCoordinateForFont(int *ycoord, int /*fontNumber*/) {
// TTF fonts already have space at the top, so try to remove the gap
// TODO: adding -1 was here before (check the comment above),
// but how universal is this "space at the top"?
@@ -47,7 +47,7 @@ void TTFFontRenderer::AdjustYCoordinateForFont(int *ycoord, int fontNumber) {
ycoord[0]--;
}
-void TTFFontRenderer::EnsureTextValidForFont(char *text, int fontNumber) {
+void TTFFontRenderer::EnsureTextValidForFont(char */*text*/, int /*fontNumber*/) {
// do nothing, TTF can handle all characters
}
@@ -55,7 +55,7 @@ int TTFFontRenderer::GetTextWidth(const char *text, int fontNumber) {
return alfont_text_length(_fontData[fontNumber].AlFont, text);
}
-int TTFFontRenderer::GetTextHeight(const char *text, int fontNumber) {
+int TTFFontRenderer::GetTextHeight(const char */*text*/, int fontNumber) {
return alfont_get_font_real_height(_fontData[fontNumber].AlFont);
}
@@ -134,7 +134,7 @@ const char *TTFFontRenderer::GetName(int fontNumber) {
return alfont_get_name(_fontData[fontNumber].AlFont);
}
-void TTFFontRenderer::AdjustFontForAntiAlias(int fontNumber, bool aa_mode) {
+void TTFFontRenderer::AdjustFontForAntiAlias(int fontNumber, bool /*aa_mode*/) {
if (_G(loaded_game_file_version) < kGameVersion_341) {
ALFONT_FONT *alfptr = _fontData[fontNumber].AlFont;
const FontRenderParams ¶ms = _fontData[fontNumber].Params;
diff --git a/engines/ags/shared/font/ttf_font_renderer.h b/engines/ags/shared/font/ttf_font_renderer.h
index 592effeff80..6e76189a91f 100644
--- a/engines/ags/shared/font/ttf_font_renderer.h
+++ b/engines/ags/shared/font/ttf_font_renderer.h
@@ -37,7 +37,7 @@ public:
// IAGSFontRenderer implementation
bool LoadFromDisk(int fontNumber, int fontSize) override;
void FreeMemory(int fontNumber) override;
- bool SupportsExtendedCharacters(int fontNumber) override {
+ bool SupportsExtendedCharacters(int /*fontNumber*/) override {
return true;
}
int GetTextWidth(const char *text, int fontNumber) override;
diff --git a/engines/ags/shared/font/wfn_font_renderer.h b/engines/ags/shared/font/wfn_font_renderer.h
index de01ce2ead1..aabbf302a28 100644
--- a/engines/ags/shared/font/wfn_font_renderer.h
+++ b/engines/ags/shared/font/wfn_font_renderer.h
@@ -47,8 +47,8 @@ public:
bool IsBitmapFont() override;
bool LoadFromDiskEx(int fontNumber, int fontSize,
const FontRenderParams *params, FontMetrics *metrics) override;
- const char *GetName(int fontNumber) override { return ""; }
- void AdjustFontForAntiAlias(int fontNumber, bool aa_mode) override { /* do nothing */ }
+ const char *GetName(int /*fontNumber*/) override { return ""; }
+ void AdjustFontForAntiAlias(int /*fontNumber*/, bool /*aa_mode*/) override { /* do nothing */ }
private:
struct FontData {
diff --git a/engines/ags/shared/game/main_game_file.cpp b/engines/ags/shared/game/main_game_file.cpp
index 3fe02db78f9..9604a2c5363 100644
--- a/engines/ags/shared/game/main_game_file.cpp
+++ b/engines/ags/shared/game/main_game_file.cpp
@@ -712,9 +712,10 @@ protected:
GameDataVersion _dataVer;
};
-HError GameDataExtReader::ReadBlock(int block_id, const String &ext_id,
- soff_t block_len, bool &read_next) {
- // Add extensions here checking ext_id, which is an up to 16-chars name, for example:
+HError GameDataExtReader::ReadBlock(int /*block_id*/, const String &ext_id,
+ soff_t /*block_len*/, bool &read_next) {
+ read_next = true;
+ // Add extensions here checking ext_id, which is an up to 16-chars name, for example:
// if (ext_id.CompareNoCase("GUI_NEWPROPS") == 0)
// {
// // read new gui properties
@@ -768,7 +769,7 @@ HGameFileError ReadGameData(LoadedGameEntities &ents, Stream *in, GameDataVersio
if (!err)
return err;
game.ReadInvInfo_Aligned(in);
- err = game.read_cursors(in, data_ver);
+ err = game.read_cursors(in);
if (!err)
return err;
game.read_interaction_scripts(in, data_ver);
@@ -794,7 +795,7 @@ HGameFileError ReadGameData(LoadedGameEntities &ents, Stream *in, GameDataVersio
in->Seek(count * 0x204);
}
- game.read_characters(in, data_ver);
+ game.read_characters(in);
game.read_lipsync(in, data_ver);
game.read_messages(in, data_ver);
diff --git a/engines/ags/shared/game/room_file.cpp b/engines/ags/shared/game/room_file.cpp
index 299b68b67cb..5569bd0dfd5 100644
--- a/engines/ags/shared/game/room_file.cpp
+++ b/engines/ags/shared/game/room_file.cpp
@@ -318,7 +318,7 @@ HError ReadMainBlock(RoomStruct *room, Stream *in, RoomFileVersion data_ver) {
}
// Room script sources (original text)
-HError ReadScriptBlock(char *&buf, Stream *in, RoomFileVersion data_ver) {
+HError ReadScriptBlock(char *&buf, Stream *in, RoomFileVersion /*data_ver*/) {
size_t len = in->ReadInt32();
buf = new char[len + 1];
in->Read(buf, len);
@@ -329,7 +329,7 @@ HError ReadScriptBlock(char *&buf, Stream *in, RoomFileVersion data_ver) {
}
// Compiled room script
-HError ReadCompSc3Block(RoomStruct *room, Stream *in, RoomFileVersion data_ver) {
+HError ReadCompSc3Block(RoomStruct *room, Stream *in, RoomFileVersion /*data_ver*/) {
room->CompiledScript.reset(ccScript::CreateFromStream(in));
if (room->CompiledScript == nullptr)
return new RoomFileError(kRoomFileErr_ScriptLoadFailed, _G(ccErrorString));
@@ -389,7 +389,7 @@ HError ReadAnimBgBlock(RoomStruct *room, Stream *in, RoomFileVersion data_ver) {
}
// Read custom properties
-HError ReadPropertiesBlock(RoomStruct *room, Stream *in, RoomFileVersion data_ver) {
+HError ReadPropertiesBlock(RoomStruct *room, Stream *in, RoomFileVersion /*data_ver*/) {
int prop_ver = in->ReadInt32();
if (prop_ver != 1)
return new RoomFileError(kRoomFileErr_PropertiesBlockFormat, String::FromFormat("Expected version %d, got %d", 1, prop_ver));
@@ -476,7 +476,8 @@ private:
}
HError ReadBlock(int block_id, const String &ext_id,
- soff_t block_len, bool &read_next) override {
+ soff_t block_len, bool &read_next) override {
+ read_next = true;
return ReadRoomBlock(_room, _in, (RoomFileBlock)block_id, ext_id, block_len, _dataVer);
}
diff --git a/engines/ags/shared/game/tra_file.cpp b/engines/ags/shared/game/tra_file.cpp
index 7229b85dc1c..bc588d0dae2 100644
--- a/engines/ags/shared/game/tra_file.cpp
+++ b/engines/ags/shared/game/tra_file.cpp
@@ -72,7 +72,7 @@ HError OpenTraFile(Stream *in) {
return HError::None();
}
-HError ReadTraBlock(Translation &tra, Stream *in, TraFileBlock block, const String &ext_id, soff_t block_len) {
+HError ReadTraBlock(Translation &tra, Stream *in, TraFileBlock block, const String &ext_id, soff_t /*block_len*/) {
switch (block) {
case kTraFblk_Dict:
{
@@ -146,7 +146,8 @@ private:
}
HError ReadBlock(int block_id, const String &ext_id,
- soff_t block_len, bool &read_next) override {
+ soff_t block_len, bool &read_next) override {
+ read_next = true;
return ReadTraBlock(_tra, _in, (TraFileBlock)block_id, ext_id, block_len);
}
diff --git a/engines/ags/shared/gfx/allegro_bitmap.cpp b/engines/ags/shared/gfx/allegro_bitmap.cpp
index 7dae6eaad4a..f8119bd7665 100644
--- a/engines/ags/shared/gfx/allegro_bitmap.cpp
+++ b/engines/ags/shared/gfx/allegro_bitmap.cpp
@@ -168,10 +168,6 @@ bool Bitmap::SaveToFile(const char *filename, const void *palette) {
return result;
}
-void Bitmap::SetMaskColor(color_t color) {
- // not supported? CHECKME
-}
-
color_t Bitmap::GetCompatibleColor(color_t color) {
color_t compat_color = 0;
__my_setcolor(&compat_color, color, bitmap_color_depth(_alBitmap));
diff --git a/engines/ags/shared/gfx/allegro_bitmap.h b/engines/ags/shared/gfx/allegro_bitmap.h
index bc39b54049b..829143ab904 100644
--- a/engines/ags/shared/gfx/allegro_bitmap.h
+++ b/engines/ags/shared/gfx/allegro_bitmap.h
@@ -155,7 +155,7 @@ public:
return (index >= 0 && index < GetHeight()) ? (unsigned char *)_alBitmap->getBasePtr(0, index) : nullptr;
}
- void SetMaskColor(color_t color);
+ // Get bitmap's mask color (transparent color)
inline color_t GetMaskColor() const {
return bitmap_mask_color(_alBitmap);
}
diff --git a/engines/ags/shared/gfx/bitmap.cpp b/engines/ags/shared/gfx/bitmap.cpp
index cde33b2c5a7..b9daa1fd732 100644
--- a/engines/ags/shared/gfx/bitmap.cpp
+++ b/engines/ags/shared/gfx/bitmap.cpp
@@ -102,17 +102,19 @@ Bitmap *AdjustBitmapSize(Bitmap *src, int width, int height) {
return bmp;
}
+// Functor that copies the "mask color" pixels from source to dest
template <class TPx, size_t BPP_>
struct PixelTransCpy {
static const size_t BPP = BPP_;
- inline void operator ()(uint8_t *dst, const uint8_t *src, uint32_t mask_color, bool use_alpha) const {
+ inline void operator ()(uint8_t *dst, const uint8_t *src, uint32_t mask_color, bool /*use_alpha*/) const {
if (*(const TPx *)src == mask_color)
*(TPx *)dst = mask_color;
}
};
+// Functor that tells to never skip a pixel in the mask
struct PixelNoSkip {
- inline bool operator ()(uint8_t *data, uint32_t mask_color, bool use_alpha) const {
+ inline bool operator ()(uint8_t * /*data*/, uint32_t /*mask_color*/, bool /*use_alpha*/) const {
return false;
}
};
@@ -120,9 +122,10 @@ struct PixelNoSkip {
typedef PixelTransCpy<uint8_t, 1> PixelTransCpy8;
typedef PixelTransCpy<uint16_t, 2> PixelTransCpy16;
+// Functor that copies the "mask color" pixels from source to dest, 24-bit depth
struct PixelTransCpy24 {
static const size_t BPP = 3;
- inline void operator ()(uint8_t *dst, const uint8_t *src, uint32_t mask_color, bool use_alpha) const {
+ inline void operator ()(uint8_t *dst, const uint8_t *src, uint32_t mask_color, bool /*use_alpha*/) const {
const uint8_t *mcol_ptr = (const uint8_t *)&mask_color;
if (src[0] == mcol_ptr[0] && src[1] == mcol_ptr[1] && src[2] == mcol_ptr[2]) {
dst[0] = mcol_ptr[0];
@@ -132,6 +135,7 @@ struct PixelTransCpy24 {
}
};
+// Functor that copies the "mask color" pixels from source to dest, 32-bit depth, with alpha
struct PixelTransCpy32 {
static const size_t BPP = 4;
inline void operator ()(uint8_t *dst, const uint8_t *src, uint32_t mask_color, bool use_alpha) const {
@@ -144,15 +148,19 @@ struct PixelTransCpy32 {
}
};
+// Functor that tells to skip pixels if they match the mask color or have alpha = 0
struct PixelTransSkip32 {
- inline bool operator()(uint8_t *data, color_t mask_color, bool use_alpha) const {
- return *(color_t *)data == (color_t)mask_color || (use_alpha && data[3] == 0);
+ inline bool operator ()(uint8_t *data, uint32_t mask_color, bool use_alpha) const {
+ return *(uint32_t *)data == mask_color || (use_alpha && data[3] == 0);
}
};
+// Applies bitmap mask, using 2 functors:
+// - one that tells whether to skip current pixel;
+// - another that copies the color from src to dest
template <class FnPxProc, class FnSkip>
-void ApplyMask(uint8_t *dst, const uint8_t *src, size_t pitch, size_t height, FnPxProc proc,
- FnSkip skip, uint32_t mask_color, bool dst_has_alpha, bool mask_has_alpha) {
+void ApplyMask(uint8_t *dst, const uint8_t *src, size_t pitch, size_t height,
+ FnPxProc proc, FnSkip skip, uint32_t mask_color, bool dst_has_alpha, bool mask_has_alpha) {
for (size_t y = 0; y < height; ++y) {
for (size_t x = 0; x < pitch; x += FnPxProc::BPP, src += FnPxProc::BPP, dst += FnPxProc::BPP) {
if (!skip(dst, mask_color, dst_has_alpha))
diff --git a/engines/ags/shared/gui/gui_object.h b/engines/ags/shared/gui/gui_object.h
index 5031bba5c6b..e68378c7eaf 100644
--- a/engines/ags/shared/gui/gui_object.h
+++ b/engines/ags/shared/gui/gui_object.h
@@ -64,7 +64,7 @@ public:
virtual bool IsContentClipped() const { return true; }
// Operations
- virtual void Draw(Bitmap *ds) {
+ virtual void Draw(Bitmap *) {
}
void SetClickable(bool on);
void SetEnabled(bool on);
@@ -73,7 +73,7 @@ public:
// Events
// Key pressed for control
- virtual void OnKeyPress(const KeyInput &ki) {}
+ virtual void OnKeyPress(const KeyInput &) {}
// Mouse button down - return 'True' to lock focus
virtual bool OnMouseDown() {
return false;
@@ -85,7 +85,7 @@ public:
virtual void OnMouseLeave() {
}
// Mouse moves over control - x,y relative to gui
- virtual void OnMouseMove(int x, int y) {
+ virtual void OnMouseMove(int /*x*/, int /*y*/) {
}
// Mouse button up
virtual void OnMouseUp() {
diff --git a/engines/ags/shared/util/aligned_stream.cpp b/engines/ags/shared/util/aligned_stream.cpp
index a868cbbf329..2fb7ef25494 100644
--- a/engines/ags/shared/util/aligned_stream.cpp
+++ b/engines/ags/shared/util/aligned_stream.cpp
@@ -187,7 +187,7 @@ size_t AlignedStream::WriteArrayOfInt64(const int64_t *buffer, size_t count) {
return count;
}
-bool AlignedStream::Seek(soff_t offset, StreamSeek origin) {
+bool AlignedStream::Seek(soff_t /*offset*/, StreamSeek /*origin*/) {
// TODO: split out Seekable Stream interface
return false;
}
diff --git a/engines/ags/shared/util/compress.cpp b/engines/ags/shared/util/compress.cpp
index 13f3394c343..0c4867dc273 100644
--- a/engines/ags/shared/util/compress.cpp
+++ b/engines/ags/shared/util/compress.cpp
@@ -315,7 +315,7 @@ Shared::Bitmap *load_rle_bitmap8(Stream *in, RGB(*pal)[256]) {
return bmp;
}
-void skip_rle_bitmap8(Shared::Stream *in) {
+void skip_rle_bitmap8(Stream *in) {
int w = in->ReadInt16();
int h = in->ReadInt16();
// Skip 8-bit pixel data + RGB palette
@@ -326,7 +326,7 @@ void skip_rle_bitmap8(Shared::Stream *in) {
// LZW
//-----------------------------------------------------------------------------
-void lzw_compress(const uint8_t *data, size_t data_sz, int image_bpp, Shared::Stream *out) {
+void lzw_compress(const uint8_t *data, size_t data_sz, int /*image_bpp*/, Shared::Stream *out) {
// LZW algorithm that we use fails on sequence less than 16 bytes.
if (data_sz < 16) {
out->Write(data, data_sz);
@@ -336,7 +336,7 @@ void lzw_compress(const uint8_t *data, size_t data_sz, int image_bpp, Shared::St
lzwcompress(&mem_in, out);
}
-void lzw_decompress(uint8_t *data, size_t data_sz, int image_bpp, Shared::Stream *in) {
+void lzw_decompress(uint8_t *data, size_t data_sz, int /*image_bpp*/, Shared::Stream *in) {
// LZW algorithm that we use fails on sequence less than 16 bytes.
if (data_sz < 16) {
in->Read(data, data_sz);
diff --git a/engines/ags/shared/util/data_ext.h b/engines/ags/shared/util/data_ext.h
index 34554efaaa7..060c53930bc 100644
--- a/engines/ags/shared/util/data_ext.h
+++ b/engines/ags/shared/util/data_ext.h
@@ -100,7 +100,7 @@ public:
// Provides a leeway for over-reading (reading past the reported block length):
// the parser will not error if the mistake is in this range of bytes
- virtual soff_t GetOverLeeway(int block_id) const {
+ virtual soff_t GetOverLeeway(int /*block_id*/) const {
return 0;
}
diff --git a/engines/ags/shared/util/multi_file_lib.cpp b/engines/ags/shared/util/multi_file_lib.cpp
index 563ebbd4c12..b4bc0f977f4 100644
--- a/engines/ags/shared/util/multi_file_lib.cpp
+++ b/engines/ags/shared/util/multi_file_lib.cpp
@@ -43,14 +43,14 @@ static const int EncryptionRandSeed = 9338638;
static const char *EncryptionString = "My\x1\xde\x4Jibzle";
MFLError ReadSigsAndVersion(Stream *in, MFLVersion *p_lib_version, soff_t *p_abs_offset);
-MFLError ReadSingleFileLib(AssetLibInfo &lib, Stream *in, MFLVersion lib_version);
+MFLError ReadSingleFileLib(AssetLibInfo &lib, Stream *in);
MFLError ReadMultiFileLib(AssetLibInfo &lib, Stream *in, MFLVersion lib_version);
MFLError ReadV10(AssetLibInfo &lib, Stream *in, MFLVersion lib_version);
MFLError ReadV20(AssetLibInfo &lib, Stream *in);
MFLError ReadV21(AssetLibInfo &lib, Stream *in);
MFLError ReadV30(AssetLibInfo &lib, Stream *in, MFLVersion lib_version);
-void WriteV30(const AssetLibInfo &lib, MFLVersion lib_version, Stream *out);
+void WriteV30(const AssetLibInfo &lib, Stream *out);
// Encryption / decryption
int GetNextPseudoRand(int &rand_val);
@@ -87,7 +87,7 @@ MFLUtil::MFLError MFLUtil::ReadHeader(AssetLibInfo &lib, Stream *in) {
err = ReadMultiFileLib(lib, in, lib_version);
} else {
// read older clib versions (versions 1 to 9)
- err = ReadSingleFileLib(lib, in, lib_version);
+ err = ReadSingleFileLib(lib, in);
}
// apply absolute offset for the assets contained in base data file
@@ -160,7 +160,7 @@ MFLUtil::MFLError MFLUtil::ReadSigsAndVersion(Stream *in, MFLVersion *p_lib_vers
return kMFLNoError;
}
-MFLUtil::MFLError MFLUtil::ReadSingleFileLib(AssetLibInfo &lib, Stream *in, MFLVersion lib_version) {
+MFLUtil::MFLError MFLUtil::ReadSingleFileLib(AssetLibInfo &lib, Stream *in) {
char passwmodifier = in->ReadInt8();
in->ReadInt8(); // unused byte
lib.LibFileNames.resize(1); // only one library part
@@ -335,11 +335,11 @@ void MFLUtil::WriteHeader(const AssetLibInfo &lib, MFLVersion lib_version, int l
// First datafile in chain: write the table of contents
if (lib_index == 0) {
- WriteV30(lib, lib_version, out);
+ WriteV30(lib, out);
}
}
-void MFLUtil::WriteV30(const AssetLibInfo &lib, MFLVersion lib_version, Stream *out) {
+void MFLUtil::WriteV30(const AssetLibInfo &lib, Stream *out) {
out->WriteInt32(0); // reserved options
// filenames for all library parts
out->WriteInt32(lib.LibFileNames.size());
Commit: 7b13f47d046e8cc0c84da713b8972a3a40c4491b
https://github.com/scummvm/scummvm/commit/7b13f47d046e8cc0c84da713b8972a3a40c4491b
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T19:37:00-07:00
Commit Message:
AGS: Fixing unimplemented cases in switches
>From upstream 55345ca2b19598aeac2362d726fcaf15adf698fd
Changed paths:
engines/ags/shared/ac/game_setup_struct_base.cpp
engines/ags/shared/ac/sprite_file.cpp
engines/ags/shared/game/room_file_base.cpp
engines/ags/shared/game/room_struct.cpp
engines/ags/shared/game/tra_file.cpp
engines/ags/shared/util/data_ext.cpp
diff --git a/engines/ags/shared/ac/game_setup_struct_base.cpp b/engines/ags/shared/ac/game_setup_struct_base.cpp
index 98d99b54509..b9c1569723c 100644
--- a/engines/ags/shared/ac/game_setup_struct_base.cpp
+++ b/engines/ags/shared/ac/game_setup_struct_base.cpp
@@ -249,9 +249,8 @@ Size ResolutionTypeToSize(GameResolutionType resolution, bool letterbox) {
case kGameResolution_1280x720:
return Size(1280, 720);
default:
- break;
+ return Size();
}
- return Size();
}
const char *GetScriptAPIName(ScriptAPIVersion v) {
@@ -266,9 +265,8 @@ const char *GetScriptAPIName(ScriptAPIVersion v) {
case kScriptAPI_v3507: return "v3.5.0-final";
case kScriptAPI_v351: return "v3.5.1";
case kScriptAPI_v360: return "v3.6.0";
- case kScriptAPI_Undefined: return "undefined";
- }
- return "unknown";
+ default: return "unknown";
+ }
}
} // namespace AGS3
diff --git a/engines/ags/shared/ac/sprite_file.cpp b/engines/ags/shared/ac/sprite_file.cpp
index 4f74aa70bdd..3aaf8ea607a 100644
--- a/engines/ags/shared/ac/sprite_file.cpp
+++ b/engines/ags/shared/ac/sprite_file.cpp
@@ -127,8 +127,8 @@ static inline SpriteFormat PaletteFormatForBPP(int bpp) {
case 1: return kSprFmt_PaletteRgb888;
case 2: return kSprFmt_PaletteRgb565;
case 4: return kSprFmt_PaletteArgb8888;
- }
- return kSprFmt_Undefined;
+ default: return kSprFmt_Undefined;
+ }
}
static inline uint8_t GetPaletteBPP(SpriteFormat fmt) {
@@ -136,12 +136,10 @@ static inline uint8_t GetPaletteBPP(SpriteFormat fmt) {
case kSprFmt_PaletteRgb888: return 3;
case kSprFmt_PaletteArgb8888: return 4;
case kSprFmt_PaletteRgb565: return 2;
- case kSprFmt_Undefined: return 0;
- }
- return 0; // means no palette
+ default: return 0; // means no palette
+ }
}
-
SpriteFile::SpriteFile() {
_curPos = -2;
}
diff --git a/engines/ags/shared/game/room_file_base.cpp b/engines/ags/shared/game/room_file_base.cpp
index 610f2181f9c..bc05f264929 100644
--- a/engines/ags/shared/game/room_file_base.cpp
+++ b/engines/ags/shared/game/room_file_base.cpp
@@ -62,9 +62,8 @@ String GetRoomFileErrorText(RoomFileErrorType err) {
case kRoomFileErr_BlockNotFound:
return "Required block was not found.";
default:
- break;
+ return "Unknown error.";
}
- return "Unknown error.";
}
HRoomFileError OpenRoomFile(const String &filename, RoomDataSource &src) {
@@ -100,10 +99,8 @@ String GetRoomBlockName(RoomFileBlock id) {
case kRoomFblk_Properties: return "Properties";
case kRoomFblk_ObjectScNames: return "ObjScNames";
case kRoomFile_EOF: return "EOF";
- default:
- break;
- }
- return "unknown";
+ default: return "unknown";
+ }
}
diff --git a/engines/ags/shared/game/room_struct.cpp b/engines/ags/shared/game/room_struct.cpp
index 377fc669477..a2f76d3f8c5 100644
--- a/engines/ags/shared/game/room_struct.cpp
+++ b/engines/ags/shared/game/room_struct.cpp
@@ -188,25 +188,24 @@ void RoomStruct::SetResolution(RoomResolutionType type) {
Bitmap *RoomStruct::GetMask(RoomAreaMask mask) const {
switch (mask) {
- case kRoomAreaNone: break;
case kRoomAreaHotspot: return HotspotMask.get();
case kRoomAreaWalkBehind: return WalkBehindMask.get();
case kRoomAreaWalkable: return WalkAreaMask.get();
case kRoomAreaRegion: return RegionMask.get();
+ default: return nullptr;
}
- return nullptr;
}
float RoomStruct::GetMaskScale(RoomAreaMask mask) const {
switch (mask) {
- case kRoomAreaNone: break;
case kRoomAreaWalkBehind: return 1.f; // walk-behinds always 1:1 with room size
case kRoomAreaHotspot:
case kRoomAreaWalkable:
case kRoomAreaRegion:
return 1.f / MaskResolution;
+ default:
+ return 0.f;
}
- return 0.f;
}
bool RoomStruct::HasRegionLightLevel(int id) const {
diff --git a/engines/ags/shared/game/tra_file.cpp b/engines/ags/shared/game/tra_file.cpp
index bc588d0dae2..aac43647dbd 100644
--- a/engines/ags/shared/game/tra_file.cpp
+++ b/engines/ags/shared/game/tra_file.cpp
@@ -49,8 +49,9 @@ String GetTraFileErrorText(TraFileErrorType err) {
return "Unknown block type.";
case kTraFileErr_BlockDataOverlapping:
return "Block data overlapping.";
+ default:
+ return "Unknown error.";
}
- return "Unknown error.";
}
String GetTraBlockName(TraFileBlock id) {
@@ -58,9 +59,8 @@ String GetTraBlockName(TraFileBlock id) {
case kTraFblk_Dict: return "Dictionary";
case kTraFblk_GameID: return "GameID";
case kTraFblk_TextOpts: return "TextOpts";
- default: break;
+ default: return "unknown";
}
- return "unknown";
}
HError OpenTraFile(Stream *in) {
diff --git a/engines/ags/shared/util/data_ext.cpp b/engines/ags/shared/util/data_ext.cpp
index 261aedec70a..4e56b2898f0 100644
--- a/engines/ags/shared/util/data_ext.cpp
+++ b/engines/ags/shared/util/data_ext.cpp
@@ -37,8 +37,8 @@ String GetDataExtErrorText(DataExtErrorType err) {
return "Block data overlapping.";
case kDataExtErr_BlockNotFound:
return "Block not found.";
+ default: return "Unknown error.";
}
- return "Unknown error.";
}
HError DataExtParser::OpenBlock() {
Commit: 5b291a5ef02dacbd31e0cd93b63807d3521b2c87
https://github.com/scummvm/scummvm/commit/5b291a5ef02dacbd31e0cd93b63807d3521b2c87
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T19:47:02-07:00
Commit Message:
AGS: Typecast warning fixes in data serialization
>From upstream f781cb76a806f9ffcd9d29c51441eaab0136e598
Changed paths:
engines/ags/engine/game/savegame_internal.h
engines/ags/engine/game/savegame_v321.cpp
diff --git a/engines/ags/engine/game/savegame_internal.h b/engines/ags/engine/game/savegame_internal.h
index c17714cc362..56e76ae973e 100644
--- a/engines/ags/engine/game/savegame_internal.h
+++ b/engines/ags/engine/game/savegame_internal.h
@@ -46,8 +46,8 @@ struct PreservedParams {
bool SpeechVOX;
bool MusicVOX;
// Script global data sizes
- int GlScDataSize;
- std::vector<int> ScMdDataSize;
+ size_t GlScDataSize;
+ std::vector<size_t> ScMdDataSize;
PreservedParams();
};
diff --git a/engines/ags/engine/game/savegame_v321.cpp b/engines/ags/engine/game/savegame_v321.cpp
index 672d2697f38..da16c0def1d 100644
--- a/engines/ags/engine/game/savegame_v321.cpp
+++ b/engines/ags/engine/game/savegame_v321.cpp
@@ -61,7 +61,7 @@ namespace AGS3 {
using namespace AGS::Shared;
using namespace AGS::Engine;
-static const int32_t MAGICNUMBER = 0xbeefcafe;
+static const uint32_t MAGICNUMBER = 0xbeefcafe;
static HSaveError restore_game_head_dynamic_values(Stream *in, RestoredData &r_data) {
r_data.FPS = in->ReadInt32();
@@ -88,7 +88,7 @@ static void restore_game_spriteset(Stream *in) {
static HSaveError restore_game_scripts(Stream *in, const PreservedParams &pp, RestoredData &r_data) {
// read the global script data segment
- int gdatasize = in->ReadInt32();
+ size_t gdatasize = (uint32_t)in->ReadInt32();
if (pp.GlScDataSize != gdatasize) {
return new SavegameError(kSvgErr_GameContentAssertion, "Mismatching size of global script data.");
}
@@ -96,12 +96,12 @@ static HSaveError restore_game_scripts(Stream *in, const PreservedParams &pp, Re
r_data.GlobalScript.Data.reset(new char[gdatasize]);
in->Read(r_data.GlobalScript.Data.get(), gdatasize);
- if (in->ReadInt32() != (int32_t)_G(numScriptModules)) {
+ if ((uint32_t)in->ReadInt32() != _G(numScriptModules)) {
return new SavegameError(kSvgErr_GameContentAssertion, "Mismatching number of script modules.");
}
r_data.ScriptModules.resize(_G(numScriptModules));
for (size_t i = 0; i < _G(numScriptModules); ++i) {
- int module_size = in->ReadInt32();
+ size_t module_size = (uint32_t)in->ReadInt32();
if (pp.ScMdDataSize[i] != module_size) {
return new SavegameError(kSvgErr_GameContentAssertion, String::FromFormat("Mismatching size of script module data, module %d.", i));
}
@@ -239,7 +239,7 @@ static HSaveError restore_game_gui(Stream *in, int numGuisWas) {
}
static HSaveError restore_game_audiocliptypes(Stream *in) {
- if (in->ReadInt32() != (int)_GP(game).audioClipTypes.size()) {
+ if ((uint32_t)in->ReadInt32() != _GP(game).audioClipTypes.size()) {
return new SavegameError(kSvgErr_GameContentAssertion, "Mismatching number of Audio Clip Types.");
}
@@ -359,7 +359,7 @@ static HSaveError restore_game_views(Stream *in) {
}
static HSaveError restore_game_audioclips_and_crossfade(Stream *in, RestoredData &r_data) {
- if (in->ReadInt32() != (int)_GP(game).audioClips.size()) {
+ if ((uint32_t)in->ReadInt32() != _GP(game).audioClips.size()) {
return new SavegameError(kSvgErr_GameContentAssertion, "Mismatching number of Audio Clips.");
}
@@ -476,7 +476,7 @@ HSaveError restore_game_data(Stream *in, SavegameVersion svg_version, const Pres
if (!err)
return err;
- if ((uint32)in->ReadInt32() != (uint32)(MAGICNUMBER + 1)) {
+ if (static_cast<uint32_t>(in->ReadInt32()) != (MAGICNUMBER + 1)) {
return new SavegameError(kSvgErr_InconsistentFormat, "MAGICNUMBER not found before Audio Clips.");
}
@@ -488,7 +488,7 @@ HSaveError restore_game_data(Stream *in, SavegameVersion svg_version, const Pres
pl_set_file_handle(pluginFileHandle, in);
pl_run_plugin_hooks(AGSE_RESTOREGAME, pluginFileHandle);
pl_clear_file_handle();
- if ((uint32)in->ReadInt32() != (uint32)MAGICNUMBER)
+ if (static_cast<uint32_t>(in->ReadInt32()) != MAGICNUMBER)
return new SavegameError(kSvgErr_InconsistentPlugin);
// save the new room music vol for later use
Commit: a633e9d72ff3ad66a513d605d1a8d6065a5ae084
https://github.com/scummvm/scummvm/commit/a633e9d72ff3ad66a513d605d1a8d6065a5ae084
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T20:06:19-07:00
Commit Message:
AGS: Fixing various type-cast warnings
>From upstream 6c42c7331e96386721f28c92ec3cb4cd039e10cd
Changed paths:
engines/ags/engine/ac/drawing_surface.cpp
engines/ags/engine/ac/game_state.cpp
engines/ags/engine/ac/global_string.cpp
engines/ags/engine/ac/room.cpp
engines/ags/engine/game/savegame.cpp
engines/ags/engine/main/config.cpp
engines/ags/engine/script/cc_instance.cpp
engines/ags/engine/script/runtime_script_value.cpp
diff --git a/engines/ags/engine/ac/drawing_surface.cpp b/engines/ags/engine/ac/drawing_surface.cpp
index 2ba4883f5a8..a5c2a4efce4 100644
--- a/engines/ags/engine/ac/drawing_surface.cpp
+++ b/engines/ags/engine/ac/drawing_surface.cpp
@@ -398,8 +398,8 @@ void DrawingSurface_DrawPixel(ScriptDrawingSurface *sds, int x, int y) {
int DrawingSurface_GetPixel(ScriptDrawingSurface *sds, int x, int y) {
sds->PointToGameResolution(&x, &y);
Bitmap *ds = sds->StartDrawing();
- unsigned int rawPixel = ds->GetPixel(x, y);
- unsigned int maskColor = ds->GetMaskColor();
+ int rawPixel = ds->GetPixel(x, y);
+ int maskColor = ds->GetMaskColor();
int colDepth = ds->GetColorDepth();
if (rawPixel == maskColor) {
diff --git a/engines/ags/engine/ac/game_state.cpp b/engines/ags/engine/ac/game_state.cpp
index d934512398d..25481f57330 100644
--- a/engines/ags/engine/ac/game_state.cpp
+++ b/engines/ags/engine/ac/game_state.cpp
@@ -142,7 +142,7 @@ void GameState::UpdateViewports() {
}
_roomViewportZOrderChanged = false;
}
- size_t vp_changed = (size_t)-1;
+ size_t vp_changed = SIZE_MAX;
for (size_t i = _roomViewportsSorted.size(); i-- > 0;) {
auto vp = _roomViewportsSorted[i];
if (vp->HasChangedSize() || vp->HasChangedPosition() || vp->HasChangedVisible()) {
@@ -151,7 +151,7 @@ void GameState::UpdateViewports() {
vp->ClearChangedFlags();
}
}
- if (vp_changed != (size_t)-1)
+ if (vp_changed != SIZE_MAX)
detect_roomviewport_overlaps(vp_changed);
for (auto cam : _roomCameras) {
if (cam->HasChangedSize() || cam->HasChangedPosition()) {
diff --git a/engines/ags/engine/ac/global_string.cpp b/engines/ags/engine/ac/global_string.cpp
index cc26dceec43..e79fa41e4c5 100644
--- a/engines/ags/engine/ac/global_string.cpp
+++ b/engines/ags/engine/ac/global_string.cpp
@@ -30,18 +30,19 @@
namespace AGS3 {
int StrGetCharAt(const char *strin, int posn) {
- if ((posn < 0) || (posn >= (int)strlen(strin)))
+ if ((posn < 0) || (static_cast<size_t>(posn) >= strlen(strin)))
return 0;
return strin[posn];
}
void StrSetCharAt(char *strin, int posn, int nchar) {
- if ((posn < 0) || (posn > (int)strlen(strin)) || (posn >= MAX_MAXSTRLEN))
+ size_t len = strlen(strin);
+ if ((posn < 0) || (static_cast<size_t>(posn) > len) || (posn >= MAX_MAXSTRLEN))
quit("!StrSetCharAt: tried to write past end of string");
- if (posn == (int)strlen(strin))
+ strin[posn] = static_cast<char>(nchar);
+ if (static_cast<size_t>(posn) == len)
strin[posn + 1] = 0;
- strin[posn] = nchar;
}
void _sc_strcat(char *s1, const char *s2) {
diff --git a/engines/ags/engine/ac/room.cpp b/engines/ags/engine/ac/room.cpp
index d97542b11bd..ce4fc5ca269 100644
--- a/engines/ags/engine/ac/room.cpp
+++ b/engines/ags/engine/ac/room.cpp
@@ -472,7 +472,7 @@ void load_new_room(int newnum, CharacterInfo *forchar) {
_GP(play).bg_anim_delay = _GP(play).anim_background_speed;
// Fixup the frame index, in case the new room does not have enough background frames
- if (_GP(play).bg_frame < 0 || _GP(play).bg_frame >= (int)_GP(thisroom).BgFrameCount)
+ if (_GP(play).bg_frame < 0 || static_cast<size_t>(_GP(play).bg_frame) >= _GP(thisroom).BgFrameCount)
_GP(play).bg_frame = 0;
// do the palette
diff --git a/engines/ags/engine/game/savegame.cpp b/engines/ags/engine/game/savegame.cpp
index 8f2fade20ad..d2ee5ef9645 100644
--- a/engines/ags/engine/game/savegame.cpp
+++ b/engines/ags/engine/game/savegame.cpp
@@ -514,7 +514,7 @@ HSaveError DoAfterRestore(const PreservedParams &pp, const RestoredData &r_data)
if (_G(displayed_room) >= 0) {
// Fixup the frame index, in case the restored room does not have enough background frames
- if (_GP(play).bg_frame < 0 || _GP(play).bg_frame >= (int)_GP(thisroom).BgFrameCount)
+ if (_GP(play).bg_frame < 0 || static_cast<size_t>(_GP(play).bg_frame) >= (int)_GP(thisroom).BgFrameCount)
_GP(play).bg_frame = 0;
for (int i = 0; i < MAX_ROOM_BGFRAMES; ++i) {
@@ -598,7 +598,7 @@ HSaveError DoAfterRestore(const PreservedParams &pp, const RestoredData &r_data)
}
update_directional_sound_vol();
- adjust_fonts_for_render_mode(_GP(game).options[OPT_ANTIALIASFONTS]);
+ adjust_fonts_for_render_mode(_GP(game).options[OPT_ANTIALIASFONTS] != 0);
recreate_overlay_ddbs();
diff --git a/engines/ags/engine/main/config.cpp b/engines/ags/engine/main/config.cpp
index 64337db734b..cbe16cfcdc8 100644
--- a/engines/ags/engine/main/config.cpp
+++ b/engines/ags/engine/main/config.cpp
@@ -371,7 +371,7 @@ void override_config_ext(ConfigTree &cfg) {
void apply_config(const ConfigTree &cfg) {
{
- _GP(usetup).audio_enabled = INIreadint(cfg, "sound", "enabled", _GP(usetup).audio_enabled);
+ _GP(usetup).audio_enabled = INIreadint(cfg, "sound", "enabled", _GP(usetup).audio_enabled) != 0;
_GP(usetup).audio_driver = INIreadstring(cfg, "sound", "driver");
// Legacy graphics settings has to be translated into new options;
@@ -415,7 +415,7 @@ void apply_config(const ConfigTree &cfg) {
// This option is backwards (usevox is 0 if no_speech_pack)
_GP(usetup).no_speech_pack = INIreadint(cfg, "sound", "usespeech", 1) == 0;
- _GP(usetup).clear_cache_on_room_change = INIreadint(cfg, "misc", "clear_cache_on_room_change", _GP(usetup).clear_cache_on_room_change);
+ _GP(usetup).clear_cache_on_room_change = INIreadint(cfg, "misc", "clear_cache_on_room_change", _GP(usetup).clear_cache_on_room_change) != 0;
_GP(usetup).user_data_dir = INIreadstring(cfg, "misc", "user_data_dir");
_GP(usetup).shared_data_dir = INIreadstring(cfg, "misc", "shared_data_dir");
diff --git a/engines/ags/engine/script/cc_instance.cpp b/engines/ags/engine/script/cc_instance.cpp
index 2283e12c2a1..4cce579e337 100644
--- a/engines/ags/engine/script/cc_instance.cpp
+++ b/engines/ags/engine/script/cc_instance.cpp
@@ -1501,7 +1501,7 @@ bool ccInstance::ResolveScriptImports(const ccScript *scri) {
}
resolved_imports = new uint32_t[numimports];
- int errors = 0, last_err_idx = 0;
+ size_t errors = 0, last_err_idx = 0;
for (int import_idx = 0; import_idx < scri->numimports; ++import_idx) {
if (scri->imports[import_idx] == nullptr) {
resolved_imports[import_idx] = UINT32_MAX;
@@ -1626,7 +1626,7 @@ static void cc_error_fixups(const ccScript *scri, size_t pc, const char *fmt, ..
String displbuf = String::FromFormatV(fmt, ap);
va_end(ap);
const char *scname = scri->numSections > 0 ? scri->sectionNames[0] : "?";
- if (pc == (size_t) -1) {
+ if (pc == SIZE_MAX) {
cc_error("in script %s: %s", scname, displbuf.GetCStr());
} else {
int line = DetermineScriptLine(scri->code, scri->codesize, pc);
diff --git a/engines/ags/engine/script/runtime_script_value.cpp b/engines/ags/engine/script/runtime_script_value.cpp
index 98e800672c2..dd83770d6be 100644
--- a/engines/ags/engine/script/runtime_script_value.cpp
+++ b/engines/ags/engine/script/runtime_script_value.cpp
@@ -45,7 +45,7 @@ uint8_t RuntimeScriptValue::ReadByte() const {
if (RValue->Type == kScValData) {
return *(uint8_t *)(RValue->GetPtrWithOffset() + this->IValue);
} else {
- return RValue->IValue; // get RValue as int
+ return static_cast<uint8_t>(RValue->IValue);
}
} else if (this->Type == kScValStaticObject || this->Type == kScValStaticArray) {
return this->StcMgr->ReadInt8(this->Ptr, this->IValue);
@@ -60,13 +60,13 @@ int16_t RuntimeScriptValue::ReadInt16() const {
if (RValue->Type == kScValData) {
return *(int16_t *)(RValue->GetPtrWithOffset() + this->IValue);
} else {
- return RValue->IValue; // get RValue as int
+ return static_cast<uint16_t>(RValue->IValue);
}
} else if (this->Type == kScValGlobalVar) {
if (RValue->Type == kScValData) {
return Memory::ReadInt16LE(RValue->GetPtrWithOffset() + this->IValue);
} else {
- return RValue->IValue; // get RValue as int
+ return static_cast<uint16_t>(RValue->IValue);
}
} else if (this->Type == kScValStaticObject || this->Type == kScValStaticArray) {
return this->StcMgr->ReadInt16(this->Ptr, this->IValue);
Commit: d0e8eba2c4c9fec8707c9f6bce46f3b565ce22ba
https://github.com/scummvm/scummvm/commit/d0e8eba2c4c9fec8707c9f6bce46f3b565ce22ba
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T20:08:44-07:00
Commit Message:
AGS: In DialogOptions changed index fields from char to int
>From upstream 0db875df33a293797e176a0cbeefd60beeb92b14
Changed paths:
engines/ags/engine/ac/dialog.cpp
diff --git a/engines/ags/engine/ac/dialog.cpp b/engines/ags/engine/ac/dialog.cpp
index 11f68acb45f..0c56a31c041 100644
--- a/engines/ags/engine/ac/dialog.cpp
+++ b/engines/ags/engine/ac/dialog.cpp
@@ -309,8 +309,8 @@ int run_dialog_script(int dialogID, int offse, int optionIndex) {
}
int write_dialog_options(Bitmap *ds, bool ds_has_alpha, int dlgxp, int curyp, int numdisp, int mouseison, int areawid,
- int bullet_wid, int usingfont, DialogTopic *dtop, int8 *disporder, short *dispyp,
- int linespacing, int utextcol, int padding) {
+ int bullet_wid, int usingfont, DialogTopic *dtop, int *disporder, short *dispyp,
+ int linespacing, int utextcol, int padding) {
int ww;
color_t text_color;
@@ -412,10 +412,13 @@ struct DialogOptions {
GUITextBox *parserInput;
DialogTopic *dtop;
- int8 disporder[MAXTOPICOPTIONS];
+ // display order of options
+ int disporder[MAXTOPICOPTIONS];
+ // display Y coordinate of options
short dispyp[MAXTOPICOPTIONS];
-
+ // number of displayed options
int numdisp;
+ // currently chosen option
int chose;
Bitmap *tempScrn;
Commit: a6f42ad1ab4c0e448c2bf7ca1b0a5a97887b0439
https://github.com/scummvm/scummvm/commit/a6f42ad1ab4c0e448c2bf7ca1b0a5a97887b0439
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T21:44:40-07:00
Commit Message:
AGS: Fixing various "unused va/arg" warnings + removed empty funcs
>From upstream 61771ecd638338806c40d0da2bf1addea06cac90
Changed paths:
engines/ags/engine/ac/drawing_surface.cpp
engines/ags/engine/ac/dynobj/managed_object_pool.cpp
engines/ags/engine/ac/dynobj/script_dict.h
engines/ags/engine/ac/dynobj/script_set.h
engines/ags/engine/ac/file.cpp
engines/ags/engine/ac/global_audio.cpp
engines/ags/engine/ac/global_character.cpp
engines/ags/engine/ac/global_hotspot.cpp
engines/ags/engine/ac/global_object.cpp
engines/ags/engine/ac/global_string.cpp
engines/ags/engine/ac/route_finder_impl_legacy.cpp
engines/ags/engine/ac/sprite.cpp
engines/ags/engine/debugging/debug.cpp
engines/ags/engine/game/savegame.cpp
engines/ags/engine/game/savegame_components.cpp
engines/ags/engine/game/savegame_v321.cpp
engines/ags/engine/gfx/ali_3d_scummvm.cpp
engines/ags/engine/gfx/ali_3d_scummvm.h
engines/ags/engine/gfx/gfx_driver_base.cpp
engines/ags/engine/gfx/gfxfilter_scaling.cpp
engines/ags/engine/gui/gui_dialog_defines.h
engines/ags/engine/gui/gui_engine.cpp
engines/ags/engine/gui/my_push_button.cpp
engines/ags/engine/main/engine_setup.cpp
engines/ags/engine/main/game_file.cpp
engines/ags/engine/main/graphics_mode.cpp
engines/ags/engine/media/audio/audio.cpp
engines/ags/engine/media/audio/audio.h
engines/ags/engine/platform/base/ags_platform_driver.cpp
engines/ags/engine/platform/base/ags_platform_driver.h
engines/ags/engine/platform/base/sys_main.cpp
engines/ags/engine/script/script.cpp
engines/ags/engine/script/script.h
diff --git a/engines/ags/engine/ac/drawing_surface.cpp b/engines/ags/engine/ac/drawing_surface.cpp
index a5c2a4efce4..7aa64c0c2ca 100644
--- a/engines/ags/engine/ac/drawing_surface.cpp
+++ b/engines/ags/engine/ac/drawing_surface.cpp
@@ -408,12 +408,10 @@ int DrawingSurface_GetPixel(ScriptDrawingSurface *sds, int x, int y) {
int r = getr_depth(colDepth, rawPixel);
int g = getg_depth(colDepth, rawPixel);
int b = getb_depth(colDepth, rawPixel);
-
rawPixel = Game_GetColorFromRGB(r, g, b);
}
sds->FinishedDrawingReadOnly();
-
return rawPixel;
}
diff --git a/engines/ags/engine/ac/dynobj/managed_object_pool.cpp b/engines/ags/engine/ac/dynobj/managed_object_pool.cpp
index b58035c1617..94909fa9523 100644
--- a/engines/ags/engine/ac/dynobj/managed_object_pool.cpp
+++ b/engines/ags/engine/ac/dynobj/managed_object_pool.cpp
@@ -48,14 +48,10 @@ int ManagedObjectPool::Remove(ManagedObject &o, bool force) {
return 0;
}
- //auto handle = o.handle;
available_ids.push(o.handle);
-
handleByAddress.erase(o.addr);
+ ManagedObjectLog("Line %d Disposed managed object handle=%d", currentline, o.handle);
o = ManagedObject();
-
- ManagedObjectLog("Line %d Disposed managed object handle=%d", _G(currentline), handle);
-
return 1;
}
diff --git a/engines/ags/engine/ac/dynobj/script_dict.h b/engines/ags/engine/ac/dynobj/script_dict.h
index c82df3da3fb..054ce37a4b2 100644
--- a/engines/ags/engine/ac/dynobj/script_dict.h
+++ b/engines/ags/engine/ac/dynobj/script_dict.h
@@ -140,8 +140,7 @@ private:
_dic[key] = value;
return true;
}
- void DeleteItem(ConstIterator it) { /* do nothing */
- }
+ void DeleteItem(ConstIterator /*it*/) { /* do nothing */ }
size_t CalcSerializeSize() override {
// 2 class properties + item count
diff --git a/engines/ags/engine/ac/dynobj/script_set.h b/engines/ags/engine/ac/dynobj/script_set.h
index f7aed2a006e..bc8611158f5 100644
--- a/engines/ags/engine/ac/dynobj/script_set.h
+++ b/engines/ags/engine/ac/dynobj/script_set.h
@@ -117,7 +117,7 @@ private:
bool TryAddItem(const String &s) {
return _set.insert(s)._value;
}
- void DeleteItem(ConstIterator it) { /* do nothing */ }
+ void DeleteItem(ConstIterator /*it*/) { /* do nothing */ }
size_t CalcSerializeSize() override {
// 2 class properties + item count
diff --git a/engines/ags/engine/ac/file.cpp b/engines/ags/engine/ac/file.cpp
index 1367f6dda27..96c328b39e2 100644
--- a/engines/ags/engine/ac/file.cpp
+++ b/engines/ags/engine/ac/file.cpp
@@ -459,7 +459,7 @@ static int ags_pf_getc(void *userdata) {
return -1;
}
-static int ags_pf_ungetc(int c, void *userdata) {
+static int ags_pf_ungetc(int /*c*/, void * /*userdata*/) {
return -1; // we do not want to support this
}
@@ -473,15 +473,15 @@ static long ags_pf_fread(void *p, long n, void *userdata) {
return -1;
}
-static int ags_pf_putc(int c, void *userdata) {
+static int ags_pf_putc(int /*c*/, void * /*userdata*/) {
return -1; // don't support write
}
-static long ags_pf_fwrite(AL_CONST void *p, long n, void *userdata) {
+static long ags_pf_fwrite(AL_CONST void * /*p*/, long /*n*/, void * /*userdata*/) {
return -1; // don't support write
}
-static int ags_pf_fseek(void *userdata, int offset) {
+static int ags_pf_fseek(void */*userdata*/, int /*offset*/) {
return -1; // don't support seek
}
diff --git a/engines/ags/engine/ac/global_audio.cpp b/engines/ags/engine/ac/global_audio.cpp
index e1f1a18d661..ade07b0a3d1 100644
--- a/engines/ags/engine/ac/global_audio.cpp
+++ b/engines/ags/engine/ac/global_audio.cpp
@@ -407,7 +407,7 @@ void PlayMP3File(const char *filename) {
debug_script_warn("PlayMP3File: file '%s' not found or cannot play", filename);
}
- post_new_music_check(useChan);
+ post_new_music_check();
update_music_volume();
}
diff --git a/engines/ags/engine/ac/global_character.cpp b/engines/ags/engine/ac/global_character.cpp
index fa0ec42e34c..0b415ab50c9 100644
--- a/engines/ags/engine/ac/global_character.cpp
+++ b/engines/ags/engine/ac/global_character.cpp
@@ -401,7 +401,7 @@ void RunCharacterInteraction(int cc, int mood) {
_G(evblocknum) = cc;
if (_G(loaded_game_file_version) > kGameVersion_272) {
if (passon >= 0)
- run_interaction_script(_GP(game).charScripts[cc].get(), passon, 4, (passon == 3));
+ run_interaction_script(_GP(game).charScripts[cc].get(), passon, 4);
run_interaction_script(_GP(game).charScripts[cc].get(), 4); // any click on char
} else {
if (passon >= 0)
diff --git a/engines/ags/engine/ac/global_hotspot.cpp b/engines/ags/engine/ac/global_hotspot.cpp
index eaedca8d8d6..5a291fefaed 100644
--- a/engines/ags/engine/ac/global_hotspot.cpp
+++ b/engines/ags/engine/ac/global_hotspot.cpp
@@ -120,7 +120,7 @@ void RunHotspotInteraction(int hotspothere, int mood) {
if (_GP(thisroom).Hotspots[hotspothere].EventHandlers != nullptr) {
if (passon >= 0)
- run_interaction_script(_GP(thisroom).Hotspots[hotspothere].EventHandlers.get(), passon, 5, (passon == 3));
+ run_interaction_script(_GP(thisroom).Hotspots[hotspothere].EventHandlers.get(), passon, 5);
run_interaction_script(_GP(thisroom).Hotspots[hotspothere].EventHandlers.get(), 5); // any click on hotspot
} else {
if (passon >= 0) {
diff --git a/engines/ags/engine/ac/global_object.cpp b/engines/ags/engine/ac/global_object.cpp
index 163155bc423..05ec64bc1a5 100644
--- a/engines/ags/engine/ac/global_object.cpp
+++ b/engines/ags/engine/ac/global_object.cpp
@@ -435,7 +435,7 @@ void RunObjectInteraction(int aa, int mood) {
if (_GP(thisroom).Objects[aa].EventHandlers != nullptr) {
if (passon >= 0) {
- if (run_interaction_script(_GP(thisroom).Objects[aa].EventHandlers.get(), passon, 4, (passon == 3)))
+ if (run_interaction_script(_GP(thisroom).Objects[aa].EventHandlers.get(), passon, 4))
return;
}
run_interaction_script(_GP(thisroom).Objects[aa].EventHandlers.get(), 4); // any click on obj
diff --git a/engines/ags/engine/ac/global_string.cpp b/engines/ags/engine/ac/global_string.cpp
index e79fa41e4c5..d0b928e7cf9 100644
--- a/engines/ags/engine/ac/global_string.cpp
+++ b/engines/ags/engine/ac/global_string.cpp
@@ -50,7 +50,6 @@ void _sc_strcat(char *s1, const char *s2) {
VALIDATE_STRING(s2);
check_strlen(s1);
int mosttocopy = (_G(MAXSTRLEN) - strlen(s1)) - 1;
- // int numbf=_GP(game).iface[4].numbuttons;
my_strncpy(&s1[strlen(s1)], s2, mosttocopy);
}
@@ -66,14 +65,6 @@ void _sc_strupper(char *desbuf) {
ags_strupr(desbuf);
}
-/*int _sc_strcmp (char *s1, char *s2) {
-return strcmp (get_translation (s1), get_translation(s2));
-}
-
-int _sc_stricmp (char *s1, char *s2) {
-return ags_stricmp (get_translation (s1), get_translation(s2));
-}*/
-
void _sc_strcpy(char *destt, const char *text) {
VALIDATE_STRING(destt);
check_strlen(destt);
diff --git a/engines/ags/engine/ac/route_finder_impl_legacy.cpp b/engines/ags/engine/ac/route_finder_impl_legacy.cpp
index bda7ad44350..b1eddc7f71f 100644
--- a/engines/ags/engine/ac/route_finder_impl_legacy.cpp
+++ b/engines/ags/engine/ac/route_finder_impl_legacy.cpp
@@ -72,7 +72,7 @@ void set_wallscreen(Bitmap *wallscreen_) {
}
// TODO: find a way to reimpl this with Bitmap
-static void line_callback(BITMAP *bmpp, int x, int y, int d) {
+static void line_callback(BITMAP *bmpp, int x, int y, int /*d*/) {
/* if ((x>=320) | (y>=200) | (x<0) | (y<0)) line_failed=1;
else */ if (getpixel(bmpp, x, y) < 1)
line_failed = 1;
@@ -789,8 +789,6 @@ int find_route(short srcx, short srcy, short xx, short yy, Bitmap *onscreen, int
numstages++;
nearestindx = -1;
- int lastpbs = pathbackstage;
-
stage_again:
nearestpos = 0;
aaa = 1;
@@ -823,7 +821,7 @@ stage_again:
#ifdef DEBUG_PATHFINDER
AGS::Shared::Debug::Printf("Added: %d, %d pbs:%d", srcx, srcy, pathbackstage);
#endif
- lastpbs = pathbackstage;
+
pathbackstage = nearestindx;
goto stage_again;
}
@@ -866,7 +864,6 @@ stage_again:
#ifdef DEBUG_PATHFINDER
// getch();
#endif
- (void)lastpbs;
return mlist;
} else {
diff --git a/engines/ags/engine/ac/sprite.cpp b/engines/ags/engine/ac/sprite.cpp
index 555f0656a99..af201585a94 100644
--- a/engines/ags/engine/ac/sprite.cpp
+++ b/engines/ags/engine/ac/sprite.cpp
@@ -109,7 +109,7 @@ Bitmap *remove_alpha_channel(Bitmap *from) {
return to;
}
-void pre_save_sprite(Bitmap *image) {
+void pre_save_sprite(Bitmap * /*image*/) {
// not used, we don't save
}
diff --git a/engines/ags/engine/debugging/debug.cpp b/engines/ags/engine/debugging/debug.cpp
index 9f5a43fb45b..4ea92b2eadb 100644
--- a/engines/ags/engine/debugging/debug.cpp
+++ b/engines/ags/engine/debugging/debug.cpp
@@ -73,7 +73,7 @@ IAGSEditorDebugger *GetEditorDebugger(const char *instanceToken) {
#else // AGS_PLATFORM_OS_WINDOWS
-IAGSEditorDebugger *GetEditorDebugger(const char *instanceToken) {
+IAGSEditorDebugger *GetEditorDebugger(const char * /*instanceToken*/) {
return nullptr;
}
diff --git a/engines/ags/engine/game/savegame.cpp b/engines/ags/engine/game/savegame.cpp
index d2ee5ef9645..e1c97b19284 100644
--- a/engines/ags/engine/game/savegame.cpp
+++ b/engines/ags/engine/game/savegame.cpp
@@ -72,7 +72,7 @@ using namespace Shared;
using namespace Engine;
// function is currently implemented in savegame_v321.cpp
-HSaveError restore_game_data(Stream *in, SavegameVersion svg_version, const PreservedParams &pp, RestoredData &r_data);
+HSaveError restore_save_data_v321(Stream *in, const PreservedParams &pp, RestoredData &r_data);
namespace AGS {
namespace Engine {
@@ -643,7 +643,7 @@ HSaveError RestoreGameState(Stream *in, SavegameVersion svg_version) {
if (svg_version >= kSvgVersion_Components)
err = SavegameComponents::ReadAll(in, svg_version, pp, r_data);
else
- err = restore_game_data(in, svg_version, pp, r_data);
+ err = restore_save_data_v321(in, pp, r_data);
if (!err)
return err;
return DoAfterRestore(pp, r_data);
diff --git a/engines/ags/engine/game/savegame_components.cpp b/engines/ags/engine/game/savegame_components.cpp
index c4180323ce5..0348c8bb4a1 100644
--- a/engines/ags/engine/game/savegame_components.cpp
+++ b/engines/ags/engine/game/savegame_components.cpp
@@ -230,7 +230,7 @@ HSaveError WriteGameState(Stream *out) {
return HSaveError::None();
}
-void ReadLegacyCameraState(Stream *in, RestoredData &r_data) {
+void ReadLegacyCameraState(Stream *in, RestoredData & r_data) {
// Precreate viewport and camera and save data in temp structs
int camx = in->ReadInt32();
int camy = in->ReadInt32();
@@ -277,7 +277,7 @@ void ReadViewportState(RestoredData &r_data, Stream *in) {
r_data.Viewports.push_back(view);
}
-HSaveError ReadGameState(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadGameState(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData &r_data) {
HSaveError err;
GameStateSvgVersion svg_ver = (GameStateSvgVersion)cmp_ver;
// Game base
@@ -379,7 +379,7 @@ HSaveError WriteAudio(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadAudio(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadAudio(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData &r_data) {
HSaveError err;
// Game content assertion
if (!AssertGameContent(err, in->ReadInt32(), _GP(game).audioClipTypes.size(), "Audio Clip Types"))
@@ -493,7 +493,7 @@ HSaveError WriteCharacters(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadCharacters(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadCharacters(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
HSaveError err;
if (!AssertGameContent(err, in->ReadInt32(), _GP(game).numcharacters, "Characters"))
return err;
@@ -519,7 +519,7 @@ HSaveError WriteDialogs(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadDialogs(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadDialogs(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
HSaveError err;
if (!AssertGameContent(err, in->ReadInt32(), _GP(game).numdialog, "Dialogs"))
return err;
@@ -575,7 +575,7 @@ HSaveError WriteGUI(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadGUI(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadGUI(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
HSaveError err;
const GuiSvgVersion svg_ver = (GuiSvgVersion)cmp_ver;
// GUI state
@@ -652,7 +652,7 @@ HSaveError WriteInventory(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadInventory(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadInventory(Stream *in, int32_t /*cmp_ver*/, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
HSaveError err;
if (!AssertGameContent(err, in->ReadInt32(), _GP(game).numinvitems, "Inventory Items"))
return err;
@@ -673,7 +673,7 @@ HSaveError WriteMouseCursors(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadMouseCursors(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadMouseCursors(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
HSaveError err;
if (!AssertGameContent(err, in->ReadInt32(), _GP(game).numcursors, "Mouse Cursors"))
return err;
@@ -698,7 +698,7 @@ HSaveError WriteViews(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadViews(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadViews(Stream *in, int32_t /*cmp_ver*/, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
HSaveError err;
if (!AssertGameContent(err, in->ReadInt32(), _GP(game).numviews, "Views"))
return err;
@@ -742,7 +742,7 @@ HSaveError WriteDynamicSprites(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadDynamicSprites(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadDynamicSprites(Stream *in, int32_t /*cmp_ver*/, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
HSaveError err;
const int spr_count = in->ReadInt32();
// ensure the sprite set is at least large enough
@@ -767,7 +767,7 @@ HSaveError WriteOverlays(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadOverlays(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadOverlays(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
size_t over_count = in->ReadInt32();
for (size_t i = 0; i < over_count; ++i) {
ScreenOverlay over;
@@ -792,7 +792,7 @@ HSaveError WriteDynamicSurfaces(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadDynamicSurfaces(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadDynamicSurfaces(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData &r_data) {
HSaveError err;
if (!AssertCompatLimit(err, in->ReadInt32(), MAX_DYNAMIC_SURFACES, "Dynamic Surfaces"))
return err;
@@ -867,7 +867,7 @@ HSaveError WriteRoomStates(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadRoomStates(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadRoomStates(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
HSaveError err;
int roomstat_count = in->ReadInt32();
for (; roomstat_count > 0; --roomstat_count) {
@@ -930,7 +930,7 @@ HSaveError WriteThisRoom(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadThisRoom(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadThisRoom(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData &r_data) {
HSaveError err;
_G(displayed_room) = in->ReadInt32();
if (_G(displayed_room) < 0)
@@ -982,7 +982,7 @@ HSaveError WriteManagedPool(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadManagedPool(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadManagedPool(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
if (ccUnserializeAllObjects(in, &_GP(ccUnserializer))) {
return new SavegameError(kSvgErr_GameObjectInitFailed,
String::FromFormat("Managed pool deserialization failed: %s", _G(ccErrorString).GetCStr()));
@@ -998,7 +998,7 @@ HSaveError WritePluginData(Stream *out) {
return HSaveError::None();
}
-HSaveError ReadPluginData(Stream *in, int32_t cmp_ver, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError ReadPluginData(Stream *in, int32_t cmp_ver, const PreservedParams & /*pp*/, RestoredData & /*r_data*/) {
auto pluginFileHandle = AGSE_RESTOREGAME;
pl_set_file_handle(pluginFileHandle, in);
pl_run_plugin_hooks(AGSE_RESTOREGAME, pluginFileHandle);
diff --git a/engines/ags/engine/game/savegame_v321.cpp b/engines/ags/engine/game/savegame_v321.cpp
index da16c0def1d..223223c2757 100644
--- a/engines/ags/engine/game/savegame_v321.cpp
+++ b/engines/ags/engine/game/savegame_v321.cpp
@@ -393,7 +393,7 @@ static HSaveError restore_game_audioclips_and_crossfade(Stream *in, RestoredData
return HSaveError::None();
}
-HSaveError restore_game_data(Stream *in, SavegameVersion svg_version, const PreservedParams &pp, RestoredData &r_data) {
+HSaveError restore_save_data_v321(Stream *in, const PreservedParams &pp, RestoredData &r_data) {
int vv;
HSaveError err = restore_game_head_dynamic_values(in, r_data);
diff --git a/engines/ags/engine/gfx/ali_3d_scummvm.cpp b/engines/ags/engine/gfx/ali_3d_scummvm.cpp
index 95ffe3364ba..dc13c9f6ff4 100644
--- a/engines/ags/engine/gfx/ali_3d_scummvm.cpp
+++ b/engines/ags/engine/gfx/ali_3d_scummvm.cpp
@@ -79,7 +79,7 @@ int ScummVMRendererGraphicsDriver::GetDisplayDepthForNativeDepth(int native_colo
return native_color_depth;
}
-IGfxModeList *ScummVMRendererGraphicsDriver::GetSupportedModeList(int color_depth) {
+IGfxModeList *ScummVMRendererGraphicsDriver::GetSupportedModeList(int /*color_depth*/) {
std::vector<DisplayMode> modes;
sys_get_desktop_modes(modes);
return new ScummVMRendererGfxModeList(modes);
@@ -99,7 +99,7 @@ void ScummVMRendererGraphicsDriver::SetGraphicsFilter(PSDLRenderFilter filter) {
// SDL_SetHint(SDL_HINT_RENDER_SCALE_QUALITY, "linear"); // make the scaled rendering look smoother.
}
-void ScummVMRendererGraphicsDriver::SetTintMethod(TintMethod method) {
+void ScummVMRendererGraphicsDriver::SetTintMethod(TintMethod /*method*/) {
// TODO: support new D3D-style tint method
}
@@ -172,7 +172,7 @@ bool ScummVMRendererGraphicsDriver::SetRenderFrame(const Rect &dst_rect) {
return !_dstRect.IsEmpty();
}
-void ScummVMRendererGraphicsDriver::ClearRectangle(int x1, int y1, int x2, int y2, RGB *colorToUse) {
+void ScummVMRendererGraphicsDriver::ClearRectangle(int /*x1*/, int /*y1*/, int /*x2*/, int /*y2*/, RGB * /*colorToUse*/) {
// TODO: but maybe is not necessary, as we use SDL_Renderer with accelerated gfx here?
// See SDL_RenderDrawRect
}
@@ -279,7 +279,7 @@ void ScummVMRendererGraphicsDriver::DrawSprite(int x, int y, IDriverDependantBit
_spriteBatches[_actSpriteBatch].List.push_back(ALDrawListEntry((ALSoftwareBitmap *)bitmap, x, y));
}
-void ScummVMRendererGraphicsDriver::SetScreenFade(int red, int green, int blue) {
+void ScummVMRendererGraphicsDriver::SetScreenFade(int /*red*/, int /*green*/, int /*blue*/) {
// TODO: was not necessary atm
// TODO: checkme later
}
@@ -550,7 +550,8 @@ bool ScummVMRendererGraphicsDriver::GetCopyOfScreenIntoBitmap(Bitmap *destinatio
Author: Matthew Leverton
**/
-void ScummVMRendererGraphicsDriver::highcolor_fade_in(Bitmap *vs, void(*draw_callback)(), int offx, int offy, int speed, int targetColourRed, int targetColourGreen, int targetColourBlue) {
+void ScummVMRendererGraphicsDriver::highcolor_fade_in(Bitmap *vs, void(*draw_callback)(),
+ int /*offx*/, int /*offy*/, int speed, int targetColourRed, int targetColourGreen, int targetColourBlue) {
Bitmap *bmp_orig = vs;
const int col_depth = bmp_orig->GetColorDepth();
const int clearColor = makecol_depth(col_depth, targetColourRed, targetColourGreen, targetColourBlue);
@@ -583,7 +584,8 @@ void ScummVMRendererGraphicsDriver::highcolor_fade_in(Bitmap *vs, void(*draw_cal
Present();
}
-void ScummVMRendererGraphicsDriver::highcolor_fade_out(Bitmap *vs, void(*draw_callback)(), int offx, int offy, int speed, int targetColourRed, int targetColourGreen, int targetColourBlue) {
+void ScummVMRendererGraphicsDriver::highcolor_fade_out(Bitmap *vs, void(*draw_callback)(),
+ int /*offx*/, int /*offy*/, int speed, int targetColourRed, int targetColourGreen, int targetColourBlue) {
Bitmap *bmp_orig = vs;
const int col_depth = vs->GetColorDepth();
const int clearColor = makecol_depth(col_depth, targetColourRed, targetColourGreen, targetColourBlue);
diff --git a/engines/ags/engine/gfx/ali_3d_scummvm.h b/engines/ags/engine/gfx/ali_3d_scummvm.h
index 7bcbde0b230..7023f4ca1e6 100644
--- a/engines/ags/engine/gfx/ali_3d_scummvm.h
+++ b/engines/ags/engine/gfx/ali_3d_scummvm.h
@@ -70,14 +70,12 @@ public:
void SetFlippedLeftRight(bool isFlipped) override {
_flipped = isFlipped;
}
- void SetStretch(int width, int height, bool useResampler = true) override {
+ void SetStretch(int width, int height, bool /*useResampler*/) override {
_stretchToWidth = width;
_stretchToHeight = height;
}
- void SetLightLevel(int lightLevel) override {
- }
- void SetTint(int red, int green, int blue, int tintSaturation) override {
- }
+ void SetLightLevel(int /*lightLevel*/) override {}
+ void SetTint(int /*red*/, int /*green*/, int /*blue*/, int /*tintSaturation*/) override {}
Bitmap *_bmp = nullptr;
bool _flipped = false;
@@ -168,7 +166,7 @@ public:
const char *GetDriverID() override {
return "Software";
}
- void SetTintMethod(TintMethod method) override;
+ void SetTintMethod(TintMethod /*method*/) override;
bool SetDisplayMode(const DisplayMode &mode) override;
void UpdateDeviceScreen(const Size &screen_sz) override;
bool SetNativeResolution(const GraphicResolution &native_res) override;
@@ -199,13 +197,10 @@ public:
void BoxOutEffect(bool blackingOut, int speed, int delay) override;
bool SupportsGammaControl() override;
void SetGamma(int newGamma) override;
- void UseSmoothScaling(bool enabled) override {
- }
- void EnableVsyncBeforeRender(bool enabled) override {
- }
+ void UseSmoothScaling(bool /*enabled*/) override {}
+ void EnableVsyncBeforeRender(bool /*enabled*/) override {}
void Vsync() override;
- void RenderSpritesAtScreenResolution(bool enabled, int supersampling) override {
- }
+ void RenderSpritesAtScreenResolution(bool /*enabled*/, int /*supersampling*/) override {}
bool RequiresFullRedrawEachFrame() override {
return false;
}
@@ -218,7 +213,7 @@ public:
Bitmap *GetMemoryBackBuffer() override;
void SetMemoryBackBuffer(Bitmap *backBuffer) override;
Bitmap *GetStageBackBuffer(bool mark_dirty) override;
- bool GetStageMatrixes(RenderMatrixes &rm) override {
+ bool GetStageMatrixes(RenderMatrixes & /*rm*/) override {
return false; /* not supported */
}
diff --git a/engines/ags/engine/gfx/gfx_driver_base.cpp b/engines/ags/engine/gfx/gfx_driver_base.cpp
index 9f73ca50c41..874467d8d20 100644
--- a/engines/ags/engine/gfx/gfx_driver_base.cpp
+++ b/engines/ags/engine/gfx/gfx_driver_base.cpp
@@ -148,7 +148,8 @@ Bitmap *VideoMemoryGraphicsDriver::GetMemoryBackBuffer() {
return nullptr;
}
-void VideoMemoryGraphicsDriver::SetMemoryBackBuffer(Bitmap *backBuffer) { // do nothing, video-memory drivers don't use main back buffer, only stage bitmaps they pass to plugins
+void VideoMemoryGraphicsDriver::SetMemoryBackBuffer(Bitmap * /*backBuffer*/) {
+ // do nothing, video-memory drivers don't use main back buffer, only stage bitmaps they pass to plugins
}
Bitmap *VideoMemoryGraphicsDriver::GetStageBackBuffer(bool mark_dirty) {
diff --git a/engines/ags/engine/gfx/gfxfilter_scaling.cpp b/engines/ags/engine/gfx/gfxfilter_scaling.cpp
index dafbd695099..7443eee8611 100644
--- a/engines/ags/engine/gfx/gfxfilter_scaling.cpp
+++ b/engines/ags/engine/gfx/gfxfilter_scaling.cpp
@@ -25,7 +25,7 @@ namespace AGS3 {
namespace AGS {
namespace Engine {
-bool ScalingGfxFilter::Initialize(const int color_depth, String &err_str) {
+bool ScalingGfxFilter::Initialize(const int /*color_depth*/, String & /*err_str*/) {
// succeed by default
return true;
}
diff --git a/engines/ags/engine/gui/gui_dialog_defines.h b/engines/ags/engine/gui/gui_dialog_defines.h
index c044d232114..4dbc26b502c 100644
--- a/engines/ags/engine/gui/gui_dialog_defines.h
+++ b/engines/ags/engine/gui/gui_dialog_defines.h
@@ -94,12 +94,14 @@ class Bitmap;
using namespace AGS; // FIXME later
// ========= STRUCTS ========
+#ifdef OBSOLETE
struct DisplayProperties {
int width;
int height;
int colors;
int textheight;
};
+#endif // OBSOLETE
struct CSCIMessage {
int code;
diff --git a/engines/ags/engine/gui/gui_engine.cpp b/engines/ags/engine/gui/gui_engine.cpp
index 97bbb4fbaff..0c84265c0ae 100644
--- a/engines/ags/engine/gui/gui_engine.cpp
+++ b/engines/ags/engine/gui/gui_engine.cpp
@@ -50,10 +50,6 @@ using namespace AGS::Shared;
// For engine these are defined in ac.cpp
extern void replace_macro_tokens(const char *, String &);
-// For engine these are defined in acfonts.cpp
-extern void ensure_text_valid_for_font(char *, int);
-//
-
// in ac_runningame
diff --git a/engines/ags/engine/gui/my_push_button.cpp b/engines/ags/engine/gui/my_push_button.cpp
index e27b1c94fe1..4f3f8a03e37 100644
--- a/engines/ags/engine/gui/my_push_button.cpp
+++ b/engines/ags/engine/gui/my_push_button.cpp
@@ -98,7 +98,7 @@ int MyPushButton::pressedon(int mx, int my) {
return wasstat;
}
-int MyPushButton::processmessage(int mcode, int wParam, NumberPtr lParam) {
+int MyPushButton::processmessage(int /*mcode*/, int /*wParam*/, NumberPtr /*lParam*/) {
return -1; // doesn't support messages
}
diff --git a/engines/ags/engine/main/engine_setup.cpp b/engines/ags/engine/main/engine_setup.cpp
index 8f5847872e6..eb65db27329 100644
--- a/engines/ags/engine/main/engine_setup.cpp
+++ b/engines/ags/engine/main/engine_setup.cpp
@@ -169,22 +169,6 @@ void engine_pre_gfxmode_driver_cleanup() {
_G(gfxDriver)->SetMemoryBackBuffer(nullptr);
}
-// Setup virtual screen
-void engine_post_gfxmode_screen_setup(const DisplayMode &dm, bool recreate_bitmaps) {
- if (recreate_bitmaps) {
- // TODO: find out if
- // - we need to support this case at all;
- // - if yes then which bitmaps need to be recreated (probably only video bitmaps and textures?)
- }
-}
-
-void engine_pre_gfxmode_screen_cleanup() {
-}
-
-// Release virtual screen
-void engine_pre_gfxsystem_screen_destroy() {
-}
-
// Setup color conversion parameters
void engine_setup_color_conversions(int coldepth) {
// default shifts for how we store the sprite data
@@ -235,7 +219,7 @@ void engine_pre_gfxmode_draw_cleanup() {
}
// Setup mouse control mode and graphic area
-void engine_post_gfxmode_mouse_setup(const DisplayMode &dm, const Size &init_desktop) {
+void engine_post_gfxmode_mouse_setup(const Size &init_desktop) {
// Assign mouse control parameters.
//
// NOTE that we setup speed and other related properties regardless of
@@ -284,8 +268,7 @@ void engine_post_gfxmode_setup(const Size &init_desktop) {
if (has_driver_changed) {
engine_post_gfxmode_draw_setup(dm);
}
- engine_post_gfxmode_screen_setup(dm, has_driver_changed);
- engine_post_gfxmode_mouse_setup(dm, init_desktop);
+ engine_post_gfxmode_mouse_setup(init_desktop);
invalidate_screen();
}
@@ -293,13 +276,11 @@ void engine_post_gfxmode_setup(const Size &init_desktop) {
void engine_pre_gfxmode_release() {
engine_pre_gfxmode_mouse_cleanup();
engine_pre_gfxmode_driver_cleanup();
- engine_pre_gfxmode_screen_cleanup();
}
void engine_pre_gfxsystem_shutdown() {
engine_pre_gfxmode_release();
engine_pre_gfxmode_draw_cleanup();
- engine_pre_gfxsystem_screen_destroy();
}
void on_coordinates_scaling_changed() {
diff --git a/engines/ags/engine/main/game_file.cpp b/engines/ags/engine/main/game_file.cpp
index 3fe3ceedf8c..ef2e6d12a18 100644
--- a/engines/ags/engine/main/game_file.cpp
+++ b/engines/ags/engine/main/game_file.cpp
@@ -126,7 +126,7 @@ static inline HError MakeScriptLoadError(const char *name) {
// These are optional, so no error is raised if some of these are not found.
// For those that do exist, reads them and replaces any scripts of same kind
// in the already loaded game data.
-HError LoadGameScripts(LoadedGameEntities &ents, GameDataVersion data_ver) {
+HError LoadGameScripts(LoadedGameEntities &ents) {
// Global script
std::unique_ptr<Stream> in(_GP(AssetMgr)->OpenAsset("GlobalScript.o"));
if (in) {
@@ -192,7 +192,7 @@ HError load_game_file() {
if (!err)
return err;
- err = LoadGameScripts(ents, src.DataVersion);
+ err = LoadGameScripts(ents);
if (!err)
return err;
err = (HError)InitGameState(ents, src.DataVersion);
diff --git a/engines/ags/engine/main/graphics_mode.cpp b/engines/ags/engine/main/graphics_mode.cpp
index d63a25c22c1..eb321188348 100644
--- a/engines/ags/engine/main/graphics_mode.cpp
+++ b/engines/ags/engine/main/graphics_mode.cpp
@@ -410,12 +410,12 @@ bool graphics_mode_init_any(const GraphicResolution &game_res, const DisplayMode
// Try to create renderer and init gfx mode, choosing one factory at a time
bool result = false;
- for (StringV::const_iterator it2 = ids.begin(); it2 != ids.end(); ++it2) {
+ for (const auto &id : ids) {
result =
#ifdef USE_SIMPLE_GFX_INIT
- simple_create_gfx_driver_and_init_mode(*it2, game_res, setup, color_depth);
+ simple_create_gfx_driver_and_init_mode(id, game_res, setup, color_depth);
#else
- create_gfx_driver_and_init_mode_any(*it2, game_res, setup, color_depth);
+ create_gfx_driver_and_init_mode_any(id, game_res, setup, color_depth);
#endif
if (result)
diff --git a/engines/ags/engine/media/audio/audio.cpp b/engines/ags/engine/media/audio/audio.cpp
index ebaae24baa1..569e817ad2b 100644
--- a/engines/ags/engine/media/audio/audio.cpp
+++ b/engines/ags/engine/media/audio/audio.cpp
@@ -189,7 +189,8 @@ static int find_free_audio_channel(ScriptAudioClip *clip, int priority, bool int
return channelToUse;
}
-bool is_audiotype_allowed_to_play(AudioFileType type) {
+bool is_audiotype_allowed_to_play(AudioFileType /*type*/) {
+ // TODO: this is a remnant of an old audio logic, think this function over
return _GP(usetup).audio_enabled;
}
@@ -892,9 +893,9 @@ void update_music_volume() {
}
}
-// Ensures crossfader is stable after loading (or failing to load)
-// new music
-void post_new_music_check(int newchannel) {
+// Ensures crossfader is stable after loading (or failing to load) new music
+// NOTE: part of the legacy audio logic
+void post_new_music_check() {
if ((_G(crossFading) > 0) && (AudioChans::GetChannel(_G(crossFading)) == nullptr)) {
_G(crossFading) = 0;
// Was fading out but then they played invalid music, continue to fade out
@@ -1016,7 +1017,7 @@ static void play_new_music(int mnum, SOUNDCLIP *music) {
_G(current_music_type) = ch->get_sound_type();
}
- post_new_music_check(useChannel);
+ post_new_music_check();
update_music_volume();
}
diff --git a/engines/ags/engine/media/audio/audio.h b/engines/ags/engine/media/audio/audio.h
index 8ea7a902c69..2dda2bde08b 100644
--- a/engines/ags/engine/media/audio/audio.h
+++ b/engines/ags/engine/media/audio/audio.h
@@ -105,7 +105,7 @@ void apply_volume_drop_modifier(bool applyModifier);
void update_audio_system_on_game_loop();
void stopmusic();
void update_music_volume();
-void post_new_music_check(int newchannel);
+void post_new_music_check();
// Sets up the crossfading for playing the new music track,
// and returns the channel number to use; the channel is guaranteed to be free
int prepare_for_new_music();
diff --git a/engines/ags/engine/platform/base/ags_platform_driver.cpp b/engines/ags/engine/platform/base/ags_platform_driver.cpp
index 32958e91188..e6b88be6b1c 100644
--- a/engines/ags/engine/platform/base/ags_platform_driver.cpp
+++ b/engines/ags/engine/platform/base/ags_platform_driver.cpp
@@ -98,6 +98,9 @@ void AGSPlatformDriver::RegisterGameWithGameExplorer() {
void AGSPlatformDriver::UnRegisterGameWithGameExplorer() {
}
+void AGSPlatformDriver::ValidateWindowSize(int & /*x*/, int & /*y*/, bool /*borderless*/) const {
+}
+
void AGSPlatformDriver::PlayVideo(const char *name, int skip, int flags) {
}
@@ -160,7 +163,7 @@ void AGSPlatformDriver::FinishedUsingGraphicsMode() {
// don't need to do anything on any OS except DOS
}
-SetupReturnValue AGSPlatformDriver::RunSetup(const ConfigTree &cfg_in, ConfigTree &cfg_out) {
+SetupReturnValue AGSPlatformDriver::RunSetup(const ConfigTree & /*cfg_in*/, ConfigTree & /*cfg_out*/) {
return kSetup_Cancel;
}
diff --git a/engines/ags/engine/platform/base/ags_platform_driver.h b/engines/ags/engine/platform/base/ags_platform_driver.h
index 415486b48fb..6e7d135a420 100644
--- a/engines/ags/engine/platform/base/ags_platform_driver.h
+++ b/engines/ags/engine/platform/base/ags_platform_driver.h
@@ -168,8 +168,7 @@ struct AGSPlatformDriver
virtual void UnRegisterGameWithGameExplorer();
virtual int ConvertKeycodeToScanCode(int keyCode);
// Adjust window size to ensure it is in the supported limits
- virtual void ValidateWindowSize(int &x, int &y, bool borderless) const {
- }
+ virtual void ValidateWindowSize(int &x, int &y, bool /*borderless*/) const;
virtual int InitializeCDPlayer() = 0; // return 0 on success
virtual int CDPlayerCommand(int cmdd, int datt) = 0;
diff --git a/engines/ags/engine/platform/base/sys_main.cpp b/engines/ags/engine/platform/base/sys_main.cpp
index 71d22db0b2d..6f8e0a72247 100644
--- a/engines/ags/engine/platform/base/sys_main.cpp
+++ b/engines/ags/engine/platform/base/sys_main.cpp
@@ -40,7 +40,7 @@ void sys_main_shutdown() {
sys_window_destroy();
}
-void sys_set_background_mode(bool on) {
+void sys_set_background_mode(bool /*on*/) {
// TODO: consider if we want any implementation here, and what...
}
diff --git a/engines/ags/engine/script/script.cpp b/engines/ags/engine/script/script.cpp
index fc6c700e85f..cda695e5312 100644
--- a/engines/ags/engine/script/script.cpp
+++ b/engines/ags/engine/script/script.cpp
@@ -158,7 +158,7 @@ int run_interaction_event(Interaction *nint, int evnt, int chkAny, int isInv) {
// Returns 0 normally, or -1 to indicate that the NewInteraction has
// become invalid and don't run another interaction on it
// (eg. a room change occurred)
-int run_interaction_script(InteractionScripts *nint, int evnt, int chkAny, int isInv) {
+int run_interaction_script(InteractionScripts *nint, int evnt, int chkAny) {
if ((nint->ScriptFuncNames[evnt] == nullptr) || (nint->ScriptFuncNames[evnt][0u] == 0)) {
// no response defined for this event
@@ -690,11 +690,10 @@ int run_interaction_commandlist(InteractionCommandList *nicl, int *timesrun, int
PlayFlic(IPARAM1, IPARAM2);
break;
case 9: { // Run Dialog
- int roomWas = _GP(play).room_changes;
RunDialog(IPARAM1);
// if they changed room within the dialog script,
// the interaction command list is no longer valid
- if (roomWas != _GP(play).room_changes)
+ if (room_was != _GP(play).room_changes)
return -1;
}
break;
diff --git a/engines/ags/engine/script/script.h b/engines/ags/engine/script/script.h
index e0b0f3af4eb..d7b2f64dd96 100644
--- a/engines/ags/engine/script/script.h
+++ b/engines/ags/engine/script/script.h
@@ -46,7 +46,7 @@ using AGS::Shared::InteractionVariable;
int run_dialog_request(int parmtr);
void run_function_on_non_blocking_thread(NonBlockingScriptFunction *funcToRun);
int run_interaction_event(Interaction *nint, int evnt, int chkAny = -1, int isInv = 0);
-int run_interaction_script(InteractionScripts *nint, int evnt, int chkAny = -1, int isInv = 0);
+int run_interaction_script(InteractionScripts *nint, int evnt, int chkAny = -1);
int create_global_script();
void cancel_all_scripts();
Commit: 357679d2a847e8a22dccccf7b501975f274d064d
https://github.com/scummvm/scummvm/commit/357679d2a847e8a22dccccf7b501975f274d064d
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T21:50:33-07:00
Commit Message:
AGS: Fixing unimplemented cases in switches
>From upstream f2bb0d055344197b6e4ed537c3107fe0c9784e50
Changed paths:
engines/ags/engine/game/savegame.cpp
engines/ags/engine/main/graphics_mode.cpp
engines/ags/engine/media/audio/sound_clip.cpp
diff --git a/engines/ags/engine/game/savegame.cpp b/engines/ags/engine/game/savegame.cpp
index e1c97b19284..3096e2bf75c 100644
--- a/engines/ags/engine/game/savegame.cpp
+++ b/engines/ags/engine/game/savegame.cpp
@@ -157,9 +157,8 @@ String GetSavegameErrorText(SavegameErrorType err) {
case kSvgErr_GameObjectInitFailed:
return "Game object initialization failed after save restoration.";
default:
- break;
+ return "Unknown error.";
}
- return "Unknown error.";
}
Bitmap *RestoreSaveImage(Stream *in) {
diff --git a/engines/ags/engine/main/graphics_mode.cpp b/engines/ags/engine/main/graphics_mode.cpp
index eb321188348..31d636f97d0 100644
--- a/engines/ags/engine/main/graphics_mode.cpp
+++ b/engines/ags/engine/main/graphics_mode.cpp
@@ -182,9 +182,8 @@ Size get_game_frame_from_screen_size(const Size &game_size, const Size screen_si
return frame_size;
}
default:
- break;
+ return Size();
}
- return Size();
}
static Size precalc_screen_size(const Size &game_size, const WindowSetup &ws, const FrameScaleDef frame) {
diff --git a/engines/ags/engine/media/audio/sound_clip.cpp b/engines/ags/engine/media/audio/sound_clip.cpp
index cab57c7ee64..2ad80703d2e 100644
--- a/engines/ags/engine/media/audio/sound_clip.cpp
+++ b/engines/ags/engine/media/audio/sound_clip.cpp
@@ -108,6 +108,8 @@ bool SOUNDCLIP::update() {
case PlaybackState::PlayStatePlaying:
state = audio_core_slot_play(slot_);
break;
+ default:
+ break;
}
*/
return is_ready();
Commit: 85684cbae6bcb81d25d7f5d3a3e2917d8b78e3de
https://github.com/scummvm/scummvm/commit/85684cbae6bcb81d25d7f5d3a3e2917d8b78e3de
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T21:53:56-07:00
Commit Message:
AGS: Fixed couple of "unreachable code" warnings
>From upstream bb63e9c58c74f0bbcb78e208d33c5e365b743525
Changed paths:
engines/ags/engine/ac/global_button.cpp
diff --git a/engines/ags/engine/ac/global_button.cpp b/engines/ags/engine/ac/global_button.cpp
index da9857fdbbb..e4a0c1b18d1 100644
--- a/engines/ags/engine/ac/global_button.cpp
+++ b/engines/ags/engine/ac/global_button.cpp
@@ -80,8 +80,6 @@ int GetButtonPic(int guin, int objn, int ptype) {
} else { // pushed pic
return guil->PushedImage;
}
-
- quit("internal error in getbuttonpic");
}
void SetButtonPic(int guin, int objn, int ptype, int slotn) {
Commit: 741405aa3f90efc2bae5bb76cbeb2284657fb138
https://github.com/scummvm/scummvm/commit/741405aa3f90efc2bae5bb76cbeb2284657fb138
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T21:57:01-07:00
Commit Message:
AGS: Fixed potential use of uninitialized vars
>From upstream 17235c31bad1df1cc23f46c7617023ab62e52e21
Changed paths:
engines/ags/engine/ac/draw_software.cpp
engines/ags/engine/ac/route_finder_impl_legacy.cpp
diff --git a/engines/ags/engine/ac/draw_software.cpp b/engines/ags/engine/ac/draw_software.cpp
index 13787a4daad..4e2465c738f 100644
--- a/engines/ags/engine/ac/draw_software.cpp
+++ b/engines/ags/engine/ac/draw_software.cpp
@@ -231,23 +231,23 @@ void invalidate_rect_on_surf(int x1, int y1, int x2, int y2, DirtyRects &rects)
dirtyRow[a].numSpans++;
} else {
// didn't fit in an existing span, and there are none spare
- int nearestDist = 99999, nearestWas = -1, extendLeft = false;
- int tleft, tright;
+ int nearestDist = 99999, nearestWas = -1, extendLeft = 0;
// find the nearest span, and enlarge that to include this rect
for (s = 0; s < dirtyRow[a].numSpans; s++) {
- tleft = dirtyRow[a].span[s].x1 - x2;
+ int tleft = dirtyRow[a].span[s].x1 - x2;
if ((tleft > 0) && (tleft < nearestDist)) {
nearestDist = tleft;
nearestWas = s;
extendLeft = 1;
}
- tright = x1 - dirtyRow[a].span[s].x2;
+ int tright = x1 - dirtyRow[a].span[s].x2;
if ((tright > 0) && (tright < nearestDist)) {
nearestDist = tright;
nearestWas = s;
extendLeft = 0;
}
}
+ assert(nearestWas >= 0);
if (extendLeft)
dirtyRow[a].span[nearestWas].x1 = x1;
else
diff --git a/engines/ags/engine/ac/route_finder_impl_legacy.cpp b/engines/ags/engine/ac/route_finder_impl_legacy.cpp
index b1eddc7f71f..11adc664fc1 100644
--- a/engines/ags/engine/ac/route_finder_impl_legacy.cpp
+++ b/engines/ags/engine/ac/route_finder_impl_legacy.cpp
@@ -110,19 +110,18 @@ void get_lastcpos(int &lastcx_, int &lastcy_) {
int find_nearest_walkable_area(Bitmap *tempw, int fromX, int fromY, int toX, int toY, int destX, int destY, int granularity) {
assert(tempw != nullptr);
-
- int ex, ey, nearest = 99999, thisis, nearx = 0, neary = 0;
if (fromX < 0) fromX = 0;
if (fromY < 0) fromY = 0;
if (toX >= tempw->GetWidth()) toX = tempw->GetWidth() - 1;
if (toY >= tempw->GetHeight()) toY = tempw->GetHeight() - 1;
- for (ex = fromX; ex < toX; ex += granularity) {
- for (ey = fromY; ey < toY; ey += granularity) {
+ int nearest = 99999, nearx = -1, neary = -1;
+ for (int ex = fromX; ex < toX; ex += granularity) {
+ for (int ey = fromY; ey < toY; ey += granularity) {
if (tempw->GetScanLine(ey)[ex] != 232)
continue;
- thisis = (int)::sqrt((double)((ex - destX) * (ex - destX) + (ey - destY) * (ey - destY)));
+ int thisis = (int)::sqrt((double)((ex - destX) * (ex - destX) + (ey - destY) * (ey - destY)));
if (thisis < nearest) {
nearest = thisis;
nearx = ex;
Commit: e60335a58a904a888e7b7a9d91fdbfe28af5ff95
https://github.com/scummvm/scummvm/commit/e60335a58a904a888e7b7a9d91fdbfe28af5ff95
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T21:58:49-07:00
Commit Message:
AGS: In log config fixed missing group letter id for "script"
>From upstream 8d5bb8ad1cc6ef79e0c6b8c60ba0d48751bd659e
Changed paths:
engines/ags/engine/debugging/debug.cpp
diff --git a/engines/ags/engine/debugging/debug.cpp b/engines/ags/engine/debugging/debug.cpp
index 4ea92b2eadb..2d65dc600f1 100644
--- a/engines/ags/engine/debugging/debug.cpp
+++ b/engines/ags/engine/debugging/debug.cpp
@@ -119,6 +119,9 @@ std::vector<String> parse_log_multigroup(const String &group_str) {
case 'g':
grplist.push_back("game");
break;
+ case 's':
+ grplist.push_back("script");
+ break;
case 'c':
grplist.push_back("sprcache");
break;
Commit: 194dc7bafa41733f95982cf877023659005e4637
https://github.com/scummvm/scummvm/commit/194dc7bafa41733f95982cf877023659005e4637
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T22:00:14-07:00
Commit Message:
AGS: Fixed game events not cleared inside blocking action
>From upstream 6a71d858819787001ad50516acae7164537bb02f
Changed paths:
engines/ags/engine/ac/event.cpp
diff --git a/engines/ags/engine/ac/event.cpp b/engines/ags/engine/ac/event.cpp
index 8cf12552866..14102121ffb 100644
--- a/engines/ags/engine/ac/event.cpp
+++ b/engines/ags/engine/ac/event.cpp
@@ -344,8 +344,10 @@ void runevent_now(int evtyp, int ev1, int ev2, int ev3) {
}
void processallevents() {
- if (_G(inside_processevent))
+ if (_G(inside_processevent)) {
+ _GP(events).clear(); // flush queued events
return;
+ }
// Take ownership of the pending events
// Note: upstream AGS used std::move, which I haven't been able
Commit: 22bcba88f58fcfec1e11aa14842cb1c868939992
https://github.com/scummvm/scummvm/commit/22bcba88f58fcfec1e11aa14842cb1c868939992
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T22:02:05-07:00
Commit Message:
AGS: Fixed RoomObject animation loosing parameters
>From upstream a46cef76f8b268c26011965ee6ffcd5b97b7c8ab
Changed paths:
engines/ags/engine/ac/room_object.cpp
diff --git a/engines/ags/engine/ac/room_object.cpp b/engines/ags/engine/ac/room_object.cpp
index e4785288ce4..907e3411bf1 100644
--- a/engines/ags/engine/ac/room_object.cpp
+++ b/engines/ags/engine/ac/room_object.cpp
@@ -83,7 +83,8 @@ void RoomObject::UpdateCyclingView(int ref_id) {
wait--; return;
}
- cycling = CycleViewAnim(view, loop, frame, cycling < ANIM_BACKWARDS, cycling % ANIM_BACKWARDS);
+ if (!CycleViewAnim(view, loop, frame, cycling < ANIM_BACKWARDS, cycling % ANIM_BACKWARDS))
+ cycling = 0; // finished animating
ViewFrame *vfptr = &_GP(views)[view].loops[loop].frames[frame];
if (vfptr->pic > UINT16_MAX)
Commit: 1ab42991d19e91c2a503e5b7436f7299e5f0f036
https://github.com/scummvm/scummvm/commit/1ab42991d19e91c2a503e5b7436f7299e5f0f036
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T22:11:42-07:00
Commit Message:
AGS: Added more event constants, clarified couple event calls
>From upstream ae6862f7917832ebc5f2314561938c01725ac8a2
Changed paths:
engines/ags/engine/ac/event.cpp
engines/ags/engine/ac/event.h
engines/ags/engine/ac/room.cpp
engines/ags/engine/main/game_run.cpp
diff --git a/engines/ags/engine/ac/event.cpp b/engines/ags/engine/ac/event.cpp
index 14102121ffb..413d4545ba0 100644
--- a/engines/ags/engine/ac/event.cpp
+++ b/engines/ags/engine/ac/event.cpp
@@ -167,10 +167,9 @@ void process_event(const EventHappened *evp) {
evpt = &_G(croom)->intrRoom;
_G(evblockbasename) = "room";
- if (evp->data3 == 5) {
+ if (evp->data3 == EVROM_BEFOREFADEIN) {
_G(in_enters_screen)++;
run_on_event(GE_ENTER_ROOM, RuntimeScriptValue().SetInt32(_G(displayed_room)));
-
}
//Debug::Printf("Running room interaction, event %d", evp->data3);
}
@@ -188,7 +187,7 @@ void process_event(const EventHappened *evp) {
_G(evblockbasename) = oldbasename;
_G(evblocknum) = oldblocknum;
- if ((evp->data3 == 5) && (evp->data1 == EVB_ROOM))
+ if ((evp->data1 == EVB_ROOM) && (evp->data3 == EVROM_BEFOREFADEIN))
_G(in_enters_screen)--;
} else if (evp->type == EV_FADEIN) {
// if they change the transition type before the fadein, make
diff --git a/engines/ags/engine/ac/event.h b/engines/ags/engine/ac/event.h
index 7187fb42e9c..7ca68941ded 100644
--- a/engines/ags/engine/ac/event.h
+++ b/engines/ags/engine/ac/event.h
@@ -38,18 +38,52 @@ namespace AGS3 {
#define GE_LOSE_INV 8
#define GE_RESTORE_GAME 9
+// Game event types:
+// common script callback
#define EV_TEXTSCRIPT 1
+// room event
#define EV_RUNEVBLOCK 2
+// fade-in event
#define EV_FADEIN 3
+// gui click
#define EV_IFACECLICK 4
+// new room event
#define EV_NEWROOM 5
+// Text script callback types:
+// repeatedly execute
#define TS_REPEAT 1
+// on key press
#define TS_KEYPRESS 2
+// mouse click
#define TS_MCLICK 3
+// on text input
#define TS_TEXTINPUT 4
+// script callback types number
#define TS_NUM 5
+// Room event types:
+// hotspot event
#define EVB_HOTSPOT 1
+// room own event
#define EVB_ROOM 2
+// Room event sub-types:
+// room edge crossing
+#define EVROM_EDGELEFT 0
+#define EVROM_EDGERIGHT 1
+#define EVROM_EDGEBOTTOM 2
+#define EVROM_EDGETOP 3
+// first time enters room
+#define EVROM_FIRSTENTER 4
+// load room; aka before fade-in
+#define EVROM_BEFOREFADEIN 5
+// room's rep-exec
+#define EVROM_REPEXEC 6
+// after fade-in
+#define EVROM_AFTERFADEIN 7
+// Hotspot event types:
+// player stands on hotspot
+#define EVHOT_STANDSON 0
+// cursor is over hotspot
+#define EVHOT_MOUSEOVER 6
struct EventHappened {
int type = 0;
diff --git a/engines/ags/engine/ac/room.cpp b/engines/ags/engine/ac/room.cpp
index ce4fc5ca269..9854d5f22eb 100644
--- a/engines/ags/engine/ac/room.cpp
+++ b/engines/ags/engine/ac/room.cpp
@@ -976,7 +976,7 @@ void check_new_room() {
evh.type = EV_RUNEVBLOCK;
evh.data1 = EVB_ROOM;
evh.data2 = 0;
- evh.data3 = 5;
+ evh.data3 = EVROM_BEFOREFADEIN;
evh.player = _GP(game).playercharacter;
// make sure that any script calls don't re-call enters screen
int newroom_was = _G(in_new_room);
diff --git a/engines/ags/engine/main/game_run.cpp b/engines/ags/engine/main/game_run.cpp
index ab6f976417f..6263c17d18c 100644
--- a/engines/ags/engine/main/game_run.cpp
+++ b/engines/ags/engine/main/game_run.cpp
@@ -102,19 +102,18 @@ static void game_loop_check_problems_at_start() {
quit("!A blocking function was called from within a non-blocking event such as " REP_EXEC_ALWAYS_NAME);
}
-static void game_loop_check_new_room() {
+// Runs rep-exec
+static void game_loop_do_early_script_update() {
if (_G(in_new_room) == 0) {
// Run the room and game script repeatedly_execute
run_function_on_non_blocking_thread(&_GP(repExecAlways));
setevent(EV_TEXTSCRIPT, TS_REPEAT);
- setevent(EV_RUNEVBLOCK, EVB_ROOM, 0, 6);
+ setevent(EV_RUNEVBLOCK, EVB_ROOM, 0, EVROM_REPEXEC);
}
- // run this immediately to make sure it gets done before fade-in
- // (player enters screen)
- check_new_room();
}
-static void game_loop_do_late_update() {
+// Runs late-rep-exec
+static void game_loop_do_late_script_update() {
if (_G(in_new_room) == 0) {
// Run the room and game script late_repeatedly_execute
run_function_on_non_blocking_thread(&_GP(lateRepExecAlways));
@@ -126,7 +125,7 @@ static int game_loop_check_ground_level_interactions() {
// check if he's standing on a hotspot
int hotspotThere = get_hotspot_at(_G(playerchar)->x, _G(playerchar)->y);
// run Stands on Hotspot event
- setevent(EV_RUNEVBLOCK, EVB_HOTSPOT, hotspotThere, 0);
+ setevent(EV_RUNEVBLOCK, EVB_HOTSPOT, hotspotThere, EVHOT_STANDSON);
// check current region
int onRegion = GetRegionIDAtRoom(_G(playerchar)->x, _G(playerchar)->y);
@@ -629,7 +628,7 @@ static void game_loop_do_render_and_check_mouse(IDriverDependantBitmap *extraBit
if (__GetLocationType(game_to_data_coord(_G(mousex)), game_to_data_coord(_G(mousey)), 1) == LOCTYPE_HOTSPOT) {
int onhs = _G(getloctype_index);
- setevent(EV_RUNEVBLOCK, EVB_HOTSPOT, onhs, 6);
+ setevent(EV_RUNEVBLOCK, EVB_HOTSPOT, onhs, EVHOT_MOUSEOVER);
}
}
@@ -650,9 +649,9 @@ static void game_loop_update_events() {
// then queue the Enters Screen scripts
// run these next time round, when it's faded in
if (_G(new_room_was) == 2) // first time enters screen
- setevent(EV_RUNEVBLOCK, EVB_ROOM, 0, 4);
+ setevent(EV_RUNEVBLOCK, EVB_ROOM, 0, EVROM_FIRSTENTER);
if (_G(new_room_was) != 3) // enters screen after fadein
- setevent(EV_RUNEVBLOCK, EVB_ROOM, 0, 7);
+ setevent(EV_RUNEVBLOCK, EVB_ROOM, 0, EVROM_AFTERFADEIN);
}
}
@@ -738,7 +737,11 @@ void UpdateGameOnce(bool checkControls, IDriverDependantBitmap *extraBitmap, int
_G(our_eip) = 1004;
- game_loop_check_new_room();
+ game_loop_do_early_script_update();
+ // run this immediately to make sure it gets done before fade-in
+ // (player enters screen)
+ check_new_room();
+
if (_G(abort_engine))
return;
@@ -764,7 +767,7 @@ void UpdateGameOnce(bool checkControls, IDriverDependantBitmap *extraBitmap, int
game_loop_update_animated_buttons();
- game_loop_do_late_update();
+ game_loop_do_late_script_update();
update_audio_system_on_game_loop();
Commit: 2d21a7dfdec1dc9eac855244bccc800f3af5d773
https://github.com/scummvm/scummvm/commit/2d21a7dfdec1dc9eac855244bccc800f3af5d773
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2022-04-25T22:18:21-07:00
Commit Message:
AGS: Removed couple of unused constants
>From upstream 223fdb3d4ccfc0a6d0c437ac9fbb25a6095d3d42
Changed paths:
engines/ags/shared/ac/common.cpp
engines/ags/shared/ac/common.h
diff --git a/engines/ags/shared/ac/common.cpp b/engines/ags/shared/ac/common.cpp
index a8d754c75e2..4159e0ba965 100644
--- a/engines/ags/shared/ac/common.cpp
+++ b/engines/ags/shared/ac/common.cpp
@@ -26,8 +26,6 @@ namespace AGS3 {
using namespace AGS::Shared;
-const char *game_file_sig = "Adventure Creator Game File v2";
-
void quit(const String &str) {
quit(str.GetCStr());
}
diff --git a/engines/ags/shared/ac/common.h b/engines/ags/shared/ac/common.h
index 4bb5446760a..bf419bae029 100644
--- a/engines/ags/shared/ac/common.h
+++ b/engines/ags/shared/ac/common.h
@@ -36,9 +36,6 @@ int get_our_eip();
extern const char *game_file_sig;
-// archive attributes to search for - al_findfirst breaks with 0
-#define FA_SEARCH -1
-
} // namespace AGS3
#endif
More information about the Scummvm-git-logs
mailing list