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.
- {reversebox-0.84.2 → reversebox-0.84.4}/PKG-INFO +1 -1
- {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/PKG-INFO +1 -1
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/gst_decoder_encoder.py +6 -5
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/image_decoder.py +60 -12
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/image_encoder.py +2 -4
- {reversebox-0.84.2 → reversebox-0.84.4}/setup.py +1 -1
- {reversebox-0.84.2 → reversebox-0.84.4}/LICENSE +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/README.md +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/SOURCES.txt +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/dependency_links.txt +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/requires.txt +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/ReverseBox.egg-info/top_level.txt +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_adler32.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_cocos2d_pvr.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_fletcher16.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_fletcher32.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_internet_ipv4_header.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_sum8.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_sum8_2s_complement.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_unix_sum_bsd16.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_unix_sum_sysv.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_xor8.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/common.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/constants.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/logger.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/common/numpy_helper_functions.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_bzip2.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_ea_idec.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_gst.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_huffman_intelligent.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_jcalg1.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_lz4.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_lzma.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_lzo.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_lzw.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_mio0.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_packbits.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_re_tiyoruga_dat.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_refpack.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_emergency.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_executioners.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_leapster.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_neversoft.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_syberia.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_tga.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_tga_reversed.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_tzar.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_zlib.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_zlib2.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_arc.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_ccitt.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_dnp.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_ea_crcf.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_kermit.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_modbus.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc16_sick.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc32_asobo.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc32_iso_hdlc.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc64_asobo.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc64_go_iso.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc8.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/crc/crc_unix_cksum.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_hatch_engine.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_rot13.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_basic.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_basic_key_guesser.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_gianas_return_zda.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_retro64_eco.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_additive.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_ap.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_djb2.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_fnv.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_jenkins_one_at_a_time.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_md2.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_md5.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_murmur3.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_pivotal_games_dat.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_rx3.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_sdbm.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_sha1.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/hash/hash_sha2.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/byte_swap.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/common.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/bumpmap_decoder.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/compressed_decoder_encoder.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/n64_decoder_encoder.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/psp_dxt_decoder.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/pvrtexlib_decoder_encoder.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/yuv_decoder.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/file_formats/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/file_formats/image_dds.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/image_formats.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/image_padding.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/palettes/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/palettes/palette_random.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/palettes/palette_vga.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/pillow_wrapper.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/morton_index.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_3ds.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_bc.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_cmpr.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_gamecube.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_gst.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_morton.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_morton_ps4.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_morton_ps5.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_ps2.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_ps2_4bit.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_psp.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_psvita_dreamcast.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_switch.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_wii_u.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_x360.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/bytes_handler.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/bytes_helper_functions.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/check_file.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/file_handler.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/mod_handler.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/io_files/translation_text_handler.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/DirectXTex.dll +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/PVRTexLib.dll +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/PVRTexLibWrapper.dll +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/__init__.py +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/reversebox/libs/refpack.dll +0 -0
- {reversebox-0.84.2 → reversebox-0.84.4}/setup.cfg +0 -0
|
@@ -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
|
-
|
|
89
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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: (
|
|
688
|
-
ImageFormats.G8: (
|
|
689
|
-
ImageFormats.B8: (
|
|
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: (
|
|
720
|
-
ImageFormats.G16: (
|
|
721
|
-
ImageFormats.B16: (
|
|
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: (
|
|
739
|
-
ImageFormats.G32: (
|
|
740
|
-
ImageFormats.B32: (
|
|
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,
|
|
625
|
-
|
|
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)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/checksum/checksum_internet_ipv4_header.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_huffman_intelligent.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_re_tiyoruga_dat.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_executioners.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/compression/compression_rle_tga_reversed.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_basic_key_guesser.py
RENAMED
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/encryption/encryption_xor_gianas_return_zda.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/compressed_decoder_encoder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/decoders/pvrtexlib_decoder_encoder.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{reversebox-0.84.2 → reversebox-0.84.4}/reversebox/image/swizzling/swizzle_psvita_dreamcast.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|