ReverseBox 0.20.2__tar.gz → 0.20.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 (100) hide show
  1. {reversebox-0.20.2 → reversebox-0.20.4}/PKG-INFO +3 -3
  2. {reversebox-0.20.2 → reversebox-0.20.4}/README.md +1 -1
  3. {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/PKG-INFO +3 -3
  4. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/compressed_decoder.py +0 -1
  5. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/image_encoder.py +9 -0
  6. {reversebox-0.20.2 → reversebox-0.20.4}/setup.py +3 -2
  7. {reversebox-0.20.2 → reversebox-0.20.4}/LICENSE +0 -0
  8. {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/SOURCES.txt +0 -0
  9. {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/dependency_links.txt +0 -0
  10. {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/requires.txt +0 -0
  11. {reversebox-0.20.2 → reversebox-0.20.4}/ReverseBox.egg-info/top_level.txt +0 -0
  12. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/__init__.py +0 -0
  13. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/__init__.py +0 -0
  14. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_adler32.py +0 -0
  15. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_fletcher16.py +0 -0
  16. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_fletcher32.py +0 -0
  17. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_internet_ipv4_header.py +0 -0
  18. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_sum8.py +0 -0
  19. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_sum8_2s_complement.py +0 -0
  20. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_unix_sum_bsd16.py +0 -0
  21. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_unix_sum_sysv.py +0 -0
  22. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/checksum/checksum_xor8.py +0 -0
  23. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/common/__init__.py +0 -0
  24. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/common/common.py +0 -0
  25. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/common/logger.py +0 -0
  26. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/__init__.py +0 -0
  27. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_jcalg1.py +0 -0
  28. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_lzo.py +0 -0
  29. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_mio0.py +0 -0
  30. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_refpack.py +0 -0
  31. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/compression/compression_zlib.py +0 -0
  32. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/__init__.py +0 -0
  33. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_arc.py +0 -0
  34. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_ccitt.py +0 -0
  35. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_dnp.py +0 -0
  36. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_ea_crcf.py +0 -0
  37. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_kermit.py +0 -0
  38. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_modbus.py +0 -0
  39. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc16_sick.py +0 -0
  40. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc32_asobo.py +0 -0
  41. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc32_iso_hdlc.py +0 -0
  42. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc64_asobo.py +0 -0
  43. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc64_go_iso.py +0 -0
  44. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc8.py +0 -0
  45. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/crc/crc_unix_cksum.py +0 -0
  46. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/__init__.py +0 -0
  47. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_rot13.py +0 -0
  48. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_xor_basic.py +0 -0
  49. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_xor_basic_key_guesser.py +0 -0
  50. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_xor_gianas_return_zda.py +0 -0
  51. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/encryption/encryption_xor_retro64_eco.py +0 -0
  52. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/__init__.py +0 -0
  53. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_ap.py +0 -0
  54. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_djb2.py +0 -0
  55. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_fnv.py +0 -0
  56. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_md2.py +0 -0
  57. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_md5.py +0 -0
  58. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_sdbm.py +0 -0
  59. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_sha1.py +0 -0
  60. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/hash/hash_sha2.py +0 -0
  61. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/__init__.py +0 -0
  62. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/common.py +0 -0
  63. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/compression/__init__.py +0 -0
  64. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/compression/compression_gst.py +0 -0
  65. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/__init__.py +0 -0
  66. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/bumpmap_decoder.py +0 -0
  67. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/n64_decoder.py +0 -0
  68. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/decoders/yuv_decoder.py +0 -0
  69. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/file_formats/__init__.py +0 -0
  70. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/file_formats/image_dds.py +0 -0
  71. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/image_decoder.py +0 -0
  72. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/image_formats.py +0 -0
  73. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/palettes/__init__.py +0 -0
  74. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/palettes/palette_random.py +0 -0
  75. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/pillow_wrapper.py +0 -0
  76. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/__init__.py +0 -0
  77. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_3ds.py +0 -0
  78. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_bc.py +0 -0
  79. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_cmpr.py +0 -0
  80. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_gamecube.py +0 -0
  81. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_gst.py +0 -0
  82. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_morton.py +0 -0
  83. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_morton_ps4.py +0 -0
  84. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_ps2.py +0 -0
  85. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_psp.py +0 -0
  86. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_psvita_dreamcast.py +0 -0
  87. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_switch.py +0 -0
  88. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/image/swizzling/swizzle_x360.py +0 -0
  89. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/__init__.py +0 -0
  90. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/bytes_handler.py +0 -0
  91. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/bytes_helper_functions.py +0 -0
  92. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/check_file.py +0 -0
  93. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/file_handler.py +0 -0
  94. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/mod_handler.py +0 -0
  95. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/io_files/translation_text_handler.py +0 -0
  96. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/libs/DirectXTex.dll +0 -0
  97. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/libs/__init__.py +0 -0
  98. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/libs/ea_swizzle.dll +0 -0
  99. {reversebox-0.20.2 → reversebox-0.20.4}/reversebox/libs/refpack.dll +0 -0
  100. {reversebox-0.20.2 → reversebox-0.20.4}/setup.cfg +0 -0
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ReverseBox
3
- Version: 0.20.2
3
+ Version: 0.20.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
7
7
  Author-email: ikskoks@gmail.com
8
- Keywords: ReverseBox,reverse engineering,RE,CRC,Hash,Encryption,Compression,Checksum,Python,image,decode,decoding,RGB,swizzle,swizzling,morton,twiddle,twiddling,texture,UYVY,YUY2,NV21,NV12,RGBA,RGBA8888,RGB565,RGBA8,BGR,grayscale,graphics,color,pixel,convert,converting,YUV,RAW,PSP,PS1,PS2,PS3,PS4,XBOX,X360,gamecube,dreamcast
8
+ Keywords: ReverseBox,reverse engineering,RE,CRC,Hash,Encryption,Compression,Checksum,Python,image,decode,decoding,RGB,swizzle,swizzling,morton,twiddle,twiddling,texture,UYVY,YUY2,NV21,NV12,RGBA,RGBA8888,RGB565,RGBA8,BGR,grayscale,graphics,color,pixel,convert,converting,YUV,RAW,PSP,PS1,PS2,PS3,PS4,XBOX,X360,gamecube,dreamcast,BC,BC1,BC2,BC3,BC4,BC5,BC6,BC7,DXT1,DXT2,DXT3
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Programming Language :: Python :: 3.6
11
11
  Classifier: Programming Language :: Python :: 3.7
@@ -157,7 +157,7 @@ or software researchers).
157
157
  - Decode ARGB8888 ✔️
158
158
  - Decode ABGR8888 ✔️
159
159
  - Decode/Encode RGBA8888 ✔️
160
- - Decode BGRA8888 ✔️
160
+ - Decode/Encode BGRA8888 ✔️
161
161
  - Decode RGB48 ✔️
162
162
  - Decode BGR48 ✔️
163
163
  - Decode PAL4_RGBX5551 ✔️
@@ -122,7 +122,7 @@ or software researchers).
122
122
  - Decode ARGB8888 ✔️
123
123
  - Decode ABGR8888 ✔️
124
124
  - Decode/Encode RGBA8888 ✔️
125
- - Decode BGRA8888 ✔️
125
+ - Decode/Encode BGRA8888 ✔️
126
126
  - Decode RGB48 ✔️
127
127
  - Decode BGR48 ✔️
128
128
  - Decode PAL4_RGBX5551 ✔️
@@ -1,11 +1,11 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: ReverseBox
3
- Version: 0.20.2
3
+ Version: 0.20.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
7
7
  Author-email: ikskoks@gmail.com
8
- Keywords: ReverseBox,reverse engineering,RE,CRC,Hash,Encryption,Compression,Checksum,Python,image,decode,decoding,RGB,swizzle,swizzling,morton,twiddle,twiddling,texture,UYVY,YUY2,NV21,NV12,RGBA,RGBA8888,RGB565,RGBA8,BGR,grayscale,graphics,color,pixel,convert,converting,YUV,RAW,PSP,PS1,PS2,PS3,PS4,XBOX,X360,gamecube,dreamcast
8
+ Keywords: ReverseBox,reverse engineering,RE,CRC,Hash,Encryption,Compression,Checksum,Python,image,decode,decoding,RGB,swizzle,swizzling,morton,twiddle,twiddling,texture,UYVY,YUY2,NV21,NV12,RGBA,RGBA8888,RGB565,RGBA8,BGR,grayscale,graphics,color,pixel,convert,converting,YUV,RAW,PSP,PS1,PS2,PS3,PS4,XBOX,X360,gamecube,dreamcast,BC,BC1,BC2,BC3,BC4,BC5,BC6,BC7,DXT1,DXT2,DXT3
9
9
  Classifier: Programming Language :: Python :: 3
10
10
  Classifier: Programming Language :: Python :: 3.6
11
11
  Classifier: Programming Language :: Python :: 3.7
@@ -157,7 +157,7 @@ or software researchers).
157
157
  - Decode ARGB8888 ✔️
158
158
  - Decode ABGR8888 ✔️
159
159
  - Decode/Encode RGBA8888 ✔️
160
- - Decode BGRA8888 ✔️
160
+ - Decode/Encode BGRA8888 ✔️
161
161
  - Decode RGB48 ✔️
162
162
  - Decode BGR48 ✔️
163
163
  - Decode PAL4_RGBX5551 ✔️
@@ -91,7 +91,6 @@ class CompressedImageDecoder:
91
91
  else:
92
92
  raise Exception(f"Not supported image format! Image_format: {image_format}")
93
93
 
94
-
95
94
  def _decode_directxtex_image(self, image_data: bytes, img_width: int, img_height: int, image_format: ImageFormats) -> bytes:
96
95
  """
97
96
  Function used for decoding compressed BC formats
@@ -32,6 +32,14 @@ class ImageEncoder:
32
32
  p[3] = (pixel_int >> 24) & 0xff
33
33
  return p
34
34
 
35
+ def _encode_bgra8888_pixel(self, pixel_int: int) -> bytes:
36
+ p = bytearray(4)
37
+ p[0] = (pixel_int >> 16) & 0xff
38
+ p[1] = (pixel_int >> 8) & 0xff
39
+ p[2] = (pixel_int >> 0) & 0xff
40
+ p[3] = (pixel_int >> 24) & 0xff
41
+ return p
42
+
35
43
  def _encode_rgb565_pixel(self, pixel_int: int) -> bytearray:
36
44
  r = (pixel_int >> 0) & 0xFF
37
45
  g = (pixel_int >> 8) & 0xFF
@@ -53,6 +61,7 @@ class ImageEncoder:
53
61
  generic_data_formats = {
54
62
  # image_format: (encode_function, bits_per_pixel)
55
63
  ImageFormats.RGBA8888: (_encode_rgba8888_pixel, 32),
64
+ ImageFormats.BGRA8888: (_encode_bgra8888_pixel, 32),
56
65
  ImageFormats.RGB565: (_encode_rgb565_pixel, 16),
57
66
  }
58
67
 
@@ -8,7 +8,7 @@ from typing import Final
8
8
 
9
9
  import setuptools
10
10
 
11
- VERSION_NUM: Final[str] = "0.20.2"
11
+ VERSION_NUM: Final[str] = "0.20.4"
12
12
 
13
13
 
14
14
  def get_long_description() -> str:
@@ -50,7 +50,8 @@ setuptools.setup(
50
50
  test_suite="tests",
51
51
  keywords="ReverseBox, reverse engineering, RE, CRC, Hash, Encryption, Compression, Checksum, Python, image, decode, decoding, "
52
52
  "RGB, swizzle, swizzling, morton, twiddle, twiddling, texture, UYVY, YUY2, NV21, NV12, RGBA, RGBA8888, RGB565, RGBA8, BGR, "
53
- "grayscale, graphics, color, pixel, convert, converting, YUV, RAW, PSP, PS1, PS2, PS3, PS4, XBOX, X360, gamecube, dreamcast",
53
+ "grayscale, graphics, color, pixel, convert, converting, YUV, RAW, PSP, PS1, PS2, PS3, PS4, XBOX, X360, gamecube, dreamcast, "
54
+ "BC, BC1, BC2, BC3, BC4, BC5, BC6, BC7, DXT1, DXT2, DXT3",
54
55
  python_requires=">=3.6",
55
56
  install_requires=["lzokay", "polib", "crc", "hashbase", "pillow", "rawutil"],
56
57
  packages=setuptools.find_packages(exclude=["tests", "tests.*"]),
File without changes
File without changes