biqqles / flint

A parser and API for Freelancer and its formats
https://github.com/biqqles/flint/wiki
Mozilla Public License 2.0
8 stars 2 forks source link

Latest Discovery update breaks parsing of shipclass.dll #18

Open san-e opened 5 months ago

san-e commented 5 months ago
  File "d:\repos\discoWikiGen\.venv\Lib\site-packages\flint\entities\ship.py", line 83, in type
    return self._ship_classes()[self.ship_class]
           ^^^^^^^^^^^^^^^^^^^^
  File "d:\repos\discoWikiGen\.venv\Lib\site-packages\flint\entities\ship.py", line 179, in _ship_classes
    result.extend(dll.parse(ship_class, 0).values())
                  ^^^^^^^^^^^^^^^^^^^^^^^^
  File "d:\repos\discoWikiGen\.venv\Lib\site-packages\flint\formats\dll.py", line 163, in parse
    resources.update(read_string_table())
                     ^^^^^^^^^^^^^^^^^^^
  File "d:\repos\discoWikiGen\.venv\Lib\site-packages\flint\formats\dll.py", line 101, in read_string_table
    resource_string = ResourceDirectoryString(f.read(2))
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "d:\repos\discoWikiGen\.venv\Lib\site-packages\deconstruct\struct.py", line 41, in __init__
    unpacked = iter(struct.unpack(self.format_string, buffer))

something changed in shipclass.dll to break the dll parser. it's the only file this happens with