51 namespace DragonAge2 {
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");
243 progress.
step(
"Indexing single-player campaign resources files");
247 progress.
step(
"Registering file formats");
252 CursorMan.add(
"area_transition" ,
"area_transition" ,
"up" );
253 CursorMan.add(
"area_transition_pressed" ,
"area_transition" ,
"down" );
254 CursorMan.add(
"attack" ,
"attack" ,
"up" );
255 CursorMan.add(
"attack_pressed" ,
"attack" ,
"down" );
256 CursorMan.add(
"chest" ,
"chest" ,
"up" );
257 CursorMan.add(
"chest_pressed" ,
"chest" ,
"down" );
258 CursorMan.add(
"close" ,
"close" ,
"up" );
259 CursorMan.add(
"close_pressed" ,
"close" ,
"down" );
260 CursorMan.add(
"converse" ,
"converse" ,
"up" );
261 CursorMan.add(
"converse_pressed" ,
"converse" ,
"down" );
262 CursorMan.add(
"destroy" ,
"destroy" ,
"up" );
263 CursorMan.add(
"destroy_pressed" ,
"destroy" ,
"down" );
264 CursorMan.add(
"dialog" ,
"dialog" ,
"up" );
265 CursorMan.add(
"dialog_pressed" ,
"dialog" ,
"down" );
266 CursorMan.add(
"disabled_disarm" ,
"disabled_disarm" ,
"up" );
267 CursorMan.add(
"disabled_disarm_pressed" ,
"disabled_disarm" ,
"down" );
268 CursorMan.add(
"disabled_unlock" ,
"disabled_unlock" ,
"up" );
269 CursorMan.add(
"disabled_unlock_pressed" ,
"disabled_unlock" ,
"down" );
270 CursorMan.add(
"disarm" ,
"disarm" ,
"up" );
271 CursorMan.add(
"disarm_pressed" ,
"disarm" ,
"down" );
273 CursorMan.add(
"door_pressed" ,
"door" ,
"down" );
274 CursorMan.add(
"dragging" ,
"dragging" ,
"" );
275 CursorMan.add(
"examine" ,
"examine" ,
"up" );
276 CursorMan.add(
"examine_pressed" ,
"examine" ,
"down" );
277 CursorMan.add(
"flip_cover" ,
"flip_cover" ,
"up" );
278 CursorMan.add(
"flip_cover_pressed" ,
"flip_cover" ,
"down" );
280 CursorMan.add(
"hand2" ,
"hand" ,
"down" );
281 CursorMan.add(
"hidden_cursor" ,
"hidden_cursor" ,
"" );
282 CursorMan.add(
"ibeam" ,
"ibeam" ,
"up" );
283 CursorMan.add(
"ibeam_pressed" ,
"ibeam" ,
"down" );
284 CursorMan.add(
"invalid" ,
"invalid" ,
"up" );
285 CursorMan.add(
"invalid_pressed" ,
"invalid" ,
"down" );
286 CursorMan.add(
"invalid_move" ,
"invalid_move" ,
"" );
288 CursorMan.add(
"open_pressed" ,
"open" ,
"down" );
289 CursorMan.add(
"open_inventory" ,
"open_inventory" ,
"up" );
290 CursorMan.add(
"open_inventory_pressed" ,
"open_inventory" ,
"down" );
291 CursorMan.add(
"panning" ,
"panning" ,
"down" );
292 CursorMan.add(
"panning1" ,
"panning" ,
"up" );
293 CursorMan.add(
"panning1_h" ,
"panning_h" ,
"up" );
294 CursorMan.add(
"panning1_v" ,
"panning_v" ,
"up" );
295 CursorMan.add(
"panning_h" ,
"panning_h" ,
"down" );
296 CursorMan.add(
"panning_v" ,
"panning_v" ,
"down" );
297 CursorMan.add(
"party_member" ,
"party_member" ,
"" );
298 CursorMan.add(
"standard" ,
"standard" ,
"up" );
299 CursorMan.add(
"standard_pressed" ,
"standard" ,
"down" );
300 CursorMan.add(
"standard_targeting" ,
"standard_targeting" ,
"up" );
301 CursorMan.add(
"standard_targeting_pressed" ,
"standard_targeting" ,
"down" );
302 CursorMan.add(
"target" ,
"target" ,
"up" );
303 CursorMan.add(
"target_pressed" ,
"target" ,
"down" );
304 CursorMan.add(
"target_inactive" ,
"target" ,
"inactive");
305 CursorMan.add(
"target_circle" ,
"target_circle" ,
"up" );
306 CursorMan.add(
"target_circle_pressed" ,
"target_circle" ,
"down" );
307 CursorMan.add(
"target_circle_invalid" ,
"target_circle" ,
"invalid" );
308 CursorMan.add(
"target_cone" ,
"target_cone" ,
"up" );
309 CursorMan.add(
"target_cone_pressed" ,
"target_cone" ,
"down" );
310 CursorMan.add(
"target_cone_invalid" ,
"target_cone" ,
"invalid" );
311 CursorMan.add(
"target_creature" ,
"target_creature" ,
"up" );
312 CursorMan.add(
"target_creature_pressed" ,
"target_creature" ,
"down" );
313 CursorMan.add(
"target_creature_invalid" ,
"target_creature" ,
"invalid" );
314 CursorMan.add(
"target_creaturelock" ,
"target_creaturelock",
"up" );
315 CursorMan.add(
"target_creaturelock_pressed",
"target_creaturelock",
"down" );
316 CursorMan.add(
"topple" ,
"topple" ,
"up" );
317 CursorMan.add(
"topple_pressed" ,
"topple" ,
"down" );
318 CursorMan.add(
"trigger_trap" ,
"trigger_trap" ,
"up" );
319 CursorMan.add(
"trigger_trap_pressed" ,
"trigger_trap" ,
"down" );
320 CursorMan.add(
"unlock" ,
"unlock" ,
"up" );
321 CursorMan.add(
"unlock_pressed" ,
"unlock" ,
"down" );
323 CursorMan.add(
"use_pressed" ,
"use" ,
"down" );
#define ResMan
Shortcut for accessing the sound manager.
void playVideo(const Common::UString &video)
Play this video resource.
Generic Aurora engines resource utility functions.
static void unloadTalkTables(ChangeList &changes)
Unload this set of talk tables.
A class holding an UTF-8 string.
64bit Fowler-Noll-Vo hash by Glenn Fowler, Landon Curt Noll and Phong Vo.
The global config manager.
static Common::UString getLanguageString(Aurora::Language language)
Return the string Dragon Age II uses to representing this language.
Common::ScopedPtr< Console > _console
bool getLanguage(Aurora::Language &language) const
Return the game's current language.
bool evaluateLanguage(bool find, Aurora::Language &language) const
Engine class handling Dragon Age II.
UTF-16 LE (little endian).
The context handling the gameplay in Dragon Age II.
#define ARRAYSIZE(x)
Macro which determines the number of entries in a fixed size array.
Aurora::Language _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)
void initResources(LoadProgress &progress)
Utility templates and functions.
bool changeLanguage()
Change the game's current language.
The global events manager.
Common::ScopedPtr< Game > _game
Types and functions related to language.
bool empty() const
Is the string empty?
Game & getGame()
Return the context running the actual game.
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.
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.
void registerModelLoader(ModelLoader *loader)
#define LangMan
Shortcut for accessing the language manager.
Windows codepage 932 (Japanese, extended Shift-JIS).
void step(const Common::UString &description)
Take a step in advancing the progress.
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.
Generic Aurora engines utility functions.
Windows codepage 1251 (Eastern European, Cyrillic alphabet).
Windows codepage 1252 (Western European, Latin alphabet).
Dragon Age II model loader.
Windows codepage 949 (Korean, similar to EUC-KR).
void loadTalkTables(const Common::UString &dir, uint32 priority, ChangeList &res)
Load all talk tables in the current language found in this directory.
Dragon Age II (debug) console.
The global resource manager for Aurora resources.
Utility class for manipulating file paths.
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?
void loadResources(const Common::UString &dir, uint32 priority, ChangeList &res)
Load all game resource archives in the current language found in this directory.
Generic Aurora engines model functions.