66 std::vector<Aurora::Language> &languages)
const {
70 baseDir +=
"/steamassets";
72 baseDir +=
"/GameData";
90 languages.push_back(language);
140 progress.
step(
"Declare languages");
146 warning(
"Failed to detect this game's language");
150 progress.
step(
"Loading user game config");
162 progress.
step(
"Loading game cursors");
168 progress.
step(
"Initializing internal game config");
171 progress.
step(
"Successfully initialized the engine");
188 LangMan.addLanguages(kLanguageDeclarations,
ARRAYSIZE(kLanguageDeclarations));
196 progress.
step(
"Setting base directory");
200 baseDir +=
"/steamassets";
202 baseDir +=
"/GameData";
204 ResMan.registerDataBase(baseDir);
206 progress.
step(
"Adding extra archive directories");
222 progress.
step(
"Loading main KEY");
225 progress.
step(
"Loading high-res texture packs");
229 progress.
step(
"Indexing extra sound resources");
231 progress.
step(
"Indexing extra voice resources");
233 progress.
step(
"Indexing extra music resources");
235 progress.
step(
"Indexing extra movie resources");
238 progress.
step(
"Indexing platform-specific resources");
250 progress.
step(
"Indexing override files");
256 progress.
step(
"Loading main talk table");
257 TalkMan.addTable(
"dialog",
"dialogf",
false, 0);
259 progress.
step(
"Registering file formats");
265 std::vector<Common::UString> cursorRemap;
267 cursorRemap.push_back(
"gui_mp_defaultu");
268 cursorRemap.push_back(
"gui_mp_defaultd");
269 cursorRemap.push_back(
"gui_mp_walku");
270 cursorRemap.push_back(
"gui_mp_walkd");
271 cursorRemap.push_back(
"gui_mp_invalidu");
272 cursorRemap.push_back(
"gui_mp_invalidd");
273 cursorRemap.push_back(
"gui_mp_bashu");
274 cursorRemap.push_back(
"gui_mp_bashd");
275 cursorRemap.push_back(
"gui_mp_bashup");
276 cursorRemap.push_back(
"gui_mp_bashdp");
277 cursorRemap.push_back(
"gui_mp_talku");
278 cursorRemap.push_back(
"gui_mp_talkd");
279 cursorRemap.push_back(
"gui_mp_notalku");
280 cursorRemap.push_back(
"gui_mp_notalkd");
281 cursorRemap.push_back(
"gui_mp_followu");
282 cursorRemap.push_back(
"gui_mp_followd");
283 cursorRemap.push_back(
"gui_mp_examineu");
284 cursorRemap.push_back(
"gui_mp_examined");
285 cursorRemap.push_back(
"gui_mp_noexamu");
286 cursorRemap.push_back(
"gui_mp_noexamd");
287 cursorRemap.push_back(
"gui_mp_transu");
288 cursorRemap.push_back(
"gui_mp_transd");
289 cursorRemap.push_back(
"gui_mp_dooru");
290 cursorRemap.push_back(
"gui_mp_doord");
291 cursorRemap.push_back(
"gui_mp_useu");
292 cursorRemap.push_back(
"gui_mp_used");
293 cursorRemap.push_back(
"gui_mp_useup");
294 cursorRemap.push_back(
"gui_mp_usedp");
295 cursorRemap.push_back(
"gui_mp_magicu");
296 cursorRemap.push_back(
"gui_mp_magicd");
297 cursorRemap.push_back(
"gui_mp_nomagicu");
298 cursorRemap.push_back(
"gui_mp_nomagicd");
299 cursorRemap.push_back(
"gui_mp_dismineu");
300 cursorRemap.push_back(
"gui_mp_dismined");
301 cursorRemap.push_back(
"gui_mp_dismineup");
302 cursorRemap.push_back(
"gui_mp_disminedp");
303 cursorRemap.push_back(
"gui_mp_recmineu");
304 cursorRemap.push_back(
"gui_mp_recmined");
305 cursorRemap.push_back(
"gui_mp_recmineup");
306 cursorRemap.push_back(
"gui_mp_recminedp");
307 cursorRemap.push_back(
"gui_mp_locku");
308 cursorRemap.push_back(
"gui_mp_lockd");
309 cursorRemap.push_back(
"gui_mp_doorup");
310 cursorRemap.push_back(
"gui_mp_doordp");
311 cursorRemap.push_back(
"gui_mp_selectu");
312 cursorRemap.push_back(
"gui_mp_selectd");
313 cursorRemap.push_back(
"gui_mp_createu");
314 cursorRemap.push_back(
"gui_mp_created");
315 cursorRemap.push_back(
"gui_mp_nocreatu");
316 cursorRemap.push_back(
"gui_mp_nocreatd");
317 cursorRemap.push_back(
"gui_mp_killu");
318 cursorRemap.push_back(
"gui_mp_killd");
319 cursorRemap.push_back(
"gui_mp_nokillu");
320 cursorRemap.push_back(
"gui_mp_nokilld");
321 cursorRemap.push_back(
"gui_mp_healu");
322 cursorRemap.push_back(
"gui_mp_heald");
323 cursorRemap.push_back(
"gui_mp_nohealu");
324 cursorRemap.push_back(
"gui_mp_noheald");
325 cursorRemap.push_back(
"gui_mp_arrun00");
326 cursorRemap.push_back(
"gui_mp_arrun01");
327 cursorRemap.push_back(
"gui_mp_arrun02");
328 cursorRemap.push_back(
"gui_mp_arrun03");
329 cursorRemap.push_back(
"gui_mp_arrun04");
330 cursorRemap.push_back(
"gui_mp_arrun05");
331 cursorRemap.push_back(
"gui_mp_arrun06");
332 cursorRemap.push_back(
"gui_mp_arrun07");
333 cursorRemap.push_back(
"gui_mp_arrun08");
334 cursorRemap.push_back(
"gui_mp_arrun09");
335 cursorRemap.push_back(
"gui_mp_arrun10");
336 cursorRemap.push_back(
"gui_mp_arrun11");
337 cursorRemap.push_back(
"gui_mp_arrun12");
338 cursorRemap.push_back(
"gui_mp_arrun13");
339 cursorRemap.push_back(
"gui_mp_arrun14");
340 cursorRemap.push_back(
"gui_mp_arrun15");
341 cursorRemap.push_back(
"gui_mp_arwalk00");
342 cursorRemap.push_back(
"gui_mp_arwalk01");
343 cursorRemap.push_back(
"gui_mp_arwalk02");
344 cursorRemap.push_back(
"gui_mp_arwalk03");
345 cursorRemap.push_back(
"gui_mp_arwalk04");
346 cursorRemap.push_back(
"gui_mp_arwalk05");
347 cursorRemap.push_back(
"gui_mp_arwalk06");
348 cursorRemap.push_back(
"gui_mp_arwalk07");
349 cursorRemap.push_back(
"gui_mp_arwalk08");
350 cursorRemap.push_back(
"gui_mp_arwalk09");
351 cursorRemap.push_back(
"gui_mp_arwalk10");
352 cursorRemap.push_back(
"gui_mp_arwalk11");
353 cursorRemap.push_back(
"gui_mp_arwalk12");
354 cursorRemap.push_back(
"gui_mp_arwalk13");
355 cursorRemap.push_back(
"gui_mp_arwalk14");
356 cursorRemap.push_back(
"gui_mp_arwalk15");
357 cursorRemap.push_back(
"gui_mp_pickupu");
358 cursorRemap.push_back(
"gui_mp_pickupd");
360 ResMan.setCursorRemap(cursorRemap);
367 CursorMan.add(
"gui_mp_defaultd" ,
"default" ,
"down");
368 CursorMan.add(
"gui_mp_defaultu" ,
"default" ,
"up" );
370 CursorMan.add(
"gui_mp_bashd" ,
"bash" ,
"down");
371 CursorMan.add(
"gui_mp_bashu" ,
"bash" ,
"up" );
372 CursorMan.add(
"gui_mp_bashdp" ,
"bash+" ,
"down");
373 CursorMan.add(
"gui_mp_bashup" ,
"bash+" ,
"up" );
374 CursorMan.add(
"gui_mp_dismined" ,
"dismine" ,
"down");
375 CursorMan.add(
"gui_mp_dismineu" ,
"dismine" ,
"up" );
376 CursorMan.add(
"gui_mp_disminedp",
"dismine+" ,
"down");
377 CursorMan.add(
"gui_mp_dismineup",
"dismine+" ,
"up" );
378 CursorMan.add(
"gui_mp_doord" ,
"door" ,
"down");
379 CursorMan.add(
"gui_mp_dooru" ,
"door" ,
"up" );
380 CursorMan.add(
"gui_mp_doordp" ,
"door+" ,
"down");
381 CursorMan.add(
"gui_mp_doorup" ,
"door+" ,
"up" );
382 CursorMan.add(
"gui_mp_invalidd" ,
"invalid" ,
"down");
383 CursorMan.add(
"gui_mp_invalidu" ,
"invalid" ,
"up" );
384 CursorMan.add(
"gui_mp_killd" ,
"kill" ,
"down");
385 CursorMan.add(
"gui_mp_killu" ,
"kill" ,
"up" );
386 CursorMan.add(
"gui_mp_recmined" ,
"recmine" ,
"down");
387 CursorMan.add(
"gui_mp_recmineu" ,
"recmine" ,
"up" );
388 CursorMan.add(
"gui_mp_recminedp",
"recmine+" ,
"down");
389 CursorMan.add(
"gui_mp_recmineup",
"recmine+" ,
"up" );
390 CursorMan.add(
"gui_mp_selectd" ,
"select" ,
"down");
391 CursorMan.add(
"gui_mp_selectu" ,
"select" ,
"up" );
392 CursorMan.add(
"gui_mp_talkd" ,
"talk" ,
"down");
393 CursorMan.add(
"gui_mp_talku" ,
"talk" ,
"up" );
394 CursorMan.add(
"gui_mp_used" ,
"use" ,
"down");
395 CursorMan.add(
"gui_mp_useu" ,
"use" ,
"up" );
396 CursorMan.add(
"gui_mp_usedp" ,
"use+" ,
"down");
397 CursorMan.add(
"gui_mp_useup" ,
"use+" ,
"up" );
#define ResMan
Shortcut for accessing the sound manager.
Aurora::Platform _platform
void playVideo(const Common::UString &video)
Play this video resource.
Generic Aurora engines resource utility functions.
#define TalkMan
Shortcut for accessing the talk manager.
bool detectLanguages(Aurora::GameID game, const Common::UString &target, Aurora::Platform platform, std::vector< Aurora::Language > &languages) const
Detect which languages this game instance supports.
A class holding an UTF-8 string.
Temporary game settings/properties.
The context handling the gameplay in Star Wars: Knights of the Old Republic II - The Sith Lords...
The global config manager.
void initResources(LoadProgress &progress)
Common::ScopedPtr< Console > _console
bool evaluateLanguage(bool find, Aurora::Language &language) const
#define ARRAYSIZE(x)
Macro which determines the number of entries in a fixed size array.
bool indexOptionalDirectory(const Common::UString &dir, const char *glob, int depth, uint32 priority, Common::ChangeID *changeID)
Add a directory to the resource manager, if it exists.
UString findFirst(const UString &str, bool caseInsensitive) const
Find the first file ending with the given string.
void indexMandatoryArchive(const Common::UString &file, uint32 priority, const std::vector< byte > &password, Common::ChangeID *changeID)
Game & getGame()
Return the context running the actual game.
#define ConfigMan
Shortcut for accessing the config manager.
Windows codepage 950 (Traditional Chinese, similar to Big5).
Utility templates and functions.
void unregisterModelLoader()
The global events manager.
Types and functions related to language.
Star Wars: Knights of the Old Republic II - The Sith Lords (debug) console.
bool empty() const
Is the string empty?
bool changeLanguage()
Change the game's current language.
Aurora::Language _language
bool getLanguage(Aurora::Language &language) const
Return the game's current language.
Handling BioWare's TLK talk tables.
void warning(const char *s,...)
#define CursorMan
Shortcut for accessing the cursor manager.
#define EventMan
Shortcut for accessing the events manager.
The Aurora cursor manager.
Displaying the progress in loading a game.
Textured font, used by NWN and KotOR/KotOR2.
void indexMandatoryDirectory(const Common::UString &dir, const char *glob, int depth, uint32 priority, Common::ChangeID *changeID)
Add a directory to the resource manager, erroring out if it does not exist.
Star Wars: Knights of the Old Republic II - The Sith Lords model loader.
void registerModelLoader(ModelLoader *loader)
Application or game defaults.
#define LangMan
Shortcut for accessing the language manager.
Windows codepage 932 (Japanese, extended Shift-JIS).
The global talk manager for Aurora strings.
Common::ScopedPtr< Game > _game
void step(const Common::UString &description)
Take a step in advancing the progress.
void status(const char *s,...)
void checkConfigInt(const Common::UString &key, int min, int max)
Make sure that an int config value is in the right range.
Windows codepage 1250 (Eastern European, Latin alphabet).
bool addDirectory(const UString &directory, int recurseDepth=0)
Add a directory to the list.
Generic Aurora engines utility functions.
Windows codepage 1252 (Western European, Latin alphabet).
Windows codepage 949 (Korean, similar to EUC-KR).
uint32 getLanguageID() const
Return the language ID (ungendered) of the talk table.
Windows codepage 936 (Simplified Chinese, extended GB2312 with GBK codepoints).
Engine class handling Star Wars: Knights of the Old Republic II - The Sith Lords. ...
The global resource manager for Aurora resources.
Utility class for manipulating file paths.
#define FontMan
Shortcut for accessing the font manager.
static UString findSubDirectory(const UString &directory, const UString &subDirectory, bool caseInsensitive=false)
Find a directory's subdirectory.
Generic Aurora engines model functions.