[Scummvm-git-logs] scummvm master -> 06fac89723638f57d4d2160e743ecd82a774ab17
neuromancer
noreply at scummvm.org
Thu Aug 10 10:48:09 UTC 2023
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:
8a78be95e5 FREESCAPE: correct castle detection entry
a2d978bf21 FREESCAPE: avoid player to escape the game area
06fac89723 FREESCAPE: improved reading of extra colors in amiga/atari
Commit: 8a78be95e584588f87633efa93fc1400c0cbd8b5
https://github.com/scummvm/scummvm/commit/8a78be95e584588f87633efa93fc1400c0cbd8b5
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2023-08-10T12:50:05+02:00
Commit Message:
FREESCAPE: correct castle detection entry
Changed paths:
engines/freescape/detection.cpp
diff --git a/engines/freescape/detection.cpp b/engines/freescape/detection.cpp
index 5fc3d2bf8ae..b6b404c9f3c 100644
--- a/engines/freescape/detection.cpp
+++ b/engines/freescape/detection.cpp
@@ -508,7 +508,7 @@ static const ADGameDescription gameDescriptions[] = {
},
Common::EN_ANY,
Common::kPlatformAmiga,
- ADGF_UNSTABLE,
+ ADGF_UNSTABLE | ADGF_DEMO,
GUIO1(GUIO_NOMIDI)
},
{
Commit: a2d978bf21b06bb2c9c924552162eaa1285639e9
https://github.com/scummvm/scummvm/commit/a2d978bf21b06bb2c9c924552162eaa1285639e9
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2023-08-10T12:50:05+02:00
Commit Message:
FREESCAPE: avoid player to escape the game area
Changed paths:
engines/freescape/movement.cpp
diff --git a/engines/freescape/movement.cpp b/engines/freescape/movement.cpp
index 170186ae3a8..cd58d40ba43 100644
--- a/engines/freescape/movement.cpp
+++ b/engines/freescape/movement.cpp
@@ -253,6 +253,7 @@ void FreescapeEngine::rise() {
}
}
}
+ checkIfStillInArea();
_lastPosition = _position;
debugC(1, kFreescapeDebugMove, "new player position: %f, %f, %f", _position.x(), _position.y(), _position.z());
executeMovementConditions();
@@ -271,7 +272,7 @@ void FreescapeEngine::lower() {
_playerHeightNumber--;
changePlayerHeight(_playerHeightNumber);
}
-
+ checkIfStillInArea();
_lastPosition = _position;
debugC(1, kFreescapeDebugMove, "new player position: %f, %f, %f", _position.x(), _position.y(), _position.z());
executeMovementConditions();
@@ -318,6 +319,8 @@ void FreescapeEngine::move(CameraMovement direction, uint8 scale, float deltaTim
if (!_flyMode)
destination.y() = positionY;
resolveCollisions(destination);
+ checkIfStillInArea();
+
_lastPosition = _position;
debugC(1, kFreescapeDebugMove, "new player position: %f, %f, %f", _position.x(), _position.y(), _position.z());
//debugC(1, kFreescapeDebugMove, "player height: %f", _position.y() - areaScale * _playerHeight);
Commit: 06fac89723638f57d4d2160e743ecd82a774ab17
https://github.com/scummvm/scummvm/commit/06fac89723638f57d4d2160e743ecd82a774ab17
Author: neuromancer (gustavo.grieco at gmail.com)
Date: 2023-08-10T12:50:05+02:00
Commit Message:
FREESCAPE: improved reading of extra colors in amiga/atari
Changed paths:
engines/freescape/loaders/8bitBinaryLoader.cpp
diff --git a/engines/freescape/loaders/8bitBinaryLoader.cpp b/engines/freescape/loaders/8bitBinaryLoader.cpp
index 5569cd2688b..473ff8e1541 100644
--- a/engines/freescape/loaders/8bitBinaryLoader.cpp
+++ b/engines/freescape/loaders/8bitBinaryLoader.cpp
@@ -152,20 +152,28 @@ Object *FreescapeEngine::load8bitObject(Common::SeekableReadStream *file) {
debugC(1, kFreescapeDebugParser, "Number of colors: %d", numberOfColours / 2);
uint8 entry;
for (uint8 colour = 0; colour < numberOfColours / 2; colour++) {
- uint8 data = readField(file, 8);
+ uint8 data = 0;
+ uint8 extraData = 0;
+ if (!isDriller() && (isAmiga() || isAtariST())) {
+ uint16 field = file->readUint16BE();
+ data = field & 0xff;
+ extraData = field >> 8;
+ } else
+ data = readField(file, 8);
+
entry = data & 0xf;
- //if (_renderMode == Common::kRenderCGA)
- // entry = entry % 4; // TODO: use dithering
colours->push_back(entry);
debugC(1, kFreescapeDebugParser, "color[%d] = %x", 2 * colour, entry);
+ if (!isDriller() && (isAmiga() || isAtariST()))
+ debugC(1, kFreescapeDebugParser, "ecolor[%d] = %x", 2 * colour, extraData & 0xf);
entry = data >> 4;
- //if (_renderMode == Common::kRenderCGA)
- // entry = entry % 4; // TODO: use dithering
-
colours->push_back(entry);
debugC(1, kFreescapeDebugParser, "color[%d] = %x", 2 * colour + 1, entry);
+ if (!isDriller() && (isAmiga() || isAtariST()))
+ debugC(1, kFreescapeDebugParser, "ecolor[%d] = %x", 2 * colour + 1, extraData >> 4);
+
byteSizeOfObject--;
}
More information about the Scummvm-git-logs
mailing list