diff --git a/Texturing/OptimizeTextures/build.bat b/Texturing/OptimizeTextures/build.bat index 1432e03..8d3560b 100644 --- a/Texturing/OptimizeTextures/build.bat +++ b/Texturing/OptimizeTextures/build.bat @@ -1 +1 @@ -python3 -m PyInstaller -F --icon=./optimizeTextures.ico -c .\optimize_textures.py \ No newline at end of file +python3 -m PyInstaller -F --icon=./optimizeTextures.ico -c .\optimize_textures.py --hidden-import=multiprocessing --hidden-import=multiprocessing.pool \ No newline at end of file diff --git a/Texturing/OptimizeTextures/build/optimize_textures/Analysis-00.toc b/Texturing/OptimizeTextures/build/optimize_textures/Analysis-00.toc index fc299b8..a6156cb 100644 --- a/Texturing/OptimizeTextures/build/optimize_textures/Analysis-00.toc +++ b/Texturing/OptimizeTextures/build/optimize_textures/Analysis-00.toc @@ -1,7 +1,7 @@ (['E:\\Arma Reforger ' 'Work\\1960-utils\\Texturing\\OptimizeTextures\\optimize_textures.py'], ['E:\\Arma Reforger Work\\1960-utils\\Texturing\\OptimizeTextures'], - [], + ['multiprocessing', 'multiprocessing.pool'], ['C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\numpy\\_pyinstaller', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\stdhooks', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\_pyinstaller_hooks_contrib\\hooks'], @@ -14,24 +14,24 @@ [], '3.10.11 (tags/v3.10.11:7d4cc5a, Apr 5 2023, 00:38:17) [MSC v.1929 64 bit ' '(AMD64)]', - [('pyi_rth_inspect', - 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py', + [('pyi_rth_pkgutil', + 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py', 'PYSOURCE'), - ('pyi_rth_pkgres', - 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgres.py', + ('pyi_rth_inspect', + 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py', 'PYSOURCE'), ('pyi_rth_multiprocessing', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_multiprocessing.py', 'PYSOURCE'), + ('pyi_rth_pkgres', + 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgres.py', + 'PYSOURCE'), ('pyi_rth_pywintypes', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\rthooks\\pyi_rth_pywintypes.py', 'PYSOURCE'), ('pyi_rth_pythoncom', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\rthooks\\pyi_rth_pythoncom.py', 'PYSOURCE'), - ('pyi_rth_pkgutil', - 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py', - 'PYSOURCE'), ('pyi_rth_setuptools', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_setuptools.py', 'PYSOURCE'), @@ -1037,18 +1037,6 @@ 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\sharedctypes.py', 'PYMODULE'), - ('multiprocessing.pool', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\pool.py', - 'PYMODULE'), - ('multiprocessing.dummy', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\dummy\\__init__.py', - 'PYMODULE'), - ('multiprocessing.dummy.connection', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\dummy\\connection.py', - 'PYMODULE'), ('multiprocessing.managers', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\managers.py', @@ -1125,10 +1113,6 @@ 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\xml\\sax\\xmlreader.py', 'PYMODULE'), - ('multiprocessing', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\__init__.py', - 'PYMODULE'), ('concurrent.futures._base', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\concurrent\\futures\\_base.py', @@ -1189,6 +1173,50 @@ 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\mock.py', 'PYMODULE'), + ('unittest', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\__init__.py', + 'PYMODULE'), + ('unittest.async_case', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\async_case.py', + 'PYMODULE'), + ('unittest.signals', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\signals.py', + 'PYMODULE'), + ('unittest.main', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\main.py', + 'PYMODULE'), + ('unittest.runner', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\runner.py', + 'PYMODULE'), + ('unittest.loader', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\loader.py', + 'PYMODULE'), + ('unittest.suite', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\suite.py', + 'PYMODULE'), + ('unittest.case', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\case.py', + 'PYMODULE'), + ('unittest._log', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\_log.py', + 'PYMODULE'), + ('difflib', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\difflib.py', + 'PYMODULE'), + ('unittest.result', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\result.py', + 'PYMODULE'), ('unittest.util', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\util.py', @@ -2218,18 +2246,34 @@ ('_pyi_rth_utils', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\fake-modules\\_pyi_rth_utils\\__init__.py', 'PYMODULE'), - ('stringprep', + ('multiprocessing.pool', 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\stringprep.py', + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\pool.py', + 'PYMODULE'), + ('multiprocessing.dummy', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\dummy\\__init__.py', + 'PYMODULE'), + ('multiprocessing.dummy.connection', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\dummy\\connection.py', 'PYMODULE'), ('_py_abc', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\_py_abc.py', 'PYMODULE'), + ('stringprep', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\stringprep.py', + 'PYMODULE'), ('tracemalloc', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\tracemalloc.py', 'PYMODULE'), + ('multiprocessing', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\multiprocessing\\__init__.py', + 'PYMODULE'), ('PIL.Image', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PIL\\Image.py', 'PYMODULE'), @@ -2433,10 +2477,6 @@ 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\doctest.py', 'PYMODULE'), - ('difflib', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\difflib.py', - 'PYMODULE'), ('numpy.testing._private.noseclasses', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\numpy\\testing\\_private\\noseclasses.py', 'PYMODULE'), @@ -2515,18 +2555,6 @@ ('numpy.core._string_helpers', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\numpy\\core\\_string_helpers.py', 'PYMODULE'), - ('unittest.case', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\case.py', - 'PYMODULE'), - ('unittest._log', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\_log.py', - 'PYMODULE'), - ('unittest.result', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\result.py', - 'PYMODULE'), ('numpy.testing._private', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\numpy\\testing\\_private\\__init__.py', 'PYMODULE'), @@ -3010,34 +3038,6 @@ 'PYMODULE'), ('PIL._version', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PIL\\_version.py', - 'PYMODULE'), - ('unittest', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\__init__.py', - 'PYMODULE'), - ('unittest.async_case', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\async_case.py', - 'PYMODULE'), - ('unittest.signals', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\signals.py', - 'PYMODULE'), - ('unittest.main', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\main.py', - 'PYMODULE'), - ('unittest.runner', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\runner.py', - 'PYMODULE'), - ('unittest.loader', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\loader.py', - 'PYMODULE'), - ('unittest.suite', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\unittest\\suite.py', 'PYMODULE')], [('python310.dll', 'C:\\Program ' @@ -3236,31 +3236,31 @@ 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\top_level.txt', 'DATA'), - ('setuptools-65.5.0.dist-info\\WHEEL', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL', - 'DATA'), ('setuptools-65.5.0.dist-info\\REQUESTED', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\REQUESTED', 'DATA'), - ('setuptools-65.5.0.dist-info\\RECORD', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD', - 'DATA'), - ('setuptools-65.5.0.dist-info\\entry_points.txt', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt', - 'DATA'), - ('setuptools-65.5.0.dist-info\\LICENSE', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE', - 'DATA'), ('setuptools-65.5.0.dist-info\\INSTALLER', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\INSTALLER', 'DATA'), + ('setuptools-65.5.0.dist-info\\WHEEL', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL', + 'DATA'), + ('setuptools-65.5.0.dist-info\\entry_points.txt', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt', + 'DATA'), ('setuptools-65.5.0.dist-info\\METADATA', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\METADATA', + 'DATA'), + ('setuptools-65.5.0.dist-info\\RECORD', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD', + 'DATA'), + ('setuptools-65.5.0.dist-info\\LICENSE', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE', 'DATA')]) diff --git a/Texturing/OptimizeTextures/build/optimize_textures/EXE-00.toc b/Texturing/OptimizeTextures/build/optimize_textures/EXE-00.toc index 66d64fa..7f3a922 100644 --- a/Texturing/OptimizeTextures/build/optimize_textures/EXE-00.toc +++ b/Texturing/OptimizeTextures/build/optimize_textures/EXE-00.toc @@ -61,24 +61,24 @@ ('pyiboot01_bootstrap', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py', 'PYSOURCE'), + ('pyi_rth_pkgutil', + 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py', + 'PYSOURCE'), ('pyi_rth_inspect', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py', 'PYSOURCE'), - ('pyi_rth_pkgres', - 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgres.py', - 'PYSOURCE'), ('pyi_rth_multiprocessing', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_multiprocessing.py', 'PYSOURCE'), + ('pyi_rth_pkgres', + 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgres.py', + 'PYSOURCE'), ('pyi_rth_pywintypes', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\rthooks\\pyi_rth_pywintypes.py', 'PYSOURCE'), ('pyi_rth_pythoncom', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\rthooks\\pyi_rth_pythoncom.py', 'PYSOURCE'), - ('pyi_rth_pkgutil', - 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py', - 'PYSOURCE'), ('pyi_rth_setuptools', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_setuptools.py', 'PYSOURCE'), @@ -281,38 +281,38 @@ 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\top_level.txt', 'DATA'), - ('setuptools-65.5.0.dist-info\\WHEEL', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL', - 'DATA'), ('setuptools-65.5.0.dist-info\\REQUESTED', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\REQUESTED', 'DATA'), - ('setuptools-65.5.0.dist-info\\RECORD', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD', - 'DATA'), - ('setuptools-65.5.0.dist-info\\entry_points.txt', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt', - 'DATA'), - ('setuptools-65.5.0.dist-info\\LICENSE', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE', - 'DATA'), ('setuptools-65.5.0.dist-info\\INSTALLER', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\INSTALLER', 'DATA'), + ('setuptools-65.5.0.dist-info\\WHEEL', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL', + 'DATA'), + ('setuptools-65.5.0.dist-info\\entry_points.txt', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt', + 'DATA'), ('setuptools-65.5.0.dist-info\\METADATA', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\METADATA', + 'DATA'), + ('setuptools-65.5.0.dist-info\\RECORD', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD', + 'DATA'), + ('setuptools-65.5.0.dist-info\\LICENSE', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE', 'DATA')], [], False, False, - 1729946176, + 1731953748, [('run.exe', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\bootloader\\Windows-64bit-intel\\run.exe', 'EXECUTABLE')], diff --git a/Texturing/OptimizeTextures/build/optimize_textures/PKG-00.toc b/Texturing/OptimizeTextures/build/optimize_textures/PKG-00.toc index 79557ae..c99001d 100644 --- a/Texturing/OptimizeTextures/build/optimize_textures/PKG-00.toc +++ b/Texturing/OptimizeTextures/build/optimize_textures/PKG-00.toc @@ -37,24 +37,24 @@ ('pyiboot01_bootstrap', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\loader\\pyiboot01_bootstrap.py', 'PYSOURCE'), + ('pyi_rth_pkgutil', + 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py', + 'PYSOURCE'), ('pyi_rth_inspect', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_inspect.py', 'PYSOURCE'), - ('pyi_rth_pkgres', - 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgres.py', - 'PYSOURCE'), ('pyi_rth_multiprocessing', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_multiprocessing.py', 'PYSOURCE'), + ('pyi_rth_pkgres', + 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgres.py', + 'PYSOURCE'), ('pyi_rth_pywintypes', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\rthooks\\pyi_rth_pywintypes.py', 'PYSOURCE'), ('pyi_rth_pythoncom', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\_pyinstaller_hooks_contrib\\hooks\\rthooks\\pyi_rth_pythoncom.py', 'PYSOURCE'), - ('pyi_rth_pkgutil', - 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_pkgutil.py', - 'PYSOURCE'), ('pyi_rth_setuptools', 'C:\\Users\\Niklas\\AppData\\Local\\Packages\\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\\LocalCache\\local-packages\\Python310\\site-packages\\PyInstaller\\hooks\\rthooks\\pyi_rth_setuptools.py', 'PYSOURCE'), @@ -257,33 +257,33 @@ 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\top_level.txt', 'DATA'), - ('setuptools-65.5.0.dist-info\\WHEEL', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL', - 'DATA'), ('setuptools-65.5.0.dist-info\\REQUESTED', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\REQUESTED', 'DATA'), - ('setuptools-65.5.0.dist-info\\RECORD', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD', - 'DATA'), - ('setuptools-65.5.0.dist-info\\entry_points.txt', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt', - 'DATA'), - ('setuptools-65.5.0.dist-info\\LICENSE', - 'C:\\Program ' - 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE', - 'DATA'), ('setuptools-65.5.0.dist-info\\INSTALLER', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\INSTALLER', 'DATA'), + ('setuptools-65.5.0.dist-info\\WHEEL', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\WHEEL', + 'DATA'), + ('setuptools-65.5.0.dist-info\\entry_points.txt', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\entry_points.txt', + 'DATA'), ('setuptools-65.5.0.dist-info\\METADATA', 'C:\\Program ' 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\METADATA', + 'DATA'), + ('setuptools-65.5.0.dist-info\\RECORD', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\RECORD', + 'DATA'), + ('setuptools-65.5.0.dist-info\\LICENSE', + 'C:\\Program ' + 'Files\\WindowsApps\\PythonSoftwareFoundation.Python.3.10_3.10.3056.0_x64__qbz5n2kfra8p0\\lib\\site-packages\\setuptools-65.5.0.dist-info\\LICENSE', 'DATA')], 'python310.dll', False, diff --git a/Texturing/OptimizeTextures/build/optimize_textures/base_library.zip b/Texturing/OptimizeTextures/build/optimize_textures/base_library.zip index a6b9d38..2c5d5de 100644 Binary files a/Texturing/OptimizeTextures/build/optimize_textures/base_library.zip and b/Texturing/OptimizeTextures/build/optimize_textures/base_library.zip differ diff --git a/Texturing/OptimizeTextures/build/optimize_textures/optimize_textures.pkg b/Texturing/OptimizeTextures/build/optimize_textures/optimize_textures.pkg index 2a5d03d..f1cfb0c 100644 Binary files a/Texturing/OptimizeTextures/build/optimize_textures/optimize_textures.pkg and b/Texturing/OptimizeTextures/build/optimize_textures/optimize_textures.pkg differ diff --git a/Texturing/OptimizeTextures/build/optimize_textures/warn-optimize_textures.txt b/Texturing/OptimizeTextures/build/optimize_textures/warn-optimize_textures.txt index 6e8f3a4..234dc3f 100644 --- a/Texturing/OptimizeTextures/build/optimize_textures/warn-optimize_textures.txt +++ b/Texturing/OptimizeTextures/build/optimize_textures/warn-optimize_textures.txt @@ -15,10 +15,10 @@ IMPORTANT: Do NOT post this list to the issue-tracker. Use it as a basis for tracking down the missing module yourself. Thanks! missing module named pep517 - imported by importlib.metadata (delayed) -missing module named org - imported by copy (optional) +missing module named 'org.python' - imported by copy (optional), xml.sax (delayed, conditional) missing module named pwd - imported by posixpath (delayed, conditional), subprocess (delayed, conditional, optional), shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), netrc (delayed, conditional), getpass (delayed), http.server (delayed, optional), webbrowser (delayed), distutils.util (delayed, conditional, optional), distutils.archive_util (optional), psutil (optional), setuptools._distutils.archive_util (optional), setuptools._distutils.util (delayed, conditional, optional) missing module named grp - imported by subprocess (delayed, conditional, optional), shutil (delayed, optional), tarfile (optional), pathlib (delayed, optional), distutils.archive_util (optional), setuptools._distutils.archive_util (optional) -missing module named 'org.python' - imported by pickle (optional), xml.sax (delayed, conditional) +missing module named org - imported by pickle (optional) missing module named posix - imported by os (conditional, optional), shutil (conditional), importlib._bootstrap_external (conditional) missing module named resource - imported by posix (top-level) missing module named _frozen_importlib_external - imported by importlib._bootstrap (delayed), importlib (optional), importlib.abc (optional), zipimport (top-level) @@ -42,7 +42,6 @@ missing module named _posixshmem - imported by multiprocessing.resource_tracker missing module named multiprocessing.set_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level) missing module named multiprocessing.get_start_method - imported by multiprocessing (top-level), multiprocessing.spawn (top-level) missing module named multiprocessing.get_context - imported by multiprocessing (top-level), multiprocessing.pool (top-level), multiprocessing.managers (top-level), multiprocessing.sharedctypes (top-level) -missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level) missing module named java - imported by xml.sax._exceptions (conditional) missing module named multiprocessing.BufferTooShort - imported by multiprocessing (top-level), multiprocessing.connection (top-level) missing module named multiprocessing.AuthenticationError - imported by multiprocessing (top-level), multiprocessing.connection (top-level) @@ -75,7 +74,11 @@ missing module named trove_classifiers - imported by setuptools.config._validate missing module named 'setuptools.extern.packaging.specifiers' - imported by setuptools.config.setupcfg (top-level), setuptools.config._apply_pyprojecttoml (delayed) missing module named 'setuptools.extern.packaging.requirements' - imported by setuptools.config.setupcfg (top-level) missing module named importlib_metadata - imported by setuptools._importlib (delayed, optional) -missing module named pyimod02_importers - imported by C:\Users\Niklas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgres.py (delayed), C:\Users\Niklas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgutil.py (delayed) +missing module named pyimod02_importers - imported by C:\Users\Niklas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgutil.py (delayed), C:\Users\Niklas\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.10_qbz5n2kfra8p0\LocalCache\local-packages\Python310\site-packages\PyInstaller\hooks\rthooks\pyi_rth_pkgres.py (delayed) +missing module named multiprocessing.TimeoutError - imported by multiprocessing (top-level), multiprocessing.pool (top-level) +missing module named multiprocessing.freeze_support - imported by multiprocessing (top-level), E:\Arma Reforger Work\1960-utils\Texturing\OptimizeTextures\optimize_textures.py (top-level) +missing module named multiprocessing.cpu_count - imported by multiprocessing (top-level), E:\Arma Reforger Work\1960-utils\Texturing\OptimizeTextures\optimize_textures.py (top-level) +missing module named multiprocessing.Pool - imported by multiprocessing (top-level), E:\Arma Reforger Work\1960-utils\Texturing\OptimizeTextures\optimize_textures.py (top-level) missing module named olefile - imported by PIL.FpxImagePlugin (top-level), PIL.MicImagePlugin (top-level) missing module named dummy_threading - imported by psutil._compat (optional) missing module named _dummy_thread - imported by cffi.lock (conditional, optional), numpy.core.arrayprint (optional) diff --git a/Texturing/OptimizeTextures/build/optimize_textures/xref-optimize_textures.html b/Texturing/OptimizeTextures/build/optimize_textures/xref-optimize_textures.html index fe17d46..ab4cdc5 100644 --- a/Texturing/OptimizeTextures/build/optimize_textures/xref-optimize_textures.html +++ b/Texturing/OptimizeTextures/build/optimize_textures/xref-optimize_textures.html @@ -157,6 +157,11 @@ imports: • keywordlinecachelocale + • multiprocessing + • multiprocessing.Pool + • multiprocessing.cpu_count + • multiprocessing.freeze_support + • multiprocessing.poolntpathoperatoros @@ -178,7 +183,6 @@ imports: • timetracebacktypes - • unittestwarningsweakref @@ -347,7 +351,7 @@ imported by: 'org.python' MissingModule
imported by: - pickle + copyxml.sax
@@ -6141,8 +6145,8 @@ imported by: copy SourceModule
imports: - copyreg - • org + 'org.python' + • copyregtypesweakref @@ -13606,10 +13610,13 @@ imports: multiprocessingmultiprocessing.AuthenticationErrormultiprocessing.BufferTooShort + • multiprocessing.Poolmultiprocessing.TimeoutErrormultiprocessing.connectionmultiprocessing.context + • multiprocessing.cpu_countmultiprocessing.forkserver + • multiprocessing.freeze_supportmultiprocessing.get_contextmultiprocessing.get_start_methodmultiprocessing.pool @@ -13649,6 +13656,7 @@ imported by: • multiprocessing.spawnmultiprocessing.synchronizemultiprocessing.util + • optimize_textures.pypyi_rth_multiprocessing.py
@@ -13679,6 +13687,18 @@ imported by: +
+ + multiprocessing.Pool +MissingModule
+imported by: + multiprocessing + • optimize_textures.py + +
+ +
+
multiprocessing.TimeoutError @@ -13783,6 +13803,18 @@ imported by:
+
+ + multiprocessing.cpu_count +MissingModule
+imported by: + multiprocessing + • optimize_textures.py + +
+ +
+
multiprocessing.dummy @@ -13858,6 +13890,18 @@ imported by:
+
+ + multiprocessing.freeze_support +MissingModule
+imported by: + multiprocessing + • optimize_textures.py + +
+ +
+
multiprocessing.get_context @@ -13972,6 +14016,7 @@ imported by: • multiprocessing.contextmultiprocessing.dummymultiprocessing.managers + • optimize_textures.py
@@ -19527,7 +19572,7 @@ imported by: org MissingModule
imported by: - copy + pickle
@@ -20297,14 +20342,14 @@ imported by: pickle SourceModule
imports: - 'org.python' - • _compat_pickle + _compat_pickle_picklecodecscopyregfunctoolsioitertools + • orgpprintrestruct @@ -29781,7 +29826,6 @@ imported by: • numpy.testingnumpy.testing._private.parameterizednumpy.testing._private.utils - • optimize_textures.pyunittestunittest._logunittest.async_case @@ -31465,7 +31509,6 @@ imported by: Package
imports: xml - • xml.parsers.expat
@@ -31496,7 +31539,6 @@ imported by: • plistlibxml.dom.expatbuilderxml.etree.ElementTree - • xml.parsersxml.sax.expatreaderxmlrpc.client diff --git a/Texturing/OptimizeTextures/dist/optimize_textures.exe b/Texturing/OptimizeTextures/dist/optimize_textures.exe index eb7d236..1976b21 100644 Binary files a/Texturing/OptimizeTextures/dist/optimize_textures.exe and b/Texturing/OptimizeTextures/dist/optimize_textures.exe differ diff --git a/Texturing/OptimizeTextures/optimize_textures.py b/Texturing/OptimizeTextures/optimize_textures.py index 9cbe865..870f0d1 100644 --- a/Texturing/OptimizeTextures/optimize_textures.py +++ b/Texturing/OptimizeTextures/optimize_textures.py @@ -1,35 +1,65 @@ -from unittest import skip from PIL import Image import sys import os import time +from multiprocessing import Pool, cpu_count, freeze_support -if len(sys.argv) < 1: - print("Please provide the input files.") - sys.exit(1) - -inputTexs = sys.argv - -if not os.path.exists(os.path.join(os.path.dirname(inputTexs[1]),"optimized")): - os.mkdir(os.path.join(os.path.dirname(inputTexs[1]),"optimized")) - -export_path = os.path.join(os.path.dirname(inputTexs[1]),"optimized") - -print("Starting optimization of " + str(len(inputTexs)-1) + " Files") - -for i in range(1,len(inputTexs),1): - currentTex = Image.open(inputTexs[i]) - - if currentTex.size <= (2048,2048): - print (f"{os.path.basename(inputTexs[i])} is already smaller than 2048x2048") - continue +def process_image(args): + input_path, export_dir, idx, total = args + try: + currentTex = Image.open(input_path) + if currentTex.size <= (2048, 2048): + print(f"{os.path.basename(input_path)} is already smaller than 2048x2048 ({idx}/{total})") + return - # downsize the image with an LANCZOS filter (gives the highest quality) - resizedTex = currentTex.resize((2048,2048),Image.LANCZOS) - - resizedTex.save(str(export_path) + "\\" + os.path.basename(inputTexs[i]), optimize=True, quality=95) - print (os.path.basename(inputTexs[i]) + " successfully converted " + "(" + str(i) + "/" + str(len(inputTexs)-1) + ")") + # Downsize the image with a LANCZOS filter + resizedTex = currentTex.resize((2048, 2048), Image.LANCZOS) + + output_path = os.path.join(export_dir, os.path.basename(input_path)) + resizedTex.save(output_path, optimize=True, quality=95) + print(f"{os.path.basename(input_path)} successfully converted ({idx}/{total})") + except Exception as e: + print(f"Error processing {input_path} ({idx}/{total}): {e}") -print("Textures successfully resized!") -time.sleep(5) \ No newline at end of file +def main(): + if len(sys.argv) < 2: + print("Please provide the input files.") + sys.exit(1) + + inputTexs = sys.argv[1:] + export_dir = os.path.join(os.path.dirname(inputTexs[0]), "optimized") + + if not os.path.exists(export_dir): + os.mkdir(export_dir) + + total_files = len(inputTexs) + print(f"Starting optimization of {total_files} files") + + # Start timing + start_time = time.perf_counter() + + args_list = [ + (input_path, export_dir, idx + 1, total_files) + for idx, input_path in enumerate(inputTexs) + ] + + # Check if running as a frozen executable + if getattr(sys, 'frozen', False): + # Avoid multiprocessing when frozen + for args in args_list: + process_image(args) + else: + with Pool(processes=cpu_count()) as pool: + pool.map(process_image, args_list) + + # End timing + end_time = time.perf_counter() + elapsed_time = end_time - start_time + + print(f"Textures successfully resized in {elapsed_time:.2f} seconds!") + time.sleep(5) + +if __name__ == "__main__": + freeze_support() + main() \ No newline at end of file diff --git a/Texturing/OptimizeTextures/optimize_textures.spec b/Texturing/OptimizeTextures/optimize_textures.spec index 7b7f843..a9d54cd 100644 --- a/Texturing/OptimizeTextures/optimize_textures.spec +++ b/Texturing/OptimizeTextures/optimize_textures.spec @@ -6,7 +6,7 @@ a = Analysis( pathex=[], binaries=[], datas=[], - hiddenimports=[], + hiddenimports=['multiprocessing', 'multiprocessing.pool'], hookspath=[], hooksconfig={}, runtime_hooks=[],