[Scummvm-git-logs] scummvm master -> 05a75ada1209327eb0b889b3ab734f118267784f
bluegr
noreply at scummvm.org
Fri Sep 25 06:41:51 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
05a75ada12 NANCY: NANCY15: Handle the player character in the ControlUIItems AR
Commit: 05a75ada1209327eb0b889b3ab734f118267784f
https://github.com/scummvm/scummvm/commit/05a75ada1209327eb0b889b3ab734f118267784f
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-09-25T09:41:44+03:00
Commit Message:
NANCY: NANCY15: Handle the player character in the ControlUIItems AR
Now the phone call sequence when switching to Frank, after the story
puzzle, is started correctly
Changed paths:
engines/nancy/action/miscrecords.cpp
engines/nancy/action/miscrecords.h
diff --git a/engines/nancy/action/miscrecords.cpp b/engines/nancy/action/miscrecords.cpp
index 5bd810f380f..4d5062441bd 100644
--- a/engines/nancy/action/miscrecords.cpp
+++ b/engines/nancy/action/miscrecords.cpp
@@ -235,7 +235,12 @@ void FrameTextBox::execute() {
}
void ControlUIItems::readData(Common::SeekableReadStream &stream) {
- _uiButton = stream.readUint16LE();
+ if (g_nancy->getGameType() >= kGameTypeNancy15) {
+ _uiButton = stream.readByte();
+ _characterIndex = stream.readByte();
+ } else {
+ _uiButton = stream.readUint16LE();
+ }
_autoOpenOrBadgeSound = stream.readByte();
_flagB = stream.readByte();
_startScene = stream.readSint16LE();
@@ -287,8 +292,12 @@ void ControlUIItems::execute() {
// (kNoScene). _flagB != 0 also sets the disabled button's rejection-sound
// mode from _autoOpenOrBadgeSound (which clickSoundName line plays when
// the button is clicked while its popup is unavailable).
+ // Nancy15 keeps separate overrides per player character. Only the
+ // active character's taskbar is modeled, so skip the others'.
+ uint characterIndex = _characterIndex == kPlayerCharacterActive ?
+ g_nancy->getPlayerCharacter() : _characterIndex;
UI::Taskbar *taskbar = NancySceneState.getTaskbar();
- if (taskbar) {
+ if (taskbar && characterIndex == g_nancy->getPlayerCharacter()) {
if (_flagB != 0) {
int16 start = _startScene;
int16 end = _endScene;
diff --git a/engines/nancy/action/miscrecords.h b/engines/nancy/action/miscrecords.h
index 434a79991a0..e0b461291f4 100644
--- a/engines/nancy/action/miscrecords.h
+++ b/engines/nancy/action/miscrecords.h
@@ -153,14 +153,15 @@ public:
void execute() override;
uint16 _uiButton = 0;
+ byte _characterIndex = kPlayerCharacterActive; // Nancy15+: whose taskbar the disable applies to
byte _autoOpenOrBadgeSound = 0; // 1 = auto-open popup; 0/10 = notification-badge click-sound selector
byte _flagB = 0; // 0 = clear, 1 = enable+remember scene
int16 _startScene = 0; // start scene id (9999 = none); also the auto-open cell phone's call target
int16 _endScene = 0; // end scene id (9999 = none)
Common::String getRecordExtraInfo() const override {
- return Common::String::format("uiButton: %d, autoOpenOrBadgeSound: %d, flagB: %d, startScene: %d, endScene: %d",
- _uiButton, _autoOpenOrBadgeSound, _flagB, _startScene, _endScene);
+ return Common::String::format("uiButton: %d, character: %d, autoOpenOrBadgeSound: %d, flagB: %d, startScene: %d, endScene: %d",
+ _uiButton, _characterIndex, _autoOpenOrBadgeSound, _flagB, _startScene, _endScene);
}
protected:
More information about the Scummvm-git-logs
mailing list