[Scummvm-cvs-logs] SF.net SVN: scummvm: [26544] scummvm/trunk/engines/parallaction/font.cpp
peres001 at users.sourceforge.net
peres001 at users.sourceforge.net
Wed Apr 18 13:53:08 CEST 2007
Revision: 26544
http://scummvm.svn.sourceforge.net/scummvm/?rev=26544&view=rev
Author: peres001
Date: 2007-04-18 04:53:07 -0700 (Wed, 18 Apr 2007)
Log Message:
-----------
Fixes bug 1702679.
Modified Paths:
--------------
scummvm/trunk/engines/parallaction/font.cpp
Modified: scummvm/trunk/engines/parallaction/font.cpp
===================================================================
--- scummvm/trunk/engines/parallaction/font.cpp 2007-04-18 09:42:13 UTC (rev 26543)
+++ scummvm/trunk/engines/parallaction/font.cpp 2007-04-18 11:53:07 UTC (rev 26544)
@@ -251,18 +251,22 @@
uint16 _accessors; // unused
byte _loChar;
byte _hiChar;
- byte *_charData;
+ uint32 _charData;
uint16 _modulo;
- CharLoc *_charLoc;
- uint16 *_charSpace;
- uint16 *_charKern;
+ uint32 _charLoc;
+ uint32 _charSpace;
+ uint32 _charKern;
};
#include "common/pack-end.h"
AmigaDiskFont *_font;
uint32 _dataSize;
byte *_data;
- bool _proportional;
+ bool _proportional;
+ byte *_charData;
+ CharLoc *_charLoc;
+ uint16 *_charSpace;
+ uint16 *_charKern;
byte *_cp;
uint32 _pitch;
@@ -304,11 +308,17 @@
_font->_xSize = FROM_BE_16(_font->_xSize);
_font->_baseline = FROM_BE_16(_font->_baseline);
_font->_modulo = FROM_BE_16(_font->_modulo);
-
+/*
_font->_charLoc = (CharLoc*)(_data + FROM_BE_32((uint32)_font->_charLoc));
_font->_charData = _data + FROM_BE_32((uint32)_font->_charData);
_font->_charSpace = (uint16*)(_data + FROM_BE_32((uint32)_font->_charSpace));
_font->_charKern = (uint16*)(_data + FROM_BE_32((uint32)_font->_charKern));
+*/
+ _charLoc = (CharLoc*)(_data + FROM_BE_32(_font->_charLoc));
+ _charData = _data + FROM_BE_32(_font->_charData);
+ _charSpace = (uint16*)(_data + FROM_BE_32(_font->_charSpace));
+ _charKern = (uint16*)(_data + FROM_BE_32(_font->_charKern));
+
/*
printf("H = %i, W = %i\n", _font->_ySize, _font->_xSize);
printf("_data = %p\n", _data);
@@ -327,19 +337,19 @@
}
uint16 AmigaFont::getSpacing(char c) {
- return FROM_BE_16(_proportional ? _font->_charSpace[c] : _font->_xSize);
+ return FROM_BE_16(_proportional ? _charSpace[c] : _font->_xSize);
}
uint16 AmigaFont::getKerning(char c) {
- return FROM_BE_16(_font->_charKern[c]);
+ return FROM_BE_16(_charKern[c]);
}
uint16 AmigaFont::getPixels(char c) {
- return FROM_BE_16(_font->_charLoc[c]._length);
+ return FROM_BE_16(_charLoc[c]._length);
}
uint16 AmigaFont::getOffset(char c) {
- return FROM_BE_16(_font->_charLoc[c]._offset);
+ return FROM_BE_16(_charLoc[c]._offset);
}
void AmigaFont::blitData(char c) {
@@ -348,7 +358,7 @@
int bitOffset = getOffset(c);
byte *d = _cp;
- byte *s = _font->_charData;
+ byte *s = _charData;
for (int i = 0; i < _font->_ySize; i++) {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list