Patch #768260: Help Dialog Update (with some tweaks by me to make the dialog a little smaller -> looks much better, IMO)
svn-id: r9029
This commit is contained in:
parent
9e27fe9c95
commit
6772b78f5f
3 changed files with 61 additions and 37 deletions
|
@ -599,26 +599,27 @@ enum {
|
||||||
};
|
};
|
||||||
|
|
||||||
HelpDialog::HelpDialog(NewGui *gui, Scumm *scumm)
|
HelpDialog::HelpDialog(NewGui *gui, Scumm *scumm)
|
||||||
: ScummDialog(gui, scumm, 15, 10, 290, 184) {
|
: ScummDialog(gui, scumm, 5, 5, 310, 190) {
|
||||||
|
|
||||||
_page = 1;
|
_page = 1;
|
||||||
_numPages = ScummHelp::numPages(scumm->_gameId);
|
_numPages = ScummHelp::numPages(scumm->_gameId);
|
||||||
|
|
||||||
_prevButton = addPushButton(10, 160, "Previous", kPrevCmd, 'P');
|
_prevButton = addPushButton(10, 170, "Previous", kPrevCmd, 'P');
|
||||||
_nextButton = addPushButton(90, 160, "Next", kNextCmd, 'N');
|
_nextButton = addPushButton(90, 170, "Next", kNextCmd, 'N');
|
||||||
addButton(210, 160, "Close", kCloseCmd, 'C');
|
addButton(210, 170, "Close", kCloseCmd, 'C');
|
||||||
_prevButton->clearFlags(WIDGET_ENABLED);
|
_prevButton->clearFlags(WIDGET_ENABLED);
|
||||||
|
|
||||||
_title = new StaticTextWidget(this, 10, 5, 270, 16, "", kTextAlignCenter);
|
_title = new StaticTextWidget(this, 10, 5, 290, 16, "", kTextAlignCenter);
|
||||||
for (int i = 0; i < HELP_NUM_LINES; i++) {
|
for (int i = 0; i < HELP_NUM_LINES; i++) {
|
||||||
_key[i] = new StaticTextWidget(this, 10, 20 + (10 * i), 80, 16, "", kTextAlignLeft);
|
_key[i] = new StaticTextWidget(this, 10, 18 + (10 * i), 80, 16, "", kTextAlignLeft);
|
||||||
_dsc[i] = new StaticTextWidget(this, 90, 20 + (10 * i), 190, 16, "", kTextAlignLeft);
|
_dsc[i] = new StaticTextWidget(this, 90, 18 + (10 * i), 210, 16, "", kTextAlignLeft);
|
||||||
}
|
}
|
||||||
|
|
||||||
displayKeyBindings();
|
displayKeyBindings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void HelpDialog::displayKeyBindings() {
|
void HelpDialog::displayKeyBindings() {
|
||||||
|
|
||||||
String titleStr, *keyStr, *dscStr;
|
String titleStr, *keyStr, *dscStr;
|
||||||
|
|
||||||
ScummHelp::updateStrings(_scumm->_gameId, _scumm->_version, _page, titleStr, keyStr, dscStr);
|
ScummHelp::updateStrings(_scumm->_gameId, _scumm->_version, _page, titleStr, keyStr, dscStr);
|
||||||
|
@ -634,6 +635,7 @@ void HelpDialog::displayKeyBindings() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void HelpDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
|
void HelpDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
|
||||||
|
|
||||||
switch (cmd) {
|
switch (cmd) {
|
||||||
case kNextCmd:
|
case kNextCmd:
|
||||||
_page++;
|
_page++;
|
||||||
|
|
|
@ -37,6 +37,7 @@ int ScummHelp::numPages(byte gameId) {
|
||||||
case GID_LOOM256:
|
case GID_LOOM256:
|
||||||
case GID_MONKEY_EGA:
|
case GID_MONKEY_EGA:
|
||||||
case GID_MONKEY_VGA:
|
case GID_MONKEY_VGA:
|
||||||
|
case GID_MONKEY_SEGA:
|
||||||
case GID_MONKEY:
|
case GID_MONKEY:
|
||||||
case GID_MONKEY2:
|
case GID_MONKEY2:
|
||||||
case GID_INDY4:
|
case GID_INDY4:
|
||||||
|
@ -49,6 +50,7 @@ int ScummHelp::numPages(byte gameId) {
|
||||||
break;
|
break;
|
||||||
/* TODO - I don't know the controls for these games
|
/* TODO - I don't know the controls for these games
|
||||||
case GID_PUTTDEMO:
|
case GID_PUTTDEMO:
|
||||||
|
case GID_PUTTPUTT:
|
||||||
*/
|
*/
|
||||||
default:
|
default:
|
||||||
return 2;
|
return 2;
|
||||||
|
@ -59,8 +61,8 @@ int ScummHelp::numPages(byte gameId) {
|
||||||
#define ADD_TEXT(d) ADD_BIND("",d)
|
#define ADD_TEXT(d) ADD_BIND("",d)
|
||||||
#define ADD_LINE ADD_BIND("","")
|
#define ADD_LINE ADD_BIND("","")
|
||||||
|
|
||||||
void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title,
|
void ScummHelp::updateStrings(byte gameId, byte version, int page,
|
||||||
String *&key, String *&dsc) {
|
String &title, String *&key, String *&dsc) {
|
||||||
key = new String[HELP_NUM_LINES];
|
key = new String[HELP_NUM_LINES];
|
||||||
dsc = new String[HELP_NUM_LINES];
|
dsc = new String[HELP_NUM_LINES];
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
@ -75,9 +77,9 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title
|
||||||
ADD_BIND("Ctrl 0-9", "Load game state 1-10");
|
ADD_BIND("Ctrl 0-9", "Load game state 1-10");
|
||||||
ADD_BIND("Alt 0-9", "Save game state 1-10");
|
ADD_BIND("Alt 0-9", "Save game state 1-10");
|
||||||
#ifdef MACOSX
|
#ifdef MACOSX
|
||||||
ADD_BIND("Alt x, Ctrl z", "Quit");
|
|
||||||
#else
|
|
||||||
ADD_BIND("Cmd q", "Quit");
|
ADD_BIND("Cmd q", "Quit");
|
||||||
|
#else
|
||||||
|
ADD_BIND("Alt x, Ctrl z", "Quit");
|
||||||
#endif
|
#endif
|
||||||
ADD_BIND("Alt Enter", "Toggle fullscreen");
|
ADD_BIND("Alt Enter", "Toggle fullscreen");
|
||||||
ADD_BIND("[, ]", "Music volume up / down");
|
ADD_BIND("[, ]", "Music volume up / down");
|
||||||
|
@ -91,17 +93,18 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title
|
||||||
ADD_BIND("~, #", "Show / Hide console");
|
ADD_BIND("~, #", "Show / Hide console");
|
||||||
ADD_BIND("Ctrl d", "Start the debugger");
|
ADD_BIND("Ctrl d", "Start the debugger");
|
||||||
ADD_BIND("Ctrl s", "Show memory consumption");
|
ADD_BIND("Ctrl s", "Show memory consumption");
|
||||||
ADD_BIND("Ctrl f", "Run in fast mode *");
|
ADD_BIND("Ctrl f", "Run in fast mode (*)");
|
||||||
ADD_BIND("Ctrl g", "Run in really fast mode *");
|
ADD_BIND("Ctrl g", "Run in really fast mode (*)");
|
||||||
ADD_BIND("Ctrl Alt 0-9", "Set graphics filter");
|
ADD_BIND("Ctrl Alt 0-9", "Set graphics filter");
|
||||||
ADD_LINE;
|
ADD_BIND("Ctrl Alt a", "Toggle aspect-ratio correction");
|
||||||
|
ADD_BIND("Ctrl Alt b", "Toggle bilinear filtering [OpenGL]");
|
||||||
ADD_LINE;
|
ADD_LINE;
|
||||||
ADD_LINE;
|
ADD_LINE;
|
||||||
ADD_LINE;
|
ADD_LINE;
|
||||||
ADD_TEXT("* Note that using ctrl-f and");
|
ADD_TEXT("* Note that using ctrl-f and");
|
||||||
ADD_TEXT("ctrl-g are not recommended");
|
ADD_TEXT(" ctrl-g are not recommended");
|
||||||
ADD_TEXT("since they may cause crashes");
|
ADD_TEXT(" since they may cause crashes");
|
||||||
ADD_TEXT("or incorrect game behaviour.");
|
ADD_TEXT(" or incorrect game behaviour.");
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
if (gameId == GID_LOOM || gameId == GID_LOOM256)
|
if (gameId == GID_LOOM || gameId == GID_LOOM256)
|
||||||
|
@ -121,16 +124,20 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title
|
||||||
ADD_BIND("e", "Walk to");
|
ADD_BIND("e", "Walk to");
|
||||||
ADD_BIND("d", "Pick up");
|
ADD_BIND("d", "Pick up");
|
||||||
ADD_BIND("c", "What is");
|
ADD_BIND("c", "What is");
|
||||||
if (gameId == GID_ZAK || gameId == GID_ZAK256) {
|
if (gameId == GID_MANIAC) {
|
||||||
ADD_BIND("r", "Put on");
|
|
||||||
ADD_BIND("f", "Take off");
|
|
||||||
} else {
|
|
||||||
ADD_BIND("r", "New kid");
|
ADD_BIND("r", "New kid");
|
||||||
ADD_BIND("f", "Unlock");
|
ADD_BIND("f", "Unlock");
|
||||||
|
} else {
|
||||||
|
ADD_BIND("r", "Put on");
|
||||||
|
ADD_BIND("f", "Take off");
|
||||||
}
|
}
|
||||||
ADD_BIND("v", "Use");
|
ADD_BIND("v", "Use");
|
||||||
ADD_BIND("t", "Turn on");
|
ADD_BIND("t", "Turn on");
|
||||||
ADD_BIND("g", "Turn off");
|
ADD_BIND("g", "Turn off");
|
||||||
|
if (gameId == GID_MANIAC)
|
||||||
|
ADD_BIND("b", "Fix");
|
||||||
|
else
|
||||||
|
ADD_BIND("b", "Switch");
|
||||||
break;
|
break;
|
||||||
case GID_INDY3:
|
case GID_INDY3:
|
||||||
case GID_INDY3_256:
|
case GID_INDY3_256:
|
||||||
|
@ -148,6 +155,7 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title
|
||||||
ADD_BIND("v", "Turn off");
|
ADD_BIND("v", "Turn off");
|
||||||
ADD_BIND("t", "Talk");
|
ADD_BIND("t", "Talk");
|
||||||
ADD_BIND("g", "Travel");
|
ADD_BIND("g", "Travel");
|
||||||
|
ADD_BIND("b", "To Henry / To Indy");
|
||||||
break;
|
break;
|
||||||
case GID_LOOM:
|
case GID_LOOM:
|
||||||
case GID_LOOM256:
|
case GID_LOOM256:
|
||||||
|
@ -162,6 +170,7 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title
|
||||||
break;
|
break;
|
||||||
case GID_MONKEY_EGA:
|
case GID_MONKEY_EGA:
|
||||||
case GID_MONKEY_VGA:
|
case GID_MONKEY_VGA:
|
||||||
|
case GID_MONKEY_SEGA:
|
||||||
ADD_BIND("o", "Open");
|
ADD_BIND("o", "Open");
|
||||||
ADD_BIND("c", "Close");
|
ADD_BIND("c", "Close");
|
||||||
ADD_BIND("s", "puSh");
|
ADD_BIND("s", "puSh");
|
||||||
|
@ -225,28 +234,32 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title
|
||||||
switch (gameId) {
|
switch (gameId) {
|
||||||
case GID_MANIAC:
|
case GID_MANIAC:
|
||||||
case GID_ZAK:
|
case GID_ZAK:
|
||||||
case GID_ZAK256:
|
title = "Other game controls:";
|
||||||
title = "Main game controls:";
|
ADD_TEXT("Inventory: (not yet implemented)");
|
||||||
if (gameId == GID_ZAK || gameId == GID_ZAK256) {
|
|
||||||
ADD_BIND("b", "Switch");
|
|
||||||
} else {
|
|
||||||
ADD_BIND("b", "Fix");
|
|
||||||
}
|
|
||||||
ADD_LINE;
|
|
||||||
ADD_TEXT("Inventory Controls (not implemented):");
|
|
||||||
ADD_BIND("u", "Scroll list up");
|
ADD_BIND("u", "Scroll list up");
|
||||||
ADD_BIND("j", "Scroll list down");
|
ADD_BIND("j", "Scroll list down");
|
||||||
ADD_BIND("i", "Upper left item");
|
ADD_BIND("i", "Upper left item");
|
||||||
ADD_BIND("k", "Lower left item");
|
ADD_BIND("k", "Lower left item");
|
||||||
ADD_BIND("o", "Upper right item");
|
ADD_BIND("o", "Upper right item");
|
||||||
ADD_BIND("l", "Lower right item");
|
ADD_BIND("l", "Lower right item");
|
||||||
|
ADD_LINE;
|
||||||
|
ADD_TEXT("Switching characters:");
|
||||||
|
if (gameId == GID_MANIAC) {
|
||||||
|
ADD_BIND("F1", "Dave");
|
||||||
|
ADD_BIND("F2", "Second kid");
|
||||||
|
ADD_BIND("F3", "Third kid");
|
||||||
|
} else {
|
||||||
|
ADD_BIND("F1", "Zak");
|
||||||
|
ADD_BIND("F2", "Annie");
|
||||||
|
ADD_BIND("F3", "Melissa");
|
||||||
|
ADD_BIND("F4", "Leslie");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
case GID_INDY3:
|
case GID_INDY3:
|
||||||
|
case GID_ZAK256:
|
||||||
case GID_INDY3_256:
|
case GID_INDY3_256:
|
||||||
title = "Main game controls:";
|
title = "Other game controls:";
|
||||||
ADD_BIND("b", "To Henry / To Indy");
|
ADD_TEXT("Inventory:");
|
||||||
ADD_LINE;
|
|
||||||
ADD_TEXT("Inventory Controls:");
|
|
||||||
ADD_BIND("y", "Upper left item");
|
ADD_BIND("y", "Upper left item");
|
||||||
ADD_BIND("h", "Middle left item");
|
ADD_BIND("h", "Middle left item");
|
||||||
ADD_BIND("n", "Lower left item");
|
ADD_BIND("n", "Lower left item");
|
||||||
|
@ -255,6 +268,14 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title
|
||||||
ADD_BIND("m", "Lower right item");
|
ADD_BIND("m", "Lower right item");
|
||||||
ADD_BIND("o", "Scroll list up");
|
ADD_BIND("o", "Scroll list up");
|
||||||
ADD_BIND("l", "Scroll list down");
|
ADD_BIND("l", "Scroll list down");
|
||||||
|
if (gameId == GID_ZAK256) {
|
||||||
|
ADD_LINE;
|
||||||
|
ADD_TEXT("Switching characters:");
|
||||||
|
ADD_BIND("F1", "Zak");
|
||||||
|
ADD_BIND("F2", "Annie");
|
||||||
|
ADD_BIND("F3", "Melissa");
|
||||||
|
ADD_BIND("F4", "Leslie");
|
||||||
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
@ -273,6 +294,7 @@ void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title
|
||||||
ADD_BIND("6", "Punch middle");
|
ADD_BIND("6", "Punch middle");
|
||||||
ADD_BIND("3", "Punch low");
|
ADD_BIND("3", "Punch low");
|
||||||
ADD_LINE;
|
ADD_LINE;
|
||||||
|
ADD_LINE;
|
||||||
ADD_TEXT("These are for Indy on left.");
|
ADD_TEXT("These are for Indy on left.");
|
||||||
ADD_TEXT("When Indy is on the right,");
|
ADD_TEXT("When Indy is on the right,");
|
||||||
ADD_TEXT("7, 4, and 1 are switched with");
|
ADD_TEXT("7, 4, and 1 are switched with");
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
#include "common/str.h"
|
#include "common/str.h"
|
||||||
|
|
||||||
#define HELP_NUM_LINES 14
|
#define HELP_NUM_LINES 15
|
||||||
|
|
||||||
class ScummHelp {
|
class ScummHelp {
|
||||||
protected:
|
protected:
|
||||||
|
@ -30,8 +30,8 @@ protected:
|
||||||
|
|
||||||
public:
|
public:
|
||||||
static int numPages(byte gameId);
|
static int numPages(byte gameId);
|
||||||
static void updateStrings(byte gameId, byte version, int page, String &title,
|
static void updateStrings(byte gameId, byte version, int page,
|
||||||
String *&key, String *&dsc);
|
String &title, String *&key, String *&dsc);
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue