X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fmenu%2Fxonotic%2Fcredits.qc;h=4ec6c08267aff96fc4c4ae8329a0c7fc54a2bc6e;hb=1f954241673ffc468c069247a6cf1967388dd132;hp=86f0f6d98b01b43cadcdc527bb35a50977364c33;hpb=d44927502027bfa3ccd6ccc98d9b7d6285c182c3;p=xonotic%2Fxonotic-data.pk3dir.git diff --git a/qcsrc/menu/xonotic/credits.qc b/qcsrc/menu/xonotic/credits.qc index 86f0f6d98..4ec6c0826 100644 --- a/qcsrc/menu/xonotic/credits.qc +++ b/qcsrc/menu/xonotic/credits.qc @@ -6,41 +6,27 @@ PERSON(Ant "Antibody" Zucaro) \ PERSON(Marvin "Mirio" Beck) \ PERSON(Merlijn Hofstra) \ - PERSON(Peter "Morphed" Pielak) \ PERSON(Ruszkai "CuBe0wL" Ákos) \ - 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(bones_was_here) \ PERSON(David "Cloudwalk" Knapp) \ - PERSON(Debugger) \ - PERSON(Diomedes) \ PERSON(Freddy) \ - PERSON(GATTS) \ PERSON(Halogene) \ PERSON(Jan "zykure" Behrens) \ - PERSON(JH0nny) \ - 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")) \ @@ -104,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")) \ @@ -140,9 +132,10 @@ NL() \ TITLE(_("Other Active Contributors")) \ PERSON(Jeff) \ - PERSON(Lyberta) \ PERSON(Mircea "Taoki" Kitsune) \ PERSON(Penguinum) \ + PERSON(slava) \ + PERSON(Victor "LegendGuard" Jaume) \ NL() \ NL() \ TITLE(_("Translators")) \ @@ -236,8 +229,11 @@ 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) \ @@ -294,6 +290,7 @@ PERSON(Rodrigo Mouton Laudin) \ PERSON(SouL) \ PERSON(Starfire24680) \ + PERSON(Victor "LegendGuard" Jaume) \ NL() \ FUNCTION(_("Swedish")) \ PERSON(Karl-Oskar "machine" Rikås) \ @@ -316,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) \ @@ -333,10 +332,12 @@ 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) \ @@ -350,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) \ @@ -381,7 +383,9 @@ PERSON(Saulo "mand1nga" Gil) \ PERSON(Shaggy) \ PERSON(Shank) \ + PERSON(s1lence) \ PERSON(Simon O’Callaghan) \ + PERSON(Soelen) \ PERSON(SomeGuy) \ PERSON(SoulKeeper_p) \ PERSON(Spike) \ @@ -389,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) \ @@ -401,23 +406,54 @@ 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() @@ -430,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) {