[Scummvm-git-logs] scummvm master -> 36684537014f50690f9e070ee47500a8145635f9
athrxx
noreply at scummvm.org
Mon Nov 15 15:40:07 UTC 2021
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
9e92ffea44 GUI: make parsing of GUI options more precise
3668453701 KYRA: fix RiscOS build
Commit: 9e92ffea44918e62de6a6b87b985135ca5cfd559
https://github.com/scummvm/scummvm/commit/9e92ffea44918e62de6a6b87b985135ca5cfd559
Author: athrxx (athrxx at scummvm.org)
Date: 2021-11-15T16:18:56+01:00
Commit Message:
GUI: make parsing of GUI options more precise
The parsing was rather lazy and would e. g. find "ega" in "midiSegaCD", so that the launcher offered me an "EGA" rendering mode for EOB SegaCD. Now, there is less lenience, but ScummVM will always write the string in the correct format anyway...
Changed paths:
common/gui_options.cpp
diff --git a/common/gui_options.cpp b/common/gui_options.cpp
index 57dec10c60..f3e4bfc01f 100644
--- a/common/gui_options.cpp
+++ b/common/gui_options.cpp
@@ -112,9 +112,15 @@ bool checkGameGUIOption(const String &option, const String &str) {
String parseGameGUIOptions(const String &str) {
String res;
- for (int i = 0; g_gameOptions[i].desc; i++)
- if (str.contains(g_gameOptions[i].desc))
- res += g_gameOptions[i].option;
+ for (int i = 0; g_gameOptions[i].desc; i++) {
+ for (uint32 ii = 0; ii < str.size(); ++ii) {
+ uint32 c_end = str.find(' ', ii);
+ if (c_end == (uint32)-1)
+ c_end = str.size();
+ if (str.substr(ii, c_end - ii).equals((g_gameOptions[i].desc)))
+ res += g_gameOptions[i].option;
+ }
+ }
return res;
}
Commit: 36684537014f50690f9e070ee47500a8145635f9
https://github.com/scummvm/scummvm/commit/36684537014f50690f9e070ee47500a8145635f9
Author: athrxx (athrxx at scummvm.org)
Date: 2021-11-15T16:20:27+01:00
Commit Message:
KYRA: fix RiscOS build
Changed paths:
engines/kyra/resource/resource.h
engines/kyra/resource/staticres.cpp
engines/kyra/resource/staticres_rpg.cpp
diff --git a/engines/kyra/resource/resource.h b/engines/kyra/resource/resource.h
index 7edd76ff21..86b4b7bfc7 100644
--- a/engines/kyra/resource/resource.h
+++ b/engines/kyra/resource/resource.h
@@ -1252,8 +1252,8 @@ public:
const HoFSeqData *loadHoFSequenceData(int id, int &entries);
const HoFSeqItemAnimData *loadHoFSeqItemAnimData(int id, int &entries);
const ItemAnimDefinition *loadItemAnimDefinition(int id, int &entries);
-#if defined(ENABLE_EOB) || defined(ENABLE_LOL)
const uint16 *loadRawDataBe16(int id, int &entries);
+#if defined(ENABLE_EOB) || defined(ENABLE_LOL)
const uint32 *loadRawDataBe32(int id, int &entries);
#endif // (ENABLE_EOB || ENABLE_LOL)
#ifdef ENABLE_LOL
@@ -1295,8 +1295,8 @@ private:
bool loadHoFSequenceData(Common::SeekableReadStream &stream, void *&ptr, int &size);
bool loadHoFSeqItemAnimData(Common::SeekableReadStream &stream, void *&ptr, int &size);
bool loadItemAnimDefinition(Common::SeekableReadStream &stream, void *&ptr, int &size);
-#if defined(ENABLE_EOB) || defined(ENABLE_LOL)
bool loadRawDataBe16(Common::SeekableReadStream &stream, void *&ptr, int &size);
+#if defined(ENABLE_EOB) || defined(ENABLE_LOL)
bool loadRawDataBe32(Common::SeekableReadStream &stream, void *&ptr, int &size);
#endif // (ENABLE_LOL || ENABLE_EOB)
#ifdef ENABLE_LOL
@@ -1321,8 +1321,8 @@ private:
void freeHoFSequenceData(void *&ptr, int &size);
void freeHoFSeqItemAnimData(void *&ptr, int &size);
void freeItemAnimDefinition(void *&ptr, int &size);
-#if defined(ENABLE_EOB) || defined(ENABLE_LOL)
void freeRawDataBe16(void *&ptr, int &size);
+#if defined(ENABLE_EOB) || defined(ENABLE_LOL)
void freeRawDataBe32(void *&ptr, int &size);
#endif // (ENABLE_EOB || ENABLE_LOL)
#ifdef ENABLE_LOL
diff --git a/engines/kyra/resource/staticres.cpp b/engines/kyra/resource/staticres.cpp
index b18d1e3101..2f3e902f89 100644
--- a/engines/kyra/resource/staticres.cpp
+++ b/engines/kyra/resource/staticres.cpp
@@ -266,8 +266,8 @@ bool StaticResource::init() {
{ kLoLCompassData, proc(loadDummy), proc(freeDummy) },
{ kLoLFlightShpData, proc(loadDummy), proc(freeDummy) },
#endif
-#if defined(ENABLE_EOB) || defined(ENABLE_LOL)
{ kRawDataBe16, proc(loadRawDataBe16), proc(freeRawDataBe16) },
+#if defined(ENABLE_EOB) || defined(ENABLE_LOL)
{ kRawDataBe32, proc(loadRawDataBe32), proc(freeRawDataBe32) },
#endif
#ifdef ENABLE_LOL
@@ -326,6 +326,10 @@ const ItemAnimDefinition *StaticResource::loadItemAnimDefinition(int id, int &en
return (const ItemAnimDefinition *)getData(id, k2ItemAnimDefinition, entries);
}
+const uint16 *StaticResource::loadRawDataBe16(int id, int &entries) {
+ return (const uint16 *)getData(id, kRawDataBe16, entries);
+}
+
bool StaticResource::prefetchId(int id) {
if (id == -1) {
for (DataMap::const_iterator i = _dataTable.begin(); i != _dataTable.end(); ++i) {
@@ -636,6 +640,18 @@ bool StaticResource::loadItemAnimDefinition(Common::SeekableReadStream &stream,
return true;
}
+bool StaticResource::loadRawDataBe16(Common::SeekableReadStream &stream, void *&ptr, int &size) {
+ size = stream.size() >> 1;
+
+ uint16 *r = new uint16[size];
+
+ for (int i = 0; i < size; i++)
+ r[i] = stream.readUint16BE();
+
+ ptr = r;
+ return true;
+}
+
void StaticResource::freeDummy(void *&ptr, int &size) {
}
@@ -714,6 +730,13 @@ void StaticResource::freeItemAnimDefinition(void *&ptr, int &size) {
size = 0;
}
+void StaticResource::freeRawDataBe16(void *&ptr, int &size) {
+ uint16 *data = (uint16 *)ptr;
+ delete[] data;
+ ptr = 0;
+ size = 0;
+}
+
#pragma mark -
void KyraEngine_LoK::initStaticResource() {
diff --git a/engines/kyra/resource/staticres_rpg.cpp b/engines/kyra/resource/staticres_rpg.cpp
index 91e9908737..ed3d7c3016 100644
--- a/engines/kyra/resource/staticres_rpg.cpp
+++ b/engines/kyra/resource/staticres_rpg.cpp
@@ -26,26 +26,10 @@
namespace Kyra {
#if defined(ENABLE_EOB) || defined(ENABLE_LOL)
-const uint16 *StaticResource::loadRawDataBe16(int id, int &entries) {
- return (const uint16 *)getData(id, kRawDataBe16, entries);
-}
-
const uint32 *StaticResource::loadRawDataBe32(int id, int &entries) {
return (const uint32 *)getData(id, kRawDataBe32, entries);
}
-bool StaticResource::loadRawDataBe16(Common::SeekableReadStream &stream, void *&ptr, int &size) {
- size = stream.size() >> 1;
-
- uint16 *r = new uint16[size];
-
- for (int i = 0; i < size; i++)
- r[i] = stream.readUint16BE();
-
- ptr = r;
- return true;
-}
-
bool StaticResource::loadRawDataBe32(Common::SeekableReadStream &stream, void *&ptr, int &size) {
size = stream.size() >> 2;
@@ -58,13 +42,6 @@ bool StaticResource::loadRawDataBe32(Common::SeekableReadStream &stream, void *&
return true;
}
-void StaticResource::freeRawDataBe16(void *&ptr, int &size) {
- uint16 *data = (uint16 *)ptr;
- delete[] data;
- ptr = 0;
- size = 0;
-}
-
void StaticResource::freeRawDataBe32(void *&ptr, int &size) {
uint32 *data = (uint32 *)ptr;
delete[] data;
More information about the Scummvm-git-logs
mailing list