6#define CREDITS(TITLE, FUNCTION, PERSON, NL) \
7 TITLE(_("Core Team")) \
8 PERSON("Ant \"Antibody\" Zucaro") \
9 PERSON("Antonio \"terencehill\" Piu") \
10 PERSON("bones_was_here") \
11 PERSON("Merlijn Hofstra") \
12 PERSON("Rudolf \"divVerent\" Polzer") \
13 PERSON("Ruszkai \"CuBe0wL\" Ákos") \
14 PERSON("Tyler \"-z-\" Mulligan") \
16 TITLE(_("Extended Team")) \
21 PERSON("Jan \"zykure\" Behrens") \
23 PERSON("Morosophos") \
25 PERSON("nilyt/nyov") \
28 PERSON("Severin \"sev\" Meyer") \
29 PERSON("Thomas \"illwieckz\" Debesse") \
30 PERSON("Victor \"LegendGuard\" Jaume") \
31 PERSON("Yannick \"SpiKe\" Le Guen") \
35 FUNCTION(_("Website")) \
36 PERSON("Ant \"Antibody\" Zucaro (web)") \
38 PERSON("Merlijn Hofstra") \
39 PERSON("Tyler \"-z-\" Mulligan (web / game)") \
41 FUNCTION(_("Stats")) \
42 PERSON("Ant \"Antibody\" Zucaro") \
43 PERSON("Jan \"zykure\" Behrens") \
46 PERSON("KingPimpCommander") \
47 PERSON("Pearce \"theShadow\" Michal") \
48 PERSON("Peter \"Morphed\" Pielak") \
49 PERSON("Sahil \"DiaboliK\" Singhal") \
50 PERSON("Sam \"LJFHutch\" Hutchinson") \
51 PERSON("Severin \"sev\" Meyer") \
53 FUNCTION(_("Animation")) \
55 PERSON("Sahil \"DiaboliK\" Singhal") \
57 FUNCTION(_("Campaign")) \
59 PERSON("Marvin \"Mirio\" Beck") \
60 PERSON("Yannick \"SpiKe\" Le Guen") \
62 FUNCTION(_("Level Design")) \
63 PERSON("Amadeusz \"amade/proraide\" Sławiński") \
64 PERSON("Ben \"MooKow\" Banker") \
67 PERSON("Cuinn \"Cuinnton\" Herrick") \
69 PERSON("Hugo \"Calinou\" Locurcio") \
70 PERSON("Jakob \"tZork\" Markström Gröhn") \
71 PERSON("Konrad \"Justin\" Slawinski") \
73 PERSON("Łukasz \"kuniu the frogg\" Polek") \
75 PERSON("Maik \"SavageX\" Merten") \
76 PERSON("Marvin \"Mirio\" Beck") \
79 PERSON("Pearce \"theShadow\" Michal") \
80 PERSON("Rasmus \"FruitieX\" Eskola") \
81 PERSON("Ruszkai \"CuBe0wL\" Ákos") \
82 PERSON("Severin \"sev\" Meyer") \
85 PERSON("Yannick \"SpiKe\" Le Guen") \
87 FUNCTION(_("Music / Sound FX")) \
88 PERSON("AquaNova (Archer)") \
91 PERSON("Independent.nu") \
92 PERSON("Lea \"TheAudioMonkey\" Edwards") \
93 PERSON("[master]mind") \
94 PERSON("Merlijn Hofstra") \
95 PERSON("Mick Rippon") \
96 PERSON("Nick \"bitbomb\" Lucca") \
98 PERSON("Saulo \"mand1nga\" Gil") \
99 PERSON("{SC0RP} - Ian \"ID\" Dorrell") \
103 FUNCTION(_("Game Code")) \
104 PERSON("Antonio \"terencehill\" Piu") \
105 PERSON("bones_was_here") \
107 PERSON("Dr. Jaska") \
108 PERSON("Jakob \"tZork\" Markström Gröhn") \
112 PERSON("Matthias \"matthiaskrgr\" Krüger") \
113 PERSON("Mattia \"Melanosuchus\" Basaglia") \
114 PERSON("Rasmus \"FruitieX\" Eskola") \
115 PERSON("Rudolf \"divVerent\" Polzer") \
116 PERSON("Samual \"Ares\" Lenks") \
118 PERSON("Victor \"LegendGuard\" Jaume") \
120 PERSON("Zac \"Mario\" Jardine") \
122 FUNCTION(_("Marketing / PR")) \
123 PERSON("Ruszkai \"CuBe0wL\" Ákos") \
124 PERSON("Samual \"Ares\" Lenks") \
125 PERSON("Saulo \"mand1nga\" Gil") \
126 PERSON("Tyler \"-z-\" Mulligan") \
128 FUNCTION(_("Legal")) \
129 PERSON("Merlijn Hofstra") \
130 PERSON("Rudolf \"divVerent\" Polzer") \
133 TITLE(_("Game Engine")) \
134 FUNCTION("DarkPlaces") \
135 PERSON("Ashley Rose \"LadyHavoc\" Hale") \
137 FUNCTION(_("Engine Additions")) \
138 PERSON("bones_was_here") \
139 PERSON("David \"Cloudwalk\" Knapp") \
140 PERSON("Rudolf \"divVerent\" Polzer") \
141 PERSON("Samual \"Ares\" Lenks") \
144 TITLE(_("Compiler")) \
146 PERSON("Dale \"graphitemaster\" Weiler") \
147 PERSON("Wolfgang \"Blub\\0\" Bumiller") \
151 TITLE(_("Translators")) \
153 FUNCTION(_("Asturian")) \
156 PERSON("Tornes \"Tornes.Llume\" Ḷḷume") \
159 FUNCTION(_("Belarusian")) \
160 PERSON("Mihail \"meequz\" Varantsou") \
161 PERSON("Pavel \"Pashok11\" Mordachev") \
163 FUNCTION(_("Bulgarian")) \
164 PERSON("Alexander \"alex4o\" Bonin") \
166 PERSON("ifohancroft") \
167 PERSON("Krasimir \"kmikov\" Mikov") \
169 PERSON("Nik \"cozmo\" Dim") \
170 PERSON("set_killer") \
174 FUNCTION(_("Chinese (China)")) \
175 PERSON("Antonidas") \
177 PERSON("CodingJellyfish") \
178 PERSON("EricChen1") \
181 PERSON("Liang \"dxkliu\" Liu") \
182 PERSON("Losier \"losierb\" Blackheath") \
183 PERSON("Matthew \"wjjmatthew\" Wu") \
186 PERSON("Richard \"seedship\" Nai") \
187 PERSON("sapphireliu") \
189 PERSON("韬 \"jiegushijia\" 刘") \
191 FUNCTION(_("Chinese (Hong Kong)")) \
192 PERSON("Antonidas") \
193 PERSON("CodingJellyfish") \
196 PERSON("Liang \"dxkliu\" Liu") \
197 PERSON("Losier \"losierb\" Blackheath") \
198 PERSON("Matthew \"wjjmatthew\" Wu") \
201 PERSON("sapphireliu") \
202 PERSON("韬 \"jiegushijia\" 刘") \
204 FUNCTION(_("Chinese (Taiwan)")) \
206 PERSON("Antonidas") \
208 PERSON("CodingJellyfish") \
209 PERSON("EricChen1") \
210 PERSON("Jeff \"s8321414\" Huang") \
212 PERSON("Liang \"dxkliu\" Liu") \
213 PERSON("Losier \"losierb\" Blackheath") \
215 PERSON("Matthew \"wjjmatthew\" Wu") \
216 PERSON("msn1018927464") \
218 PERSON("sapphireliu") \
219 PERSON("Simon \"XMLSDK\" Chow") \
220 PERSON("韬 \"jiegushijia\" 刘") \
223 FUNCTION(_("Czech")) \
224 PERSON("Adam \"Admi335\" Říha") \
225 PERSON("Adam \"SakDrakken\" Krasa") \
226 PERSON("Aleš \"ramses1\" Svoboda") \
227 PERSON("fasdasd \"kitfildom\" sdasd") \
228 PERSON("gamingforyou875") \
229 PERSON("Jan \"kockahonza\" Kocka") \
230 PERSON("Jiří \"Havro\" Vrána") \
232 PERSON("Martin Krámský") \
233 PERSON("shogun assassin/woky") \
234 PERSON("Superovoce") \
235 PERSON("Tomáš \"CZHeron\" Volavka") \
238 FUNCTION(_("Dutch")) \
239 PERSON("Alexander \"freefang\" van Dam") \
240 PERSON("Contijn \"Sojiro84\" Buijs") \
241 PERSON("Joeke \"Mappack\" de Graaf") \
242 PERSON("Jonathan \"Jonakeys\" van der Steege") \
243 PERSON("joostruis") \
244 PERSON("PinkRobot") \
245 PERSON("vegiburger") \
247 FUNCTION(_("English (Australia)")) \
248 PERSON("Ben Dundon") \
250 PERSON("Laurene \"sunflowers\" Albrand") \
251 PERSON("Matthew \"wjjmatthew\" Wu") \
252 PERSON("Stuart \"Cefiar\" Young") \
253 PERSON("Zac \"Mario\" Jardine") \
255 FUNCTION(_("English (United Kingdom)")) \
256 PERSON("arduinoisgreat") \
259 FUNCTION(_("Finnish")) \
260 PERSON("Dr. Jaska") \
261 PERSON("Heidi Wenger") \
262 PERSON("Henry \"Exitium\" Sanmark") \
263 PERSON("irisxerno") \
264 PERSON("Jaakko Saarikko") \
265 PERSON("Jonas \"PowaTree\" Sahlberg") \
266 PERSON("LINUX SAUNA") \
268 PERSON("Oi Suomi On!") \
269 PERSON("Rasmus \"FruitieX\" Eskola") \
272 FUNCTION(_("French")) \
274 PERSON("Aodren \"Gwlanbzh\" Le Gloanec") \
275 PERSON("adrien \"VRad\" vigneron") \
276 PERSON("Adgenodux") \
278 PERSON("HelloWorld42404") \
279 PERSON("Hugo \"Calinou\" Locurcio") \
280 PERSON("Iso \"coughingmouse\" Lee") \
281 PERSON("Maxime \"Taximus\" Paradis") \
282 PERSON("Marvin \"Mirio\" Beck") \
283 PERSON("Nicolas \"signed\" Formichella") \
285 PERSON("Thomas \"illwieckz\" Debesse") \
286 PERSON("Yannick \"SpiKe\" Le Guen") \
288 FUNCTION(_("Galician")) \
289 PERSON("Nin \"ninjum\" Him") \
290 PERSON("Victor \"LegendGuard\" Jaume") \
292 FUNCTION(_("German")) \
293 PERSON("Alex \"tiprogrammierer.alex\" Progger") \
296 PERSON("diacriticalhit") \
297 PERSON("Erik \"Ablu\" Schilling") \
298 PERSON("Iwan \"qubodup\" Gabovitch") \
299 PERSON("Jope \"Sless\" Withers") \
300 PERSON("Larson \"skps\" März") \
301 PERSON("Logan \"norsvenska\" Zerfass") \
302 PERSON("Markus \"Skoppes\" Erhard") \
303 PERSON("Paul \"Snapper\"") \
304 PERSON("Robert \"HbmMods\" Katzinsky") \
305 PERSON("Rudolf \"divVerent\" Polzer") \
306 PERSON("TheTrueBrot") \
310 FUNCTION(_("Greek")) \
311 PERSON("Αντώνιος \"antonis97apple\" Τσίγκας") \
312 PERSON("Γιώργος Καρδάμης") \
313 PERSON("Hector \"The_Smasher_1992\" Champipis") \
314 PERSON("Konstantinos \"LDinos\" Mihalenas") \
315 PERSON("MasterWord") \
316 PERSON("Marinus \"Savvoritias\" Savoritias") \
318 PERSON("Pandelis \"pandem6nium\" Biltiroglou") \
320 PERSON("Yannis \"Evropi\" Anthymidis") \
322 FUNCTION(_("Hungarian")) \
323 PERSON("Ács \"acszoltan111\" Zoltán") \
324 PERSON("Ákos Ruszkai") \
325 PERSON("Barnabás \"lordgalimow\" Klemens") \
326 PERSON("MmAaXx500") \
327 PERSON("Peter \"fpeterhu\" Ferenczy") \
328 PERSON("Ruszkai \"CuBe0wL\" Ákos") \
329 PERSON("Titusz \"diduuz\" Érsek") \
330 PERSON("Rob \"xaN1C4n3\"") \
331 PERSON("Zsolt \"Yellowberry\" Zitting") \
333 FUNCTION(_("Indonesian")) \
334 PERSON("Angeline Meilia") \
335 PERSON("Ariesandy Hidayat") \
336 PERSON("red koala") \
338 FUNCTION(_("Irish")) \
339 PERSON("Kevin \"kscanne\" Scannell") \
341 FUNCTION(_("Italian")) \
342 PERSON("amedeo463") \
343 PERSON("Antonio \"terencehill\" Piu") \
345 PERSON("Felice \"MaidenBeast\" Sallustio") \
346 PERSON("Giovanni \"rizzogianni73\" Rizzello") \
347 PERSON("Jessica Amoruso") \
351 FUNCTION(_("Japanese")) \
352 PERSON("Antoni Das") \
354 PERSON("Space Ace") \
355 PERSON("Ryu \"ryusho2523\" N.") \
356 PERSON("Victor \"LegendGuard\" Jaume") \
358 PERSON("堀川 \"bapuru524\" 健康") \
360 FUNCTION(_("Kazakh")) \
361 PERSON("Артем \"bystrov.arterm\" Быстров") \
363 FUNCTION(_("Korean")) \
364 PERSON("BYEONGJIN \"ahnkoon\" AN") \
365 PERSON("Jisoo \"LimJiSoo0719\" Lim") \
366 PERSON("Iso \"coughingmouse\" Lee") \
367 PERSON("Seokho Son") \
369 FUNCTION(_("Latin")) \
370 PERSON("oblector o") \
372 FUNCTION(_("Polish")) \
374 PERSON("Alex \"tiprogrammierer.alex\" Progger") \
375 PERSON("Amadeusz \"amade/proraide\" Sławiński") \
376 PERSON("Artur \"artur9010\" Motyka") \
377 PERSON("Cris \"Kshyso\" Sus") \
378 PERSON("David Agzo") \
379 PERSON("Eryk \"ewm\" Michalak") \
380 PERSON("Jakub \"_Mpcs\" Niklas") \
381 PERSON("Jakub \"KubeQ11\" Pędziszewski") \
382 PERSON("John \"Myran\" Smith") \
383 PERSON("Kacper \"kacperski1\" Herchel") \
384 PERSON("Karol \"kRkk\" Kosek") \
385 PERSON("Kriss \"Kriss7475\" Chr") \
386 PERSON("Lukasz Sekalski") \
387 PERSON("Marcin \"mpnogaj\" Nogaj") \
388 PERSON("Oliwier Jaszczyszyn") \
389 PERSON("Paweł \"siwyi\" Goca") \
390 PERSON("Piotr \"vipkoza\" Kozica") \
391 PERSON("qqiLMFjv1iBfT3p6TNxjUThsaTVIXhQc") \
392 PERSON("Rafał \"Okava\" Szymański") \
393 PERSON("Robert \"Szkodnix\" Wolniak") \
394 PERSON("Saikuru \"saikuru0\" Zero") \
396 PERSON("SFS Atlas") \
399 PERSON("Wojciech \"g_host\" Sikora") \
401 FUNCTION(_("Portuguese")) \
402 PERSON("Ivan Paulos \"greylica\" Tomé") \
403 PERSON("Jean Trindade \"Muleke_Trairao\" Pereira") \
405 PERSON("NotThatPrivate") \
406 PERSON("Pedrada19") \
407 PERSON("Ricardo Manuel \"hellgardia\" da Cruz Coelho da Silva") \
408 PERSON("Rui \"xendez\"") \
409 PERSON("xXxCHAOTICxXx") \
411 FUNCTION(_("Portuguese (Brazil)")) \
412 PERSON("Arno \"Bleyom\" Heinrich") \
413 PERSON("Ivan Paulos \"greylica\" Tomé") \
414 PERSON("Jean Trindade \"Muleke_Trairao\" Pereira") \
415 PERSON("NotThatPrivate") \
416 PERSON("Ricardo Manuel \"hellgardia\" da Cruz Coelho da Silva") \
417 PERSON("Rui \"xendez\"") \
421 FUNCTION(_("Romanian")) \
422 PERSON("Adrian-Ciprian \"adrian.tinjala\" Tînjală") \
423 PERSON("busterdbk") \
424 PERSON("Cuzenco \"andonis1616\" Andrei Robert") \
425 PERSON("Daniel \"dasj\" Șerbănescu") \
426 PERSON("Edward205") \
427 PERSON("Iulian \"ElektroBoom\" Oancea") \
428 PERSON("Mircea \"Taoki\" Kitsune") \
429 PERSON("Sorin \"unic_sorin\" Botirla") \
430 PERSON("Tudor \"TropiKo\" Ionel") \
432 FUNCTION(_("Russian")) \
433 PERSON("Alex \"alextalker7\" Talker") \
434 PERSON("Alexandr \"zrg\"") \
435 PERSON("Alexei \"PlasmaSheep\" B.") \
436 PERSON("Andrei \"adem4ik\" Stepanov") \
437 PERSON("Andrey \"dekrY\" P.") \
438 PERSON("Artem \"skybon\" Vorotnikov") \
439 PERSON("Александр ABATAPA") \
440 PERSON("Артём \"Temak\" Котлубай") \
441 PERSON("Blueberryy") \
442 PERSON("Dmitro \"Gamebot\" Sokhin") \
443 PERSON("gravicappa") \
444 PERSON("HelloWorld42404") \
447 PERSON("Lord Canistra") \
448 PERSON("Mikita \"rudzik8\" Wiśniewski") \
449 PERSON("Morosophos") \
451 PERSON("Pavel \"Pashok11\" Mordachev") \
452 PERSON("Plato \"SemperPeritus\" Efimov") \
453 PERSON("Sergej \"Clearness High\" Lutsyk") \
456 PERSON("Пидарасенька") \
458 FUNCTION(_("Serbian")) \
459 PERSON("Саша \"salepetronije\" Петровић") \
460 PERSON("Marko M. Kostić") \
461 PERSON("Nikola \"asd222\" Dundjerski") \
463 PERSON("Rafael \"Ristovski\"") \
465 FUNCTION(_("Spanish")) \
466 PERSON("0000simon") \
467 PERSON("Alan \"aagp\" Garcia") \
468 PERSON("Antonio \"Antoniosirc\" Sirera") \
470 PERSON("Belén \"BelenVM\" Velasco") \
471 PERSON("brunodeleo") \
472 PERSON("Damian \"starfire24680\" Kurek") \
473 PERSON("Excruciatus \"crucesignatus\" X") \
474 PERSON("Juan \"Perju\" Perez") \
476 PERSON("Lorenzo \"lololailo\" Soriano") \
477 PERSON("Luciano \"NeonKnightOA\" Balducchi") \
478 PERSON("roader_gentoo") \
479 PERSON("Rodrigo Mouton Laudin") \
480 PERSON("Roi Asher Gerszkoviez") \
482 PERSON("Starfire24680") \
483 PERSON("Victor \"LegendGuard\" Jaume") \
484 PERSON("Vitama Piru Leta") \
486 PERSON("Yotta Mxt") \
489 FUNCTION(_("Swedish")) \
490 PERSON("Gustaf \"Hanicef\" Alhäll") \
491 PERSON("Karl-Oskar \"machine\" Rikås") \
492 PERSON("Logan \"norsvenska\" Zerfass") \
493 PERSON("marcus256") \
494 PERSON("Hampus \"xunz\" Kreitz") \
496 FUNCTION(_("Turkish")) \
497 PERSON("Abdurrahman \"akkus12345\" AKKUŞ") \
499 PERSON("Ahmet \"ahmetlii\"") \
500 PERSON("Çağlar \"caglarturali\" Turalı") \
501 PERSON("Bekir \"bkrucarci\"") \
502 PERSON("Demiray \"tulliana\" Muhterem") \
503 PERSON("Efeospt \"Efeisot\" KMR") \
504 PERSON("Gokdeniz.Kucukali") \
506 PERSON("Lucifer \"Lucifer25x\" Morningstar") \
507 PERSON("Mehmet Ali \"bluedream1381\" Kaplan") \
508 PERSON("Tan Siret \"yutyocraft\" Akıncı") \
511 FUNCTION(_("Ukrainian")) \
512 PERSON("BakerDoge") \
513 PERSON("Dmitro \"Gamebot\" Sokhin") \
514 PERSON("Ihor \"iRomanyshyn\" Romanyshyn") \
515 PERSON("Ihor \"uandreew\" Andreev") \
516 PERSON("Illia \"imbirWIthSugar\" Serediuk") \
517 PERSON("Oleh \"BlaXpirit\" Prypin") \
518 PERSON("Vasyl \"CHUVACK\" Kushniruk") \
519 PERSON("Vasyl \"Harmata\" Melnyk") \
520 PERSON("Yuriy \"herrniemand\" Ackermann") \
523 TITLE(_("Past Contributors")) \
525 PERSON("Alexander \"motorsep\" Zubov") \
526 PERSON("Alexander \"naryl\" Suhoverhov") \
527 PERSON("Amos \"torus\" Dudley") \
528 PERSON("Andreas \"Black\" Kirsch") \
529 PERSON("Attila \"WW3\" Houtkooper") \
531 PERSON("Braden \"meoblast001\" Walters") \
532 PERSON("Brain Younds") \
533 PERSON("BuddyFriendGuy") \
534 PERSON("Chris \"amethyst7\" Matz") \
535 PERSON("Christian Ice") \
536 PERSON("Clinton \"Kaziganthe\" Freeman") \
537 PERSON("Dan \"Digger\" Korostelev") \
538 PERSON("Dan \"Wazat\" Hale") \
540 PERSON("Dokujisan") \
543 PERSON("Dustin Geeraert") \
544 PERSON("Edgenetwork") \
545 PERSON("Edward \"Ed\" Holness") \
546 PERSON("Eric \"Munyul Verminard\" Sambach") \
547 PERSON("Erik \"Ablu\" Schilling") \
548 PERSON("Fabien \"H. Reaper\" Tschirhart") \
549 PERSON("Florian Paul \"lda17h\" Schmidt") \
551 PERSON("Garth \"Zombie\" Hendy") \
553 PERSON("Gerd \"Elysis\" Raudenbusch") \
554 PERSON("Gottfried \"Toddd\" Hofmann") \
555 PERSON("Henning \"Tymo\" Janssen") \
560 PERSON("Jody Gallagher") \
561 PERSON("Jope \"Sless\" Withers") \
563 PERSON("Juergen \"LowDragon\" Timm") \
564 PERSON("KadaverJack") \
565 PERSON("Kevin \"Tyrann\" Shanahan") \
566 PERSON("Kristian \"morfar\" Johansson") \
567 PERSON("Kurt Dereli") \
569 PERSON("Lee David Ash") \
570 PERSON("Lee Vermeulen") \
571 PERSON("leileilol") \
574 PERSON("Marius \"GreEn`mArine\" Shekow") \
575 PERSON("Marko \"Urre\" Permanto") \
576 PERSON("Marvin \"Mirio\" Beck") \
577 PERSON("Mathieu \"Elric\" Olivier") \
578 PERSON("Mattrew \"Tronyn\" Rye") \
583 PERSON("Michael \"Tenshihan\" Quinn") \
584 PERSON("Mircea \"Taoki\" Kitsune") \
587 PERSON("NoelCower") \
588 PERSON("Oleh \"BlaXpirit\" Prypin") \
589 PERSON("Parapraxis") \
591 PERSON("Paul Scott") \
592 PERSON("Paul \"Strahlemann\" Evers") \
593 PERSON("Penguinum") \
594 PERSON("Petithomme") \
595 PERSON("PlasmaSheep") \
596 PERSON("Przemysław \"atheros\" Grzywacz") \
597 PERSON("Q1 Retexturing Project") \
598 PERSON("Qantourisc") \
599 PERSON("Rick \"Rat\" Kelley") \
600 PERSON("Robert \"ai\" Kuroto") \
603 PERSON("Samual \"Ares\" Lenks") \
604 PERSON("Saulo \"mand1nga\" Gil") \
608 PERSON("Simon O’Callaghan") \
612 PERSON("SoulKeeper_p") \
615 PERSON("Stephan \"esteel\" Stahl") \
616 PERSON("Steve Vermeulen") \
620 PERSON("The player with the unnecessarily long name") \
622 PERSON("Ulrich Galbraith") \
624 PERSON("William Libert") \
625 PERSON("William \"Willis\" Weilep") \
626 PERSON("Yves \"EviLair\" Allaire") \
627 PERSON("Zac \"Mario\" Jardine") \
629 PERSON("... and a goat") \
640 line =
strcat(
"**", line);
647 bufstr_add(n, line, 0);
652 #define CREDITS_TITLE(t) credits_add_line(fh, n, CREDITS_TYPE_TITLE, t);
653 #define CREDITS_FUNCTION(f) credits_add_line(fh, n, CREDITS_TYPE_FUNCTION, f);
654 #define CREDITS_PERSON(p) credits_add_line(fh, n, CREDITS_TYPE_PERSON, p);
655 #define CREDITS_NL() credits_add_line(fh, n, CREDITS_TYPE_NL, "");
658 #undef CREDITS_FUNCTION
659 #undef CREDITS_PERSON
684 me.configureXonoticCreditsList(me);
689 me.configureXonoticListBox(me);
691 me.nItems = buf_getsize(me.bufferIndex);
692 if (
cvar(
"_menu_credits_export"))
695 cvar_set(
"_menu_credits_export",
"0");
700 buf_del(me.bufferIndex);
706 me.scrollPos =
bound(0, (
time - me.scrolling) * me.itemHeight, me.nItems * me.itemHeight - 1);
707 me.scrollPosTarget = me.scrollPos;
715 me.realFontSize_y = me.fontSize / (absSize.y * me.itemHeight);
716 me.realFontSize_x = me.fontSize / (absSize.x * (1 - me.controlWidth));
717 me.realUpperMargin = 0.5 * (1 - me.realFontSize.y);
725 s = bufstr_get(me.bufferIndex, i);
730 theColor = SKINCOLOR_CREDITS_TITLE;
731 theAlpha = SKINALPHA_CREDITS_TITLE;
736 theColor = SKINCOLOR_CREDITS_FUNCTION;
737 theAlpha = SKINALPHA_CREDITS_FUNCTION;
741 theColor = SKINCOLOR_CREDITS_PERSON;
742 theAlpha = SKINALPHA_CREDITS_PERSON;
745 draw_CenterText(me.realUpperMargin *
eY + 0.5 *
eX, s, me.realFontSize, theColor, theAlpha, 0);
var entity(vector mins, vector maxs,.entity tofield) findbox_tofield_OrFallback
void XonoticCreditsList_configureXonoticCreditsList(entity me)
void XonoticCreditsList_draw(entity me)
void XonoticCreditsList_resizeNotify(entity me, vector relOrigin, vector relSize, vector absOrigin, vector absSize)
#define CREDITS(TITLE, FUNCTION, PERSON, NL)
int CREDITS_TYPE_FUNCTION
void XonoticCreditsList_drawListBoxItem(entity me, int i, vector absSize, bool isSelected, bool isFocused)
void credits_build(int fh, int n)
entity makeXonoticCreditsList()
void credits_add_line(int fh, int n, int type, string line)
float XonoticCreditsList_keyDown(entity me, float key, float ascii, float shift)
#define CREDITS_PERSON(p)
void XonoticCreditsList_destroy(entity me)
#define CREDITS_FUNCTION(f)
strcat(_("^F4Countdown stopped!"), "\n^BG", _("Teams are too unbalanced."))