<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/fdd3ac4273270414160e09d59f552d21d0e1b1c8">https://github.com/macports/macports-ports/commit/fdd3ac4273270414160e09d59f552d21d0e1b1c8</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit fdd3ac4273270414160e09d59f552d21d0e1b1c8
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Mon Apr 18 05:14:19 2022 -0500

<span style='display:block; white-space:pre;color:#404040;'>    assimp: Update to 5.2.3
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    assimp_tools: Remove unused libdevil dependency
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/60848
</span>---
 graphics/assimp/Portfile                           |  42 ++--
 graphics/assimp/files/4203.patch                   | 265 ---------------------
 .../patch-code-AssetLib-glTF2-glTF2Asset.inl.diff  |  11 -
 .../assimp/files/patch-code-CMakeLists.txt.diff    |  33 ++-
 .../patch-code-Common-ZipArchiveIOSystem.cpp.diff  |  13 +
 5 files changed, 65 insertions(+), 299 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/assimp/Portfile b/graphics/assimp/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 75383bbf144..4b257aaf15b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/assimp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/assimp/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,30 +3,31 @@
</span> PortSystem          1.0
 PortGroup           cmake 1.1
 PortGroup           github 1.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup           legacysupport 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup           legacysupport 1.1
</span> 
 # strnlen
 legacysupport.newest_darwin_requires_legacy 10
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.setup        assimp  assimp 5.1.5 v
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           rmd160  adf21a78900d6bab170898c1536fdec94195e319 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha256  8fea5953ac509fd0687e80cc19c7a35c0d5d4d8c654efd003a6112372d4edfda \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    size    48978688
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup        assimp assimp 5.2.3 v
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  db8d7c7faa68066cc3d66193cb1f4bba0306a574 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  b20fc41af171f6d8f1f45d4621f18e6934ab7264e71c37cd72fd9832509af2a8 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    49606233
</span> 
 conflicts           assimp2
 categories          graphics
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description         library to import/export 3D model formats
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         library to import/export 3-D model formats
</span> long_description    Open Asset Import Library (short name: Assimp) is a \
                     portable Open Source library to import various well-known \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    3D model formats in a uniform manner. The most recent \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    version also knows how to export 3d files and is therefore \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    suitable as general-purpose 3D model converter.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    3-D model formats in a uniform manner. The most recent \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    version also knows how to export 3_D files and is therefore \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    suitable as a general-purpose 3-D model converter.
</span> homepage            http://www.assimp.org
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span> license             BSD
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+github.tarball_from archive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append \
                     port:pkgconfig
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,22 +35,25 @@ depends_lib         port:minizip \
</span>                     port:pugixml \
                     port:zlib
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   patch-code-AssetLib-glTF2-glTF2Asset.inl.diff \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-code-CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Ensure we don't use these bundled libraries.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    foreach item [list pugixml unzip zlib] {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        move ${worksrcpath}/contrib/${item} ${worksrcpath}/contrib/${item}-disabled
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Fix for qt5-qtquick3d build; to be included in release following 5.2.2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles-append   4203.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-code-Common-ZipArchiveIOSystem.cpp.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-code-CMakeLists.txt.diff
</span> 
 compiler.cxx_standard 2011
 compiler.thread_local_storage yes
 configure.args-append -DASSIMP_BUILD_ASSIMP_TOOLS:BOOL=OFF -DASSIMP_BUILD_TESTS:BOOL=OFF
 
 subport assimp_tools {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    PortGroup       qt5 1.0
</span> 
     depends_lib-append   \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-        port:${name}     \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        port:libdevil    \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        port:qt5-qtbase
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        port:${name}
</span> 
     configure.args-replace                    \
         -DASSIMP_BUILD_ASSIMP_TOOLS:BOOL=OFF  \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -62,4 +66,4 @@ subport assimp_tools {
</span>     }
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-github.livecheck.regex {(\d\.\d\.\d)}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.livecheck.regex {(\d+(\.\d+)+)}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/assimp/files/4203.patch b/graphics/assimp/files/4203.patch
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index b5fc293f040..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/assimp/files/4203.patch
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,265 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 2fdf52488fba296beae885b4b6e983de375a8236 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: RichardTea <31507749+RichardTea@users.noreply.github.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 23 Nov 2021 13:53:58 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 1/3] float and integer material property bool conversion
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-All reading float and integer material property values as bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Zero => False
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Non-Zero => True
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include/assimp/material.inl    | 41 +++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test/unit/utMaterialSystem.cpp | 65 ++++++++++++++++++++++++++++++----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 100 insertions(+), 6 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/include/assimp/material.inl b/include/assimp/material.inl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 693785c3c0..1aec6d8650 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- include/assimp/material.inl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ include/assimp/material.inl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -137,6 +137,47 @@ aiReturn aiMaterial::Get(const char* pKey,unsigned int type,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ---------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Specialisation for a single bool.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// Casts floating point and integer to bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+template <>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+AI_FORCE_INLINE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        aiReturn
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        aiMaterial::Get(const char *pKey, unsigned int type,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                unsigned int idx, bool &pOut) const {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const aiMaterialProperty *prop;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const aiReturn ret = ::aiGetMaterialProperty(this, pKey, type, idx,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            (const aiMaterialProperty **)&prop);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    if (AI_SUCCESS == ret) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        switch (prop->mType) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            // Type cannot be converted
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        default: return AI_FAILURE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        case aiPTI_Buffer: {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            // Native bool value storage
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if (prop->mDataLength < sizeof(bool)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                return AI_FAILURE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            ::memcpy(&pOut, prop->mData, sizeof(bool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        } break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        case aiPTI_Float:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        case aiPTI_Double:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        case aiPTI_Integer: {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            // Read as integer and cast to bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            int value = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if (AI_SUCCESS == ::aiGetMaterialInteger(this, pKey, type, idx, &value)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                pOut = static_cast<bool>(value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+                return AI_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return AI_FAILURE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // ---------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- AI_FORCE_INLINE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- aiReturn aiMaterial::Get(const char* pKey,unsigned int type,
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/test/unit/utMaterialSystem.cpp b/test/unit/utMaterialSystem.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 8db014d9c4..9df64ae3ba 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- test/unit/utMaterialSystem.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ test/unit/utMaterialSystem.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -125,13 +125,66 @@ TEST_F(MaterialSystemTest, testStringProperty) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // ------------------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--TEST_F(MaterialSystemTest, testMaterialNameAccess) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    aiMaterial *mat = new aiMaterial();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    EXPECT_NE(nullptr, mat);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    aiString name = mat->GetName();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TEST_F(MaterialSystemTest, testDefaultMaterialName) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    aiString name = pcMat->GetName();
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     const int retValue(strncmp(name.C_Str(), AI_DEFAULT_MATERIAL_NAME, name.length));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(0, retValue);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ------------------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TEST_F(MaterialSystemTest, testBoolProperty) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const bool valTrue = true;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    const bool valFalse = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&valTrue, 1, "bool_true"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&valFalse, 1, "bool_false"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool read = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("bool_true", 0, 0, read));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_TRUE(read) << "read true bool";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("bool_false", 0, 0, read));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_FALSE(read) << "read false bool";
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--    delete mat;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ------------------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TEST_F(MaterialSystemTest, testCastIntProperty) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    int value = 10;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&value, 1, "integer"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    value = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&value, 1, "zero"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // To float
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    float valFloat = 0.0f;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("integer", 0, 0, valFloat));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(10.0f, valFloat);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("zero", 0, 0, valFloat));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(0.0f, valFloat);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // To bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool valBool = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("integer", 0, 0, valBool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(true, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("zero", 0, 0, valBool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(false, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ------------------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TEST_F(MaterialSystemTest, testCastFloatProperty) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    float value = 150392.63f;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&value, 1, "float"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    value = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&value, 1, "zero"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // To int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    int valInt = 0.0f;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("float", 0, 0, valInt));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(150392, valInt);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("zero", 0, 0, valInt));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(0, valInt);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // To bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool valBool = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("float", 0, 0, valBool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(true, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("zero", 0, 0, valBool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(false, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From 5143044cc84decd933bebd0a48b2c24e816b074a Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: RichardTea <31507749+RichardTea@users.noreply.github.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 23 Nov 2021 13:55:27 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 2/3] redefine AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-This key is deprecated but is used by Qt5 & Qt 6.2.1 QtQuick3D
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include/assimp/pbrmaterial.h | 2 +-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 1 file changed, 1 insertion(+), 1 deletion(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/include/assimp/pbrmaterial.h b/include/assimp/pbrmaterial.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index b642a96e39..2103a31f07 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- include/assimp/pbrmaterial.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ include/assimp/pbrmaterial.h
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -61,7 +61,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_METALLIC_FACTOR AI_MATKEY_METALLIC_FACTOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define AI_MATKEY_GLTF_PBRMETALLICROUGHNESS_ROUGHNESS_FACTOR AI_MATKEY_ROUGHNESS_FACTOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--//#define AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS "$mat.gltf.pbrSpecularGlossiness", 0, 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#define AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS AI_MATKEY_GLOSSINESS_FACTOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #define AI_MATKEY_GLTF_PBRSPECULARGLOSSINESS_GLOSSINESS_FACTOR AI_MATKEY_GLOSSINESS_FACTOR
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // Use AI_MATKEY_SHADING_MODEL == aiShadingMode_Unlit instead
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From d18709b899de50f18d9d6ae7cb85f4233a715179 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-From: RichardTea <31507749+RichardTea@users.noreply.github.com>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Date: Tue, 23 Nov 2021 14:15:32 +0000
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-Subject: [PATCH 3/3] Small float values should be true
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- include/assimp/material.inl    | 15 ++++++++++-----
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- test/unit/utMaterialSystem.cpp | 28 ++++++++++++++++++++++++++++
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 2 files changed, 38 insertions(+), 5 deletions(-)
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/include/assimp/material.inl b/include/assimp/material.inl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 1aec6d8650..b299892b0b 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- include/assimp/material.inl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ include/assimp/material.inl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -163,16 +163,21 @@ AI_FORCE_INLINE
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         } break;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         case aiPTI_Float:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        case aiPTI_Double:
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--        case aiPTI_Integer: {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            // Read as integer and cast to bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            int value = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--            if (AI_SUCCESS == ::aiGetMaterialInteger(this, pKey, type, idx, &value)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        case aiPTI_Double: {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            // Read as float and cast to bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            float value = 0.0f;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            if (AI_SUCCESS == ::aiGetMaterialFloat(this, pKey, type, idx, &value)) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 pOut = static_cast<bool>(value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                 return AI_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-             return AI_FAILURE;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        case aiPTI_Integer: {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            // Cast to bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            const int value = static_cast<int>(*prop->mData);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            pOut = static_cast<bool>(value);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+            return AI_SUCCESS;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-         }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     return ret;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-diff --git a/test/unit/utMaterialSystem.cpp b/test/unit/utMaterialSystem.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-index 9df64ae3ba..363a4b1934 100644
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- test/unit/utMaterialSystem.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ test/unit/utMaterialSystem.cpp
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -151,6 +151,8 @@ TEST_F(MaterialSystemTest, testCastIntProperty) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&value, 1, "integer"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     value = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&value, 1, "zero"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    value = -1;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&value, 1, "negative"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     // To float
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     float valFloat = 0.0f;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -158,6 +160,8 @@ TEST_F(MaterialSystemTest, testCastIntProperty) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(10.0f, valFloat);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(AI_SUCCESS, pcMat->Get("zero", 0, 0, valFloat));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(0.0f, valFloat);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("negative", 0, 0, valFloat));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(-1.0f, valFloat);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     // To bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     bool valBool = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -165,6 +169,8 @@ TEST_F(MaterialSystemTest, testCastIntProperty) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(true, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(AI_SUCCESS, pcMat->Get("zero", 0, 0, valBool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(false, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("negative", 0, 0, valBool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(true, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // ------------------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -188,3 +194,25 @@ TEST_F(MaterialSystemTest, testCastFloatProperty) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(AI_SUCCESS, pcMat->Get("zero", 0, 0, valBool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-     EXPECT_EQ(false, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+// ------------------------------------------------------------------------------------------------
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+TEST_F(MaterialSystemTest, testCastSmallFloatProperty) {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    float value = 0.0078125f;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&value, 1, "float"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    value = 0;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->AddProperty(&value, 1, "zero"));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // To int
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    int valInt = 0.0f;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("float", 0, 0, valInt));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(0, valInt);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("zero", 0, 0, valInt));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(0, valInt);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    // To bool
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    bool valBool = false;
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("float", 0, 0, valBool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(true, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(AI_SUCCESS, pcMat->Get("zero", 0, 0, valBool));
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+    EXPECT_EQ(false, valBool);
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/assimp/files/patch-code-AssetLib-glTF2-glTF2Asset.inl.diff b/graphics/assimp/files/patch-code-AssetLib-glTF2-glTF2Asset.inl.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 58c1e156ff1..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/assimp/files/patch-code-AssetLib-glTF2-glTF2Asset.inl.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- code/AssetLib/glTF2/glTF2Asset.inl.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ code/AssetLib/glTF2/glTF2Asset.inl
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -45,6 +45,8 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <assimp/StringUtils.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #include <assimp/DefaultLogger.hpp>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+#include <rapidjson/stringbuffer.h>
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- // clang-format off
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #ifdef ASSIMP_ENABLE_DRACO
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- 
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/assimp/files/patch-code-CMakeLists.txt.diff b/graphics/assimp/files/patch-code-CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;color:#808080;'>index bfcf99aa444..ada4075bf7a 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/assimp/files/patch-code-CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/assimp/files/patch-code-CMakeLists.txt.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,11 +1,36 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- code/CMakeLists.txt.orig
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ code/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -1201,7 +1201,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Explain to the build system that we would like to use MacPorts versions
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+of these libraries, not the bundled ones which may become out of date.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- code/CMakeLists.txt.orig       2022-03-17 05:35:44.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ code/CMakeLists.txt    2022-04-18 14:44:47.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -896,8 +896,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ SOURCE_GROUP( Extra FILES ${Extra_SRCS})
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # pugixml
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-IF(ASSIMP_HUNTER_ENABLED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  hunter_add_package(pugixml)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IF(TRUE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   find_package(pugixml CONFIG REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ELSE()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   SET( Pugixml_SRCS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -950,9 +949,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ENDIF()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # minizip/unzip
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-IF(ASSIMP_HUNTER_ENABLED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  hunter_add_package(minizip)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  find_package(minizip CONFIG REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++IF(TRUE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #minizip does not ship with CMake files
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  #find_package(minizip CONFIG REQUIRED)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ELSE()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   SET( unzip_SRCS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ../contrib/unzip/crypt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1213,7 +1212,7 @@
</span>      target_link_libraries(assimp PUBLIC ${draco_LIBRARIES})
    endif()
  ELSE()
 -  TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES})
<span style='display:block; white-space:pre;background:#ffe0e0;'>-+  TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} pugixml)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  TARGET_LINK_LIBRARIES(assimp ${ZLIB_LIBRARIES} ${OPENDDL_PARSER_LIBRARIES} minizip pugixml)
</span>    if (ASSIMP_BUILD_DRACO)
      target_link_libraries(assimp ${draco_LIBRARIES})
    endif()
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/assimp/files/patch-code-Common-ZipArchiveIOSystem.cpp.diff b/graphics/assimp/files/patch-code-Common-ZipArchiveIOSystem.cpp.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..9c11f9302bb
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/assimp/files/patch-code-Common-ZipArchiveIOSystem.cpp.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://github.com/assimp/assimp/issues/4334
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- code/Common/ZipArchiveIOSystem.cpp.orig        2022-03-17 05:35:44.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ code/Common/ZipArchiveIOSystem.cpp     2022-04-18 05:10:56.000000000 -0500
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -196,7 +196,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     zlib_filefunc_def mapping;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     mapping.zopen_file = (open_file_func)open;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef ZOPENDISK64
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     mapping.zopendisk_file = (opendisk_file_func)opendisk;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     mapping.zread_file = (read_file_func)read;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     mapping.zwrite_file = (write_file_func)write;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     mapping.ztell_file = (tell_file_func)tell;
</span></pre><pre style='margin:0'>

</pre>