Re: PFM 3.5.1 - Attila support
Quote:
Originally Posted by
Dangerman
Is there an exact appropriate place or is it somewhat guesswork?
I'm really no expert in this (I just taught myself how to use the decode tool yesterday with those helpful tutorials), but I just put it after the last old building_levels_table definitions.
Also an odd thing - column unknown6 (type: string) in the new table is empty for all but one entry (new level 5 DLC building), but PFM tells me that column can't be empty (I assume because it's defined as a string). Maybe I messed something up here, but the decode tool tells me that it should be fine. It simply doesn't work if I make it an optstring.
Re: PFM 3.5.1 - Attila support
Quote:
Originally Posted by
Augustusng
I'm really no expert in this (I just taught myself how to use the decode tool yesterday with those helpful tutorials), but I just put it after the last old building_levels_table definitions.
Also an odd thing - column unknown6 (type: string) in the new table is empty for all but one entry (new level 5 DLC building), but PFM tells me that column can't be empty (I assume because it's defined as a string). Maybe I messed something up here, but the decode tool tells me that it should be fine. It simply doesn't work if I make it an optstring.
Yeah I don't think I understand this.
*sigh* why did CA just do this, just wanted for my own personal tweaking :(.
Re: PFM 3.5.1 - Attila support
Great job Augustus :) I also can't get the table to work as it should, although your schema lets me load it at least. I think it should look something like this:
Code:
<table table_name='building_levels_tables'
table_version='11' >
<field name='level_name' type='string_ascii' pk='true' />
<field fkey='building_chains_tables.key' name='chain' type='string_ascii' />
<field name='level' type='int' />
<field name='capital_only' type='boolean' />
<field name='create_time' type='int' />
<field name='create_cost' type='int' />
<field name='upkeep_cost' type='int' />
<field name='unknown6' type='string_ascii' />
<field name='unknown7' type='int' />
<field name='unknown9' type='int' />
<field name='unknown10' type='int' />
<field name='unknown11' type='int' />
<field name='unknown12' type='int' />
<field name='destruction_terminator' type='boolean' />
<field name='faction_unique' type='boolean' />
<field name='religion_required' type='optstring_ascii' />
<field name='unknown16' type='optstring_ascii' />
<field name='resource_required' type='optstring_ascii' />
<field name='unique_id' type='int' />
<field name='can_convert' type='boolean' />
<field name='superchain' type='optstring_ascii' />
<field name='audio_building_type' type='string_ascii' />
<field name='show_in_tech_ui' type='boolean' />
<field name='unknown23' type='int' />
<field name='unknown24' type='int' />
<field name='aqueducts' type='boolean' />
<field name='can_damage' type='boolean' />
</table>
But that won't load in PFM. I do know that the column with 1s and 0s is a boolean column (I think its show in ui), but it won't work that way.
Re: PFM 3.5.1 - Attila support
Code:
<table table_name='building_levels_tables'
table_version='10' >
<field name='level_name' type='string_ascii' pk='true' />
<field fkey='building_chains_tables.key' name='chain' type='string_ascii' />
<field name='level' type='int' />
<field name='create_time' type='int' />
<field name='create_cost' type='int' />
<field name='upkeep_cost' type='int' />
<field name='commodity' type='string_ascii' />
<field name='commodity_vol' type='int' />
<field name='only_in_capital' type='boolean' />
<field name='military_prestige' type='int' />
<field name='naval_prestige' type='int' />
<field name='economic_prestige' type='int' />
<field name='enlightenment_prestige' type='int' />
<field name='destruction_terminator' type='boolean' />
<field name='faction_unique' type='boolean' />
<field name='religion_requirement' type='optstring_ascii' />
<field name='first_in_world_bundle' type='optstring_ascii' />
<field name='resource_requirement' type='optstring_ascii' />
<field name='unique_index' type='int' />
<field name='can_convert' type='boolean' />
<field name='building_instance_key' type='optstring_ascii' />
<field name='audio_building_type' type='string_ascii' />
<field name='should_show_building_level_in_ui_for_technology' type='boolean' />
<field name='health_override' type='float' />
<field name='development_point_cost' type='int' />
<field name='has_aqueduct' type='boolean' />
<field name='can_be_damaged' type='boolean' />
</table>
Re: PFM 3.5.1 - Attila support
Re: PFM 3.5.1 - Attila support
Yeah, thanks to both of you, and great job finding the rest of the column names! :thumbsup2
Re: PFM 3.5.1 - Attila support
This thread is full of witchcraft :tongue:
Re: PFM 3.5.0 - Attila support
Oh god, please help!
I've downloaded the pack modifier and the EditSF. Ever since i've modified the rome2_data.pack my Total War Launcher does crash when ever I start it.
I've even uninstalled the game completely and reinstalled it. This did not help.
Everytime I try start the game it starts the Launcher and then prompts a windows message that the launcher does not work properly and is being closed.
Please help me fix this!
Re: PFM 3.5.1 - Attila support
Quote:
Originally Posted by
.Mitch.
Code:
<table table_name='building_levels_tables'
table_version='10' >
<field name='level_name' type='string_ascii' pk='true' />
<field fkey='building_chains_tables.key' name='chain' type='string_ascii' />
<field name='level' type='int' />
<field name='create_time' type='int' />
<field name='create_cost' type='int' />
<field name='upkeep_cost' type='int' />
<field name='commodity' type='string_ascii' />
<field name='commodity_vol' type='int' />
<field name='only_in_capital' type='boolean' />
<field name='military_prestige' type='int' />
<field name='naval_prestige' type='int' />
<field name='economic_prestige' type='int' />
<field name='enlightenment_prestige' type='int' />
<field name='destruction_terminator' type='boolean' />
<field name='faction_unique' type='boolean' />
<field name='religion_requirement' type='optstring_ascii' />
<field name='first_in_world_bundle' type='optstring_ascii' />
<field name='resource_requirement' type='optstring_ascii' />
<field name='unique_index' type='int' />
<field name='can_convert' type='boolean' />
<field name='building_instance_key' type='optstring_ascii' />
<field name='audio_building_type' type='string_ascii' />
<field name='should_show_building_level_in_ui_for_technology' type='boolean' />
<field name='health_override' type='float' />
<field name='development_point_cost' type='int' />
<field name='has_aqueduct' type='boolean' />
<field name='can_be_damaged' type='boolean' />
</table>
This should be for version 11, right?
I added it to the released schema as such and uploaded schema_49.zip.
Re: PFM 3.5.1 - Attila support
Is there any reason events_tables isn't accessible? As far as I can tell that's where the climate change event information is at, although I could have missed it elsewhere.
Or a more broad question, what does the blue highlight do for tables?
Re: PFM 3.5.1 - Attila support
Can I add new columns or edit their headings? If this is possible I don't know how.
Re: PFM 3.5.1 - Attila support
Daniu: You can change <field name='unknown32' type='boolean' /> under main_units_table (for Attila) to <field name='in_encyclopedia' type='boolean' />. Did a check and unchecking it resulted in a unit being no longer accessible in the encyclopedia.
Quote:
Originally Posted by
daniu
No, you cannot. It is only possible that a field is declared as a boolean although it really is an optstring with all fields empty; an empty optstring will only appear as a single 0 byte in the data, as will a boolean "false" value.
That does not mean that you can just edit any boolean field to be an optstring field; this will result in PFM allowing you to enter a string there, but that will result in the game not loading the edited pack (or crash or whatever) because it's not really an optstring.
When experimenting with schemas, it is safe to leave out the fkeys; those are only used in the PFM db editor to fill the combo boxes with available entries.
If you get it wrong and set it to an incorrect reference, filling the combo boxes will fail and you won't be able to edit the table at all. If you leave it out although it really is a reference, it will still work; you just have to manually edit the entries.
Uploaded schema_48.zip containing this; I got it from Radious last week who included gate_damage instead of unknown13; has that been found out to be wrong or did he figure it out without telling you?
I went and removed the f part of the key. I wasn't quite sure if I understood your comment on the booleans - if I understand right if the entry is a true blue boolean then it will CTD. But that there may be blank and unused opstring entries which are currently listed as boolean?
I noticed when I replaced <field name='unknown34' type='boolean' /> with <field key='region_unit_resources_tables.key' name='region_unit_resource_requirement' type='optstring_ascii' /> there was no CTD unless I put in an entry (Auxilia_Parthian). Game loads and everything if the entry is empty. Soon as I put that in, it CTDS.
I did further tinkering with the lower 22-29 entries to no avail, either. Starting to think there is no ability to do Unit resource requirements. Mitch, when you said one of the Attila DBs was the region unit resource key - how did you know one of them is related to the unit resource?
Off the assumption that up until the 20th entry ( <field name='campaign_total_cap' type='int' />), both the Attila main_units and R2 Main_units have the exact same (I think) entries, the 28th should be region_unit resources. Alternatively since unknown30 is clearly the unique_index entry (as it has the totally different and arbitrary numbers like in R2), 31 could then be prestige27, 32 being in encyclopedia (As every single one is checked yes), and then 33 'should' be region unit resource. That panned out - disable 32 and you disable the encyclopedia for that unit.
Problem is - uncheck unknown33 and you get a CTD. I tried changing it to <field key='region_unit_resources_tables.key' name='region_unit_resource_requirement' type='optstring_ascii' /> and it CTDs. So even if it does deal with unit recruitment (perhaps the check is "recruit anywhere"), it cannot be messed with.
Dammit I'd kill to just have the damn raw database files for Attila. I'm guessing this will have to wait until they release the Attila TWEAK style modding tools.
Re: PFM 3.5.1 - Attila support
How can I save a change in the loc files? Maybe I'm thick, but I don't see a "save" option. Do I need to import it?
Thanks!
EDIT: Seriously; I want to change some Roman names, so that they look more Late Roman than Early Imperial, but I can't find a way to save the changes! What am I missing?
Re: PFM 3.5.1 - Attila support
Sorry to post while you are working out the schemas but if I have only Rome 2 and not Atilla which would be the best version of PFM and which schema? I need to update as I can't open the building levels table
Re: PFM 3.5.1 - Attila support
Quote:
Originally Posted by
Ahiga
I went and removed the f part of the key. I wasn't quite sure if I understood your comment on the booleans - if I understand right if the entry is a true blue boolean then it will CTD. But that there may be blank and unused opstring entries which are currently listed as boolean?
if you change "fkey" to "key", it will be ignored by PFM entirely; may as well remove the whole key="..." part.
About the booleans/optstring:
I only look at binary data.
A boolean is always 1 byte; it can be either "00" or "01".
A (non-opt)string is of the format "<string_length> <bytes_for_string>"; so the string "value" would be something like "05 76 61 6c 75 65" (with the 05 saying it's 5 bytes long, then the 5 bytes in ascii).
An optstring is of the format "<entry_exists> <string>", so for "value", this will be "01 05 76 61 6c 75 65" (with the 01 saying a string is present, then the "value" string from above). An empty optstring will only be "00" - "no entry exists".
Now if you have a table that contains a column with only "00" entries, those can be either boolean (all set to false) or optstrings (all without an entry present).
But if you get it wrong and pretend a boolean column is an optstring, the PFM lets you enter a string and encode this as such; when you then load it from the game, the game will expect a boolean, and crash due to the invalid values in length and the ascii encoding.
OTOH, if you pretend an optstring is a boolean and set it to "01", the game (and PFM) will expect the following data to belong to the next column, which will almost certainly also contain incorrect data.
Quote:
Originally Posted by
Alexios Komnenos
How can I save a change in the loc files? Maybe I'm thick, but I don't see a "save" option.
Doesn't it save on its own if you just select another file in the .pack?
I really hardly test anything with .locs.
Quote:
Originally Posted by
Col.KanKrusha
Sorry to post while you are working out the schemas but if I have only Rome 2 and not Atilla which would be the best version of PFM and which schema? I need to update as I can't open the building levels table.
It is supposed to work with the most recent version, I must have messed something up.
Try the following:
- try through the schema files in https://sourceforge.net/projects/pac...iles/Schemata/, unpack them into your PFM install directory and try to open the file. Note which schema is the latest that works.
- right-click the buildings_levels table, select "open with DecodeTool". At the bottom, there is a "table version" number (I hope it still displays it correctly, I had issues with it at some points in time).
Tell me what you found so I can try and correct the problem.
Re: PFM 3.5.1 - Attila support
thanks, I am a couple of versions behind. I will update version and schema and let you know if it works
EDIT - awesome thanks, new PFM with schema 49 working and i can now open that table
Re: PFM 3.5.1 - Attila support
So I'm trying to use this for rome 2. I start the packfilemanager.exe, it asks me the directories for almost every total war game except rome 2, I say no to all of them, it pops up some errors, closes and when I reopen it, it only pops up the errors
Does this not support rome 2 or something?
Re: PFM 3.5.1 - Attila support
Quote:
Originally Posted by
Tripod27
So I'm trying to use this for rome 2. I start the packfilemanager.exe, it asks me the directories for almost every total war game except rome 2, I say no to all of them, it pops up some errors, closes and when I reopen it, it only pops up the errors
Does this not support rome 2 or something?
Ignore this post, I figured out what was up
I moved rome 2 from my SSD to my hard disk to save space, and when I moved it, Steam left an empty rome 2 folder in my SSD that your program was trying to grab, which is why it was giving the error. Deleting the empty folder fixed it
Also if someone could tell me how to edit my posts on here so I don't have to quote myself, that would be great
Re: PFM 3.5.1 - Attila support
Quote:
Originally Posted by
Com_James_Bond
Can I add new columns or edit their headings? If this is possible I don't know how.
Re: PFM 3.5.1 - Attila support
Quote:
Originally Posted by
Com_James_Bond
Can I add new columns or edit their headings? If this is possible I don't know how.
Not from the DB Editor AFAIK (it's not written by me, I hardly use it myself and can't check right now as I'm on Linux).
You can edit it in the master_schema itself.
To do so:
- open the DB file in DecodeTool (right-click, Open->Open Decode Tool
- at the bottom right, it shows the current file version (Typename: <table_name> Version: <version> (parsed with <...>). Note that the "parsed with" will always show "0" right now which is a bug.
- open the master_schema.xml and find the corresponding entry (<table table_name='<table_name>' table_version='<version>'
- below, you see all the fields which correspond to the column entries (name='<field_name>' is the column title)
Edit the file, save and restart PFM, the table column should be changed.
If you're sure you've correctly identified a table, send the schema entry to me (<table>... up to the closing </table>) and I'll integrate it into the released master schema.