[Scummvm-git-logs] scummvm master -> 6a3bf6f80ba92122ed51ee368de10c52d51d5712
bluegr
noreply at scummvm.org
Wed Jun 17 01:32:26 UTC 2026
This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
d5b055df85 NANCY: Fix cursors set by game scripts in Nancy10+
6a3bf6f80b NANCY: Fixes for the notebook popup in Nancy10+
Commit: d5b055df8501e6b233195d2a7525bb4f692df12d
https://github.com/scummvm/scummvm/commit/d5b055df8501e6b233195d2a7525bb4f692df12d
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-06-17T04:27:30+03:00
Commit Message:
NANCY: Fix cursors set by game scripts in Nancy10+
Changed paths:
engines/nancy/cursor.cpp
diff --git a/engines/nancy/cursor.cpp b/engines/nancy/cursor.cpp
index 6e9ad58c165..68c3e3c098f 100644
--- a/engines/nancy/cursor.cpp
+++ b/engines/nancy/cursor.cpp
@@ -147,8 +147,13 @@ uint CursorManager::resolveNancy10CursorID(CursorType type, int16 itemID, bool s
return itemsOffset + (uint)itemID * 2 + variant;
}
- if (setFromScript)
- return type;
+ if (setFromScript) {
+ // Scripts store a raw cursor type number T, while the chunk lays
+ // each type out as a [idle, hotspot] pair (slots T*2 and T*2+1).
+ // Script cursors are only ever applied while hovering a hotspot,
+ // so we always pick the hotspot variant.
+ return (uint)type * 2 + 1;
+ }
// System cursors: translate the legacy CursorType to the matching
// kNew* idle slot. Each Nancy 10+ cursor type T occupies a pair
Commit: 6a3bf6f80ba92122ed51ee368de10c52d51d5712
https://github.com/scummvm/scummvm/commit/6a3bf6f80ba92122ed51ee368de10c52d51d5712
Author: Filippos Karapetis (bluegr at gmail.com)
Date: 2026-06-17T04:31:39+03:00
Commit Message:
NANCY: Fixes for the notebook popup in Nancy10+
- Remove hardcoded text for senior detective tasks page
- Fixes for notebook checkboxes
Changed paths:
engines/nancy/ui/notebookpopup.cpp
diff --git a/engines/nancy/ui/notebookpopup.cpp b/engines/nancy/ui/notebookpopup.cpp
index 73037a51983..9e46c12d915 100644
--- a/engines/nancy/ui/notebookpopup.cpp
+++ b/engines/nancy/ui/notebookpopup.cpp
@@ -442,12 +442,12 @@ void NotebookPopup::buildTextLines() {
const CVTX *autotext = (const CVTX *)g_nancy->getEngineData("AUTOTEXT");
- // Senior-detective Tasks page: hide the to-do list and show the
- // AUTOTEXT placeholder body instead.
- if (surfaceID == kNotebookTabTasks && NancySceneState.getDifficulty() == 2) {
- // TODO: This is specific for Nancy10, adapt it for others, too
- if (autotext->texts.contains("SHAT70")) {
- addTextLine(autotext->texts["SHAT70"]);
+ // Senior-detective Tasks: chunk supplies a CVTX placeholder.
+ if (surfaceID == kNotebookTabTasks && NancySceneState.getDifficulty() != 0 &&
+ _uinbData->useFilenameTextFlag != 0 && autotext) {
+ Common::String key = _uinbData->conditionalTextFilename.toString();
+ if (!key.empty() && autotext->texts.contains(key)) {
+ addTextLine(autotext->texts[key]);
}
return;
}
@@ -460,11 +460,16 @@ void NotebookPopup::buildTextLines() {
Common::String stringID = entries[i].stringID;
Common::String body = getTextFromCaseInsensitiveKey(autotext->texts, stringID);
- // Tasks are prefixed with a checkbox showing completion state.
- // mark % 10 == 8 means "complete".
- if (surfaceID == kNotebookTabTasks) {
- const uint16 markStatus = entries[i].mark % 10;
- body = Common::String(markStatus == 8 ? "<2>" : "<1>") + body;
+ // Task rows get a `<N>` prefix that turns into a MARK sprite;
+ // the "complete" sentinel (8) maps to secondaryFontAttr.
+ if (surfaceID == kNotebookTabTasks && entries[i].mark != 0) {
+ uint16 markValue = entries[i].mark;
+ if (markValue == 8) {
+ markValue = _uinbData->secondaryFontAttr;
+ }
+ if (markValue >= 1 && markValue <= 5) {
+ body = Common::String::format("<%u>", markValue) + body;
+ }
}
addTextLine(body);
More information about the Scummvm-git-logs
mailing list