Ticket #8759: Indy3_Mac_Diary2.diff

File Indy3_Mac_Diary2.diff, 1.9 KB (added by SF/mthreepwood, 13 years ago)

updated patch

  • charset.cpp

     
    15091509
    15101510
    15111511void CharsetRendererV3::printChar(int chr, bool ignoreCharsetMask) {
     1512        // HACK: Indy3 Mac does not show black characters (such as in the grail diary)
     1513        // if ignoreCharsetMask is true. Fixes bug 1509509.
     1514        if (_vm->_game.id == GID_INDY3 && _vm->_game.platform == Common::kPlatformMacintosh && _color == 0)
     1515                ignoreCharsetMask = false;
     1516
    15121517        // Indy3 / Zak256 / Loom
    15131518        int width, height, origWidth = 0, origHeight;
    15141519        VirtScreen *vs;
  • string.cpp

     
    856856        _charset->_disableOffsX = _charset->_firstChar = true;
    857857        _charset->setCurID(_string[a].charset);
    858858
     859        // HACK: Correct positions of text in the grail diary in Indy3 Mac
     860        if (_game.id == GID_INDY3 && _game.platform == Common::kPlatformMacintosh && a == 1) {
     861                if (_currentRoom == 75) {
     862                        if (_charset->_startLeft < 160)
     863                                _charset->_startLeft = _charset->_left = _string[a].xpos - 22;
     864                        else if (_charset->_startLeft < 200)
     865                                _charset->_startLeft = _charset->_left = _string[a].xpos - 10;
     866                } else if (_currentRoom == 69) {
     867                        if (_charset->_startLeft < 160)
     868                                _charset->_startLeft = _charset->_left = _string[a].xpos - 15;
     869                        else if (_charset->_startLeft < 200)
     870                                _charset->_startLeft = _charset->_left = _string[a].xpos - 10;
     871                } else if (_currentRoom == 90) {
     872                        if (_charset->_startLeft < 160)
     873                                _charset->_startLeft = _charset->_left = _string[a].xpos - 21;
     874                        else if (_charset->_startLeft < 200)
     875                                _charset->_startLeft = _charset->_left = _string[a].xpos - 15;
     876                }
     877        }
     878
    859879        if (_game.version >= 5)
    860880                memcpy(_charsetColorMap, _charsetData[_charset->getCurID()], 4);
    861881