Ticket #8059: scummvm_spacing.diff

File scummvm_spacing.diff, 1.8 KB (added by wjp, 22 years ago)

scummvm_spacing.diff

  • scumm/scumm.h

    RCS file: /cvsroot/scummvm/scummvm/scumm/scumm.h,v
    retrieving revision 1.23
    diff -u -d -b -u -r1.23 scumm.h
     
    220220        void drawBits();
    221221        void printChar(int chr);
    222222        void printCharOld(int chr);
    223         int getSpacing(char chr, byte *charset);
     223        int getSpacing(byte chr, byte *charset);
    224224        int getStringWidth(int a, byte *str, int pos);
    225225        void addLinebreaks(int a, byte *str, int pos, int maxwidth);
    226226};
  • scumm/string.cpp

    RCS file: /cvsroot/scummvm/scummvm/scumm/string.cpp,v
    retrieving revision 1.17
    diff -u -d -b -u -r1.17 string.cpp
     
    7171                }
    7272                width += getSpacing(chr, ptr);
    7373        }
     74
    7475        return width;
    7576}
    7677
     
    125126
    126127                if (chr == ' ')
    127128                        lastspace = pos - 1;
     129
    128130                curw += getSpacing(chr, ptr);
    129131                if (lastspace == -1)
    130132                        continue;
     
    10191021}
    10201022
    10211023// do spacing for variable width old-style font
    1022 int CharsetRenderer::getSpacing(char chr, byte *ptr)
     1024int CharsetRenderer::getSpacing(byte chr, byte *charset)
    10231025{
    1024         int spacing;
     1026        int spacing = 0;
    10251027       
    10261028        if (_vm->_features & GF_OLD256) {
    1027                 spacing = *(ptr - 11 + chr);
     1029                spacing = *(charset - 11 + chr);
    10281030        } else {
    1029                 int offs = READ_LE_UINT32(ptr + chr * 4 + 4);
     1031                int offs = READ_LE_UINT32(charset + chr * 4 + 4);
    10301032                if (offs) {
    1031                         spacing = ptr[offs];
    1032                         if (ptr[offs + 2] >= 0x80) {
    1033                                 spacing += ptr[offs + 2] - 0x100;
     1033                        spacing = charset[offs];
     1034                        if (charset[offs + 2] >= 0x80) {
     1035                                spacing += charset[offs + 2] - 0x100;
    10341036                        } else {
    1035                                 spacing += ptr[offs + 2];
     1037                                spacing += charset[offs + 2];
    10361038                        }
    10371039                }
    10381040        }