Aller au contenu

Photo

[Release] pyGFF 0.5 ALPHA


  • Veuillez vous connecter pour répondre
192 réponses à ce sujet

#101
Mephales

Mephales
  • Members
  • 83 messages
Well, was a bit more than 15 minutes, but 0.4.8 is uploaded. Like I said, no longer Instant Save, but instead Fast Save. All of V4.1 is fully implemented, so you can edit strings and lists and be able to save in V4.1 format.

I'll probably still do some testing on the new code as it's a tad bit more complex, not due to V4.1, but due to how it speeds up saves and keeps the file structure mostly stable. It's slower than it used to be because it no longer makes the necessary updates to the underlying data immediately, and has to scan the expanded hierarchy to find changes... The more you explore, the more it has to scan... I'll work on speeding it up further later. I'll also be implementing V4.1 support in the slower but simpler method Full Load uses, so it never asks to downgrade.

Modifié par Mephales, 10 mars 2011 - 02:08 .


#102
daywalker03

daywalker03
  • Members
  • 357 messages
Sounds good; will be nice to be able to edit any v4.1 stuff I run into now.

#103
tazpn

tazpn
  • Members
  • 70 messages

Mephales wrote...
Really? So you used the savegame editor to just edit the number of potions in a stack?

Looks like your right.  It would appear that I changed MainHandDamange from 2.0 to 3.0 probably to compare against Bethany's value which is 3.  User Error.  Though not sure that makes sense either but at least explains part of it.

#104
Mephales

Mephales
  • Members
  • 83 messages

tazpn wrote...

Mephales wrote...
Really? So you used the savegame editor to just edit the number of potions in a stack?

Looks like your right.  It would appear that I changed MainHandDamange from 2.0 to 3.0 probably to compare against Bethany's value which is 3.  User Error.  Though not sure that makes sense either but at least explains part of it.


Hm, well MainHandDamage does sound like a derived stat... Maybe it doesn't like it when you tamper with them. I can't replicate it, since DA2 still didn't come in the mail >.>

#105
Malcroix

Malcroix
  • Members
  • 360 messages
Mephales, you're amazing, I'll be sure to test the new capabilities once get home from work.

However, sadly, I've already confirmed yesterday via alternative methods that one of the main reasons I'm after this - ability to change character headmorphs - will not do much good, because DA:O heads are apparently incompatible with DA2 and simply don't appear (the reason probably being the lack of relevant resources in the DA2 database). And without a new toolset, we can't make new custom heads for DA2 outside the atrocious ingame character creator.

Oh well, there are other ways to enjoy editing savegames though 8=)

#106
Mephales

Mephales
  • Members
  • 83 messages
OK, 0.4.9 is uploaded, with full support for writing GFF V4.1 in all modes (Full Load, Lazy Open, Fast Save).

I was amused to notice that the area list in save games now contains a zlib-compressed GFF containg the area state. Only the ObjectId and Tag remain in the save file's structure, for obvious identification purposes. I wonder what other embedded GFFs I'll find... I definitely have to implement exporting and importing UINT8 lists (binary data) now.

#107
tmp7704

tmp7704
  • Members
  • 11 156 messages
Well, one of embedded GFFs in the save is a .mor for the player's appearance, or at least it was the case with DAO saves.

#108
Mephales

Mephales
  • Members
  • 83 messages

tmp7704 wrote...

Well, one of embedded GFFs in the save is a .mor for the player's appearance, or at least it was the case with DAO saves.


I searched through the sample save file I have, and the only other I found is indeed the SAVEGAME_PLAYER_MORPH. Unlike the area data, it's not compressed.

I'll upload a new version tonight that can import/export binary fields with automatic (de)compression, and whatever else I find...

#109
Malcroix

Malcroix
  • Members
  • 360 messages
Bad news. Saves edited with pyGFF 4.9 are not loadable in DA2.

Even when all I do is open a fresh save, do nothing, and save it overriding the original, when I try to load it in the game, a dialog box comes up saying I don't have the required DLC installed (mostly the DLC is not named, but once it said Le Palais de Perles Noires, which I guess is French for The Black Emporium, which I do have installed.

Also, extracting the resources from DA:O and putting them into DA2 Override did not make the DA:O headmorphs appear in DA2. I've still got a crew of Headless Horsemen (sans horses) loitering about the ruins of Lothering.

Modifié par Malcroix, 10 mars 2011 - 07:59 .


#110
tmp7704

tmp7704
  • Members
  • 11 156 messages

Malcroix wrote...

Also, extracting the resources from DA:O and putting them into DA2 Override did not make the DA:O headmorphs appear in DA2.

Character morphs aren't cross-compatible between the games, like mentioned in the other thread, in DA2 forum section.

#111
Malcroix

Malcroix
  • Members
  • 360 messages

tmp7704 wrote...
Character morphs aren't cross-compatible between the games, like mentioned in the other thread, in DA2 forum section.


Yeah, and which thread was that now?

#112
tmp7704

tmp7704
  • Members
  • 11 156 messages
Unsurprisingly, the one named "Can we start Model Swapping please?" which dealt with that very subject... i didn't see another one about it in DA2 mods section.

#113
Malcroix

Malcroix
  • Members
  • 360 messages
DA2 headmorph files opened/saved by the editor also stop working, even when no actual change took place: the heads disappear from the game.

#114
Mephales

Mephales
  • Members
  • 83 messages
Ugh. What could I be doing wrong... I really hope DA2 came in the mail today.
And wait, have you changed the mode to Fast Save? Because if it's in Fast Save and you make no changes, it makes no changes. The files will be byte-for-byte identical.

Well, mostly. The bytes used for padding will change in some places.

BTW, how are you replacing head morphs?

Modifié par Mephales, 10 mars 2011 - 09:54 .


#115
tmp7704

tmp7704
  • Members
  • 11 156 messages
Just to check -- does the extractor do anything to GFF files when it extracts them? Or is this simple binary operation without touching the content?

Asking because i've extracted NPC's .mor (hf_cassandra.mor) and placed it in the override directory. The game effectively barfed at it, and rendered the character headless. Since the file content should be identical with what's in the .erf file, that's definitely not what i'd expect. So, at the moment trying to figure out if it's issue with content of the file being changed, or if there's more to overrides in DA2 than it'd seem at the glance.

Used v.4.8 for extraction, in Full Load mode (in case that matters)

#116
Apolyon6k

Apolyon6k
  • Members
  • 175 messages
"Bad news. Saves edited with pyGFF 4.9 are not loadable in DA2."

If you open the save with the editor and not daosavegame, than it works fine you can change anything like in dao with the toolset.

#117
Mephales

Mephales
  • Members
  • 83 messages
Uh, yeah, they're not modifying the files at all. And yes, the mode only applies to opening GFF V4.0 files.

But yes, the extracted files should be exactly the same.

#118
tmp7704

tmp7704
  • Members
  • 11 156 messages
I guess that would mean DA2 isn't as straightforward when it comes to overrides as it'd seem. Can't think of another reason why a file simply extracted from the .erf would cause such effect, otherwise.

#119
Mephales

Mephales
  • Members
  • 83 messages
Don't suppose you've tried generating a new Hawke with a different face, and then swapping the player morph with one from a different Hawke? ...I still don't have DA2, it better come in the mail tomorrow.

At any rate, 0.4.9a is up, the change is that you can no longer edit the text box that displays binary data... It is just a display now. And still in base64, which will probably change, or at least there will be more options. Right click on the display, and you have the option to export or import data into that field. If the existing data is compressed, it will ask if you want to decompress when you export, or compress when you import. It also pops up the number of bytes that were imported, so if you're editing an AREC structure you can update the uncompressed length (field 16022) more easily.

tl;dr: You can export and import binary data by right-clicking on the base64 text.

Now I just need to make it so you can switch between display/editing UINT8 lists as binary data, as a list of UINT8. Oh, and many other things.

#120
tmp7704

tmp7704
  • Members
  • 11 156 messages
Hmm may try it later. Hellosanta tried something different here: http://social.biowar...6416767#6461489 (extracted a preset file into override, result being the preset is no longer visible in the game) so at least i know this isn't isolated case.

I tried to make eclog.ini file in attempt to get some error logging going, but it doesn't look like the game checks for this .ini anymore, or at least switches didn't have any effect on the produced log. Lot of seemingly pointless and rather frustrating changes in this new installment :|

#121
Mephales

Mephales
  • Members
  • 83 messages

tmp7704 wrote...

Hmm may try it later. Hellosanta tried something different here: http://social.biowar...6416767#6461489 (extracted a preset file into override, result being the preset is no longer visible in the game) so at least i know this isn't isolated case.

I tried to make eclog.ini file in attempt to get some error logging going, but it doesn't look like the game checks for this .ini anymore, or at least switches didn't have any effect on the produced log. Lot of seemingly pointless and rather frustrating changes in this new installment :|


To be fair, he did use pyGFF as well, so I may still be the weakest link. However, all this in addition to no real plans for a toolset indicates to me that they never intended to make it modder friendly.

#122
tmp7704

tmp7704
  • Members
  • 11 156 messages
Aye, i tried to rule out the pyGFF by trying to extract content of face.erf with tazpn's tools but i can't get it to work -- it gives no error but doesn't seem to extract anything at all.

#123
Malcroix

Malcroix
  • Members
  • 360 messages

Mephales wrote...
However, all this in addition to no real plans for a toolset indicates to me that they never intended to make it modder friendly.


To hell with them, we will STILL MAKE MODS. Even ME1-2 was modded, and it was about as non-mod-friendly as it gets.

#124
Malcroix

Malcroix
  • Members
  • 360 messages

Apolyon6k wrote...

"Bad news. Saves edited with pyGFF 4.9 are not loadable in DA2."

If you open the save with the editor and not daosavegame, than it works fine you can change anything like in dao with the toolset.



As I said, if I try to edit saves with pyGFF 4.9 EDITOR, they end up as unloadable due to "missing DLC content", at least on my machine (and I actually have the content in question, i.e. the Black Emporium). This happens even if I don't actually change anything in the file.

Are you saying that on your machine you can edit DA2 save games with pyGFF without any problems, and load them in the game?

#125
Malcroix

Malcroix
  • Members
  • 360 messages

Mephales wrote...

Don't suppose you've tried generating a new Hawke with a different face, and then swapping the player morph with one from a different Hawke?


How can I swap the player morph, if I can't edit the savegame?

In the savegame, the player character morph data is stored not as a reference to a pre-existing MOR (this is true only to chargen presets and all the other characters), but as a block of some kind of raw data. The line used to reference the headmorph for all other characters is simply blank for the player character. So without a working savegame editor, I don't see how we can change the player headmorph (aside from trying to override the tints/textures/etc, which doesn't seem to 100% work now).