[Scummvm-git-logs] scummvm master -> 9c38762278fb4a330e92990c13a4a6ffa8d0e418

antoniou79 noreply at scummvm.org
Wed Aug 9 11:59:33 UTC 2023


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:
5efed15ec8 ACCESS: Add matching paths to SearchMan in case insensitive way
9c38762278 ACCESS: Fix warning for new Common::Point arrays


Commit: 5efed15ec851f71d1e24235116709a82bea4744a
    https://github.com/scummvm/scummvm/commit/5efed15ec851f71d1e24235116709a82bea4744a
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2023-08-09T14:54:13+03:00

Commit Message:
ACCESS: Add matching paths to SearchMan in case insensitive way

Previously the use of getChild("tdrom") was causing issues in File Systems such as on Android

getChild("tdrom") is "case sensitive" as the name given in the parameter is used for this FSNode,
but that name is not necessarily the actual name of the file or folder in the File System.
This can cause, then, methods such as FSNode::isDirectory() to fail.
Using the addSubDirectoryMatching() directly addresses this, since it can use a case insensitive
pattern to match folders and subfolders of folders, provided that folders are seperated
in the pattern with a forward slash.

Changed paths:
    engines/access/access.cpp


diff --git a/engines/access/access.cpp b/engines/access/access.cpp
index 12572adbce6..ecc401e0a9e 100644
--- a/engines/access/access.cpp
+++ b/engines/access/access.cpp
@@ -159,12 +159,13 @@ void AccessEngine::initialize() {
 		// - The MCGA version, in the CDROM folder
 		// - The VESA version, in the TDROM folder
 		// We use the hires version.
-		const Common::FSNode cdromDir = gameDataDir.getChild("tdrom");
+
+		// Use forward slash for the folders separator, as documented for SearchSet::addSubDirectoryMatching()
+		const Common::String subfolderMatchPrefix = "tdrom/";
 
 		for (int idx = 0; idx < 15; ++idx) {
-			Common::String folder = (idx == 0) ? "game" :
-				Common::String::format("chap%.2d", idx);
-			SearchMan.addSubDirectoryMatching(cdromDir, folder);
+			Common::String folder = subfolderMatchPrefix + ((idx == 0) ? "game" : Common::String::format("chap%.2d", idx));
+			SearchMan.addSubDirectoryMatching(gameDataDir, folder);
 		}
 	}
 


Commit: 9c38762278fb4a330e92990c13a4a6ffa8d0e418
    https://github.com/scummvm/scummvm/commit/9c38762278fb4a330e92990c13a4a6ffa8d0e418
Author: antoniou79 (a.antoniou79 at gmail.com)
Date: 2023-08-09T14:54:14+03:00

Commit Message:
ACCESS: Fix warning for new Common::Point arrays

Warning comes from Walloc-size-larger-than

Warning text was:
" warning: argument 1 range [18446744073709551615, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Walloc-size-larger-than=]
 _walkOffDR = new Common::Point[dataCount]"

Changed paths:
    engines/access/access.h
    engines/access/amazon/amazon_player.cpp
    engines/access/martian/martian_player.cpp
    engines/access/player.cpp


diff --git a/engines/access/access.h b/engines/access/access.h
index 1cbe71cdf18..a6cf8ea0861 100644
--- a/engines/access/access.h
+++ b/engines/access/access.h
@@ -166,7 +166,7 @@ public:
 	ImageEntryList _images;
 	int _mouseMode;
 
-	int _playerDataCount;
+	uint8 _playerDataCount;
 	int _currentManOld;
 	int _converseMode;
 	bool _currentCharFlag;
diff --git a/engines/access/amazon/amazon_player.cpp b/engines/access/amazon/amazon_player.cpp
index a29c999438f..729dc8e9957 100644
--- a/engines/access/amazon/amazon_player.cpp
+++ b/engines/access/amazon/amazon_player.cpp
@@ -47,7 +47,7 @@ void AmazonPlayer::load() {
 		_downDelta = -2;
 		_scrollConst = 2;
 
-		for (int i = 0; i < _vm->_playerDataCount; ++i) {
+		for (uint8 i = 0; i < _vm->_playerDataCount; ++i) {
 			_walkOffRight[i] = OVEROFFR[i];
 			_walkOffLeft[i] = OVEROFFL[i];
 			_walkOffUp[i] = OVEROFFU[i];
@@ -78,7 +78,7 @@ void AmazonPlayer::load() {
 		_diagDownWalkMax = 5;
 		_game->_guard->setPosition(Common::Point(56, 190));
 	} else {
-		for (int i = 0; i < _vm->_playerDataCount; ++i) {
+		for (uint8 i = 0; i < _vm->_playerDataCount; ++i) {
 			_walkOffRight[i] = SIDEOFFR[i];
 			_walkOffLeft[i] = SIDEOFFL[i];
 			_walkOffUp[i] = SIDEOFFU[i];
diff --git a/engines/access/martian/martian_player.cpp b/engines/access/martian/martian_player.cpp
index 7cf845b842a..39d57a755bb 100644
--- a/engines/access/martian/martian_player.cpp
+++ b/engines/access/martian/martian_player.cpp
@@ -46,7 +46,7 @@ void MartianPlayer::load() {
 	_downDelta = -5;
 	_scrollConst = 5;
 
-	for (int i = 0; i < _vm->_playerDataCount; ++i) {
+	for (uint8 i = 0; i < _vm->_playerDataCount; ++i) {
 		_walkOffRight[i] = SIDEOFFR[i];
 		_walkOffLeft[i] = SIDEOFFL[i];
 		_walkOffUp[i] = SIDEOFFU[i];
diff --git a/engines/access/player.cpp b/engines/access/player.cpp
index 8b05b8dc02f..825b0bd51c6 100644
--- a/engines/access/player.cpp
+++ b/engines/access/player.cpp
@@ -98,7 +98,7 @@ Player::~Player() {
 }
 
 void Player::load() {
-	int dataCount = _vm->_playerDataCount;
+	uint8 dataCount = _vm->_playerDataCount;
 	_walkOffRight = new int[dataCount];
 	_walkOffLeft = new int[dataCount];
 	_walkOffUp = new int[dataCount];




More information about the Scummvm-git-logs mailing list