libwz 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (362) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +165 -0
  3. package/binding.gyp +149 -0
  4. package/deps/tiny-aes/.github/workflows/c-cpp.yml +27 -0
  5. package/deps/tiny-aes/CMakeLists.txt +17 -0
  6. package/deps/tiny-aes/Makefile +61 -0
  7. package/deps/tiny-aes/README.md +83 -0
  8. package/deps/tiny-aes/aes.c +572 -0
  9. package/deps/tiny-aes/aes.h +91 -0
  10. package/deps/tiny-aes/aes.hpp +12 -0
  11. package/deps/tiny-aes/conanfile.py +73 -0
  12. package/deps/tiny-aes/library.json +19 -0
  13. package/deps/tiny-aes/library.properties +11 -0
  14. package/deps/tiny-aes/test.c +316 -0
  15. package/deps/tiny-aes/test.cpp +2 -0
  16. package/deps/tiny-aes/test_package/CMakeLists.txt +11 -0
  17. package/deps/tiny-aes/test_package/conanfile.py +17 -0
  18. package/deps/tiny-aes/unlicense.txt +24 -0
  19. package/deps/zlib/.cmake-format.yaml +245 -0
  20. package/deps/zlib/.github/workflows/c-std.yml +268 -0
  21. package/deps/zlib/.github/workflows/cmake.yml +147 -0
  22. package/deps/zlib/.github/workflows/configure.yml +146 -0
  23. package/deps/zlib/.github/workflows/contribs.yml +64 -0
  24. package/deps/zlib/.github/workflows/fuzz.yml +25 -0
  25. package/deps/zlib/.github/workflows/msys-cygwin.yml +92 -0
  26. package/deps/zlib/.github/workflows/others.yml +153 -0
  27. package/deps/zlib/BUILD.bazel +134 -0
  28. package/deps/zlib/CMakeLists.txt +310 -0
  29. package/deps/zlib/ChangeLog +1669 -0
  30. package/deps/zlib/FAQ +371 -0
  31. package/deps/zlib/INDEX +67 -0
  32. package/deps/zlib/LICENSE +22 -0
  33. package/deps/zlib/MODULE.bazel +9 -0
  34. package/deps/zlib/Makefile.in +426 -0
  35. package/deps/zlib/README +115 -0
  36. package/deps/zlib/README-cmake.md +79 -0
  37. package/deps/zlib/adler32.c +164 -0
  38. package/deps/zlib/amiga/Makefile.pup +69 -0
  39. package/deps/zlib/amiga/Makefile.sas +68 -0
  40. package/deps/zlib/compress.c +99 -0
  41. package/deps/zlib/configure +1078 -0
  42. package/deps/zlib/contrib/CMakeLists.txt +61 -0
  43. package/deps/zlib/contrib/README.contrib +57 -0
  44. package/deps/zlib/contrib/ada/CMakeLists.txt +217 -0
  45. package/deps/zlib/contrib/ada/buffer_demo.adb +106 -0
  46. package/deps/zlib/contrib/ada/cmake/Modules/CMakeADACompiler.cmake.in +23 -0
  47. package/deps/zlib/contrib/ada/cmake/Modules/CMakeADAInformation.cmake +133 -0
  48. package/deps/zlib/contrib/ada/cmake/Modules/CMakeDetermineADACompiler.cmake +33 -0
  49. package/deps/zlib/contrib/ada/cmake/Modules/CMakeTestADACompiler.cmake +46 -0
  50. package/deps/zlib/contrib/ada/cmake/binder_helper.cmake +47 -0
  51. package/deps/zlib/contrib/ada/cmake/compile_helper.cmake +32 -0
  52. package/deps/zlib/contrib/ada/cmake/exe_link_helper.cmake +53 -0
  53. package/deps/zlib/contrib/ada/cmake/shared_link_helper.cmake +52 -0
  54. package/deps/zlib/contrib/ada/cmake/static_link_helper.cmake +25 -0
  55. package/deps/zlib/contrib/ada/mtest.adb +156 -0
  56. package/deps/zlib/contrib/ada/read.adb +156 -0
  57. package/deps/zlib/contrib/ada/readme.txt +65 -0
  58. package/deps/zlib/contrib/ada/test.adb +463 -0
  59. package/deps/zlib/contrib/ada/zlib-streams.adb +225 -0
  60. package/deps/zlib/contrib/ada/zlib-streams.ads +114 -0
  61. package/deps/zlib/contrib/ada/zlib-thin.adb +142 -0
  62. package/deps/zlib/contrib/ada/zlib-thin.ads +450 -0
  63. package/deps/zlib/contrib/ada/zlib.adb +701 -0
  64. package/deps/zlib/contrib/ada/zlib.ads +328 -0
  65. package/deps/zlib/contrib/ada/zlib.gpr +20 -0
  66. package/deps/zlib/contrib/blast/CMakeLists.txt +166 -0
  67. package/deps/zlib/contrib/blast/Makefile +14 -0
  68. package/deps/zlib/contrib/blast/README +4 -0
  69. package/deps/zlib/contrib/blast/blast-test.c +42 -0
  70. package/deps/zlib/contrib/blast/blast.c +422 -0
  71. package/deps/zlib/contrib/blast/blast.h +84 -0
  72. package/deps/zlib/contrib/blast/blastConfig.cmake.in +18 -0
  73. package/deps/zlib/contrib/blast/test/CMakeLists.txt +193 -0
  74. package/deps/zlib/contrib/blast/test/add_subdirectory_exclude_test.cmake.in +27 -0
  75. package/deps/zlib/contrib/blast/test/add_subdirectory_test.cmake.in +25 -0
  76. package/deps/zlib/contrib/blast/test/find_package_no_components_test.cmake.in +24 -0
  77. package/deps/zlib/contrib/blast/test/find_package_test.cmake.in +24 -0
  78. package/deps/zlib/contrib/blast/test/find_package_wrong_components_test.cmake.in +24 -0
  79. package/deps/zlib/contrib/blast/test.pk +0 -0
  80. package/deps/zlib/contrib/blast/test.txt +1 -0
  81. package/deps/zlib/contrib/blast/tester.cmake +28 -0
  82. package/deps/zlib/contrib/crc32vx/CMakeLists.txt +67 -0
  83. package/deps/zlib/contrib/crc32vx/README +9 -0
  84. package/deps/zlib/contrib/crc32vx/crc32_vx.c +254 -0
  85. package/deps/zlib/contrib/crc32vx/crc32_vx_hooks.h +9 -0
  86. package/deps/zlib/contrib/delphi/ZLib.pas +557 -0
  87. package/deps/zlib/contrib/delphi/ZLibConst.pas +11 -0
  88. package/deps/zlib/contrib/delphi/readme.txt +76 -0
  89. package/deps/zlib/contrib/delphi/zlibd32.mak +99 -0
  90. package/deps/zlib/contrib/dotzlib/DotZLib/AssemblyInfo.cs +58 -0
  91. package/deps/zlib/contrib/dotzlib/DotZLib/ChecksumImpl.cs +202 -0
  92. package/deps/zlib/contrib/dotzlib/DotZLib/CircularBuffer.cs +83 -0
  93. package/deps/zlib/contrib/dotzlib/DotZLib/CodecBase.cs +198 -0
  94. package/deps/zlib/contrib/dotzlib/DotZLib/Deflater.cs +106 -0
  95. package/deps/zlib/contrib/dotzlib/DotZLib/DotZLib.cs +288 -0
  96. package/deps/zlib/contrib/dotzlib/DotZLib/DotZLib.csproj +141 -0
  97. package/deps/zlib/contrib/dotzlib/DotZLib/GZipStream.cs +301 -0
  98. package/deps/zlib/contrib/dotzlib/DotZLib/Inflater.cs +105 -0
  99. package/deps/zlib/contrib/dotzlib/DotZLib/UnitTests.cs +274 -0
  100. package/deps/zlib/contrib/dotzlib/DotZLib.build +33 -0
  101. package/deps/zlib/contrib/dotzlib/DotZLib.chm +0 -0
  102. package/deps/zlib/contrib/dotzlib/DotZLib.sln +21 -0
  103. package/deps/zlib/contrib/dotzlib/LICENSE_1_0.txt +23 -0
  104. package/deps/zlib/contrib/dotzlib/readme.txt +58 -0
  105. package/deps/zlib/contrib/gcc_gvmat64/CMakeLists.txt +19 -0
  106. package/deps/zlib/contrib/gcc_gvmat64/gvmat64.S +570 -0
  107. package/deps/zlib/contrib/infback9/CMakeLists.txt +19 -0
  108. package/deps/zlib/contrib/infback9/README +1 -0
  109. package/deps/zlib/contrib/infback9/infback9.c +603 -0
  110. package/deps/zlib/contrib/infback9/infback9.h +37 -0
  111. package/deps/zlib/contrib/infback9/inffix9.h +107 -0
  112. package/deps/zlib/contrib/infback9/inflate9.h +47 -0
  113. package/deps/zlib/contrib/infback9/inftree9.c +319 -0
  114. package/deps/zlib/contrib/infback9/inftree9.h +61 -0
  115. package/deps/zlib/contrib/iostream/test.cpp +24 -0
  116. package/deps/zlib/contrib/iostream/zfstream.cpp +329 -0
  117. package/deps/zlib/contrib/iostream/zfstream.h +128 -0
  118. package/deps/zlib/contrib/iostream2/zstream.h +306 -0
  119. package/deps/zlib/contrib/iostream2/zstream_test.cpp +25 -0
  120. package/deps/zlib/contrib/iostream3/CMakeLists.txt +200 -0
  121. package/deps/zlib/contrib/iostream3/README +35 -0
  122. package/deps/zlib/contrib/iostream3/TODO +17 -0
  123. package/deps/zlib/contrib/iostream3/iostream3Config.cmake.in +23 -0
  124. package/deps/zlib/contrib/iostream3/test/CMakeLists.txt +191 -0
  125. package/deps/zlib/contrib/iostream3/test/add_subdirectory_exclude_test.cmake.in +27 -0
  126. package/deps/zlib/contrib/iostream3/test/add_subdirectory_test.cmake.in +25 -0
  127. package/deps/zlib/contrib/iostream3/test/find_package_no_components_test.cmake.in +24 -0
  128. package/deps/zlib/contrib/iostream3/test/find_package_test.cmake.in +24 -0
  129. package/deps/zlib/contrib/iostream3/test/find_package_wrong_components_test.cmake.in +24 -0
  130. package/deps/zlib/contrib/iostream3/test.cc +50 -0
  131. package/deps/zlib/contrib/iostream3/zfstream.cc +479 -0
  132. package/deps/zlib/contrib/iostream3/zfstream.h +466 -0
  133. package/deps/zlib/contrib/minizip/CMakeLists.txt +387 -0
  134. package/deps/zlib/contrib/minizip/LICENSE.Info-Zip +58 -0
  135. package/deps/zlib/contrib/minizip/Makefile +33 -0
  136. package/deps/zlib/contrib/minizip/Makefile.am +45 -0
  137. package/deps/zlib/contrib/minizip/MiniZip64_Changes.txt +6 -0
  138. package/deps/zlib/contrib/minizip/MiniZip64_info.txt +69 -0
  139. package/deps/zlib/contrib/minizip/configure.ac +32 -0
  140. package/deps/zlib/contrib/minizip/crypt.h +125 -0
  141. package/deps/zlib/contrib/minizip/ints.h +57 -0
  142. package/deps/zlib/contrib/minizip/ioapi.c +231 -0
  143. package/deps/zlib/contrib/minizip/ioapi.h +183 -0
  144. package/deps/zlib/contrib/minizip/iowin32.c +447 -0
  145. package/deps/zlib/contrib/minizip/iowin32.h +27 -0
  146. package/deps/zlib/contrib/minizip/make_vms.com +25 -0
  147. package/deps/zlib/contrib/minizip/miniunz.c +647 -0
  148. package/deps/zlib/contrib/minizip/miniunzip.1 +63 -0
  149. package/deps/zlib/contrib/minizip/minizip.1 +46 -0
  150. package/deps/zlib/contrib/minizip/minizip.c +511 -0
  151. package/deps/zlib/contrib/minizip/minizip.pc.in +13 -0
  152. package/deps/zlib/contrib/minizip/minizip.pc.txt +13 -0
  153. package/deps/zlib/contrib/minizip/minizipConfig.cmake.in +27 -0
  154. package/deps/zlib/contrib/minizip/mztools.c +294 -0
  155. package/deps/zlib/contrib/minizip/mztools.h +37 -0
  156. package/deps/zlib/contrib/minizip/skipset.h +366 -0
  157. package/deps/zlib/contrib/minizip/test/CMakeLists.txt +176 -0
  158. package/deps/zlib/contrib/minizip/test/add_subdirectory_exclude_test.cmake.in +29 -0
  159. package/deps/zlib/contrib/minizip/test/add_subdirectory_test.cmake.in +28 -0
  160. package/deps/zlib/contrib/minizip/test/find_package_no_components_test.cmake.in +26 -0
  161. package/deps/zlib/contrib/minizip/test/find_package_test.cmake.in +26 -0
  162. package/deps/zlib/contrib/minizip/test/find_package_wrong_components_test.cmake.in +26 -0
  163. package/deps/zlib/contrib/minizip/test/test_helper.cm +32 -0
  164. package/deps/zlib/contrib/minizip/unzip.c +1984 -0
  165. package/deps/zlib/contrib/minizip/unzip.h +442 -0
  166. package/deps/zlib/contrib/minizip/zip.c +2246 -0
  167. package/deps/zlib/contrib/minizip/zip.h +371 -0
  168. package/deps/zlib/contrib/nuget/nuget.csproj +45 -0
  169. package/deps/zlib/contrib/nuget/nuget.sln +22 -0
  170. package/deps/zlib/contrib/pascal/example.pas +599 -0
  171. package/deps/zlib/contrib/pascal/readme.txt +76 -0
  172. package/deps/zlib/contrib/pascal/zlibd32.mak +99 -0
  173. package/deps/zlib/contrib/pascal/zlibpas.pas +276 -0
  174. package/deps/zlib/contrib/puff/CMakeLists.txt +154 -0
  175. package/deps/zlib/contrib/puff/Makefile +42 -0
  176. package/deps/zlib/contrib/puff/README +63 -0
  177. package/deps/zlib/contrib/puff/bin-writer.c +26 -0
  178. package/deps/zlib/contrib/puff/puff.c +840 -0
  179. package/deps/zlib/contrib/puff/puff.h +35 -0
  180. package/deps/zlib/contrib/puff/puffConfig.cmake.in +18 -0
  181. package/deps/zlib/contrib/puff/pufftest.c +168 -0
  182. package/deps/zlib/contrib/puff/test/CMakeLists.txt +262 -0
  183. package/deps/zlib/contrib/puff/test/add_subdirectory_exclude_test.cmake.in +26 -0
  184. package/deps/zlib/contrib/puff/test/add_subdirectory_test.cmake.in +25 -0
  185. package/deps/zlib/contrib/puff/test/find_package_no_components_test.cmake.in +24 -0
  186. package/deps/zlib/contrib/puff/test/find_package_test.cmake.in +24 -0
  187. package/deps/zlib/contrib/puff/test/find_package_wrong_components_test.cmake.in +24 -0
  188. package/deps/zlib/contrib/puff/test/tester-cov.cmake +58 -0
  189. package/deps/zlib/contrib/puff/test/tester.cmake +16 -0
  190. package/deps/zlib/contrib/puff/zeros.raw +0 -0
  191. package/deps/zlib/contrib/testzlib/CMakeLists.txt +44 -0
  192. package/deps/zlib/contrib/testzlib/testzlib.c +275 -0
  193. package/deps/zlib/contrib/testzlib/testzlib.txt +10 -0
  194. package/deps/zlib/contrib/vstudio/readme.txt +22 -0
  195. package/deps/zlib/contrib/zlib1-dll/CMakeLists.txt +196 -0
  196. package/deps/zlib/contrib/zlib1-dll/readme.txt +21 -0
  197. package/deps/zlib/crc32.c +983 -0
  198. package/deps/zlib/crc32.h +9446 -0
  199. package/deps/zlib/deflate.c +2185 -0
  200. package/deps/zlib/deflate.h +383 -0
  201. package/deps/zlib/doc/algorithm.txt +209 -0
  202. package/deps/zlib/doc/crc-doc.1.0.pdf +0 -0
  203. package/deps/zlib/doc/rfc1950.txt +619 -0
  204. package/deps/zlib/doc/rfc1951.txt +955 -0
  205. package/deps/zlib/doc/rfc1952.txt +675 -0
  206. package/deps/zlib/doc/txtvsbin.txt +107 -0
  207. package/deps/zlib/examples/README.examples +54 -0
  208. package/deps/zlib/examples/enough.c +597 -0
  209. package/deps/zlib/examples/fitblk.c +233 -0
  210. package/deps/zlib/examples/gun.c +702 -0
  211. package/deps/zlib/examples/gzappend.c +504 -0
  212. package/deps/zlib/examples/gzjoin.c +449 -0
  213. package/deps/zlib/examples/gzlog.c +1061 -0
  214. package/deps/zlib/examples/gzlog.h +91 -0
  215. package/deps/zlib/examples/gznorm.c +474 -0
  216. package/deps/zlib/examples/zlib_how.html +550 -0
  217. package/deps/zlib/examples/zpipe.c +206 -0
  218. package/deps/zlib/examples/zran.c +546 -0
  219. package/deps/zlib/examples/zran.h +53 -0
  220. package/deps/zlib/gzclose.c +23 -0
  221. package/deps/zlib/gzguts.h +216 -0
  222. package/deps/zlib/gzlib.c +609 -0
  223. package/deps/zlib/gzread.c +668 -0
  224. package/deps/zlib/gzwrite.c +700 -0
  225. package/deps/zlib/infback.c +581 -0
  226. package/deps/zlib/inffast.c +321 -0
  227. package/deps/zlib/inffast.h +11 -0
  228. package/deps/zlib/inffixed.h +94 -0
  229. package/deps/zlib/inflate.c +1413 -0
  230. package/deps/zlib/inflate.h +126 -0
  231. package/deps/zlib/inftrees.c +424 -0
  232. package/deps/zlib/inftrees.h +64 -0
  233. package/deps/zlib/make_vms.com +867 -0
  234. package/deps/zlib/msdos/Makefile.bor +115 -0
  235. package/deps/zlib/msdos/Makefile.dj2 +104 -0
  236. package/deps/zlib/msdos/Makefile.emx +69 -0
  237. package/deps/zlib/msdos/Makefile.msc +112 -0
  238. package/deps/zlib/msdos/Makefile.tc +100 -0
  239. package/deps/zlib/os400/README400 +48 -0
  240. package/deps/zlib/os400/bndsrc +144 -0
  241. package/deps/zlib/os400/make.sh +383 -0
  242. package/deps/zlib/os400/zlibfixed.rpgle +578 -0
  243. package/deps/zlib/os400/zlibfree.rpgle +634 -0
  244. package/deps/zlib/qnx/package.qpg +141 -0
  245. package/deps/zlib/test/CMakeLists.txt +318 -0
  246. package/deps/zlib/test/add_subdirectory_exclude_test.cmake.in +29 -0
  247. package/deps/zlib/test/add_subdirectory_test.cmake.in +28 -0
  248. package/deps/zlib/test/example.c +552 -0
  249. package/deps/zlib/test/find_package_no_components_test.cmake.in +27 -0
  250. package/deps/zlib/test/find_package_test.cmake.in +27 -0
  251. package/deps/zlib/test/find_package_wrong_components_test.cmake.in +27 -0
  252. package/deps/zlib/test/infcover.c +672 -0
  253. package/deps/zlib/test/minigzip.c +592 -0
  254. package/deps/zlib/treebuild.xml +116 -0
  255. package/deps/zlib/trees.c +1119 -0
  256. package/deps/zlib/trees.h +128 -0
  257. package/deps/zlib/uncompr.c +101 -0
  258. package/deps/zlib/watcom/watcom_f.mak +43 -0
  259. package/deps/zlib/watcom/watcom_l.mak +43 -0
  260. package/deps/zlib/win32/DLL_FAQ.txt +381 -0
  261. package/deps/zlib/win32/Makefile.bor +109 -0
  262. package/deps/zlib/win32/Makefile.gcc +177 -0
  263. package/deps/zlib/win32/Makefile.msc +159 -0
  264. package/deps/zlib/win32/README-WIN32.txt +103 -0
  265. package/deps/zlib/win32/VisualC.txt +3 -0
  266. package/deps/zlib/win32/zlib.def +104 -0
  267. package/deps/zlib/win32/zlib1.rc +37 -0
  268. package/deps/zlib/zconf.h.in +551 -0
  269. package/deps/zlib/zlib.3 +149 -0
  270. package/deps/zlib/zlib.3.pdf +0 -0
  271. package/deps/zlib/zlib.h +2057 -0
  272. package/deps/zlib/zlib.map +116 -0
  273. package/deps/zlib/zlib.pc.cmakein +14 -0
  274. package/deps/zlib/zlib.pc.in +14 -0
  275. package/deps/zlib/zlibConfig.cmake.in +18 -0
  276. package/deps/zlib/zutil.c +313 -0
  277. package/deps/zlib/zutil.h +331 -0
  278. package/dist/index.d.ts +266 -0
  279. package/dist/index.js +1146 -0
  280. package/dist/libwz.js +5632 -0
  281. package/dist/libwz.wasm +0 -0
  282. package/include/wz/CRC32.h +182 -0
  283. package/include/wz/PngUtility.h +72 -0
  284. package/include/wz/PortalType.h +124 -0
  285. package/include/wz/Properties/WzBinaryProperty.h +70 -0
  286. package/include/wz/Properties/WzCanvasProperty.h +55 -0
  287. package/include/wz/Properties/WzConvexProperty.h +34 -0
  288. package/include/wz/Properties/WzDoubleProperty.h +32 -0
  289. package/include/wz/Properties/WzFloatProperty.h +30 -0
  290. package/include/wz/Properties/WzIntProperty.h +30 -0
  291. package/include/wz/Properties/WzLongProperty.h +30 -0
  292. package/include/wz/Properties/WzLuaProperty.h +31 -0
  293. package/include/wz/Properties/WzNullProperty.h +15 -0
  294. package/include/wz/Properties/WzPngProperty.h +53 -0
  295. package/include/wz/Properties/WzRawDataProperty.h +46 -0
  296. package/include/wz/Properties/WzShortProperty.h +31 -0
  297. package/include/wz/Properties/WzStringProperty.h +32 -0
  298. package/include/wz/Properties/WzSubProperty.h +35 -0
  299. package/include/wz/Properties/WzUOLProperty.h +44 -0
  300. package/include/wz/Properties/WzVectorProperty.h +40 -0
  301. package/include/wz/Properties/WzVideoProperty.h +43 -0
  302. package/include/wz/Result.h +58 -0
  303. package/include/wz/Util/Defines.h +16 -0
  304. package/include/wz/Util/ListFileParser.h +20 -0
  305. package/include/wz/Util/WzBinaryReader.h +95 -0
  306. package/include/wz/Util/WzBinaryWriter.h +72 -0
  307. package/include/wz/Util/WzBlobDataSource.h +30 -0
  308. package/include/wz/Util/WzDataSource.h +49 -0
  309. package/include/wz/Util/WzKeyGenerator.h +28 -0
  310. package/include/wz/Util/WzMutableKey.h +39 -0
  311. package/include/wz/Util/WzPath.h +37 -0
  312. package/include/wz/Util/WzStream.h +86 -0
  313. package/include/wz/Util/WzTool.h +42 -0
  314. package/include/wz/WzAESConstant.h +17 -0
  315. package/include/wz/WzDirectory.h +97 -0
  316. package/include/wz/WzEnums.h +76 -0
  317. package/include/wz/WzFile.h +99 -0
  318. package/include/wz/WzHeader.h +47 -0
  319. package/include/wz/WzImage.h +97 -0
  320. package/include/wz/WzImageProperty.h +92 -0
  321. package/include/wz/WzObject.h +55 -0
  322. package/include/wz/WzPropertyCollection.h +115 -0
  323. package/include/wz/wz.h +41 -0
  324. package/include/wz/wz_api.h +432 -0
  325. package/package.json +93 -0
  326. package/src/PngUtility.cpp +328 -0
  327. package/src/Properties/WzBinaryProperty.cpp +183 -0
  328. package/src/Properties/WzCanvasProperty.cpp +262 -0
  329. package/src/Properties/WzConvexProperty.cpp +159 -0
  330. package/src/Properties/WzDoubleProperty.cpp +12 -0
  331. package/src/Properties/WzFloatProperty.cpp +17 -0
  332. package/src/Properties/WzIntProperty.cpp +12 -0
  333. package/src/Properties/WzLongProperty.cpp +12 -0
  334. package/src/Properties/WzLuaProperty.cpp +37 -0
  335. package/src/Properties/WzNullProperty.cpp +11 -0
  336. package/src/Properties/WzPngProperty.cpp +637 -0
  337. package/src/Properties/WzRawDataProperty.cpp +116 -0
  338. package/src/Properties/WzShortProperty.cpp +12 -0
  339. package/src/Properties/WzStringProperty.cpp +44 -0
  340. package/src/Properties/WzSubProperty.cpp +129 -0
  341. package/src/Properties/WzUOLProperty.cpp +136 -0
  342. package/src/Properties/WzVectorProperty.cpp +22 -0
  343. package/src/Properties/WzVideoProperty.cpp +115 -0
  344. package/src/Util/ListFileParser.cpp +48 -0
  345. package/src/Util/WzBinaryReader.cpp +368 -0
  346. package/src/Util/WzBinaryWriter.cpp +305 -0
  347. package/src/Util/WzBlobDataSource.cpp +47 -0
  348. package/src/Util/WzDataSource.cpp +61 -0
  349. package/src/Util/WzKeyGenerator.cpp +43 -0
  350. package/src/Util/WzMutableKey.cpp +59 -0
  351. package/src/Util/WzStream.cpp +196 -0
  352. package/src/Util/WzTool.cpp +266 -0
  353. package/src/WzAESConstant.cpp +12 -0
  354. package/src/WzDirectory.cpp +669 -0
  355. package/src/WzEnums.cpp +20 -0
  356. package/src/WzFile.cpp +450 -0
  357. package/src/WzImage.cpp +350 -0
  358. package/src/WzImageProperty.cpp +469 -0
  359. package/src/WzObject.cpp +174 -0
  360. package/src/WzPropertyCollection.cpp +84 -0
  361. package/src/capi/wz_api.cpp +1996 -0
  362. package/src/node/binding.cpp +1776 -0
@@ -0,0 +1,97 @@
1
+ #ifndef WZ_WZIMAGE_H_
2
+ #define WZ_WZIMAGE_H_
3
+ #include <memory>
4
+ #include <optional>
5
+ #include <string>
6
+ #include <vector>
7
+ #include "wz/Util/Defines.h"
8
+ #include "wz/Util/WzBinaryReader.h"
9
+ #include "wz/Util/WzStream.h"
10
+ #include "wz/WzImageProperty.h"
11
+ #include "wz/WzObject.h"
12
+ #include "wz/WzPropertyCollection.h"
13
+
14
+ namespace wz {
15
+
16
+ class WzImage final : public WzObject, public IPropertyContainer {
17
+ public:
18
+ static constexpr int WzImageHeaderByte_WithoutOffset = 0x73;
19
+ static constexpr int WzImageHeaderByte_WithOffset = 0x1B;
20
+
21
+ WzImage();
22
+ explicit WzImage(const std::string& name);
23
+ WzImage(const std::string& name, WzBinaryReader& reader, int checksum);
24
+ WzImage(const std::string& name,
25
+ WzFileStream&& dataStream,
26
+ WzMapleVersion mapleVersion);
27
+ ~WzImage() override;
28
+
29
+ WZ_DISALLOW_COPY_AND_MOVE(WzImage)
30
+
31
+ WzObjectType ObjectType() const override;
32
+ WzFile* WzFileParent() const override;
33
+ Result<std::unique_ptr<WzObject>> Remove() override;
34
+
35
+ bool Parsed() const { return parsed_; }
36
+ void SetParsed(bool v) { parsed_ = v; }
37
+ bool Changed() const { return is_image_changed_; }
38
+ void SetChanged(bool v) { is_image_changed_ = v; }
39
+ int BlockSize() const { return size_; }
40
+ void SetBlockSize(int v) { size_ = v; }
41
+ int Checksum() const { return checksum_; }
42
+ int64_t Offset() const { return offset_; }
43
+ void SetOffset(int64_t v) { offset_ = v; }
44
+ int BlockStart() const { return blockStart_; }
45
+ int64_t TempFileStart() const { return tempFileStart_; }
46
+ void SetTempFileStart(int64_t v) { tempFileStart_ = v; }
47
+ int64_t TempFileEnd() const { return tempFileEnd_; }
48
+ void SetTempFileEnd(int64_t v) { tempFileEnd_ = v; }
49
+ bool ParseEverything() const { return parseEverything_; }
50
+ void SetParseEverything(bool v) { parseEverything_ = v; }
51
+ bool IsLuaWzImage() const;
52
+
53
+ using IPropertyContainer::AddProperty;
54
+ WzPropertyCollection* WzProperties() override;
55
+ Result<WzPropertyCollection*> WzPropertiesResult();
56
+ Result<void> AddProperty(WzImageProperty* prop) override;
57
+ Result<void> AddProperty(std::unique_ptr<WzImageProperty> prop) override;
58
+ Result<std::unique_ptr<WzImageProperty>> RemoveProperty(
59
+ const std::string& propertyName) override;
60
+ Result<std::unique_ptr<WzImageProperty>> RemoveProperty(
61
+ WzImageProperty* prop) override;
62
+ Result<void> ClearProperties() override;
63
+
64
+ WzImageProperty* GetFromPath(const std::string& path);
65
+ Result<WzImageProperty*> GetFromPathResult(const std::string& path);
66
+ Result<bool> ParseImage(bool forceReadFromData = false);
67
+
68
+ WzImageProperty* operator[](const std::string& name);
69
+ Result<WzImageProperty*> GetPropertyByName(const std::string& name);
70
+ Result<void> SaveImage(WzBinaryWriter* writer,
71
+ bool isDefaultUserKey = true,
72
+ bool forceReadFromData = false);
73
+ void CalculateAndSetImageChecksum(const std::vector<uint8_t>& bytes);
74
+ void UnparseImage();
75
+
76
+ WzBinaryReader* Reader() const { return reader_; }
77
+
78
+ private:
79
+ Result<void> EnsureParsed();
80
+
81
+ bool parsed_ = false;
82
+ bool is_image_changed_ = false;
83
+ int size_ = 0;
84
+ int checksum_ = 0;
85
+ int64_t offset_ = 0;
86
+ int64_t tempFileStart_ = 0;
87
+ int64_t tempFileEnd_ = 0;
88
+ int blockStart_ = 0;
89
+ bool parseEverything_ = false;
90
+ WzFileStream dataStream_;
91
+ std::optional<WzBinaryReader> ownedReader_;
92
+ WzBinaryReader* reader_ = nullptr;
93
+ WzPropertyCollection properties_;
94
+ };
95
+
96
+ } // namespace wz
97
+ #endif // WZ_WZIMAGE_H_
@@ -0,0 +1,92 @@
1
+ #ifndef WZ_WZIMAGEPROPERTY_H_
2
+ #define WZ_WZIMAGEPROPERTY_H_
3
+ #include <concepts>
4
+ #include <memory>
5
+ #include <string>
6
+ #include <vector>
7
+ #include "wz/Result.h"
8
+ #include "wz/Util/Defines.h"
9
+ #include "wz/WzEnums.h"
10
+ #include "wz/WzObject.h"
11
+ #include "wz/WzPropertyCollection.h"
12
+
13
+ namespace wz {
14
+
15
+ class WzBinaryReader;
16
+ class WzBinaryWriter;
17
+ class WzImage;
18
+ class WzFile;
19
+ class WzImageProperty;
20
+
21
+ class IPropertyContainer {
22
+ public:
23
+ virtual ~IPropertyContainer() = default;
24
+ virtual Result<void> AddProperty(WzImageProperty* prop) = 0;
25
+ virtual Result<void> AddProperty(
26
+ std::unique_ptr<WzImageProperty> prop) = 0;
27
+ template <typename T>
28
+ requires std::derived_from<T, WzImageProperty>
29
+ Result<void> AddProperty(std::unique_ptr<T> prop) {
30
+ return AddProperty(std::unique_ptr<WzImageProperty>(std::move(prop)));
31
+ }
32
+ virtual Result<void> AddProperties(WzPropertyCollection& props);
33
+ virtual Result<std::unique_ptr<WzImageProperty>> RemoveProperty(
34
+ const std::string& propertyName) = 0;
35
+ virtual Result<std::unique_ptr<WzImageProperty>> RemoveProperty(
36
+ WzImageProperty* prop) = 0;
37
+ virtual Result<void> ClearProperties() = 0;
38
+ virtual WzPropertyCollection* WzProperties() = 0;
39
+ };
40
+
41
+ class WzImageProperty : public WzObject {
42
+ public:
43
+ WzImageProperty() = default;
44
+ WZ_DISALLOW_COPY_AND_MOVE(WzImageProperty)
45
+
46
+ WzObjectType ObjectType() const override { return WzObjectType::Property; }
47
+ WzFile* WzFileParent() const override;
48
+ Result<std::unique_ptr<WzObject>> Remove() override;
49
+
50
+ virtual WzPropertyType PropertyType() const = 0;
51
+ virtual bool IsRawDataProperty() const { return false; }
52
+ virtual bool IsVideoProperty() const { return false; }
53
+ virtual WzPropertyCollection* WzProperties() { return nullptr; }
54
+ Result<void> AddProperty(WzImageProperty* prop);
55
+ Result<void> AddProperty(std::unique_ptr<WzImageProperty> prop);
56
+ // Detaches prop from this container and returns ownership to the caller.
57
+ Result<std::unique_ptr<WzImageProperty>> RemoveProperty(
58
+ WzImageProperty* prop);
59
+ Result<void> ClearProperties();
60
+ virtual Result<void> WriteValue(WzBinaryWriter* writer) const;
61
+
62
+ virtual WzImageProperty* operator[](const std::string& name);
63
+
64
+ virtual WzImageProperty* GetFromPath(const std::string& path);
65
+ WzImageProperty* GetLinkedWzImageProperty();
66
+
67
+ WzImage* ParentImage() const;
68
+ void MarkParentImageChanged() const;
69
+
70
+ virtual void SetValue(const std::string& value);
71
+ virtual void SetValue(int32_t value);
72
+ virtual void SetValue(int64_t value);
73
+ virtual void SetValue(float value);
74
+ virtual void SetValue(double value);
75
+ virtual void SetValue(const std::vector<uint8_t>& value);
76
+
77
+ static Result<WzPropertyCollection> ParsePropertyList(int64_t offset,
78
+ WzBinaryReader* reader,
79
+ WzObject* parent,
80
+ WzImage* parentImg);
81
+ static Result<void> WritePropertyList(WzBinaryWriter* writer,
82
+ const WzPropertyCollection& properties);
83
+ static Result<std::unique_ptr<WzImageProperty>> ParseExtendedProp(
84
+ int64_t offset,
85
+ WzBinaryReader* reader,
86
+ const std::string& name,
87
+ WzObject* parent,
88
+ WzImage* parentImg);
89
+ };
90
+
91
+ } // namespace wz
92
+ #endif // WZ_WZIMAGEPROPERTY_H_
@@ -0,0 +1,55 @@
1
+ #ifndef WZ_WZOBJECT_H_
2
+ #define WZ_WZOBJECT_H_
3
+ #include <memory>
4
+ #include <string>
5
+ #include <utility>
6
+ #include <vector>
7
+ #include "wz/Result.h"
8
+ #include "wz/Util/Defines.h"
9
+ #include "wz/WzEnums.h"
10
+
11
+ namespace wz {
12
+
13
+ class WzFile;
14
+ class WzDirectory;
15
+ class WzImage;
16
+ class WzImageProperty;
17
+ class WzPropertyCollection;
18
+
19
+ class WzObject {
20
+ public:
21
+ WzObject() noexcept = default;
22
+ WZ_DISALLOW_COPY_AND_MOVE(WzObject)
23
+
24
+ virtual ~WzObject() = default;
25
+ virtual std::string Name() const { return name_; }
26
+ virtual void SetName(const std::string& name) { (void)Rename(name); }
27
+ virtual Result<void> Rename(const std::string& name);
28
+ virtual WzObjectType ObjectType() const = 0;
29
+ virtual WzObject* Parent() const { return parent_; }
30
+ virtual void SetParent(WzObject* p) { parent_ = p; }
31
+ virtual WzFile* WzFileParent() const;
32
+ virtual Result<std::unique_ptr<WzObject>> Remove();
33
+
34
+ std::string FullPath() const;
35
+ WzObject* GetTopMostWzDirectory();
36
+ WzObject* GetTopMostWzImage();
37
+
38
+ // Cast methods
39
+ virtual int32_t GetInt() const;
40
+ virtual int16_t GetShort() const;
41
+ virtual int64_t GetLong() const;
42
+ virtual float GetFloat() const;
43
+ virtual double GetDouble() const;
44
+ virtual std::string GetString() const;
45
+ virtual Result<std::vector<uint8_t>> GetBytes();
46
+
47
+ WzObject* operator[](const std::string& name);
48
+
49
+ protected:
50
+ std::string name_;
51
+ WzObject* parent_ = nullptr;
52
+ };
53
+
54
+ } // namespace wz
55
+ #endif // WZ_WZOBJECT_H_
@@ -0,0 +1,115 @@
1
+ #ifndef WZ_WZPROPERTYCOLLECTION_H_
2
+ #define WZ_WZPROPERTYCOLLECTION_H_
3
+ #include <memory>
4
+ #include <utility>
5
+ #include <vector>
6
+ #include "wz/WzObject.h"
7
+
8
+ namespace wz {
9
+
10
+ class WzImageProperty;
11
+ class WzPropertyCollection {
12
+ public:
13
+ class iterator {
14
+ public:
15
+ using iterator_category = std::forward_iterator_tag;
16
+ using value_type = WzImageProperty*;
17
+ using difference_type = std::ptrdiff_t;
18
+ using pointer = WzImageProperty**;
19
+ using reference = WzImageProperty*;
20
+
21
+ iterator() = default;
22
+ explicit iterator(
23
+ std::vector<std::unique_ptr<WzImageProperty>>::iterator it)
24
+ : it_(it) {}
25
+
26
+ WzImageProperty* operator*() const { return it_->get(); }
27
+ iterator& operator++() {
28
+ ++it_;
29
+ return *this;
30
+ }
31
+ iterator operator++(int) {
32
+ iterator old = *this;
33
+ ++(*this);
34
+ return old;
35
+ }
36
+ bool operator==(const iterator& other) const { return it_ == other.it_; }
37
+ bool operator!=(const iterator& other) const { return !(*this == other); }
38
+
39
+ private:
40
+ friend class WzPropertyCollection;
41
+ std::vector<std::unique_ptr<WzImageProperty>>::iterator it_;
42
+ };
43
+
44
+ class const_iterator {
45
+ public:
46
+ using iterator_category = std::forward_iterator_tag;
47
+ using value_type = WzImageProperty*;
48
+ using difference_type = std::ptrdiff_t;
49
+ using pointer = WzImageProperty* const*;
50
+ using reference = WzImageProperty*;
51
+
52
+ const_iterator() = default;
53
+ explicit const_iterator(
54
+ std::vector<std::unique_ptr<WzImageProperty>>::const_iterator it)
55
+ : it_(it) {}
56
+
57
+ WzImageProperty* operator*() const { return it_->get(); }
58
+ const_iterator& operator++() {
59
+ ++it_;
60
+ return *this;
61
+ }
62
+ const_iterator operator++(int) {
63
+ const_iterator old = *this;
64
+ ++(*this);
65
+ return old;
66
+ }
67
+ bool operator==(const const_iterator& other) const {
68
+ return it_ == other.it_;
69
+ }
70
+ bool operator!=(const const_iterator& other) const {
71
+ return !(*this == other);
72
+ }
73
+
74
+ private:
75
+ std::vector<std::unique_ptr<WzImageProperty>>::const_iterator it_;
76
+ };
77
+
78
+ WzPropertyCollection();
79
+ explicit WzPropertyCollection(WzObject* parent);
80
+ ~WzPropertyCollection();
81
+ WZ_DISALLOW_COPY(WzPropertyCollection)
82
+ WzPropertyCollection(WzPropertyCollection&& other) noexcept;
83
+ WzPropertyCollection& operator=(WzPropertyCollection&& other) noexcept;
84
+
85
+ void Add(WzImageProperty* item);
86
+ void Add(std::unique_ptr<WzImageProperty> item);
87
+
88
+ void Insert(size_t index, WzImageProperty* item);
89
+ void Insert(size_t index, std::unique_ptr<WzImageProperty> item);
90
+
91
+ void erase(iterator it);
92
+ void erase_at(size_t index);
93
+ std::unique_ptr<WzImageProperty> Remove(WzImageProperty* item);
94
+ void clear();
95
+ std::vector<std::unique_ptr<WzImageProperty>> TakeItems();
96
+
97
+ WzImageProperty* operator[](size_t i) { return items_[i].get(); }
98
+ WzImageProperty* operator[](size_t i) const { return items_[i].get(); }
99
+
100
+ size_t size() const { return items_.size(); }
101
+
102
+ iterator begin() { return iterator(items_.begin()); }
103
+ iterator end() { return iterator(items_.end()); }
104
+ const_iterator begin() const { return const_iterator(items_.begin()); }
105
+ const_iterator end() const { return const_iterator(items_.end()); }
106
+
107
+ WzObject* Parent() const { return parent_; }
108
+
109
+ private:
110
+ std::vector<std::unique_ptr<WzImageProperty>> items_;
111
+ WzObject* parent_ = nullptr;
112
+ };
113
+
114
+ } // namespace wz
115
+ #endif // WZ_WZPROPERTYCOLLECTION_H_
@@ -0,0 +1,41 @@
1
+ #ifndef WZ_WZ_H_
2
+ #define WZ_WZ_H_
3
+
4
+ #include "wz/CRC32.h"
5
+ #include "wz/PngUtility.h"
6
+ #include "wz/PortalType.h"
7
+ #include "wz/Result.h"
8
+ #include "wz/WzAESConstant.h"
9
+ #include "wz/WzDirectory.h"
10
+ #include "wz/WzEnums.h"
11
+ #include "wz/WzFile.h"
12
+ #include "wz/WzHeader.h"
13
+ #include "wz/WzImage.h"
14
+ #include "wz/WzImageProperty.h"
15
+ #include "wz/WzObject.h"
16
+ #include "wz/WzPropertyCollection.h"
17
+
18
+ #include "wz/Properties/WzBinaryProperty.h"
19
+ #include "wz/Properties/WzCanvasProperty.h"
20
+ #include "wz/Properties/WzConvexProperty.h"
21
+ #include "wz/Properties/WzDoubleProperty.h"
22
+ #include "wz/Properties/WzFloatProperty.h"
23
+ #include "wz/Properties/WzIntProperty.h"
24
+ #include "wz/Properties/WzLongProperty.h"
25
+ #include "wz/Properties/WzLuaProperty.h"
26
+ #include "wz/Properties/WzNullProperty.h"
27
+ #include "wz/Properties/WzPngProperty.h"
28
+ #include "wz/Properties/WzRawDataProperty.h"
29
+ #include "wz/Properties/WzShortProperty.h"
30
+ #include "wz/Properties/WzStringProperty.h"
31
+ #include "wz/Properties/WzSubProperty.h"
32
+ #include "wz/Properties/WzUOLProperty.h"
33
+ #include "wz/Properties/WzVectorProperty.h"
34
+ #include "wz/Properties/WzVideoProperty.h"
35
+
36
+ #include "wz/Util/ListFileParser.h"
37
+ #include "wz/Util/WzBinaryReader.h"
38
+ #include "wz/Util/WzKeyGenerator.h"
39
+ #include "wz/Util/WzMutableKey.h"
40
+ #include "wz/Util/WzTool.h"
41
+ #endif // WZ_WZ_H_