This is targeted for an audience with CFW, WebMan Mod, GFF4-1.0, and Aldos PS3Tools "ps3tools_v2_7_38.zip.
Familiarize yourself with BruteForce. There are right-click menus all over and many on the main logo.
Associate HxD in the options, add your IDPS to the global options and maybe consider setting it to leave Protected saves like that for DAO (protected).
Use the FTP option to pull savegames from your PS3 (F12 or right-click on the big BruteForce SAVEDATA logo). This makes moving protected saves much easier and pulling up the WebMan http server on your computer shows the IDPS under "setup".
Notice that BruteForce shows encrypted files by default (lower left hand window with a save selected) but there is also an option "All Files". If HxD was setup to work with Bruteforce (right-click "Settings", "Set Default HEX Editor"), you can hit the "All Files" button (to unhide the unencrypted files), double click on SAVEGAME.DAS (choose no when prompted to decrypt 6 files) and it should open in the hex editor. Be sure to hit "All Files" to re-hide the files because we only need to work with PARAM.SFO, SAVEGAME.DAX, SAVEGAME.MEX and SCRNSHOT.BIX.
If there was any question, SAVEGAME.DAS is not encrypted so just go ahead and mess with it.
To open the PS3 save using GFF4.0 we have to trick "editor.exe" into seeing a known header which requires a bit of hex editing.
Replace hex:
Original
47 46 46 20 56 34 2E 30 50 53 33 20 53 41 56 45 56 32 2E 30 (GFF V4.0PS3 SAVEV2.0)
New
47 46 46 20 56 34 2E 30 58 33 36 30 53 41 56 45 56 32 2E 30 (GFF V4.0X360SAVEV2.0)
In HxD it's as simple as overtyping "PS3 " with "X360" in the right column.
Save (if you don't like cluttering up the save folder with ".bak" files then uncheck that option in HxD "Extras", "Options", "
Create Backup Copies (BAK-files)") and then open gff4 "editor.exe". I was able to send the save back to the PS3 without hex editing "X360" back to "PS3 ".
Then there's this:
________________________
Code:
; BLES00699/BLUS30415
; Dragon Age™ Origins
; checksum by chaoszage
Group: Update CRC32 Checksum (Required)
:SAVEGAME.DAS
[Get CRC32 SAVEGAME.DAS (Required)]
set [crc32_SAVEGAME.DAS]:crc32
;dependency: SAVEGAME.DAX
:SAVEGAME.DAX
[Update CRC32 on SAVEGAME.DAX (required)]
write at 0x0:[crc32_SAVEGAME.DAS]
:SAVEGAME.MET
[Get CRC32 SAVEGAME.MET (Required)]
set [crc32_SAVEGAME.MET]:crc32
;dependency: SAVEGAME.MEX
:SAVEGAME.MEX
[Update CRC32 on SAVEGAME.MEX (required)]
write at 0x0:[crc32_SAVEGAME.MEX]
________________________
That code describes a BruteForce patch. You could right click and select "Open Patch Fie in text editor", copy the above and paste it over whatever is in the window, then save as BLUS30415.ps3savepatch (assuming you are playing the U.S. version of the game, there should already be a BLES00699.ps3savepatch for the European version).
The patch is going to read the CRC32 from SAVEGAME.DAS then write that to SAVEGAME.DAX. It will read the CRC32 from SAVEGAME.MET and write it to SAVEGAME.MEX.
Once you've finished editing SAVEGAME.DAT in gff4, be sure to "save as" and overwrite your save.
SAVEGAME.MET can also be edited though the primary purpose would be to make a character gender change.
Going back to BruteForce (yeah, we left it open the whole time we were hex and savegame editing) there should be only four files listed when the DAO save is selected. If your IDPS was set in Global Options and you setup a profile with a PARAM.SFO from one of your own PS3 saves, then you should be able to click "Verify PFD" and all shows blue. Now click "Decrypt PFD" and "Decrypt all Files" which should prompt to decrypt 3 files. Click "Cheats" and "Apply Cheats" then "Apply". It should say 5 cheats were applied. Now click "Encrypt PFD" and "Encrypt Decrypted Files". At this point "Verify PFD" should again come back all blue.
The save is now ready to transfer back to the PS3. Press F11 to FTP upload back to the PS3 With WebMan Mod. Personally, I decided to setup BruteForce to leave the "Copy Protection" status of the save alone by unchecking the option on a right-click "Settings", "Rebuild Options", "Remove Copy Protection".
When it comes to gff4 editing, the primary place to make changes is "16002 SAVEGAME_PLAYERCHAR" subtree "16208 SAVEGAME_PLAYERCHAR_CHAR" subtree "16209 SAVEGAME_CREATURE_STATS".
Here is a list of maximum baseline values of which the key is the first shown in gff4 and index is the actual number for the attribute. The ones that should probably not be edited are 15 (level), 18 (AI behavior), 19 (experience points), 27 (class), 34 (attribute points), 35 (skill points), 36 (talent points), 37 (background) and 38 (special points):
key |
base |
modifier |
current |
comregen |
regen |
index |
description |
0 |
1000.0 |
0.0 |
|
|
|
1 |
strength |
1 |
1000.0 |
0.0 |
|
|
|
2 |
dexterity |
2 |
1000.0 |
0.0 |
|
|
|
3 |
willpower |
3 |
1000.0 |
0.0 |
|
|
|
4 |
magic |
4 |
1000.0 |
0.0 |
|
|
|
5 |
cunning |
5 |
1000.0 |
0.0 |
|
|
|
6 |
constitution |
6 |
9999.0 |
0.0 |
9999.0 |
75 |
75 |
7 |
health |
7 |
9999.0 |
0.0 |
9999.0 |
75 |
75 |
8 |
mana stamina |
8 |
1000.0 |
0.0 |
|
|
|
9 |
attack |
9 |
1000.0 |
0.0 |
|
|
|
10 |
defense |
10 |
1000.0 |
0.0 |
|
|
|
11 |
armor |
11 |
10.0 |
0.0 |
|
|
|
12 |
damage scale |
12 |
1000.0 |
0.0 |
|
|
|
13 |
spell power |
13 |
50.0 |
0.0 |
|
|
|
14 |
health regeneration |
14 |
don't modify |
0.0 |
|
|
|
15 |
level |
15 |
100.0 |
0.0 |
|
|
|
16 |
displacement |
16 |
1000.0 |
0.0 |
|
|
|
17 |
inventory size |
17 |
don't modify |
0.0 |
|
|
|
18 |
ai behavior |
18 |
don't modify |
0.0 |
|
|
|
19 |
exp points |
19 |
180.0 |
0.0 |
|
|
|
20 |
flanking angle |
20 |
200.0 |
0.0 |
|
|
|
21 |
melee critical |
21 |
100.0 |
0.0 |
|
|
|
22 |
missile shield |
22 |
200.0 |
0.0 |
|
|
|
23 |
ranged critical |
23 |
-3.0 |
0.0 |
|
|
|
24 |
ranged aim speed |
24 |
1000.0 |
0.0 |
|
|
|
25 |
base attack |
25 |
1000.0 |
0.0 |
|
|
|
26 |
base defense |
26 |
don't modify |
0.0 |
|
|
|
27 |
class |
27 |
20.0 |
0.0 |
|
|
|
28 |
health regen combat |
28 |
50.0 |
0.0 |
|
|
|
29 |
stamina regeneration |
29 |
20.0 |
0.0 |
|
|
|
30 |
stamina regen combat |
30 |
1.5 |
0.0 |
|
|
|
31 |
attack speed |
31 |
100.0 |
0.0 |
|
|
|
32 |
mental resistance |
32 |
100.0 |
0.0 |
|
|
|
33 |
physical resistance |
33 |
don't modify |
0.0 |
|
|
|
34 |
attribute points |
34 |
don't modify |
0.0 |
|
|
|
35 |
skill points |
35 |
don't modify |
0.0 |
|
|
|
36 |
talent points |
36 |
don't modify |
0.0 |
|
|
|
37 |
background |
37 |
don't modify |
0.0 |
|
|
|
38 |
special points |
38 |
100.0 |
0.0 |
|
|
|
39 |
damage bonuse |
39 |
-1000.0 |
0.0 |
|
|
|
40 |
threat decrease |
40 |
-25.0 |
0.0 |
|
|
|
41 |
fatigue |
41 |
75.0 |
0.0 |
|
|
|
42 |
fire resistance |
42 |
75.0 |
0.0 |
|
|
|
43 |
cold resistance |
43 |
75.0 |
0.0 |
|
|
|
44 |
electrical resistance |
44 |
75.0 |
0.0 |
|
|
|
45 |
nature resistance |
45 |
75.0 |
0.0 |
|
|
|
46 |
spirit resistance |
46 |
9999.0 |
0.0 |
|
|
|
47 |
shield damage points |
47 |
100.0 |
0.0 |
|
|
|
48 |
shield damage strenght |
48 |
9999.0 |
0.0 |
|
|
|
49 |
damage off hand |
49 |
9999.0 |
0.0 |
|
|
|
50 |
damage main hand |
50 |
200.0 |
0.0 |
|
|
|
51 |
healing effect |
51 |
100.0 |
0.0 |
|
|
|
52 |
spell resistance |
52 |
100.0 |
0.0 |
|
|
|
53 |
armor penetration |
53 |
200.0 |
0.0 |
|
|
|
54 |
critical hit range |
54 |
30.0 |
0.0 |
|
|
|
55 |
fire damage |
55 |
30.0 |
0.0 |
|
|
|
56 |
spirit damage |
56 |
30.0 |
0.0 |
|
|
|
57 |
cold damage |
57 |
30.0 |
0.0 |
|
|
|
58 |
nature damage |
58 |
30.0 |
0.0 |
|
|
|
59 |
electrical damage |
The next place to mess around is "16003 SAVEGAME_PARTYLIST"
"16212 SAVEGAME_MONEY" (set to 999999999)
"16226 SAVEGAME_MAX_ITEMS" (I chose 9999. How many items do you want cluttering up your inventory?)
"16275 SAVEGAME_PARTY_APPROVAL_LIST", subkeys 0 through x, then "16277 SAVEGAME_PARTY_APPROVAL_LEVEL" (set to 100 for full approval)
"16204 SAVEGAMEPARTYPOOLMEMBERS" (one can edit the stats for party members in exactly the same way as the player character, as shown above)
The PC's gender can be changed by editing SAVEGAME.DAS "16320 SAVEGAME_APPEARANCE" subkey "16322 SAVEGAME_GENDER" with "1" for male and "2" for female. Hex editing the header for SAVEGAME.MET one can open it in gff and change "16804 SAVEGAME_META_GENDER" with similar values. In this way I was able to have my female PC romance Morrigan.
Save editing is entirely possibly while the game is running. I have a save where we have just entered Lothering and my female elf is already in love with Morrigan. If anyone is interested, I will upload it. Alistair and the dog are in my party and all stats are maxed for each character. This is really the first point in the game where one can do this. In order to "romance" Morrigan, I ensured my PC's gender was male during all of our meetings then save edited Morrigan's Approval in four steps: 26, 51, 76, and 100.
At each step I ran through dialog with her and then saved before bumping the value up. I presumed that, once Morrigan was in an affair with me, it would be possible to return my PC's gender traits back to normal and the appropriate flags would remain set so that the game would ignore my gender in future. This does seem to be the case. For the curious; I am a female in real life that likes other women.
Creds go to mzaslam for asking the right questions and SHAkA for the original process.