GUI: U32: Remove redundant code

Because po files now (should) use UTF-8, a bunch of code in ScummVM is redundant. This commit addresses that.

- Remove charsetMapping and related variables.
- Remove the code that used these functions.
- Remove cp_parser.cpp. This is removed because the use of codepages is no longer needed.
- Remove iso-8859-x codepages (see above message)
- Always set mapping as 0 in ThemeEngine::loadScalableFont
- Check if ascii or not by getting charset in about dialog.
This commit is contained in:
aryanrawlani28 2020-06-28 03:45:07 +05:30 committed by Eugene Sandulenko
parent 810b7cfccc
commit 3d97be2559
14 changed files with 3 additions and 1566 deletions

View File

@ -180,10 +180,6 @@ char *Encoding::conversion(const String &to, const String &from, const char *str
result = g_system->convertEncoding(addUtfEndianness(to).c_str(),
addUtfEndianness(from).c_str(), string, length);
if (result == nullptr) {
result = convertTransManMapping(addUtfEndianness(to).c_str(), addUtfEndianness(from).c_str(), string, length);
}
if (result == nullptr) {
result = convertConversionTable(addUtfEndianness(to).c_str(), addUtfEndianness(from).c_str(), string, length);
}
@ -277,81 +273,6 @@ char *Encoding::convertIconv(const char *to, const char *from, const char *strin
#endif //USE_ICONV
}
// This algorithm is able to convert only between the current TransMan charset
// and UTF-32, but if it fails, it tries to at least convert from the current
// TransMan encoding to UTF-32 and then it calls convert() again with that.
char *Encoding::convertTransManMapping(const char *to, const char *from, const char *string, size_t length) {
#ifdef USE_TRANSLATION
String currentCharset = TransMan.getCurrentCharset();
if (currentCharset.equalsIgnoreCase(from)) {
// We can use the transMan mapping directly
uint32 *partialResult = (uint32 *)calloc(sizeof(uint32), (length + 1));
if (!partialResult) {
warning("Couldn't allocate memory for encoding conversion");
return nullptr;
}
const uint32 *mapping = TransMan.getCharsetMapping();
if (mapping == 0) {
for(unsigned i = 0; i < length; i++) {
partialResult[i] = string[i];
}
} else {
for(unsigned i = 0; i < length; i++) {
partialResult[i] = mapping[(unsigned char)string[i]] & 0x7FFFFFFF;
}
}
char *finalResult = convert(to, "UTF-32", (char *)partialResult, length * 4);
free(partialResult);
return finalResult;
} else if (currentCharset.equalsIgnoreCase(to) && String(from).hasPrefixIgnoreCase("utf-32")) {
bool swapEndian = false;
char *newString = nullptr;
#ifdef SCUMM_BIG_ENDIAN
if (String(from).hasSuffixIgnoreCase("LE"))
swapEndian = true;
#else
if (String(from).hasSuffixIgnoreCase("BE"))
swapEndian = true;
#endif
if (swapEndian) {
if (String(from).hasPrefixIgnoreCase("utf-16"))
newString = switchEndian(string, length, 16);
if (String(from).hasPrefixIgnoreCase("utf-32"))
newString = switchEndian(string, length, 32);
if (newString != nullptr)
string = newString;
else
return nullptr;
}
// We can do reverse mapping
const uint32 *mapping = TransMan.getCharsetMapping();
const uint32 *src = (const uint32 *)string;
char *result = (char *)calloc(sizeof(char), (length + 4));
if (!result) {
warning("Couldn't allocate memory for encoding conversion");
if (newString != nullptr)
free(newString);
return nullptr;
}
for (unsigned i = 0; i < length; i++) {
for (int j = 0; j < 256; j++) {
if ((mapping[j] & 0x7FFFFFFF) == src[i]) {
result[i] = j;
break;
}
}
}
if (newString != nullptr)
free(newString);
return result;
} else
return nullptr;
#else
return nullptr;
#endif // USE_TRANSLATION
}
static uint32 g_cp850ConversionTable[] = {
0x0000, 0x263A, 0x263B, 0x2665, 0x2666, 0x2663, 0x2660, 0x2022,
0x25d8, 0x25CB, 0x25D9, 0x2642, 0x2640, 0x266A, 0x266B, 0x263C,

View File

@ -172,22 +172,6 @@ class Encoding {
*/
static char *convertIconv(const char *to, const char *from, const char *string, size_t length);
/**
* Tries to use the TransMan to convert the string. It can convert only
* between UTF-32 and the current GUI charset. It also tries to convert
* from the current GUI charset to UTF-32 and then it calls convert() again.
*
* The result has to be freed after use.
*
* @param to Name of the encoding the strings will be converted to
* @param from Name of the encoding the strings will be converted from
* @param string String that should be converted.
* @param length Length of the string to convert in bytes.
*
* @return Converted string (must be freed) or nullptr if the conversion failed
*/
static char *convertTransManMapping(const char *to, const char *from, const char *string, size_t length);
/**
* Uses conversion table to convert the string to unicode and from that
* to the final encoding. Important encodings, that aren't supported by

View File

@ -45,7 +45,7 @@ bool operator<(const TLanguage &l, const TLanguage &r) {
return strcmp(l.name, r.name) < 0;
}
TranslationManager::TranslationManager() : _currentLang(-1), _charmap(nullptr) {
TranslationManager::TranslationManager() : _currentLang(-1) {
loadTranslationsInfoDat();
// Set the default language
@ -53,7 +53,7 @@ TranslationManager::TranslationManager() : _currentLang(-1), _charmap(nullptr) {
}
TranslationManager::~TranslationManager() {
delete[] _charmap;
}
int32 TranslationManager::findMatchingLanguage(const String &lang) {

View File

@ -155,21 +155,6 @@ public:
*/
String getCurrentCharset() const;
/**
* Returns a pointer to the current charset mapping. This mapping is a
* codepage encoding -> unicode mapping and always 256 entries long.
*
* The MSB of the individual mapped (i.e. unicode) character states
* whether the character is required for this charset. If it is set, the
* character needs to be present in order to have the text displayed.
* This is used in the font loading code to detect whether the font is
* able of supporting this language.
*
* The return value might be 0 in case it's a default ASCII/ISO-8859-1
* map.
*/
const uint32 *getCharsetMapping() const { return _charmap; }
/**
* Returns currently selected translation language
*/
@ -225,15 +210,11 @@ private:
StringArray _langs;
StringArray _langNames;
StringArray _charmaps;
StringArray _messageIds;
Array<PoMessageEntry> _currentTranslationMessages;
String _currentCharset;
int _currentLang;
uint32 _charmapStart;
uint32 *_charmap;
};
} // End of namespace Common

View File

@ -1,106 +0,0 @@
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* This is a utility for create the translations.dat file from all the po files.
* The generated files is used by ScummVM to propose translation of its GUI.
*/
#include "cp_parser.h"
#include <fstream>
#include <stdio.h>
Codepage::Codepage(const std::string &name, const uint32 *mapping) : _name(name) {
if (!mapping) {
// Default to a ISO-8859-1 mapping
for (unsigned int i = 0; i < 256; ++i)
_mapping[i] = i;
} else {
for (unsigned int i = 0; i < 256; ++i)
_mapping[i] = *mapping++;
}
}
Codepage *parseCodepageMapping(const std::string &filename) {
size_t start = filename.find_last_of("/\\");
if (start == std::string::npos)
start = 0;
else
++start;
// Strip off the filename extension
const size_t pos = filename.find_last_of('.');
const std::string charset(filename.substr(start, pos != std::string::npos ? (pos - start) : std::string::npos));
std::ifstream in(filename.c_str());
if (!in) {
fprintf(stderr, "ERROR: Could not open file \"%s\"!\n", filename.c_str());
return 0;
}
uint32 mapping[256];
int processedMappings = 0;
std::string line;
while (processedMappings < 256) {
std::getline(in, line);
if (in.eof())
break;
if (in.fail()) {
fprintf(stderr, "ERROR: Reading from file \"%s\" failed!\n", filename.c_str());
return 0;
}
// In case the line starts with a "#" it is a comment. We also ignore
// empty lines.
if (line.empty() || line[0] == '#')
continue;
// Read the unicode number, we thereby ignore everything else on the line
int unicode, required;
const int parsed = sscanf(line.c_str(), "%d %d", &unicode, &required);
if (parsed < 1 || parsed > 2) {
fprintf(stderr, "ERROR: Line \"%s\" is malformed!\n", filename.c_str());
return 0;
}
// In case no required integer was given, we assume the character is
// required
if (parsed == 1)
required = 1;
// -1 means default mapping
if (unicode == -1)
unicode = processedMappings;
uint32 unicodeValue = unicode;
if (required)
unicodeValue |= 0x80000000;
mapping[processedMappings++] = (uint32)unicodeValue;
}
// Check whether all character encodings are mapped, if not error out
if (processedMappings != 256) {
fprintf(stderr, "ERROR: File \"%s\" does not contain mappings for exactly 256 characters!\n", filename.c_str());
return 0;
}
// Return the codepage
return new Codepage(charset, mapping);
}

View File

@ -1,54 +0,0 @@
/* ScummVM - Graphic Adventure Engine
*
* ScummVM is the legal property of its developers, whose names
* are too numerous to list here. Please refer to the COPYRIGHT
* file distributed with this source distribution.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* as published by the Free Software Foundation; either version 2
* of the License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*
* This is a utility for create the translations.dat file from all the po files.
* The generated files is used by ScummVM to propose translation of its GUI.
*/
#ifndef CP_PARSER_H
#define CP_PARSER_H
#include "create_translations.h"
#include <string>
/**
* Codepage description.
*
* This includes a name, and the codepage -> unicode mapping.
*/
class Codepage {
public:
Codepage(const std::string &name, const uint32 *mapping);
const std::string &getName() const { return _name; }
uint32 getMapping(unsigned char src) const { return _mapping[src]; }
private:
std::string _name;
uint32 _mapping[256];
};
/**
* Parse the codepage file and create a codepage.
*/
Codepage *parseCodepageMapping(const std::string &filename);
#endif

View File

@ -37,7 +37,6 @@
#endif // main
#include "po_parser.h"
#include "cp_parser.h"
#define TRANSLATIONS_DAT_VER 4 // 1 byte

View File

@ -1,7 +1,6 @@
MODULE := devtools/create_translations
MODULE_OBJS := \
cp_parser.o \
po_parser.o \
create_translations.o

View File

@ -1614,11 +1614,7 @@ DrawData ThemeEngine::parseDrawDataId(const Common::String &name) const {
const Graphics::Font *ThemeEngine::loadScalableFont(const Common::String &filename, const Common::String &charset, const int pointsize, Common::String &name) {
#ifdef USE_FREETYPE2
#ifdef USE_TRANSLATION
const uint32 *mapping = TransMan.getCharsetMapping();
#else
const uint32 *mapping = 0;
#endif
name = Common::String::format("%s-%s@%d", filename.c_str(), charset.c_str(), pointsize);
// Try already loaded fonts.

View File

@ -156,10 +156,7 @@ void AboutDialog::addLine(const U32String &str) {
if (format[0] == 'A') {
bool useAscii = false;
#ifdef USE_TRANSLATION
// We could use TransMan.getCurrentCharset() but rather than compare strings
// it is easier to use TransMan.getCharsetMapping() (non null in case of non
// ISO-8859-1 mapping)
useAscii = (TransMan.getCharsetMapping() != nullptr);
useAscii = TransMan.getCurrentCharset().equals("ASCII");
#endif
if (useAscii)
asciiStr = renderStr;

View File

@ -1,320 +0,0 @@
# 0x00 ( 0)
0 0 # Not required
1 0 # Not required
2 0 # Not required
3 0 # Not required
# 0x04 ( 4)
4 0 # Not required
5 0 # Not required
6 0 # Not required
7 0 # Not required
# 0x08 ( 8)
8 0 # Not required
9 0 # Not required
10 0 # Not required
11 0 # Not required
# 0x0C ( 12)
12 0 # Not required
13 0 # Not required
14 0 # Not required
15 0 # Not required
# 0x10 ( 16)
16 0 # Not required
17 0 # Not required
18 0 # Not required
19 0 # Not required
# 0x14 ( 20)
20 0 # Not required
21 0 # Not required
22 0 # Not required
23 0 # Not required
# 0x18 ( 24)
24 0 # Not required
25 0 # Not required
26 0 # Not required
27 0 # Not required
# 0x1C ( 28)
28 0 # Not required
29 0 # Not required
30 0 # Not required
31 0 # Not required
# 0x20 ( 32)
32
33
34
35
# 0x24 ( 36)
36
37
38
39
# 0x28 ( 40)
40
41
42
43
# 0x2C ( 44)
44
45
46
47
# 0x30 ( 48)
48
49
50
51
# 0x34 ( 52)
52
53
54
55
# 0x38 ( 56)
56
57
58
59
# 0x3C ( 60)
60
61
62
63
# 0x40 ( 64)
64
65
66
67
# 0x44 ( 68)
68
69
70
71
# 0x48 ( 72)
72
73
74
75
# 0x4C ( 76)
76
77
78
79
# 0x50 ( 80)
80
81
82
83
# 0x54 ( 84)
84
85
86
87
# 0x58 ( 88)
88
89
90
91
# 0x5C ( 92)
92
93
94
95
# 0x60 ( 96)
96
97
98
99
# 0x64 (100)
100
101
102
103
# 0x68 (104)
104
105
106
107
# 0x6C (108)
108
109
110
111
# 0x70 (112)
112
113
114
115
# 0x74 (116)
116
117
118
119
# 0x78 (120)
120
121
122
123
# 0x7C (124)
124
125
126
127 0 # Not required
# 0x80 (128)
128 0 # Not required
129 0 # Not required
130 0 # Not required
131 0 # Not required
# 0x84 (132)
132 0 # Not required
133 0 # Not required
134 0 # Not required
135 0 # Not required
# 0x88 (136)
136 0 # Not required
137 0 # Not required
138 0 # Not required
139 0 # Not required
# 0x8C (140)
140 0 # Not required
141 0 # Not required
142 0 # Not required
143 0 # Not required
# 0x90 (144)
144 0 # Not required
145 0 # Not required
146 0 # Not required
147 0 # Not required
# 0x94 (148)
148 0 # Not required
149 0 # Not required
150 0 # Not required
151 0 # Not required
# 0x98 (152)
152 0 # Not required
153 0 # Not required
154 0 # Not required
155 0 # Not required
# 0x9C (156)
156 0 # Not required
157 0 # Not required
158 0 # Not required
159 0 # Not required
# 0xA0 (160)
160
260
728
321
# 0xA4 (164)
164
317
346
167
# 0xA8 (168)
168
352
350
356
# 0xAC (172)
377
173
381
379
# 0xB0 (176)
176
261
731
322
# 0xB4 (180)
180
318
347
711
# 0xB8 (184)
184
353
351
357
# 0xBC (188)
378
733
382
380
# 0xC0 (192)
340
193
194
258
# 0xC4 (196)
196
313
262
199
# 0xC8 (200)
268
201
280
203
# 0xCC (204)
282
205
206
270
# 0xD0 (208)
272
323
327
211
# 0xD4 (212)
212
336
214
215
# 0xD8 (216)
344
366
218
368
# 0xDC (220)
220
221
354
223
# 0xE0 (224)
341
225
226
259
# 0xE4 (228)
228
314
263
231
# 0xE8 (232)
269
233
281
235
# 0xEC (236)
283
237
238
271
# 0xF0 (240)
273
324
328
243
# 0xF4 (244)
244
337
246
247
# 0xF8 (248)
345
367
250
369
# 0xFC (252)
252
253
355
729

View File

@ -1,320 +0,0 @@
# 0x00 ( 0)
0 0 # Not required
1 0 # Not required
2 0 # Not required
3 0 # Not required
# 0x04 ( 4)
4 0 # Not required
5 0 # Not required
6 0 # Not required
7 0 # Not required
# 0x08 ( 8)
8 0 # Not required
9 0 # Not required
10 0 # Not required
11 0 # Not required
# 0x0C ( 12)
12 0 # Not required
13 0 # Not required
14 0 # Not required
15 0 # Not required
# 0x10 ( 16)
16 0 # Not required
17 0 # Not required
18 0 # Not required
19 0 # Not required
# 0x14 ( 20)
20 0 # Not required
21 0 # Not required
22 0 # Not required
23 0 # Not required
# 0x18 ( 24)
24 0 # Not required
25 0 # Not required
26 0 # Not required
27 0 # Not required
# 0x1C ( 28)
28 0 # Not required
29 0 # Not required
30 0 # Not required
31 0 # Not required
# 0x20 ( 32)
32
33
34
35
# 0x24 ( 36)
36
37
38
39
# 0x28 ( 40)
40
41
42
43
# 0x2C ( 44)
44
45
46
47
# 0x30 ( 48)
48
49
50
51
# 0x34 ( 52)
52
53
54
55
# 0x38 ( 56)
56
57
58
59
# 0x3C ( 60)
60
61
62
63
# 0x40 ( 64)
64
65
66
67
# 0x44 ( 68)
68
69
70
71
# 0x48 ( 72)
72
73
74
75
# 0x4C ( 76)
76
77
78
79
# 0x50 ( 80)
80
81
82
83
# 0x54 ( 84)
84
85
86
87
# 0x58 ( 88)
88
89
90
91
# 0x5C ( 92)
92
93
94
95
# 0x60 ( 96)
96
97
98
99
# 0x64 (100)
100
101
102
103
# 0x68 (104)
104
105
106
107
# 0x6C (108)
108
109
110
111
# 0x70 (112)
112
113
114
115
# 0x74 (116)
116
117
118
119
# 0x78 (120)
120
121
122
123
# 0x7C (124)
124
125
126
127 0 # Not required
# 0x80 (128)
128 0 # Not required
129 0 # Not required
130 0 # Not required
131 0 # Not required
# 0x84 (132)
132 0 # Not required
133 0 # Not required
134 0 # Not required
135 0 # Not required
# 0x88 (136)
136 0 # Not required
137 0 # Not required
138 0 # Not required
139 0 # Not required
# 0x8C (140)
140 0 # Not required
141 0 # Not required
142 0 # Not required
143 0 # Not required
# 0x90 (144)
144 0 # Not required
145 0 # Not required
146 0 # Not required
147 0 # Not required
# 0x94 (148)
148 0 # Not required
149 0 # Not required
150 0 # Not required
151 0 # Not required
# 0x98 (152)
152 0 # Not required
153 0 # Not required
154 0 # Not required
155 0 # Not required
# 0x9C (156)
156 0 # Not required
157 0 # Not required
158 0 # Not required
159 0 # Not required
# 0xA0 (160)
160
1025
1026
1027
# 0xA4 (164)
1028
1029
1030
1031
# 0xA8 (168)
1032
1033
1034
1035
# 0xAC (172)
1036
173
1038
1039
# 0xB0 (176)
1040
1041
1042
1043
# 0xB4 (180)
1044
1045
1046
1047
# 0xB8 (184)
1048
1049
1050
1051
# 0xBC (188)
1052
1053
1054
1055
# 0xC0 (192)
1056
1057
1058
1059
# 0xC4 (196)
1060
1061
1062
1063
# 0xC8 (200)
1064
1065
1066
1067
# 0xCC (204)
1068
1069
1070
1071
# 0xD0 (208)
1072
1073
1074
1075
# 0xD4 (212)
1076
1077
1078
1079
# 0xD8 (216)
1080
1081
1082
1083
# 0xDC (220)
1084
1085
1086
1087
# 0xE0 (224)
1088
1089
1090
1091
# 0xE4 (228)
1092
1093
1094
1095
# 0xE8 (232)
1096
1097
1098
1099
# 0xEC (236)
1100
1101
1102
1103
# 0xF0 (240)
8470
1105
1106
1107
# 0xF4 (244)
1108
1109
1110
1111
# 0xF8 (248)
1112
1113
1114
1115
# 0xFC (252)
1116
167
1118
1119

View File

@ -1,320 +0,0 @@
# 0x00 ( 0)
0 0 # Not required
1 0 # Not required
2 0 # Not required
3 0 # Not required
# 0x04 ( 4)
4 0 # Not required
5 0 # Not required
6 0 # Not required
7 0 # Not required
# 0x08 ( 8)
8 0 # Not required
9 0 # Not required
10 0 # Not required
11 0 # Not required
# 0x0C ( 12)
12 0 # Not required
13 0 # Not required
14 0 # Not required
15 0 # Not required
# 0x10 ( 16)
16 0 # Not required
17 0 # Not required
18 0 # Not required
19 0 # Not required
# 0x14 ( 20)
20 0 # Not required
21 0 # Not required
22 0 # Not required
23 0 # Not required
# 0x18 ( 24)
24 0 # Not required
25 0 # Not required
26 0 # Not required
27 0 # Not required
# 0x1C ( 28)
28 0 # Not required
29 0 # Not required
30 0 # Not required
31 0 # Not required
# 0x20 ( 32)
32
33
34
35
# 0x24 ( 36)
36
37
38
39
# 0x28 ( 40)
40
41
42
43
# 0x2C ( 44)
44
45
46
47
# 0x30 ( 48)
48
49
50
51
# 0x34 ( 52)
52
53
54
55
# 0x38 ( 56)
56
57
58
59
# 0x3C ( 60)
60
61
62
63
# 0x40 ( 64)
64
65
66
67
# 0x44 ( 68)
68
69
70
71
# 0x48 ( 72)
72
73
74
75
# 0x4C ( 76)
76
77
78
79
# 0x50 ( 80)
80
81
82
83
# 0x54 ( 84)
84
85
86
87
# 0x58 ( 88)
88
89
90
91
# 0x5C ( 92)
92
93
94
95
# 0x60 ( 96)
96
97
98
99
# 0x64 (100)
100
101
102
103
# 0x68 (104)
104
105
106
107
# 0x6C (108)
108
109
110
111
# 0x70 (112)
112
113
114
115
# 0x74 (116)
116
117
118
119
# 0x78 (120)
120
121
122
123
# 0x7C (124)
124
125
126
127 0 # Not required
# 0x80 (128)
128 0 # Not required
129 0 # Not required
130 0 # Not required
131 0 # Not required
# 0x84 (132)
132 0 # Not required
133 0 # Not required
134 0 # Not required
135 0 # Not required
# 0x88 (136)
136 0 # Not required
137 0 # Not required
138 0 # Not required
139 0 # Not required
# 0x8C (140)
140 0 # Not required
141 0 # Not required
142 0 # Not required
143 0 # Not required
# 0x90 (144)
144 0 # Not required
145 0 # Not required
146 0 # Not required
147 0 # Not required
# 0x94 (148)
148 0 # Not required
149 0 # Not required
150 0 # Not required
151 0 # Not required
# 0x98 (152)
152 0 # Not required
153 0 # Not required
154 0 # Not required
155 0 # Not required
# 0x9C (156)
156 0 # Not required
157 0 # Not required
158 0 # Not required
159 0 # Not required
# 0xA0 (160)
160
8216
8217
163
# 0xA4 (164)
8364
165 0 # was: 8367. Not required and it is missing from our TTF fonts ( "DRACHMA SIGN" (U+20AF))
166
167
# 0xA8 (168)
168
169
890
171
# 0xAC (172)
172
173
-1 0 # Not required
8213
# 0xB0 (176)
176
177
178
179
# 0xB4 (180)
900
901
902
183
# 0xB8 (184)
904
905
906
187
# 0xBC (188)
908
189
910
911
# 0xC0 (192)
912
913
914
915
# 0xC4 (196)
916
917
918
919
# 0xC8 (200)
920
921
922
923
# 0xCC (204)
924
925
926
927
# 0xD0 (208)
928
929
-1 0 # Not required
931
# 0xD4 (212)
932
933
934
935
# 0xD8 (216)
936
937
938
939
# 0xDC (220)
940
941
942
943
# 0xE0 (224)
944
945
946
947
# 0xE4 (228)
948
949
950
951
# 0xE8 (232)
952
953
954
955
# 0xEC (236)
956
957
958
959
# 0xF0 (240)
960
961
962
963
# 0xF4 (244)
964
965
966
967
# 0xF8 (248)
968
969
970
971
# 0xFC (252)
972
973
974
-1 0 # Not required

View File

@ -1,320 +0,0 @@
# 0x00 ( 0)
0 0 # Not required
1 0 # Not required
2 0 # Not required
3 0 # Not required
# 0x04 ( 4)
4 0 # Not required
5 0 # Not required
6 0 # Not required
7 0 # Not required
# 0x08 ( 8)
8 0 # Not required
9 0 # Not required
10 0 # Not required
11 0 # Not required
# 0x0C ( 12)
12 0 # Not required
13 0 # Not required
14 0 # Not required
15 0 # Not required
# 0x10 ( 16)
16 0 # Not required
17 0 # Not required
18 0 # Not required
19 0 # Not required
# 0x14 ( 20)
20 0 # Not required
21 0 # Not required
22 0 # Not required
23 0 # Not required
# 0x18 ( 24)
24 0 # Not required
25 0 # Not required
26 0 # Not required
27 0 # Not required
# 0x1C ( 28)
28 0 # Not required
29 0 # Not required
30 0 # Not required
31 0 # Not required
# 0x20 ( 32)
32
33
34
35
# 0x24 ( 36)
36
37
38
39
# 0x28 ( 40)
40
41
42
43
# 0x2C ( 44)
44
45
46
47
# 0x30 ( 48)
48
49
50
51
# 0x34 ( 52)
52
53
54
55
# 0x38 ( 56)
56
57
58
59
# 0x3C ( 60)
60
61
62
63
# 0x40 ( 64)
64
65
66
67
# 0x44 ( 68)
68
69
70
71
# 0x48 ( 72)
72
73
74
75
# 0x4C ( 76)
76
77
78
79
# 0x50 ( 80)
80
81
82
83
# 0x54 ( 84)
84
85
86
87
# 0x58 ( 88)
88
89
90
91
# 0x5C ( 92)
92
93
94
95
# 0x60 ( 96)
96
97
98
99
# 0x64 (100)
100
101
102
103
# 0x68 (104)
104
105
106
107
# 0x6C (108)
108
109
110
111
# 0x70 (112)
112
113
114
115
# 0x74 (116)
116
117
118
119
# 0x78 (120)
120
121
122
123
# 0x7C (124)
124
125
126
127 0 # Not required
# 0x80 (128)
128 0 # Not required
129 0 # Not required
130 0 # Not required
131 0 # Not required
# 0x84 (132)
132 0 # Not required
133 0 # Not required
134 0 # Not required
135 0 # Not required
# 0x88 (136)
136 0 # Not required
137 0 # Not required
138 0 # Not required
139 0 # Not required
# 0x8C (140)
140 0 # Not required
141 0 # Not required
142 0 # Not required
143 0 # Not required
# 0x90 (144)
144 0 # Not required
145 0 # Not required
146 0 # Not required
147 0 # Not required
# 0x94 (148)
148 0 # Not required
149 0 # Not required
150 0 # Not required
151 0 # Not required
# 0x98 (152)
152 0 # Not required
153 0 # Not required
154 0 # Not required
155 0 # Not required
# 0x9C (156)
156 0 # Not required
157 0 # Not required
158 0 # Not required
159 0 # Not required
# 0xA0 (160)
160
-1 0 # unused
162
163
# 0xA4 (164)
164
165
166
167
# 0xA8 (168)
168
169
215
171
# 0xAC (172)
172
173
174
175
# 0xB0 (176)
176
177
178
179
# 0xB4 (180)
180
181
182
183
# 0xB8 (184)
184
185
247
187
# 0xBC (188)
188
189
190
-1 0 # unused
# 0xC0 (192)
-1 0 # unused
-1 0 # unused
-1 0 # unused
-1 0 # unused
# 0xC4 (196)
-1 0 # unused
-1 0 # unused
-1 0 # unused
-1 0 # unused
# 0xC8 (200)
-1 0 # unused
-1 0 # unused
-1 0 # unused
-1 0 # unused
# 0xCC (204)
-1 0 # unused
-1 0 # unused
-1 0 # unused
-1 0 # unused
# 0xD0 (208)
-1 0 # unused
-1 0 # unused
-1 0 # unused
-1 0 # unused
# 0xD4 (212)
-1 0 # unused
-1 0 # unused
-1 0 # unused
-1 0 # unused
# 0xD8 (216)
-1 0 # unused
-1 0 # unused
-1 0 # unused
-1 0 # unused
# 0xDC (220)
-1 0 # unused
-1 0 # unused
-1 0 # unused
8215
# 0xE0 (224)
1488
1489
1490
1491
# 0xE4 (228)
1492
1493
1494
1495
# 0xE8 (232)
1496
1497
1498
1499
# 0xEC (236)
1500
1501
1502
1503
# 0xF0 (240)
1504
1505
1506
1507
# 0xF4 (244)
1508
1509
1510
1511
# 0xF8 (248)
1512
1513
1514
-1 0 # unused
# 0xFC (252)
-1 0 # unused
8206
8207
-1 0 # unused