diff --git a/.nuget/uvatlas_desktop_2019.nuspec b/.nuget/uvatlas_desktop_2019.nuspec
index d69e1c32..00e137c9 100644
--- a/.nuget/uvatlas_desktop_2019.nuspec
+++ b/.nuget/uvatlas_desktop_2019.nuspec
@@ -10,7 +10,7 @@
This version is for Windows desktop applications using Visual Studio 2019 (16.11) or Visual Studio 2022.
UVAtlas, a shared source library for creating and packing an isochart texture atlas.
- Matches the September 4, 2024 release on GitHub.
+ Matches the October 29, 2024 release on GitHub.
http://go.microsoft.com/fwlink/?LinkID=512686
images\icon.jpg
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e9569cce..79397492 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,10 +6,19 @@ Release available for download on [GitHub](https://github.com/microsoft/UVAtlas/
## Release History
+### October 29, 2024
+* All enums now use ``uint32_t`` as the underlying type rather than ``unsigned long`` or ``int``.
+* uvatlastool:
+ * Add "GNU-style" *--long-options* to the command-line tools (all existing switches are still supported)
+ * Refactored code to use shared header
+ * Updated for October 2024 DirectXTex & DirectXMesh releases
+* CMake and MSBuild project updates
+
### September 4, 2024
* CMake project updates including support for ARM64EC
* Code review
* Added GitHub Actions YAML files
+* uvatlastool: Updated for September 2024 DirectXTex & DirectXMesh releases
### June 5, 2024
* CMake project updates
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a6c8e24d..9be54f3f 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,7 +3,7 @@
cmake_minimum_required (VERSION 3.20)
-set(UVATLAS_VERSION 1.8.8)
+set(UVATLAS_VERSION 1.8.9)
if(WINDOWS_STORE OR (DEFINED XBOX_CONSOLE_TARGET))
set(CMAKE_TRY_COMPILE_TARGET_TYPE "STATIC_LIBRARY")
diff --git a/README.md b/README.md
index b70b5e44..adce0584 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ http://go.microsoft.com/fwlink/?LinkID=512686
Copyright (c) Microsoft Corporation.
-**September 4, 2024**
+**October 29, 2024**
This package contains UVAtlas, a shared source library for creating and packing an isochart texture atlas.
@@ -16,25 +16,27 @@ These components are designed to work without requiring any content from the leg
## Directory Layout
-* ``Inc\``
+* ``UVAtlas\``
- + Public Header File (in the DirectX C++ namespace):
+ + ``Inc\``
- * UVtlas.h
- - UVAtlasCreate
- - UVAtlasPartition
- - UVAtlasPack
- - UVAtlasComputeIMTFromPerVertexSignal
- - UVAtlasComputeIMTFromSignal
- - UVAtlasComputeIMTFromTexture
- - UVAtlasComputeIMTFromPerTexelSignal
- - UVAtlasApplyRemap
+ + Public Header File (in the DirectX C++ namespace):
-* ``geodesics\``, ``isochart\``
+ * UVtlas.h
+ - UVAtlasCreate
+ - UVAtlasPartition
+ - UVAtlasPack
+ - UVAtlasComputeIMTFromPerVertexSignal
+ - UVAtlasComputeIMTFromSignal
+ - UVAtlasComputeIMTFromTexture
+ - UVAtlasComputeIMTFromPerTexelSignal
+ - UVAtlasApplyRemap
- + Library source files
+ * ``geodesics\``, ``isochart\``
-* ``UVAtasTool\``
+ + Library source files
+
+* ``UVAtlasTool\``
+ Command line tool and sample for UVAtlas library
@@ -78,6 +80,19 @@ For a full change history, see [CHANGELOG.md](https://github.com/microsoft/UVAtl
* When using clang/LLVM for the ARM64/AArch64 platform, the Windows 11 SDK ([22000](https://walbourn.github.io/windows-sdk-for-windows-11/)) or later is required.
+* As of the October 2024 release, the command-line tool also supports GNU-style long options using ``--``. All existing switches continue to function, but some of the `-` options are now deprecated per this table:
+
+|Old switch|New switch|
+|---|---|
+|-sdkmesh|-ft sdkmesh
--file-type sdkmesh|
+|-sdkmesh2|-ft sdkmesh2
--file-type sdkmesh2|
+|-cmo|-ft cmo
--file-type cmo|
+|-vbo|-ft vbo
--file-type vbo|
+|-wf|-ft obj
--file-type obj|
+|-flipu|--flip-u|
+|-flipv|--flip-v|
+|-flipz|--flip-z|
+
## Contributing
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
diff --git a/UVAtlas/inc/UVAtlas.h b/UVAtlas/inc/UVAtlas.h
index 0d4ff5c6..b57ceaa4 100644
--- a/UVAtlas/inc/UVAtlas.h
+++ b/UVAtlas/inc/UVAtlas.h
@@ -42,7 +42,7 @@
#include
-#define UVATLAS_VERSION 188
+#define UVATLAS_VERSION 189
namespace DirectX
diff --git a/UVAtlasTool/MeshOBJ.cpp b/UVAtlasTool/MeshOBJ.cpp
index 07352596..1c8777c1 100644
--- a/UVAtlasTool/MeshOBJ.cpp
+++ b/UVAtlasTool/MeshOBJ.cpp
@@ -65,7 +65,9 @@ HRESULT LoadFromOBJ(
bool ccw,
bool dds)
{
- WaveFrontReader wfReader;
+ using Vertex = DX::WaveFrontReader::Vertex;
+
+ DX::WaveFrontReader wfReader;
HRESULT hr = wfReader.Load(szFilename, ccw);
if (FAILED(hr))
return hr;
@@ -117,7 +119,7 @@ HRESULT LoadFromOBJ(
if (FAILED(hr))
return hr;
- hr = vbr.AddStream(wfReader.vertices.data(), wfReader.vertices.size(), 0, sizeof(WaveFrontReader::Vertex));
+ hr = vbr.AddStream(wfReader.vertices.data(), wfReader.vertices.size(), 0, sizeof(Vertex));
if (FAILED(hr))
return hr;
diff --git a/UVAtlasTool/UVAtlasTool_2019.vcxproj b/UVAtlasTool/UVAtlasTool_2019.vcxproj
index 8f0e4bd8..bd92bbf6 100644
--- a/UVAtlasTool/UVAtlasTool_2019.vcxproj
+++ b/UVAtlasTool/UVAtlasTool_2019.vcxproj
@@ -315,14 +315,14 @@
-
-
+
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
+
+
\ No newline at end of file
diff --git a/UVAtlasTool/UVAtlasTool_2022.vcxproj b/UVAtlasTool/UVAtlasTool_2022.vcxproj
index a5547d8b..fa351e29 100644
--- a/UVAtlasTool/UVAtlasTool_2022.vcxproj
+++ b/UVAtlasTool/UVAtlasTool_2022.vcxproj
@@ -315,14 +315,14 @@
-
-
+
+
This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.
-
-
+
+
\ No newline at end of file
diff --git a/UVAtlasTool/packages.config b/UVAtlasTool/packages.config
index 001f7bf9..241b3ca1 100644
--- a/UVAtlasTool/packages.config
+++ b/UVAtlasTool/packages.config
@@ -1,5 +1,5 @@
-
-
+
+
\ No newline at end of file