Dragon Age Origins Emulator Mac
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.
Jul 10, 2015 - This time: Dragon Age: Origins and Dragon Age II. Binaries for GNU/Linux, Mac OS X (>= 10.5) and Windows, each for both x86 and x86_64. Aug 1, 2017 - EA's Origin Access gives you access to more than 70 games. In fact, the complete Dead Space, Dragon Age, and Mass Effect series are.
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. How to export pdf data to excel 2011 for mac. 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.