diff options
author | Max Horn | 2005-12-19 02:23:01 +0000 |
---|---|---|
committer | Max Horn | 2005-12-19 02:23:01 +0000 |
commit | 0eca2a971fb87f0c9b77ce1353177a179e59e3dc (patch) | |
tree | 3794ad0af13b48abb989d4a2a52b3cdfae7972dd /tools | |
parent | f87139a5753b63c961490b9cfc800e00ce6962d4 (diff) | |
download | scummvm-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-x | tools/credits.pl | 509 | ||||
-rw-r--r-- | tools/module.mk | 1 |
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/á/\\'87/g; $text =~ s/é/\\'8e/g; + $text =~ s/ó/\\'97/g; $text =~ s/ø/\\'bf/g; $text =~ s/ł/\\uc0\\u322 /g; @@ -106,6 +110,7 @@ sub html_entities_to_tex { $text =~ s/á/\\'a/g; $text =~ s/é/\\'e/g; + $text =~ s/ó/\\'o/g; $text =~ s/ø/{\\o}/g; $text =~ s/ł/{\\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'> \n"; + } elsif ($section_level eq 1) { + print "<div class='par-subhead'>$title</div>\n"; + print "<div class='par-subhead-dots'> </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> </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>[ ".$nick." ]</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"> </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ö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ö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ł Koł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ö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 & 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ö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ł Koł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öffringmann", "lavosspawn", ""); + add_person("Oliver Kiehl", "olki", ""); + add_person("Joost Peters", "joostp", ""); + end_section(); + + begin_section("Broken Sword 1"); + add_person("Robert Göffringmann", "lavosspawn", ""); + end_section(); + + begin_section("Broken Sword 2"); + add_person("Torbjö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ö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ö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ö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 & 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örg Frieden", "", ""); + add_person("Juha Niemimä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ó Balá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ács Endre Já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ö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é 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ó Balá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ács Endre Já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ä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ö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é 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 & MM"); - add_person("Jimmi Thø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 & MM"); + add_person("Jimmi Thø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 |