the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
1#include "stdafx.h"
2#include <assert.h>
3#include "XUI_HelpCredits.h"
4
5SCreditTextItemDef CScene_Credits::gs_aCreditDefs[MAX_CREDIT_STRINGS] =
6{
7 { L"MOJANG", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eExtraLargeText },
8 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
9 { L"%s", IDS_CREDITS_ORIGINALDESIGN, NO_TRANSLATED_STRING,eLargeText },
10 { L"Markus Persson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
11 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
12 { L"%s", IDS_CREDITS_PMPROD, NO_TRANSLATED_STRING,eLargeText },
13 { L"Daniel Kaplan", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
14 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
15 { L"%s", IDS_CREDITS_RESTOFMOJANG, NO_TRANSLATED_STRING,eMediumText },
16 { L"%s", IDS_CREDITS_LEADPC, NO_TRANSLATED_STRING,eLargeText },
17 { L"Jens Bergensten", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
18 { L"%s", IDS_CREDITS_JON_KAGSTROM, NO_TRANSLATED_STRING,eSmallText },
19 { L"%s", IDS_CREDITS_CEO, NO_TRANSLATED_STRING,eLargeText },
20 { L"Carl Manneh", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
21 { L"%s", IDS_CREDITS_DOF, NO_TRANSLATED_STRING,eLargeText },
22 { L"Lydia Winters", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
23 { L"%s", IDS_CREDITS_WCW, NO_TRANSLATED_STRING,eLargeText },
24 { L"Karin Severinsson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
25 { L"%s", IDS_CREDITS_CUSTOMERSUPPORT, NO_TRANSLATED_STRING,eLargeText },
26 { L"Marc Watson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
27 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
28 { L"%s", IDS_CREDITS_DESPROG, NO_TRANSLATED_STRING,eLargeText },
29 { L"Aron Nieminen", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
30 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
31 { L"%s", IDS_CREDITS_CHIEFARCHITECT, NO_TRANSLATED_STRING,eLargeText },
32 { L"Daniel Frisk", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
33 { L"%s", IDS_CREDITS_CODENINJA, NO_TRANSLATED_STRING,eLargeText },
34 { L"%s", IDS_CREDITS_TOBIAS_MOLLSTAM, NO_TRANSLATED_STRING,eSmallText },
35 { L"%s", IDS_CREDITS_OFFICEDJ, NO_TRANSLATED_STRING,eLargeText },
36 { L"Kristoffer Jelbring", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
37 { L"%s", IDS_CREDITS_DEVELOPER, NO_TRANSLATED_STRING,eLargeText },
38 { L"Leonard Axelsson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
39 { L"%s", IDS_CREDITS_BULLYCOORD, NO_TRANSLATED_STRING,eLargeText },
40 { L"Jakob Porser", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
41 { L"%s", IDS_CREDITS_ARTDEVELOPER, NO_TRANSLATED_STRING,eLargeText },
42 { L"Junkboy", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
43 { L"%s", IDS_CREDITS_EXPLODANIM, NO_TRANSLATED_STRING,eLargeText },
44 { L"Mattis Grahm", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
45 { L"%s", IDS_CREDITS_CONCEPTART, NO_TRANSLATED_STRING,eLargeText },
46 { L"Henrik Petterson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
47 { L"%s", IDS_CREDITS_CRUNCHER, NO_TRANSLATED_STRING,eLargeText },
48 { L"Patrick Geuder", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
49 { L"%s", IDS_CREDITS_MUSICANDSOUNDS, NO_TRANSLATED_STRING,eLargeText },
50 { L"Daniel Rosenfeld (C418)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
51 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
52 { L"4J Studios", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eExtraLargeText },
53 { L"%s", IDS_CREDITS_PROGRAMMING, NO_TRANSLATED_STRING,eLargeText },
54 { L"Paddy Burns", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
55 { L"Richard Reavy", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
56 { L"Stuart Ross", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
57 { L"James Vaughan", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
58 { L"Mark Hughes", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
59 { L"Thomas Kronberg", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
60 { L"Ian le Bruce", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
61 { L"Andy West", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
62 { L"Gordon McLean", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
63 { L"%s", IDS_CREDITS_ART, NO_TRANSLATED_STRING,eLargeText },
64 { L"David Keningale", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
65 { L"Pat McGovern", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
66 { L"Alan Redmond", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
67 { L"Julian Laing", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
68 { L"Caitlin Goodale", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
69 { L"Scott Sutherland", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
70 { L"Chris Reeves", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
71 { L"Kate Wright", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
72 { L"Michael Hansen", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
73 { L"Kate Flavell", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
74 { L"Donald Robertson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
75 { L"Jamie Keddie", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
76 { L"Thomas Naylor", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
77 { L"Brian Lindsay", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
78 { L"Hannah Watts", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
79 { L"Rebecca O'Neil", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
80 { L"%s", IDS_CREDITS_QA, NO_TRANSLATED_STRING,eLargeText },
81 { L"Steven Gary Woodward", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
82 { L"Richard Black", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
83 { L"George Vaughan", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
84 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
85 { L"%s", IDS_CREDITS_SPECIALTHANKS, NO_TRANSLATED_STRING,eLargeText },
86 { L"Chris van der Kuyl", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
87 { L"Roni Percy", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
88 { L"Anne Clarke", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
89 { L"Anthony Kent", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
90 { L"Microsoft Studios", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eExtraLargeText },
91 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
92 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
93
94 { L"Xbox LIVE Arcade Team", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eExtraLargeText },
95 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
96 { L"%s", IDS_CREDITS_LEADPRODUCER, NO_TRANSLATED_STRING,eLargeText },
97 { L"Roger Carpenter", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
98 { L"%s", IDS_CREDITS_PRODUCER, NO_TRANSLATED_STRING,eLargeText },
99 { L"Stuart Platt", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
100 { L"Riccardo Lenzi", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
101 { L"%s", IDS_CREDITS_LEADTESTER, NO_TRANSLATED_STRING,eLargeText },
102 { L"Bill Brown (Insight Global)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
103 { L"Brandon McCurry (Insight Global)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
104 { L"Hakim Ronaque, Joe Dunavant", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
105 { L"Paul Loynd, Jeffery Stephens", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
106 { L"Rial Lerum (Xtreme Consulting Group Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
107 { L"%s", IDS_CREDITS_DESIGNTEAM, NO_TRANSLATED_STRING,eLargeText },
108 { L"Craig Leigh", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
109 { L"%s", IDS_CREDITS_DEVELOPMENTTEAM, NO_TRANSLATED_STRING,eLargeText },
110 { L"Scott Guest", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
111 { L"Jeff \"Dextor\" Blazier", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
112 { L"Yukie Yamaguchi", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
113 { L"Jason Hewitt", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
114 { L"%s", IDS_CREDITS_RELEASEMANAGEMENT, NO_TRANSLATED_STRING,eLargeText },
115 { L"Josh Mulanax", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
116 { L"Shogo Ishii (TekSystems)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
117 { L"Tyler Keenan (Xtreme Consulting Group Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
118 { L"Joshua Bullard (TekSystems)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
119 { L"%s", IDS_CREDITS_EXECPRODUCER, NO_TRANSLATED_STRING,eLargeText },
120 { L"Mark Coates", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
121 { L"Avi Ben-Menahem", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
122 { L"Earnest Yuen", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
123 { L"%s", IDS_CREDITS_XBLADIRECTOR, NO_TRANSLATED_STRING,eLargeText },
124 { L"Ted Woolsey", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
125 { L"%s", IDS_CREDITS_BIZDEV, NO_TRANSLATED_STRING,eLargeText },
126 { L"Cherie Lutz", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
127 { L"Peter Zetterberg", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
128 { L"%s", IDS_CREDITS_PORTFOLIODIRECTOR, NO_TRANSLATED_STRING,eLargeText },
129 { L"Chris Charla", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
130 { L"%s", IDS_CREDITS_PRODUCTMANAGER, NO_TRANSLATED_STRING,eLargeText },
131 { L"Daniel McConnell", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
132 { L"%s", IDS_CREDITS_MARKETING, NO_TRANSLATED_STRING,eLargeText },
133 { L"Brandon Wells", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
134 { L"Michael Wolf", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
135 { L"John Dongelmans", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
136 { L"%s", IDS_CREDITS_COMMUNITYMANAGER, NO_TRANSLATED_STRING,eLargeText },
137 { L"Alex Hebert", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
138 { L"%s", IDS_CREDITS_REDMONDLOC, NO_TRANSLATED_STRING,eLargeText },
139 { L"Zeb Wedell", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
140 { L"Gabriella Mittiga (Pactera)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
141 { L"Scott Fielding (Global Studio Consulting)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
142 { L"Yong Zhao (Hisoft Envisage Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
143 { L"Shogo Ishii (Insight Global)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
144 { L"%s", IDS_CREDITS_EUROPELOC, NO_TRANSLATED_STRING,eLargeText },
145 { L"Gerard Dunne", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
146 { L"Ricardo Cordoba", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
147 { L"Magali Lucchini", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
148 { L"Malika Kherfi", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
149 { L"Lizzy Untermann", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
150 { L"Ian Walsh", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
151 { L"Alfonsina Mossello (Keywords International Ltd)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
152 { L"Marika Mauri (Keywords International Ltd)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
153 { L"Nobuhiro Izumisawa (Keywords International Ltd)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
154 { L"Sebastien Faucon (Keywords International Ltd)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
155 { L"Jose Manuel Martinez (Keywords International Ltd)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
156 { L"Montse Garcia (Keywords International Ltd)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
157 { L"%s", IDS_CREDITS_ASIALOC, NO_TRANSLATED_STRING,eLargeText },
158 { L"Takashi Sasaki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
159 { L"Changseon Ha", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
160 { L"Shinya Muto (Zip Global Corporation)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
161 { L"Hiroshi Hosoda (Zip Global Corporation)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
162 { L"Natsuko Kudo (Zip Global Corporation)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
163 { L"Yong-Hong Park (Zip Global Corporation)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
164 { L"Yuko Yoshida (Zip Global Corporation)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
165 { L"%s", IDS_CREDITS_USERRESEARCH, NO_TRANSLATED_STRING,eLargeText },
166 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
167 { L"User Research Lead", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eLargeText },
168 { L"Tim Nichols", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
169 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
170 { L"User Research Engineer", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eLargeText },
171 { L"Michael Medlock", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
172 { L"Kristie Fisher", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
173 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
174 { L"%s", IDS_CREDITS_MGSCENTRAL, NO_TRANSLATED_STRING,eLargeText },
175 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
176 { L"Test Team Lead", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eLargeText },
177 { L"Dan Smith", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
178 { L"%s", IDS_CREDITS_MILESTONEACCEPT, NO_TRANSLATED_STRING,eLargeText },
179 { L"Justin Davis (VMC)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
180 { L"Microsoft Studios Sentient Development Team", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eLargeText },
181 { L"Ellery Charlson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
182 { L"Frank Klier", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
183 { L"Jason Ronald", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
184 { L"Cullen Waters", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
185 { L"Steve Jackson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
186 { L"Barath Vasudevan", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
187 { L"Derek Mantey", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
188 { L"Henry Sterchi", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
189 { L"Scott Fintel", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
190 { L"Soren Hannibal Nielsen", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
191 { L"Meetali Goel (Aditi)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
192 { L"Uladzimir Sadouski (Volt)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
193 { L"%s", IDS_CREDITS_SPECIALTHANKS, NO_TRANSLATED_STRING,eLargeText },
194 { L"Brianna Witherspoon (Nytec Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
195 { L"Jim Pekola (Xtreme Consulting Group Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
196 { L"Chris Henry", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
197 { L"Matt Golz", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
198 { L"Chris Gaffney (Volt)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
199 { L"Jared Barnhill (Aditi)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
200 { L"Laura Hawkins", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
201 { L"2nd Cavalry", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
202 { L"GTO Bug Bash Team", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
203 { L"Oliver Miyashita", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
204 { L"Kevin Salcedo", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
205 { L"Nick Bodenham", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
206 { L"Chris Giggins", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
207 { L"Ben Board", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
208 { L"Peter Choi", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
209 { L"Andy Su (CompuCom Systems Inc.)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
210 { L"David Boker ", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
211 { L"Josh Bliggenstorfer", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
212 { L"Paul Amer", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
213 { L"Louise Smith", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
214 { L"Karin Behland (Aquent LLC)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
215 { L"John Bruno", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
216 { L"Phil Spencer", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
217 { L"John Smith", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
218 { L"Christi Davisson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
219 { L"Jacob Farley (Aditi)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
220 { L"Chad Stringer (Collabera)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
221 { L"Rick Rispoli (Collabera)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
222 { L"Test by Experis", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eExtraLargeText },
223 { L"%s", IDS_CREDITS_TESTMANAGER, NO_TRANSLATED_STRING,eLargeText },
224 { L"Matt Brown", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
225 { L"Gavin Kennedy", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
226 { L"%s", IDS_CREDITS_SRTESTLEAD, NO_TRANSLATED_STRING,eLargeText },
227 { L"Lloyd Bell", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
228 { L"Tim Attuquayefio", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
229 { L"%s", IDS_CREDITS_TESTLEAD, NO_TRANSLATED_STRING,eLargeText },
230 { L"Byron R. Monzon", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
231 { L"Marta Alombro", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
232 { L"%s", IDS_CREDITS_SDET, NO_TRANSLATED_STRING,eLargeText },
233 { L"Valeriy Novytskyy", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
234 { L"%s", IDS_CREDITS_PROJECT, NO_TRANSLATED_STRING,eLargeText },
235 { L"Allyson Burk", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
236 { L"David Scott", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
237 { L"John Shearer", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
238 { L"%s", IDS_CREDITS_ADDITIONALSTE, NO_TRANSLATED_STRING,eLargeText },
239 { L"Chris Merritt", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
240 { L"Kimberlee Lyles", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
241 { L"Eric Ranz", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
242 { L"Russ Allen", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
243 { L"%s", IDS_CREDITS_TESTASSOCIATES, NO_TRANSLATED_STRING,eLargeText },
244 { L"Michael Arvat", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
245 { L"Josh Breese", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
246 { L"April Culberson", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
247 { L"Jason Fox", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
248 { L"Clayton K. Hopper", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
249 { L"Matthew Howells", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
250 { L"Alan Hume", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
251 { L"Jacob Martin", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
252 { L"Kevin Lourigan", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
253 { L"Tyler Lovemark", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
254 { L"%s", IDS_CREDITS_RISE_LUGO, NO_TRANSLATED_STRING,eSmallText },
255 { L"Ryan Naegeli", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
256 { L"Isaac Price", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
257 { L"Masha Reutovski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
258 { L"Brad Shockey", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
259 { L"Jonathan Tote", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
260 { L"Marc Williams", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
261 { L"Gillian Williams", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
262 { L"Jeffrey Woito", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
263 { L"Tyler Young", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
264 { L"Jae Yslas", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
265 { L"Amanda Swalling", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
266 { L"Ben Dienes", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
267 { L"Chris Kent", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
268 { L"Dustin Lukas", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
269 { L"Emily Lovering", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
270 { L"Nick Fowler", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
271 // EVEN MORE CREDITS
272 { L"Test by Lionbridge", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eExtraLargeText },
273 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
274 { L"%s", IDS_CREDITS_TESTMANAGER, NO_TRANSLATED_STRING,eLargeText },
275 { L"Blazej Zawadzki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
276 { L"David Hickey", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
277 { L"%s", IDS_CREDITS_TESTLEAD, NO_TRANSLATED_STRING,eLargeText },
278 { L"Jakub Garwacki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
279 { L"Kamil Lahti", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
280 { L"Mariusz Gelnicki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
281 { L"Karol Falak", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
282 { L"Lukasz Watroba", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
283 { L"%s", IDS_CREDITS_PROJECT, NO_TRANSLATED_STRING,eLargeText },
284 { L"Artur Grochowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
285 { L"Grzegorz Kohorewicz", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
286 { L"Lukasz Derewonko", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
287 { L"Michal Celej", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
288 { L"Senior Test Engineers", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eLargeText },
289 { L"Jakub Rybacki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
290 { L"Mateusz Szymanski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
291 { L"Arkadiusz Szczytowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
292 { L"Rafal Rawski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
293
294 { L"%s", IDS_CREDITS_TESTASSOCIATES, NO_TRANSLATED_STRING,eLargeText },
295 { L"Adrian Klepacki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
296 { L"Arkadiusz Kala", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
297 { L"Arkadiusz Sykula", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
298 { L"Bartlomiej Kmita", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
299 { L"Jakub Malinowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
300 { L"Jan Prejs", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
301 { L"Maciej Urlo", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
302 { L"Maciej Wygoda", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
303 { L"Marcin Piasecki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
304 { L"Marcin Piotrowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
305 { L"Marek Latacz", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
306 { L"Michal Biernat", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
307 { L"Michal Krupinski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
308 { L"Michal Warchal", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
309 { L"Michal Wascinski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
310 { L"Michal Zbrzezniak", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
311 { L"Milosz Maciejewicz", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
312 { L"Przemyslaw Malinowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
313 { L"Tomasz Dabrowicz", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
314 { L"Tomasz Trzebiatowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
315
316 { L"Adam Bogucki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
317 { L"Aleksander Pietraszak", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
318 { L"Arkadiusz Szczytowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
319 { L"Blazej Kohorewicz", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
320 { L"Damian Mielnik", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
321 { L"Dariusz Nowakowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
322 { L"Dominik Rzeznicki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
323 { L"Jacek Piotrowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
324 { L"Jakub Rybacki", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
325 { L"Jakub Wozniakowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
326 { L"Jaroslaw Radzio", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
327 { L"Kamil Dabrowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
328 { L"Kamil Kaczor", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
329 { L"Karolina Szymanska", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
330 { L"Konrad Mady", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
331 { L"Krzysztof Galazka", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
332 { L"Ludwik Miszta", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
333 { L"Lukasz Kwiatkowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
334 { L"Marcin Krzysiak", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
335 { L"Mateusz Szymanski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
336 { L"Michal Maslany", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
337 { L"Michal Nyszka", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
338 { L"Norbert Jankowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
339 { L"Piotr Daszewski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
340 { L"Radoslaw Kozlowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
341 { L"Tomasz Kalowski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
342 { L"%s", IDS_CREDITS_SPECIALTHANKS, NO_TRANSLATED_STRING,eLargeText },
343 { L"Adam Keating", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
344 { L"Jerzy Tyminski", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
345 { L"Paulina Sliwinska", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
346 { L"Sean Kellogg", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
347
348 { L"Test by Shield", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eExtraLargeText },
349 { L"", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText }, // extra blank line
350 { L"GTO Shared Service Test Manager", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eLargeText },
351 { L"Natahri Felton", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
352 { L"Shield Test Lead", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eLargeText },
353 { L"Matt Giddings", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
354 { L"Shield IT Support", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eLargeText },
355 { L"David Grant (Compucom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
356 { L"Primary Team", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eLargeText },
357 { L"Alex Chen (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
358 { L"Alex Hunte (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
359 { L"Brian Boye (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
360 { L"Bridgette Cummins (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
361 { L"Chris Carleson (Volt)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
362 { L"Christopher Hermey (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
363 { L"David Hendrickson (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
364 { L"Ioana Preda (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
365 { L"Jessica Jenkins (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
366 { L"Johnathan Ochs (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
367 { L"Michael Upham (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
368 { L"Nicholas Johansson (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
369 { L"Nicholas Starner (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
370 { L"Torr Vickers (Volt)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
371 { L"Victoria Bruder (CompuCom Systems Inc)", NO_TRANSLATED_STRING, NO_TRANSLATED_STRING,eSmallText },
372
373};
374
375// Table tells us how many text elements of each type are available in the scene.
376static const int gs_aNumTextElements[ eNumTextTypes ] =
377{
378 3, // CScene_Credits::eExtraLargeText
379 5, // CScene_Credits::eLargeText
380 5, // CScene_Credits::eMediumText
381 15 // CScene_Credits::eSmallText
382};
383
384//----------------------------------------------------------------------------------
385// Performs initialization tasks - retrieves controls.
386//----------------------------------------------------------------------------------
387HRESULT CScene_Credits::OnInit( XUIMessageInit* pInitData, BOOL& bHandled )
388{
389 int iPad = *(int *)pInitData->pvInitData;
390
391 MapChildControls();
392
393 // if we're not in the game, we need to use basescene 0
394 if(Minecraft::GetInstance()->level==NULL)
395 {
396 iPad=0;
397 }
398
399 ui.SetTooltips( iPad, -1, IDS_TOOLTIPS_BACK);
400
401 if(!RenderManager.IsHiDef() && !RenderManager.IsWidescreen())
402 {
403 CREDITS_SCREEN_MIN_Y = 200.0f/1.5f; // Y pos at which credits are removed from top of screen.
404 CREDITS_SCREEN_MAX_Y = 630.0f/1.5f; // Y pos at which credits appear at bottom of screen.
405 CREDITS_FADE_HEIGHT = 100.0f/1.5f; // Height over which credits fade in or fade out.
406 gs_aLineSpace[eExtraLargeText]=53.0f;
407 gs_aLineSpace[eLargeText]=46.0f;
408 gs_aLineSpace[eMediumText]=40.0f;
409 gs_aLineSpace[eSmallText]=21.0f;
410 }
411 else
412 {
413 CREDITS_SCREEN_MIN_Y = 200.0f; // Y pos at which credits are removed from top of screen.
414 CREDITS_SCREEN_MAX_Y = 630.0f; // Y pos at which credits appear at bottom of screen.
415 CREDITS_FADE_HEIGHT = 100.0f; // Height over which credits fade in or fade out.
416 gs_aLineSpace[eExtraLargeText]=80.0f;
417 gs_aLineSpace[eLargeText]=70.0f;
418 gs_aLineSpace[eMediumText]=60.0f;
419 gs_aLineSpace[eSmallText]=32.0f;
420 }
421
422
423 // Init text elements.
424 int iIDTag = 1;
425 LPWSTR idString = new wchar_t[ 32 ];
426
427 for ( int i = 0; i < eNumTextTypes; ++i )
428 {
429 m_aTextTypes[ i ].m_iNextFreeElement = 0;
430 m_aTextTypes[ i ].m_iNumUsedElements = 0;
431 m_aTextTypes[ i ].m_iMaxElements = gs_aNumTextElements[ i ];
432 m_aTextTypes[ i ].m_appTextElements = new CXuiControl* [ m_aTextTypes[ i ].m_iMaxElements ];
433
434 for ( int j = 0; j < m_aTextTypes[ i ].m_iMaxElements; ++j )
435 {
436 swprintf( idString, 32, L"XuiText%d", iIDTag );
437 ++iIDTag;
438
439 HXUIOBJ text;
440 GetChildById( idString, &text );
441
442 VOID* pTextObj;
443 XuiObjectFromHandle( text, &pTextObj );
444 m_aTextTypes[ i ].m_appTextElements[ j ] = (CXuiControl *)pTextObj;
445 m_aTextTypes[ i ].m_appTextElements[ j ]->SetShow( false );
446 }
447 }
448 delete [] idString;
449
450 // How many lines of text are in the credits?
451
452 m_iNumTextDefs = MAX_CREDIT_STRINGS;//sizeof( gs_aCreditDefs ) / sizeof( SCreditTextItemDef );
453
454 // Are there any additional lines needed for the DLC credits?
455 m_iNumTextDefs+=app.GetDLCCreditsCount();
456
457 m_iCurrDefIndex = -1;
458 m_fMoveSinceLastDef = 0.0f;
459 m_fMoveToNextDef = 0.0f;
460
461 // Add timer to tick credits update at 60Hz
462 HRESULT timerResult = SetTimer( CREDITS_TICK_TIMER_ID, ( 1000 / 60 ) );
463 assert( timerResult == S_OK );
464
465 return S_OK;
466}
467
468HRESULT CScene_Credits::OnDestroy()
469{
470 // Free up memory that we allocated.
471 for ( int i = 0; i < eNumTextTypes; ++i )
472 {
473 delete [] m_aTextTypes[ i ].m_appTextElements;
474 }
475
476 return S_OK;
477}
478
479HRESULT CScene_Credits::OnKeyDown(XUIMessageInput* pInputData, BOOL& rfHandled)
480{
481 ui.AnimateKeyPress(pInputData->UserIndex, pInputData->dwKeyCode);
482
483 HRESULT hr=S_OK;
484
485 // Explicitly handle B button presses
486 switch(pInputData->dwKeyCode)
487 {
488
489 case VK_PAD_B:
490 case VK_ESCAPE:
491 app.NavigateBack(pInputData->UserIndex);
492 rfHandled = TRUE;
493 break;
494 }
495
496
497 return hr;
498}
499
500HRESULT CScene_Credits::OnControlNavigate(XUIMessageControlNavigate *pControlNavigateData, BOOL& bHandled)
501{
502 // ignore any joypads other than the main
503 BYTE bFocusUser=XuiElementGetFocusUser(pControlNavigateData->hObjSource);
504 // get the user from the control
505 /*if(!=ProfileManager.GetLockedProfile())
506 {
507 bHandled=true;
508 return S_OK;
509 }*/
510 return S_OK;
511}
512
513//----------------------------------------------------------------------------------
514// Handler for the button press message.
515//----------------------------------------------------------------------------------
516HRESULT CScene_Credits::OnNotifyPressEx(HXUIOBJ hObjPressed, XUINotifyPress* pNotifyPressData, BOOL& rfHandled)
517{
518 // This assumes all buttons can only be pressed with the A button
519 ui.AnimateKeyPress(pNotifyPressData->UserIndex, VK_PAD_A);
520
521
522 return S_OK;
523}
524
525
526
527HRESULT CScene_Credits::OnTimer( XUIMessageTimer *pTimer, BOOL& bHandled )
528{
529 // Update pointer from stick input on timer.
530 if ( pTimer->nId == CREDITS_TICK_TIMER_ID )
531 {
532 D3DXVECTOR3 vTextPos;
533
534 // Do we need to spawn a new item?
535 if ( ( m_iCurrDefIndex == -1 ) || ( m_fMoveSinceLastDef >= m_fMoveToNextDef ) )
536 {
537 const SCreditTextItemDef* pDef;
538
539 // Time to create next text item.
540 ++m_iCurrDefIndex;
541
542 // Wrap back to start.
543 if ( m_iCurrDefIndex >= m_iNumTextDefs )
544 {
545 m_iCurrDefIndex = 0;
546 }
547
548 if(m_iCurrDefIndex >= MAX_CREDIT_STRINGS)
549 {
550 // DLC credit
551 pDef = app.GetDLCCredits(m_iCurrDefIndex-MAX_CREDIT_STRINGS);
552 }
553 else
554 {
555 // Get text def for this item.
556 pDef = &( gs_aCreditDefs[ m_iCurrDefIndex ] );
557 }
558
559 int iNewTextType = ( int )( pDef->m_eType );
560 STextType* pTextType = &( m_aTextTypes[ iNewTextType ] );
561
562 // Are there any text elements available for this item?
563 if ( pTextType->m_iNumUsedElements < pTextType->m_iMaxElements )
564 {
565 // Get the correct text element to use.
566 CXuiControl* pElement = pTextType->m_appTextElements[ pTextType->m_iNextFreeElement ];
567
568 // Set up the new text element.
569 if ( pDef->m_iStringID[0] == NO_TRANSLATED_STRING )
570 {
571 pElement->SetText( pDef->m_Text );
572 }
573 else // using additional translated string.
574 {
575 LPWSTR creditsString = new wchar_t[ 128 ];
576 if(pDef->m_iStringID[1]!=NO_TRANSLATED_STRING)
577 {
578 swprintf( creditsString, 128, pDef->m_Text, app.GetString( pDef->m_iStringID[0] ), app.GetString( pDef->m_iStringID[1] ) );
579 }
580 else
581 {
582 swprintf( creditsString, 128, pDef->m_Text, app.GetString( pDef->m_iStringID[0] ) );
583 }
584 pElement->SetText( creditsString );
585 delete [] creditsString;
586 }
587
588 pElement->SetShow( true );
589 pElement->SetOpacity( 0.0f );
590
591 pElement->GetPosition( &vTextPos );
592 vTextPos.y = CREDITS_SCREEN_MAX_Y;
593 pElement->SetPosition( &vTextPos );
594
595 // Set next free element of this type.
596 ++( pTextType->m_iNextFreeElement );
597
598 if ( pTextType->m_iNextFreeElement >= pTextType->m_iMaxElements )
599 {
600 pTextType->m_iNextFreeElement = 0;
601 }
602
603 ++pTextType->m_iNumUsedElements;
604
605 int iNextDef = m_iCurrDefIndex + 1;
606 if ( iNextDef == m_iNumTextDefs )
607 {
608 // Large space before looping back to start of credits.
609 m_fMoveToNextDef = 400.0f;
610 }
611 else if ( iNextDef < MAX_CREDIT_STRINGS )
612 {
613 // Determine space to next item.
614 m_fMoveToNextDef = gs_aLineSpace[ gs_aCreditDefs[ iNextDef ].m_eType ];
615 }
616 else
617 {
618 // Determine space to next item.
619 m_fMoveToNextDef = gs_aLineSpace[app.GetDLCCredits(iNextDef-MAX_CREDIT_STRINGS)->m_eType];
620 }
621
622 m_fMoveSinceLastDef = 0.0f;
623 }
624 }
625
626 // Scroll up every active text element.
627 for ( int i = 0; i < eNumTextTypes; ++i )
628 {
629 STextType* pTextType = &( m_aTextTypes[ i ] );
630
631 // Process in reverse order from latest one back (so that we can easily remove oldest if it has scrolled off the top).
632 int iElementIndex = pTextType->m_iNextFreeElement;
633
634 --iElementIndex;
635 if ( iElementIndex < 0 )
636 {
637 iElementIndex = pTextType->m_iMaxElements - 1;
638 }
639
640 // For each element that it is use
641 for ( int j = 0; j < pTextType->m_iNumUsedElements; ++j )
642 {
643 // Get the actual element.
644 CXuiControl* pElement = pTextType->m_appTextElements[ iElementIndex ];
645
646 // Scroll element up.
647 pElement->GetPosition( &vTextPos );
648 vTextPos.y -= 1.0f;
649 pElement->SetPosition( &vTextPos );
650
651 // Is it off the top?
652 if ( vTextPos.y < CREDITS_SCREEN_MIN_Y )
653 {
654 // Remove it.
655 pElement->SetShow( false );
656 --( pTextType->m_iNumUsedElements );
657 }
658 else
659 {
660 // Set transparency to fade in at bottom or out at top.
661 float fOpacity = 1.0f;
662 if ( vTextPos.y < ( CREDITS_SCREEN_MIN_Y + CREDITS_FADE_HEIGHT ) )
663 {
664 fOpacity = ( vTextPos.y - CREDITS_SCREEN_MIN_Y ) / CREDITS_FADE_HEIGHT;
665 }
666 else if ( vTextPos.y > ( CREDITS_SCREEN_MAX_Y - CREDITS_FADE_HEIGHT ) )
667 {
668 fOpacity = ( CREDITS_SCREEN_MAX_Y - vTextPos.y ) / CREDITS_FADE_HEIGHT;
669 }
670 pElement->SetOpacity( fOpacity );
671 }
672
673 // Determine next element index.
674 --iElementIndex;
675 if ( iElementIndex < 0 )
676 {
677 iElementIndex = pTextType->m_iMaxElements - 1;
678 }
679 }
680 }
681
682 m_fMoveSinceLastDef += 1.0f;
683
684 // This message has been dealt with, don't pass it on further.
685 bHandled = TRUE;
686 }
687 return S_OK;
688}