2004-12-24 00:59:56 +00:00
#!/usr/bin/perl
#
# This tools is kind of a hack to be able to maintain the credits list of
# ScummVM in a single central location. We then generate the various versions
# of the credits in other places from this source. In particular:
# - The AUTHORS file
# - The gui/credits.h header file
2011-05-13 14:30:56 +02:00
# - The Credits.rtf file used by the Mac OS X port
2019-10-08 20:23:31 -04:00
# - The credits.yaml, alternative version for use on the website
2021-03-14 16:42:00 +00:00
# - The credits.rst file used by the manual
2004-12-24 00:59:56 +00:00
#
# Initial version written by Fingolfin in December 2004.
#
use strict ;
use Text::Wrap ;
2004-12-25 16:03:36 +00:00
if ( $ Text:: Wrap:: VERSION < 2001.0929 ) {
die "Text::Wrap version >= 2001.0929 is required. You have $Text::Wrap::VERSION\n" ;
}
2004-12-24 00:59:56 +00:00
my $ mode = "" ;
my $ max_name_width ;
2005-12-19 02:23:01 +00:00
# Count the level in the section hierarchy, i.e. how deep we are currently nested
# in terms of 'sections'.
my $ section_level = 0 ;
2019-10-08 20:23:31 -04:00
# Variables used for yaml output
my $ person_started = 0 ;
my $ group_started = 0 ;
my $ group_indent = "" ;
my $ paragraph_started = 0 ;
my $ indent = "" ;
2005-12-19 02:23:01 +00:00
# Count how many sections there have been on this level already
my @ section_count = ( 0 , 0 , 0 ) ;
2004-12-24 00:59:56 +00:00
if ( $# ARGV >= 0 ) {
2005-03-22 20:16:02 +00:00
$ mode = "TEXT" if ( $ ARGV [ 0 ] eq "--text" ) ; # AUTHORS file
2004-12-24 00:59:56 +00:00
$ mode = "CPP" if ( $ ARGV [ 0 ] eq "--cpp" ) ; # credits.h (for use by about.cpp)
2005-03-22 20:16:02 +00:00
$ mode = "RTF" if ( $ ARGV [ 0 ] eq "--rtf" ) ; # Credits.rtf (Mac OS X About box)
2019-04-17 22:06:17 +01:00
$ mode = "STRONGHELP" if ( $ ARGV [ 0 ] eq "--stronghelp" ) ; # AUTHORS (RISC OS StrongHelp manual)
2020-09-04 21:20:49 -04:00
$ mode = "YAML" if ( $ ARGV [ 0 ] eq "--yaml" ) ; # YAML (Simple format, used in the Website)
2021-03-14 16:42:00 +00:00
$ mode = "RST" if ( $ ARGV [ 0 ] eq "--rst" ) ; # Restructured text (used in the manual)
2004-12-24 00:59:56 +00:00
}
if ( $ mode eq "" ) {
2021-03-14 16:42:00 +00:00
print STDERR "Usage: $0 [--text | --cpp | --rtf | --stronghelp | --yaml | --rst]\n" ;
print STDERR " Just pass --text / --cpp / --rtf / --stronghelp / --yaml / --rst as parameter, and credits.pl\n" ;
2004-12-24 00:59:56 +00:00
print STDERR " will print out the corresponding version of the credits to stdout.\n" ;
exit 1 ;
}
$ Text:: Wrap:: unexpand = 0 ;
if ( $ mode eq "TEXT" ) {
$ Text:: Wrap:: columns = 78 ;
2020-08-19 00:13:39 +10:00
$ max_name_width = 30 ; # The maximal width of a name.
2004-12-24 00:59:56 +00:00
} elsif ( $ mode eq "CPP" ) {
$ Text:: Wrap:: columns = 48 ; # Approx.
}
# Convert HTML entities to ASCII for the plain text mode
2005-03-22 20:16:02 +00:00
sub html_entities_to_ascii {
2004-12-24 00:59:56 +00:00
my $ text = shift ;
2008-01-27 19:47:41 +00:00
2004-12-24 00:59:56 +00:00
# For now we hardcode these mappings
2020-08-19 00:13:39 +10:00
$ text =~ s/Á/A/g ;
2004-12-24 00:59:56 +00:00
$ text =~ s/á/a/g ;
$ text =~ s/é/e/g ;
2013-10-30 21:56:16 +00:00
$ text =~ s/í/i/g ;
2011-02-08 22:28:32 +00:00
$ text =~ s/ì/i/g ;
2005-11-13 03:33:20 +00:00
$ text =~ s/ó/o/g ;
2004-12-24 00:59:56 +00:00
$ text =~ s/ø/o/g ;
2018-11-15 06:31:19 +00:00
$ text =~ s/ú/u/g ;
$ text =~ s/ą/a/g ;
$ text =~ s/Ł/L/g ;
2005-01-03 23:51:16 +00:00
$ text =~ s/ł/l/g ;
2012-07-20 14:50:00 -04:00
$ text =~ s/ś/s/g ;
2018-11-15 06:31:19 +00:00
$ text =~ s/Ľ/L/g ;
2009-10-30 03:27:27 +00:00
$ text =~ s/Š/S/g ;
2010-12-12 00:24:19 +00:00
$ text =~ s/å/aa/g ;
2013-10-30 21:56:16 +00:00
$ text =~ s/ñ/n/g ;
2004-12-24 00:59:56 +00:00
2005-05-09 21:21:21 +00:00
$ text =~ s/ä/a/g ;
2013-03-04 10:54:02 +02:00
$ text =~ s/ë/e/g ;
2006-07-08 17:37:51 +00:00
$ text =~ s/ü/ue/g ;
2010-02-10 17:08:07 +00:00
# HACK: Torbj*o*rn but G*oe*ffringmann and R*oe*ver and J*oe*rg
$ text =~ s/Torbjörn/Torbjorn/g ;
2005-01-03 22:47:14 +00:00
$ text =~ s/ö/oe/g ;
2004-12-24 00:59:56 +00:00
$ text =~ s/&/&/g ;
2008-01-27 19:47:41 +00:00
2004-12-24 00:59:56 +00:00
return $ text ;
}
2021-03-14 16:42:00 +00:00
# Convert HTML entities to UTF-8 for Restructured Text output
sub html_entities_to_utf8 {
my $ text = shift ;
$ text =~ s/Á/\xC3\x81/g ;
$ text =~ s/á/\xC3\xA1/g ;
$ text =~ s/é/\xC3\xA9/g ;
$ text =~ s/í/\xC3\xAD/g ;
$ text =~ s/ì/\xC3\xAC/g ;
$ text =~ s/ó/\xC3\xB3/g ;
$ text =~ s/ø/\xC3\xB8/g ;
$ text =~ s/ú/\xC3\xBA/g ;
$ text =~ s/ą/\xC4\x85/g ;
$ text =~ s/Ł/\xC5\x81/g ;
$ text =~ s/ł/\xC5\x82/g ;
$ text =~ s/ś/\xC5\x9B/g ;
$ text =~ s/Ľ/\xC4\xBD/g ;
$ text =~ s/Š/\xC5\xA0/g ;
$ text =~ s/å/\xC3\xA5/g ;
$ text =~ s/ñ/\xC3\xB1/g ;
$ text =~ s/ä/\xC3\xA4/g ;
$ text =~ s/ë/\xC3\xAB/g ;
$ text =~ s/ü/\xC3\xBC/g ;
$ text =~ s/ö/\xC3\xB6/g ;
$ text =~ s/&/&/g ;
return $ text ;
}
2019-04-17 22:06:17 +01:00
# Convert HTML entities to ISO/IEC 8859-1 for the StrongHelp manual
sub html_entities_to_iso8859_1 {
my $ text = shift ;
2020-08-19 00:13:39 +10:00
$ text =~ s/Á/\xC1/g ;
2019-04-17 22:06:17 +01:00
$ text =~ s/á/\xE1/g ;
$ text =~ s/é/\xE9/g ;
$ text =~ s/í/\xED/g ;
$ text =~ s/ì/\xEC/g ;
$ text =~ s/ó/\xF3/g ;
$ text =~ s/ø/\xF8/g ;
$ text =~ s/ú/\xFA/g ;
$ text =~ s/ą/a/g ;
$ text =~ s/Ł/L/g ;
$ text =~ s/ł/l/g ;
$ text =~ s/ś/s/g ;
$ text =~ s/Ľ/L/g ;
$ text =~ s/Š/S/g ;
$ text =~ s/å/\xE5/g ;
$ text =~ s/ñ/\xF1/g ;
$ text =~ s/ä/\xE4/g ;
$ text =~ s/ë/\xEB/g ;
$ text =~ s/ü/\xFC/g ;
$ text =~ s/ö/\xF6/g ;
$ text =~ s/&/&/g ;
return $ text ;
}
2006-06-20 22:50:27 +00:00
# Convert HTML entities to C++ characters
sub html_entities_to_cpp {
my $ text = shift ;
2021-04-18 01:30:38 +01:00
$ text =~ s/Á/\\303\\201/g ;
$ text =~ s/á/\\303\\241/g ;
$ text =~ s/é/\\303\\251/g ;
$ text =~ s/í/\\303\\255/g ;
$ text =~ s/ì/\\303\\254/g ;
$ text =~ s/ó/\\303\\263/g ;
$ text =~ s/ø/\\303\\270/g ;
$ text =~ s/ú/\\303\\272/g ;
$ text =~ s/ą/\\304\\205/g ;
$ text =~ s/Ł/\\305\\201/g ;
$ text =~ s/ł/\\305\\202/g ;
$ text =~ s/ś/\\305\\233/g ;
$ text =~ s/Ľ/\\304\\275/g ;
$ text =~ s/Š/\\305\\240/g ;
$ text =~ s/å/\\303\\245/g ;
$ text =~ s/ñ/\\303\\261/g ;
$ text =~ s/ä/\\303\\244/g ;
$ text =~ s/ë/\\303\\253/g ;
$ text =~ s/ü/\\303\\274/g ;
$ text =~ s/ö/\\303\\266/g ;
2006-06-20 22:50:27 +00:00
$ text =~ s/&/&/g ;
2008-01-27 19:47:41 +00:00
2006-06-20 22:50:27 +00:00
return $ text ;
}
2005-03-22 20:16:02 +00:00
# Convert HTML entities to RTF codes
2011-02-08 22:28:32 +00:00
# This is using the Mac OS Roman encoding
2005-03-22 20:16:02 +00:00
sub html_entities_to_rtf {
my $ text = shift ;
2008-01-27 19:47:41 +00:00
2020-08-19 00:13:39 +10:00
$ text =~ s/Á/\\'c1/g ;
2005-03-22 20:16:02 +00:00
$ text =~ s/á/\\'87/g ;
$ text =~ s/é/\\'8e/g ;
2013-10-30 21:56:16 +00:00
$ text =~ s/í/\\'92/g ;
2011-02-08 22:28:32 +00:00
$ text =~ s/ì/\\'93/g ;
2005-12-19 02:23:01 +00:00
$ text =~ s/ó/\\'97/g ;
2005-03-22 20:16:02 +00:00
$ text =~ s/ø/\\'bf/g ;
2018-11-15 06:31:19 +00:00
$ text =~ s/ú/\\'9c/g ;
2011-02-08 22:28:32 +00:00
$ text =~ s/å/\\'8c/g ;
2018-05-28 19:04:34 -07:00
# The following numerical values are decimal!
2018-11-15 06:31:19 +00:00
$ text =~ s/ą/\\uc0\\u261 /g ;
$ text =~ s/Ł/\\uc0\\u321 /g ;
2005-03-22 20:16:02 +00:00
$ text =~ s/ł/\\uc0\\u322 /g ;
2018-05-28 19:04:34 -07:00
$ text =~ s/ś/\\uc0\\u347 /g ;
2018-11-15 06:31:19 +00:00
$ text =~ s/Ľ/\\uc0\\u317 /g ;
2018-05-28 19:04:34 -07:00
$ text =~ s/Š/\\uc0\\u352 /g ;
2005-05-09 21:21:21 +00:00
2010-02-10 17:08:07 +00:00
# Back to hex numbers
2013-10-30 21:56:16 +00:00
$ text =~ s/ñ/\\'96/g ;
2005-05-09 21:21:21 +00:00
$ text =~ s/ä/\\'8a/g ;
2018-05-28 19:04:34 -07:00
$ text =~ s/ë/\\'91/g ;
2005-03-22 20:16:02 +00:00
$ text =~ s/ö/\\'9a/g ;
2005-05-09 21:21:21 +00:00
$ text =~ s/ü/\\'9f/g ;
2005-03-22 20:16:02 +00:00
$ text =~ s/&/&/g ;
2008-01-27 19:47:41 +00:00
2005-03-22 20:16:02 +00:00
return $ text ;
}
2008-01-27 19:47:41 +00:00
#
2005-12-19 02:23:01 +00:00
# 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>
#
2004-12-24 00:59:56 +00:00
sub begin_credits {
my $ title = shift ;
2020-09-04 21:20:49 -04:00
if ( $ mode eq "RTF" ) {
2005-03-23 16:19:05 +00:00
print '{\rtf1\mac\ansicpg10000' . "\n" ;
2005-03-22 20:16:02 +00:00
print '{\fonttbl\f0\fswiss\fcharset77 Helvetica-Bold;\f1\fswiss\fcharset77 Helvetica;}' . "\n" ;
2005-12-19 02:23:01 +00:00
print '{\colortbl;\red255\green255\blue255;\red0\green128\blue0;\red128\green128\blue128;}' . "\n" ;
2005-03-22 20:16:02 +00:00
print '\vieww6920\viewh15480\viewkind0' . "\n" ;
print "\n" ;
2004-12-24 00:59:56 +00:00
} elsif ( $ mode eq "CPP" ) {
print "// This file was generated by credits.pl. Do not edit by hand!\n" ;
print "static const char *credits[] = {\n" ;
2019-10-08 20:23:31 -04:00
} elsif ( $ mode eq "YAML" ) {
print "# This file was generated by credits.pl. Do not edit by hand!\n" ;
2019-04-17 22:06:17 +01:00
} elsif ( $ mode eq "STRONGHELP" ) {
print "ScummVM - AUTHORS\n" ;
print "# This file was generated by credits.pl. Do not edit by hand!\n" ;
2021-03-14 16:42:00 +00:00
} elsif ( $ mode eq "RST" ) {
print "..\n" ;
print " This file was generated by credits.pl. Do not edit by hand!\n" ;
print "\n" ;
print "=========\n" ;
print "Credits\n" ;
print "=========\n" ;
print "\n" ;
2004-12-24 00:59:56 +00:00
}
}
sub end_credits {
if ( $ mode eq "TEXT" ) {
2005-03-22 20:16:02 +00:00
} elsif ( $ mode eq "RTF" ) {
print "}\n" ;
2004-12-24 00:59:56 +00:00
} elsif ( $ mode eq "CPP" ) {
print "};\n" ;
}
}
sub begin_section {
my $ title = shift ;
2018-08-07 21:14:22 -04:00
my $ anchor = shift ;
2005-12-19 02:23:01 +00:00
2004-12-24 00:59:56 +00:00
if ( $ mode eq "TEXT" ) {
2005-03-22 20:16:02 +00:00
$ title = html_entities_to_ascii ( $ title ) ;
2005-12-19 02:23:01 +00:00
if ( $ section_level >= 2 ) {
$ title . = ":"
}
2008-01-27 19:47:41 +00:00
2005-12-19 02:23:01 +00:00
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" ;
}
2005-03-22 20:16:02 +00:00
} elsif ( $ mode eq "RTF" ) {
$ title = html_entities_to_rtf ( $ title ) ;
# Center text
print '\pard\qc' . "\n" ;
2005-12-19 02:23:01 +00:00
print '\f0\b' ;
if ( $ section_level eq 0 ) {
print '\fs40 ' ;
} elsif ( $ section_level eq 1 ) {
print '\fs32 ' ;
}
2008-01-27 19:47:41 +00:00
2005-12-19 02:23:01 +00:00
# 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" ;
2005-03-22 20:16:02 +00:00
print '\f1\b0\fs24 \cf0 \\' . "\n" ;
2004-12-24 00:59:56 +00:00
} elsif ( $ mode eq "CPP" ) {
2005-12-19 02:23:01 +00:00
if ( $ section_level eq 0 ) {
2013-02-04 13:16:38 +00:00
# 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" ;
2005-12-19 02:23:01 +00:00
} else {
2013-02-04 13:16:38 +00:00
$ title = html_entities_to_cpp ( $ title ) ;
print '"C1""' . $ title . '",' . "\n" ;
2005-12-19 02:23:01 +00:00
}
2019-10-08 20:23:31 -04:00
} elsif ( $ mode eq "YAML" ) {
2020-10-03 09:09:10 -04:00
my $ key = "" ;
$ indent = ( " " x ( $ section_level ) ) ;
2019-10-08 20:23:31 -04:00
if ( $ section_level eq 1 ) {
$ key = "subsection:\n" ;
}
if ( $ section_level < 2 ) {
if ( @ section_count [ $ section_level ] eq 0 ) {
print $ indent . $ key ;
}
print $ indent . "-\n" ;
print $ indent . " title: \"" . $ title . "\"\n" ;
if ( $ anchor ) {
print $ indent . " anchor: \"" . $ anchor . "\"\n" ;
}
}
2019-04-17 22:06:17 +01:00
} elsif ( $ mode eq "STRONGHELP" ) {
$ title = html_entities_to_iso8859_1 ( $ title ) ;
print "#fH" . ( $ section_level + 1 ) . ":" . $ title . "\n" ;
2021-03-14 16:42:00 +00:00
} elsif ( $ mode eq "RST" ) {
$ title = html_entities_to_utf8 ( $ title ) ;
print $ title . "\n" ;
my $ rst_header = "" ;
if ( $ section_level eq 0 ) {
print "=" x ( length $ title ) . "\n\n" ;
} elsif ( $ section_level eq 1 ) {
print "*" x ( length $ title ) . "\n\n" ;
} elsif ( $ section_level eq 2 ) {
print "^" x ( length $ title ) . "\n\n" ;
}
2005-12-19 02:23:01 +00:00
}
# Implicit start of person list on section level 2
if ( $ section_level >= 2 ) {
2019-10-08 20:23:31 -04:00
begin_persons ( $ title , 1 ) ;
2004-12-24 00:59:56 +00:00
}
2005-12-19 02:23:01 +00:00
@ section_count [ $ section_level ] + + ;
$ section_level + + ;
@ section_count [ $ section_level ] = 0 ;
2004-12-24 00:59:56 +00:00
}
sub end_section {
2005-12-19 02:23:01 +00:00
$ section_level - - ;
2019-10-08 20:23:31 -04:00
$ paragraph_started = 0 ;
$ group_started = 0 ;
2005-12-19 02:23:01 +00:00
# Implicit end of person list on section level 2
if ( $ section_level >= 2 ) {
end_persons ( ) ;
2019-10-08 20:23:31 -04:00
$ group_started = 1 ;
2005-12-19 02:23:01 +00:00
}
2004-12-24 00:59:56 +00:00
if ( $ mode eq "TEXT" ) {
2005-12-19 02:23:01 +00:00
# nothing
2005-03-22 20:16:02 +00:00
} elsif ( $ mode eq "RTF" ) {
2005-12-19 02:23:01 +00:00
# nothing
2004-12-24 00:59:56 +00:00
} elsif ( $ mode eq "CPP" ) {
2008-11-20 13:46:34 +00:00
print '"",' . "\n" ;
2005-12-19 02:23:01 +00:00
}
}
sub begin_persons {
2009-05-23 20:21:17 +00:00
my $ title = shift ;
2019-10-08 20:23:31 -04:00
my $ level = shift ;
2020-09-04 21:20:49 -04:00
if ( $ mode eq "YAML" ) {
2020-10-03 09:09:10 -04:00
$ group_indent = $ level eq 1 ? " " : ( " " x $ section_level ) ;
2019-10-08 20:23:31 -04:00
if ( $ group_started == 0 ) {
print $ group_indent . "group:\n" ;
$ group_started = 1 ;
}
print $ group_indent . "-\n" ;
print $ group_indent . " name: \"" . $ title . "\"\n" ;
2021-03-14 16:42:00 +00:00
} elsif ( $ mode eq "RST" ) {
print ".. list-table::\n" ;
print " :widths: 35 65\n" ;
print "\n" ;
2005-12-19 02:23:01 +00:00
}
}
sub end_persons {
if ( $ mode eq "TEXT" ) {
print "\n" ;
} elsif ( $ mode eq "RTF" ) {
# nothing
2019-04-17 22:06:17 +01:00
} elsif ( $ mode eq "STRONGHELP" ) {
print "\n" ;
2019-10-08 20:23:31 -04:00
} elsif ( $ mode eq "YAML" ) {
$ person_started = 0 ;
2021-03-14 16:42:00 +00:00
} elsif ( $ mode eq "RST" ) {
print "\n" ;
2004-12-24 00:59:56 +00:00
}
}
sub add_person {
my $ name = shift ;
my $ nick = shift ;
my $ desc = shift ;
2005-12-19 02:23:01 +00:00
my $ tab ;
2008-01-27 19:47:41 +00:00
2004-12-24 00:59:56 +00:00
if ( $ mode eq "TEXT" ) {
2010-04-12 19:40:54 +00:00
my $ min_name_width = length $ desc > 0 ? $ max_name_width : 0 ;
2004-12-24 00:59:56 +00:00
$ name = $ nick if $ name eq "" ;
2005-03-22 20:16:02 +00:00
$ name = html_entities_to_ascii ( $ name ) ;
2012-09-06 17:44:52 +02:00
if ( length $ name > $ max_name_width ) {
print STDERR "Warning: max_name_width is too small (" . $ max_name_width . " < " . ( length $ name ) . " for \"" . $ name . "\")\n" ;
}
2005-03-22 20:16:02 +00:00
$ desc = html_entities_to_ascii ( $ desc ) ;
2008-01-27 19:47:41 +00:00
2005-12-19 02:23:01 +00:00
$ tab = " " x ( $ section_level * 2 + 1 ) ;
2010-04-12 19:40:54 +00:00
printf $ tab . "%-" . $ min_name_width . "." . $ max_name_width . "s" , $ name ;
2008-01-27 19:47:41 +00:00
2004-12-24 00:59:56 +00:00
# Print desc wrapped
2005-12-19 02:23:01 +00:00
if ( length $ desc > 0 ) {
2019-10-08 20:23:31 -04:00
my $ inner_indent = ( $ section_level * 2 + 1 ) + $ max_name_width + 3 ;
my $ multitab = " " x $ inner_indent ;
print " - " . substr ( wrap ( $ multitab , $ multitab , $ desc ) , $ inner_indent ) ;
2005-12-19 02:23:01 +00:00
}
print "\n" ;
2005-03-22 20:16:02 +00:00
} elsif ( $ mode eq "RTF" ) {
$ name = $ nick if $ name eq "" ;
$ name = html_entities_to_rtf ( $ name ) ;
2005-12-19 02:23:01 +00:00
# Center text
print '\pard\qc' . "\n" ;
# Activate 1.5 line spacing mode
print '\sl360\slmult1' ;
# The name
2005-03-22 20:16:02 +00:00
print $ name . "\\\n" ;
2005-12-19 02:23:01 +00:00
# Description using italics
if ( length $ desc > 0 ) {
$ desc = html_entities_to_rtf ( $ desc ) ;
print '\pard\qc' . "\n" ;
print "\\cf3\\i " . $ desc . "\\i0\\cf0\\\n" ;
}
2004-12-24 00:59:56 +00:00
} elsif ( $ mode eq "CPP" ) {
$ name = $ nick if $ name eq "" ;
2006-06-20 22:50:27 +00:00
$ name = html_entities_to_cpp ( $ name ) ;
2008-11-20 13:46:34 +00:00
print '"C0""' . $ name . '",' . "\n" ;
2004-12-24 00:59:56 +00:00
# Print desc wrapped
2005-12-19 02:23:01 +00:00
if ( length $ desc > 0 ) {
2006-06-20 22:50:27 +00:00
$ desc = html_entities_to_cpp ( $ desc ) ;
2008-11-20 13:46:34 +00:00
print '"C2""' . $ desc . '",' . "\n" ;
2005-12-19 02:23:01 +00:00
}
2019-10-08 20:23:31 -04:00
} elsif ( $ mode eq "YAML" ) {
$ indent = $ group_indent . " " ;
if ( $ person_started eq 0 ) {
print $ indent . "person:\n" ;
$ person_started = 1 ;
}
print $ indent . "-\n" ;
$ name = "???" if $ name eq "" ;
print $ indent . " name: \"" . $ name . "\"\n" ;
print $ indent . " alias: \"" . $ nick . "\"\n" ;
print $ indent . " description: \"" . $ desc . "\"\n" ;
2019-04-17 22:06:17 +01:00
} elsif ( $ mode eq "STRONGHELP" ) {
my $ min_name_width = length $ desc > 0 ? $ max_name_width : 0 ;
$ name = $ nick if $ name eq "" ;
$ name = html_entities_to_iso8859_1 ( $ name ) ;
$ desc = html_entities_to_iso8859_1 ( $ desc ) ;
$ tab = " " x ( $ section_level * 2 + 1 ) ;
print $ tab . "{*}" . $ name . "{*}" ;
print "\t" . $ desc . "\n" ;
2021-03-14 16:42:00 +00:00
} elsif ( $ mode eq "RST" ) {
my $ min_name_width = length $ desc > 0 ? $ max_name_width : 0 ;
$ name = $ nick if $ name eq "" ;
$ name = html_entities_to_utf8 ( $ name ) ;
$ desc = html_entities_to_utf8 ( $ desc ) ;
print " * - " . $ name . "\n" ;
if ( length $ desc > 0 ) {
print " - " . $ desc . "\n" ;
} else {
print " -\n" ;
}
2004-12-24 00:59:56 +00:00
}
}
sub add_paragraph {
my $ text = shift ;
2005-12-19 02:23:01 +00:00
my $ tab ;
2008-01-27 19:47:41 +00:00
2004-12-24 00:59:56 +00:00
if ( $ mode eq "TEXT" ) {
2005-12-19 02:23:01 +00:00
$ tab = " " x ( $ section_level * 2 + 1 ) ;
2005-03-22 20:16:02 +00:00
print wrap ( $ tab , $ tab , html_entities_to_ascii ( $ text ) ) . "\n" ;
2004-12-24 00:59:56 +00:00
print "\n" ;
2005-03-22 20:16:02 +00:00
} elsif ( $ mode eq "RTF" ) {
2009-10-30 20:44:11 +00:00
$ text = html_entities_to_rtf ( $ text ) ;
2005-12-19 02:23:01 +00:00
# Center text
print '\pard\qc' . "\n" ;
2005-03-22 20:16:02 +00:00
print "\\\n" ;
2005-12-19 02:23:01 +00:00
print $ text . "\\\n" ;
2004-12-24 00:59:56 +00:00
} elsif ( $ mode eq "CPP" ) {
2021-04-18 01:39:49 +01:00
$ text = html_entities_to_cpp ( $ text ) ;
2008-11-20 13:46:34 +00:00
my $ line_start = '"C0""' ;
2004-12-24 00:59:56 +00:00
my $ line_end = '",' ;
2005-05-17 23:41:35 +00:00
print $ line_start . $ text . $ line_end . "\n" ;
2004-12-24 00:59:56 +00:00
print $ line_start . $ line_end . "\n" ;
2019-10-08 20:23:31 -04:00
} elsif ( $ mode eq "YAML" ) {
2020-10-03 09:09:10 -04:00
$ indent = ( " " x $ section_level ) ;
2019-10-08 20:23:31 -04:00
if ( $ paragraph_started eq 0 ) {
print $ indent . "paragraph:\n" ;
$ paragraph_started = 1 ;
}
print $ indent . "- \"" . $ text . "\"\n" ;
2019-04-17 22:06:17 +01:00
} elsif ( $ mode eq "STRONGHELP" ) {
$ text = html_entities_to_iso8859_1 ( $ text ) ;
print "#Wrap On\n" ;
$ tab = " " x ( $ section_level * 2 + 1 ) ;
print $ text . "\n" ;
print "#Wrap\n\n" ;
2021-03-14 16:42:00 +00:00
} elsif ( $ mode eq "RST" ) {
$ text = html_entities_to_utf8 ( $ text ) ;
print $ text . "\n\n" ;
2004-12-24 00:59:56 +00:00
}
}
#
# Now follows the actual credits data! The format should be clear, I hope.
2005-05-23 22:20:35 +00:00
# Note that people are sorted by their last name in most cases; in the
# 'Team' section, they are first grouped by category (Engine; porter; misc).
2004-12-24 00:59:56 +00:00
#
begin_credits ( "Credits" ) ;
2018-09-25 04:08:51 +01:00
begin_section ( "ScummVM Team" , "scummvm_team" ) ;
2020-10-12 14:44:44 +02:00
begin_section ( "Project Leaders" , "project_leader" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
2020-10-12 14:44:44 +02:00
add_person ( "Paweł Kołodziejski" , "aquadran" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
2020-10-12 14:44:44 +02:00
add_person ( "Einar Johan T. Sømåen" , "somaen" , "" ) ;
2011-10-08 13:23:48 -05:00
end_persons ( ) ;
end_section ( ) ;
2010-10-18 21:35:15 +00:00
2018-08-07 21:08:55 -04:00
begin_section ( "PR Office" , "pr" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "Public Relations Officer, Project Administrator" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "Project Leader" ) ;
end_persons ( ) ;
end_section ( ) ;
2010-10-12 02:18:11 +00:00
2018-08-07 21:08:55 -04:00
begin_section ( "Retired Project Leaders" , "retired_leaders" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "James Brown" , "ender" , "" ) ;
add_person ( "Vincent Hamm" , "yaz0r" , "ScummVM co-founder, Original Cruise/CinE author" ) ;
add_person ( "Max Horn" , "Fingolfin" , "" ) ;
add_person ( "Ludvig Strigeus" , "ludde" , "Original ScummVM and SimonVM author" ) ;
end_persons ( ) ;
2011-02-08 22:28:32 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Engine Teams" , "engine_teams" ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "SCUMM" ) ;
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "" ) ;
add_person ( "James Brown" , "ender" , "(retired)" ) ;
add_person ( "Jonathan Gray" , "khalek" , "(retired)" ) ;
add_person ( "Vincent Hamm" , "yaz0r" , "(retired)" ) ;
add_person ( "Max Horn" , "Fingolfin" , "(retired)" ) ;
add_person ( "Travis Howell" , "Kirben" , "" ) ;
add_person ( "Paweł Kołodziejski" , "aquadran" , "Codecs, iMUSE, Smush, etc." ) ;
2011-12-12 22:04:09 +01:00
add_person ( "Gregory Montoir" , "cyx" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Eugene Sandulenko" , "sev" , "FT INSANE, MM NES, MM C64, game detection, Herc/CGA" ) ;
add_person ( "Ludvig Strigeus" , "ludde" , "(retired)" ) ;
end_section ( ) ;
begin_section ( "HE" ) ;
add_person ( "Jonathan Gray" , "khalek" , "(retired)" ) ;
add_person ( "Travis Howell" , "Kirben" , "" ) ;
2011-12-12 22:04:09 +01:00
add_person ( "Gregory Montoir" , "cyx" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
2019-09-13 17:04:11 +02:00
2017-03-29 23:10:10 +01:00
begin_section ( "Access" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
end_section ( ) ;
2017-03-29 21:34:37 +01:00
begin_section ( "ADL" ) ;
add_person ( "Walter van Niftrik" , "waltervn" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "AGI" ) ;
add_person ( "Stuart George" , "darkfiber" , "" ) ;
2016-05-20 22:28:23 +02:00
add_person ( "Matthew Hoops" , "clone2727" , "(retired)" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2016-01-31 22:39:03 +01:00
add_person ( "Martin Kiewitz" , "m_kiewitz" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Paweł Kołodziejski" , "aquadran" , "" ) ;
2016-01-31 22:43:13 +01:00
add_person ( "Walter van Niftrik" , "waltervn" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Kari Salminen" , "Buddha^" , "" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
add_person ( "David Symonds" , "dsymonds" , "(retired)" ) ;
end_section ( ) ;
begin_section ( "AGOS" ) ;
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
add_person ( "Travis Howell" , "Kirben" , "" ) ;
add_person ( "Oliver Kiehl" , "olki" , "(retired)" ) ;
add_person ( "Ludvig Strigeus" , "ludde" , "(retired)" ) ;
end_section ( ) ;
2015-11-22 19:11:51 +01:00
2021-01-17 16:29:14 -08:00
begin_section ( "AGS" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
2021-02-02 20:21:45 -08:00
add_person ( "Thierry Crozat" , "criezy" , "" ) ;
add_person ( "Chris Jones" , "Pumaman" , "Creator" ) ;
add_person ( "Alan Van Drake" , "" , "AGS" ) ;
add_person ( "Benjamin Penney" , "" , "AGS" ) ;
add_person ( "Benoit Pierre" , "" , "AGS" ) ;
add_person ( "Bernhard Rosenkraenzer" , "" , "AGS" ) ;
add_person ( "Cristian Morales Vega" , "" , "AGS" ) ;
add_person ( "Edward Rudd" , "" , "AGS" ) ;
add_person ( "Erico Vieira Porto" , "" , "AGS" ) ;
add_person ( "Ferdinand Thiessen" , "" , "AGS" ) ;
add_person ( "Francesco Ariis" , "" , "AGS" ) ;
add_person ( "Gilad Shaham" , "" , "AGS" ) ;
add_person ( "Ivan Mogilko" , "" , "AGS" ) ;
add_person ( "Janet Gilbert" , "" , "AGS" ) ;
add_person ( "Jochen Schleu" , "" , "AGS" ) ;
add_person ( "Joe Lee" , "" , "AGS" ) ;
add_person ( "John Steele Scott" , "" , "AGS" ) ;
add_person ( "Martin Sedlak" , "" , "AGS" ) ;
add_person ( "Matthew Gambrell" , "" , "AGS" ) ;
add_person ( "Michael Rittenhouse" , "" , "AGS" ) ;
add_person ( "Morgan Willcock" , "" , "AGS" ) ;
add_person ( "Nick Sonneveld" , "" , "AGS" ) ;
add_person ( "Ori Avtalion" , "" , "AGS" ) ;
add_person ( "Paul Wilkinson" , "" , "AGS" ) ;
add_person ( "Per Olav Flaten" , "" , "AGS" ) ;
add_person ( "Piotr Wieczorek" , "" , "AGS" ) ;
add_person ( "Ryan O'Connor" , "" , "AGS" ) ;
add_person ( "Scott Baker" , "" , "AGS" ) ;
add_person ( "Shane Stevens" , "" , "AGS" ) ;
add_person ( "Shawn R. Walker" , "" , "AGS" ) ;
add_person ( "Stefano Collavini" , "" , "AGS" ) ;
add_person ( "Steve McCrea" , "" , "AGS" ) ;
add_person ( "Steven Poulton" , "" , "AGS" ) ;
add_person ( "Sunit Das" , "" , "AGS" ) ;
add_person ( "Tobias Hansen" , "" , "AGS" ) ;
add_person ( "Tom Vandepoele" , "" , "AGS" ) ;
add_person ( "Tzach Shabtay" , "" , "AGS" ) ;
add_person ( "" , "rofl0r" , "AGS" ) ;
2021-02-12 18:51:06 -08:00
add_person ( "Berian Williams" , "AGA" , "AgsCreditz" ) ;
2021-01-17 16:29:14 -08:00
end_section ( ) ;
2021-02-02 20:21:45 -08:00
2014-01-15 11:28:44 +01:00
begin_section ( "Avalanche" ) ;
2013-10-17 22:32:49 +02:00
add_person ( "Peter Bozsó" , "uruk" , "" ) ;
2013-10-06 01:20:20 +02:00
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2015-11-21 18:29:50 +01:00
begin_section ( "BBVS" ) ;
add_person ( "Benjamin Haisch" , "john_doe" , "" ) ;
end_section ( ) ;
2017-03-25 23:51:35 +01:00
begin_section ( "Blade Runner" ) ;
2019-04-18 09:23:28 +02:00
add_person ( "Thanasis Antoniou" , "Praetorian" , "" ) ;
2017-03-25 23:51:35 +01:00
add_person ( "Thomas Fach-Pedersen" , "madmoose" , "" ) ;
add_person ( "Peter Kohaut" , "peterkohaut" , "" ) ;
2019-04-18 09:23:28 +02:00
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
2017-03-25 23:51:35 +01:00
end_section ( ) ;
2013-12-25 12:16:48 -05:00
begin_section ( "Buried" ) ;
add_person ( "Matthew Hoops" , "clone2727" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "CGE" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
end_section ( ) ;
2016-02-26 22:17:29 +01:00
2014-08-12 11:01:08 +02:00
begin_section ( "CGE2" ) ;
add_person ( "Peter Bozsó" , "uruk" , "" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2019-09-13 17:04:11 +02:00
begin_section ( "Chewy" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2019-09-13 17:04:11 +02:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Cine" ) ;
add_person ( "Vincent Hamm" , "yaz0r" , "(retired)" ) ;
add_person ( "Paweł Kołodziejski" , "aquadran" , "" ) ;
2011-12-12 22:04:09 +01:00
add_person ( "Gregory Montoir" , "cyx" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Kari Salminen" , "Buddha^" , "" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
2011-11-17 17:00:58 +01:00
begin_section ( "Composer" ) ;
add_person ( "Alyssa Milburn" , "fuzzie" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "CruisE" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
add_person ( "Vincent Hamm" , "yaz0r" , "(retired)" ) ;
end_section ( ) ;
2019-07-27 11:34:56 +02:00
begin_section ( "Cryomni3D" ) ;
add_person ( "Philippe Valembois" , "lePhilousophe" , "" ) ;
end_section ( ) ;
2019-09-13 17:04:11 +02:00
begin_section ( "Director" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
add_person ( "Dmitry Iskrich" , "" , "" ) ;
2020-07-02 01:48:49 +02:00
add_person ( "Dylan Servilla" , "djsrv" , "" ) ;
add_person ( "Nathanael Gentry" , "npjg" , "" ) ;
add_person ( "Roland van Laar" , "rvanlaar" , "" ) ;
2020-01-24 22:03:04 +01:00
add_person ( "Scott Percival" , "moralrecordings" , "" ) ;
2019-09-13 17:04:11 +02:00
add_person ( "Steven Hoefel" , "" , "" ) ;
add_person ( "Tobia Tesan" , "" , "" ) ;
end_section ( ) ;
begin_section ( "DM" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Bendegúz Nagy" , "WinterGrascph" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Draci" ) ;
add_person ( "Denis Kasak" , "dkasak13" , "" ) ;
add_person ( "Robert Špalek" , "spalek" , "" ) ;
end_section ( ) ;
2020-08-19 00:13:39 +10:00
begin_section ( "Dragons" ) ;
add_person ( "Eric Fry" , "yuv422" , "" ) ;
add_person ( "Benjamin Haisch" , "john_doe" , "Actor pathfinding" ) ;
add_person ( "Ángel Eduardo García Hernández" , "arcnor" , "Help with reverse engineering" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Drascula" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Paweł Kołodziejski" , "aquadran" , "" ) ;
2016-07-20 19:12:24 +01:00
add_person ( "Thierry Crozat" , "criezy" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "DreamWeb" ) ;
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "" ) ;
add_person ( "Bertrand Augereau" , "Tramb" , "" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2019-11-03 23:57:42 +01:00
add_person ( "Vladimir Menshakov" , "whoozle" , "" ) ;
2012-07-20 21:03:34 +02:00
add_person ( "Willem Jan Palenstijn" , "wjp" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2017-03-29 23:05:55 +01:00
begin_section ( "Fullpipe" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
2018-11-11 09:40:06 -08:00
2018-11-14 18:44:34 -08:00
begin_section ( "ScummGlk" ) ;
2018-11-11 09:40:06 -08:00
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
2018-11-14 18:44:34 -08:00
add_person ( "Tor Andersson" , "" , "GarGlk library" ) ;
2018-11-11 09:40:06 -08:00
add_person ( "Stefan Jokisch" , "" , "Frotz interpreter" ) ;
2018-12-09 09:38:22 -08:00
add_person ( "Andrew Plotkin" , "" , "Glulxe interpreter" ) ;
2018-11-11 09:40:06 -08:00
add_person ( "Alan Cox" , "" , "ScottFree interpreter" ) ;
2018-12-09 09:38:22 -08:00
add_person ( "Michael J. Roberts" , "" , "TADS interpreter" ) ;
2018-11-11 09:40:06 -08:00
end_section ( ) ;
2019-09-13 17:04:11 +02:00
2016-06-06 00:22:48 +02:00
begin_section ( "Gnap" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Benjamin Haisch" , "john_doe" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Gob" ) ;
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Sven Hesse" , "DrMcCoy" , "" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
2020-08-25 13:06:30 +02:00
begin_section ( "Griffon" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
2020-10-09 19:04:07 +02:00
begin_section ( "Grim" ) ;
add_person ( "James Brown" , "ender" , "Grim (retired)" ) ;
add_person ( "Giulio Camuffo" , "giucam" , "Grim (retired)" ) ;
add_person ( "Dries Harnie" , "Botje" , "EMI" ) ;
add_person ( "Paweł Kołodziejski" , "aquadran" , "Grim" ) ;
add_person ( "Christian Krause" , "chkr" , "EMI (retired)" ) ;
add_person ( "Einar Johan T. Sømåen" , "somaen" , "Grim, EMI" ) ;
2021-01-24 16:24:30 +00:00
add_person ( "Joel Teichroeb" , "klusark" , "EMI" ) ;
2020-10-09 19:04:07 +02:00
add_person ( "Joni Vähämäki" , "Akz" , "EMI (retired)" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Groovie" ) ;
add_person ( "Henry Bush" , "spookypeanut" , "" ) ;
add_person ( "Scott Thomas" , "ST" , "" ) ;
add_person ( "Jordi Vilalta Prat" , "jvprat" , "" ) ;
end_section ( ) ;
2021-01-24 16:24:30 +00:00
begin_section ( "Hades' Challenge" ) ;
add_person ( "Vladimir Serbinenko/Google" , "phcoder" , "" ) ;
end_section ( ) ;
2019-09-13 17:04:11 +02:00
begin_section ( "HDB" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
add_person ( "Nipun Garg" , "nipung" , "GSoC student" ) ;
end_section ( ) ;
2013-02-27 22:27:48 +01:00
begin_section ( "Hopkins" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Hugo" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Oystein Eftevaag" , "vinterstum" , "" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
2020-10-09 19:04:07 +02:00
begin_section ( "ICB" ) ;
add_person ( "Paweł Kołodziejski" , "aquadran" , "" ) ;
add_person ( "Joost Peters" , "joostp" , "" ) ;
add_person ( "Einar Johan T. Sømåen" , "somaen" , "" ) ;
end_section ( ) ;
2018-11-15 06:31:19 +00:00
begin_section ( "Illusions" ) ;
add_person ( "Benjamin Haisch" , "john_doe" , "" ) ;
add_person ( "Eric Fry" , "yuv422" , "" ) ;
end_section ( ) ;
2020-05-29 22:03:14 +01:00
begin_section ( "Kingdom" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Thomas Fach-Pedersen" , "madmoose" , "" ) ;
2020-05-31 20:29:32 +01:00
add_person ( "Hein-Pieter van Braam-Stewart" , "TMM" , "" ) ;
2020-05-29 22:03:14 +01:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Kyra" ) ;
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "VQA Player" ) ;
add_person ( "Oystein Eftevaag" , "vinterstum" , "" ) ;
add_person ( "Florian Kagerer" , "athrxx" , "" ) ;
2011-12-12 22:04:09 +01:00
add_person ( "Gregory Montoir" , "cyx" , "(retired)" ) ;
2016-09-26 21:33:55 +01:00
add_person ( "Johannes Schickel" , "LordHoto" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2017-03-29 23:38:08 +01:00
begin_section ( "Lab" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2017-03-29 23:38:08 +01:00
add_person ( "Willem Jan Palenstijn" , "wjp" , "" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
2019-09-13 17:04:11 +02:00
2011-10-08 13:23:48 -05:00
begin_section ( "Lastexpress" ) ;
2016-05-20 22:28:23 +02:00
add_person ( "Matthew Hoops" , "clone2727" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Jordi Vilalta Prat" , "jvprat" , "" ) ;
add_person ( "Julien Templier" , "littleboy" , "" ) ;
end_section ( ) ;
2019-09-13 17:04:11 +02:00
begin_section ( "Lilliput" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Lure" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
end_section ( ) ;
2019-09-13 17:04:11 +02:00
begin_section ( "MacVenture" ) ;
add_person ( "Borja Lorente" , "blorente" , "GSoC student" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "MADE" ) ;
add_person ( "Benjamin Haisch" , "john_doe" , "" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2014-05-28 22:37:02 +02:00
begin_section ( "MADS" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2014-05-28 22:37:02 +02:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Mohawk" ) ;
add_person ( "Bastien Bouclet" , "bgk" , "" ) ;
2016-05-20 22:28:23 +02:00
add_person ( "Matthew Hoops" , "clone2727" , "(retired)" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Alyssa Milburn" , "fuzzie" , "" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
add_person ( "David Turner" , "digitall" , "" ) ;
2018-06-17 09:34:56 +02:00
add_person ( "David Fioramonti" , "dafioram" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2013-08-20 23:14:54 +02:00
begin_section ( "Mortevielle" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-11-15 06:31:19 +00:00
begin_section ( "MutationOfJB" ) ;
add_person ( "Ľubomír Remák" , "LubomirR" , "" ) ;
add_person ( "Miroslav Remák" , "MiroslavR" , "" ) ;
end_section ( ) ;
2020-10-09 19:04:07 +02:00
begin_section ( "Myst 3" ) ;
add_person ( "Bastien Bouclet" , "bgK" , "" ) ;
end_section ( ) ;
2013-08-20 18:47:29 +03:00
begin_section ( "Neverhood" ) ;
add_person ( "Benjamin Haisch" , "john_doe" , "" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2013-08-20 18:47:29 +03:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Parallaction" ) ;
add_person ( "" , "peres" , "" ) ;
end_section ( ) ;
2012-03-21 14:55:12 -04:00
begin_section ( "Pegasus" ) ;
2016-05-20 22:28:23 +02:00
add_person ( "Matthew Hoops" , "clone2727" , "(retired)" ) ;
2012-03-21 14:55:12 -04:00
end_section ( ) ;
2020-07-02 01:48:49 +02:00
begin_section ( "Petka" ) ;
2020-06-05 20:40:59 +03:00
add_person ( "Andrei Prykhodko" , "whiterandrek" , "" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
2019-09-13 17:04:11 +02:00
begin_section ( "Pink" ) ;
add_person ( "Andrei Prykhodko" , "whiterandrek" , "" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
begin_section ( "Plumbers" ) ;
add_person ( "Retro-Junk;" , "bambarbee" , "" ) ;
end_section ( ) ;
2018-11-15 06:31:19 +00:00
begin_section ( "Prince" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
add_person ( "Łukasz Wątka" , "lukaslw" , "" ) ;
add_person ( "Kamil Zbróg" , "" , "" ) ;
end_section ( ) ;
2021-03-21 10:01:24 -03:00
begin_section ( "Private" ) ;
add_person ( "Gustavo Grieco" , "neuromancer" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Queen" ) ;
add_person ( "David Eriksson" , "twogood" , "(retired)" ) ;
2011-12-12 22:04:09 +01:00
add_person ( "Gregory Montoir" , "cyx" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Joost Peters" , "joostp" , "" ) ;
end_section ( ) ;
begin_section ( "SAGA" ) ;
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "" ) ;
2012-01-31 21:32:17 +02:00
add_person ( "Daniel Balsom" , "DanielFox" , "Original engine reimplementation author (retired)" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Andrew Kurushin" , "ajax16384" , "" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
begin_section ( "SCI" ) ;
2019-08-13 18:34:24 -07:00
add_person ( "Chris Benshoof" , "sluicebox" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Greg Frieger" , "_FRG_" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
add_person ( "Max Horn" , "Fingolfin" , "(retired)" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Martin Kiewitz" , "m_kiewitz" , "" ) ;
2016-01-31 22:43:13 +01:00
add_person ( "Walter van Niftrik" , "waltervn" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Willem Jan Palenstijn" , "wjp" , "" ) ;
add_person ( "Jordi Vilalta Prat" , "jvprat" , "" ) ;
add_person ( "Lars Skovlund" , "lskovlun" , "" ) ;
2017-03-29 23:24:16 +01:00
add_person ( "Colin Snover" , "" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2015-11-21 13:48:50 +01:00
begin_section ( "Sherlock" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
2015-11-22 20:03:06 +01:00
add_person ( "Martin Kiewitz" , "m_kiewitz" , "" ) ;
2015-11-21 13:48:50 +01:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Sky" ) ;
add_person ( "Robert Göffringmann" , "lavosspawn" , "(retired)" ) ;
add_person ( "Oliver Kiehl" , "olki" , "(retired)" ) ;
add_person ( "Joost Peters" , "joostp" , "" ) ;
end_section ( ) ;
2020-10-09 19:04:07 +02:00
begin_section ( "Stark" ) ;
add_person ( "Bastien Bouclet" , "bgK" , "" ) ;
add_person ( "Einar Johan T. Sømåen" , "somaen" , "" ) ;
add_person ( "Liu Zhaosong" , "Douglas" , "" ) ;
end_section ( ) ;
2019-08-15 22:27:57 +01:00
begin_section ( "Supernova" ) ;
add_person ( "Joseph-Eugene Winzer" , "Joefish" , "" ) ;
add_person ( "Jaromír Wysoglad" , "Vyzygold" , "" ) ;
add_person ( "Thierry Crozat" , "criezy" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Sword1" ) ;
add_person ( "Fabio Battaglia" , "Hkz" , "PSX version support" ) ;
add_person ( "Thierry Crozat" , "criezy" , "Mac version support" ) ;
add_person ( "Robert Göffringmann" , "lavosspawn" , "(retired)" ) ;
end_section ( ) ;
begin_section ( "Sword2" ) ;
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "" ) ;
add_person ( "Fabio Battaglia" , "Hkz" , "PSX version support" ) ;
add_person ( "Jonathan Gray" , "khalek" , "(retired)" ) ;
end_section ( ) ;
2019-09-13 17:04:11 +02:00
begin_section ( "Sword2.5" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
add_person ( "Max Horn" , "Fingolfin" , "(retired)" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
begin_section ( "TeenAgent" ) ;
add_person ( "Robert Megone" , "sanguine" , "Help with callback rewriting" ) ;
2019-11-03 23:57:42 +01:00
add_person ( "Vladimir Menshakov" , "whoozle" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Tinsel" ) ;
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "" ) ;
add_person ( "Fabio Battaglia" , "Hkz" , "PSX version support" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
add_person ( "Sven Hesse" , "DrMcCoy" , "" ) ;
add_person ( "Max Horn" , "Fingolfin" , "(retired)" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Joost Peters" , "joostp" , "" ) ;
end_section ( ) ;
2017-09-02 10:31:40 -04:00
begin_section ( "Titanic" ) ;
add_person ( "David Fioramonti" , "dafioram" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
add_person ( "Colin Snover" , "" , "" ) ;
end_section ( ) ;
2013-01-02 17:35:19 +02:00
begin_section ( "Toltecs" ) ;
add_person ( "Benjamin Haisch" , "john_doe" , "" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2013-01-02 17:35:19 +02:00
end_section ( ) ;
2012-09-25 23:07:43 +02:00
begin_section ( "Tony" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
add_person ( "Alyssa Milburn" , "fuzzie" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Toon" ) ;
add_person ( "Sylvain Dupont" , "SylvainTV" , "" ) ;
end_section ( ) ;
begin_section ( "Touché" ) ;
2011-12-12 22:04:09 +01:00
add_person ( "Gregory Montoir" , "cyx" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "TsAGE" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
end_section ( ) ;
begin_section ( "Tucker" ) ;
2011-12-12 22:04:09 +01:00
add_person ( "Gregory Montoir" , "cyx" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2020-10-14 15:16:30 +02:00
begin_section ( "TwinE" ) ;
add_person ( "Alexandre Fontoura" , "xesf" , "(retired)" ) ;
add_person ( "Vincent Hamm" , "yaz0r" , "(retired)" ) ;
add_person ( "Felipe Sanches" , "jucablues" , "(retired)" ) ;
add_person ( "Nikita Tereshin" , "rumkex" , "(retired)" ) ;
add_person ( "Patrik Dahlström" , "risca" , "(retired)" ) ;
add_person ( "Arthur Blot" , "arthur.blot78" , "(retired)" ) ;
add_person ( "Kyuubu" , "wett" , "(retired)" ) ;
add_person ( "Toël Hartmann" , "toel__" , "(retired)" ) ;
add_person ( "Sebástien Viannay" , "" , "(retired)" ) ;
add_person ( "Martin Gerhardy" , "mgerhardy" , "" ) ;
end_section ( ) ;
2020-01-29 18:34:28 -08:00
begin_section ( "Ultima" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
2020-03-08 14:47:44 -07:00
add_person ( "Matthew Duggan" , "stauff" , "" ) ;
2020-06-03 20:46:26 -07:00
add_person ( "Matthew Jimenez" , "OMGPizzaGuy" , "" ) ;
2020-03-08 15:27:39 -07:00
2020-04-17 02:41:56 +02:00
add_person ( "Daniel c. Würl" , "dwuerl" , "(Nuvie)" ) ;
2020-01-30 19:26:51 -08:00
add_person ( "Eric Fry" , "yuv422" , "(Nuvie)" ) ;
2020-03-08 15:27:39 -07:00
add_person ( "Jeremy Newman" , "laxdragon" , "(Nuvie)" ) ;
add_person ( "Jonathan E. Wright" , "nelno" , "(Nuvie)" ) ;
add_person ( "Joseph Applegate" , "sb-x" , "(Nuvie)" ) ;
add_person ( "Malignant Manor" , "malignantmanor" , "(Nuvie)" ) ;
2020-03-08 19:30:35 -07:00
add_person ( "Markus Niemistö" , "niemisto" , "(Nuvie)" ) ;
2020-03-08 15:27:39 -07:00
add_person ( "Michael Fink" , "vividos" , "(Nuvie)" ) ;
add_person ( "Pieter Luteijn" , "luteijn" , "(Nuvie)" ) ;
add_person ( "Sam Matthews" , "samuelmatthews" , "(Nuvie)" ) ;
add_person ( "Travis Howell" , "kirben" , "(Nuvie)" ) ;
add_person ( "Willem Jan Palenstijn" , "wjp" , "(Nuvie)" ) ;
add_person ( "Brian Tietz" , "btietz" , "(Pentagram)" ) ;
2020-01-30 19:26:51 -08:00
add_person ( "Dominik Reichardt" , "Dominus Dragon" , "(Pentagram)" ) ;
2020-03-08 15:27:39 -07:00
add_person ( "Max Horn" , "Fingolfin" , "(Pentagram)" ) ;
add_person ( "Patrick Burke" , "takhisis" , "(Pentagram)" ) ;
add_person ( "Ryan Nunn" , "Colourless Dragon" , "(Pentagram)" ) ;
2020-01-29 19:08:34 -08:00
add_person ( "Willem Jan Palenstijn" , "wjp" , "(Pentagram)" ) ;
2020-01-29 18:34:28 -08:00
end_section ( ) ;
2014-05-28 22:40:41 +02:00
begin_section ( "Voyeur" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
end_section ( ) ;
2019-09-13 17:04:11 +02:00
begin_section ( "WAGE" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
2012-09-06 16:47:33 +02:00
begin_section ( "Wintermute" ) ;
2020-10-09 19:04:07 +02:00
add_person ( "Gunnar Birke" , "Fury" , "Wintermute 3D" ) ;
2012-09-06 16:47:33 +02:00
add_person ( "Einar Johan T. Sømåen" , "somaen" , "" ) ;
2014-11-16 11:30:08 +01:00
add_person ( "Tobia Tesan" , "t0by" , "" ) ;
2012-09-06 16:47:33 +02:00
end_section ( ) ;
2016-02-26 22:17:29 +01:00
2018-05-01 19:10:04 -04:00
begin_section ( "Xeen" ) ;
add_person ( "Paul Gilbert" , "dreammaster" , "" ) ;
add_person ( "David Goldsmith" , "WizardStan" , "(analysis)" ) ;
add_person ( "Matt Taylor" , "" , "(analysis)" ) ;
end_section ( ) ;
2015-05-16 19:24:31 +01:00
begin_section ( "Z-Vision" ) ;
2013-10-08 09:49:28 -05:00
add_person ( "Adrian Astley" , "RichieSams" , "" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2014-12-29 12:13:43 +02:00
add_person ( "Anton Yarcev" , "Zidane" , "" ) ;
2013-10-08 09:49:28 -05:00
end_section ( ) ;
2012-09-06 16:47:33 +02:00
2011-01-19 23:05:06 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-09-25 04:08:51 +01:00
begin_section ( "Backend Teams" , "backend_teams" ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Android" ) ;
add_person ( "Andre Heider" , "dhewg" , "" ) ;
add_person ( "Angus Lees" , "Gus" , "" ) ;
2016-05-17 19:30:07 +02:00
add_person ( "Lubomyr Lisen" , "" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Dreamcast" ) ;
add_person ( "Marcus Comstedt" , "" , "" ) ;
end_section ( ) ;
2016-02-26 22:17:29 +01:00
begin_section ( "GCW0" ) ;
add_person ( "Eugene Sandulenko" , "" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "GPH Devices (GP2X, GP2XWiz & Caanoo)" ) ;
add_person ( "John Willis" , "DJWillis" , "" ) ;
end_section ( ) ;
2015-12-02 14:50:40 +01:00
begin_section ( "iPhone / iPad" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Oystein Eftevaag" , "vinterstum" , "" ) ;
2015-12-02 14:50:40 +01:00
add_person ( "Vincent Bénony" , "bSr43" , "" ) ;
2019-08-15 22:27:57 +01:00
add_person ( "Thierry Crozat" , "criezy" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "LinuxMoto" ) ;
add_person ( "Lubomyr Lisen" , "" , "" ) ;
end_section ( ) ;
begin_section ( "Maemo" ) ;
add_person ( "Frantisek Dufka" , "fanoush" , "(retired)" ) ;
add_person ( "Tarek Soliman" , "tsoliman" , "" ) ;
end_section ( ) ;
2016-05-17 19:30:07 +02:00
2016-04-14 00:38:46 -04:00
begin_section ( "Nintendo 3DS" ) ;
add_person ( "Thomas Edvalson" , "Cruel" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Nintendo 64" ) ;
add_person ( "Fabio Battaglia" , "Hkz" , "" ) ;
end_section ( ) ;
begin_section ( "Nintendo DS" ) ;
add_person ( "Bertrand Augereau" , "Tramb" , "HQ software scaler" ) ;
add_person ( "Neil Millstone" , "agent-q" , "" ) ;
end_section ( ) ;
2019-06-06 20:59:49 -05:00
begin_section ( "Nintendo Switch" ) ;
add_person ( "" , "Cpasjuste" , "" ) ;
add_person ( "" , "rsn8887" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "OpenPandora" ) ;
add_person ( "John Willis" , "DJWillis" , "" ) ;
end_section ( ) ;
begin_section ( "PocketPC / WinCE" ) ;
add_person ( "Nicolas Bacca" , "arisme" , "(retired)" ) ;
2019-11-10 17:59:47 +00:00
add_person ( "Ismail Khatib" , "CeRiAl" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Kostas Nakos" , "Jubanka" , "(retired)" ) ;
end_section ( ) ;
begin_section ( "PlayStation 2" ) ;
add_person ( "Robert Göffringmann" , "lavosspawn" , "(retired)" ) ;
add_person ( "Max Lingua" , "sunmax" , "" ) ;
end_section ( ) ;
begin_section ( "PSP (PlayStation Portable)" ) ;
add_person ( "Yotam Barnoy" , "bluddy" , "" ) ;
add_person ( "Joost Peters" , "joostp" , "" ) ;
end_section ( ) ;
2017-03-14 15:05:13 -05:00
begin_section ( "PlayStation Vita" ) ;
add_person ( "" , "Cpasjuste" , "" ) ;
add_person ( "" , "rsn8887" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "SDL (Win/Linux/OS X/etc.)" ) ;
add_person ( "Max Horn" , "Fingolfin" , "(retired)" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "Asm routines, GFX layers" ) ;
end_section ( ) ;
begin_section ( "SymbianOS" ) ;
add_person ( "Jurgen Braam" , "SumthinWicked" , "" ) ;
add_person ( "Lars Persson" , "AnotherGuest" , "" ) ;
2014-06-11 11:48:51 +02:00
add_person ( "Fedor Strizhniou" , "zanac" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2013-06-25 21:08:55 +10:00
begin_section ( "Tizen / BADA" ) ;
add_person ( "Chris Warren-Smith" , "" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "WebOS" ) ;
add_person ( "Klaus Reimer" , "kayahr" , "" ) ;
end_section ( ) ;
begin_section ( "Wii" ) ;
add_person ( "Andre Heider" , "dhewg" , "" ) ;
2020-09-24 12:42:21 +02:00
add_person ( "Alexander Reim" , "AReim1982" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2015-11-19 16:06:23 +01:00
begin_section ( "Raspberry Pi" ) ;
add_person ( "Manuel Alfayate" , "vanfanel" , "" ) ;
end_section ( ) ;
2010-06-24 22:37:30 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Other subsystems" , "other_subsystems" ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Infrastructure" ) ;
add_person ( "Max Horn" , "Fingolfin" , "Backend & Engine APIs, file API, sound mixer, audiostreams, data structures, etc. (retired)" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
2016-09-26 21:33:55 +01:00
add_person ( "Johannes Schickel" , "LordHoto" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "GUI" ) ;
2019-05-09 18:57:50 +02:00
add_person ( "Max Horn" , "Fingolfin" , "(retired)" ) ;
2019-05-12 14:20:04 +03:00
add_person ( "Vicent Marti" , "tanoku" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
2016-09-26 21:33:55 +01:00
add_person ( "Johannes Schickel" , "LordHoto" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Miscellaneous" ) ;
add_person ( "David Corrales-Lopez" , "david_corrales" , "Filesystem access improvements (GSoC 2007 task) (retired)" ) ;
add_person ( "Jerome Fisher" , "KingGuppy" , "MT-32 emulator" ) ;
add_person ( "Benjamin Haisch" , "john_doe" , "Heavily improved de-/encoder for DXA videos" ) ;
add_person ( "Jochen Hoenicke" , "hoenicke" , "Speaker & PCjr sound support, AdLib work (retired)" ) ;
2013-03-04 10:54:02 +02:00
add_person ( "Daniël ter Laan" , "NoiZe" , "Restoring original Drascula tracks, and writing convert_dxa.bat" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Chris Page" , "cp88" , "Return to launcher, savestate improvements, leak fixes, ... (GSoC 2008 task) (retired)" ) ;
add_person ( "Robin Watts" , "robinwatts" , "ARM assembly routines for nice speedups on several ports; improvements to the sound mixer" ) ;
end_section ( ) ;
2010-06-24 22:37:30 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Website (code)" , "web_code" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "Fredrik Wendel" , "" , "(retired)" ) ;
end_persons ( ) ;
2010-06-24 22:37:30 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Website (maintenance)" , "web_maint" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "James Brown" , "Ender" , "IRC Logs maintainer" ) ;
add_person ( "Thierry Crozat" , "criezy" , "Wiki maintainer" ) ;
add_person ( "Andre Heider" , "dhewg" , "Buildbot maintainer" ) ;
add_person ( "Joost Peters" , "JoostP" , "Doxygen Project Documentation maintainer" ) ;
add_person ( "Jordi Vilalta Prat" , "jvprat" , "Wiki maintainer" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "Forum, IRC channel, Screen Shots and Mailing list maintainer" ) ;
add_person ( "John Willis" , "DJWillis" , "" ) ;
2018-08-07 21:14:22 -04:00
add_person ( "Matan Bareket" , "mataniko" , "Site maintainer" ) ;
2011-10-08 13:23:48 -05:00
end_persons ( ) ;
2010-07-12 15:50:48 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Website (content)" , "web_content" ) ;
2011-10-08 13:23:48 -05:00
add_paragraph ( "All active team members" ) ;
2011-01-19 23:05:06 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Documentation" , "docs" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "Thierry Crozat" , "criezy" , "Numerous contributions to documentation" ) ;
add_person ( "Joachim Eberhard" , "joachimeberhard" , "Numerous contributions to documentation (retired)" ) ;
2016-05-20 22:28:23 +02:00
add_person ( "Matthew Hoops" , "clone2727" , "Numerous contributions to documentation (retired)" ) ;
2021-04-21 17:01:54 +12:00
add_person ( "Cadi Howley" , "cadih" , "User documentation (GSOD 2020)" ) ;
2011-10-08 13:23:48 -05:00
end_persons ( ) ;
2010-12-12 00:24:19 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Retired Team Members" , "retired_members" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "Chris Apers" , "chrilith " , "Former PalmOS porter" ) ;
add_person ( "Ralph Brorsen" , "painelf" , "Help with GUI implementation" ) ;
add_person ( "Jamieson Christian" , "jamieson630" , "iMUSE, MIDI, all things musical" ) ;
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 ( "Lionel Ulmer" , "bbrox" , "Port: X11" ) ;
add_person ( "Won Star" , "wonst719" , "Former GP32 porter" ) ;
end_persons ( ) ;
2011-01-22 16:46:32 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2018-09-25 04:08:51 +01:00
begin_section ( "Other contributions" , "other_contrib" ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Packages" , "packages" ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "AmigaOS 4" ) ;
add_person ( "Hans-Jörg Frieden" , "" , "(retired)" ) ;
2020-08-27 23:10:35 +02:00
add_person ( "Hubert Maier" , "raziel-" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Juha Niemimäki" , "" , "(retired)" ) ;
end_section ( ) ;
begin_section ( "Atari/FreeMiNT" ) ;
add_person ( "Keith Scroggins" , "KeithS" , "" ) ;
end_section ( ) ;
begin_section ( "BeOS" ) ;
2014-07-11 15:40:16 +02:00
add_person ( "Stefan Parviainen" , "" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Luc Schrijvers" , "Begasus" , "" ) ;
end_section ( ) ;
begin_section ( "Debian GNU/Linux" ) ;
add_person ( "Tore Anderson" , "tore" , "(retired)" ) ;
add_person ( "David Weinehall" , "tao" , "" ) ;
end_section ( ) ;
begin_section ( "Fedora / RedHat" ) ;
add_person ( "Willem Jan Palenstijn" , "wjp" , "" ) ;
end_section ( ) ;
2014-07-11 15:46:25 +02:00
begin_section ( "Haiku" ) ;
add_person ( "Luc Schrijvers" , "Begasus" , "" ) ;
end_section ( ) ;
2019-08-15 22:27:57 +01:00
begin_section ( "macOS" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Max Horn" , "Fingolfin" , "(retired)" ) ;
add_person ( "Oystein Eftevaag" , "vinterstum" , "" ) ;
2016-04-02 13:32:49 +01:00
add_person ( "Thierry Crozat" , "criezy" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Mandriva" ) ;
add_person ( "Dominik Scherer" , "" , "(retired)" ) ;
end_section ( ) ;
begin_section ( "MorphOS" ) ;
2020-08-30 16:33:22 +02:00
add_person ( "" , "BeWorld" , "" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Fabien Coeurjoly" , "fab1" , "" ) ;
add_person ( "Rüdiger Hanke" , "" , "(retired)" ) ;
end_section ( ) ;
begin_section ( "OS/2" ) ;
add_person ( "Paul Smedley" , "Creeping" , "" ) ;
end_section ( ) ;
2017-11-19 12:22:41 +00:00
begin_section ( "RISC OS" ) ;
add_person ( "Cameron Cawley" , "ccawley2011" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "SlackWare" ) ;
add_person ( "Robert Kelsen" , "" , "" ) ;
end_section ( ) ;
begin_section ( "Solaris x86" ) ;
add_person ( "Laurent Blume" , "laurent" , "" ) ;
end_section ( ) ;
begin_section ( "Solaris SPARC" ) ;
add_person ( "Markus Strangl" , "WooShell" , "" ) ;
end_section ( ) ;
begin_section ( "Win32" ) ;
add_person ( "Travis Howell" , "Kirben" , "" ) ;
end_section ( ) ;
begin_section ( "Win64" ) ;
add_person ( "Chris Gray" , "Psychoid" , "(retired)" ) ;
2016-09-26 21:33:55 +01:00
add_person ( "Johannes Schickel" , "LordHoto" , "(retired)" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2010-11-21 22:12:31 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "GUI Translations" , "gui_translations" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "Thierry Crozat" , "criezy" , "Translation Lead" ) ;
end_persons ( ) ;
2012-03-11 13:20:42 +00:00
begin_section ( "Basque" ) ;
add_person ( "Mikel Iturbe Urretxa" , "" , "" ) ;
end_section ( ) ;
2012-12-13 23:47:39 +00:00
begin_section ( "Belarusian" ) ;
add_person ( "Ivan Lukyanov" , "" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Catalan" ) ;
add_person ( "Jordi Vilalta Prat" , "jvprat" , "" ) ;
end_section ( ) ;
begin_section ( "Czech" ) ;
add_person ( "Zbynìk Schwarz" , "" , "" ) ;
end_section ( ) ;
begin_section ( "Danish" ) ;
add_person ( "Steffen Nyeland" , "" , "" ) ;
2020-08-30 15:43:20 +01:00
add_person ( "" , "scootergrisen" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2014-08-27 09:15:11 +02:00
begin_section ( "Dutch" ) ;
add_person ( "Ben Castricum" , "" , "" ) ;
end_section ( ) ;
2012-12-01 18:03:40 +00:00
begin_section ( "Finnish" ) ;
add_person ( "Toni Saarela" , "catnose" , "" ) ;
2020-08-30 15:43:20 +01:00
add_person ( "Timo Mikkolainen" , "timpii" , "" ) ;
2012-12-01 18:03:40 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "French" ) ;
add_person ( "Thierry Crozat" , "criezy" , "" ) ;
2020-08-30 15:43:20 +01:00
add_person ( "" , "Purple T" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2012-08-27 11:42:29 +01:00
begin_section ( "Galician" ) ;
add_person ( "Santiago G. Sanz" , "sgsanz" , "" ) ;
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "German" ) ;
add_person ( "Simon Sawatzki" , "SimSaw" , "" ) ;
2018-06-26 09:15:24 +02:00
add_person ( "Lothar Serra Mari" , "lotharsm" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2020-08-30 15:43:20 +01:00
begin_section ( "Greek" ) ;
add_person ( "Thanasis Antoniou" , "Praetorian" , "" ) ;
2020-12-19 02:06:44 +02:00
add_person ( "Filippos Karapetis" , "bluegr" , "" ) ;
2020-08-30 15:43:20 +01:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
begin_section ( "Hungarian" ) ;
add_person ( "Alex Bevilacqua" , "" , "" ) ;
add_person ( "George Kormendi" , "GoodOldGeorg" , "" ) ;
end_section ( ) ;
begin_section ( "Italian" ) ;
add_person ( "Matteo Angelino" , "Maff" , "" ) ;
2020-08-30 15:43:20 +01:00
add_person ( "Paolo Bossi" , "" , "" ) ;
add_person ( "Walter Agazzi" , "tag2015" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Norwegian (Bokmål)" ) ;
2012-07-04 02:27:39 +02:00
add_person ( "Einar Johan Sømåen" , "somaen" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Norwegian (Nynorsk)" ) ;
2012-07-04 02:27:39 +02:00
add_person ( "Einar Johan Sømåen" , "somaen" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Polish" ) ;
add_person ( "GrajPoPolsku.pl Team" , "" , "" ) ;
end_section ( ) ;
begin_section ( "Brazilian Portuguese" ) ;
add_person ( "ScummBR Team" , "" , "" ) ;
2020-08-30 15:43:20 +01:00
add_person ( "Marcel Souza Lemes" , "marcosoutsider" , "" ) ;
end_section ( ) ;
begin_section ( "Portuguese" ) ;
add_person ( "Daniel" , "SupSuper" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Russian" ) ;
add_person ( "Eugene Sandulenko" , "sev" , "" ) ;
end_section ( ) ;
begin_section ( "Spanish" ) ;
add_person ( "Tomás Maidagan" , "" , "" ) ;
2011-10-16 01:01:36 +02:00
add_person ( "Jordi Vilalta Prat" , "jvprat" , "" ) ;
2020-08-30 15:43:20 +01:00
add_person ( "" , "IlDucci" , "" ) ;
add_person ( "Rodrigo Vegas Sánchez-Ferrero" , "" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Swedish" ) ;
add_person ( "Hampus Flink" , "" , "" ) ;
2020-08-30 15:43:20 +01:00
add_person ( "Adrian Frühwirth" , "bonki" , "" ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
begin_section ( "Ukrainian" ) ;
add_person ( "Lubomyr Lisen" , "" , "" ) ;
end_section ( ) ;
2010-08-01 21:41:43 +00:00
end_section ( ) ;
2018-08-07 21:08:55 -04:00
begin_section ( "Game Translations" , "game_translations" ) ;
2013-10-30 21:56:16 +00:00
begin_section ( "CGE" ) ;
add_person ( "Dan Serban" , "nutron" , "Soltys English translation" ) ;
add_person ( "Víctor González" , "IlDucci" , "Soltys Spanish translation" ) ;
add_person ( "Alejandro Gómez de la Muñoza" , "TheFireRed" , "Soltys Spanish translation" ) ;
end_section ( ) ;
2014-12-21 18:26:40 +00:00
begin_section ( "CGE2" ) ;
add_person ( "Arnaud Boutonné" , "Strangerke" , "Sfinx English translation" ) ;
add_person ( "Thierry Crozat" , "criezy" , "Sfinx English translation" ) ;
add_person ( "Peter Bozsó" , "uruk" , "Sfinx English translation editor" ) ;
add_person ( "Ryan Clark" , "" , "Sfinx English translation editor" ) ;
end_section ( ) ;
2013-10-30 21:56:16 +00:00
begin_section ( "Drascula" ) ;
add_person ( "Thierry Crozat" , "criezy" , "Improve French translation" ) ;
end_section ( ) ;
begin_section ( "Mortevielle" ) ;
add_person ( "Hugo Labrande" , "" , "Improve English translation" ) ;
add_person ( "Thierry Crozat" , "criezy" , "Improve English translation" ) ;
end_section ( ) ;
2019-08-15 22:27:57 +01:00
begin_section ( "Supernova" ) ;
add_person ( "Joseph-Eugene Winzer" , "Joefish" , "English translation" ) ;
add_person ( "Thierry Crozat" , "criezy" , "English translation" ) ;
2020-09-07 02:09:07 +01:00
add_person ( "Walter Agazzi" , "" , "Italian translation" ) ;
2019-08-15 22:27:57 +01:00
end_section ( ) ;
2013-10-30 21:56:16 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Websites (design)" , "web_design" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "Dobó Balázs" , "draven" , "Website design" ) ;
add_person ( "William Claydon" , "billwashere" , "Skins for doxygen, buildbot and wiki" ) ;
add_person ( "Yaroslav Fedevych" , "jafd" , "HTML/CSS for the website" ) ;
add_person ( "Jean Marc Gimenez" , "" , "ScummVM logo" ) ;
add_person ( "David Jensen" , "Tyst" , "SVG logo conversion" ) ;
add_person ( "" , "Raina" , "ScummVM forum buttons" ) ;
end_persons ( ) ;
2010-08-01 21:41:43 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Code contributions" , "code_contrib" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "Ori Avtalion" , "salty-horse" , "Subtitle control options in the GUI; BASS GUI fixes" ) ;
add_person ( "Stuart Caie" , "" , "Decoders for Amiga and AtariST data files (AGOS engine)" ) ;
add_person ( "Paolo Costabel" , "" , "PSP port contributions" ) ;
add_person ( "Martin Doucha" , "next_ghost" , "CinE engine objectification" ) ;
add_person ( "Thomas Fach-Pedersen" , "madmoose" , "ProTracker module player, Smacker video decoder" ) ;
add_person ( "Tobias Gunkel" , "hennymcc" , "Sound support for C64 version of MM/Zak, Loom PCE support" ) ;
2020-10-09 19:04:07 +02:00
add_person ( "Dries Harnie" , "Botje" , "Android port for ResidualVM" ) ;
2011-10-08 13:23:48 -05:00
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" , "japj" , "Numerous readability and bugfix patches" ) ;
2021-03-17 17:27:40 +01:00
add_person ( "Keith Kaisershot" , "blitter" , "Several Pegasus Prime patches and DVD additions" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Andreas Karlsson" , "Sprawl" , "Initial port for SymbianOS" ) ;
2015-03-05 01:08:02 +01:00
add_person ( "Stefan Kristiansson" , "skristiansson" , "Initial work on SDL2 support" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Claudio Matsuoka" , "" , "Daily Linux builds" ) ;
add_person ( "Thomas Mayer" , "" , "PSP port contributions" ) ;
add_person ( "Sean Murray" , "lightcast" , "ScummVM tools GUI application (GSoC 2007 task)" ) ;
add_person ( "" , "n0p" , "Windows CE port aspect ratio correction scaler and right click input method" ) ;
add_person ( "Mikesch Nepomuk" , "mnepomuk" , "MI1 VGA floppy patches" ) ;
add_person ( "Nicolas Noble" , "pixels" , "Config file and ALSA support" ) ;
add_person ( "Tim Phillips" , "realmz" , "Initial MI1 CD music support" ) ;
add_person ( "" , "Quietust" , "Sound support for Amiga SCUMM V2/V3 games, MM NES support" ) ;
add_person ( "Robert Crossfield" , "segra" , "Improved support for Apple II/C64 versions of MM" ) ;
add_person ( "Andreas Röver" , "" , "Broken Sword I & II MPEG2 cutscene support" ) ;
add_person ( "Edward Rudd" , "urkle" , "Fixes for playing MP3 versions of MI1/Loom audio" ) ;
add_person ( "Daniel Schepler" , "dschepler" , "Final MI1 CD music support, initial Ogg Vorbis support" ) ;
add_person ( "André Souza" , "luke_br" , "SDL-based OpenGL renderer" ) ;
2021-01-24 16:24:30 +00:00
add_person ( "Joel Teichroeb" , "klusark" , "Android port for ResidualVM" ) ;
2012-01-28 11:19:39 +01:00
add_person ( "Tom Frost" , "TomFrost" , "WebOS port contributions" ) ;
2011-10-08 13:23:48 -05:00
end_persons ( ) ;
2011-03-22 08:45:00 +00:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
2018-09-25 04:08:51 +01:00
begin_section ( "FreeSCI Contributors" , "freesci_contrib" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
add_person ( "Francois-R Boyer" , "" , "MT-32 information and mapping code" ) ;
add_person ( "Rainer Canavan" , "" , "IRIX MIDI driver and bug fixes" ) ;
add_person ( "Xiaojun Chen" , "" , "" ) ;
add_person ( "Paul David Doherty" , "" , "Game version information" ) ;
add_person ( "Vyacheslav Dikonov" , "" , "Config script improvements" ) ;
add_person ( "Ruediger Hanke" , "" , "Port to the MorphOS platform" ) ;
add_person ( "Matt Hargett" , "" , "Clean-ups, bugfixes, Hardcore QA, Win32" ) ;
add_person ( "Max Horn" , "" , "SetJump implementation" ) ;
add_person ( "Ravi I." , "" , "SCI0 sound resource specification" ) ;
add_person ( "Emmanuel Jeandel" , "" , "Bugfixes and bug reports" ) ;
add_person ( "Dmitry Jemerov" , "" , "Port to the Win32 platform, numerous bugfixes" ) ;
add_person ( "Chris Kehler" , "" , "Makefile enhancements" ) ;
add_person ( "Christopher T. Lansdown" , "" , "Original CVS maintainer, Alpha compatibility fixes" ) ;
add_person ( "Sergey Lapin" , "" , "Port of Carl's type 2 decompression code" ) ;
add_person ( "Rickard Lind" , "" , "MT-32->GM MIDI mapping magic, sound research" ) ;
add_person ( "Hubert Maier" , "" , "AmigaOS 4 port" ) ;
add_person ( "Johannes Manhave" , "" , "Document format translation" ) ;
add_person ( "Claudio Matsuoka" , "" , "CVS snapshots, daily builds, BeOS and cygwin ports" ) ;
add_person ( "Dark Minister" , "" , "SCI research (bytecode and parser)" ) ;
add_person ( "Carl Muckenhoupt" , "" , "Sources to the SCI resource viewer tools that started it all" ) ;
add_person ( "Anders Baden Nielsen" , "" , "PPC testing" ) ;
add_person ( "Walter van Niftrik" , "" , "Ports to the Dreamcast and GP32 platforms" ) ;
add_person ( "Rune Orsval" , "" , "Configuration file editor" ) ;
add_person ( "Solomon Peachy" , "" , "SDL ports and much of the sound subsystem" ) ;
add_person ( "Robey Pointer" , "" , "Bug tracking system hosting" ) ;
add_person ( "Magnus Reftel" , "" , "Heap implementation, Python class viewer, bugfixes" ) ;
add_person ( "Christoph Reichenbach" , "" , "UN*X code, VM/Graphics/Sound/other infrastructure" ) ;
add_person ( "George Reid" , "" , "FreeBSD package management" ) ;
add_person ( "Lars Skovlund" , "" , "Project maintenance, most documentation, bugfixes, SCI1 support" ) ;
add_person ( "Rink Springer" , "" , "Port to the DOS platform, several bug fixes" ) ;
add_person ( "Rainer De Temple" , "" , "SCI research" ) ;
add_person ( "Sean Terrell" , "" , "" ) ;
add_person ( "Hugues Valois" , "" , "Game selection menu" ) ;
add_person ( "Jordi Vilalta" , "" , "Numerous code and website clean-up patches" ) ;
add_person ( "Petr Vyhnak" , "" , "The DCL-INFLATE algorithm, many Win32 improvements" ) ;
add_person ( "Bas Zoetekouw" , "" , "Man pages, debian package management, CVS maintenance" ) ;
end_persons ( ) ;
add_paragraph ( "Special thanks to Prof. Dr. Gary Nutt " .
2019-10-08 20:23:31 -04:00
"for allowing the FreeSCI VM extension as a " .
"course project in his Advanced OS course." ) ;
2011-10-08 13:23:48 -05:00
add_paragraph ( "Special thanks to Bob Heitman and Corey Cole for their support of FreeSCI." ) ;
2010-06-24 22:37:30 +00:00
end_section ( ) ;
2005-12-19 02:23:01 +00:00
2021-01-24 16:24:30 +00:00
begin_section ( "ResidualVM Contributors" , "residualvm_contrib" ) ;
begin_section ( "Grim" ) ;
2020-10-09 19:04:07 +02:00
add_person ( "Thomas Allen" , "olldray" , "Various engine code fixes and improvements" ) ;
add_person ( "Torbjörn Andersson" , "eriktorbjorn" , "Various code fixes" ) ;
add_person ( "Ori Avtalion" , "salty-horse" , "Lipsync, LAF support, various code fixes" ) ;
add_person ( "Robert Biro" , "DarthJDG" , "Antialiasing support" ) ;
add_person ( "Bastien Bouclet" , "bgK" , "Various fixes to engine" ) ;
add_person ( "David Cardwell" , "d356" , "Few fixes to EMI" ) ;
add_person ( "Marcus Comstedt" , "marcus_c" , "Initial Dreamcast port" ) ;
add_person ( "Andrea Corna" , "Yak Bizzarro" , "Patcher module, various engine improvements" ) ;
add_person ( "Jonathan Gray" , "khalek" , "Various code fixes" ) ;
add_person ( "Tobias Gunkel" , "tobigun" , "Initial Android port, few engines fixes" ) ;
add_person ( "Azamat H. Hackimov" , "winterheart" , "Configure fix" ) ;
add_person ( "Vincent Hamm" , "yazoo" , "Various engine code fixes and improvements" ) ;
add_person ( "Sven Hesse" , "DrMcCoy" , "Various compilation fixes" ) ;
add_person ( "Matthew Hoops" , "clone2727" , "Smush codec48, Grim and EMI engine improvements" ) ;
add_person ( "Erich Hoover" , "Compholio" , "x86-64 fixes, various code fixes and improvements" ) ;
add_person ( "Max Horn" , "fingolfin" , "Few code fixes" ) ;
add_person ( "Travis Howell" , "Kirben" , "Various code fixes, Windows port" ) ;
add_person ( "Joseph Jezak" , "JoseJX" , "A lot of engine improvements and fixes" ) ;
add_person ( "Guillem Jover" , "guillemj" , "Few code improvements" ) ;
add_person ( "Filippos Karapetis" , "bluegr" , "Compilation fixes" ) ;
add_person ( "Ingo van Lil" , "inguin" , "Various fixes and improvements for EMI" ) ;
add_person ( "Vincent Pelletier" , "vpelletier" , "Various engine and TinyGL improvements" ) ;
add_person ( "Joost Peters" , "joostp" , "Various code fixes" ) ;
add_person ( "George Macon" , "gmacon" , "Few fixes" ) ;
add_person ( "Josh Matthews" , "jdm" , "Few fixes to engine" ) ;
add_person ( "Matthieu Milan" , "usineur" , "Various engine improvements" ) ;
add_person ( "Gregory Montoir" , "cyx" , "Few fixes to engine" ) ;
add_person ( "Stefano Musumeci" , "subr3v" , "TinyGL backend and engine driver improvements" ) ;
add_person ( "Christian Neumair" , "mannythegnome" , "Various optimisation patches" ) ;
add_person ( "Daniel Schepler" , "" , "Initial grim engine contributor, LUA support" ) ;
add_person ( "Dmitry Smirnov" , "onlyjob" , "Minor spelling corrections" ) ;
add_person ( "Yaron Tausky" , "yaront" , "Fixes to subtitles" ) ;
add_person ( "Julien Templier" , "Littleboy" , "create_project tool" ) ;
add_person ( "Pino Toscano" , "pinotree" , "Debian GNU/Linux package files" ) ;
add_person ( "Lionel Ulmer" , "bbrox" , "OpenGL optimisations" ) ;
add_person ( "" , "cmayer0087" , "Various engine code fixes" ) ;
add_person ( "" , "JenniBee" , "Compilation fixes" ) ;
add_person ( "" , "karjonas" , "Various engine code fixes" ) ;
add_person ( "" , "mparnaudeau" , "Various grim engine code fixes" ) ;
add_person ( "" , "PoulpiFr" , "Few fixes to Android port" ) ;
add_person ( "" , "sietschie" , "Few fixes to engine" ) ;
2021-01-24 16:24:30 +00:00
end_section ( ) ;
2020-10-09 19:04:07 +02:00
2021-01-24 16:24:30 +00:00
begin_section ( "Myst 3" ) ;
2020-10-09 19:04:07 +02:00
add_person ( "David Fioramonti" , "dafioram" , "Autosave support and few fixes" ) ;
add_person ( "Matthew Hoops" , "clone2727" , "Various engine improvements and code fixes" ) ;
add_person ( "Stefano Musumeci" , "subr3v" , "TinyGL engine support" ) ;
2021-01-24 16:24:30 +00:00
end_section ( ) ;
2020-10-09 19:04:07 +02:00
2021-01-24 16:24:30 +00:00
begin_section ( "Stark" ) ;
2020-10-09 19:04:07 +02:00
add_person ( "Bartosz Dudziak" , "Snejp" , "Various engine improvements and code fixes" ) ;
add_person ( "Matthew Hoops" , "clone2727" , "ADPCM decoder" ) ;
add_person ( "Paweł Kołodziejski" , "aquadran" , "Various engine code fixes" ) ;
add_person ( "Awad Mackie" , "firesock" , "Few fixes to engine" ) ;
add_person ( "Marius Ioan Orban" , "mj0331" , "Code fix" ) ;
add_person ( "Vincent Pelletier" , "vpelletier" , "Raw sound support" ) ;
add_person ( "Jordi Vilalta Prat" , "jvprat" , "Initial engine contributor" ) ;
add_person ( "Scott Thomas" , "ST" , "Initial engine author" ) ;
add_person ( "Will Thomson" , "wlthomson" , "Few fixes to engine" ) ;
add_person ( "" , "Faalagorn" , "Few code improvements" ) ;
add_person ( "" , "orangeforest11" , "Few engine improvements" ) ;
2021-01-24 16:24:30 +00:00
end_section ( ) ;
2020-10-09 19:04:07 +02:00
end_section ( ) ;
2011-10-08 13:23:48 -05:00
add_paragraph ( "And to all the contributors, users, and beta testers we've missed. Thanks!" ) ;
2005-12-19 02:23:01 +00:00
end_section ( ) ;
2009-07-30 20:46:43 +00:00
2011-10-08 13:23:48 -05:00
# HACK!
2012-09-06 17:46:28 +02:00
$ max_name_width = 17 ;
2011-10-08 13:23:48 -05:00
2018-08-07 21:08:55 -04:00
begin_section ( "Special thanks to" , "special_thanks" ) ;
2011-10-08 13:23:48 -05:00
begin_persons ( ) ;
2012-01-31 21:32:17 +02:00
add_person ( "Daniel Balsom" , "DanielFox" , "For the original Reinherit (SAGA) code" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Sander Buskens" , "" , "For his work on the initial reversing of Monkey2" ) ;
2016-09-03 00:34:28 +03:00
add_person ( "Dean Beeler" , "Canadacow" , "For the original MT-32 emulator" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Kevin Carnes" , "" , "For Scumm16, the basis of ScummVM's older gfx codecs" ) ;
add_person ( "Curt Coder" , "" , "For the original TrollVM (preAGI) code" ) ;
add_person ( "Patrick Combet" , "Dorian Gray" , "For the original Gobliiins ADL player" ) ;
add_person ( "Ivan Dubrov" , "" , "For contributing the initial version of the Gobliiins engine" ) ;
add_person ( "Henrik Engqvist" , "qvist" , "For generously providing hosting for our buildbot, SVN repository, planet and doxygen sites as well as tons of HD space" ) ;
add_person ( "DOSBox Team" , "" , "For their awesome OPL2 and OPL3 emulator" ) ;
2014-10-28 16:01:35 +02:00
add_person ( "Yusuke Kamiyamane" , "" , "For contributing some GUI icons" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Till Kresslein" , "Krest" , "For design of modern ScummVM GUI" ) ;
2016-09-03 00:34:28 +03:00
add_person ( "Jezar Wakefield" , "" , "For his freeverb filter implementation" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Jim Leiterman" , "" , "Various info on his FM-TOWNS/Marty SCUMM ports" ) ;
2016-09-03 00:34:28 +03:00
add_person ( "Lloyd Rosen" , "" , "For deep tech details about C64 Zak & MM" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "Sarien Team" , "" , "Original AGI engine code" ) ;
add_person ( "Jimmi Thøgersen" , "" , "For ScummRev, and much obscure code/documentation" ) ;
2016-09-03 00:34:28 +03:00
add_person ( "Tristan Matthews" , "" , "For additional work on the original MT-32 emulator" ) ;
2011-10-08 13:23:48 -05:00
add_person ( "James Woodcock" , "" , "Soundtrack enhancements" ) ;
2015-05-16 19:24:31 +01:00
add_person ( "Anton Yartsev" , "Zidane" , "For the original re-implementation of the Z-Vision engine" ) ;
2011-10-08 13:23:48 -05:00
end_persons ( ) ;
2019-10-08 20:23:31 -04:00
add_paragraph (
"Tony Warriner and everyone at Revolution Software Ltd. for sharing " .
"with us the source of some of their brilliant games, allowing us to " .
"release Beneath a Steel Sky as freeware... and generally being " .
"supportive above and beyond the call of duty." ) ;
add_paragraph (
"John Passfield and Steve Stamatiadis for sharing the source of their " .
"classic title, Flight of the Amazon Queen and also being incredibly " .
"supportive." ) ;
add_paragraph (
"Joe Pearce from The Wyrmkeep Entertainment Co. for sharing the source " .
"of their famous title Inherit the Earth, for sharing the source of The Labyrinth of Time " .
"and for always replying promptly to our questions." ) ;
add_paragraph (
"Aric Wilmunder, Ron Gilbert, David Fox, Vince Lee, and all those at " .
"LucasFilm/LucasArts who made SCUMM the insane mess to reimplement " .
"that it is today. Feel free to drop us a line and tell us what you " .
"think, guys!" ) ;
add_paragraph (
"Alan Bridgman, Simon Woodroffe and everyone at Adventure Soft for " .
"sharing the source code of some of their games with us." ) ;
add_paragraph (
"John Young, Colin Smythe and especially Terry Pratchett himself for " .
"sharing the source code of Discworld I & II with us." ) ;
add_paragraph (
"Emilio de Paz Aragón from Alcachofa Soft for sharing the source code " .
"of Drascula: The Vampire Strikes Back with us and his generosity with " .
"freewaring the game." ) ;
add_paragraph (
"David P. Gray from Gray Design Associates for sharing the source code " .
"of the Hugo trilogy." ) ;
add_paragraph (
2020-04-19 00:13:59 +02:00
"The mindFactory team for writing Broken Sword 2.5, a splendid fan-made sequel, and for sharing " .
"the source code with us." ) ;
2019-10-08 20:23:31 -04:00
add_paragraph (
"Neil Dodwell and David Dew from Creative Reality for providing the source " .
"of Dreamweb and for their tremendous support." ) ;
add_paragraph (
"Janusz Wiśniewski and Miroslaw Liminowicz from Laboratorium Komputerowe Avalon " .
"for providing full source code for Sołtys and Sfinx and letting us redistribute the games." ) ;
add_paragraph (
"Jan Nedoma for providing the sources to the Wintermute-engine, and for his " .
"support while porting the engine to ScummVM." ) ;
add_paragraph (
2021-03-16 22:23:55 +01:00
"Bob Bell, David Black, Michel Kripalani, and Tommy Yune from Presto Studios " .
"for providing the source code of The Journeyman Project: Pegasus Prime " .
"and The Journeyman Project 2: Buried in Time." ) ;
2019-10-08 20:23:31 -04:00
add_paragraph (
"Electronic Arts IP Preservation Team, particularly Stefan Serbicki, and Vasyl Tsvirkunov of " .
"Electronic Arts for providing the source code of the two Lost Files of Sherlock Holmes games. " .
"James M. Ferguson and Barry Duncan for their tenacious efforts to recover the sources." ) ;
add_paragraph (
2020-04-19 00:13:59 +02:00
"John Romero for sharing the source code of Hyperspace Delivery Boy! with us." ) ;
2019-10-08 20:23:31 -04:00
add_paragraph (
2020-04-19 00:13:59 +02:00
"Steffen Dingel for sharing the source code of the Mission Supernova game with us." ) ;
2015-12-06 22:57:03 +01:00
2020-10-09 19:04:07 +02:00
add_paragraph (
"The LUA developers, for creating a nice compact script interpreter." ) ;
add_paragraph (
"Tim Schafer, for obvious reasons, and everybody else who helped make " .
"Grim Fandango a brilliant game; and the EMI team for giving it their " .
"best try." ) ;
add_paragraph (
"Bret Mogilefsky, for managing to create a SPUTM-style 3D LUA engine, " .
"and avoiding the horrible hack it could have been." ) ;
add_paragraph (
"Benjamin Haisch, for emimeshviewer, which our EMI code borrows heavily from." ) ;
2011-10-08 13:23:48 -05:00
end_section ( ) ;
2005-12-19 02:23:01 +00:00
2004-12-24 00:59:56 +00:00
end_credits ( ) ;