[Scummvm-cvs-logs] CVS: scummvm/sky text.cpp,1.52,1.53
Torbj?rn Andersson
eriktorbjorn at users.sourceforge.net
Wed Aug 13 18:25:14 CEST 2003
Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv12982
Modified Files:
text.cpp
Log Message:
I didn't realize it at first, but LINC-space uses the same character data
as the LINC terminals, so our patched characters looked very out of place
since they didn't have the black outline the other characters had.
I've fixed that, and tweaked the character data for "ü" slightly.
Index: text.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/text.cpp,v
retrieving revision 1.52
retrieving revision 1.53
diff -u -d -r1.52 -r1.53
--- text.cpp 31 Jul 2003 21:26:27 -0000 1.52
+++ text.cpp 13 Aug 2003 15:29:44 -0000 1.53
@@ -78,8 +78,10 @@
charSetPtr[c] = width;
for (int i = 0; i < height; i++) {
- ptr[i * 4 + 0] = ptr[i * 4 + 2] = (data[i] & 0xFF00) >> 8;
- ptr[i * 4 + 1] = ptr[i * 4 + 3] = data[i] & 0x00FF;
+ ptr[i * 4 + 0] = (data[i] & 0xFF00) >> 8;
+ ptr[i * 4 + 1] = data[i] & 0x00FF;
+ ptr[i * 4 + 2] = (data[i + height] & 0xFF00) >> 8;
+ ptr[i * 4 + 3] = data[i + height] & 0x00FF;
}
}
@@ -106,64 +108,94 @@
// two. This is particularly noticeable when using a non-English
// version.
+ // Since the same character data is used both in LINC terminals and
+ // in LINC-space, we need to provide a mask (for the black outline)
+ // even though it's only visible in the latter. We store the mask
+ // as the second half of the array to make it more human-readable.
+ // In the actual game data, the character and mask are interleaved.
+
const uint16 slash[] = {
0x0000, 0x0000, 0x0000, 0x0800, 0x1000, 0x1000,
- 0x2000, 0x2000, 0x4000, 0x0000, 0x0000, 0x0000
+ 0x2000, 0x2000, 0x4000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x0800, 0x1C00, 0x3800, 0x3800,
+ 0x7000, 0x7000, 0xE000, 0x4000, 0x0000, 0x0000
};
const uint16 lt[] = {
0x0000, 0x0000, 0x0800, 0x1000, 0x2000, 0x4000,
- 0x2000, 0x1000, 0x0800, 0x0000, 0x0000, 0x0000
+ 0x2000, 0x1000, 0x0800, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0800, 0x1C00, 0x3800, 0x7000, 0xE000,
+ 0x7000, 0x3800, 0x1C00, 0x0800, 0x0000, 0x0000
};
const uint16 gt[] = {
0x0000, 0x0000, 0x4000, 0x2000, 0x1000, 0x0800,
- 0x1000, 0x2000, 0x4000, 0x0000, 0x0000, 0x0000
+ 0x1000, 0x2000, 0x4000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x4000, 0xE000, 0x7000, 0x3800, 0x1C00,
+ 0x3800, 0x7000, 0xE000, 0x4000, 0x0000, 0x0000
};
const uint16 a_umlaut[] = {
- 0x0000, 0x0000, 0x2800, 0x0000, 0x3000, 0x0800,
- 0x3800, 0x4800, 0x3800, 0x0000, 0x0000, 0x0000
+ 0x0000, 0x0000, 0x2800, 0x0000, 0x3000, 0x0800,
+ 0x3800, 0x4800, 0x3800, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x2800, 0x7C00, 0x3800, 0x7800, 0x3C00,
+ 0x7C00, 0xFC00, 0x7C00, 0x3800, 0x0000, 0x0000
};
const uint16 o_umlaut[] = {
0x0000, 0x0000, 0x4800, 0x0000, 0x3000, 0x4800,
- 0x4800, 0x4800, 0x3000, 0x0000, 0x0000, 0x0000
+ 0x4800, 0x4800, 0x3000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x4800, 0xFC00, 0x7800, 0x7800, 0xFC00,
+ 0xFC00, 0xFC00, 0x7800, 0x3000, 0x0000, 0x0000
};
const uint16 u_umlaut[] = {
0x0000, 0x0000, 0x4800, 0x0000, 0x4800, 0x4800,
- 0x4800, 0x4800, 0x3000, 0x0000, 0x0000, 0x0000
+ 0x4800, 0x4800, 0x3800, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x4800, 0xFC00, 0x4800, 0xFC00, 0xFC00,
+ 0xFC00, 0xFC00, 0x7C00, 0x3800, 0x0000, 0x0000
};
const uint16 A_umlaut[] = {
0x0000, 0x4800, 0x0000, 0x3000, 0x4800, 0x4800,
- 0x7800, 0x4800, 0x4800, 0x0000, 0x0000, 0x0000
+ 0x7800, 0x4800, 0x4800, 0x0000, 0x0000, 0x0000,
+ 0x4800, 0xFC00, 0x7800, 0x7800, 0xFC00, 0xFC00,
+ 0xFC00, 0xFC00, 0xFC00, 0x4800, 0x0000, 0x0000
};
const uint16 O_umlaut[] = {
0x0000, 0x4800, 0x0000, 0x3000, 0x4800, 0x4800,
- 0x4800, 0x4800, 0x3000, 0x0000, 0x0000, 0x0000
+ 0x4800, 0x4800, 0x3000, 0x0000, 0x0000, 0x0000,
+ 0x4800, 0xFC00, 0x7800, 0x7800, 0xFC00, 0xFC00,
+ 0xFC00, 0xFC00, 0x7800, 0x3000, 0x0000, 0x0000
};
const uint16 U_umlaut[] = {
0x0000, 0x4800, 0x0000, 0x4800, 0x4800, 0x4800,
- 0x4800, 0x4800, 0x3000, 0x0000, 0x0000, 0x0000
+ 0x4800, 0x4800, 0x3000, 0x0000, 0x0000, 0x0000,
+ 0x4800, 0xFC00, 0x4800, 0xFC00, 0xFC00, 0xFC00,
+ 0xFC00, 0xFC00, 0x7800, 0x3000, 0x0000, 0x0000
};
const uint16 normal_j[] = {
0x0000, 0x0000, 0x0000, 0x0800, 0x0000, 0x0800,
- 0x0800, 0x0800, 0x0800, 0x4800, 0x3000, 0x0000
+ 0x0800, 0x0800, 0x0800, 0x4800, 0x3000, 0x0000,
+ 0x0000, 0x0000, 0x0800, 0x1C00, 0x0800, 0x1C00,
+ 0x1C00, 0x1C00, 0x5C00, 0xFC00, 0x7800, 0x3000
};
const uint16 german_sz[] = {
0x0000, 0x0000, 0x2000, 0x5000, 0x5000, 0x4800,
- 0x4800, 0x4800, 0x5000, 0x0000, 0x0000, 0x0000
+ 0x4800, 0x4800, 0x5000, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x2000, 0x7000, 0xF800, 0xF800, 0xFC00,
+ 0xFC00, 0xFC00, 0xF800, 0x7000, 0x0000, 0x0000
};
const uint16 normal_1[] = {
0x0000, 0x0000, 0x0000, 0x1000, 0x7000, 0x1000,
- 0x1000, 0x1000, 0x7c00, 0x0000, 0x0000, 0x0000
+ 0x1000, 0x1000, 0x7c00, 0x0000, 0x0000, 0x0000,
+ 0x0000, 0x0000, 0x1000, 0x7800, 0xF800, 0x7800,
+ 0x3800, 0x7c00, 0xFE00, 0x7c00, 0x0000, 0x0000
};
patchChar(charSetPtr, 5, charHeight, 3, u_umlaut);
More information about the Scummvm-git-logs
mailing list