From 23e0ab6d20b9946df29752f36e4803d5969f196c Mon Sep 17 00:00:00 2001 From: Sebastian Sille Date: Thu, 13 Apr 2023 12:02:19 +0200 Subject: [PATCH] Import_3ds: Fixed keyframe reading If more than one key is present in track chunks, the frame data has to be processed Otherwise bad char or buffer errors may occur Signed-off-by: Sebastian Sille --- io_scene_3ds/import_3ds.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/io_scene_3ds/import_3ds.py b/io_scene_3ds/import_3ds.py index b1072aa7..fdfa6b6d 100644 --- a/io_scene_3ds/import_3ds.py +++ b/io_scene_3ds/import_3ds.py @@ -571,6 +571,17 @@ def process_next_chunk(context, file, previous_chunk, imported_objects, IMAGE_SE temp_data = file.read(SZ_3FLOAT) data = struct.unpack('<3f', temp_data) new_chunk.bytes_read += SZ_3FLOAT + if nkeys > 1: # Read keyframe data + for i in range(nkeys - 1): + temp_data = file.read(SZ_U_INT) + kframe = struct.unpack(' 1: # Read keyframe data + for i in range(nkeys - 1): + temp_data = file.read(SZ_U_INT) + kframe = struct.unpack(' 1: # Read keyframe data + for i in range(nkeys - 1): + temp_data = file.read(SZ_U_INT) + kframe = struct.unpack('