taw / etwng

Next Generation Modding Tools for Empire Total War (and other Total War games)
36 stars 27 forks source link

Warhammer Compatibility #5

Closed Tomfow closed 6 years ago

Tomfow commented 6 years ago

Hi, dumb question. I´m able to unpack Rome 2 startpos but when i try to unpack Warhammer startpos, i got stuck on compressed files? Anything I can try to solve it?

PS P:\modding\esfviaxml\etwng-master\esfxml> ./unpackesf.ps1 RuntimeError: Unknown type 0x25 at 1800159 block in setup_esf_type_handlers at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:274 default at org/jruby/RubyHash.java:718 [] at org/jruby/RubyHash.java:1107 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:428 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:293 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:311 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:329 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:428 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:293 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:311 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:329 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:428 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:293 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:311 block in convert_abca_ary! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:364 times at org/jruby/RubyFixnum.java:299 block in convert_abca_ary! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:363 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:428 convert_abca_ary! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:362 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:428 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:293 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:311 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:329 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:428 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:293 block in convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:307 open_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:28 open_nested_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:41 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:306 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:329 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:428 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:293 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:311 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:327 block in convert! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:407 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:428 block in convert! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:405 open_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:28 open_main_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:35 convert! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:404

at p:\modding\ESFviaXML\etwng-master\esfxml\esf2xml:33 LZMA 9.22 beta : Igor Pavlov : Public domain : 2011-04-18 Error: can not open input file p:\modding\ESFviaXML\startpos\xml\compressed_data.esf.xz rm : Cannot find path 'P:\modding\ESFviaXML\startpos\xml\compressed_data.esf.xz' because it does not exist. At P:\modding\esfviaxml\etwng-master\esfxml\UnpackESF.ps1:11 char:1 + rm $tempdir\xml\compressed_data.esf.xz + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (P:\modding\ESFv...sed_data.esf.xz:String) [Remove-Item], ItemNotFoundEx ception + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand Errno::ENOENT: No such file or directory - p:\modding\ESFviaXML\startpos\xml\compressed_data.esf initialize at org/jruby/RubyFile.java:358 open at org/jruby/RubyIO.java:1169
at .\esf2xml:24 rm : Cannot find path 'P:\modding\ESFviaXML\startpos\xml\compressed_data.esf' because it does not exist. At P:\modding\esfviaxml\etwng-master\esfxml\UnpackESF.ps1:13 char:1 + rm $tempdir\xml\compressed_data.esf + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (P:\modding\ESFv...ressed_data.esf:String) [Remove-Item], ItemNotFoundEx ception + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand PS P:\modding\esfviaxml\etwng-master\esfxml>
taw commented 6 years ago

Yeah, it's been a while since I last updated the tools here, so they probably don't work with new games (or sometimes with new patches of games they used to work with).

If you run into this kind of issues, report them and upload failing files somewhere, usually it's a fairly simple fix.

Tomfow commented 6 years ago

Thanks for quick response! https://drive.google.com/open?id=1Ca8NJP8XWE4qtL05zOGXGKxHQ8I2chjP i put the startpos.esf for warhammer1 into rar file. Or do you need some other files as well? I have Assembly kit with tables etc, PFM schemas..not sure what can help you.

taw commented 6 years ago

So there are 2 new ESF tags (0x21, 0x25) - no idea what they mean, but they're 4 bytes and contain small number (0-3 usually), and that's enough to make parser work.

Give it a try. If you have any other issues, just msg me here (best with problematic files)

Tomfow commented 6 years ago

Working like a charm! At least WH1, I will check WH2 later . Thank you once more and sorry for bothering :)

Tomfow commented 6 years ago

WH2 has one more tag 0x23 (if I can pretend to read it well? :) ) There is startpos for WH2 if you want to check it too! https://drive.google.com/open?id=1zXGkXteqkuM8TsPJBZ_SvhCnHdZ4H4Ak

Unexpected field type 17 during lookahead of faction ids RuntimeError: Unknown type 0x23 at 1933328 block in setup_esf_type_handlers at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:280 default at org/jruby/RubyHash.java:718 [] at org/jruby/RubyHash.java:1107 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:305 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:317 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:335 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:305 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:317 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:333 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:305 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 block in convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:313 open_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:28 open_nested_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:41 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:312 block in convert_abca_ary! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:370 times at org/jruby/RubyFixnum.java:299 block in convert_abca_ary! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:369 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_abca_ary! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:368 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:305 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 block in convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:313 open_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:28 open_nested_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:41 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:312 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:333 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:305 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:317 block in convert_abca_ary! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:370 times at org/jruby/RubyFixnum.java:299 block in convert_abca_ary! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:369 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_abca_ary! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:368 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:305 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 block in convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:313 open_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:28 open_nested_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:41 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:312 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:333 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:305 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 block in convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:313 open_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:28 open_nested_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:41 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:312 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:333 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:305 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 block in convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:313 open_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:28 open_nested_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:41 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:312 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:335 block in convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:305 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 convert_rec_basic! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:299 convert_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:317 convert_abca_rec! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:333 block in convert! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:413 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:122 tag! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:434 block in convert! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:411 open_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:28 open_main_xml at P:/modding/ESFviaXML/etwng-master/esfxml/dir_builder.rb:35 convert! at P:/modding/ESFviaXML/etwng-master/esfxml/esf_converter.rb:410

at .\esf2xml:33 PS P:\modding\ESFviaXML\etwng-master\esfxml>
taw commented 6 years ago

No idea what it does, but if I add type 0x23 (1 byte), it parses, with one warning. Only values that tag takes are 0 and 2.

Tomfow commented 6 years ago

Thank you once more, it is working :-)