ReverseBox 0.36.0__tar.gz → 0.37.1__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.36.0 → reversebox-0.37.1}/PKG-INFO +1 -1
- {reversebox-0.36.0 → reversebox-0.37.1}/ReverseBox.egg-info/PKG-INFO +1 -1
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/common.py +4 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/decoders/compressed_decoder_encoder.py +9 -5
- {reversebox-0.36.0 → reversebox-0.37.1}/setup.py +1 -1
- {reversebox-0.36.0 → reversebox-0.37.1}/LICENSE +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/README.md +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/ReverseBox.egg-info/SOURCES.txt +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/ReverseBox.egg-info/dependency_links.txt +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/ReverseBox.egg-info/requires.txt +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/ReverseBox.egg-info/top_level.txt +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_adler32.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_cocos2d_pvr.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_fletcher16.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_fletcher32.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_internet_ipv4_header.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_sum8.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_sum8_2s_complement.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_unix_sum_bsd16.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_unix_sum_sysv.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/checksum/checksum_xor8.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/common/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/common/common.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/common/logger.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/common/numpy_helper_functions.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/compression/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/compression/compression_jcalg1.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/compression/compression_lzo.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/compression/compression_mio0.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/compression/compression_re_tiyoruga_dat.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/compression/compression_refpack.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/compression/compression_zlib.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc16_arc.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc16_ccitt.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc16_dnp.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc16_ea_crcf.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc16_kermit.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc16_modbus.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc16_sick.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc32_asobo.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc32_iso_hdlc.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc64_asobo.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc64_go_iso.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc8.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/crc/crc_unix_cksum.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/encryption/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/encryption/encryption_hatch_engine.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/encryption/encryption_rot13.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/encryption/encryption_xor_basic.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/encryption/encryption_xor_basic_key_guesser.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/encryption/encryption_xor_gianas_return_zda.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/encryption/encryption_xor_retro64_eco.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_additive.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_ap.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_djb2.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_fnv.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_jenkins_one_at_a_time.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_md2.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_md5.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_murmur3.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_pivotal_games_dat.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_sdbm.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_sha1.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/hash/hash_sha2.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/byte_swap.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/compression/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/compression/compression_gst.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/compression/compression_lzw.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/compression/compression_packbits.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/compression/compression_rle_executioners.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/compression/compression_rle_tga.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/compression/compression_zlib.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/decoders/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/decoders/bumpmap_decoder.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/decoders/gst_decoder.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/decoders/n64_decoder.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/decoders/yuv_decoder.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/encoders/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/encoders/gst_encoder.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/file_formats/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/file_formats/image_dds.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/image_decoder.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/image_encoder.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/image_formats.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/palettes/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/palettes/palette_random.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/palettes/palette_vga.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/pillow_wrapper.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_3ds.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_bc.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_cmpr.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_gamecube.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_gst.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_morton.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_morton_ps4.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_ps2.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_ps2_4bit.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_ps2_suba.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_psp.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_psvita_dreamcast.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_switch.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_wii_u.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/swizzling/swizzle_x360.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/io_files/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/io_files/bytes_handler.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/io_files/bytes_helper_functions.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/io_files/check_file.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/io_files/file_handler.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/io_files/mod_handler.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/io_files/translation_text_handler.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/libs/DirectXTex.dll +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/libs/__init__.py +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/reversebox/libs/refpack.dll +0 -0
- {reversebox-0.36.0 → reversebox-0.37.1}/setup.cfg +0 -0
@@ -223,6 +223,10 @@ def get_block_data_size(img_format: ImageFormats) -> int:
|
|
223
223
|
return 1
|
224
224
|
|
225
225
|
|
226
|
+
def get_bc_image_data_size(image_height: int, image_width: int, image_format: ImageFormats) -> int:
|
227
|
+
return ((image_height + 3) // 4) * ((image_width + 3) // 4) * get_block_data_size(image_format)
|
228
|
+
|
229
|
+
|
226
230
|
def calculate_aligned_value(value: int, multiple: int) -> int:
|
227
231
|
return ((value + multiple - 1) // multiple) * multiple
|
228
232
|
|
{reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/decoders/compressed_decoder_encoder.py
RENAMED
@@ -17,6 +17,7 @@ from ctypes import (
|
|
17
17
|
|
18
18
|
from reversebox.common.common import get_dll_path
|
19
19
|
from reversebox.common.logger import get_logger
|
20
|
+
from reversebox.image.common import get_bc_image_data_size
|
20
21
|
from reversebox.image.image_formats import ImageFormats
|
21
22
|
|
22
23
|
logger = get_logger(__name__)
|
@@ -41,7 +42,7 @@ class DXGIImage(Structure):
|
|
41
42
|
|
42
43
|
class CompressedImageDecoderEncoder:
|
43
44
|
"""
|
44
|
-
Decoder for any compressed images like BC1/DXT1, BC2/DXT2 etc.
|
45
|
+
Decoder/Encoder for any compressed images like BC1/DXT1, BC2/DXT2 etc.
|
45
46
|
"""
|
46
47
|
|
47
48
|
def __init__(self):
|
@@ -94,7 +95,7 @@ class CompressedImageDecoderEncoder:
|
|
94
95
|
|
95
96
|
def _convert_directxtex_image(self, image_data: bytes, img_width: int, img_height: int, image_format: ImageFormats, encode_flag: bool) -> bytes:
|
96
97
|
"""
|
97
|
-
Function used for decoding compressed BC formats
|
98
|
+
Function used for decoding/encoding compressed BC formats
|
98
99
|
"""
|
99
100
|
dll_path: str = get_dll_path("DirectXTex.dll")
|
100
101
|
if encode_flag:
|
@@ -147,9 +148,12 @@ class CompressedImageDecoderEncoder:
|
|
147
148
|
if h_result != 0:
|
148
149
|
raise Exception(f"DLL decompression failed! H_result: {h_result}")
|
149
150
|
|
150
|
-
|
151
|
-
|
152
|
-
|
151
|
+
if encode_flag:
|
152
|
+
converted_data_size: int = get_bc_image_data_size(img_height, img_width, image_format)
|
153
|
+
else:
|
154
|
+
converted_data_size: int = img_height * img_width * 4
|
155
|
+
converted_data = bytearray((c_uint8 * converted_data_size).from_address(ctypes.addressof(output_dxgi_image.pixels.contents)))
|
156
|
+
return converted_data
|
153
157
|
|
154
158
|
def decode_compressed_image_main(self, image_data: bytes, img_width: int, img_height: int, image_format: ImageFormats) -> bytes:
|
155
159
|
return self._convert_directxtex_image(image_data, img_width, img_height, image_format, False)
|
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.36.0 → reversebox-0.37.1}/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
|
{reversebox-0.36.0 → reversebox-0.37.1}/reversebox/compression/compression_re_tiyoruga_dat.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.36.0 → reversebox-0.37.1}/reversebox/encryption/encryption_xor_basic_key_guesser.py
RENAMED
File without changes
|
{reversebox-0.36.0 → reversebox-0.37.1}/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
|
{reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/compression/compression_packbits.py
RENAMED
File without changes
|
{reversebox-0.36.0 → reversebox-0.37.1}/reversebox/image/compression/compression_rle_executioners.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
|
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.36.0 → reversebox-0.37.1}/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
|