[Scummvm-git-logs] scummvm master -> 1d0daf2facce49b3a47c03e5b6dd34eeb1e7fe52
sluicebox
noreply at scummvm.org
Mon Nov 18 07:31:53 UTC 2024
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:
34fbf57aa4 AGI: PREAGI: Make WINNIE wind sounds platform dependent
1d0daf2fac AGI: PREAGI: Implement WINNIE Amiga help opcode
Commit: 34fbf57aa45ecea53bebd9400dc4de9998ba2184
https://github.com/scummvm/scummvm/commit/34fbf57aa45ecea53bebd9400dc4de9998ba2184
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2024-11-17T23:31:15-08:00
Commit Message:
AGI: PREAGI: Make WINNIE wind sounds platform dependent
Confirmed in disassembly
Changed paths:
engines/agi/preagi/winnie.cpp
diff --git a/engines/agi/preagi/winnie.cpp b/engines/agi/preagi/winnie.cpp
index 2a211e24766..88c3b73c875 100644
--- a/engines/agi/preagi/winnie.cpp
+++ b/engines/agi/preagi/winnie.cpp
@@ -670,11 +670,11 @@ void WinnieEngine::wind() {
return;
printStr(IDS_WTP_WIND_0);
- playSound(IDI_WTP_SND_WIND_1); // not a bug, IDI_WTP_SND_WIND_0 isn't used here
+ playSound(IDI_WTP_SND_WIND_0);
getSelection(kSelAnyKey);
printStr(IDS_WTP_WIND_1);
- playSound(IDI_WTP_SND_WIND_1);
+ playSound(IDI_WTP_SND_WIND_0);
getSelection(kSelAnyKey);
dropObjRnd();
@@ -1190,6 +1190,12 @@ bool WinnieEngine::playSound(ENUM_WTP_SOUND iSound) {
return false;
}
+ // DOS version tests a platform global to choose the wind sound.
+ // Sound 10 is designed for PCJr, sound 11 for PC Speaker.
+ if (iSound == IDI_WTP_SND_WIND_0 && _soundemu == SOUND_EMU_PC) {
+ iSound = IDI_WTP_SND_WIND_1;
+ }
+
Common::Path fileName(Common::String::format(IDS_WTP_SND_DOS, iSound));
Common::File file;
Commit: 1d0daf2facce49b3a47c03e5b6dd34eeb1e7fe52
https://github.com/scummvm/scummvm/commit/1d0daf2facce49b3a47c03e5b6dd34eeb1e7fe52
Author: sluicebox (22204938+sluicebox at users.noreply.github.com)
Date: 2024-11-17T23:31:15-08:00
Commit Message:
AGI: PREAGI: Implement WINNIE Amiga help opcode
Fixes teleporting to a random room instead of displaying help messages
Changed paths:
engines/agi/preagi/winnie.cpp
engines/agi/preagi/winnie.h
diff --git a/engines/agi/preagi/winnie.cpp b/engines/agi/preagi/winnie.cpp
index 88c3b73c875..9db9f1f45f3 100644
--- a/engines/agi/preagi/winnie.cpp
+++ b/engines/agi/preagi/winnie.cpp
@@ -445,6 +445,12 @@ int WinnieEngine::parser(int pc, int index, uint8 *buffer) {
showOwlHelp();
break;
case IDO_WTP_GOTO_RND:
+ // Amiga changed opcode 1E to display its very long
+ // platform-specific help messages in the first room
+ if (getPlatform() == Common::kPlatformAmiga) {
+ showAmigaHelp();
+ break;
+ }
_room = rnd(IDI_WTP_MAX_ROOM_TELEPORT) + 1;
return IDI_WTP_PAR_GOTO;
default:
@@ -732,6 +738,13 @@ void WinnieEngine::showOwlHelp() {
}
}
+void WinnieEngine::showAmigaHelp() {
+ // print edited versions of Amiga help text that fit in four lines
+ printStr(IDS_WTP_AMIGA_HELP_EDITED_0);
+ getSelection(kSelAnyKey);
+ printStr(IDS_WTP_AMIGA_HELP_EDITED_1);
+ getSelection(kSelAnyKey);
+}
void WinnieEngine::drawMenu(char *szMenu, int iSel, int fCanSel[]) {
int iRow = 0, iCol = 0;
diff --git a/engines/agi/preagi/winnie.h b/engines/agi/preagi/winnie.h
index 44e3b2e0c11..fd45107a37f 100644
--- a/engines/agi/preagi/winnie.h
+++ b/engines/agi/preagi/winnie.h
@@ -89,6 +89,14 @@ namespace Agi {
#define IDS_WTP_HELP_1_C64 "<F3> takes you back to the playroom (if you get lost, or want to save the game).<F5> turns the sound off and on. <F7> shows what you're carrying."
#define IDS_WTP_WRONG_PLACE_C64 "\nOk, but this is not the right place."
+// Amiga strings
+
+// original strings from the executable and edited versions for our four-line interface
+#define IDS_WTP_AMIGA_HELP_0 "Use the mouse to select your choice from\nthe bottom of the screen or the menu.\n\nTo use the keyboard instead of the\nmouse, press the NUMBER or first LETTER\nof what you want."
+#define IDS_WTP_AMIGA_HELP_1 "From the keyboard you can also press:\n 'l' to look at the scene you're in.\n 'o' to look at an object in the room.\n 'c' to see what you're carrying and\n how you're doing.\n CTRL-S to turn the sound on or off."
+#define IDS_WTP_AMIGA_HELP_EDITED_0 "Use the mouse to select your choice fromthe bottom of the screen or the menu.\nTo use the keyboard instead of the\nmouse, press the NUMBER or first LETTER."
+#define IDS_WTP_AMIGA_HELP_EDITED_1 "From the keyboard you can also press:\n <C> to see what you're carrying and\n how you're doing.\n <CTRL-S> to turn the sound on or off."
+
// maximum values
#define IDI_WTP_MAX_OBJ_MISSING 10
@@ -346,6 +354,7 @@ private:
void tigger();
void showOwlHelp();
+ void showAmigaHelp();
bool playSound(ENUM_WTP_SOUND);
void printStrWinnie(char *szMsg);
More information about the Scummvm-git-logs
mailing list