pyffi
pyffi copied to clipboard
Error parsing NIF files from Spellbinder Demo
@niftools/pyffi-reviewers
Issue Overview
Opening any .NIF file in blender from https://archive.org/details/SpellbinderTheNexusConflictDemo fails.
Version Information
Pyffi Version Info
2.2.4.dev3
Platform information
Linux 5.10.9-arch1-1 #1 SMP PREEMPT Tue, 19 Jan 2021 22:06:06 +0000 x86_64 GNU/Linux
Steps to Reproduce
- Download the exe
- Install it
- Try to import Fem1.NIF (or any other file) into blender using the 0.0.3 NIF addon.
Logs and Files
niftools:INFO:Importing /home/.wine/drive_c/mythic/spellbinder/figures/Fem1.NIF
niftools:INFO:NIF file version: 2030000
niftools:INFO:Reading file
pyffi.nif.data:DEBUG:Reading header at 0x00000000
pyffi.nif.data:DEBUG:Version 0x02030000
pyffi.nif.data.struct:DEBUG:Array:copyright
pyffi.nif.data.array:DEBUG:Reading array of size 3
pyffi.nif.data:DEBUG:Reading NiMaterialProperty block at 0x0000009A
pyffi.nif.data.struct:DEBUG:* NiMaterialProperty.name = b'' : type <class 'pyffi.formats.nif.NifFormat.string'> at 0x0000009A offset 154 -
pyffi.nif.data.struct:DEBUG:* NiMaterialProperty.has_old_extra_data = False : type <class 'pyffi.formats.nif.NifFormat.bool'> at 0x0000009E offset 158 -
pyffi.nif.data.struct:DEBUG:* NiMaterialProperty.unknown_byte = 0 : type <class 'pyffi.object_models.common.UByte'> at 0x000000A2 offset 162 -
pyffi.nif.data.struct:DEBUG:Color3:ambient_color
pyffi.nif.data.struct:DEBUG:* Color3.r = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000A3 offset 163 -
pyffi.nif.data.struct:DEBUG:* Color3.g = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000A7 offset 167 -
pyffi.nif.data.struct:DEBUG:* Color3.b = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000AB offset 171 -
pyffi.nif.data.struct:DEBUG:Color3:diffuse_color
pyffi.nif.data.struct:DEBUG:* Color3.r = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000AF offset 175 -
pyffi.nif.data.struct:DEBUG:* Color3.g = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000B3 offset 179 -
pyffi.nif.data.struct:DEBUG:* Color3.b = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000B7 offset 183 -
pyffi.nif.data.struct:DEBUG:Color3:specular_color
pyffi.nif.data.struct:DEBUG:* Color3.r = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000BB offset 187 -
pyffi.nif.data.struct:DEBUG:* Color3.g = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000BF offset 191 -
pyffi.nif.data.struct:DEBUG:* Color3.b = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000C3 offset 195 -
pyffi.nif.data.struct:DEBUG:Color3:emissive_color
pyffi.nif.data.struct:DEBUG:* Color3.r = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000C7 offset 199 -
pyffi.nif.data.struct:DEBUG:* Color3.g = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000CB offset 203 -
pyffi.nif.data.struct:DEBUG:* Color3.b = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000CF offset 207 -
pyffi.nif.data.struct:DEBUG:* NiMaterialProperty.glossiness = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000D3 offset 211 -
pyffi.nif.data.struct:DEBUG:* NiMaterialProperty.alpha = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000D7 offset 215 -
pyffi.nif.data:DEBUG:Reading NiClod block at 0x000000E9
pyffi.nif.data.struct:DEBUG:* NiClod.name = b'' : type <class 'pyffi.formats.nif.NifFormat.string'> at 0x000000E9 offset 233 -
pyffi.nif.data.struct:DEBUG:* NiClod.has_old_extra_data = False : type <class 'pyffi.formats.nif.NifFormat.bool'> at 0x000000FA offset 250 -
pyffi.nif.data.struct:DEBUG:* NiClod.unknown_byte = 0 : type <class 'pyffi.object_models.common.UByte'> at 0x000000FE offset 254 -
pyffi.nif.data.struct:DEBUG:Vector3:translation
pyffi.nif.data.struct:DEBUG:* Vector3.x = 0 : type <class 'pyffi.object_models.common.Float'> at 0x000000FF offset 255 -
pyffi.nif.data.struct:DEBUG:* Vector3.y = 0 : type <class 'pyffi.object_models.common.Float'> at 0x00000103 offset 259 -
pyffi.nif.data.struct:DEBUG:* Vector3.z = 0 : type <class 'pyffi.object_models.common.Float'> at 0x00000107 offset 263 -
pyffi.nif.data.struct:DEBUG:Matrix33:rotation
pyffi.nif.data.struct:DEBUG:* Matrix33.m_11 = 1.0 : type <class 'pyffi.object_models.common.Float'> at 0x0000010B offset 267 -
pyffi.nif.data.struct:DEBUG:* Matrix33.m_21 = 0.0 : type <class 'pyffi.object_models.common.Float'> at 0x0000010F offset 271 -
pyffi.nif.data.struct:DEBUG:* Matrix33.m_31 = 0.0 : type <class 'pyffi.object_models.common.Float'> at 0x00000113 offset 275 -
pyffi.nif.data.struct:DEBUG:* Matrix33.m_12 = 0.0 : type <class 'pyffi.object_models.common.Float'> at 0x00000117 offset 279 -
pyffi.nif.data.struct:DEBUG:* Matrix33.m_22 = 1.0 : type <class 'pyffi.object_models.common.Float'> at 0x0000011B offset 283 -
pyffi.nif.data.struct:DEBUG:* Matrix33.m_32 = 0.0 : type <class 'pyffi.object_models.common.Float'> at 0x0000011F offset 287 -
pyffi.nif.data.struct:DEBUG:* Matrix33.m_13 = 0.0 : type <class 'pyffi.object_models.common.Float'> at 0x00000123 offset 291 -
pyffi.nif.data.struct:DEBUG:* Matrix33.m_23 = 0.0 : type <class 'pyffi.object_models.common.Float'> at 0x00000127 offset 295 -
pyffi.nif.data.struct:DEBUG:* Matrix33.m_33 = 1.0 : type <class 'pyffi.object_models.common.Float'> at 0x0000012B offset 299 -
pyffi.nif.data.struct:DEBUG:* NiClod.scale = 1.0 : type <class 'pyffi.object_models.common.Float'> at 0x0000012F offset 303 -
pyffi.nif.data.struct:DEBUG:Vector3:velocity
pyffi.nif.data.struct:DEBUG:* Vector3.x = 0 : type <class 'pyffi.object_models.common.Float'> at 0x00000133 offset 307 -
pyffi.nif.data.struct:DEBUG:* Vector3.y = 0 : type <class 'pyffi.object_models.common.Float'> at 0x00000137 offset 311 -
pyffi.nif.data.struct:DEBUG:* Vector3.z = 0 : type <class 'pyffi.object_models.common.Float'> at 0x0000013B offset 315 -
pyffi.nif.data.struct:DEBUG:* NiClod.num_properties = 0 : type <class 'pyffi.object_models.common.UInt'> at 0x0000013F offset 319 -
pyffi.nif.data.struct:DEBUG:Array:properties
pyffi.nif.data.array:DEBUG:Reading array of size 1
pyffi.nif.data.struct:DEBUG:Array:unknown_1
pyffi.nif.data.array:DEBUG:Reading array of size 4
pyffi.nif.data.struct:DEBUG:* NiClod.unknown_2 = 0 : type <class 'pyffi.object_models.common.UByte'> at 0x00000157 offset 343 -
pyffi.nif.data.struct:DEBUG:* NiClod.data = None : type <class 'pyffi.formats.nif.NifFormat.Ref'> at 0x00000158 offset 344 -
Python: Traceback (most recent call last):
File "/home/.config/blender/2.91/scripts/addons/io_scene_niftools/operators/nif_import_op.py", line 121, in execute
return NifImport(self, context).execute()
File "/home/.config/blender/2.91/scripts/addons/io_scene_niftools/nif_import.py", line 74, in execute
self.load_files() # needs to be first to provide version info.
File "/home/.config/blender/2.91/scripts/addons/io_scene_niftools/nif_import.py", line 144, in load_files
NifData.init(NifFile.load_nif(NifOp.props.filepath))
File "/home/.config/blender/2.91/scripts/addons/io_scene_niftools/file_io/nif.py", line 64, in load_nif
data.read(nif_stream)
File "/home/.config/blender/2.91/scripts/addons/io_scene_niftools/dependencies/pyffi/formats/nif/__init__.py", line 1318, in read
top_level_str.read(stream, data=self)
File "/home/.config/blender/2.91/scripts/addons/io_scene_niftools/dependencies/pyffi/object_models/common.py", line 667, in read
raise ValueError('string too long (0x%08X at 0x%08X)'
ValueError: string too long (0xB6C4523E at 0x00000160)
location: <unknown location>:-1