aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorMax Horn2005-12-19 02:23:01 +0000
committerMax Horn2005-12-19 02:23:01 +0000
commit0eca2a971fb87f0c9b77ce1353177a179e59e3dc (patch)
tree3794ad0af13b48abb989d4a2a52b3cdfae7972dd /tools
parentf87139a5753b63c961490b9cfc800e00ce6962d4 (diff)
downloadscummvm-rg350-0eca2a971fb87f0c9b77ce1353177a179e59e3dc.tar.gz
scummvm-rg350-0eca2a971fb87f0c9b77ce1353177a179e59e3dc.tar.bz2
scummvm-rg350-0eca2a971fb87f0c9b77ce1353177a179e59e3dc.zip
New credits format (DocBook conversion not yet done)
svn-id: r19809
Diffstat (limited to 'tools')
-rwxr-xr-xtools/credits.pl509
-rw-r--r--tools/module.mk1
2 files changed, 380 insertions, 130 deletions
diff --git a/tools/credits.pl b/tools/credits.pl
index f220f80048..5f0431e44b 100755
--- a/tools/credits.pl
+++ b/tools/credits.pl
@@ -23,8 +23,13 @@ if ($Text::Wrap::VERSION < 2001.0929) {
my $mode = "";
my $max_name_width;
-my $indent;
-my $tab;
+
+# Count the level in the section hierarchy, i.e. how deep we are currently nested
+# in terms of 'sections'.
+my $section_level = 0;
+
+# Count how many sections there have been on this level already
+my @section_count = ( 0, 0, 0 );
if ($#ARGV >= 0) {
$mode = "TEXT" if ($ARGV[0] eq "--text"); # AUTHORS file
@@ -46,8 +51,6 @@ $Text::Wrap::unexpand = 0;
if ($mode eq "TEXT") {
$Text::Wrap::columns = 78;
$max_name_width = 21; # The maximal width of a name.
- $indent = 7;
- $tab = " " x $indent;
} elsif ($mode eq "CPP") {
$Text::Wrap::columns = 48; # Approx.
}
@@ -88,6 +91,7 @@ sub html_entities_to_rtf {
$text =~ s/&aacute;/\\'87/g;
$text =~ s/&eacute;/\\'8e/g;
+ $text =~ s/&oacute;/\\'97/g;
$text =~ s/&oslash;/\\'bf/g;
$text =~ s/&#322;/\\uc0\\u322 /g;
@@ -106,6 +110,7 @@ sub html_entities_to_tex {
$text =~ s/&aacute;/\\'a/g;
$text =~ s/&eacute;/\\'e/g;
+ $text =~ s/&oacute;/\\'o/g;
$text =~ s/&oslash;/{\\o}/g;
$text =~ s/&#322;/{\\l}/g;
@@ -118,6 +123,23 @@ sub html_entities_to_tex {
return $text;
}
+#
+# Small reference of the RTF commands used here:
+#
+# \fs28 switches to 14 point font (28 = 2 * 14)
+# \pard reset to default paragraph properties
+#
+# \ql left-aligned text
+# \qr right-aligned text
+# \qc centered text
+# \qj justified text
+#
+# \b turn on bold
+# \b0 turn off bold
+#
+# For more information: <http://latex2rtf.sourceforge.net/rtfspec.html>
+#
+
sub begin_credits {
my $title = shift;
@@ -126,11 +148,11 @@ sub begin_credits {
} elsif ($mode eq "TEX") {
print "% This file was generated by credits.pl. Do not edit by hand!\n";
print '\section{Credits}' . "\n";
- print '\begin{itemize}' . "\n";
+ print '\begin{trivlist}' . "\n";
} elsif ($mode eq "RTF") {
print '{\rtf1\mac\ansicpg10000' . "\n";
print '{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;}' . "\n";
- print '{\colortbl;\red255\green255\blue255;\red0\green128\blue0;}' . "\n";
+ print '{\colortbl;\red255\green255\blue255;\red0\green128\blue0;\red128\green128\blue128;}' . "\n";
print '\vieww6920\viewh15480\viewkind0' . "\n";
print "\n";
} elsif ($mode eq "CPP") {
@@ -148,14 +170,13 @@ sub begin_credits {
print " <tbody>\n";
} elsif ($mode eq "HTML") {
print "<!-- This file was generated by credits.pl. Do not edit by hand! -->\n";
- print "<table border='0' cellpadding='5' cellspacing='0'>\n";
}
}
sub end_credits {
if ($mode eq "TEXT") {
} elsif ($mode eq "TEX") {
- print '\end{itemize}' . "\n";
+ print '\end{trivlist}' . "\n";
print "\n";
} elsif ($mode eq "RTF") {
print "}\n";
@@ -167,51 +188,134 @@ sub end_credits {
print " </informaltable>\n";
print "</appendix>\n";
} elsif ($mode eq "HTML") {
- print "</table>\n";
+ print "\n";
}
}
sub begin_section {
my $title = shift;
+
if ($mode eq "TEXT") {
$title = html_entities_to_ascii($title);
- print $title.":\n";
+
+ if ($section_level >= 2) {
+ $title .= ":"
+ }
+
+ print " " x $section_level . $title."\n";
+ if ($section_level eq 0) {
+ print " " x $section_level . "*" x (length $title)."\n";
+ } elsif ($section_level eq 1) {
+ print " " x $section_level . "-" x (length $title)."\n";
+ }
} elsif ($mode eq "TEX") {
- print '\item \textbf{' . html_entities_to_tex($title) . "}\\\\\n";
- print ' \begin{tabular}[h]{p{4cm}l}' . "\n";
+ print '\item \textbf{';
+ if ($section_level eq 0) {
+ print '\LARGE';
+ } elsif ($section_level eq 1) {
+ print '\large';
+ }
+ print " " . html_entities_to_tex($title) . "}\n";
+ print '\begin{list}{}{\setlength{\leftmargin}{0.2cm}}' . "\n";
} elsif ($mode eq "RTF") {
$title = html_entities_to_rtf($title);
# Center text
print '\pard\qc' . "\n";
- print '\f0\b\fs28 \cf2 ' . $title . "\n";
+ print '\f0\b';
+ if ($section_level eq 0) {
+ print '\fs40 ';
+ } elsif ($section_level eq 1) {
+ print '\fs32 ';
+ }
+
+ # Insert an empty line before this section header, *unless*
+ # this is the very first section header in the file.
+ if ($section_level > 0 || @section_count[0] > 0) {
+ print "\\\n";
+ }
+ print '\cf2 ' . $title . "\n";
print '\f1\b0\fs24 \cf0 \\' . "\n";
} elsif ($mode eq "CPP") {
- $title = html_entities_to_ascii($title);
- print '"\\\\C\\\\c1""'.$title.':",' . "\n";
+ if ($section_level eq 0) {
+ # TODO: Would be nice to have a 'fat' or 'large' mode for
+ # headlines...
+ $title = html_entities_to_ascii($title);
+ print '"\\\\C\\\\c1""'.$title.'",' . "\n";
+ print '"\\\\C\\\\c0""",' . "\n";
+ } else {
+ $title = html_entities_to_ascii($title);
+ print '"\\\\C\\\\c1""'.$title.'",' . "\n";
+ }
} elsif ($mode eq "XML") {
print " <row><entry namest='start' nameend='job'>";
print "<emphasis role='bold'>" . $title . ":</emphasis>";
print "</entry></row>\n";
} elsif ($mode eq "HTML") {
- print "<tr><td colspan=3><h2>$title:</h2></td></tr>\n";
-# print "<tr><td colspan=3><?php html_subhead_start(\"$title\"); ?></td></tr>\n";
+ if ($section_level eq 0) {
+ print "<div class='par-item'><div class='par-head'>$title</div><div class='par-content'>&nbsp;\n";
+ } elsif ($section_level eq 1) {
+ print "<div class='par-subhead'>$title</div>\n";
+ print "<div class='par-subhead-dots'>&nbsp;</div>\n";
+ print "<div class='par-subhead-content'>\n"
+ } else {
+ print "<span style='font-weight: bold'>$title:</span>\n";
+ }
+ }
+
+ # Implicit start of person list on section level 2
+ if ($section_level >= 2) {
+ begin_persons();
}
+ @section_count[$section_level]++;
+ $section_level++;
+ @section_count[$section_level] = 0;
}
sub end_section {
+ $section_level--;
+
+ # Implicit end of person list on section level 2
+ if ($section_level >= 2) {
+ end_persons();
+ }
+
if ($mode eq "TEXT") {
- print "\n";
+ # nothing
} elsif ($mode eq "TEX") {
- print ' \end{tabular}' . "\n";
+ print '\end{list}' . "\n";
} elsif ($mode eq "RTF") {
- print "\\\n";
+ # nothing
} elsif ($mode eq "CPP") {
- print '"\\\\L\\\\c0""",' . "\n";
+ print '"\\\\C\\\\c0""",' . "\n";
} elsif ($mode eq "XML") {
print " <row><entry namest='start' nameend='job'> </entry></row>\n\n";
} elsif ($mode eq "HTML") {
- print "<tr><td colspan=3>&nbsp;</td></tr>\n";
+ if ($section_level eq 0) {
+ print "</div></div>\n";
+ } elsif ($section_level eq 1) {
+ print "</div>\n";
+ }
+ }
+}
+
+sub begin_persons {
+ if ($mode eq "HTML") {
+ print "<table style='margin-left:2em; margin-bottom: 1em'>\n";
+ } elsif ($mode eq "TEX") {
+ print '\item \begin{tabular}[h]{p{4cm}l}' . "\n";
+ }
+}
+
+sub end_persons {
+ if ($mode eq "TEXT") {
+ print "\n";
+ } elsif ($mode eq "TEX") {
+ print ' \end{tabular}' . "\n";
+ } elsif ($mode eq "RTF") {
+ # nothing
+ } elsif ($mode eq "HTML") {
+ print "</table>\n";
}
}
@@ -219,51 +323,56 @@ sub add_person {
my $name = shift;
my $nick = shift;
my $desc = shift;
+ my $tab;
if ($mode eq "TEXT") {
$name = $nick if $name eq "";
$name = html_entities_to_ascii($name);
$desc = html_entities_to_ascii($desc);
- printf $tab."%-".$max_name_width.".".$max_name_width."s - ", $name;
+ $tab = " " x ($section_level * 2 + 1);
+ printf $tab."%-".$max_name_width.".".$max_name_width."s", $name;
# Print desc wrapped
- my $inner_indent = $indent + $max_name_width + 3;
- my $multitab = " " x $inner_indent;
- print substr(wrap($multitab, $multitab, $desc), $inner_indent)."\n"
+ if (length $desc > 0) {
+ my $inner_indent = ($section_level * 2 + 1) + $max_name_width + 3;
+ my $multitab = " " x $inner_indent;
+ print " - " . substr(wrap($multitab, $multitab, $desc), $inner_indent);
+ }
+ print "\n";
} elsif ($mode eq "TEX") {
$name = $nick if $name eq "";
$name = html_entities_to_tex($name);
$desc = html_entities_to_tex($desc);
- print " $name & $desc\\\\\n";
+ print " $name & \\textit{$desc}\\\\\n";
} elsif ($mode eq "RTF") {
$name = $nick if $name eq "";
$name = html_entities_to_rtf($name);
- $desc = html_entities_to_rtf($desc);
- # Left align name
- print '\pard\ql\qnatural' . "\n";
+ # Center text
+ print '\pard\qc' . "\n";
+ # Activate 1.5 line spacing mode
+ print '\sl360\slmult1';
+ # The name
print $name . "\\\n";
-
- # Left align description, with a left indention
- print '\pard\li560\ql\qnatural' . "\n";
- # Italics
- print "\\i " . $desc . "\\i0\\\n";
+ # Description using italics
+ if (length $desc > 0) {
+ $desc = html_entities_to_rtf($desc);
+ print '\pard\qc' . "\n";
+ print "\\cf3\\i " . $desc . "\\i0\\cf0\\\n";
+ }
} elsif ($mode eq "CPP") {
$name = $nick if $name eq "";
$name = html_entities_to_ascii($name);
- $desc = html_entities_to_ascii($desc);
- print '"\\\\L\\\\c0"" '.$name.'",' . "\n";
+ print '"\\\\C\\\\c0""'.$name.'",' . "\n";
# Print desc wrapped
- my $line_start = '"\\\\L\\\\c2""';
- my $line_end = '",';
- $Text::Wrap::separator = $line_end . "\n" .$line_start ;
- print $line_start . wrap(" ", " ", $desc) . $line_end . "\n";
- $Text::Wrap::separator = "\n";
-
+ if (length $desc > 0) {
+ $desc = html_entities_to_ascii($desc);
+ print '"\\\\C\\\\c2""'.$desc.'",' . "\n";
+ }
} elsif ($mode eq "XML") {
$name = $nick if $name eq "";
print " <row><entry namest='name'>" . $name . "</entry>";
@@ -271,33 +380,37 @@ sub add_person {
} elsif ($mode eq "HTML") {
$name = "???" if $name eq "";
print "<tr>";
- print "<td>".$name."</td>";
+ print "<td style='width:13em; padding:2px;'>".$name."</td>";
if ($nick ne "") {
- print "<td>[&nbsp;".$nick."&nbsp;]</td>";
+ print "<td style='width:10em; text-align: left;' class='news-author'>".$nick."</td>";
} else {
print "<td></td>";
}
print "<td>".$desc."</td>\n";
}
+
+
}
sub add_paragraph {
my $text = shift;
+ my $tab;
if ($mode eq "TEXT") {
+ $tab = " " x ($section_level * 2 + 1);
print wrap($tab, $tab, html_entities_to_ascii($text))."\n";
print "\n";
} elsif ($mode eq "TEX") {
- print "\n";
+ print '\item' . "\n";
print $text;
print "\n";
} elsif ($mode eq "RTF") {
- # Left align text
- print '\pard\ql\qnatural' . "\n";
- print $text . "\\\n";
+ # Center text
+ print '\pard\qc' . "\n";
print "\\\n";
+ print $text . "\\\n";
} elsif ($mode eq "CPP") {
- my $line_start = '"\\\\L\\\\c0""';
+ my $line_start = '"\\\\C\\\\c0""';
my $line_end = '",';
print $line_start . $text . $line_end . "\n";
print $line_start . $line_end . "\n";
@@ -305,10 +418,9 @@ sub add_paragraph {
print " <row><entry namest='start' nameend='job'>" . $text . "</entry></row>\n";
print " <row><entry namest='start' nameend='job'> </entry></row>\n\n";
} elsif ($mode eq "HTML") {
- print '<tr><td colspan="3">';
+ print "<p style='margin-left:2em; margin-bottom: 1em'>";
print $text;
- print '</td></tr>'."\n";
- print '<tr><td colspan="3">&nbsp;</td></tr>'."\n";
+ print "</p>\n";
}
}
@@ -319,94 +431,229 @@ sub add_paragraph {
#
begin_credits("Credits");
- begin_section("The ScummVM team");
- add_person('James Brown', 'endy', "Lead developer");
- add_person('Max Horn', 'fingolfin', "Lead developer");
- add_person("Torbj&ouml;rn Andersson", "eriktorbjorn", "Engine: SCUMM, Broken Sword 2, SAGA, Gob");
- add_person("David Eriksson", "twogood", "Engine: Flight of the Amazon Queen");
- add_person("Robert G&ouml;ffringmann", "lavosspawn", "Engine: Beneath a Steel Sky, Broken Sword 1");
- add_person("Jonathan Gray", "khalek", "Engine: SCUMM, HE, Broken Sword 2");
- add_person("Travis Howell", "Kirben", "Engine: SCUMM, HE, Simon the Sorcerer");
- add_person("Oliver Kiehl", "olki", "Engine: Beneath a Steel Sky, Simon");
- add_person("Pawe&#322; Ko&#322;odziejski", "aquadran", "Engine: SCUMM (Codecs, iMUSE, Smush, etc.)");
- add_person("Andrew Kurushin", "ajax16384", "Engine: SAGA");
- add_person("Gregory Montoir", "cyx", "Engine: Flight of the Amazon Queen, HE, Kyra");
- add_person("Joost Peters", "joostp", "Engine: Beneath a Steel Sky, Flight of the Amazon Queen");
- add_person("Eugene Sandulenko", "_sev", "Engine: SCUMM (FT INSANE), HE, SAGA, Gob");
- add_person("Johannes Schickel", "LordHoto", "Engine: Kyra, GUI improvements");
- add_person("Chris Apers", "chrilith ", "Port: PalmOS");
- add_person("Nicolas Bacca", "arisme", "Port: PocketPC/WinCE");
- add_person("Jurgen Braam", "SumthinWicked", "Port: EPOC/SymbianOS maintainer");
- add_person("Marcus Comstedt", "", "Port: Dreamcast");
- add_person("Hans-J&ouml;rg Frieden", "", "Port: AmigaOS 4");
- add_person("Lars Persson", "AnotherGuest", "Port: EPOC/SymbianOS, ESDL");
- add_person("Jerome Fisher", "KingGuppy", "MT-32 emulator");
- add_person("Jochen Hoenicke", "hoenicke", "Speaker &amp; PCjr sound support, Adlib work");
+ begin_section("ScummVM Team");
+ begin_section("Project Leaders");
+ begin_persons();
+ add_person('James Brown', 'ender', "");
+ add_person('Max Horn', 'Fingolfin', "This is a long desc. A really, really long long description. No I really mean *long* like in 'very long'!");
+ end_persons();
+ end_section();
+
+
+ begin_section("Engine Teams");
+ begin_section("SCUMM");
+ add_person("Torbj&ouml;rn Andersson", "eriktorbjorn", "");
+ add_person('James Brown', 'ender', "");
+ add_person("Jonathan Gray", "khalek", "");
+ add_person('Max Horn', 'Fingolfin', "");
+ add_person("Travis Howell", "Kirben", "");
+ add_person("Pawe&#322; Ko&#322;odziejski", "aquadran", "Codecs, iMUSE, Smush, etc.");
+ add_person("Eugene Sandulenko", "sev", "FT INSANE");
+ end_section();
+
+ begin_section("HE");
+ add_person("Jonathan Gray", "khalek", "");
+ add_person("Travis Howell", "Kirben", "");
+ add_person("Gregory Montoir", "cyx", "");
+ add_person("Eugene Sandulenko", "sev", "");
+ end_section();
+
+ begin_section("BASS"); # Beneath a Steel Sky
+ add_person("Robert G&ouml;ffringmann", "lavosspawn", "");
+ add_person("Oliver Kiehl", "olki", "");
+ add_person("Joost Peters", "joostp", "");
+ end_section();
+
+ begin_section("Broken Sword 1");
+ add_person("Robert G&ouml;ffringmann", "lavosspawn", "");
+ end_section();
+
+ begin_section("Broken Sword 2");
+ add_person("Torbj&ouml;rn Andersson", "eriktorbjorn", "");
+ add_person("Jonathan Gray", "khalek", "");
+ end_section();
+
+ begin_section("FOTAQ"); # Flight of the Amazon Queen
+ add_person("David Eriksson", "twogood", "");
+ add_person("Gregory Montoir", "cyx", "");
+ add_person("Joost Peters", "joostp", "");
+ end_section();
+
+ begin_section("Gob");
+ add_person("Torbj&ouml;rn Andersson", "eriktorbjorn", "");
+ add_person("Eugene Sandulenko", "sev", "");
+ end_section();
+
+ begin_section("Kyra");
+ add_person("Gregory Montoir", "cyx", "");
+ add_person("Johannes Schickel", "LordHoto", "");
+ end_section();
+
+ begin_section("SAGA");
+ add_person("Torbj&ouml;rn Andersson", "eriktorbjorn", "");
+ add_person("Andrew Kurushin", "ajax16384", "");
+ add_person("Eugene Sandulenko", "sev", "");
+ end_section();
+
+ begin_section("Simon");
+ add_person("Travis Howell", "Kirben", "");
+ add_person("Oliver Kiehl", "olki", "");
+ end_section();
+ end_section();
+
+
+ begin_section("Backend Teams");
+ begin_section("Dreamcast");
+ add_person("Marcus Comstedt", "", "");
+ end_section();
+
+ begin_section("SymbianOS");
+ add_person("Jurgen Braam", "SumthinWicked", "");
+ add_person("Lars Persson", "AnotherGuest", "");
+ end_section();
+
+ begin_section("PalmOS");
+ add_person("Chris Apers", "chrilith ", "");
+ end_section();
+
+ begin_section("PocketPC / WinCE");
+ add_person("Nicolas Bacca", "arisme", "");
+ end_section();
+
+ begin_section("Playstation 2");
+ add_person("Robert G&ouml;ffringmann", "lavosspawn", "");
+ end_section();
+
+ begin_section("PSP (PlayStation Portable)");
+ add_person("Joost Peters", "joostp", "");
+ end_section();
+
+ begin_section("SDL (Win/Linux/OS X/etc.)");
+ add_person('Max Horn', 'Fingolfin', "");
+ add_person('Random Name', '', "TODO: Add yourself if you feel it's appropriate");
+ end_section();
+ end_section();
+
+ begin_section("Other subsystems");
+ begin_persons();
+ add_person("Jerome Fisher", "KingGuppy", "MT-32 emulator");
+ add_person("Jochen Hoenicke", "hoenicke", "Speaker &amp; PCjr sound support, Adlib work");
+ end_persons();
+ end_section();
+
+ begin_section("Website (content)");
+ add_paragraph("All active team members");
+ end_section();
+
+ begin_section("Retired Team Members");
+ begin_persons();
+ add_person("Ralph Brorsen", "painelf", "Help with GUI implementation");
+ add_person("Jamieson Christian", "jamieson630", "iMUSE, MIDI, all things musical");
+ add_person('Vincent Hamm', 'yazoo', "Co-Founder");
+ add_person("Ruediger Hanke", "", "Port: MorphOS");
+ add_person("Felix Jakschitsch", "yot", "Zak256 reverse engineering");
+ add_person("Mutwin Kraus", "mutle", "Original MacOS porter");
+ add_person("Peter Moraliyski", "ph0x", "Port: GP32");
+ add_person('Jeremy Newman', 'laxdragon', "Former webmaster");
+ add_person('Ludvig Strigeus', 'ludde', "Original ScummVM and SimonVM author");
+ add_person("Lionel Ulmer", "bbrox", "Port: X11");
+ end_persons();
+ end_section();
end_section();
- begin_section("Retired Team Members");
- add_person("Ralph Brorsen", "painelf", "Help with GUI implementation");
- add_person("Jamieson Christian", "jamieson630", "iMUSE, MIDI, all things musical");
- add_person('Vincent Hamm', 'yazoo', "Co-Founder");
- add_person("Ruediger Hanke", "", "Port: MorphOS");
- add_person("Felix Jakschitsch", "yot", "Zak256 reverse engineering");
- add_person("Mutwin Kraus", "mutle", "Original MacOS porter");
- add_person("Peter Moraliyski", "ph0x", "Port: GP32");
- add_person('Jeremy Newman', 'laxdragon', "Former webmaster");
- add_person('Ludvig Strigeus', 'ludde', "Original ScummVM and SimonVM author");
- add_person("Lionel Ulmer", "bbrox", "Port: X11");
- end_section();
-
+ begin_section("Other contributions");
+
+ begin_section("Packages");
+ begin_section("AmigaOS 4");
+ add_person("Hans-J&ouml;rg Frieden", "", "");
+ add_person("Juha Niemim&auml;ki", "", "");
+ end_section();
+
+ begin_section("BeOS");
+ add_person("Stefan Parviainen", "", "");
+ end_section();
+
+ begin_section("Debian GNU/Linux");
+ add_person("Tore Anderson", "tore", "");
+ end_section();
+
+ begin_section("Fedora / RedHat");
+ add_person("Willem Jan Palenstijn", "wjp", "");
+ end_section();
+
+ begin_section("Mac OS X");
+ add_person('Max Horn', 'Fingolfin', "");
+ end_section();
+
+ begin_section("OS/2");
+ add_person("Paul Smedley", "Creeping", "");
+ end_section();
+
+ begin_section("PocketPC 2002");
+ add_person("Kostas Nakos", "knakos", '');
+ end_section();
+
+ begin_section("SlackWare");
+ add_person("Robert Kelsen", "", "");
+ end_section();
+
+ begin_section("Win32");
+ add_person("Travis Howell", "Kirben", "");
+ end_section();
+
+ begin_section("Win64");
+ add_person("Chris Gray", "Psychoid", "");
+ end_section();
+ end_section();
+
+ begin_section("Website (design)");
+ begin_persons();
+ add_person("Dob&oacute; Bal&aacute;zs", "draven", "Website design");
+ add_person("Yaroslav Fedevych", "jafd", "HTML/CSS for the website");
+ add_person("Jean Marc", "", 'ScummVM logo');
+ end_persons();
+ end_section();
+
+ begin_section("Code contributions");
+ begin_persons();
+ add_person("Stuart Caie", "", "Decoders for Simon 1 Amiga data files");
+ add_person("Janne Huttunen", "", "V3 actor mask support, Dig/FT SMUSH audio");
+ add_person("Kov&aacute;cs Endre J&aacute;nos", "", "Several fixes for Simon1");
+ add_person("Jeroen Janssen", "", "Numerous readability and bugfix patches");
+ add_person("Andreas Karlsson", "Sprawl", "Initial port for EPOC/SymbianOS");
+ add_person("Claudio Matsuoka", "", 'Daily Linux builds');
+ add_person("Mikesch Nepomuk", "", "MI1 VGA floppy patches");
+ add_person("Nicolas Noble", "pixels", "Config file and ALSA support");
+ add_person("", "Quietust", "Sound support for Amiga SCUMM V2/V3 games, MM NES support");
+ add_person("Andreas R&ouml;ver", "", "Broken Sword 1/2 MPEG2 cutscene support");
+ add_person("Edward Rudd", "", "Fixes for playing MP3 versions of MI1/Loom audio");
+ add_person("Daniel Schepler", "", "Final MI1 CD music support, initial Ogg Vorbis support");
+ add_person("Andr&eacute; Souza", "", "SDL-based OpenGL renderer");
+ add_person("Tim ???", "realmz", "Initial MI1 CD music support");
+ end_persons();
+ end_section();
+
+ add_paragraph("And to all the contributors, users, and beta testers we've missed. Thanks!");
- begin_section("Contributors");
- add_person("Tore Anderson", "tore", "Packaging for Debian GNU/Linux");
- add_person("Dob&oacute; Bal&aacute;zs", "draven", "Website design");
- add_person("Stuart Caie", "", "Decoders for Simon 1 Amiga data files");
- add_person("Yaroslav Fedevych", "jafd", "HTML/CSS for the website");
- add_person("Chris Gray", "Psychoid", "Windows64 builds");
- add_person("Janne Huttunen", "", "V3 actor mask support, Dig/FT SMUSH audio");
- add_person("Kov&aacute;cs Endre J&aacute;nos", "", "Several fixes for Simon1");
- add_person("Jeroen Janssen", "", "Numerous readability and bugfix patches");
- add_person("Andreas Karlsson", "Sprawl", "Initial port for EPOC/SymbianOS");
- add_person("Robert Kelsen", "", "Packaging for SlackWare");
- add_person("Jean Marc", "", 'ScummVM logo');
- add_person("Claudio Matsuoka", "", 'Daily Linux builds');
- add_person("Kostas Nakos", "knakos", 'PocketPC 2002 builds');
- add_person("Mikesch Nepomuk", "", "MI1 VGA floppy patches");
- add_person("Juha Niemim&auml;ki", "", "AmigaOS 4 port maintaining");
- add_person("Nicolas Noble", "pixels", "Config file and ALSA support");
- add_person("Willem Jan Palenstijn", "wjp", "Packaging for Fedora/RedHat");
- add_person("Stefan Parviainen", "", "Packaging for BeOS");
- add_person("", "Quietust", "Sound support for Amiga SCUMM V2/V3 games, MM NES support");
- add_person("Andreas R&ouml;ver", "", "Broken Sword 1/2 MPEG2 cutscene support");
- add_person("Edward Rudd", "", "Fixes for playing MP3 versions of MI1/Loom audio");
- add_person("Daniel Schepler", "", "Final MI1 CD music support, initial Ogg Vorbis support");
- add_person("Paul Smedley", "Creeping", "OS/2 fixes and packaging");
- add_person("Andr&eacute; Souza", "", "SDL-based OpenGL renderer");
- add_person("Tim ???", "realmz", "Initial MI1 CD music support");
end_section();
- add_paragraph("And to all the contributors, users, and beta testers we've missed. Thanks!");
-
# HACK!
$max_name_width = 15;
begin_section("Special thanks to");
- add_person("Sander Buskens", "", "For his work on the initial reversing of Monkey2");
- add_person("", "Canadacow", "For the original MT-32 emulator");
- add_person("Kevin Carnes", "", "For Scumm16, the basis of ScummVM's older gfx codecs");
- add_person("Ivan Dubrov", "", "For contributing the initial version of the Gobliiins engine");
- add_person("", "Jezar", "For his freeverb filter implementation");
- add_person("Jim Leiterman", "", "Various info on his FM-TOWNS/Marty SCUMM ports");
- add_person("", "lloyd", "For deep tech details about C64 Zak &amp; MM");
- add_person("Jimmi Th&oslash;gersen", "", "For ScummRev, and much obscure code/documentation");
- add_person("", "Tristan", "For additional work on the original MT-32 emulator");
- end_section();
-
- # HACK!
- $Text::Wrap::columns = 46 if $mode eq "CPP";
+ begin_persons();
+ add_person("Sander Buskens", "", "For his work on the initial reversing of Monkey2");
+ add_person("", "Canadacow", "For the original MT-32 emulator");
+ add_person("Kevin Carnes", "", "For Scumm16, the basis of ScummVM's older gfx codecs");
+ add_person("Ivan Dubrov", "", "For contributing the initial version of the Gobliiins engine");
+ add_person("", "Jezar", "For his freeverb filter implementation");
+ add_person("Jim Leiterman", "", "Various info on his FM-TOWNS/Marty SCUMM ports");
+ add_person("", "lloyd", "For deep tech details about C64 Zak &amp; MM");
+ add_person("Jimmi Th&oslash;gersen", "", "For ScummRev, and much obscure code/documentation");
+ add_person("", "Tristan", "For additional work on the original MT-32 emulator");
+ end_persons();
add_paragraph(
"Tony Warriner and everyone at Revolution Software Ltd. for sharing ".
@@ -430,4 +677,6 @@ begin_credits("Credits");
"that it is today. Feel free to drop us a line and tell us what you ".
"think, guys!");
+ end_section();
+
end_credits();
diff --git a/tools/module.mk b/tools/module.mk
index 570b421fea..58cd207965 100644
--- a/tools/module.mk
+++ b/tools/module.mk
@@ -43,6 +43,7 @@ credits:
$(srcdir)/tools/credits.pl --cpp > gui/credits.h
$(srcdir)/tools/credits.pl --xml > ../docs/docbook/credits.xml
$(srcdir)/tools/credits.pl --tex > doc/10.tex
+ $(srcdir)/tools/credits.pl --rtf > Credits.rtf
md5scumm: tools/md5table$(EXEEXT)
tools/md5table$(EXEEXT) --c++ < $(srcdir)/tools/scumm-md5.txt > scumm/scumm-md5.h