.: March 8, 2011.: March 10, 2011.: March 11, 2011 Mode(s) Dragon Age II is an developed by and published by for, and. It is the second major game in the series, and was released worldwide in March 2011. Set in the world of Thedas introduced in, the player assumes the role of Hawke, a human mage, rogue, or warrior who arrives in the city of Kirkwall as a lowly refugee, and becomes its legendary champion over a turbulent decade of political and social conflict. The game received generally favorable reviews, with most criticisms directed on differences between Dragon Age II and Dragon Age: Origins, such as the removal of the origin stories and race choices, the noticeably smaller world, and the combat system. The party is standing in the Gallows courtyard. Dragon Age II is an action.
There are three class types for use in battle: a mage (who wields a magical staff to cast spells), a rogue (who wields a dagger or bow and arrow), or a warrior (who wields a shield and a axe/mace/sword). During battles, the player may pause the game and issue commands to party members in order to maximize combat efficiency. An example could be a mage freezing an enemy to allow a warrior to shatter them to pieces. Up to three companions can be included in a party alongside the player. After a battle, the player may loot the enemy for money and equipment.
The spoils of war may be used to better outfit the party members. Battle also yields experience which can be used to unlock new combat abilities for each character. Outside combat, the player engages in dialogue, asking or answering questions. While Hawke's race is locked as a human, he/she is fully voiced via a new dialogue wheel based on the dialog system from the.
There are generally three personality types: diplomatic, humorous, or aggressive. The most chosen option becomes Hawke's core personality type.
Friendship and rivalry The approval system from Origins has been adjusted into a friendship/rivalry system. Each of Hawke's companions has a graphical approval bar to reflect their opinion of Hawke, viewing them as either a friend or a rival depending on decisions and dialogue. A companion who consistently agrees with Hawke's views considers them a friend, while a companion who consistently disagrees with Hawke instead forms a tense but respectful rivalry with them. Therefore, the player must carefully choose who to bring along in each quest. Hawke's siblings, Bethany and Carver, start at 50 points in friendship and rivalry, respectively. Once a companion reaches 100% friendship or rivalry, it becomes permanent, unlocking additional dialogues. Full friendship unlocks bonuses which generally benefit Hawke or the whole party, while full rivalry boosts combat ability for companions to help them outdo Hawke in competition.
Up to five companions are romance options for Hawke regardless of friendship and rivalry. Companions with full friendship or rivalry accompany Hawke into the final battle unconditionally, even if they disagree with Hawke's chosen allegiance. Synopsis. See also: Setting The player selects a preset or imported story to determine the events of and form the background story of Dragon Age II. The main story has a linear, unfolding through flashbacks from the perspective of Varric Tethras , a humorous though caring storyteller and dwarf rogue companion of Hawke (Nicholas Boulton or ) who relates the Champion's 'true story' to his interrogator , mainly based on the protagonist's choices. The story is told in three acts, with each act being separated by a gap of almost three years.
Although the story remains unaltered until the two endings, it is greatly influenced by the player's decisions. Hawke, whose gender, first name, appearance, and class type is player-determined, is the protagonist. Hawke fled the nation of Ferelden during the events of Origins to the city of Kirkwall as a refugee, eventually rising in power and influence to become the legendary 'Champion of Kirkwall', and the center of events that change the course of Thedas. Hawke can recruit up to eight companions, all of whom can be player-controlled. Alongside Varric, mandatory companions include Anders , a proud but mercurial mage and former Grey Warden determined to defend the mages in Kirkwall from the templars; Aveline Vallen , a pragmatic warrior who becomes a strict leader of the templar Kirkwall City Guard; and Merrill , a soft-hearted but socially awkward dalish elven mage shunned by her clan for using blood magic.
Additionally, one of Hawke's two siblings serves as a companion for the story's first act: their kind though unconfident mage sister Bethany , who loves Hawke; or their prideful though abrasive warrior brother Carver (Nico Lennon), who cares for Hawke but resents feeling overshadowed by him/her. Optional companions include Fenris , a honest elven warrior seeking revenge on his former slaver; and Isabela (Victoria Kruger), an adventurous yet sarcastic rogue pirate captain searching for a coveted relic. Additionally, Sebastian Vael , a kind but often mocked human rogue member of the Kirkwall Chantry, can be recruited via the, The Exiled Prince. Anders, Fenris, Isabela and Merrill are romance options for Hawke, alongside Sebastian for a female Hawke. Plot After the death or disappearance of the Warden, Cassandra seeks out Hawke, the 'Champion of Kirkwall', with the seekers, an offshoot of the templars.
She captures and interrogates Varric, demanding to know how Hawke started a war between the mages and templars. Varric begins to tell her the story, telling her that while he does not know Hawke's location, he can tell her how the war started.
The story starts shortly after the Battle of Ostagar, with the Hawke family escaping their home village of Lothering in Ferelden with a darkspawn horde in pursuit. They meet and team with Aveline and her husband Wesley, but he and Carver (or Bethany if Hawke is a mage) are killed. Flemeth, a witch who can assume the form of a dragon, intervenes and helps the party escape to Kirkwall, a city across the sea, provided Hawke completes a task for her. Kirkwall's gates are overwhelmed by Fereldan refugees. The group is forced to call upon their uncle Gamlen Amell, who no longer holds the fortune and estate held by the Amell family, forcing Hawke to enter the service of a mercenary band or smuggler group in order to enter the city, after which the family take up residence in Gamlen's house in Lowtown. A year later, an opportunity of prosperity for Hawke presents itself: Varric and his brother Bartrand are planning a risky but rewarding treasure hunting expedition into the perilous region of the Deep Roads, taking advantage after the end of the Fifth Blight. Varric partners with Hawke to acquire funding and knowledge of the region.
As such, Hawke embarks on an adventurous quest to earn the needed capital and enlists the aid of Anders, who possesses knowledge of The Deep Roads. The expedition proves both a financial success and a tragedy: the proceeds make Hawke famous and wealthy, enabling him/her to relocate to a mansion in Hightown. However, a very powerful magical lyrium idol corrupts Bartrand's mind and causes him to betray Hawke and Varric. Additionally, if brought, the surviving sibling of Hawke is either killed by the darkspawn taint or conscripted into the Grey Wardens. If left home, Bethany is arrested and conscripted into the Circle of Magi/Carver joins the templars.
Three years later, Hawke is summoned by the Viscount of Kirkwall to help resolve a political situation that the foreign military forces of the qunari have caused. The qunari, who were shipwrecked in Kirkwall three years prior, neither obey the laws of Kirkwall nor seem willing to leave in the foreseeable future, escalating tension between them and the inhabitants of Kirkwall. Personal tragedy also strikes Hawke when their mother Leandra is abducted and killed by a blood mage preying on Kirkwall's women. Hawke resolves to find out the identity of the serial killer's accomplice, 'O'.
Eventually, as Hawke discovers the reason for the qunari presence (a coveted artifact being stolen from them), the qunari leader, the Arishok, decides to attack Kirkwall and executes the Viscount. Hawke's party successfully retakes Kirkwall and, if Hawke chooses, eliminates the Arishok.
For his/her actions, Hawke is declared the Champion of Kirkwall. After another three years, Kirkwall has been turned into a due to the tyrannical rule of the templars under Knight-Commander Meredith, who aims to oppress mages for their use of blood magic via the Rite of Tranquility. Meredith is challenged by First Enchanter Orsino, the Circle of Magi leader in Kirkwall who tries to topple her with public support. Consistent violence between the two sides forces Hawke to intervene, during which a group of anti-Meredith rebels kidnap Hawke's surviving sibling/closest friend. Eventually, Anders orchestrates a massive explosion that levels the Chantry and kills Grand Cleric Elthina, to whom the templars bear allegiance. This triggers a final decisive battle between the mages and templars across the city, forcing Hawke to choose a side. Regardless, he/she ends up killing both Orsino, who is surmised to have been 'O', and Meredith, who bought the lyrium idol from Bartrand, which has corrupted her mind and convinced her to go through a mass extermination of mages.
Afterwards, Hawke either leaves Kirkwall as a hero to mages, or is elected Viscount. Varric concludes the story, stating that Hawke's companions eventually drift apart (except a love interest if Hawke had one, who stays with them), and Hawke has left Kirkwall, even if elected Viscount. At this, the seekers are revealed to be a group tasked with monitoring the templars. Additionally, the Circles of Magi all over Thedas have followed Kirkwall's example and rebelled, with the templars breaking away from the Chantry to fight them. Satisfied, Cassandra lets Varric go and leaves with Leliana and the fellow seekers. Development Development of Dragon Age II was announced in July 2010 and BioWare's Greg Zeschuk stated when interviewed by that 'I think one of the key things we're working on in Dragon Age II is the technology. I can confirm that we're doing a lot of work on the Dragon Age engine, and doing a lot of stuff to pump it - to make it visually super hot.'
A trailer for Dragon Age II was released on August 17, 2010, showing some of the new characters and places that Dragon Age II is based on. Dragon Age II uses an enhanced graphic engine and the controls are more responsive. The combat system is same as the previous game for the PC version but different in console versions, tailored to the strengths of the control pad. A special feature of Dragon Age II is that the 'story' will span a decade. In-game events and dialogues would warrant a longer 'run' of years.
As the main character moves on year by year, the choices that the player made in the past will affect the present and the future. The original 'dialogue' system is replaced by the 'wheel' system previously seen in the Mass Effect series.
Unlike its original version, however, the 'wheel' will now clearly indicate what tone the main character's response will have (such as peaceful, sarcastic, and angry), however as it paraphrases dialogue, it is often unclear exactly what will be said by the character. During the pre-development of the game, a veteran lead designer who had been with for a decade and the central figurehead behind, decided to resign during the designing process of Dragon Age II and eventually left the company, stating 'I'm not the same person I was when I started, and BioWare is not the same company.' He later went on to clarify his decision to leave, elaborating 'I never thought Dragon Age II would be a terrible game. It was just that a highly cinematic, action-leaning RPG was not what I wanted to work on. That is all.' After playing the game's demo, he praised how polished and immersive it was, but mentioned that its combat had identity issues and did not seem to fit properly into either the action or role-playing game genre. In an overall assessment he felt that it was a strong title, especially considering the short development cycle, and called the demo 'promising', though the amount of changes from the first title in the series seemed excessive to him, citing gameplay issues and the lack of ability to play as another race than human.
By February 11, 2011, the game had for all platforms and was set for release. On February 22, the demo was released across all platforms.
BioWare released Dragon Age II on March 8 in North America and March 11 in Europe. Two versions were released: the normal edition and the 'Signature Edition', the latter including the Day 1 known as 'The Exiled Prince', premium packaging, a download code for the game's soundtrack, and 4 in-game items. The Signature Edition was available for pre-order until January 11, 2011 and was priced the same as the normal edition. Marketing Orders placed before January 11, 2011, were automatically upgraded to the Dragon Age II: BioWare Signature Edition, with additional content. Orders placed before March 8 qualify for pre-order bonuses.
In an attempt to discourage purchasing used copies of the game, purchasers of a new copy (before or after the release date) receive access to additional features. Further in-game bonuses can be obtained by completing the free Dragon Age II demo, through, and by signing up to the newsletter. Purchasing the game before March 31, 2012, also unlocks a Dead Space themed armor item.
BioWare announced that 2 game items would be unlocked for all users if the total number of demo downloads reached 1 million in the course of one week (which occurred), and that a further and more powerful item would be unlocked if each post on the official account between February 28 and March 4 received 1 million the day it was posted. Downloadable content The Exiled Prince The Exiled Prince is the first story-driven (DLC) to be released. It features a new companion, Sebastian Vael, a Brother of the Chantry (a fictional counterpart of a ) who seeks vengeance after his family is murdered. The DLC features three additional quests and one new location. It was released at the same time the game was launched. The Black Emporium Available at no cost to those who purchase Dragon Age II new, this DLC adds a bonus vendor that sells exclusive items.
In addition, the DLC includes a Mabari War Hound to fight at Hawke's side and The Mirror of Transformation, which allows the player to change Hawke's facial appearance as many times as they want and they can also buy potions there which allow to reset stats and abilities of the Champion and companions. The Black Emporium is also shown in Dragon age Inquisition where the player can access higher tier schematics and crafting materials, as well as The Mirror of Transformation.
Legacy Released July 26, 2011, Legacy is the second story-driven DLC. Legacy 's story branches off the main storyline and can be started at any point in the Dragon Age II campaign. It is entirely played in a new location, a prison constructed by the Grey Wardens in the middle of the deserted Vimmark Mountains housing Corypheus, a powerful and ancient Darkspawn who would become the main villain in. It features five different quests, a new class-specific weapon, and a story about Hawke's lineage. Mark of the Assassin Released on October 11, 2011, Mark Of The Assassin, the last story-driven DLC, adds nineteen additional quests and a guest party member called Tallis (a character from the webseries, voiced by who also played Tallis in the series).
Hawke must help Tallis infiltrate an Orlesian estate outside Kirkwall and steal a precious relic. Like Legacy, Mark of The Assassin's story branches off the main campaign and can be started at any point in the main campaign. It is played in an entirely new location, namely Haine and its neighboring landscape. The Exalted March (cancelled) On March 19, 2012, Dragon Age franchise executive producer Mark Darrah confirmed that an expansion pack entitled The Exalted March had been in development, but was cancelled due to 'other DA opportunities.' Reception Reception Aggregate score Aggregator Score (PC) 82/100 (PS3) 82/100 (X360) 79/100 Review scores Publication Score B+ 3/5 (PS3/X360) 8.25/10 (PC) 7.75/10 8.0/10 9.2/10 8.5/10 9/10 94% 7/10 Dragon Age II received generally favorable reviews among professional critics, with a of 82 for the PC version of the game. David Radd from Industrygamers noted that ' Dragon Age II has had the most mixed critical reception for a full-retail product perhaps ever (assuming is not counted).' The UK edition of magazine highly praised Dragon Age II, mentioning the improved combat system, dialogue wheel, skill-trees, and solid storytelling as its strong points.
The game earned their 'Editor's Choice' award, and the magazine stated of the game: 'The best RPG of this decade? Nine more years will tell, but for now, yes.' Gave the game a 9 out of 10, mentioning that, although it was slightly altered from its predecessor, the game 'offers some of the deepest, nerdiest, most worthwhile 40 to 60 hours you will ever love losing sleep over.' Gave the game high marks and stated that, 'Though it does not hold a candle to its predecessor when it comes to sheer breadth, Dragon Age II has quite a bit more soul', and that it had 'some of the most gratifying RPG combat we've played in a long time.' Not all of the reviewers have praised the changes, however.
Said the game 'never progresses beyond the identity issues it had with Origins', criticized the lack of noticeable characters, small area of setting, while adding 'simplification of combat does not work in the game's favour'. Gave the console versions of the game a score of 8.25 and the PC version a 7.75, criticizing the poorly designed combat system, stating that, 'On all platforms, Dragon Age II caters to an audience that didn't connect with Origins, while alienating those who did' and 'improving the polish doesn't do much good when the basics still need work'. Eurogamer settled for saying that the game is 'never quite as great as it could be', but also concluded that it is still a 'Satisfying epic', awarding it 8/10, while noted that the game suffered from 'unnecessary simplification and unfocused storytelling' but still left a strong impression.
RPG Site awarded the game 80%, arguing that 'the discussion about Dragon Age II does not need to be 'is it good?' - It is - but needs to be 'is this what fans wanted from a sequel to Dragon Age: Origins?'
', suggesting that is where some of the fan animosity towards the title may arise from. In an interview with GameSpot, Dragon Age II 's lead designer, Mike Laidlaw, addressed the fans' concerns toward the changes in Dragon Age II by stating that BioWare will 'despite Dragon Age's players' criticisms continue to tune and capitalize on that 'fusion' between the Origins experience and Dragon Age II'.
Additionally, he also noted that a return to the RPG style of Dragon Age: Origins is unlikely, proclaiming: 'The big key is to not adjust 180 degrees again, because we've done this.' One million copies of Dragon Age II were sold within two weeks of its launch, faster than Dragon Age: Origins.
Within two months of the launch, the game sold-in 'over two million copies', meaning that over two million copies have been distributed to retailers. In June 2011, in an interview with GameRant.com, EA Games Label President Frank Gibeau acknowledged the fans' disappointment over the direction Dragon Age II took, and proclaimed: 'As we think about where we take the franchise next, we're going to take that into consideration and really engage them'.
Controversies SecuROM In March 2011, reports began emerging from consumer-advocacy website Reclaim Your Game that Dragon Age II was being distributed with the controversial software, despite assertions from EA that it would not be. Producer Fernando Melo stated that although the game uses software made by the makers of SecuROM, it is a different program completely. 'They have the same support site through which is the URL you're seeing.' The software is a form of release-date checker, designed to prevent copies of the game from being played before the release date in that territory. The software runs from the disc, and does not install anything on the system. BioWare confirmed that there is no SecuROM DRM in the game and clarified that in the case of downloaded versions, the release date check program's deletes itself after having performed the check.
Chris Hoban A BioWare employee was caught posting as a consumer on the review site Metacritic. The employee, Chris Hoban, who posted under the name of Avanost gave a score of 10/10 saying 'Anything negative you will see about this game is an overreaction of personal preference.' A representative for EA responded after much online controversy saying 'Of course the people who make the game vote for their own game. That's how it works in the Oscars, that's how it works in the Grammys and why I'm betting that Barack Obama voted for himself in the last election', though it is unclear if Hoban acted on his own or at the behest of the company.
Hinkle, David (2011-02-08). Retrieved 2011-02-24. While it might appear to run on a new engine, Dragon Age 2 employs an evolved version of Origins' Eclipse engine (now called the Lycium engine internally). Electronic Arts. Retrieved 2010-08-19. Retrieved 2011-03-09.
Retrieved September 5, 2010. ^ Plunkett, Luke (2010-07-13). Retrieved 2011-02-26. Snyders, Oliver (2010-07-20). El33t Media CC. Retrieved 2011-03-22. Retrieved 2011-03-22.
Retrieved 2011-03-20. Walker, John (2011-02-11). Rock Paper Shotgun Ltd. Retrieved 2011-03-22.
Retrieved 2011-02-24. Retrieved 2011-01-21. Kietzmann, Ludwig (2010-10-14). Retrieved 2011-03-22. Retrieved 2011-03-22. Chalk, Andy (2011-01-12).
Themis Group. Retrieved 2011-03-22. Independent Print Limited. Retrieved 2011-03-22. Goldman, Tom (2010-10-31).
Themis Group. Retrieved 2011-03-22. Retrieved 2011-03-22. Goldman, Tom (2011-01-21). Themis Group. Retrieved 2011-03-22.
Retrieved 2011-03-22. Retrieved 2012-06-13. Retrieved 2012-06-13.
Retrieved 2012-06-13. Retrieved 2012-06-13.
Retrieved 2011-03-24. Retrieved 2011-03-24. Retrieved 2011-03-24. Archived from on June 29, 2011. Retrieved March 9, 2011. Retrieved 2011-03-09.
Retrieved 2011-03-10. Retrieved 2011-03-10. Archived from on 2011-11-30.
Retrieved 2011-03-09. Retrieved 2011-03-09. Retrieved 2011-03-09. Retrieved 2011-03-12. Retrieved 2011-03-09. ^ 'Dragon Age 2 Review'. Official Xbox Magazine (April 2011).
P. 70. ^ McCormick, Rick.
Future Publishing Ltd. Retrieved March 9, 2011. Retrieved 2011-03-09. Retrieved 2011-03-09. Radd, David (2011-03-21). Retrieved 2011-04-07.
Whitehead, Dan (2011-03-08). Retrieved 2011-03-19. VanOrd, Kevin (2011-03-08).
Retrieved 2011-03-19. Donaldson, Alex (2011-03-08). Retrieved 2011-03-19. Retrieved 2012-06-13.
Williams, M.H. Retrieved 2011-04-05. Retrieved 2012-06-13. Webster, Andrew (2011-03-11).
Ars Technica. Retrieved 2011-03-11. Chalk, Andy (2011-03-14). The Escapist. Themis Group. Retrieved 2011-03-20.
Sterling, Jim (2011-03-16). Retrieved 2011-03-22. CBS Interactive. Retrieved 2011-03-22. External links.
Is a FLOSS project aiming to reimplement (and derivatives), covering their games starting with and potentially up to. This post gives a short update on the current progress. Note: This is a.
Yet further down the path of getting all targeted games to show areas, it seems like I reached the end with Dragon Age: Origins and Dragon Age II. Similar to my posts about my progress with Sonic Chronicles: The Dark Brotherhood (, ), and, this will be a short description of what I did. This time: Dragon Age: Origins and Dragon Age II.
Models Lucky for me, the Dragon Age model format is reasonably well documented in the. Tazpn even created standalone model viewers for and, and released them with sources under the terms of the 3-clause BSD license.:) And since the model format is based on GFF4, missing pieces of information are relatively easy to decipher too. So I quickly had a loader capable of reading the skeleton whipped up for both Dragon Age: Origins and Dragon Age II (since they are nearly identical in format).
With a bit of fiddling, the meshes were there too. There's two types of meshes within the models: static meshes, directly hanging at one specific bone, and dynamic meshes that include weights for several bones for each vertex. Similar to, this would deform the mesh according to those weights when the bones are animated. Unlike Sonic Chronicles, the default vertex positions of those meshes create a valid, unanimated pose. This means I could just completely ignore the bone weights for now, and load the meshes as if they were static. In the future, a vertex shader would combine those weights with the bone position to create the fully animatable model meshes. Only thing missing now were the textures.
For that, I needed to read the MAO (material object) files, which contains the material file (MAT), various textures (diffuse, lightmap, etc.) and a number of optional parameters. The material file in turn contains several different 'semantics', which is basically the name of a shader and how to map the MAO values onto the shader input. The original game takes all these, looks for the most fitting semantic in the material file (depending on number of parameters, graphics card capability and user settings), and then tells the graphics card which shader to use to render the mesh. Now, since we don't actually support any shaders yet (and we can't use the game's Direct3D shaders directly anyway), we simple read the MAO (which can be either in GFF4 or XML format), take the diffuse texture, and apply it to the mesh directly.
Campaigns With the models done, I turned to reading the Dragon Age: Origins campaign files. A campaign, that is either the default single player campaign (which is defined in a CIF file), or a DLC package (with both a CIF file and a manifest.xml) that doesn't extend another campaign (those would be add-ons). There's several caveats involved here: First of all, most of the DLC packages are encrypted. The original game queries a BioWare server for the decryption key, asking whether its a legitimate copy. While the encryption method is known (Blowfish in ECB mode), xoreos does not include any of the keys. So the only campaigns apart from the main one loadable right now are the unencrypted ones, namely Dragon Age: Awakening, and any custom ones you might have downloaded (including the PC Gamer promo DLC ). Then, we don't load any add-ons.
So no Shale or Feastday Gifts, even if they weren't encrypted (which they are). It's not like xoreos could do anything with them yet anyway.
Finally, we have no way to install.dazip packages yet, so those need to be installed using the original game for now, or manually extracted and put in the right places. In the future, something that install them would be nice. Or maybe we could support loading of packed.dazip files, but that could be slow. In either case, I implemented the loading of standalone campaign files.
Areas and rooms Next up were areas (ARE) and environment layouts (ARL) with room definitions (RML). The ARE contains dynamic room information, like what music to play, and the placeables and creatures (more of those later). The ARL defines what rooms are in the area (as well as pathing information, weather, fog, etc.), each of them being a RML file with models. They are all, again, GFF4 files, making them nice and easy to understand.
There was one problem, though. The orientations of the models were given in, and as I said in the, a combination the automatic world rotation xoreos does, and our Model class wanting instead leads to them not being correctly evaluated for whole models. I was getting sick of that not being correct. I bit the bullet and removed the world rotation (which meant I had to rejigger the placement code in all engines, as well as the camera system, which was especially painful in Sonic Chronicles). And then I changed the Model class to take rotations instead; those can be more easily calculated from quaternions, and can still be directly fed into OpenGL.
As a result, the area room models in Dragon Age: Origins were correctly oriented. And the placeable models in The Witcher as well. You might notice that the ground mesh in outdoor areas looks very blurry and low-res. That's because the original game doesn't specify a single texture for those, but instead combines several textures together in a shader.
We don't support that yet, so instead we apply the replacement texture of the lowest LOD which is normally used for meshes that are far away. Placeables On to the placeables, the objects within areas. They are defined within a list in the ARE file (giving position, orientation, name, etc.), each with a template. The template is a UTP file, a GFF3, that contains common properties for all instances of this placeable. This includes an appearance, which is an index into a GDA (a GFF'd 2DA, a two-dimensional table), which specifies, among other things, the model to use. So far, so usual for BioWare games. One difference, though.
In the Dragon Age games, the GDA files do not stand alone. Instead, each is a combination of potentially several GDA files with the same prefix (defined in m2da.gda). This is used for DLCs, which then can simply add rows to a GDA, instead of overwriting the whole file. Consequentially, the appearance index is not a direct row number, but corresponds to a value in the 'ID' column. A bit fiddly, but still relatively easy to implement. Moreover, creatures of type P also switch model parts depending on the equipped items. So armor changes the chest model, gloves and boots change the hands/feet models and a helmet replaces the hair.
Which models to use depends on several factors, and includes look-ups in several different GDA files, as well as UTC (creature template) and UTI (items) files. Another problem is the tinting. The original game uses a shader to tint hair, skin and armor parts custom, user-selectable colors. To do that, their textures just contain intensity values in two color channels, while the two other channels are used as a bump map and something else (which I'm not sure yet). If we just apply the texture to those body parts, they are suddenly mostly transparent. To work around that for now, we manually modify each of those textures to remove the transparency.
That leaves the weird coloring, but you can at least see all the body parts then. Similar to Sonic Chronicles, Dragon Age II is also missing many of the GDA headers; they're only stored as CRC hashes. With a dictionary attack, I did manage to crack about half of them, but that still leaves about 450 unknown. Something to watch out for in the future. Music I also investigated how music works in the two games. Dragon Age: Origins uses, and Dragon Age II uses. Both work similarily: the area specifies an event group, and the scripts then tell the library to play a specific event list from that group at certain times.
The library does the rest, evaluating the events in the event list (which range from 'play sound X', over 'set volume to Y', to 'add Z% reverb'). And while I do have adequately licensed code to read the sounds from both libraries' soundbanks, figuring out the events is a massive undertaking. And we don't have a script system for the Dragon Age games in place anyway, so this is nothing that can be done right now.
What's next So. All games xoreos cares about now show areas.
What's next, then? Well, first of all, I'd like to do some cleanup of the engines code. Sync them up, make them more similar to each other. Right now, many things are done slightly different in each engine, because the games changes something around and the old concept suddenly didn't fit anymore.
If possible, I'd like to unify the concepts again. There's also a few potential portability issues I want to investigate. For example, I read that using fopen on Windows with filenames containing non-ASCII characters won't work at all. Instead, I'll probably have to change xoreos' File stream class to use Boost's fstreams, and convert our UTF-8 strings to UTF-16 on file open. I hope that's something I can test with Wine, otherwise I'll have to bug somebody with access to a real Windows. After those things have been cleared, I'd like to prepare for our very first release.
I plan to include both xoreos and xoreos-tools, with sources (of course) and pre-compiled binaries for GNU/Linux, Mac OS X (= 10.5) and Windows, each for both x86 and x8664. I have cross-compilers for those, and they all should work. Yes, xoreos is still not really useful for end-users, but a release can't hurt, and might give us some publicity and/or get people interested. I could use some testers for those binaries, though, to make sure I get the library dependencies correctly. And that the GNU/Linux binaries work on other systems than just mine.
I'm also open for other platforms. Would it make sense to have xoreos pre-compiled for Free/Net/OpenBSD?
Other architectures than just x86/x8664? Anybody with insights there, and capable of compiling those binaries (or pointers to cross-compilers), please,.:) As for how to continue the actual xoreos development, I think it would be useful to transfer the script system that's currently hooked up to Neverwinter Nights onto the other engines. It would need to be rewritten, though. When I first wrote it, I wanted to have engine functions with signatures that mirrored the signatures of what the scripts call. I couldn't get it to work, though, and settled on a context that contained an array of parameters. For some reason, I still used boost::bind for all the functions, which, at that point, was not necessary.
Boost::bind compiles really, really slow, and so now the files containing the Neverwinter Nights engines functions take ages to compile. This needs to go. There, that's the current short-term roadmap for me: cleanup, release, script system. AnxiousInfusionHow long do you think you would need to leave cracking software running to get some more of those GDA headers?
The problem is not really the cracking as such, the problem is finding the right dataset. I could run a stupid brute-force on it, and it would thousands of matches for each hash, all false positives. The hash is a CRC of the string in all lower-case, encoded as UTF-16LE, that gives a lot of easy collision. For example, 'bungholebehaviortype' is a valid match for one of them, but obviously not what I want.
As is 'skimpilyshowmaterial', which shares a hash with 'idtag'. The latter is obviously the more correct one. The way I cracked the one I did find is by taking strings found in the game, strings related to the game and strings found in the Dragon Age: Origins toolset files (which already include headers of most GDA files of Origins), and then combine them with each other and with words from a normal dictionary. I hash those combinations, compare them with the hashes we still need and spit out matches.
Then I manually go through all these matches and remove the ones not fitting the game (like 'properlyunsmoked', 'rareuniquemummifications' and 'impressionablyrooftops' ). Last edited by DrMcCoy at 10 July 2015 at 3:07 pm UTC.