93 std::vector<Aurora::Language> &languages)
const {
110 if (!tlks.
contains(
"core_" + langStr +
".tlk",
true))
164 progress.
step(
"Declare languages");
170 warning(
"Failed to detect this game's language");
174 progress.
step(
"Loading user game config");
181 progress.
step(
"Loading game cursors");
186 progress.
step(
"Initializing internal game config");
189 progress.
step(
"Successfully initialized the engine");
207 LangMan.addLanguages(kLanguageDeclarations,
ARRAYSIZE(kLanguageDeclarations));
211 ResMan.setRIMsAreERFs(
true);
214 progress.
step(
"Setting base directory");
217 progress.
step(
"Adding core archive directories");
219 progress.
step(
"Indexing core resources files");
223 progress.
step(
"Indexing extra core resources files");
239 progress.
step(
"Indexing single-player campaign resources files");
243 progress.
step(
"Registering file formats");
248 CursorMan.add(
"area_transition" ,
"area_transition" ,
"up" );
249 CursorMan.add(
"area_transition_pressed" ,
"area_transition" ,
"down" );
250 CursorMan.add(
"attack" ,
"attack" ,
"up" );
251 CursorMan.add(
"attack_pressed" ,
"attack" ,
"down" );
252 CursorMan.add(
"chest" ,
"chest" ,
"up" );
253 CursorMan.add(
"chest_pressed" ,
"chest" ,
"down" );
254 CursorMan.add(
"close" ,
"close" ,
"up" );
255 CursorMan.add(
"close_pressed" ,
"close" ,
"down" );
256 CursorMan.add(
"converse" ,
"converse" ,
"up" );
257 CursorMan.add(
"converse_pressed" ,
"converse" ,
"down" );
258 CursorMan.add(
"destroy" ,
"destroy" ,
"up" );
259 CursorMan.add(
"destroy_pressed" ,
"destroy" ,
"down" );
260 CursorMan.add(
"dialog" ,
"dialog" ,
"up" );
261 CursorMan.add(
"dialog_pressed" ,
"dialog" ,
"down" );
262 CursorMan.add(
"disabled_unlock" ,
"disabled_unlock" ,
"up" );
263 CursorMan.add(
"disabled_unlock_pressed" ,
"disabled_unlock" ,
"down" );
264 CursorMan.add(
"disarm" ,
"disarm" ,
"up" );
265 CursorMan.add(
"disarm_pressed" ,
"disarm" ,
"down" );
267 CursorMan.add(
"door_pressed" ,
"door" ,
"down" );
268 CursorMan.add(
"dragging" ,
"dragging" ,
"" );
269 CursorMan.add(
"examine" ,
"examine" ,
"up" );
270 CursorMan.add(
"examine_pressed" ,
"examine" ,
"down" );
271 CursorMan.add(
"flip_cover" ,
"flip_cover" ,
"up" );
272 CursorMan.add(
"flip_cover_pressed" ,
"flip_cover" ,
"down" );
274 CursorMan.add(
"hand2" ,
"hand" ,
"down" );
275 CursorMan.add(
"hidden_cursor" ,
"hidden_cursor" ,
"" );
276 CursorMan.add(
"ibeam" ,
"ibeam" ,
"up" );
277 CursorMan.add(
"ibeam_pressed" ,
"ibeam" ,
"down" );
278 CursorMan.add(
"invalid" ,
"invalid" ,
"up" );
279 CursorMan.add(
"invalid_pressed" ,
"invalid" ,
"down" );
280 CursorMan.add(
"invalid_move" ,
"invalid_move" ,
"" );
282 CursorMan.add(
"open_pressed" ,
"open" ,
"down" );
283 CursorMan.add(
"open_inventory" ,
"open_inventory" ,
"up" );
284 CursorMan.add(
"open_inventory_pressed" ,
"open_inventory" ,
"down" );
285 CursorMan.add(
"panning" ,
"panning" ,
"down" );
286 CursorMan.add(
"panning1" ,
"panning" ,
"up" );
287 CursorMan.add(
"panning1_h" ,
"panning_h" ,
"up" );
288 CursorMan.add(
"panning1_v" ,
"panning_v" ,
"up" );
289 CursorMan.add(
"panning_h" ,
"panning_h" ,
"down" );
290 CursorMan.add(
"panning_v" ,
"panning_v" ,
"down" );
291 CursorMan.add(
"party_member" ,
"party_member" ,
"" );
292 CursorMan.add(
"standard" ,
"standard" ,
"up" );
293 CursorMan.add(
"standard_pressed" ,
"standard" ,
"down" );
294 CursorMan.add(
"standard_targeting" ,
"standard_targeting" ,
"up" );
295 CursorMan.add(
"standard_targeting_pressed" ,
"standard_targeting" ,
"down" );
296 CursorMan.add(
"target" ,
"target" ,
"up" );
297 CursorMan.add(
"target_pressed" ,
"target" ,
"down" );
298 CursorMan.add(
"target_inactive" ,
"target" ,
"inactive");
299 CursorMan.add(
"target_circle" ,
"target_circle" ,
"up" );
300 CursorMan.add(
"target_circle_pressed" ,
"target_circle" ,
"down" );
301 CursorMan.add(
"target_circle_invalid" ,
"target_circle" ,
"invalid" );
302 CursorMan.add(
"target_cone" ,
"target_cone" ,
"up" );
303 CursorMan.add(
"target_cone_pressed" ,
"target_cone" ,
"down" );
304 CursorMan.add(
"target_cone_invalid" ,
"target_cone" ,
"invalid" );
305 CursorMan.add(
"target_creature" ,
"target_creature" ,
"up" );
306 CursorMan.add(
"target_creature_pressed" ,
"target_creature" ,
"down" );
307 CursorMan.add(
"target_creature_invalid" ,
"target_creature" ,
"invalid" );
308 CursorMan.add(
"target_creaturelock" ,
"target_creaturelock",
"up" );
309 CursorMan.add(
"target_creaturelock_pressed",
"target_creaturelock",
"down" );
310 CursorMan.add(
"topple" ,
"topple" ,
"up" );
311 CursorMan.add(
"topple_pressed" ,
"topple" ,
"down" );
312 CursorMan.add(
"trigger_trap" ,
"trigger_trap" ,
"up" );
313 CursorMan.add(
"trigger_trap_pressed" ,
"trigger_trap" ,
"down" );
314 CursorMan.add(
"unlock" ,
"unlock" ,
"up" );
315 CursorMan.add(
"unlock_pressed" ,
"unlock" ,
"down" );
317 CursorMan.add(
"use_pressed" ,
"use" ,
"down" );
#define ResMan
Shortcut for accessing the sound manager.
Common::ScopedPtr< Game > _game
void playVideo(const Common::UString &video)
Play this video resource.
Generic Aurora engines resource utility functions.
A class holding an UTF-8 string.
bool getLanguage(Aurora::Language &language) const
Return the game's current language.
64bit Fowler-Noll-Vo hash by Glenn Fowler, Landon Curt Noll and Phong Vo.
Engine class handling Dragon Age: Origins.
The global config manager.
Common::ScopedPtr< Console > _console
bool evaluateLanguage(bool find, Aurora::Language &language) const
Dragon Age: Origins (debug) console.
UTF-16 LE (little endian).
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.
#define ARRAYSIZE(x)
Macro which determines the number of entries in a fixed size array.
Dragon Age: Origins model loader.
static Common::UString getLanguageString(Aurora::Language language)
Return the string Dragon Age: Origins uses to representing this language.
void deindexResources(Common::ChangeID &changeID)
Remove previously added resources from the ResourceManager.
void indexMandatoryArchive(const Common::UString &file, uint32 priority, const std::vector< byte > &password, Common::ChangeID *changeID)
The context handling the gameplay in Dragon Age: Origins.
Utility templates and functions.
The global events manager.
Types and functions related to language.
bool empty() const
Is the string empty?
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.
static void unloadTalkTables(ChangeList &changes)
Unload this set of talk tables.
Aurora::Language _language
static void loadResources(const Common::UString &dir, uint32 priority, ChangeList &res)
Load all game resource archives found in this directory.
void registerModelLoader(ModelLoader *loader)
#define LangMan
Shortcut for accessing the language manager.
bool changeLanguage()
Change the game's current language.
Windows codepage 932 (Japanese, extended Shift-JIS).
void step(const Common::UString &description)
Take a step in advancing the progress.
void loadTalkTables(const Common::UString &dir, uint32 priority, ChangeList &res)
Load all talk tables in the current language found in this directory.
void status(const char *s,...)
Windows codepage 1250 (Eastern European, Latin alphabet).
bool addDirectory(const UString &directory, int recurseDepth=0)
Add a directory to the list.
void initResources(LoadProgress &progress)
Generic Aurora engines utility functions.
Windows codepage 1251 (Eastern European, Cyrillic alphabet).
Windows codepage 1252 (Western European, Latin alphabet).
Windows codepage 949 (Korean, similar to EUC-KR).
The global resource manager for Aurora resources.
Utility class for manipulating file paths.
Game & getGame()
Return the context running the actual game.
static UString findSubDirectory(const UString &directory, const UString &subDirectory, bool caseInsensitive=false)
Find a directory's subdirectory.
bool contains(const UString &str, bool caseInsensitive) const
Does the list contain at least one file ending with the given string?
Generic Aurora engines model functions.