ReverseBox 0.84.2__tar.gz → 0.84.4__tar.gz

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 (136) hide show
  1. {reversebox-0.84.2 → reversebox-0.84.4}/PKG-INFO +1 -1
  2. {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/PKG-INFO +1 -1
  3. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/gst_decoder_encoder.py +6 -5
  4. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/image_decoder.py +60 -12
  5. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/image_encoder.py +2 -4
  6. {reversebox-0.84.2 → reversebox-0.84.4}/setup.py +1 -1
  7. {reversebox-0.84.2 → reversebox-0.84.4}/LICENSE +0 -0
  8. {reversebox-0.84.2 → reversebox-0.84.4}/README.md +0 -0
  9. {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/SOURCES.txt +0 -0
  10. {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/dependency_links.txt +0 -0
  11. {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/requires.txt +0 -0
  12. {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/top_level.txt +0 -0
  13. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/__init__.py +0 -0
  14. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/__init__.py +0 -0
  15. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_adler32.py +0 -0
  16. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_cocos2d_pvr.py +0 -0
  17. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_fletcher16.py +0 -0
  18. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_fletcher32.py +0 -0
  19. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_internet_ipv4_header.py +0 -0
  20. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_sum8.py +0 -0
  21. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_sum8_2s_complement.py +0 -0
  22. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_unix_sum_bsd16.py +0 -0
  23. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_unix_sum_sysv.py +0 -0
  24. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_xor8.py +0 -0
  25. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/__init__.py +0 -0
  26. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/common.py +0 -0
  27. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/constants.py +0 -0
  28. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/logger.py +0 -0
  29. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/numpy_helper_functions.py +0 -0
  30. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/__init__.py +0 -0
  31. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_bzip2.py +0 -0
  32. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_ea_idec.py +0 -0
  33. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_gst.py +0 -0
  34. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_huffman_intelligent.py +0 -0
  35. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_jcalg1.py +0 -0
  36. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_lz4.py +0 -0
  37. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_lzma.py +0 -0
  38. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_lzo.py +0 -0
  39. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_lzw.py +0 -0
  40. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_mio0.py +0 -0
  41. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_packbits.py +0 -0
  42. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_re_tiyoruga_dat.py +0 -0
  43. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_refpack.py +0 -0
  44. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_emergency.py +0 -0
  45. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_executioners.py +0 -0
  46. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_leapster.py +0 -0
  47. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_neversoft.py +0 -0
  48. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_syberia.py +0 -0
  49. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_tga.py +0 -0
  50. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_tga_reversed.py +0 -0
  51. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_tzar.py +0 -0
  52. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_zlib.py +0 -0
  53. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_zlib2.py +0 -0
  54. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/__init__.py +0 -0
  55. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_arc.py +0 -0
  56. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_ccitt.py +0 -0
  57. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_dnp.py +0 -0
  58. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_ea_crcf.py +0 -0
  59. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_kermit.py +0 -0
  60. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_modbus.py +0 -0
  61. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_sick.py +0 -0
  62. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc32_asobo.py +0 -0
  63. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc32_iso_hdlc.py +0 -0
  64. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc64_asobo.py +0 -0
  65. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc64_go_iso.py +0 -0
  66. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc8.py +0 -0
  67. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc_unix_cksum.py +0 -0
  68. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/__init__.py +0 -0
  69. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_hatch_engine.py +0 -0
  70. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_rot13.py +0 -0
  71. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_basic.py +0 -0
  72. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_basic_key_guesser.py +0 -0
  73. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_gianas_return_zda.py +0 -0
  74. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_retro64_eco.py +0 -0
  75. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/__init__.py +0 -0
  76. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_additive.py +0 -0
  77. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_ap.py +0 -0
  78. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_djb2.py +0 -0
  79. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_fnv.py +0 -0
  80. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_jenkins_one_at_a_time.py +0 -0
  81. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_md2.py +0 -0
  82. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_md5.py +0 -0
  83. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_murmur3.py +0 -0
  84. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_pivotal_games_dat.py +0 -0
  85. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_rx3.py +0 -0
  86. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_sdbm.py +0 -0
  87. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_sha1.py +0 -0
  88. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_sha2.py +0 -0
  89. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/__init__.py +0 -0
  90. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/byte_swap.py +0 -0
  91. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/common.py +0 -0
  92. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/__init__.py +0 -0
  93. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/bumpmap_decoder.py +0 -0
  94. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/compressed_decoder_encoder.py +0 -0
  95. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/n64_decoder_encoder.py +0 -0
  96. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/psp_dxt_decoder.py +0 -0
  97. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/pvrtexlib_decoder_encoder.py +0 -0
  98. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/yuv_decoder.py +0 -0
  99. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/file_formats/__init__.py +0 -0
  100. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/file_formats/image_dds.py +0 -0
  101. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/image_formats.py +0 -0
  102. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/image_padding.py +0 -0
  103. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/palettes/__init__.py +0 -0
  104. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/palettes/palette_random.py +0 -0
  105. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/palettes/palette_vga.py +0 -0
  106. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/pillow_wrapper.py +0 -0
  107. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/__init__.py +0 -0
  108. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/morton_index.py +0 -0
  109. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_3ds.py +0 -0
  110. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_bc.py +0 -0
  111. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_cmpr.py +0 -0
  112. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_gamecube.py +0 -0
  113. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_gst.py +0 -0
  114. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_morton.py +0 -0
  115. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_morton_ps4.py +0 -0
  116. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_morton_ps5.py +0 -0
  117. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_ps2.py +0 -0
  118. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_ps2_4bit.py +0 -0
  119. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_psp.py +0 -0
  120. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_psvita_dreamcast.py +0 -0
  121. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_switch.py +0 -0
  122. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_wii_u.py +0 -0
  123. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_x360.py +0 -0
  124. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/__init__.py +0 -0
  125. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/bytes_handler.py +0 -0
  126. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/bytes_helper_functions.py +0 -0
  127. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/check_file.py +0 -0
  128. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/file_handler.py +0 -0
  129. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/mod_handler.py +0 -0
  130. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/translation_text_handler.py +0 -0
  131. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/DirectXTex.dll +0 -0
  132. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/PVRTexLib.dll +0 -0
  133. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/PVRTexLibWrapper.dll +0 -0
  134. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/__init__.py +0 -0
  135. {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/refpack.dll +0 -0
  136. {reversebox-0.84.2 → reversebox-0.84.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ReverseBox
3
- Version: 0.84.2
3
+ Version: 0.84.4
4
4
  Summary: A set of functions useful in reverse engineering.
5
5
  Home-page: https://github.com/bartlomiejduda/ReverseBox
6
6
  Author: Bartlomiej Duda
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ReverseBox
3
- Version: 0.84.2
3
+ Version: 0.84.4
4
4
  Summary: A set of functions useful in reverse engineering.
5
5
  Home-page: https://github.com/bartlomiejduda/ReverseBox
6
6
  Author: Bartlomiej Duda
@@ -3,6 +3,8 @@ Copyright © 2024-2026 Bartłomiej Duda
3
3
  License: GPL-3.0 License
4
4
  """
5
5
 
6
+ from typing import Tuple
7
+
6
8
  from reversebox.common.logger import get_logger
7
9
  from reversebox.compression.compression_gst import decompress_gst_image
8
10
  from reversebox.image.image_formats import ImageFormats
@@ -85,12 +87,11 @@ class GSTImageDecoderEncoder:
85
87
 
86
88
  return decompressed_texture_data
87
89
 
88
- def encode_gst_image_main(self, encoded_image_data: bytes, encoded_palette_data: bytes, img_width: int, img_height: int,
89
- gst_format: ImageFormats, is_swizzled: bool) -> bytes:
90
+ # converts RGBA8888 to GST
91
+ def encode_gst_image_main(self, image_data: bytes, img_width: int, img_height: int,
92
+ gst_format: ImageFormats, is_swizzled: bool) -> Tuple[bytes, bytes]:
90
93
  block_width, block_height, detail_bpp = self.gst_data_formats[gst_format]
91
94
 
92
- gst_data: bytes = b''
93
-
94
95
  # compress GST
95
96
  # TODO
96
97
 
@@ -98,4 +99,4 @@ class GSTImageDecoderEncoder:
98
99
  if is_swizzled:
99
100
  pass # TODO
100
101
 
101
- return gst_data
102
+ return b'', b''
@@ -631,7 +631,7 @@ class ImageDecoder:
631
631
  p[3] = pixel_int >> 8
632
632
  return p
633
633
 
634
- def _decode_r_only_pixel(self, pixel_int: int) -> bytes:
634
+ def _decode_r8_only_pixel(self, pixel_int: int) -> bytes:
635
635
  p = bytearray(4)
636
636
  p[0] = pixel_int & 0xFF
637
637
  p[1] = 0x00
@@ -639,7 +639,23 @@ class ImageDecoder:
639
639
  p[3] = 0xFF
640
640
  return p
641
641
 
642
- def _decode_g_only_pixel(self, pixel_int: int) -> bytes:
642
+ def _decode_r16_only_pixel(self, pixel_int: int) -> bytes:
643
+ p = bytearray(4)
644
+ p[0] = (pixel_int & 0xFFFF) >> 8
645
+ p[1] = 0x00
646
+ p[2] = 0x00
647
+ p[3] = 0xFF
648
+ return p
649
+
650
+ def _decode_r32_only_pixel(self, pixel_int: int) -> bytes:
651
+ p = bytearray(4)
652
+ p[0] = (pixel_int >> 24) & 0xFF
653
+ p[1] = 0x00
654
+ p[2] = 0x00
655
+ p[3] = 0xFF
656
+ return p
657
+
658
+ def _decode_g8_only_pixel(self, pixel_int: int) -> bytes:
643
659
  p = bytearray(4)
644
660
  p[0] = 0x00
645
661
  p[1] = pixel_int & 0xFF
@@ -647,7 +663,23 @@ class ImageDecoder:
647
663
  p[3] = 0xFF
648
664
  return p
649
665
 
650
- def _decode_b_only_pixel(self, pixel_int: int) -> bytes:
666
+ def _decode_g16_only_pixel(self, pixel_int: int) -> bytes:
667
+ p = bytearray(4)
668
+ p[0] = 0x00
669
+ p[1] = (pixel_int & 0xFFFF) >> 8
670
+ p[2] = 0x00
671
+ p[3] = 0xFF
672
+ return p
673
+
674
+ def _decode_g32_only_pixel(self, pixel_int: int) -> bytes:
675
+ p = bytearray(4)
676
+ p[0] = 0x00
677
+ p[1] = (pixel_int >> 24) & 0xFF
678
+ p[2] = 0x00
679
+ p[3] = 0xFF
680
+ return p
681
+
682
+ def _decode_b8_only_pixel(self, pixel_int: int) -> bytes:
651
683
  p = bytearray(4)
652
684
  p[0] = 0x00
653
685
  p[1] = 0x00
@@ -655,6 +687,22 @@ class ImageDecoder:
655
687
  p[3] = 0xFF
656
688
  return p
657
689
 
690
+ def _decode_b16_only_pixel(self, pixel_int: int) -> bytes:
691
+ p = bytearray(4)
692
+ p[0] = 0x00
693
+ p[1] = 0x00
694
+ p[2] = (pixel_int & 0xFFFF) >> 8
695
+ p[3] = 0xFF
696
+ return p
697
+
698
+ def _decode_b32_only_pixel(self, pixel_int: int) -> bytes:
699
+ p = bytearray(4)
700
+ p[0] = 0x00
701
+ p[1] = 0x00
702
+ p[2] = (pixel_int >> 24) & 0xFF
703
+ p[3] = 0xFF
704
+ return p
705
+
658
706
  # placeholder function
659
707
  def _decode_null_pixel(self, pixel_int: int) -> bytes:
660
708
  p = bytearray(4)
@@ -684,9 +732,9 @@ class ImageDecoder:
684
732
  ImageFormats.BGR332: (_decode_bgr332_pixel, 8, get_uint8),
685
733
  ImageFormats.GRAY8: (_decode_gray8_pixel, 8, get_uint8), # GRAY, 8bpp, same as N64_I8
686
734
  ImageFormats.N64_IA4: (_decode_ia4_pixel, 8, get_uint8), # GRAY+ALPHA, 8bpp
687
- ImageFormats.R8: (_decode_r_only_pixel, 8, get_uint8),
688
- ImageFormats.G8: (_decode_g_only_pixel, 8, get_uint8),
689
- ImageFormats.B8: (_decode_b_only_pixel, 8, get_uint8),
735
+ ImageFormats.R8: (_decode_r8_only_pixel, 8, get_uint8),
736
+ ImageFormats.G8: (_decode_g8_only_pixel, 8, get_uint8),
737
+ ImageFormats.B8: (_decode_b8_only_pixel, 8, get_uint8),
690
738
 
691
739
  ImageFormats.GRAY8A: (_decode_gray8a_pixel, 16, get_uint16),
692
740
  ImageFormats.GRAY16: (_decode_gray16_pixel, 16, get_uint16),
@@ -716,9 +764,9 @@ class ImageDecoder:
716
764
  ImageFormats.N64_IA8: (_decode_ia8_pixel, 16, get_uint16), # GRAY+ALPHA, 16bpp
717
765
  ImageFormats.N64_RGB5A3: (_decode_rgb5A3_pixel, 16, get_uint16),
718
766
  ImageFormats.N64_BGR5A3: (_decode_bgr5A3_pixel, 16, get_uint16),
719
- ImageFormats.R16: (_decode_r_only_pixel, 16, get_uint16),
720
- ImageFormats.G16: (_decode_g_only_pixel, 16, get_uint16),
721
- ImageFormats.B16: (_decode_b_only_pixel, 16, get_uint16),
767
+ ImageFormats.R16: (_decode_r16_only_pixel, 16, get_uint16),
768
+ ImageFormats.G16: (_decode_g16_only_pixel, 16, get_uint16),
769
+ ImageFormats.B16: (_decode_b16_only_pixel, 16, get_uint16),
722
770
 
723
771
  ImageFormats.RGBX6666: (_decode_rgbx6666_pixel, 24, get_uint24),
724
772
  ImageFormats.RGBA6666: (_decode_rgba6666_pixel, 24, get_uint24),
@@ -735,9 +783,9 @@ class ImageDecoder:
735
783
  ImageFormats.BGRX8888: (_decode_bgrx8888_pixel, 32, get_uint32),
736
784
  ImageFormats.BGRT8888: (_decode_bgrt8888_pixel, 32, get_uint32),
737
785
  ImageFormats.RGBM8888: (_decode_rgbm8888_pixel, 32, get_uint32),
738
- ImageFormats.R32: (_decode_r_only_pixel, 32, get_uint32),
739
- ImageFormats.G32: (_decode_g_only_pixel, 32, get_uint32),
740
- ImageFormats.B32: (_decode_b_only_pixel, 32, get_uint32),
786
+ ImageFormats.R32: (_decode_r32_only_pixel, 32, get_uint32),
787
+ ImageFormats.G32: (_decode_g32_only_pixel, 32, get_uint32),
788
+ ImageFormats.B32: (_decode_b32_only_pixel, 32, get_uint32),
741
789
  ImageFormats.IA_X2_ARGB: (_decode_null_pixel, 32, get_uint32), # two IA palettes (16 bit + 16 bit)
742
790
  ImageFormats.IA_X2_GRAB: (_decode_null_pixel, 32, get_uint32), # two IA palettes (16 bit + 16 bit)
743
791
 
@@ -621,7 +621,5 @@ class ImageEncoder:
621
621
  def encode_n64_image(self, image_data: bytes, img_width: int, img_height: int, image_format: ImageFormats) -> bytes:
622
622
  return N64ImageDecoderEncoder().encode_n64_image_main(image_data, img_width, img_height, image_format)
623
623
 
624
- def encode_gst_image(self, image_data: bytes, img_width: int, img_height: int, gst_format: ImageFormats, image_format: ImageFormats,
625
- palette_format: ImageFormats, max_color_count: int, is_swizzled: bool = True) -> bytes:
626
- encoded_image_data, encoded_palette_data = self.encode_indexed_image(image_data, img_width, img_height, image_format, palette_format, max_color_count)
627
- return GSTImageDecoderEncoder().encode_gst_image_main(encoded_image_data, encoded_palette_data, img_width, img_height, gst_format, is_swizzled)
624
+ def encode_gst_image(self, image_data: bytes, img_width: int, img_height: int, gst_format: ImageFormats, is_swizzled: bool = True) -> Tuple[bytes, bytes]:
625
+ return GSTImageDecoderEncoder().encode_gst_image_main(image_data, img_width, img_height, gst_format, is_swizzled)
@@ -8,7 +8,7 @@ from typing import Final
8
8
 
9
9
  import setuptools
10
10
 
11
- VERSION_NUM: Final[str] = "0.84.2"
11
+ VERSION_NUM: Final[str] = "0.84.4"
12
12
 
13
13
 
14
14
  def get_long_description() -> str:
File without changes
File without changes
File without changes