Ticket #8256: helpUpdate.diff

File helpUpdate.diff, 7.6 KB (added by SF/itsr0y, 17 years ago)

Update to help dialog

  • scumm/dialogs.cpp

    RCS file: /cvsroot/scummvm/scummvm/scumm/dialogs.cpp,v
    retrieving revision 1.59
    diff -u -r1.59 dialogs.cpp
     
    599599};
    600600
    601601HelpDialog::HelpDialog(NewGui *gui, Scumm *scumm)
    602         : ScummDialog(gui, scumm, 15, 10, 290, 184) {
     602        : ScummDialog(gui, scumm, 0, 0, 320, 200) {
    603603
    604604        _page = 1;
    605605        _numPages = ScummHelp::numPages(scumm->_gameId);
    606606
    607         _prevButton = addPushButton(10, 160, "Previous", kPrevCmd, 'P');
    608         _nextButton = addPushButton(90, 160, "Next", kNextCmd, 'N');
    609         addButton(210, 160, "Close", kCloseCmd, 'C');
     607        _prevButton = addPushButton(10, 180, "Previous", kPrevCmd, 'P');
     608        _nextButton = addPushButton(90, 180, "Next", kNextCmd, 'N');
     609        addButton(210, 180, "Close", kCloseCmd, 'C');
    610610        _prevButton->clearFlags(WIDGET_ENABLED);
    611611
    612         _title = new StaticTextWidget(this, 10, 5, 270, 16, "", kTextAlignCenter);
     612        _title = new StaticTextWidget(this, 10, 5, 300, 16, "", kTextAlignCenter);
    613613        for (int i = 0; i < HELP_NUM_LINES; i++) {
    614614                _key[i] = new StaticTextWidget(this, 10, 20 + (10 * i), 80, 16, "", kTextAlignLeft);
    615                 _dsc[i] = new StaticTextWidget(this, 90, 20 + (10 * i), 190, 16, "", kTextAlignLeft);
     615                _dsc[i] = new StaticTextWidget(this, 90, 20 + (10 * i), 220, 16, "", kTextAlignLeft);
    616616        }
    617617
    618618        displayKeyBindings();
    619619}
    620620
    621621void HelpDialog::displayKeyBindings() {
     622
    622623        String titleStr, *keyStr, *dscStr;
    623624
    624625        ScummHelp::updateStrings(_scumm->_gameId, _scumm->_version, _page, titleStr, keyStr, dscStr);
     
    634635}
    635636
    636637void HelpDialog::handleCommand(CommandSender *sender, uint32 cmd, uint32 data) {
     638
    637639        switch (cmd) {
    638640        case kNextCmd:
    639641                _page++;
  • scumm/help.h

    RCS file: /cvsroot/scummvm/scummvm/scumm/help.h,v
    retrieving revision 1.2
    diff -u -r1.2 help.h
     
    2222
    2323#include "common/str.h"
    2424
    25 #define HELP_NUM_LINES 14
     25#define HELP_NUM_LINES 15
    2626
    2727class ScummHelp {
    2828protected:
     
    3030
    3131public:
    3232        static int numPages(byte gameId);
    33         static void updateStrings(byte gameId, byte version, int page, String &title,
    34                         String *&key, String *&dsc);
     33        static void updateStrings(byte gameId, byte version, int page,
     34                        String &title, String *&key, String *&dsc);
    3535};
    3636
    3737#endif
  • scumm/help.cpp

    RCS file: /cvsroot/scummvm/scummvm/scumm/help.cpp,v
    retrieving revision 1.4
    diff -u -r1.4 help.cpp
     
    3737        case GID_LOOM256:
    3838        case GID_MONKEY_EGA:
    3939        case GID_MONKEY_VGA:
     40        case GID_MONKEY_SEGA:
    4041        case GID_MONKEY:
    4142        case GID_MONKEY2:
    4243        case GID_INDY4:
     
    4950                break; 
    5051/*      TODO - I don't know the controls for these games
    5152        case GID_PUTTDEMO:
     53        case GID_PUTTPUTT:
    5254*/     
    5355        default:
    5456                return 2;
     
    5961#define ADD_TEXT(d) ADD_BIND("",d)
    6062#define ADD_LINE ADD_BIND("","")
    6163
    62 void ScummHelp::updateStrings(byte gameId, byte version, int page, String &title,
    63                         String *&key, String *&dsc) {
     64void ScummHelp::updateStrings(byte gameId, byte version, int page,
     65                                String &title, String *&key, String *&dsc) {
    6466        key = new String[HELP_NUM_LINES];
    6567        dsc = new String[HELP_NUM_LINES];
    6668        int i = 0;
     
    7577                ADD_BIND("Ctrl 0-9", "Load game state 1-10");
    7678                ADD_BIND("Alt 0-9", "Save game state 1-10");
    7779#ifdef MACOSX
    78                 ADD_BIND("Alt x, Ctrl z", "Quit");
    79 #else
    8080                ADD_BIND("Cmd q", "Quit");
     81#else
     82                ADD_BIND("Alt x, Ctrl z", "Quit");
    8183#endif
    8284                ADD_BIND("Alt Enter", "Toggle fullscreen");
    8385                ADD_BIND("[, ]", "Music volume up / down");
     
    9193                ADD_BIND("~, #", "Show / Hide console");
    9294                ADD_BIND("Ctrl d", "Start the debugger");
    9395                ADD_BIND("Ctrl s", "Show memory consumption");
    94                 ADD_BIND("Ctrl f", "Run in fast mode *");
    95                 ADD_BIND("Ctrl g", "Run in really fast mode *");
     96                ADD_BIND("Ctrl f", "Run in fast mode (*)");
     97                ADD_BIND("Ctrl g", "Run in really fast mode (*)");
    9698                ADD_BIND("Ctrl Alt 0-9", "Set graphics filter");
    97                 ADD_LINE;
     99                ADD_BIND("Ctrl Alt a", "Toggle aspect-ratio correction");
     100                ADD_BIND("Ctrl Alt b", "Toggle bilinear filtering [OpenGL]");
    98101                ADD_LINE;
    99102                ADD_LINE;
    100103                ADD_LINE;
    101104                ADD_TEXT("* Note that using ctrl-f and");
    102                 ADD_TEXT("ctrl-g are not recommended");
    103                 ADD_TEXT("since they may cause crashes");
    104                 ADD_TEXT("or incorrect game behaviour.");
     105                ADD_TEXT("   ctrl-g are not recommended");
     106                ADD_TEXT("   since they may cause crashes");
     107                ADD_TEXT("   or incorrect game behaviour.");
    105108                break;
    106109        case 3:
    107110                if (gameId == GID_LOOM || gameId == GID_LOOM256)
     
    121124                        ADD_BIND("e", "Walk to");
    122125                        ADD_BIND("d", "Pick up");
    123126                        ADD_BIND("c", "What is");
    124                         if (gameId == GID_ZAK || gameId == GID_ZAK256) {
    125                                 ADD_BIND("r", "Put on");
    126                                 ADD_BIND("f", "Take off");
    127                         } else {
     127                        if (gameId == GID_MANIAC) {
    128128                                ADD_BIND("r", "New kid");
    129129                                ADD_BIND("f", "Unlock");
     130                        } else {
     131                                ADD_BIND("r", "Put on");
     132                                ADD_BIND("f", "Take off");
    130133                        }
    131134                        ADD_BIND("v", "Use");
    132135                        ADD_BIND("t", "Turn on");
    133136                        ADD_BIND("g", "Turn off");
     137                        if (gameId == GID_MANIAC)
     138                                ADD_BIND("b", "Fix");
     139                        else
     140                                ADD_BIND("b", "Switch");
    134141                        break;
    135142                case GID_INDY3:
    136143                case GID_INDY3_256:
     
    148155                        ADD_BIND("v", "Turn off");
    149156                        ADD_BIND("t", "Talk");
    150157                        ADD_BIND("g", "Travel");
     158                        ADD_BIND("b", "To Henry / To Indy");
    151159                        break;
    152160                case GID_LOOM:
    153161                case GID_LOOM256:
     
    162170                        break;
    163171                case GID_MONKEY_EGA:
    164172                case GID_MONKEY_VGA:
     173                case GID_MONKEY_SEGA:
    165174                        ADD_BIND("o", "Open");
    166175                        ADD_BIND("c", "Close");
    167176                        ADD_BIND("s", "puSh");
     
    225234                switch (gameId) {
    226235                case GID_MANIAC:
    227236                case GID_ZAK:
    228                 case GID_ZAK256:
    229                         title = "Main game controls:";
    230                         if (gameId == GID_ZAK || gameId == GID_ZAK256) {
    231                                 ADD_BIND("b", "Switch");
    232                         } else {
    233                                 ADD_BIND("b", "Fix");
    234                         }
    235                         ADD_LINE;
    236                         ADD_TEXT("Inventory Controls (not implemented):");
     237                        title = "Other game controls:";
     238                        ADD_TEXT("Inventory: (not yet implemented)");
    237239                        ADD_BIND("u", "Scroll list up");
    238240                        ADD_BIND("j", "Scroll list down");
    239241                        ADD_BIND("i", "Upper left item");
    240242                        ADD_BIND("k", "Lower left item");
    241243                        ADD_BIND("o", "Upper right item");
    242244                        ADD_BIND("l", "Lower right item");
     245                        ADD_LINE;
     246                        ADD_TEXT("Switching characters:");
     247                        if (gameId == GID_MANIAC) {
     248                                ADD_BIND("F1", "Dave");
     249                                ADD_BIND("F2", "Second kid");
     250                                ADD_BIND("F3", "Third kid");
     251                        } else {
     252                                ADD_BIND("F1", "Zak");
     253                                ADD_BIND("F2", "Annie");
     254                                ADD_BIND("F3", "Melissa");
     255                                ADD_BIND("F4", "Leslie");
     256                        }
    243257                        break;
    244258                case GID_INDY3:
     259                case GID_ZAK256:
    245260                case GID_INDY3_256:
    246                         title = "Main game controls:";
    247                         ADD_BIND("b", "To Henry / To Indy");
    248                         ADD_LINE;
    249                         ADD_TEXT("Inventory Controls:");
     261                        title = "Other game controls:";
     262                        ADD_TEXT("Inventory:");
    250263                        ADD_BIND("y", "Upper left item");
    251264                        ADD_BIND("h", "Middle left item");
    252265                        ADD_BIND("n", "Lower left item");
     
    255268                        ADD_BIND("m", "Lower right item");
    256269                        ADD_BIND("o", "Scroll list up");
    257270                        ADD_BIND("l", "Scroll list down");
     271                        if (gameId == GID_ZAK256) {
     272                                ADD_LINE;
     273                                ADD_TEXT("Switching characters:");
     274                                ADD_BIND("F1", "Zak");
     275                                ADD_BIND("F2", "Annie");
     276                                ADD_BIND("F3", "Melissa");
     277                                ADD_BIND("F4", "Leslie");
     278                        }
    258279                        break;
    259280                }
    260281                break;
     
    272293                        ADD_BIND("9", "Punch high");
    273294                        ADD_BIND("6", "Punch middle");
    274295                        ADD_BIND("3", "Punch low");
     296                        ADD_LINE;
    275297                        ADD_LINE;
    276298                        ADD_TEXT("These are for Indy on left.");
    277299                        ADD_TEXT("When Indy is on the right,");