peardox Posted June 28, 2018 Posted June 28, 2018 That was a lot quicker than I expected - 8 minutes to process 30G of stream decyphered content (someone fix the spell checker - decyphered is a word) What do we have here then? UUIDs are used extensively in POE2 (spell checker...) but there is a disconnect between the UUIDs that's resolved externally The file I've extracted lists every single UUID in POE2 and is JSON encoded for easy reference This involved stream decoding (some are way to big to read into memory) 52,293 files and yields 66,316 UUIDs. Not all the UUIDs are actually in exported - there is no reference between for example a vendor and his / her shop (big clue for @ZapGunForHire here re discounts) To give an example Sanza "DebugName": "CHA_03_VD_Sanza", "ID": "e86415a7-a98c-425a-ba4b-c4288d49435d", He's only in ... PillarsOfEternityII_Data/level20 PillarsOfEternityII_Data/exported/design/gamedata/characters.gamedatabundle PillarsOfEternityII_Data/assetbundles/characters.unity3d Now, his shop "DebugName": "Store_03_Cartographer", "ID": "1522b748-9761-4c17-981c-ebe76dfc5127", That's only in ... PillarsOfEternityII_Data/level20 PillarsOfEternityII_Data/exported/design/gamedata/items.gamedatabundle [That was a painful grep - took me about the same amount of time to stream-process the same files to extract every one] What we can tell from this is that level20 there is no direct connection between Sanza and his shop other than obfuscated in level20 @ZapGunForHire - you can now see why there's no direct connection between factions + a shop, you'll find that the discount is applied in some level file that we have no way of linking them together (it's a pain in the ass, I know) I previously did this the other way around for level* which allows for an method to work out what's where. Things get more complicated when we look at Sanza's actual location (level20 has a UUID) that's referenced in Queen's Berth and Netekaha - each are containers for something smaller (this is why I believe Mods not working from a loaded savegame happens - got a report of the uniques failing from a user this AM) OK... That's all the theory over Now to the data structure of the extracted file (it's JSON) This is Sanza "e86415a7-a98c-425a-ba4b-c4288d49435d": { "cnt": 3, "xcnt": 2, "gcnt": 1, "exported": 1 } cnt = total occurrances xcnt = count in exported gcnt = count outside exported If we take unavailable items gcnt will be zero and xcnt one or more So - something I know is unique from yesterday's mod ... "14d0fd5a-e08c-45ac-baf7-77418ce94d48": { "cnt": 2, "xcnt": 2, "gcnt": 0, "exported": 1 } [Wait for grep to locate it for me - BRB] I'll do this the other way around (take a known orphan) Grimoire_Arkemyr (who?) OK Arkemyr is a quest giver (kill him and you get his grimoire I guess) If you find a 1 cnt with an xcnt of 1 this is something orphaned Annoyingly the website won't be updated until I post this so gimme a few moments to link them together as I'm documenting it in forum The downloads can be found at http://poe2.ubu.peardox.com/exported/ 2 OK Fair warning has been applied I'm gonna move the domain to https://perspak.com early Feb but will keep all content There are reasons behind this move which basically boil down to unifying my release schedule My friends are welcome to play (I'll set you up your own areas if you desire them) Please note that this process is messy so may take a few weeks
Nudal Posted June 28, 2018 Posted June 28, 2018 You're doing the lord's work here. If it isn't too complicated to explain, how does this all work? I'd like to have/make lists for things from the files in other cases as well if possible.Like lists for specific effects/abilities/itemmods/etc (such as grouping all similar effects and their id's together) for easier referencing. I mean... I could just ctrl+f constantly, but if there's a more practical way, you know.
peardox Posted June 28, 2018 Author Posted June 28, 2018 This is a non-specific count list of everything in POE2 It identifies specific things Everything in POE2 has a UUID The purpose of this is to connect things If xcnt > 0 then it's something you can change in the game if xcnt = 0 you're out of luck The same applies to gcnt but in a diffo way if gcnt = 0 it's an orphan if gcnt > 0 && xcnt > 0 it's something you can buy or negotiate for There are rare occasions where gcnt = 0 + xcnt = 1 This signifies something worth looking deeper into and attaching to a shop somewhere as I did yesterday with "The Red Hand and Friends" (wish I'd ran this one up first in hindsight) There are many upsides to what this makes available to the Mod dev if you know how to use it. A simple example is we can use it to detect Mod clashes (must have posted that one in another thread) By the same methods I use to grab UUIDs I can extract them from Mods so if a Peardox Mod interferes with a TT1 Mod (love the Dead Parrot) I can find out instantly - there's more I can do with all this stuff but need to finish extracting exported 1 OK Fair warning has been applied I'm gonna move the domain to https://perspak.com early Feb but will keep all content There are reasons behind this move which basically boil down to unifying my release schedule My friends are welcome to play (I'll set you up your own areas if you desire them) Please note that this process is messy so may take a few weeks
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now