Hi! I have some difficulties in trying to decode a table.
Schema: Attila
Table: models_naval (completely red)
PFM Version: 5.0
Schemas: I guess last (how to check?)
Additional 2 remarks:
- please forgive me if it is a 'known issue',
- I don't know what is opstring.
Okay, the problem:
Please take a look at this screenshot:
Note that first field (first green block) is a string: first 2 bytes is a LETTERS COUNT in this string. 0e00 means 14, length(att_shp_dromon) equals 14. It's not a news, yeah.
Next, I've tried to parse additional fields, and have stucked with 10th. Take a look at second green block.
It look like a TWO BYTES UNICODE string:
0b00 6e00 6100 7600 6100 6c00 6300 6100 6d00 5f00 3000 3200
11 n a v a l c a m _ 0 2
First 2 bytes again is a letters count, but each letter takes 2 bytes instead of 1. But decode tool can not offer me correct decoding. Looks like no 2 bytes string support exists... So, I guess PFM should support 2-bytes strings. (is optstring a 2 bytes string? I'm not sure. if that, why optstring is 'invalid' in this position?)
Sorry for poor English, guys!
I keep getting this error with PFM 5.0. I am using the latest schema. Modding Attila.95% of the tables are fine and seem openable and moddable. One that is not is plagues_tables.verytime I try to run PFM I get this error.
"Update failed:
Could not determine latest versions: got ,
at PackFileManager.SourceforgeVersionRetriever..ctor(Boolean
findBeta)
at PackFileManager.DBFileTypesUpdate..ctor(Boolean
findBetaSchema)
at PackFileManager.PackFileManagerFrom.TryUpdate(Boolean
showSuccess, String currentPackFile)"
optstring is short for optional string. It is used when CA includes strings in their tables that aren't required to actually be in their table. When the string doesn't exist they are a byte with a zero value. When the string does exist they look like a true boolean (byte with a value of 1) followed by the string.
Your problem here is that, well, that is a two byte Unicode string, which occasionally show up in CA's schemas. To encode that you need to create a string_ascii field, select the string_ascii field you just created, and then from the top dropdown menus you want to select: More|Transform|change Encoding
which will change any selected string_ascii or optstring_ascii to a string or optstring respectively, which are the unicode versions of those fields.
If you want an easy time decoding tables I find it also helps to download CA's Assembly Kit for the game, open the table in the DAVE program included in the Assembly Kit and change the first entry in the table to have all unique values so you know which field is which. You can then output that table into a packfile using the BOB tool from the Assembly Kit and then open it in PFM so you know what the table you are decoding is meant to look like (though the fields frequently come out in different orders than what you expect). Otherwise, it can be useful to simply use the DAVE tool to view the official schema for the table so you have an easier time guessing what the field you are looking at is supposed to be.
After going through and correcting most of the Rome 2 schema that were obviously incompletely formed that I could get references out of DAVE for, I was thinking about seeing if I could contribute to the code side of PFM. I am therefore here to see if I can be included in the project as it seems polite to ask first and I'm pretty sure the issue tracker and code branches can't be messed with unless an existing member of the project gives permission to do so on SourceForge.
I am also posting a duplicate of this request in the 5.0 thread as that is the newest version's thread.
Does this work with Warhammer 2?
Something that PFM did to me a few months ago just happened again and I feel like I want to strangly it. This shouldn't be an issue of updates since I updated a couple of days ago.
So, I had trouble saving after I had edited a few tables. I finished the editing of several tables by changing the name of a variantdefinition, I saved and it couldn't. PFM sent me a message about faulty characters or something like that. I thought the best thing I could do was delete that one vriantmesh since simething had perhaps gone wrong in the renaming of it. I deleted it and saved. It worked but all hell broke loose. Now suddenly, almot half of my tables are marked yellow and some blue.
I was thinking, could the decoder be used to fix stuff like this?
I'll add some screens:
Spoiler Alert, click show to read:
My mods:
Knightly order: Hunters of Sigmar
Battle tweek: No more lasergun sound effect for wood elf bow units
Unit mod: Wulfheart and his huntsmen
Unit mod: Ogre Maneaters
Unit mod: Ogre Leadbelchers
Compilation: Modding Resources
First up, are you two using PFM version 4.1.2., or 5.0? If you use the first I'd reccomend using 5.0.
@Matmannen: The only time that ever happend to me, was when I had opened the same file twice at the same time. I accidentally made some changes in both of the opened file, saved one which then completley messed up the file like you described. I didn't find any way to make the file usable again. The decoder is only for making PFM able to view the file, it can't change a broken data structure.
I've been modding regularly for over 5 years, always creating big overhaul mods, my current mod uses over 70 different tables, variantmeshes, ui elements, text files and scripts, never had to redo a single table. Always keep a backup file an your hdd before changing something so you're on the safe side. You can also back up every single table as a .tsv file. I personally don't do that, because it's a lot more work than keeping a backup copy of your modfile and only gives disadvantages when you want to reimplement something from .tsv file, also PFM runs into problems importing those files. While working safe regularly, and make sure whenever you get an error message while saving, it's best not to choose to continue but instead quit PFM to prevent messing up your mod. It might sometimes work, othertimes it makes the newly saved table messed up, and in the worst case it might mess up your whole file.
@LordLurch: By update you mean the auto-update routine to search for new schemas? I already wrote a response to that in the other PFM threads, the auto-update feature isn't working currently. If you want to use a newer schema, you need to download and extract it manually.
Last edited by Larynja; June 09, 2018 at 05:04 AM.
I'm using 5.0. To avoid trouble like this, I kept a seperate version of the .pack on the workshop as a backup which I updated regularly. I just downloaded it and it seems that it works fully.
Thanks for the advice.
EDIT: Do you know why I get that strange "can't update message" message when opening pfm? I can't even tell the program to update through the menus, but have to do it manually over the internet.
EDIT 2: Nevermind, just read your response to LordLurch xD
Last edited by Matmannen; June 09, 2018 at 04:28 PM.
My mods:
Knightly order: Hunters of Sigmar
Battle tweek: No more lasergun sound effect for wood elf bow units
Unit mod: Wulfheart and his huntsmen
Unit mod: Ogre Maneaters
Unit mod: Ogre Leadbelchers
Compilation: Modding Resources
Version 5.0.1 of PFM is now online. The only thing that has changed since version 5.0 is a temporary fix has been made to allow the auto-update to work again. I believe the fix may require .NET Framework version 4.5 or newer to be installed as opposed to the prior minimum requirement of the .NET Framework version 4.0.
In making the fix to the auto-updater it also became clear that in order to cleanly fix the auto-updater so it can use TLS 1.2 to communicate with SourceForge, PFM will have to move from .NET Framework 4.0 to one of three alternatives: A newer version of the .NET Framework, Mono, or Xamarin. I know that moving to a newer version of .NET or Xamarin would break support for PFM in Windows XP and I don't know for sure about whether Mono supports XP. The advantages of switching to Mono or Xamarin as far as I can tell is that the .NET Framework wouldn't work if we tried to get PFM working on Mac or Linux while Mono and Xamarin do (and with some Total War games working on Mac and Linux, it makes sense to have the mod tools work also). This leads me to wonder, how many people use which operating systems among the PFM userbase so I know which systems I still need to guarantee support for? Regardless of the response, changing the framework PFM runs on will still be a relatively low priority as I learn more about how it works and ensure what is already there doesn't have any bugs hiding in it.
And we're here already... version 5.0.2, because I uploaded the wrong binary in version 5.0.1 so it didn't open pack files. The new version works properly, but it looks like I missed something while fixing the auto-updater so it won't automatically download the fixed version.
I use Windows 10, so PFM continuing to use .NET Framework is fine by me. If it wouldn't be too much of a burden, I would suggest solving this problem by creating two versions of PFM: a Windows version that uses .NET, and a Mac/Linux version that uses some other sort of framework.
Yo Daniu,
as always thanks for ur work on making this epic tool. Modding wouldnt be half as far as it is without you.
Im wondering if you could offer me some support though, when using PFM on 4k resolution, the text size doesnt scale with windows UI settings... aka the text is extremely small and it makes it a pain to squint at.
Any chance for a hotfix?
My Mods
------------------------------------------------------------------------------------
TW Arena Campaign Generals (R2)
Achilles (2018) mod
Daniu has mostly moved on to working on other things. As the newest person currently updating the PFM code, I can say that the interface is one of the areas that probably needs the most work and that I currently understand the least. However, as far as I know, fixing the text so it can scale probably will take either adding new components to the interface or updating the framework we are running on. This will take a while, particularly since I am currently distracted searching for a proper job. I intend on fixing this issue, but it will take quite some time probably.
I have released schema 113, if PFM's autoupdater is enabled, it will be downloaded automatically the next time PFM runs. Schema 113 features Rome 2's schema up to date and free of obvious unknown values and unopenable tables (except for models_naval_tables). I also included Matmannen's schemas after correcting the unknown values in them and inserting the fkeys that TW Warhammer 1 uses. Since the projectile_bombardments_tables Matmannen submitted uses a newer version number than that used for TW Warhammer 1, I'm going to assume that the schemas they submitted were for TW Warhammer 2, so I can't guarantee the fkeys are correct as I don't have Warhammer 2 and used Warhammer 1's fkey values instead. I also corrected some broken tables for Warhammer 1 although I haven't done a thorough pass over all of them.
I figred out how to get the UI to scale.
Right click on PFM.exe---> compatibility -->>change High DPI settings --->>> on the bottom check the override dpi scaling, and change drop box to "System(enhanced)"
phew! this saved my eyes, and posture alot of stress
hope it helps you guys too
My Mods
------------------------------------------------------------------------------------
TW Arena Campaign Generals (R2)
Achilles (2018) mod