[Scummvm-cvs-logs] CVS: scummvm/tools credits.pl,1.32,1.33 module.mk,1.2,1.3

Max Horn fingolfin at users.sourceforge.net
Sun Dec 18 18:24:01 CET 2005


Update of /cvsroot/scummvm/scummvm/tools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15937/tools

Modified Files:
	credits.pl module.mk 
Log Message:
New credits format (DocBook conversion not yet done)

Index: credits.pl
===================================================================
RCS file: /cvsroot/scummvm/scummvm/tools/credits.pl,v
retrieving revision 1.32
retrieving revision 1.33
diff -u -d -r1.32 -r1.33
--- credits.pl	5 Dec 2005 23:10:10 -0000	1.32
+++ credits.pl	19 Dec 2005 02:23:00 -0000	1.33
@@ -23,8 +23,13 @@
 
 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 @@
 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 @@
 	
 	$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 @@
 	
 	$text =~ s/á/\\'a/g;
 	$text =~ s/é/\\'e/g;
+	$text =~ s/ó/\\'o/g;
 	$text =~ s/ø/{\\o}/g;
 	$text =~ s/ł/{\\l}/g;
 
@@ -118,6 +123,23 @@
 	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 @@
 	} 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 @@
 		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 @@
 		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 @@
 	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 @@
 	} 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 @@
 		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 @@
 #
 
 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");
-  end_section();
+  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("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("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("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");
+	  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();
 
 
-  add_paragraph("And to all the contributors, users, and beta testers we've missed. Thanks!");
+  begin_section("Other contributions");
 
-  # HACK!
-  $max_name_width = 15;
+	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("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";
+  $max_name_width = 15;
+
+  begin_section("Special thanks to");
+    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 @@
   "that it is today. Feel free to drop us a line and tell us what you ".
   "think, guys!");
 
+  end_section();
+
 end_credits();

Index: module.mk
===================================================================
RCS file: /cvsroot/scummvm/scummvm/tools/module.mk,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- module.mk	27 Mar 2005 18:35:52 -0000	1.2
+++ module.mk	19 Dec 2005 02:23:00 -0000	1.3
@@ -43,6 +43,7 @@
 	$(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





More information about the Scummvm-git-logs mailing list