aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xdevtools/credits.pl30
-rw-r--r--gui/about.cpp41
-rw-r--r--gui/credits.h33
3 files changed, 86 insertions, 18 deletions
diff --git a/devtools/credits.pl b/devtools/credits.pl
index ff3b37a5da..28c3139bfd 100755
--- a/devtools/credits.pl
+++ b/devtools/credits.pl
@@ -267,14 +267,22 @@ sub begin_section {
print '\f1\b0\fs24 \cf0 \\' . "\n";
} elsif ($mode eq "CPP") {
if ($section_level eq 0) {
- # TODO: Would be nice to have a 'fat' or 'large' mode for
- # headlines...
- $title = html_entities_to_cpp($title);
- print '"C1""'.$title.'",' . "\n";
- print '"",' . "\n";
+ # TODO: Would be nice to have a 'fat' or 'large' mode for
+ # headlines...
+ my $ascii_title = html_entities_to_ascii($title);
+ $title = html_entities_to_cpp($title);
+ if ($ascii_title ne $title) {
+ print '"A1""'.$ascii_title.'",' . "\n";
+ }
+ print '"C1""'.$title.'",' . "\n";
+ print '"",' . "\n";
} else {
- $title = html_entities_to_cpp($title);
- print '"C1""'.$title.'",' . "\n";
+ my $ascii_title = html_entities_to_ascii($title);
+ $title = html_entities_to_cpp($title);
+ if ($ascii_title ne $title) {
+ print '"A1""'.$ascii_title.'",' . "\n";
+ }
+ print '"C1""'.$title.'",' . "\n";
}
} elsif ($mode eq "XML-DOC") {
print " <row><entry namest='start' nameend='job'>";
@@ -392,13 +400,21 @@ sub add_person {
}
} elsif ($mode eq "CPP") {
$name = $nick if $name eq "";
+ my $ascii_name = html_entities_to_ascii($name);
$name = html_entities_to_cpp($name);
+ if ($ascii_name ne $name) {
+ print '"A0""'.$ascii_name.'",' . "\n";
+ }
print '"C0""'.$name.'",' . "\n";
# Print desc wrapped
if (length $desc > 0) {
+ my $ascii_desc = html_entities_to_ascii($desc);
$desc = html_entities_to_cpp($desc);
+ if ($ascii_desc ne $desc) {
+ print '"A2""'.$ascii_desc.'",' . "\n";
+ }
print '"C2""'.$desc.'",' . "\n";
}
} elsif ($mode eq "XML-DOC") {
diff --git a/gui/about.cpp b/gui/about.cpp
index e2b7064279..088971f273 100644
--- a/gui/about.cpp
+++ b/gui/about.cpp
@@ -37,14 +37,16 @@ enum {
kScrollMillisPerPixel = 60
};
-// The following commands can be put at the start of a line (all subject to change):
-// \C, \L, \R -- set center/left/right alignment
-// \c0 - \c4 -- set a custom color:
-// 0 normal text (green)
-// 1 highlighted text (light green)
-// 2 light border (light gray)
-// 3 dark border (dark gray)
-// 4 background (black)
+// Every Line should start with a letter followed by a digit. Currently those can be
+// (all subject to change)
+// Letter:
+// C, L, R -- set center/left/right alignment
+// A -- ASCII text to replace the next (latin1) line
+// Digit:
+// 0 - 2 -- set a custom color:
+// 0 normal text
+// 1 highlighted text
+// 2 disabled text
// TODO: Maybe add a tab/indent feature; that is, make it possible to specify
// an amount by which that line shall be indented (the indent of course would have
// to be considered while performing any word wrapping, too).
@@ -137,9 +139,26 @@ void AboutDialog::addLine(const char *str) {
} else {
Common::String format(str, 2);
str += 2;
-
+
+ static Common::String asciiStr;
+ 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() != NULL);
+#endif
+ if (useAscii)
+ asciiStr = str;
+ return;
+ }
StringArray wrappedLines;
- g_gui.getFont().wordWrapText(str, _w - 2 * _xOff, wrappedLines);
+ if (!asciiStr.empty()) {
+ g_gui.getFont().wordWrapText(asciiStr, _w - 2 * _xOff, wrappedLines);
+ asciiStr.clear();
+ } else
+ g_gui.getFont().wordWrapText(str, _w - 2 * _xOff, wrappedLines);
for (StringArray::const_iterator i = wrappedLines.begin(); i != wrappedLines.end(); ++i) {
_lines.push_back(format + *i);
@@ -285,7 +304,7 @@ void AboutDialog::reflowLayout() {
int maxW = _w - 2*_xOff;
_w = 0;
for (i = 0; i < ARRAYSIZE(credits); i++) {
- int tmp = g_gui.getStringWidth(credits[i] + 5);
+ int tmp = g_gui.getStringWidth(credits[i]) + 5;
if (_w < tmp && tmp <= maxW) {
_w = tmp;
}
diff --git a/gui/credits.h b/gui/credits.h
index 237d97d56c..42e515dd70 100644
--- a/gui/credits.h
+++ b/gui/credits.h
@@ -6,6 +6,7 @@ static const char *credits[] = {
"C0""Eugene Sandulenko",
"",
"C1""PR Office",
+"A0""Arnaud Boutonne",
"C0""Arnaud Boutonn\351",
"C2""Public Relations Officer, Project Administrator",
"C0""Eugene Sandulenko",
@@ -26,6 +27,7 @@ static const char *credits[] = {
"",
"C1""Engine Teams",
"C1""SCUMM",
+"A0""Torbjorn Andersson",
"C0""Torbj\366rn Andersson",
"C0""James Brown",
"C2""(retired)",
@@ -66,6 +68,7 @@ static const char *credits[] = {
"C2""(retired)",
"",
"C1""AGOS",
+"A0""Torbjorn Andersson",
"C0""Torbj\366rn Andersson",
"C0""Paul Gilbert",
"C0""Travis Howell",
@@ -75,6 +78,7 @@ static const char *credits[] = {
"C2""(retired)",
"",
"C1""CGE",
+"A0""Arnaud Boutonne",
"C0""Arnaud Boutonn\351",
"C0""Paul Gilbert",
"",
@@ -104,6 +108,7 @@ static const char *credits[] = {
"C0""Pawel Kolodziejski",
"",
"C1""DreamWeb",
+"A0""Torbjorn Andersson",
"C0""Torbj\366rn Andersson",
"C0""Bertrand Augereau",
"C0""Filippos Karapetis",
@@ -112,7 +117,9 @@ static const char *credits[] = {
"C0""Willem Jan Palenstijn",
"",
"C1""Gob",
+"A0""Torbjorn Andersson",
"C0""Torbj\366rn Andersson",
+"A0""Arnaud Boutonne",
"C0""Arnaud Boutonn\351",
"C0""Sven Hesse",
"C0""Eugene Sandulenko",
@@ -123,11 +130,13 @@ static const char *credits[] = {
"C0""Jordi Vilalta Prat",
"",
"C1""Hugo",
+"A0""Arnaud Boutonne",
"C0""Arnaud Boutonn\351",
"C0""Oystein Eftevaag",
"C0""Eugene Sandulenko",
"",
"C1""Kyra",
+"A0""Torbjorn Andersson",
"C0""Torbj\366rn Andersson",
"C2""VQA Player",
"C0""Oystein Eftevaag",
@@ -170,6 +179,7 @@ static const char *credits[] = {
"C0""Joost Peters",
"",
"C1""SAGA",
+"A0""Torbjorn Andersson",
"C0""Torbj\366rn Andersson",
"C0""Daniel Balsom",
"C2""Original engine reimplementation author (retired)",
@@ -191,6 +201,7 @@ static const char *credits[] = {
"C0""Lars Skovlund",
"",
"C1""Sky",
+"A0""Robert Goeffringmann",
"C0""Robert G\366ffringmann",
"C2""(retired)",
"C0""Oliver Kiehl",
@@ -202,10 +213,12 @@ static const char *credits[] = {
"C2""PSX version support",
"C0""Thierry Crozat",
"C2""Mac version support",
+"A0""Robert Goeffringmann",
"C0""Robert G\366ffringmann",
"C2""(retired)",
"",
"C1""Sword2",
+"A0""Torbjorn Andersson",
"C0""Torbj\366rn Andersson",
"C0""Fabio Battaglia",
"C2""PSX version support",
@@ -213,6 +226,7 @@ static const char *credits[] = {
"C2""(retired)",
"",
"C1""Sword25",
+"A0""Torbjorn Andersson",
"C0""Torbj\366rn Andersson",
"C0""Paul Gilbert",
"C0""Max Horn",
@@ -227,6 +241,7 @@ static const char *credits[] = {
"C2""(retired)",
"",
"C1""Tinsel",
+"A0""Torbjorn Andersson",
"C0""Torbj\366rn Andersson",
"C0""Fabio Battaglia",
"C2""PSX version support",
@@ -242,6 +257,7 @@ static const char *credits[] = {
"C0""Filippos Karapetis",
"",
"C1""Tony",
+"A0""Arnaud Boutonne",
"C0""Arnaud Boutonn\351",
"C0""Paul Gilbert",
"C0""Alyssa Milburn",
@@ -249,11 +265,13 @@ static const char *credits[] = {
"C1""Toon",
"C0""Sylvain Dupont",
"",
+"A1""Touche",
"C1""Touch\351",
"C0""Gregory Montoir",
"C2""(retired)",
"",
"C1""TsAGE",
+"A0""Arnaud Boutonne",
"C0""Arnaud Boutonn\351",
"C0""Paul Gilbert",
"",
@@ -262,6 +280,7 @@ static const char *credits[] = {
"C2""(retired)",
"",
"C1""Wintermute",
+"A0""Einar Johan T. Somaaen",
"C0""Einar Johan T. S\370m\345en",
"",
"",
@@ -309,6 +328,7 @@ static const char *credits[] = {
"C2""(retired)",
"",
"C1""PlayStation 2",
+"A0""Robert Goeffringmann",
"C0""Robert G\366ffringmann",
"C2""(retired)",
"C0""Max Lingua",
@@ -417,9 +437,11 @@ static const char *credits[] = {
"",
"C1""Packages",
"C1""AmigaOS 4",
+"A0""Hans-Joerg Frieden",
"C0""Hans-J\366rg Frieden",
"C2""(retired)",
"C0""Hubert Maier",
+"A0""Juha Niemimaki",
"C0""Juha Niemim\344ki",
"C2""(retired)",
"",
@@ -449,6 +471,7 @@ static const char *credits[] = {
"",
"C1""MorphOS",
"C0""Fabien Coeurjoly",
+"A0""Ruediger Hanke",
"C0""R\374diger Hanke",
"C2""(retired)",
"",
@@ -486,6 +509,7 @@ static const char *credits[] = {
"C0""Jordi Vilalta Prat",
"",
"C1""Czech",
+"A0""Zbynik Schwarz",
"C0""Zbyn\354k Schwarz",
"",
"C1""Danish",
@@ -512,10 +536,13 @@ static const char *credits[] = {
"C1""Italian",
"C0""Matteo Angelino",
"",
+"A1""Norwegian (Bokmaal)",
"C1""Norwegian (Bokm\345l)",
+"A0""Einar Johan Somaaen",
"C0""Einar Johan S\370m\345en",
"",
"C1""Norwegian (Nynorsk)",
+"A0""Einar Johan Somaaen",
"C0""Einar Johan S\370m\345en",
"",
"C1""Polish",
@@ -528,6 +555,7 @@ static const char *credits[] = {
"C0""Eugene Sandulenko",
"",
"C1""Spanish",
+"A0""Tomas Maidagan",
"C0""Tom\341s Maidagan",
"C0""Jordi Vilalta Prat",
"",
@@ -539,6 +567,7 @@ static const char *credits[] = {
"",
"",
"C1""Websites (design)",
+"A0""Dobo Balazs",
"C0""Dob\363 Bal\341zs",
"C2""Website design",
"C0""William Claydon",
@@ -567,6 +596,7 @@ static const char *credits[] = {
"C2""Sound support for C64 version of MM/Zak, Loom PCE support",
"C0""Janne Huttunen",
"C2""V3 actor mask support, Dig/FT SMUSH audio",
+"A0""Kovacs Endre Janos",
"C0""Kov\341cs Endre J\341nos",
"C2""Several fixes for Simon1",
"C0""Jeroen Janssen",
@@ -591,12 +621,14 @@ static const char *credits[] = {
"C2""Sound support for Amiga SCUMM V2/V3 games, MM NES support",
"C0""Robert Crossfield",
"C2""Improved support for Apple II/C64 versions of MM",
+"A0""Andreas Roever",
"C0""Andreas R\366ver",
"C2""Broken Sword I & II MPEG2 cutscene support",
"C0""Edward Rudd",
"C2""Fixes for playing MP3 versions of MI1/Loom audio",
"C0""Daniel Schepler",
"C2""Final MI1 CD music support, initial Ogg Vorbis support",
+"A0""Andre Souza",
"C0""Andr\351 Souza",
"C2""SDL-based OpenGL renderer",
"C0""Tom Frost",
@@ -713,6 +745,7 @@ static const char *credits[] = {
"C2""For deep tech details about C64 Zak & MM",
"C0""Sarien Team",
"C2""Original AGI engine code",
+"A0""Jimmi Thogersen",
"C0""Jimmi Th\370gersen",
"C2""For ScummRev, and much obscure code/documentation",
"C0""Tristan",