X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcredits.qc;h=4ec6c08267aff96fc4c4ae8329a0c7fc54a2bc6e;hb=1f954241673ffc468c069247a6cf1967388dd132;hp=99059a1e485364fa227b5020e09ff546a68cc357;hpb=b8a00c528b5e3230a6ca9b776b79c286d9b26c14;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/credits.qc b/qcsrc/menu/xonotic/credits.qc index 99059a1e48..4ec6c08267 100644 --- a/qcsrc/menu/xonotic/credits.qc +++ b/qcsrc/menu/xonotic/credits.qc @@ -6,43 +6,27 @@ PERSON(Ant "Antibody" Zucaro) \ PERSON(Marvin "Mirio" Beck) \ PERSON(Merlijn Hofstra) \ - PERSON(Peter "Morphed" Pielak) \ PERSON(Ruszkai "CuBe0wL" Ákos) \ - PERSON(Samual "Ares" Lenks) \ - PERSON(TimePath) \ PERSON(Tyler "-z-" Mulligan) \ PERSON(Zac "Mario" Jardine) \ NL() \ TITLE(_("Extended Team")) \ - PERSON(AllieWay) \ PERSON(Antonio "terencehill" Piu) \ - PERSON(Archer) \ - PERSON(BuddyFriendGuy) \ - PERSON(Debugger) \ - PERSON(Diomedes) \ + PERSON(bones_was_here) \ + PERSON(David "Cloudwalk" Knapp) \ PERSON(Freddy) \ - PERSON(GATTS) \ PERSON(Halogene) \ - PERSON(IDWMaster) \ PERSON(Jan "zykure" Behrens) \ - PERSON(JH0nny) \ - PERSON(Jubilant) \ - PERSON(Łukasz "kuniu the frogg" Polek) \ - PERSON(martin-t) \ - PERSON(Matthias "matthiaskrgr" Krüger) \ - PERSON(Mattia "Melanosuchus" Basaglia) \ + PERSON(Morosophos) \ PERSON(MrBougo) \ - PERSON(Nick "bitbomb" Lucca) \ PERSON(nilyt/nyov) \ PERSON(Nitroxis) \ PERSON(packer) \ - PERSON(Pearce "theShadow" Michal) \ - PERSON(Rasmus "FruitieX" Eskola) \ - PERSON(s1lence) \ PERSON(Severin "sev" Meyer) \ - PERSON(Soelen) \ - PERSON(Sydes) \ - PERSON(unfa) \ + PERSON(SpiKe) \ + PERSON(Thomas "illwieckz" Debesse) \ + PERSON(Victor "LegendGuard" Jaume) \ + PERSON(z411) \ NL() \ NL() \ FUNCTION(_("Website")) \ @@ -106,11 +90,17 @@ PERSON(unfa) \ NL() \ FUNCTION(_("Game Code")) \ - PERSON(Samual "Ares" Lenks) \ - PERSON(Rudolf "divVerent" Polzer) \ + PERSON(Antonio "terencehill" Piu) \ PERSON(Jakob "tZork" Markström Gröhn) \ + PERSON(martin-t) \ + PERSON(Mattia "Melanosuchus" Basaglia) \ + PERSON(Matthias "matthiaskrgr" Krüger) \ PERSON(Rasmus "FruitieX" Eskola) \ + PERSON(Rudolf "divVerent" Polzer) \ + PERSON(Samual "Ares" Lenks) \ PERSON(TimePath) \ + PERSON(Victor "LegendGuard" Jaume) \ + PERSON(z411) \ PERSON(Zac "Mario" Jardine) \ NL() \ FUNCTION(_("Marketing / PR")) \ @@ -126,9 +116,10 @@ NL() \ TITLE(_("Game Engine")) \ FUNCTION("DarkPlaces") \ - PERSON(Forest "LordHavoc" Hale) \ + PERSON(Ashley Rose "LadyHavoc" Hale) \ NL() \ FUNCTION(_("Engine Additions")) \ + PERSON(David "Cloudwalk" Knapp) \ PERSON(Rudolf "divVerent" Polzer) \ PERSON(Samual "Ares" Lenks) \ NL() \ @@ -140,10 +131,11 @@ NL() \ NL() \ TITLE(_("Other Active Contributors")) \ - PERSON(Erik "Ablu" Schilling) \ + PERSON(Jeff) \ PERSON(Mircea "Taoki" Kitsune) \ PERSON(Penguinum) \ - PERSON(Jeff) \ + PERSON(slava) \ + PERSON(Victor "LegendGuard" Jaume) \ NL() \ NL() \ TITLE(_("Translators")) \ @@ -184,6 +176,7 @@ NL() \ FUNCTION(_("Dutch")) \ PERSON(Alexander "freefang" van Dam) \ + PERSON(Joeke "Mappack" de Graaf) \ PERSON(Jonathan "Jonakeys" van der Steege) \ PERSON(PinkRobot) \ PERSON(vegiburger) \ @@ -227,14 +220,20 @@ PERSON(Ruszkai "CuBe0wL" Ákos) \ PERSON(xaN1C4n3) \ NL() \ + FUNCTION(_("Irish")) \ + PERSON(Kevin "kscanne" Scannell) \ + NL() \ FUNCTION(_("Italian")) \ PERSON(Antonio "terencehill" Piu) \ PERSON(Felice "MaidenBeast" Sallustio) \ PERSON(stdi) \ PERSON(XCostaX) \ NL() \ + FUNCTION(_("Japanese")) \ + PERSON(Victor "LegendGuard" Jaume) \ + NL() \ FUNCTION(_("Kazakh")) \ - PERSON("Артем "bystrov.arterm" Быстров") \ + PERSON(Артем "bystrov.arterm" Быстров) \ NL() \ FUNCTION(_("Korean")) \ PERSON(Jisoo "s6e9x" Lim) \ @@ -246,6 +245,7 @@ PERSON(Amadeusz "amade/proraide" Sławiński) \ PERSON(Artur "artur9010" Motyka) \ PERSON(Jakub "KubeQ11" Pędziszewski) \ + PERSON(Kriss7475) \ NL() \ FUNCTION(_("Portuguese")) \ PERSON(Ivan Paulos "greylica" Tomé) \ @@ -271,8 +271,12 @@ PERSON(Nikoli) \ PERSON(Sergej "Clearness High" Lutsyk) \ NL() \ + FUNCTION(_("Scottish Gaelic")) \ + PERSON_("GunChleoc") \ + NL() \ FUNCTION(_("Serbian")) \ PERSON_("Саша \"salepetronije\" Петровић") \ + PERSON(Marko M. Kostić) \ PERSON(Pendulla) \ PERSON(Rafael "Ristovski") \ NL() \ @@ -285,6 +289,8 @@ PERSON(roader_gentoo) \ PERSON(Rodrigo Mouton Laudin) \ PERSON(SouL) \ + PERSON(Starfire24680) \ + PERSON(Victor "LegendGuard" Jaume) \ NL() \ FUNCTION(_("Swedish")) \ PERSON(Karl-Oskar "machine" Rikås) \ @@ -307,11 +313,13 @@ PERSON(BigMac) \ PERSON(Braden "meoblast001" Walters) \ PERSON(Brain Younds) \ + PERSON(BuddyFriendGuy) \ PERSON(Chris "amethyst7" Matz) \ PERSON(Christian Ice) \ PERSON(Clinton "Kaziganthe" Freeman) \ PERSON(Dan "Digger" Korostelev) \ PERSON(Dan "Wazat" Hale) \ + PERSON(Diomedes) \ PERSON(Dokujisan) \ PERSON(Donkey) \ PERSON(dstrek) \ @@ -319,17 +327,21 @@ PERSON(Edgenetwork) \ PERSON(Edward "Ed" Holness) \ PERSON(Eric "Munyul Verminard" Sambach) \ + PERSON(Erik "Ablu" Schilling) \ PERSON(Fabien "H. Reaper" Tschirhart) \ PERSON(Florian Paul "lda17h" Schmidt) \ PERSON(FrikaC) \ PERSON(Garth "Zombie" Hendy) \ + PERSON(GATTS) \ PERSON(Gerd "Elysis" Raudenbusch) \ PERSON(Gottfried "Toddd" Hofmann) \ PERSON(Henning "Tymo" Janssen) \ PERSON(Innovati) \ + PERSON(JH0nny) \ PERSON(Jitspoe) \ PERSON(Jody Gallagher) \ PERSON(Jope "Sless" Withers) \ + PERSON(Jubilant) \ PERSON(Juergen "LowDragon" Timm) \ PERSON(KadaverJack) \ PERSON(Kevin "Tyrann" Shanahan) \ @@ -339,6 +351,7 @@ PERSON(Lee David Ash) \ PERSON(Lee Vermeulen) \ PERSON(leileilol) \ + PERSON(Lyberta) \ PERSON(magorian) \ PERSON(Marius "GreEn`mArine" Shekow) \ PERSON(Marko "Urre" Permanto) \ @@ -366,10 +379,13 @@ PERSON(Robert "ai" Kuroto) \ PERSON(Ronan) \ PERSON(Sajt) \ + PERSON(Samual "Ares" Lenks) \ PERSON(Saulo "mand1nga" Gil) \ PERSON(Shaggy) \ PERSON(Shank) \ + PERSON(s1lence) \ PERSON(Simon O’Callaghan) \ + PERSON(Soelen) \ PERSON(SomeGuy) \ PERSON(SoulKeeper_p) \ PERSON(Spike) \ @@ -377,6 +393,7 @@ PERSON(Stephan "esteel" Stahl) \ PERSON(Steve Vermeulen) \ PERSON(Supajoe) \ + PERSON(Sydes) \ PERSON(Tei) \ PERSON(The player with the unnecessarily long name) \ PERSON(Tomaz) \ @@ -386,25 +403,57 @@ PERSON(William "Willis" Weilep) \ PERSON(Yves "EviLair" Allaire) \ PERSON(Zenex) \ + PERSON(... and a goat) \ /**/ -int credits_get() + +int CREDITS_TYPE_TITLE = 2; +int CREDITS_TYPE_FUNCTION = 1; +int CREDITS_TYPE_PERSON = 0; +int CREDITS_TYPE_NL = -1; +void credits_add_line(int fh, int n, int type, string line) { - int n = buf_create(); - #define CREDITS_TITLE(t) bufstr_add(n, strcat("**", t), 0); - #define CREDITS_FUNCTION(f) bufstr_add(n, strcat("*", f), 0); - #define CREDITS_PERSON(p) bufstr_add(n, p, 0); + if (type == CREDITS_TYPE_TITLE) + line = strcat("**", line); + else if (type == CREDITS_TYPE_FUNCTION) + line = strcat("*", line); + + if (fh >= 0) + fputs(fh, strcat(line, "\n")); + if (n >= 0) + bufstr_add(n, line, 0); +} + +void credits_build(int fh, int n) +{ + #define CREDITS_TITLE(t) credits_add_line(fh, n, CREDITS_TYPE_TITLE, t); + #define CREDITS_FUNCTION(f) credits_add_line(fh, n, CREDITS_TYPE_FUNCTION, f); + #define CREDITS_PERSON(p) credits_add_line(fh, n, CREDITS_TYPE_PERSON, p); #define _CREDITS_PERSON(p) CREDITS_PERSON(#p) - #define CREDITS_NL() bufstr_add(n, "", 0); - CREDITS(CREDITS_TITLE, CREDITS_FUNCTION, _CREDITS_PERSON, CREDITS_PERSON, CREDITS_NL) + #define CREDITS_NL() credits_add_line(fh, n, CREDITS_TYPE_NL, ""); + CREDITS(CREDITS_TITLE, CREDITS_FUNCTION, _CREDITS_PERSON, CREDITS_PERSON, CREDITS_NL) #undef CREDITS_TITLE #undef CREDITS_FUNCTION #undef CREDITS_PERSON #undef _CREDITS_PERSON #undef CREDITS_NL +} + +int credits_get() +{ + int n = buf_create(); + credits_build(-1, n); return n; } +void credits_export() +{ + int fh = fopen("credits.txt", FILE_WRITE); + if(fh < 0) + return; + credits_build(fh, -1); +} + #undef CREDITS entity makeXonoticCreditsList() @@ -417,8 +466,13 @@ entity makeXonoticCreditsList() void XonoticCreditsList_configureXonoticCreditsList(entity me) { me.configureXonoticListBox(me); - me.bufferIndex = credits_get(); + me.bufferIndex = credits_get(); me.nItems = buf_getsize(me.bufferIndex); + if (cvar("_menu_credits_export")) // set by the menu_credits_export alias + { + credits_export(); + cvar_set("_menu_credits_export", "0"); + } } void XonoticCreditsList_destroy(entity me) {