parent
1504115c14
commit
bcf2c75513
74
binaries/data/mods/public/gui/credits/credits.js
Normal file
74
binaries/data/mods/public/gui/credits/credits.js
Normal file
@ -0,0 +1,74 @@
|
||||
var g_PanelNames = ["special", "programming", "art", "translators", "misc", "donators"];
|
||||
var g_PanelTexts = [];
|
||||
var g_ActivePanel = -1;
|
||||
|
||||
function init()
|
||||
{
|
||||
// Load credits list from the disk and parse them
|
||||
for (let name of g_PanelNames)
|
||||
g_PanelTexts.push(parseJSONCredits(name));
|
||||
|
||||
selectPanel(0);
|
||||
}
|
||||
|
||||
// Run through a "Content" list and parse elements for formatting and translation
|
||||
function parseHelper(list)
|
||||
{
|
||||
let result = "";
|
||||
|
||||
for (let object of list)
|
||||
{
|
||||
if (object.Title)
|
||||
result += "[font=\"sans-bold-stroke-14\"]" + translate(object.Title) + "\n";
|
||||
|
||||
if (object.Subtitle)
|
||||
result += "[font=\"sans-bold-14\"]" + translate(object.Subtitle) + "\n";
|
||||
|
||||
if (object.List)
|
||||
{
|
||||
for (let element of object.List)
|
||||
{
|
||||
if (element.nick && element.name)
|
||||
result += "[font=\"sans-14\"]" + sprintf(translate("%(nick)s - %(name)s"), { "nick": element.nick, "name": element.name }) + "\n";
|
||||
else if (element.nick)
|
||||
result += "[font=\"sans-14\"]" + element.nick + "\n";
|
||||
else if (element.name)
|
||||
result += "[font=\"sans-14\"]" + element.name + "\n";
|
||||
}
|
||||
result += "\n";
|
||||
}
|
||||
|
||||
if (object.Content)
|
||||
result += "\n" + parseHelper(object.Content) + "\n";
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
function parseJSONCredits(panelName)
|
||||
{
|
||||
let json = Engine.ReadJSONFile("gui/credits/texts/" + panelName + ".json");
|
||||
if (!json || !json.Content)
|
||||
{
|
||||
error("Could not load credits for " + panelName + "!");
|
||||
return "";
|
||||
}
|
||||
|
||||
return parseHelper(json.Content);
|
||||
}
|
||||
|
||||
function selectPanel(i)
|
||||
{
|
||||
if (g_ActivePanel != -1)
|
||||
{
|
||||
let oldPanelButton = Engine.GetGUIObjectByName(g_PanelNames[g_ActivePanel] + "PanelButton");
|
||||
oldPanelButton.sprite = "BackgroundBox";
|
||||
}
|
||||
|
||||
g_ActivePanel = i;
|
||||
let newPanelButton = Engine.GetGUIObjectByName(g_PanelNames[g_ActivePanel] + "PanelButton");
|
||||
newPanelButton.sprite = "ForegroundBox";
|
||||
|
||||
let creditsText = Engine.GetGUIObjectByName("creditsText");
|
||||
creditsText.caption = g_PanelTexts[i];
|
||||
}
|
75
binaries/data/mods/public/gui/credits/credits.xml
Normal file
75
binaries/data/mods/public/gui/credits/credits.xml
Normal file
@ -0,0 +1,75 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<!--
|
||||
==========================================
|
||||
- CREDITS PAGE -
|
||||
==========================================
|
||||
-->
|
||||
|
||||
<objects>
|
||||
<script file="gui/common/functions_global_object.js"/>
|
||||
<script file="gui/credits/credits.js"/>
|
||||
|
||||
<!-- Add a translucent black background to fade out the menu page -->
|
||||
<object type="image" z="0" sprite="ModernFade"/>
|
||||
|
||||
<object type="image" style="ModernDialog" size="50%-473 24 50%+473 100%-24">
|
||||
<object style="ModernLabelText" type="text" size="50%-128 -18 50%+128 14">
|
||||
<translatableAttribute id="caption">0 A.D. Credits</translatableAttribute>
|
||||
</object>
|
||||
|
||||
<object name="specialPanelButton" type="button" sprite="BackgroundBox" size="20 50 150 80">
|
||||
<action on="Press">selectPanel(0);</action>
|
||||
<object type="text" style="ModernLabelText" ghost="true">
|
||||
<translatableAttribute id="caption">Special Credits</translatableAttribute>
|
||||
</object>
|
||||
</object>
|
||||
|
||||
<object name="programmingPanelButton" type="button" sprite="BackgroundBox" size="155 50 305 80">
|
||||
<action on="Press">selectPanel(1);</action>
|
||||
<object type="text" style="ModernLabelText" ghost="true">
|
||||
<translatableAttribute id="caption">Programming</translatableAttribute>
|
||||
</object>
|
||||
</object>
|
||||
|
||||
<object name="artPanelButton" type="button" sprite="BackgroundBox" size="310 50 460 80">
|
||||
<action on="Press">selectPanel(2);</action>
|
||||
<object type="text" style="ModernLabelText" ghost="true">
|
||||
<translatableAttribute id="caption">Art</translatableAttribute>
|
||||
</object>
|
||||
</object>
|
||||
|
||||
<object name="translatorsPanelButton" type="button" sprite="BackgroundBox" size="465 50 615 80">
|
||||
<action on="Press">selectPanel(3);</action>
|
||||
<object type="text" style="ModernLabelText" ghost="true">
|
||||
<translatableAttribute id="caption">Translators</translatableAttribute>
|
||||
</object>
|
||||
</object>
|
||||
|
||||
<object name="miscPanelButton" type="button" sprite="BackgroundBox" size="620 50 770 80">
|
||||
<action on="Press">selectPanel(4);</action>
|
||||
<object type="text" style="ModernLabelText" ghost="true">
|
||||
<translatableAttribute id="caption">Miscellaneous</translatableAttribute>
|
||||
</object>
|
||||
</object>
|
||||
|
||||
<object name="donatorsPanelButton" type="button" sprite="BackgroundBox" size="775 50 925 80">
|
||||
<action on="Press">selectPanel(5);</action>
|
||||
<object type="text" style="ModernLabelText" ghost="true">
|
||||
<translatableAttribute id="caption">Donators</translatableAttribute>
|
||||
</object>
|
||||
</object>
|
||||
|
||||
<object type="image" sprite="ModernFade" size="20 85 100%-20 100%-54">
|
||||
<object name="creditsText" type="text" style="textPanel"/>
|
||||
</object>
|
||||
|
||||
<!-- Close dialog -->
|
||||
<object type="button" style="ModernButtonRed" size="100%-200 100%-45 100%-17 100%-17" hotkey="cancel">
|
||||
<translatableAttribute id="caption">Close</translatableAttribute>
|
||||
<action on="Press">
|
||||
Engine.SwitchGuiPage("page_pregame.xml");
|
||||
</action>
|
||||
</object>
|
||||
</object>
|
||||
</objects>
|
19
binaries/data/mods/public/gui/credits/sprites.xml
Normal file
19
binaries/data/mods/public/gui/credits/sprites.xml
Normal file
@ -0,0 +1,19 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<sprites>
|
||||
<sprite name="BackgroundBox">
|
||||
<image backcolor="50 35 0 120" size="0 0 100% 100%"/>
|
||||
<image backcolor="gold" size="0 0 1 100%"/>
|
||||
<image backcolor="gold" size="1 0 100%-1 1"/>
|
||||
<image backcolor="gold" size="100%-1 0 100% 100%"/>
|
||||
<image backcolor="gold" size="0 100%-1 100% 100%"/>
|
||||
</sprite>
|
||||
|
||||
<sprite name="ForegroundBox">
|
||||
<image backcolor="255 255 255 40" size="0 0 100% 100%"/>
|
||||
<image backcolor="gold" size="0 0 2 100%"/>
|
||||
<image backcolor="gold" size="2 100%-2 100%-2 100%"/>
|
||||
<image backcolor="gold" size="100%-2 0 100% 100%"/>
|
||||
<image backcolor="gold" size="0 0 100% 100%"/>
|
||||
</sprite>
|
||||
</sprites>
|
16
binaries/data/mods/public/gui/credits/styles.xml
Normal file
16
binaries/data/mods/public/gui/credits/styles.xml
Normal file
@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
|
||||
<styles>
|
||||
|
||||
<style name="textPanel"
|
||||
buffer_zone="8"
|
||||
scrollbar="true"
|
||||
scrollbar_style="ModernScrollBar"
|
||||
font="sans-bold-stroke-14"
|
||||
textcolor="white"
|
||||
text_align="center"
|
||||
text_valign="center"
|
||||
sprite="ModernDarkBoxGold"
|
||||
/>
|
||||
|
||||
</styles>
|
126
binaries/data/mods/public/gui/credits/texts/art.json
Normal file
126
binaries/data/mods/public/gui/credits/texts/art.json
Normal file
@ -0,0 +1,126 @@
|
||||
{
|
||||
"Content": [
|
||||
{
|
||||
"Title": "Artistic managers",
|
||||
"Content": [
|
||||
{
|
||||
"Subtitle": "Art lead",
|
||||
"List": [
|
||||
{"nick": "Wijitmaker", "name": "Jason Bishop"},
|
||||
{"nick": "Mythos_Ruler", "name": "Michael D. Hafer"},
|
||||
{"nick": "Enrique", "name": "Enrique Keykens"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Subtitle": "Sound Manager",
|
||||
"List": [{"nick": "lostchocolatelab", "name": "Damian Kastbauer"}]
|
||||
},
|
||||
{
|
||||
"Subtitle": "Composer",
|
||||
"List": [{"nick": "OmriLahav", "name": "Omri Lahav"}]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "Mapping",
|
||||
"List": [
|
||||
{"nick": "Aeros (aka CheeZy)", "name": "Bobby Ognyanov"},
|
||||
{"nick": "mmayfield45"},
|
||||
{"nick": "Mythos_Ruler", "name": "Michael D. Hafer"},
|
||||
{"nick": "niektb", "name": "Niek ten Brinke"},
|
||||
{"nick": "Pureon"},
|
||||
{"nick": "SMST"},
|
||||
{"nick": "Yodaspirine"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "Random Map Scripts",
|
||||
"List": [
|
||||
{"nick": "Ben", "name": "Ben Vinegar"},
|
||||
{"nick": "FeXoR", "name": "Florian Finke"},
|
||||
{"nick": "howlingflute"},
|
||||
{"nick": "Spahbod", "name": "Omid Davoodi"},
|
||||
{"nick": "wraitii", "name": "Lancelot de Ferrière le Vayer"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "2D Art",
|
||||
"List": [
|
||||
{"nick": "Annatar", "name": "Kenneth Branch"},
|
||||
{"nick": "b.w.keough", "name": "Brendan Keough"},
|
||||
{"nick": "Brownboot", "name": "Allen White"},
|
||||
{"nick": "Centurion_13", "name": "Shan Coster"},
|
||||
{"nick": "Childhood Trauma", "name": "Praveen Pillai"},
|
||||
{"nick": "dashinvaine", "name": "Gordon Napier"},
|
||||
{"nick": "Dnas", "name": "David Benjamin"},
|
||||
{"nick": "Fire Giant", "name": "Malte Schwarzkopf"},
|
||||
{"nick": "Hyborian", "name": "Shan Sherrill"},
|
||||
{"nick": "irishstag", "name": "Ryan Karsten"},
|
||||
{"nick": "lanoocha", "name": "Lana"},
|
||||
{"nick": "Lion.Kanzen", "name": "Marcio Duron"},
|
||||
{"nick": "LordGood", "name": "Johnathan B. Good"},
|
||||
{"nick": "Mythos_Ruler", "name": "Michael D. Hafer"},
|
||||
{"nick": "Pureon"},
|
||||
{"nick": "raulfabi"},
|
||||
{"nick": "Scorpion Ra", "name": "Aaron Robinson"},
|
||||
{"nick": "Shield Bearer", "name": "Amish Coelho"},
|
||||
{"nick": "Wijitmaker", "name": "Jason Bishop"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "3D Art",
|
||||
"List": [
|
||||
{"nick": "Athos"},
|
||||
{"nick": "Brightgalrs", "name": "Robert D. Schultz"},
|
||||
{"nick": "Eggbird", "name": "Egbert Tigelaar"},
|
||||
{"nick": "EmjeR", "name": "Matthijs de Rijk"},
|
||||
{"nick": "Enrique", "name": "Enrique Keykens Espolio"},
|
||||
{"nick": "Historicity", "name": "Shane"},
|
||||
{"nick": "Gen.Kenobi", "name": "Daniel Schubert"},
|
||||
{"nick": "LordGood", "name": "Johnathan B. Good"},
|
||||
{"nick": "Micket"},
|
||||
{"nick": "Mythos_Ruler", "name": "Michael D. Hafer"},
|
||||
{"nick": "necro", "name": "Thomas Eichler"},
|
||||
{"nick": "Pacman", "name": "Johannes(John) Saarniit"},
|
||||
{"nick": "paperkat", "name": "William Pryn"},
|
||||
{"nick": "privateer", "name": "Jeff Groves"},
|
||||
{"nick": "Pureon"},
|
||||
{"nick": "Quacker", "name": "Jordan Quackenbush"},
|
||||
{"nick": "Saurabh", "name": "Saurabh Torne"},
|
||||
{"nick": "Scorpion Ra", "name": "Aaron Robinson"},
|
||||
{"nick": "Shield Bearer", "name": "Amish Coelho"},
|
||||
{"nick": "stanislas69", "name": "Stanislas Dolcini"},
|
||||
{"nick": "Strannik"},
|
||||
{"nick": "Zaggy1024", "name": "Gregory Bertilson"},
|
||||
{"nick": "Wijitmaker", "name": "Jason Bishop"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "Sound",
|
||||
"List": [
|
||||
{"nick": "carsten", "name": "Carsten Rojahn"},
|
||||
{"nick": "dungeonsound615", "name": "Mike Stanton"},
|
||||
{"nick": "DynamiteSoundBytes", "name": "Nolan, Tony, and Lucas"},
|
||||
{"nick": "EvanBogunia", "name": "Evan Bogunia"},
|
||||
{"nick": "khegarty", "name": "Kaitlynn Hegarty"},
|
||||
{"nick": "LAVS"},
|
||||
{"nick": "lostchocolatelab", "name": "Damian Kastbauer"},
|
||||
{"nick": "MattSherman", "name": "Matt Sherman"},
|
||||
{"nick": "mclellandp", "name": "Pat Mclelland"},
|
||||
{"nick": "PhoenixDog", "name": "Shawn Anthony Poxleitner"},
|
||||
{"nick": "Pureon"},
|
||||
{"nick": "ryan827", "name": "Ryan Davies"},
|
||||
{"nick": "Sam Assoum", "name": "Sam Assoum"},
|
||||
{"nick": "Wyrmwood", "name": "Ron Lacy"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "Music",
|
||||
"List": [
|
||||
{"nick": "Dariusofwest", "name": "Allan Brown"},
|
||||
{"nick": "OmriLahav", "name": "Omri Lahav"},
|
||||
{"nick": "Vaevictis_Music", "name": "Boris Hansen"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
559
binaries/data/mods/public/gui/credits/texts/donators.json
Normal file
559
binaries/data/mods/public/gui/credits/texts/donators.json
Normal file
@ -0,0 +1,559 @@
|
||||
{
|
||||
"Content" : [
|
||||
{
|
||||
"Title": "Pledgie Drive 1",
|
||||
"List": [
|
||||
{"name": "23 Anonymous Donators"},
|
||||
{"name": "@bcrunos"},
|
||||
{"name": "@CheDean"},
|
||||
{"name": "@joshhsoj1902"},
|
||||
{"name": "@kednar"},
|
||||
{"name": "@NtynRuben"},
|
||||
{"name": "@opengimox"},
|
||||
{"name": "@scotthosking"},
|
||||
{"name": "@takluyver"},
|
||||
{"name": "@TubeShaped"},
|
||||
{"name": "@unverbraucht"},
|
||||
{"name": "@upurtwee"},
|
||||
{"name": "@YannDinendal"},
|
||||
{"name": "Alain Imbaud"},
|
||||
{"name": "Alex McKee"},
|
||||
{"name": "Alexander Kallenbach"},
|
||||
{"name": "Alexander Opachev"},
|
||||
{"name": "Alexander Wagner"},
|
||||
{"name": "Alexey Sergin"},
|
||||
{"name": "Andreas Hopfenblatt"},
|
||||
{"name": "Andreas Hoppe"},
|
||||
{"name": "Brent Houghton"},
|
||||
{"name": "Bruno Sanchez-Huffenus"},
|
||||
{"name": "Carl Olsson"},
|
||||
{"name": "Cedric Heintz"},
|
||||
{"name": "Chad Merkert"},
|
||||
{"name": "Chad Peyton"},
|
||||
{"name": "Christopher Tozzi"},
|
||||
{"name": "Daniel Kuzmenko"},
|
||||
{"name": "Daniel Scharrer"},
|
||||
{"name": "danijelv"},
|
||||
{"name": "Darrel Greenhill"},
|
||||
{"name": "David Nielsen"},
|
||||
{"name": "David Raich"},
|
||||
{"name": "Duan Pavlík"},
|
||||
{"name": "Emil Nicolaie Perhinschi"},
|
||||
{"name": "Eric Winterling"},
|
||||
{"name": "Étienne Bersac"},
|
||||
{"name": "Evans Thomas"},
|
||||
{"name": "Fabio Erculiani"},
|
||||
{"name": "Felipe Torres González"},
|
||||
{"name": "Fernando Martins"},
|
||||
{"name": "Florian Ludwig"},
|
||||
{"name": "Fredrik Eliasson"},
|
||||
{"name": "Gabriel Diosan"},
|
||||
{"name": "Gustav Schumann"},
|
||||
{"name": "Ilya Makarov"},
|
||||
{"name": "inglorion"},
|
||||
{"name": "Jan Krautter"},
|
||||
{"name": "Javier Alfonso"},
|
||||
{"name": "Jií Jindra"},
|
||||
{"name": "Jill Bishop"},
|
||||
{"name": "Joakim Verona"},
|
||||
{"name": "Jonathan Pritchard"},
|
||||
{"name": "Jordan Taienao"},
|
||||
{"name": "Jorge Vega Sánchez"},
|
||||
{"name": "Juan Font Alonso"},
|
||||
{"name": "Kaare Baastrup"},
|
||||
{"name": "Kevin Faulkner"},
|
||||
{"name": "Kieran P"},
|
||||
{"name": "Klaas Waesberghe"},
|
||||
{"name": "Korneel Guns"},
|
||||
{"name": "Kristian Jagd"},
|
||||
{"name": "Krzysztof Duchnowski"},
|
||||
{"name": "Lasse Bigum"},
|
||||
{"name": "Laurent Thermy"},
|
||||
{"name": "lordofsoul"},
|
||||
{"name": "Lorenzo Angeli"},
|
||||
{"name": "Magne Djupvik"},
|
||||
{"name": "Maxime Fradi"},
|
||||
{"name": "Michael Stubbs"},
|
||||
{"name": "Mikhail Lunkovskiy"},
|
||||
{"name": "Neil Hancock"},
|
||||
{"name": "Olivier Bordignon"},
|
||||
{"name": "Olivier Coppin"},
|
||||
{"name": "Oskar Maxa"},
|
||||
{"name": "Panagiotis Tsakiris"},
|
||||
{"name": "Patrice Sopel"},
|
||||
{"name": "Paul Scott"},
|
||||
{"name": "Pedro Veloso"},
|
||||
{"name": "Séverin Lemaignan"},
|
||||
{"name": "Scott C Lemon"},
|
||||
{"name": "Shane Quigley"},
|
||||
{"name": "Stanislav Kíž"},
|
||||
{"name": "Steven Saric"},
|
||||
{"name": "Thomas Hummel"},
|
||||
{"name": "Thomas Mikkelsen"},
|
||||
{"name": "Timothy McLaren"},
|
||||
{"name": "Toni Helenius"},
|
||||
{"name": "Valeryan_24"},
|
||||
{"name": "Victor Lavaud"},
|
||||
{"name": "Viktor Novak"},
|
||||
{"name": "William Norris"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "Pledgie Drive 2",
|
||||
"List": [
|
||||
{"name": "87 Anonymous Donators"},
|
||||
{"name": "@AvivSharon"},
|
||||
{"name": "@mrfurieux"},
|
||||
{"name": "@sciondev"},
|
||||
{"name": "@upurtweet"},
|
||||
{"name": "@waytoubuntu"},
|
||||
{"name": "@YannDinendal"},
|
||||
{"name": "AkylaQD"},
|
||||
{"name": "Alexander Hunziker"},
|
||||
{"name": "Anthony Lenton"},
|
||||
{"name": "arakash"},
|
||||
{"name": "azkanel"},
|
||||
{"name": "Catalanoic"},
|
||||
{"name": "charlycoste"},
|
||||
{"name": "dadarek"},
|
||||
{"name": "David Callé"},
|
||||
{"name": "dbileck"},
|
||||
{"name": "Erik Johansson"},
|
||||
{"name": "Evans Thomas"},
|
||||
{"name": "fireprog"},
|
||||
{"name": "Foaly"},
|
||||
{"name": "Francisco Jesús Martínez Murcia"},
|
||||
{"name": "francofil66"},
|
||||
{"name": "Frederic Laliberte"},
|
||||
{"name": "Gabriel Ionescu"},
|
||||
{"name": "gheesh"},
|
||||
{"name": "harrytuttle"},
|
||||
{"name": "Hatsen"},
|
||||
{"name": "hyno111"},
|
||||
{"name": "Italo Gonzalez"},
|
||||
{"name": "Jaap Broekhuizen"},
|
||||
{"name": "jeykey"},
|
||||
{"name": "John2Ray"},
|
||||
{"name": "JuliusColtranePille"},
|
||||
{"name": "Jupiter Barrera"},
|
||||
{"name": "Kieran P"},
|
||||
{"name": "Kyle"},
|
||||
{"name": "letsyl"},
|
||||
{"name": "Ludovic Claude"},
|
||||
{"name": "Martin Albisetti"},
|
||||
{"name": "Matthew Frost"},
|
||||
{"name": "Matthew Gillespie"},
|
||||
{"name": "MCMic"},
|
||||
{"name": "mikeo"},
|
||||
{"name": "Mikhail Nedovodin"},
|
||||
{"name": "Nathanael Barbettini"},
|
||||
{"name": "orpharion"},
|
||||
{"name": "p2snico"},
|
||||
{"name": "Pablo Briones Bas"},
|
||||
{"name": "Paolo Frattini"},
|
||||
{"name": "ruano1983"},
|
||||
{"name": "samtuke"},
|
||||
{"name": "Strategist"},
|
||||
{"name": "tallanddaft"},
|
||||
{"name": "Tottel"},
|
||||
{"name": "Troels Arvin"},
|
||||
{"name": "Tungdil"},
|
||||
{"name": "VforVincent"},
|
||||
{"name": "Vladislav Gapchich"},
|
||||
{"name": "Yves *"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "IndieGoGO 2013 campaign\nMore than 1000 donators (!), including:",
|
||||
"List": [
|
||||
{"name": "1lightsource"},
|
||||
{"name": "@GuiAmbros"},
|
||||
{"name": "ACH_Likey"},
|
||||
{"name": "Adam Freeman"},
|
||||
{"name": "Adam Glickman"},
|
||||
{"name": "Adrián Chaves Fernández (Gallaecio)"},
|
||||
{"name": "Adrian Rocha"},
|
||||
{"name": "adventureloop"},
|
||||
{"name": "Agostino Sturaro"},
|
||||
{"name": "ahj"},
|
||||
{"name": "Akita Noek"},
|
||||
{"name": "Albert Astals Cid"},
|
||||
{"name": "Alec Gorge"},
|
||||
{"name": "Alessio Bolognini"},
|
||||
{"name": "Alex Brem"},
|
||||
{"name": "Alex Kapranoff"},
|
||||
{"name": "Alex Melville"},
|
||||
{"name": "Alex W."},
|
||||
{"name": "Alexander A. (cicyractu)"},
|
||||
{"name": "Alexandre Prokoudine"},
|
||||
{"name": "Alexey Kreshchuk"},
|
||||
{"name": "Alexey Vazhnov"},
|
||||
{"name": "Alice Marks"},
|
||||
{"name": "Alin Hanghiuc"},
|
||||
{"name": "Alister Galpin"},
|
||||
{"name": "Aljullu"},
|
||||
{"name": "Altwazar"},
|
||||
{"name": "Alun Lewis"},
|
||||
{"name": "aluriak"},
|
||||
{"name": "alxndr"},
|
||||
{"name": "Ana Vazquez Alonso"},
|
||||
{"name": "Anders Dahnielson"},
|
||||
{"name": "andersonvom"},
|
||||
{"name": "André Vitor de Lima Matos"},
|
||||
{"name": "Andrea Panontin"},
|
||||
{"name": "Andrew M. 'Leny' Lindley"},
|
||||
{"name": "Andrew Mike"},
|
||||
{"name": "Andrzej Kardas"},
|
||||
{"name": "Andy Allan"},
|
||||
{"name": "Anirudh Surendranath"},
|
||||
{"name": "Anthony J. Bentley"},
|
||||
{"name": "Anthony Ryan"},
|
||||
{"name": "Anton Gushcha"},
|
||||
{"name": "Antti Repo"},
|
||||
{"name": "April Lee"},
|
||||
{"name": "Ari Selseng"},
|
||||
{"name": "Armin Seuchter"},
|
||||
{"name": "Arnaud Gelly"},
|
||||
{"name": "Artem Kavalerov"},
|
||||
{"name": "AsavarTzeth"},
|
||||
{"name": "Athaniar Silverbranch"},
|
||||
{"name": "Atheox"},
|
||||
{"name": "Aurag"},
|
||||
{"name": "baosen"},
|
||||
{"name": "Bart Noordervliet"},
|
||||
{"name": "BCvery1"},
|
||||
{"name": "BelaB"},
|
||||
{"name": "Ben Golightly"},
|
||||
{"name": "Ben Kennedy"},
|
||||
{"name": "Ben-Jamin' Ziegelaar"},
|
||||
{"name": "Benjamin Geese"},
|
||||
{"name": "Benjamin Stauß"},
|
||||
{"name": "Bernhard M."},
|
||||
{"name": "Bert 'Cysion' Beeckman"},
|
||||
{"name": "Betsy Lipes"},
|
||||
{"name": "Bill O'Dwyer"},
|
||||
{"name": "Bobby Ognyanov"},
|
||||
{"name": "Boris Mindzak"},
|
||||
{"name": "Boris Niclas-Tölle"},
|
||||
{"name": "Boyd Stephen Smith Jr."},
|
||||
{"name": "Brian Aichlmayr"},
|
||||
{"name": "Brian Stempin"},
|
||||
{"name": "Brice Gressent"},
|
||||
{"name": "Bruno Girin"},
|
||||
{"name": "Cédric de Launois"},
|
||||
{"name": "c0l3slaw"},
|
||||
{"name": "Cajetan Bouchard"},
|
||||
{"name": "Calvin Rawlings"},
|
||||
{"name": "Carl Sebastian Malm"},
|
||||
{"name": "Cedric Bail"},
|
||||
{"name": "Chad Peyton"},
|
||||
{"name": "Chanakya"},
|
||||
{"name": "Charles E. Lehner"},
|
||||
{"name": "Che Dean"},
|
||||
{"name": "Chris Dickerson"},
|
||||
{"name": "Christian 'Roggan29' Budde"},
|
||||
{"name": "Christoffer 'cjva' Andersson"},
|
||||
{"name": "Christoffer Ingers"},
|
||||
{"name": "Christoph Zürcher"},
|
||||
{"name": "Christophe & Fabienne Hugon"},
|
||||
{"name": "Christopher Morrison"},
|
||||
{"name": "Chrysostomos Kolovos"},
|
||||
{"name": "clauskj3r"},
|
||||
{"name": "Cloei Bailey"},
|
||||
{"name": "Craig Millett"},
|
||||
{"name": "Cristiane Weber"},
|
||||
{"name": "cyrxi"},
|
||||
{"name": "Cyryl Plotnicki-Chudyk"},
|
||||
{"name": "D. Can Celasun"},
|
||||
{"name": "daJoe"},
|
||||
{"name": "Damiano Dallatana"},
|
||||
{"name": "Dan Seldow"},
|
||||
{"name": "Daniel Draeger"},
|
||||
{"name": "Daniel Melin"},
|
||||
{"name": "Daniel Spronk"},
|
||||
{"name": "Daniel Wee"},
|
||||
{"name": "Daniele Canciani (aka croma25td)"},
|
||||
{"name": "Daniil Bondarev"},
|
||||
{"name": "Daniil Kulchenko"},
|
||||
{"name": "Dave Peters"},
|
||||
{"name": "David Abilleira"},
|
||||
{"name": "David Ahmed"},
|
||||
{"name": "David Hayes"},
|
||||
{"name": "David Lawrence Evans"},
|
||||
{"name": "David Page"},
|
||||
{"name": "David Verelst"},
|
||||
{"name": "David Zschille"},
|
||||
{"name": "davyg"},
|
||||
{"name": "Debcool"},
|
||||
{"name": "Denis Fateyev"},
|
||||
{"name": "Dennis Blok"},
|
||||
{"name": "Desmond Talkington"},
|
||||
{"name": "devland"},
|
||||
{"name": "Diego Peinador"},
|
||||
{"name": "Dmitry Pashkevich"},
|
||||
{"name": "Doménique van Gennip"},
|
||||
{"name": "Dr Martin Gray"},
|
||||
{"name": "earendil02"},
|
||||
{"name": "Edgar Klenske"},
|
||||
{"name": "elel"},
|
||||
{"name": "Elias K Gardner"},
|
||||
{"name": "Emmanuel Florac"},
|
||||
{"name": "en3r0"},
|
||||
{"name": "Engry Baldwin"},
|
||||
{"name": "Erik J"},
|
||||
{"name": "Erin"},
|
||||
{"name": "Ernst Vaarties"},
|
||||
{"name": "Ethan Glasser-Camp"},
|
||||
{"name": "Evans Thomas"},
|
||||
{"name": "Fabio Pezzoni"},
|
||||
{"name": "Fedor Podolyako"},
|
||||
{"name": "Felix Schindler"},
|
||||
{"name": "Fidel Ramos"},
|
||||
{"name": "Flo S. MTP"},
|
||||
{"name": "Florian R. A. Angermeier"},
|
||||
{"name": "flowblok"},
|
||||
{"name": "Francis Brunelle"},
|
||||
{"name": "Fred G"},
|
||||
{"name": "Fred Schuit"},
|
||||
{"name": "Friedemann Leipold"},
|
||||
{"name": "Fringale"},
|
||||
{"name": "Gary Sparks"},
|
||||
{"name": "Georg R. Zufall"},
|
||||
{"name": "Gerol Petruzella"},
|
||||
{"name": "Gert van Valkenhoef"},
|
||||
{"name": "Glorforidor"},
|
||||
{"name": "Goosefraba"},
|
||||
{"name": "Gordon Macleod"},
|
||||
{"name": "Gudo"},
|
||||
{"name": "Guillaume Desjardins"},
|
||||
{"name": "Guillaume Englert"},
|
||||
{"name": "Guillaume GASNIER"},
|
||||
{"name": "Gustav 'Gego/XAREN' Hartvigsson"},
|
||||
{"name": "Gwilym Kuiper"},
|
||||
{"name": "Harry Burrows"},
|
||||
{"name": "Harshid Dattani"},
|
||||
{"name": "Harteex"},
|
||||
{"name": "Harvy"},
|
||||
{"name": "Honza Brázdil"},
|
||||
{"name": "Hunv"},
|
||||
{"name": "Iain Hallam"},
|
||||
{"name": "Ian Davis"},
|
||||
{"name": "Ian R. Bennett"},
|
||||
{"name": "Isaac Clerencia"},
|
||||
{"name": "itoshkov"},
|
||||
{"name": "Ján Nešcivera"},
|
||||
{"name": "Jacek"},
|
||||
{"name": "James Dearing"},
|
||||
{"name": "James Gregory"},
|
||||
{"name": "James Weeks (aka Chiptoxic)"},
|
||||
{"name": "Jamie"},
|
||||
{"name": "Jan Chochol"},
|
||||
{"name": "Jan-Tore Velle"},
|
||||
{"name": "Jarl Arntzen"},
|
||||
{"name": "Jason moofang"},
|
||||
{"name": "Jason Smith"},
|
||||
{"name": "Javier Cantero"},
|
||||
{"name": "JDSJ Hollandia"},
|
||||
{"name": "Jean-Baptiste CAMPESATO"},
|
||||
{"name": "Jeremy Rose"},
|
||||
{"name": "Jesse 'Magic' Johnson"},
|
||||
{"name": "jg1234"},
|
||||
{"name": "Jim Baxter"},
|
||||
{"name": "Jim Howard"},
|
||||
{"name": "Jimmy Turgeon"},
|
||||
{"name": "Jiri Stransky"},
|
||||
{"name": "Joe Johaneman"},
|
||||
{"name": "Joel A. Parisi"},
|
||||
{"name": "Joel Edberg"},
|
||||
{"name": "Joel Friedly"},
|
||||
{"name": "John Eikenberry"},
|
||||
{"name": "John Furcean"},
|
||||
{"name": "John Paden"},
|
||||
{"name": "John Tse"},
|
||||
{"name": "Jon Gjengset"},
|
||||
{"name": "Jonathan Biegert"},
|
||||
{"name": "Jonny McCullagh"},
|
||||
{"name": "Jordan White"},
|
||||
{"name": "Jose A. Rivera"},
|
||||
{"name": "Jose Lou Chang"},
|
||||
{"name": "Jose M Andion"},
|
||||
{"name": "Josef Pruša"},
|
||||
{"name": "Josepf Haslam"},
|
||||
{"name": "Joseph Livecchi"},
|
||||
{"name": "Joseph Thompson"},
|
||||
{"name": "Josh Gunderson"},
|
||||
{"name": "Julie Barton"},
|
||||
{"name": "Julius FreeGamer Blog"},
|
||||
{"name": "Justin James"},
|
||||
{"name": "K McFadden"},
|
||||
{"name": "Kaloyan Todorov"},
|
||||
{"name": "Kamereon"},
|
||||
{"name": "kepinpin"},
|
||||
{"name": "Kevin Krammer"},
|
||||
{"name": "Kevin W. Rodewald"},
|
||||
{"name": "kilobug"},
|
||||
{"name": "Kirkor"},
|
||||
{"name": "Konstantin Kitmanov"},
|
||||
{"name": "Kshitij Sobti"},
|
||||
{"name": "Kyle Leach"},
|
||||
{"name": "LarsHuluk"},
|
||||
{"name": "Lasse Bigum"},
|
||||
{"name": "Lasse Hynninen"},
|
||||
{"name": "Lauris BH"},
|
||||
{"name": "lbilloret"},
|
||||
{"name": "Lee Symes"},
|
||||
{"name": "lepiota"},
|
||||
{"name": "linux_eki"},
|
||||
{"name": "Liothe"},
|
||||
{"name": "liquidat"},
|
||||
{"name": "Lukas Daniel Klausner"},
|
||||
{"name": "Magne Djupvik"},
|
||||
{"name": "MaMuS"},
|
||||
{"name": "Marc Schneider-Woggon"},
|
||||
{"name": "Marcel de Jong"},
|
||||
{"name": "Marcel Stimberg"},
|
||||
{"name": "Marcus Liebhardt"},
|
||||
{"name": "Mardini"},
|
||||
{"name": "Marián Polták"},
|
||||
{"name": "Mark Lukens"},
|
||||
{"name": "Markus Enzenberger"},
|
||||
{"name": "Matías Guzmán Naranjo"},
|
||||
{"name": "Matei Zaharia"},
|
||||
{"name": "Matic Potocnik"},
|
||||
{"name": "Matt Brenner"},
|
||||
{"name": "Matt Williams"},
|
||||
{"name": "Max Polun"},
|
||||
{"name": "Max Tweddell"},
|
||||
{"name": "mecatxis"},
|
||||
{"name": "Michael Laporte"},
|
||||
{"name": "Michael McCafferty"},
|
||||
{"name": "Michael Patzer"},
|
||||
{"name": "Michael Vincent"},
|
||||
{"name": "Michal Sedlak"},
|
||||
{"name": "Michele Brami"},
|
||||
{"name": "Michele Olivo"},
|
||||
{"name": "Miguel Vera Leon"},
|
||||
{"name": "Mike Manfrin"},
|
||||
{"name": "Milo Radunski"},
|
||||
{"name": "Mindcloud"},
|
||||
{"name": "Mitchell Kember"},
|
||||
{"name": "MooseTheBrown"},
|
||||
{"name": "Nate 'Gnate' Sigrist"},
|
||||
{"name": "Nathan"},
|
||||
{"name": "Nathanael Barbettini"},
|
||||
{"name": "Nehar"},
|
||||
{"name": "Neil"},
|
||||
{"name": "Nelson Benitez Leon"},
|
||||
{"name": "Nic Thiele"},
|
||||
{"name": "Niklas Rosenqvist"},
|
||||
{"name": "nineinchnick"},
|
||||
{"name": "Noah Rusnock"},
|
||||
{"name": "Ohad Stolarz"},
|
||||
{"name": "ojdo"},
|
||||
{"name": "Ollie Lowson"},
|
||||
{"name": "Orwell"},
|
||||
{"name": "Osledy Bazo"},
|
||||
{"name": "Othman Almandhari"},
|
||||
{"name": "Ørjan Hoem"},
|
||||
{"name": "Pablo López (kednar)"},
|
||||
{"name": "Patrick Glanz"},
|
||||
{"name": "Patrick McDonough"},
|
||||
{"name": "Patrick Plenefisch"},
|
||||
{"name": "Paul Edward Tang"},
|
||||
{"name": "Paul Schorfheide"},
|
||||
{"name": "Paul4kant"},
|
||||
{"name": "Pavy"},
|
||||
{"name": "Peter Berg"},
|
||||
{"name": "Peter Davoust"},
|
||||
{"name": "Peter Ståhlberg"},
|
||||
{"name": "Phalgun Guduthur"},
|
||||
{"name": "Philip Tellis"},
|
||||
{"name": "Philipp Pilhofer"},
|
||||
{"name": "Pierce Lopez"},
|
||||
{"name": "Pierre 'Eunostos' Cuvelier"},
|
||||
{"name": "Pierre Donat-Bouillud"},
|
||||
{"name": "psq"},
|
||||
{"name": "Quarkslot"},
|
||||
{"name": "Randolph aka Shieldwolf"},
|
||||
{"name": "Rene Balser"},
|
||||
{"name": "Rob Crowther"},
|
||||
{"name": "Rob Parker"},
|
||||
{"name": "Rob Snelders"},
|
||||
{"name": "Robert Clark"},
|
||||
{"name": "Robert Hill, MD"},
|
||||
{"name": "Robert Walker"},
|
||||
{"name": "rocandante"},
|
||||
{"name": "Romain Naour"},
|
||||
{"name": "Ronald Delval"},
|
||||
{"name": "Rudolf J. Mueller"},
|
||||
{"name": "Rustan Håkansson"},
|
||||
{"name": "Sam Griffin"},
|
||||
{"name": "seaxx"},
|
||||
{"name": "Sebastian Spaeth"},
|
||||
{"name": "Sergey Kashin"},
|
||||
{"name": "Shaun McFall"},
|
||||
{"name": "sHINOBI"},
|
||||
{"name": "Shiv Manas"},
|
||||
{"name": "Shrink"},
|
||||
{"name": "Sigfrido"},
|
||||
{"name": "Simon Barnes"},
|
||||
{"name": "Simon Coe"},
|
||||
{"name": "Simon Wenner"},
|
||||
{"name": "Sinan Onur Altinuç"},
|
||||
{"name": "snorpey"},
|
||||
{"name": "Standa"},
|
||||
{"name": "Stepan Salenikovich"},
|
||||
{"name": "Stephan Spijkers"},
|
||||
{"name": "Stephan Tietz"},
|
||||
{"name": "Stephan Wiehr"},
|
||||
{"name": "Stephen Rule"},
|
||||
{"name": "Steven Fuchs"},
|
||||
{"name": "Stijn Debrouwere"},
|
||||
{"name": "Stokescomp"},
|
||||
{"name": "Sze Howe Koh"},
|
||||
{"name": "Tanel Mae"},
|
||||
{"name": "Tapio Hansson"},
|
||||
{"name": "Tassos Hourmouziadis"},
|
||||
{"name": "tbug"},
|
||||
{"name": "Theodore Brown"},
|
||||
{"name": "Thero Layfer"},
|
||||
{"name": "Thomas Glamsch"},
|
||||
{"name": "Thomas Penin"},
|
||||
{"name": "Thorbjørn Lindeijer"},
|
||||
{"name": "Tim Koschützki"},
|
||||
{"name": "TimseZ"},
|
||||
{"name": "TingPing"},
|
||||
{"name": "Titov Andrii"},
|
||||
{"name": "Toby"},
|
||||
{"name": "Toby Haynes"},
|
||||
{"name": "Tom C"},
|
||||
{"name": "tonyo112"},
|
||||
{"name": "toyotis"},
|
||||
{"name": "Tribalbeat"},
|
||||
{"name": "Tuhin Sheikh"},
|
||||
{"name": "Tyler Hall"},
|
||||
{"name": "UA"},
|
||||
{"name": "udan"},
|
||||
{"name": "Vadim Peretokin"},
|
||||
{"name": "Valentina Mukhamedzhanova"},
|
||||
{"name": "Vegar Guldal"},
|
||||
{"name": "vimja"},
|
||||
{"name": "Vit Pelcak"},
|
||||
{"name": "Vladimir Kalugin"},
|
||||
{"name": "Vladimir Lettiev"},
|
||||
{"name": "Volkmar Stein"},
|
||||
{"name": "waspinator"},
|
||||
{"name": "William Edwards"},
|
||||
{"name": "wisemonkey"},
|
||||
{"name": "XioNoX"},
|
||||
{"name": "Yigal Duppen"},
|
||||
{"name": "Yumi"},
|
||||
{"name": "Yury Vidineev"},
|
||||
{"name": "Yvonne R"},
|
||||
{"name": "Zach Reed"},
|
||||
{"name": "Zimes"},
|
||||
{"name": "ZyoxNet"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
51
binaries/data/mods/public/gui/credits/texts/misc.json
Normal file
51
binaries/data/mods/public/gui/credits/texts/misc.json
Normal file
@ -0,0 +1,51 @@
|
||||
{
|
||||
"Content": [
|
||||
{
|
||||
"Title": "History References",
|
||||
"Content": [
|
||||
{
|
||||
"Subtitle": "Head",
|
||||
"List": [{"nick": "Shogun 144", "name": "Joshua Gilbert"}]
|
||||
},
|
||||
{
|
||||
"List": [
|
||||
{"nick": "fede_histpop", "name": "Federico Odorizzi"},
|
||||
{"nick": "I_Would_Say", "name": "Nathan Benjamin"},
|
||||
{"nick": "Paul", "name": "Paul Withers"},
|
||||
{"nick": "Paal_101", "name": "Paul Basar"},
|
||||
{"nick": "Saqqara", "name": "Ashley King"},
|
||||
{"nick": "Sting", "name": "Borislav Chernev"},
|
||||
{"nick": "Thorfinn the Shallow Minded"}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "Community and Management",
|
||||
"List": [
|
||||
{"nick": "Black OP", "name": "Randy Sage"},
|
||||
{"nick": "bstempi", "name": "Brian Stempin"},
|
||||
{"nick": "chichigrande", "name": "Matthew Rogers"},
|
||||
{"nick": "CodeOptimist", "name": "Nathanael Barbettini"},
|
||||
{"name": "Danny Reese"},
|
||||
{"nick": "DarkAngelBGE", "name": "Tim Koschuetzki"},
|
||||
{"nick": "darkfires (aka lethalhunter)", "name": "Jonathan Wright"},
|
||||
{"nick": "fabio", "name": "Fabio Pedretti"},
|
||||
{"nick": "formlesstree4", "name": "Adam Sears"},
|
||||
{"nick": "gudo"},
|
||||
{"nick": "Jeru", "name": "Aviv Sharon"},
|
||||
{"nick": "jshores", "name": "Jason Shores"},
|
||||
{"nick": "Kimball", "name": "Rob Kimball"},
|
||||
{"nick": "King Tutankhamun", "name": "Desmond Talkington"},
|
||||
{"nick": "MishFTW", "name": "A. Mishra"},
|
||||
{"nick": "Morgan", "name": "Morgan Ramsay"},
|
||||
{"nick": "Red_08", "name": "Joshua Barker"},
|
||||
{"nick": "ricotz", "name": "Rico Tzschichholz"},
|
||||
{"nick": "Rodrigo", "name": "Klass Van Waesberghe"},
|
||||
{"nick": "Sam (aka Ph4ntom)", "name": "Sam Carlton"},
|
||||
{"nick": "Sunshine", "name": "Belle Green"},
|
||||
{"nick": "Yiuel", "name": "Ugo Lachapelle"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
195
binaries/data/mods/public/gui/credits/texts/programming.json
Normal file
195
binaries/data/mods/public/gui/credits/texts/programming.json
Normal file
@ -0,0 +1,195 @@
|
||||
{
|
||||
"Content": [
|
||||
{
|
||||
"Title": "Programming managers",
|
||||
"List": [
|
||||
{"nick": "Acumen", "name": "Stuart Walpole"},
|
||||
{"nick": "Dak Lozar", "name": "Dave Loeser"},
|
||||
{"nick": "h20", "name": "Daniel Wilhelm"},
|
||||
{"nick": "Janwas", "name": "Jan Wassenberg"},
|
||||
{"nick": "Raj", "name": "Raj Sharma"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Subtitle": "Special thanks to",
|
||||
"List": [{"nick": "Ykkrosh", "name": "Philip Taylor"}]
|
||||
},
|
||||
{
|
||||
"List": [
|
||||
{"nick": "01d55"},
|
||||
{"nick": "Acumen", "name": "Stuart Walpole"},
|
||||
{"name": "Adrian Fatol"},
|
||||
{"nick": "AI-Amsterdam"},
|
||||
{"nick": "Alan", "name": "Alan Kemp"},
|
||||
{"nick": "aBothe", "name": "Alexander Bothe"},
|
||||
{"nick": "alpha123", "name": "Peter P. Cannici"},
|
||||
{"nick": "Aurium", "name": "Aurélio Heckert"},
|
||||
{"nick": "badmadblacksad", "name": "Martin F"},
|
||||
{"name": "Mikołaj \"Bajter\" Korcz"},
|
||||
{"nick": "bb", "name": "Bouke Jansen"},
|
||||
{"nick": "Ben", "name": "Ben Vinegar"},
|
||||
{"nick": "Bird"},
|
||||
{"nick": "Blue", "name": "Richard Welsh"},
|
||||
{"nick": "bmwiedemann"},
|
||||
{"nick": "boeseRaupe", "name": "Michael Kluge"},
|
||||
{"nick": "bog_dan_ro", "name": "BogDan Vatra"},
|
||||
{"nick": "Bonk", "name": "Christopher Ebbert"},
|
||||
{"nick": "Caius", "name": "Lars Kemmann"},
|
||||
{"nick": "Calefaction", "name": "Matt Holmes"},
|
||||
{"nick": "Calvinh", "name": "Carl-Johan Höiby"},
|
||||
{"name": "Cédric Houbart"},
|
||||
{"nick": "Chakakhan", "name": "Kenny Long"},
|
||||
{"nick": "Cracker78", "name": "Chad Heim"},
|
||||
{"nick": "Crynux", "name": "Stephen J. Fewer"},
|
||||
{"nick": "cwprogger"},
|
||||
{"nick": "Dak Lozar", "name": "Dave Loeser"},
|
||||
{"nick": "dan", "name": "Dan Strandberg"},
|
||||
{"name": "Daniel Trevitz"},
|
||||
{"nick": "DanCar", "name": "Daniel Cardenas"},
|
||||
{"nick": "Dave", "name": "David Protasowski"},
|
||||
{"nick": "dax", "name": "Dacian Fiordean"},
|
||||
{"nick": "deebee", "name": "Deepak Anthony"},
|
||||
{"nick": "Deiz"},
|
||||
{"nick": "Dietger", "name": "Dietger van Antwerpen"},
|
||||
{"nick": "dumbo"},
|
||||
{"nick": "dvangennip", "name": "Doménique"},
|
||||
{"nick": "Echelon9", "name": "Rhys Kidd"},
|
||||
{"nick": "eihrul", "name": "Lee Salzman"},
|
||||
{"nick": "elexis", "name": "Alexander Heinsius"},
|
||||
{"nick": "EmjeR", "name": "Matthijs de Rijk"},
|
||||
{"nick": "EMontana"},
|
||||
{"nick": "ericb"},
|
||||
{"nick": "evanssthomas", "name": "Evans Thomas"},
|
||||
{"nick": "Evulant", "name": "Alexander S."},
|
||||
{"nick": "fabio", "name": "Fabio Pedretti"},
|
||||
{"nick": "falsevision", "name": "Mahdi Khodadadifard"},
|
||||
{"nick": "fcxSanya", "name": "Alexander Olkhovskiy"},
|
||||
{"nick": "FeXoR", "name": "Florian Finke"},
|
||||
{"nick": "Fire Giant", "name": "Malte Schwarzkopf"},
|
||||
{"nick": "freenity", "name": "Anton Galitch"},
|
||||
{"nick": "gbish (aka Iny)", "name": "Grant Bishop"},
|
||||
{"nick": "Gee", "name": "Gustav Larsson"},
|
||||
{"nick": "gerbilOFdoom"},
|
||||
{"nick": "godlikeldh"},
|
||||
{"nick": "greybeard", "name": "Joe Cocovich"},
|
||||
{"nick": "grillaz"},
|
||||
{"nick": "gudo"},
|
||||
{"name": "Samuel Guarnieri"},
|
||||
{"nick": "Haommin"},
|
||||
{"nick": "h20", "name": "Daniel Wilhelm"},
|
||||
{"nick": "historic_bruno", "name": "Ben Brian"},
|
||||
{"nick": "idanwin"},
|
||||
{"nick": "infyquest", "name": "Vijay Kiran Kamuju"},
|
||||
{"nick": "IronNerd", "name": "Matthew McMullan"},
|
||||
{"nick": "Itms", "name": "Nicolas Auvray"},
|
||||
{"nick": "Jaison", "name": "Marco tom Suden"},
|
||||
{"nick": "jammus", "name": "James Scott"},
|
||||
{"nick": "Jgwman"},
|
||||
{"nick": "Josh", "name": "Joshua J. Bakita"},
|
||||
{"nick": "jP_wanN", "name": "Jonas Platte"},
|
||||
{"nick": "Jubalbarca", "name": "James Baillie"},
|
||||
{"nick": "JubJub", "name": "Sebastian Vetter"},
|
||||
{"nick": "kabzerek", "name": "Grzegorz Kabza"},
|
||||
{"nick": "Kai", "name": "Kai Chen"},
|
||||
{"name": "Kareem Ergawy"},
|
||||
{"nick": "kevmo", "name": "Kevin Caffrey"},
|
||||
{"nick": "kezz", "name": "Graeme Kerry"},
|
||||
{"nick": "kingadami", "name": "Adam Winsor"},
|
||||
{"nick": "kingbasil", "name": "Giannis Fafalios"},
|
||||
{"nick": "lafferjm", "name": "Justin Lafferty"},
|
||||
{"nick": "leper", "name": "Georg Kilzer"},
|
||||
{"nick": "livingaftermidnight", "name": "Will Dull"},
|
||||
{"nick": "Louhike"},
|
||||
{"nick": "lsdh"},
|
||||
{"nick": "madmax", "name": "Abhijit Nandy"},
|
||||
{"nick": "m0l0t0ph", "name": "Christoph Gielisch"},
|
||||
{"nick": "markcho"},
|
||||
{"nick": "MarkT", "name": "Mark Thompson"},
|
||||
{"nick": "Markus"},
|
||||
{"nick": "Matei", "name": "Matei Zaharia"},
|
||||
{"nick": "MattDoerksen", "name": "Matt Doerksen"},
|
||||
{"nick": "mattlott", "name": "Matt Lott"},
|
||||
{"nick": "maveric", "name": "Anton Protko"},
|
||||
{"nick": "Micnasty", "name": "Travis Gorkin"},
|
||||
{"nick": "mimo"},
|
||||
{"nick": "mk12", "name": "Mitchell Kember"},
|
||||
{"nick": "Molotov", "name": "Dario Alvarez"},
|
||||
{"nick": "mpmoreti", "name": "Marcos Paulo Moreti"},
|
||||
{"nick": "mreiland", "name": "Michael Reiland"},
|
||||
{"nick": "myconid"},
|
||||
{"nick": "nd3c3nt", "name": "Gavin Fowler"},
|
||||
{"nick": "niektb", "name": "Niek ten Brinke"},
|
||||
{"nick": "njm"},
|
||||
{"nick": "NoMonkey", "name": "John Mena"},
|
||||
{"nick": "notpete", "name": "Rich Cross"},
|
||||
{"nick": "Ols", "name": "Oliver Whiteman"},
|
||||
{"nick": "olsner", "name": "Simon Brenner"},
|
||||
{"nick": "otero"},
|
||||
{"name": "Nick Owens"},
|
||||
{"nick": "Palaxin", "name": "David A. Freitag"},
|
||||
{"name": "Paul Withers"},
|
||||
{"nick": "pcpa", "name": "Paulo Andrade"},
|
||||
{"nick": "Pendingchaos"},
|
||||
{"nick": "PeteVasi", "name": "Pete Vasiliauskas"},
|
||||
{"nick": "Polakrity"},
|
||||
{"nick": "Poya", "name": "Poya Manouchehri"},
|
||||
{"name": "Quentin Pradet"},
|
||||
{"nick": "prefect", "name": "Nicolai Hähnle"},
|
||||
{"nick": "pstumpf", "name": "Pascal Stumpf"},
|
||||
{"name": "André Puel"},
|
||||
{"nick": "Prodigal Son"},
|
||||
{"nick": "pyrolink", "name": "Andrew Decker"},
|
||||
{"nick": "quantumstate", "name": "Jonathan Waller"},
|
||||
{"nick": "QuickShot", "name": "Walter Krawec"},
|
||||
{"nick": "quonter"},
|
||||
{"nick": "qwertz"},
|
||||
{"nick": "Radagast"},
|
||||
{"nick": "Raj", "name": "Raj Sharma"},
|
||||
{"nick": "RedFox", "name": "Jorma Rebane"},
|
||||
{"nick": "RefinedCode"},
|
||||
{"nick": "Riemer"},
|
||||
{"name": "Rolf Sievers"},
|
||||
{"nick": "s0600204", "name": "Matthew Norwood"},
|
||||
{"nick": "SafaAlfulaij"},
|
||||
{"nick": "sanderd17", "name": "Sander Deryckere"},
|
||||
{"nick": "sathyam", "name": "Sathyam Vellal"},
|
||||
{"nick": "sbte", "name": "Sven Baars"},
|
||||
{"nick": "scroogie", "name": "André Gemünd"},
|
||||
{"nick": "scythetwirler", "name": "Casey X."},
|
||||
{"nick": "serveurix"},
|
||||
{"nick": "Shane", "name": "Shane Grant"},
|
||||
{"nick": "Silk", "name": "Josh Godsiff"},
|
||||
{"nick": "silure"},
|
||||
{"nick": "Simikolon", "name": "Yannick & Simon"},
|
||||
{"nick": "Spahbod", "name": "Omid Davoodi"},
|
||||
{"nick": "stanislas69", "name": "Stanislas Dolcini"},
|
||||
{"nick": "Stefan"},
|
||||
{"nick": "stilz", "name": "Sławomir Zborowski"},
|
||||
{"nick": "stwf", "name": "Steven Fuchs"},
|
||||
{"nick": "t4nk004"},
|
||||
{"nick": "tbm", "name": "Martin Michlmayr"},
|
||||
{"nick": "tau"},
|
||||
{"nick": "Teiresias"},
|
||||
{"nick": "thamlett", "name": "Timothy Hamlett"},
|
||||
{"nick": "thedrunkyak", "name": "Dan Fuhr"},
|
||||
{"nick": "TrinityDeath", "name": "Jethro Lu"},
|
||||
{"nick": "triumvir", "name": "Corin Schedler"},
|
||||
{"nick": "trompetin17", "name": "Juan Guillermo"},
|
||||
{"nick": "vladislavbelov", "name": "Vladislav Belov"},
|
||||
{"nick": "vts", "name": "Jeroen DR"},
|
||||
{"nick": "WhiteTreePaladin", "name": "Brian Ashley"},
|
||||
{"nick": "wraitii", "name": "Lancelot de Ferrière le Vayer"},
|
||||
{"nick": "Xentelian", "name": "Mark Strawson"},
|
||||
{"nick": "Xienen", "name": "Dayle Flowers"},
|
||||
{"nick": "xtizer", "name": "Matt Green"},
|
||||
{"nick": "yashi", "name": "Yasushi Shoji"},
|
||||
{"nick": "Ykkrosh", "name": "Philip Taylor"},
|
||||
{"nick": "Yves"},
|
||||
{"nick": "Zeusthor", "name": "Jeffrey Tavares"},
|
||||
{"nick": "zoot"},
|
||||
{"nick": "zsol", "name": "Zsolt Dollenstein"},
|
||||
{"nick": "Zyi", "name": "Charles De Meulenaer"}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
40
binaries/data/mods/public/gui/credits/texts/special.json
Normal file
40
binaries/data/mods/public/gui/credits/texts/special.json
Normal file
@ -0,0 +1,40 @@
|
||||
{
|
||||
"Content": [
|
||||
{
|
||||
"Title": "In Memoriam",
|
||||
"List": [
|
||||
{"nick": "Phoenix-TheRealDeal", "name": "Ken Wood"},
|
||||
{"nick": "Dak Lozar", "name": "Dave Loeser"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "Special thanks to:",
|
||||
"Content": [
|
||||
{
|
||||
"Subtitle": "0 A.D. Founder",
|
||||
"List": [{"nick": "Wijitmaker", "name": "Jason Bishop"}]
|
||||
},
|
||||
{
|
||||
"Subtitle": "Project Leaders",
|
||||
"List": [
|
||||
{"nick": "feneur", "name": "Erik Johansson"},
|
||||
{"nick": "Mythos_Ruler", "name": "Michael D. Hafer"}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Subtitle": "Co-Lead Designers",
|
||||
"List": [
|
||||
{"nick": "Phoenix-TheRealDeal", "name": "Ken Wood"},
|
||||
{"nick": "Acumen", "name": "Stuart Walpole"}
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"Title": "And thanks to the entire community for making 0 A.D. possible."
|
||||
},
|
||||
{
|
||||
"Title": "No historians were harmed during the development of this project."
|
||||
}
|
||||
]
|
||||
}
|
12
binaries/data/mods/public/gui/page_credits.xml
Normal file
12
binaries/data/mods/public/gui/page_credits.xml
Normal file
@ -0,0 +1,12 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<page>
|
||||
<include>common/modern/setup.xml</include>
|
||||
<include>common/modern/styles.xml</include>
|
||||
<include>common/modern/sprites.xml</include>
|
||||
|
||||
<include>common/global.xml</include>
|
||||
|
||||
<include>credits/styles.xml</include>
|
||||
<include>credits/sprites.xml</include>
|
||||
<include>credits/credits.xml</include>
|
||||
</page>
|
@ -535,28 +535,14 @@
|
||||
<translate>Alpha XIX: Syllepsis</translate>
|
||||
<keep>[/font]\n\n</keep>
|
||||
<translate>WARNING: This is an early development version of the game. Many features have not been added yet.</translate>
|
||||
<keep>\n\n</keep>
|
||||
<translate>Get involved at: play0ad.com</translate>
|
||||
</attribute>
|
||||
</object>
|
||||
|
||||
<!-- CONTACT METHODS -->
|
||||
<!-- GET INVOLVED -->
|
||||
<object type="button"
|
||||
style="StoneButton"
|
||||
tooltip_style="pgToolTip"
|
||||
size="8 100%-108 100%-8 100%-80"
|
||||
>
|
||||
<translatableAttribute id="caption">Help with the Translation!</translatableAttribute>
|
||||
<translatableAttribute id="tooltip">Click to open the 0 A.D. translate page in your browser.</translatableAttribute>
|
||||
<action on="Press"><![CDATA[
|
||||
openURL("http://trac.wildfiregames.com/wiki/Localization");
|
||||
]]></action>
|
||||
</object>
|
||||
|
||||
<object type="button"
|
||||
style="StoneButton"
|
||||
tooltip_style="pgToolTip"
|
||||
size="8 100%-72 50%-4 100%-44"
|
||||
size="8 100%-144 50%-4 100%-116"
|
||||
>
|
||||
<translatableAttribute id="caption">Website</translatableAttribute>
|
||||
<translatableAttribute id="tooltip">Click to open play0ad.com in your web browser.</translatableAttribute>
|
||||
@ -568,7 +554,7 @@
|
||||
<object type="button"
|
||||
style="StoneButton"
|
||||
tooltip_style="pgToolTip"
|
||||
size="50%+4 100%-72 100%-8 100%-44"
|
||||
size="50%+4 100%-144 100%-8 100%-116"
|
||||
>
|
||||
<translatableAttribute id="caption">Chat</translatableAttribute>
|
||||
<translatableAttribute id="tooltip">Click to open the 0 A.D. IRC chat in your browser. (#0ad on webchat.quakenet.org)</translatableAttribute>
|
||||
@ -580,7 +566,7 @@
|
||||
<object type="button"
|
||||
style="StoneButton"
|
||||
tooltip_style="pgToolTip"
|
||||
size="8 100%-36 100%-8 100%-8"
|
||||
size="8 100%-108 100%-8 100%-80"
|
||||
>
|
||||
<translatableAttribute id="caption">Report a Bug</translatableAttribute>
|
||||
<translatableAttribute id="tooltip">Click to visit 0 A.D. Trac to report a bug, crash, or error.</translatableAttribute>
|
||||
@ -589,6 +575,30 @@
|
||||
]]></action>
|
||||
</object>
|
||||
|
||||
<object type="button"
|
||||
style="StoneButton"
|
||||
tooltip_style="pgToolTip"
|
||||
size="8 100%-72 100%-8 100%-44"
|
||||
>
|
||||
<translatableAttribute id="caption">Translate the game</translatableAttribute>
|
||||
<translatableAttribute id="tooltip">Click to open the 0 A.D. translate page in your browser.</translatableAttribute>
|
||||
<action on="Press"><![CDATA[
|
||||
openURL("http://trac.wildfiregames.com/wiki/Localization");
|
||||
]]></action>
|
||||
</object>
|
||||
|
||||
<object type="button"
|
||||
style="StoneButton"
|
||||
tooltip_style="pgToolTip"
|
||||
size="8 100%-36 100%-8 100%-8"
|
||||
>
|
||||
<translatableAttribute id="caption">Credits</translatableAttribute>
|
||||
<translatableAttribute id="tooltip">Click to see the 0 A.D. credits.</translatableAttribute>
|
||||
<action on="Press">
|
||||
Engine.PushGuiPage("page_credits.xml", {});
|
||||
</action>
|
||||
</object>
|
||||
|
||||
</object>
|
||||
|
||||
<!-- LOGO AND BUILD VERSION -->
|
||||
|
@ -1,67 +0,0 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
"0 A.D."
|
||||
|
||||
Cast of Characters
|
||||
Dude #768 Minion #392
|
||||
Dude #162 Minion #864
|
||||
Dude #794 Minion #894
|
||||
Dude #765 Minion #896
|
||||
Dude #668 Minion #331
|
||||
Dude #748 Minion #892
|
||||
Dude #963 Minion #870
|
||||
Dude #564 Minion #321
|
||||
Dude #731 Minion #891
|
||||
Polly Gonne Dudette
|
||||
|
||||
and introducing
|
||||
Roastin' Staff Rooster as himself
|
||||
|
||||
No historians were harmed during the development of this project.
|
||||
|
||||
© 2002-2007 Wildfire Games. All rights reserved.
|
||||
|
||||
This product is intended solely for private home use. Public performance or other use is expressly prohibited.
|
@ -236,6 +236,7 @@
|
||||
"globalscripts/**.js",
|
||||
"gui/civinfo/**.js",
|
||||
"gui/common/**.js",
|
||||
"gui/credits/**.js",
|
||||
"gui/locale/**.js",
|
||||
"gui/msgbox/**.js",
|
||||
"gui/options/**.js",
|
||||
@ -268,6 +269,7 @@
|
||||
"globalscripts/**.xml",
|
||||
"gui/civinfo/**.xml",
|
||||
"gui/common/**.xml",
|
||||
"gui/credits/**.xml",
|
||||
"gui/locale/**.xml",
|
||||
"gui/msgbox/**.xml",
|
||||
"gui/options/**.xml",
|
||||
@ -286,6 +288,18 @@
|
||||
"translate": {}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"extractor": "json",
|
||||
"filemasks": [
|
||||
"gui/credits/texts/**.json"
|
||||
],
|
||||
"options": {
|
||||
"keywords": [
|
||||
"Title",
|
||||
"Subtitle",
|
||||
]
|
||||
}
|
||||
},
|
||||
{
|
||||
"extractor": "json",
|
||||
|
127
source/tools/i18n/creditTranslators.py
Normal file
127
source/tools/i18n/creditTranslators.py
Normal file
@ -0,0 +1,127 @@
|
||||
#!/usr/bin/env python2
|
||||
# -*- coding:utf-8 -*-
|
||||
#
|
||||
# Copyright (C) 2016 Wildfire Games.
|
||||
# This file is part of 0 A.D.
|
||||
#
|
||||
# 0 A.D. is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# 0 A.D. is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with 0 A.D. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
"""
|
||||
This file imports the translators credits located in the public mod GUI files and
|
||||
runs through .po files to add possible new translators to it.
|
||||
It only appends new people, so it is possible to manually add names in the credits
|
||||
file and they won't be overwritten by running this script.
|
||||
|
||||
Translatable strings will be extracted from the generated file, so this should be ran
|
||||
before updateTemplates.py.
|
||||
"""
|
||||
|
||||
from __future__ import absolute_import, division, print_function, unicode_literals
|
||||
|
||||
import json, os, glob, re
|
||||
|
||||
# Credited languages - Keep in sync with source/tools/dist/remove-incomplete-translations.sh
|
||||
langs = {
|
||||
'cs': 'Czech',
|
||||
'de': 'German',
|
||||
'en_GB': 'English (UK)',
|
||||
'es': 'Spanish',
|
||||
'fr': 'French',
|
||||
'gd': 'Gaelic',
|
||||
'gl': 'Galician',
|
||||
'id': 'Indonesian',
|
||||
'it': 'Italian',
|
||||
'nl': 'Dutch',
|
||||
'pl': 'Polish',
|
||||
'pt_PT': 'Portuguese (Portugal)',
|
||||
'pt_BR': 'Portuguese (Brazil)',
|
||||
'ru': 'Russian',
|
||||
'sk': 'Slovak',
|
||||
'tr': 'Turkish'}
|
||||
|
||||
root = '../../../'
|
||||
|
||||
poLocations = [
|
||||
'binaries/data/l10n/',
|
||||
'binaries/data/mods/public/l10n/',
|
||||
'binaries/data/mods/mod/l10n/']
|
||||
|
||||
creditsLocation = 'binaries/data/mods/public/gui/credits/texts/translators.json'
|
||||
|
||||
# Load JSON data
|
||||
creditsFile = open(root + creditsLocation)
|
||||
JSONData = json.load(creditsFile)
|
||||
creditsFile.close()
|
||||
|
||||
# This dictionnary will hold creditors lists for each language, indexed by code
|
||||
langsLists = {}
|
||||
|
||||
# Create the new JSON data
|
||||
newJSONData = {'Content': []}
|
||||
|
||||
# First get the already existing lists. If they correspond with some of the credited languages,
|
||||
# add them to the new data after processing, else add them immediately.
|
||||
# NB: All of this is quite inefficient
|
||||
for element in JSONData['Content']:
|
||||
if 'Title' not in element or element['Title'] not in langs.values():
|
||||
newJSONData['Content'].append(element)
|
||||
continue
|
||||
|
||||
for (langCode, langName) in langs.items():
|
||||
if element['Title'] == langName:
|
||||
langsLists[langCode] = element['List']
|
||||
break
|
||||
|
||||
# Now actually go through the list of languages and search the .po files for people
|
||||
|
||||
# Prepare some regexes
|
||||
commentMatch = re.compile('#.*')
|
||||
translatorMatch = re.compile('# ([\w\s]*)(?: <.*>)?, [0-9-]', re.UNICODE)
|
||||
|
||||
# Search
|
||||
for lang in langs.keys():
|
||||
if lang not in langsLists.keys():
|
||||
langsLists[lang] = []
|
||||
|
||||
for location in poLocations:
|
||||
files = glob.glob(root + location + lang + '.*.po')
|
||||
for file in files:
|
||||
poFile = open(file.replace('\\', '/'))
|
||||
reached = False
|
||||
for line in poFile:
|
||||
line = line.decode('utf8')
|
||||
if reached:
|
||||
if not commentMatch.match(line):
|
||||
break
|
||||
m = translatorMatch.match(line)
|
||||
if m:
|
||||
langsLists[lang].append(m.group(1))
|
||||
if line.strip() == '# Translators:':
|
||||
reached = True
|
||||
poFile.close()
|
||||
|
||||
# Sort and remove duplicates
|
||||
# Sorting should ignore case to have a neat credits list
|
||||
langsLists[lang] = sorted(set(langsLists[lang]), cmp=lambda x,y: cmp(x.lower(), y.lower()))
|
||||
|
||||
# Now insert the new data into the new JSON file
|
||||
for (langCode, langList) in sorted(langsLists.items()):
|
||||
newJSONData['Content'].append({'Title': langs[langCode], 'List': []})
|
||||
for name in langList:
|
||||
newJSONData['Content'][-1]['List'].append({'name': name})
|
||||
|
||||
# Save the JSON data to the credits file
|
||||
creditsFile = open(root + creditsLocation, 'w')
|
||||
json.dump(newJSONData, creditsFile, indent=4)
|
||||
creditsFile.close()
|
Loading…
Reference in New Issue
Block a user