[Scummvm-git-logs] scummvm master -> 11ded31a83e061ef50468cc3816f0c918bfdfa1a
dreammaster
dreammaster at scummvm.org
Wed Mar 3 02:57:40 UTC 2021
This automated email contains information about 3 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
8b158629c1 GLOBALS: Move audio.cpp globals to Globals
1686b7e4d9 AGS: Adding virtual destructors
11ded31a83 AGS: Added detection entries
Commit: 8b158629c14a78ef8009a08aab5c17581f53cc6d
https://github.com/scummvm/scummvm/commit/8b158629c14a78ef8009a08aab5c17581f53cc6d
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-03-02T18:53:52-08:00
Commit Message:
GLOBALS: Move audio.cpp globals to Globals
Changed paths:
engines/ags/engine/ac/game.cpp
engines/ags/engine/ac/global_audio.cpp
engines/ags/engine/ac/global_video.cpp
engines/ags/engine/game/savegame.cpp
engines/ags/engine/game/savegame_components.cpp
engines/ags/engine/media/audio/audio.cpp
engines/ags/engine/media/audio/audio.h
engines/ags/globals.cpp
engines/ags/globals.h
diff --git a/engines/ags/engine/ac/game.cpp b/engines/ags/engine/ac/game.cpp
index eb8a0733c4..27cf30baa8 100644
--- a/engines/ags/engine/ac/game.cpp
+++ b/engines/ags/engine/ac/game.cpp
@@ -1240,15 +1240,15 @@ void restore_game_thisroom(Stream *in, RestoredData &r_data) {
void restore_game_ambientsounds(Stream *in, RestoredData &r_data) {
for (int i = 0; i < MAX_SOUND_CHANNELS; ++i) {
- ambient[i].ReadFromFile(in);
+ _GP(ambient)[i].ReadFromFile(in);
}
for (int bb = 1; bb < MAX_SOUND_CHANNELS; bb++) {
- if (ambient[bb].channel == 0)
+ if (_GP(ambient)[bb].channel == 0)
r_data.DoAmbient[bb] = 0;
else {
- r_data.DoAmbient[bb] = ambient[bb].num;
- ambient[bb].channel = 0;
+ r_data.DoAmbient[bb] = _GP(ambient)[bb].num;
+ _GP(ambient)[bb].channel = 0;
}
}
}
diff --git a/engines/ags/engine/ac/global_audio.cpp b/engines/ags/engine/ac/global_audio.cpp
index 48fd8dd9df..40cfe0a7b1 100644
--- a/engines/ags/engine/ac/global_audio.cpp
+++ b/engines/ags/engine/ac/global_audio.cpp
@@ -52,11 +52,11 @@ void StopAmbientSound(int channel) {
if ((channel < 0) || (channel >= MAX_SOUND_CHANNELS))
quit("!StopAmbientSound: invalid channel");
- if (ambient[channel].channel == 0)
+ if (_GP(ambient)[channel].channel == 0)
return;
stop_and_destroy_channel(channel);
- ambient[channel].channel = 0;
+ _GP(ambient)[channel].channel = 0;
}
void PlayAmbientSound(int channel, int sndnum, int vol, int x, int y) {
@@ -71,8 +71,8 @@ void PlayAmbientSound(int channel, int sndnum, int vol, int x, int y) {
return;
// only play the sound if it's not already playing
- if ((ambient[channel].channel < 1) || (!channel_is_playing(ambient[channel].channel)) ||
- (ambient[channel].num != sndnum)) {
+ if ((_GP(ambient)[channel].channel < 1) || (!channel_is_playing(_GP(ambient)[channel].channel)) ||
+ (_GP(ambient)[channel].num != sndnum)) {
StopAmbientSound(channel);
// in case a normal non-ambient sound was playing, stop it too
@@ -86,17 +86,17 @@ void PlayAmbientSound(int channel, int sndnum, int vol, int x, int y) {
}
debug_script_log("Playing ambient sound %d on channel %d", sndnum, channel);
- ambient[channel].channel = channel;
+ _GP(ambient)[channel].channel = channel;
asound->_priority = 15; // ambient sound higher priority than normal sfx
set_clip_to_channel(channel, asound);
}
// calculate the maximum distance away the player can be, using X
// only (since X centred is still more-or-less total Y)
- ambient[channel].maxdist = ((x > _GP(thisroom).Width / 2) ? x : (_GP(thisroom).Width - x)) - AMBIENCE_FULL_DIST;
- ambient[channel].num = sndnum;
- ambient[channel].x = x;
- ambient[channel].y = y;
- ambient[channel].vol = vol;
+ _GP(ambient)[channel].maxdist = ((x > _GP(thisroom).Width / 2) ? x : (_GP(thisroom).Width - x)) - AMBIENCE_FULL_DIST;
+ _GP(ambient)[channel].num = sndnum;
+ _GP(ambient)[channel].x = x;
+ _GP(ambient)[channel].y = y;
+ _GP(ambient)[channel].vol = vol;
update_ambient_sound_vol();
}
@@ -354,8 +354,8 @@ void SetChannelVolume(int chan, int newvol) {
auto *ch = lock.GetChannelIfPlaying(chan);
if (ch) {
- if (chan == ambient[chan].channel) {
- ambient[chan].vol = newvol;
+ if (chan == _GP(ambient)[chan].channel) {
+ _GP(ambient)[chan].vol = newvol;
update_ambient_sound_vol();
} else
ch->set_volume(newvol);
diff --git a/engines/ags/engine/ac/global_video.cpp b/engines/ags/engine/ac/global_video.cpp
index 2217f104cd..2f5dc91f21 100644
--- a/engines/ags/engine/ac/global_video.cpp
+++ b/engines/ags/engine/ac/global_video.cpp
@@ -58,7 +58,7 @@ void pause_sound_if_necessary_and_play_video(const char *name, int skip, int fla
int musplaying = _GP(play).cur_music_number, i;
int ambientWas[MAX_SOUND_CHANNELS];
for (i = 1; i < MAX_SOUND_CHANNELS; i++)
- ambientWas[i] = ambient[i].channel;
+ ambientWas[i] = _GP(ambient)[i].channel;
if ((strlen(name) > 3) && (ags_stricmp(&name[strlen(name) - 3], "ogv") == 0)) {
play_theora_video(name, skip, flags, true);
@@ -81,7 +81,7 @@ void pause_sound_if_necessary_and_play_video(const char *name, int skip, int fla
newmusic(musplaying);
for (i = 1; i < MAX_SOUND_CHANNELS; i++) {
if (ambientWas[i] > 0)
- PlayAmbientSound(ambientWas[i], ambient[i].num, ambient[i].vol, ambient[i].x, ambient[i].y);
+ PlayAmbientSound(ambientWas[i], _GP(ambient)[i].num, _GP(ambient)[i].vol, _GP(ambient)[i].x, _GP(ambient)[i].y);
}
}
}
diff --git a/engines/ags/engine/game/savegame.cpp b/engines/ags/engine/game/savegame.cpp
index 9155f2f469..86a98c75b9 100644
--- a/engines/ags/engine/game/savegame.cpp
+++ b/engines/ags/engine/game/savegame.cpp
@@ -598,7 +598,7 @@ HSaveError DoAfterRestore(const PreservedParams &pp, const RestoredData &r_data)
// TODO: investigate loop range
for (int i = 1; i < MAX_SOUND_CHANNELS; ++i) {
if (r_data.DoAmbient[i])
- PlayAmbientSound(i, r_data.DoAmbient[i], ambient[i].vol, ambient[i].x, ambient[i].y);
+ PlayAmbientSound(i, r_data.DoAmbient[i], _GP(ambient)[i].vol, _GP(ambient)[i].x, _GP(ambient)[i].y);
}
update_directional_sound_vol();
diff --git a/engines/ags/engine/game/savegame_components.cpp b/engines/ags/engine/game/savegame_components.cpp
index e78300b3d2..c2d3f1ffb1 100644
--- a/engines/ags/engine/game/savegame_components.cpp
+++ b/engines/ags/engine/game/savegame_components.cpp
@@ -383,7 +383,7 @@ HSaveError WriteAudio(PStream out) {
// Ambient sound
for (int i = 0; i < MAX_SOUND_CHANNELS; ++i)
- ambient[i].WriteToFile(out.get());
+ _GP(ambient)[i].WriteToFile(out.get());
return HSaveError::None();
}
@@ -436,14 +436,14 @@ HSaveError ReadAudio(PStream in, int32_t cmp_ver, const PreservedParams &pp, Res
// Ambient sound
for (int i = 0; i < MAX_SOUND_CHANNELS; ++i)
- ambient[i].ReadFromFile(in.get());
+ _GP(ambient)[i].ReadFromFile(in.get());
for (int i = 1; i < MAX_SOUND_CHANNELS; ++i) {
- if (ambient[i].channel == 0) {
+ if (_GP(ambient)[i].channel == 0) {
r_data.DoAmbient[i] = 0;
} else {
- r_data.DoAmbient[i] = ambient[i].num;
- ambient[i].channel = 0;
+ r_data.DoAmbient[i] = _GP(ambient)[i].num;
+ _GP(ambient)[i].channel = 0;
}
}
return err;
diff --git a/engines/ags/engine/media/audio/audio.cpp b/engines/ags/engine/media/audio/audio.cpp
index 5f1523c6e9..45fedaecc9 100644
--- a/engines/ags/engine/media/audio/audio.cpp
+++ b/engines/ags/engine/media/audio/audio.cpp
@@ -53,33 +53,31 @@ using namespace AGS::Engine;
//-----------------------
//sound channel management; all access goes through here, which can't be done without a lock
-static std::array<SOUNDCLIP *> _channels(MAX_SOUND_CHANNELS + 1);
-
AudioChannelsLock::AudioChannelsLock() : MutexLock(::AGS::g_vm->_sMutex) {
}
SOUNDCLIP *AudioChannelsLock::GetChannel(int index) {
- return _channels[index];
+ return _GP(audioChannels)[index];
}
SOUNDCLIP *AudioChannelsLock::GetChannelIfPlaying(int index) {
- auto *ch = _channels[index];
+ auto *ch = _GP(audioChannels)[index];
return (ch != nullptr && ch->is_playing()) ? ch : nullptr;
}
SOUNDCLIP *AudioChannelsLock::SetChannel(int index, SOUNDCLIP *ch) {
// TODO: store clips in smart pointers
- if (_channels[index] == ch)
+ if (_GP(audioChannels)[index] == ch)
Debug::Printf(kDbgMsg_Warn, "WARNING: channel %d - same clip assigned", index);
- else if (_channels[index] != nullptr && ch != nullptr)
+ else if (_GP(audioChannels)[index] != nullptr && ch != nullptr)
Debug::Printf(kDbgMsg_Warn, "WARNING: channel %d - clip overwritten", index);
- _channels[index] = ch;
+ _GP(audioChannels)[index] = ch;
return ch;
}
SOUNDCLIP *AudioChannelsLock::MoveChannel(int to, int from) {
- auto from_ch = _channels[from];
- _channels[from] = nullptr;
+ auto from_ch = _GP(audioChannels)[from];
+ _GP(audioChannels)[from] = nullptr;
return SetChannel(to, from_ch);
}
@@ -470,8 +468,8 @@ void stop_and_destroy_channel_ex(int chid, bool resetLegacyMusicSettings) {
// don't update 'crossFading' here as it is updated in all the cross-fading functions.
// destroyed an ambient sound channel
- if (ambient[chid].channel > 0)
- ambient[chid].channel = 0;
+ if (_GP(ambient)[chid].channel > 0)
+ _GP(ambient)[chid].channel = 0;
if ((chid == SCHAN_MUSIC) && (resetLegacyMusicSettings)) {
_GP(play).cur_music_number = -1;
@@ -524,9 +522,6 @@ SOUNDCLIP *load_sound_clip_from_old_style_number(bool isMusic, int indexNumber,
//=============================================================================
-// TODO: double check that ambient sounds array actually needs +1
-std::array<AmbientSound> ambient(MAX_SOUND_CHANNELS + 1);
-
int get_volume_adjusted_for_distance(int volume, int sndX, int sndY, int sndMaxDist) {
int distx = playerchar->x - sndX;
int disty = playerchar->y - sndY;
@@ -567,7 +562,7 @@ void update_ambient_sound_vol() {
for (int chan = 1; chan < MAX_SOUND_CHANNELS; chan++) {
- AmbientSound *thisSound = &ambient[chan];
+ AmbientSound *thisSound = &_GP(ambient)[chan];
if (thisSound->channel == 0)
continue;
diff --git a/engines/ags/engine/media/audio/audio.h b/engines/ags/engine/media/audio/audio.h
index abdcdd4ff9..56b84dfbec 100644
--- a/engines/ags/engine/media/audio/audio.h
+++ b/engines/ags/engine/media/audio/audio.h
@@ -143,9 +143,6 @@ extern int crossFadeVolumeAtStart;
extern SOUNDCLIP *cachedQueuedMusic;
-// TODO: double check that ambient sounds array actually needs +1
-extern std::array<AmbientSound> ambient;
-
} // namespace AGS3
#endif
diff --git a/engines/ags/globals.cpp b/engines/ags/globals.cpp
index baa516a870..86f8b78030 100644
--- a/engines/ags/globals.cpp
+++ b/engines/ags/globals.cpp
@@ -50,6 +50,8 @@
#include "ags/engine/ac/dynobj/scriptobject.h"
#include "ags/engine/ac/dynobj/scriptregion.h"
#include "ags/engine/ac/dynobj/scriptstring.h"
+#include "ags/engine/media/audio/ambientsound.h"
+#include "ags/engine/media/audio/audiodefines.h"
#include "ags/engine/script/executingscript.h"
#include "ags/engine/script/nonblockingscriptfunction.h"
#include "ags/engine/script/script.h"
@@ -63,6 +65,11 @@ Globals::Globals() {
Common::fill(&_mousecurs[0], &_mousecurs[MAXCURSORS], nullptr);
+ // audio.cpp
+ _audioChannels = new std::array<SOUNDCLIP *>(MAX_SOUND_CHANNELS + 1);
+ // TODO: double check that ambient sounds array actually needs +1
+ _ambient = new std::array<AmbientSound>(MAX_SOUND_CHANNELS + 1);
+
// debugmanager.cpp globals
_DbgMgr = new AGS::Shared::DebugManager();
@@ -129,7 +136,11 @@ Globals::Globals() {
Globals::~Globals() {
g_globals = nullptr;
- // debug.cpp
+ // audio.cpp
+ delete _audioChannels;
+ delete _ambient;
+
+ // debugmanager.cpp
delete _DbgMgr;
// fonts.cpp
diff --git a/engines/ags/globals.h b/engines/ags/globals.h
index d7f237bbaa..5207d12050 100644
--- a/engines/ags/globals.h
+++ b/engines/ags/globals.h
@@ -27,6 +27,7 @@
#include "ags/shared/util/version.h"
#include "ags/shared/gui/guimain.h"
#include "ags/shared/script/cc_script.h"
+#include "ags/lib/std/array.h"
#include "ags/lib/std/set.h"
namespace AGS3 {
@@ -51,6 +52,7 @@ class SplitLines;
class TTFFontRenderer;
class WFNFontRenderer;
+struct AmbientSound;
struct CCAudioChannel;
struct CCAudioClip;
struct CCCharacter;
@@ -82,6 +84,7 @@ struct ScriptObject;
struct ScriptRegion;
struct ScriptString;
struct ScriptSystem;
+struct SOUNDCLIP;
struct SpriteListEntry;
struct ViewStruct;
@@ -100,6 +103,16 @@ public:
/**@}*/
+ /**
+ * \defgroup audio globals
+ * @{
+ */
+
+ std::array<SOUNDCLIP *> *_audioChannels;
+ std::array<AmbientSound> *_ambient;
+
+ /**@}*/
+
/**
* \defgroup debug globals
* @{
Commit: 1686b7e4d96fe51be8875eca4979b3e4e449f2a8
https://github.com/scummvm/scummvm/commit/1686b7e4d96fe51be8875eca4979b3e4e449f2a8
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-03-02T18:53:52-08:00
Commit Message:
AGS: Adding virtual destructors
Changed paths:
engines/ags/engine/ac/dynobj/cc_dynamicarray.h
engines/ags/engine/ac/dynobj/cc_dynamicobject.h
engines/ags/engine/ac/dynobj/scriptfile.h
diff --git a/engines/ags/engine/ac/dynobj/cc_dynamicarray.h b/engines/ags/engine/ac/dynobj/cc_dynamicarray.h
index d68244e64c..8df26233b8 100644
--- a/engines/ags/engine/ac/dynobj/cc_dynamicarray.h
+++ b/engines/ags/engine/ac/dynobj/cc_dynamicarray.h
@@ -32,6 +32,8 @@ namespace AGS3 {
#define ARRAY_MANAGED_TYPE_FLAG 0x80000000
struct CCDynamicArray final : ICCDynamicObject {
+ virtual ~CCDynamicArray() {}
+
// return the type name of the object
const char *GetType() override;
int Dispose(const char *address, bool force) override;
diff --git a/engines/ags/engine/ac/dynobj/cc_dynamicobject.h b/engines/ags/engine/ac/dynobj/cc_dynamicobject.h
index dc1a3ce503..4eaa249dd5 100644
--- a/engines/ags/engine/ac/dynobj/cc_dynamicobject.h
+++ b/engines/ags/engine/ac/dynobj/cc_dynamicobject.h
@@ -92,7 +92,7 @@ struct ICCDynamicObject {
protected:
ICCDynamicObject() {}
- ~ICCDynamicObject() {}
+ virtual ~ICCDynamicObject() {}
};
struct ICCObjectReader {
diff --git a/engines/ags/engine/ac/dynobj/scriptfile.h b/engines/ags/engine/ac/dynobj/scriptfile.h
index b5085c2e5a..990223d0e6 100644
--- a/engines/ags/engine/ac/dynobj/scriptfile.h
+++ b/engines/ags/engine/ac/dynobj/scriptfile.h
@@ -50,6 +50,7 @@ struct sc_File final : ICCDynamicObject {
void Close();
sc_File();
+ virtual ~sc_File() {}
// Legacy support for reading and writing object values by their relative offset
const char *GetFieldPtr(const char *address, intptr_t offset) override;
Commit: 11ded31a83e061ef50468cc3816f0c918bfdfa1a
https://github.com/scummvm/scummvm/commit/11ded31a83e061ef50468cc3816f0c918bfdfa1a
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2021-03-02T18:53:52-08:00
Commit Message:
AGS: Added detection entries
Changed paths:
engines/ags/detection_tables.h
diff --git a/engines/ags/detection_tables.h b/engines/ags/detection_tables.h
index b01da73040..2af4d3f321 100644
--- a/engines/ags/detection_tables.h
+++ b/engines/ags/detection_tables.h
@@ -353,6 +353,7 @@ const PlainGameDescriptor GAME_NAMES[] = {
{ "bigbadwolf3lilpiggies", "Big Bad Wolf & 3 Lil' Piggies" },
{ "bigglesonmars", "Biggles On Mars" },
{ "billyboysimportantwinelottery", "Billy Boy's Important Wine Lottery" },
+ { "billymasterswasright", "Billy Masters Was Right" },
{ "birdy", "Birdy" },
{ "bj7thecardinalsins", "BJ7: The Cardinal Sins" },
{ "bjcase2", "BJ Case 2" },
@@ -437,6 +438,7 @@ const PlainGameDescriptor GAME_NAMES[] = {
{ "colourwise", "ColourWise" },
{ "colourwiseleveleditor", "ColourWise - Level Editor" },
{ "columbuslander", "Columbus Lander" },
+ { "comedyquest", "Comedy Quest" },
{ "comradecitizenpart1", "Comrade Citizen (part 1)" },
{ "confessionsofacatburglar", "Confessions Of A Cat Burglar" },
{ "conspiracybelowzero", "Conspiracy: Below-Zero" },
@@ -816,8 +818,8 @@ const PlainGameDescriptor GAME_NAMES[] = {
{ "magssep2007", "MAGS Sep 2007" },
{ "manboy", "Man Boy" },
{ "maniacmansiondeluxe", "Maniac Mansion Deluxe" },
- { "maniacmansionmania", "Maniac Mansion Mania" },
- { "maniacmansionmania02", "Maniac Mansion Mania 02" },
+ { "maniacmansionmania1", "Maniac Mansion Mania" },
+ { "maniacmansionmania2", "Maniac Mansion Mania 02" },
{ "mardsrevengebytk", "Mard's Revenge by TK" },
{ "martyausdemall", "Marty aus dem All" },
{ "mash", "M*A*S*H*: The Point n' Click Adventure" },
@@ -1187,7 +1189,7 @@ const PlainGameDescriptor GAME_NAMES[] = {
{ "sword", "Sword" },
{ "sydneyfindsemployment", "Sydney Finds Employment" },
{ "sydneytreadsthecatwalk", "Sydney Treads the Catwalk" },
- { "symplokelaleyendadegustavobuenocapitulo1", "Symploke. La Leyenda de Gustavo Bueno. Capitulo 1" },
+ { "symploke1", "Symploke. La Leyenda de Gustavo Bueno. Capitulo 1" },
{ "talesofchickenry", "Tales of Chickenry" },
{ "tao", "Tao" },
{ "tarthenia", "Tarthenia" },
@@ -1332,6 +1334,7 @@ const PlainGameDescriptor GAME_NAMES[] = {
{ "unintelligentdesign", "Unintelligent Design" },
{ "unprofe", "Un Profe" },
{ "updatequest", "Update Quest" },
+ { "urbanwitchstory", "Urban Witch Story" },
{ "utopiaoftyrant", "Utopia of Tyrant" },
{ "vacationquestthing", "Vacation Quest... Thing" },
{ "valhallaextinction", "Valhalla Extinction" },
@@ -1595,6 +1598,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("atotkdeluxe", "atotk.exe", "68d4f3488a9dcec74584651c0e29e439", 5078719), // Steam
GAME_ENTRY("apotheosis", "the apotheosis project.exe", "0cab252e992e5da65bdbf3648c2b70df", 1144087889), // 1.0
GAME_ENTRY("apotheosis", "the apotheosis project.exe", "0115a64ddec9396108f32da31d761ecb", 1144677502), //Steam
+ GAME_ENTRY("apotheosis", "The Apotheosis Project.ags", "0d9ae5a4ffd3e3e968c6addb5d524954", 1142362222), // Steam Linux
GAME_ENTRY("beer", "beer!.exe", "6f201fd7a19869c85f49c7c471d0479a", 5055091), // Steam
GAME_ENTRY("blackwell1", "blackwell1.exe", "605e124cb7e0b56841c471e2d641c224", 18822697), // GOG
GAME_ENTRY_PLUGIN("blackwell1", "blackwell1.exe", "605e124cb7e0b56841c471e2d641c224", 18824597, AGSTEAM_BLACKWELL), // Steam
@@ -1697,6 +1701,8 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("qfi", "qfi.exe", "32b36aebe0729c9360bc10dcddc0653c", 538562096), // GOG
GAME_ENTRY("qfi", "qfi.exe", "32b36aebe0729c9360bc10dcddc0653c", 538681872), // Steam
GAME_ENTRY("qfi", "agsgame.dat", "9efb669ada4b685f9a5a91ce161424a7", 532694795), // Linux Groupees
+ GAME_ENTRY("qfi", "agsgame.dat", "2a0ba29e479ca5aa8c6b4233f030e78f", 536391599),
+ GAME_ENTRY("qfi", "agsgame.dat", "2a0ba29e479ca5aa8c6b4233f030e78f", 536513114), // Steam Linux
GAME_ENTRY("resonance", "resonance.exe", "2e635c22bcbf0ed3d46f1bcde71812d4", 849404957), // GOG
GAME_ENTRY("resonance", "resonance.exe", "2e635c22bcbf0ed3d46f1bcde71812d4", 849410915), // Steam
GAME_ENTRY("richardandalice", "richardandalice.exe", "1023d348f67ba958f78ed62d029565c7", 109164768), // Steam
@@ -1705,6 +1711,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("roguestate", "roguestate.exe", "981a1c4d5a64b8ebe300f9769acf0fe5", 895486573), // Steam
GAME_ENTRY("samaritan", "samaritan.exe", "79dd677433bbb10d4970367eb68b243c", 78070237), // Groupees, v1.1
GAME_ENTRY("samaritan", "samaritan.exe", "5fb404a4a7c9cd1449dfdd3d23fa0250", 78753952), // Steam
+ GAME_ENTRY("samaritan", "samaritan.exe", "6a3b669b7d34ec9356a665afe0c2c003", 78438375), // Steam
GAME_ENTRY("shardlight", "shardlight.exe", "ee801fba52d252249677a9170bd2db96", 642157876), // Steam
GAME_ENTRY("shardlight", "shardlight.exe", "ee801fba52d252249677a9170bd2db96", 642151325),
GAME_ENTRY("shivah", "shivah.exe", "6cddccb3744ec5c6af7c398fb7b3b11c", 19542815), // Official website
@@ -1964,6 +1971,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("bigbadwolf3lilpiggies", "big bad wolf.exe", "06a03fe35791b0578068ab1873455463", 5812024),
GAME_ENTRY("bigglesonmars", "biggles on mars.exe", "089fab88e6e1075a2f5b271f6f5b3c57", 29048931),
GAME_ENTRY("billyboysimportantwinelottery", "billyboy.exe", "5881d6b88386317dc9d67524a14b11d4", 4872317),
+ GAME_ENTRY("billymasterswasright", "Billy Masters Was Right.exe", "6fe5526eb7dc5b8fe82fb447a4701af7", 44901409),
GAME_ENTRY("birdy", "birdy.exe", "06a03fe35791b0578068ab1873455463", 4250415),
GAME_ENTRY("bj7thecardinalsins", "bj7.exe", "18b284c22010850f79bc5c20054a70c4", 13714066),
GAME_ENTRY("bjcase2", "bj2.exe", "465f972675db2da6040518221af5b0ba", 6318491),
@@ -2048,6 +2056,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("colourwise", "colourwise.exe", "473f0e2fd72b747cef62d91090ab74c7", 24461117),
GAME_ENTRY("colourwiseleveleditor", "colourwise - Level Editor.exe", "3e09048ec0763a90ffa4eaeeb8f96df5", 3365519),
GAME_ENTRY("columbuslander", "columbus lander.exe", "779421cd8ad5268e2efdb26e04608db7", 48744943),
+ GAME_ENTRY("comedyquest", "Comedy Quest.exe", "7a0123d8f6575e9954a18125456515f4", 22381783), // Steam
GAME_ENTRY("comradecitizenpart1", "citizen.exe", "06a03fe35791b0578068ab1873455463", 2174301),
GAME_ENTRY("confessionsofacatburglar", "cat.exe", "0500aacb6c176d47ac0f8158f055db83", 1328541),
GAME_ENTRY("conspiracybelowzero", "conspiracy.exe", "338fa79960d40689063af31c671b8729", 395111008),
@@ -2421,8 +2430,9 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("magssep2007", "MAGS Sep 2007.exe", "f120690b506dd63cd7d1112ea6af2f77", 6007305),
GAME_ENTRY("manboy", "Man Boy.exe", "1275885401b7d2ece491e704535707d9", 3038532),
GAME_ENTRY("maniacmansiondeluxe", "Maniac.exe", "465f972675db2da6040518221af5b0ba", 10409172),
- GAME_ENTRY("maniacmansionmania", "MMM.exe", "465f972675db2da6040518221af5b0ba", 5476481),
- GAME_ENTRY("maniacmansionmania02", "MMM02.exe", "3b7cceb3e4bdb031dc5d8f290936e94b", 5830457),
+ GAME_ENTRY("maniacmansionmania1", "MMM.exe", "465f972675db2da6040518221af5b0ba", 5476481),
+ GAME_ENTRY("maniacmansionmania1", "MMM.exe", "137a2bc940f033beab257b2fa88526ba", 10917227),
+ GAME_ENTRY("maniacmansionmania2", "MMM02.exe", "3b7cceb3e4bdb031dc5d8f290936e94b", 5830457),
GAME_ENTRY("mardsrevengebytk", "MPLR.exe", "f3a13b2d6c2e0fe04c6f466062920e23", 1771793),
GAME_ENTRY("martyausdemall", "test3.exe", "0710e2ec71042617f565c01824f0cf3c", 4352013),
GAME_ENTRY("mash", "MASH.ags", "8fe67d5a066d4ab203db0cce102ed86c", 12536184),
@@ -2799,7 +2809,8 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("sword", "Sword.exe", "0500aacb6c176d47ac0f8158f055db83", 1847692),
GAME_ENTRY("sydneyfindsemployment", "sydney.exe", "06a03fe35791b0578068ab1873455463", 17351738),
GAME_ENTRY("sydneytreadsthecatwalk", "sydney two.exe", "615e806856b7730afadf1fea9a756b70", 31480339),
- GAME_ENTRY("symplokelaleyendadegustavobuenocapitulo1", "Symploke.exe", "ff20c8c9dda8379607db87e7726909c6", 29996616),
+ GAME_ENTRY("symploke1", "Symploke.exe", "ff20c8c9dda8379607db87e7726909c6", 29996616),
+ GAME_ENTRY("symploke1", "symploke1.exe", "ff20c8c9dda8379607db87e7726909c6", 57363019),
GAME_ENTRY("talesofchickenry", "Chickenry.exe", "aabdafae8b57dfc48fdf158a72326c23", 50338519),
GAME_ENTRY("tao", "Tao through space and time AGS.exe", "7a3096ac0237cb6aa8e1718e28caf039", 35930047),
GAME_ENTRY("tarthenia", "Tarthenia.exe", "a524cbb1c51589903c4043b98917f1d9", 1047988125),
@@ -2956,6 +2967,7 @@ const AGSGameDescription GAME_DESCRIPTIONS[] = {
GAME_ENTRY("unintelligentdesign", "UD.exe", "5ca1bc01c5a45388bd5c84ef36077361", 6019596),
GAME_ENTRY("unprofe", "Un Profe.exe", "e88fd6a23a5e498d7b0d50e3bb914085", 3465541),
GAME_ENTRY("updatequest", "U-Quest.exe", "06a03fe35791b0578068ab1873455463", 1776804),
+ GAME_ENTRY("urbanwitchstory", "Urban Witch Story.exe", "636950f50c877767bca7e2b1250632f7", 441430956),
GAME_ENTRY("utopiaoftyrant", "Utopia_of_a_Tyrant.exe", "f8a42e09e40a7ab1cd2a21f74a5e0980", 80966652),
GAME_ENTRY("vacationquestthing", "MGA.exe", "95b7dd55f6e15c8a2118856ed9fe8ff9", 943647),
GAME_ENTRY("valhallaextinction", "MAGSjuly2016.exe", "95864ae16f51c512985007dca83c1370", 4464850),
More information about the Scummvm-git-logs
mailing list