From e6a1b8d15e27c86ca1dcd7df142e81285115f600 Mon Sep 17 00:00:00 2001
From: Sebastian Sille <nrgsille@noreply.localhost>
Date: Mon, 20 Feb 2023 15:24:46 +0100
Subject: [PATCH] Make sure there is a primary texture

Pull Request #7
---
 io_scene_3ds/export_3ds.py | 11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

diff --git a/io_scene_3ds/export_3ds.py b/io_scene_3ds/export_3ds.py
index 4557859b..87619ce4 100644
--- a/io_scene_3ds/export_3ds.py
+++ b/io_scene_3ds/export_3ds.py
@@ -675,12 +675,15 @@ def make_material_chunk(material, image):
         material_chunk.add_subchunk(make_percent_subchunk(MATSELFILPCT, wrap.emission_strength))
         material_chunk.add_subchunk(shading)
 
+        primary_tex = False
+
         if wrap.base_color_texture:
             d_pct = 0.7 + sum(wrap.base_color[:]) * 0.1
             color = [wrap.base_color_texture]
             matmap = make_material_texture_chunk(MAT_DIFFUSEMAP, color, d_pct)
             if matmap:
                 material_chunk.add_subchunk(matmap)
+                primary_tex = True
 
         if wrap.specular_texture:
             spec = [wrap.specular_texture]
@@ -705,8 +708,7 @@ def make_material_chunk(material, image):
 
         if wrap.normalmap_texture:
             normal = [wrap.normalmap_texture]
-            bump = wrap.normalmap_strength
-            b_pct = min(bump, 1)
+            b_pct = wrap.normalmap_strength
             matmap = make_material_texture_chunk(MAT_BUMPMAP, normal, b_pct)
             if matmap:
                 material_chunk.add_subchunk(matmap)
@@ -735,7 +737,10 @@ def make_material_chunk(material, image):
                 diffuse = [link.from_node.image] if not wrap.normalmap_texture else None
 
         if diffuse:
-            matmap = make_texture_chunk(MAT_TEX2MAP, diffuse)
+            if primary_tex == False:
+                make_texture_chunk(MAT_DIFFUSEMAP, diffuse)
+            else:
+                matmap = make_texture_chunk(MAT_TEX2MAP, diffuse)
             if matmap:
                 material_chunk.add_subchunk(matmap)
 
-- 
GitLab