splat64 0.36.1__tar.gz → 0.36.2__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 (154) hide show
  1. {splat64-0.36.1 → splat64-0.36.2}/CHANGELOG.md +6 -1
  2. {splat64-0.36.1 → splat64-0.36.2}/PKG-INFO +2 -2
  3. {splat64-0.36.1 → splat64-0.36.2}/README.md +1 -1
  4. {splat64-0.36.1 → splat64-0.36.2}/pyproject.toml +1 -1
  5. {splat64-0.36.1 → splat64-0.36.2}/src/splat/__init__.py +1 -1
  6. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/linker_entry.py +2 -2
  7. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/segment.py +1 -1
  8. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/file_presets.py +7 -6
  9. {splat64-0.36.1 → splat64-0.36.2}/.gitattributes +0 -0
  10. {splat64-0.36.1 → splat64-0.36.2}/.github/workflows/black.yml +0 -0
  11. {splat64-0.36.1 → splat64-0.36.2}/.github/workflows/mypy.yml +0 -0
  12. {splat64-0.36.1 → splat64-0.36.2}/.github/workflows/publish_docs_to_wiki.yml +0 -0
  13. {splat64-0.36.1 → splat64-0.36.2}/.github/workflows/pypi.yml +0 -0
  14. {splat64-0.36.1 → splat64-0.36.2}/.github/workflows/test_lib.yml +0 -0
  15. {splat64-0.36.1 → splat64-0.36.2}/.github/workflows/unit_tests.yml +0 -0
  16. {splat64-0.36.1 → splat64-0.36.2}/.gitignore +0 -0
  17. {splat64-0.36.1 → splat64-0.36.2}/LICENSE +0 -0
  18. {splat64-0.36.1 → splat64-0.36.2}/create_config.py +0 -0
  19. {splat64-0.36.1 → splat64-0.36.2}/docs/Adding-Symbols.md +0 -0
  20. {splat64-0.36.1 → splat64-0.36.2}/docs/Advanced-Reloc.md +0 -0
  21. {splat64-0.36.1 → splat64-0.36.2}/docs/Advanced.md +0 -0
  22. {splat64-0.36.1 → splat64-0.36.2}/docs/Configuration.md +0 -0
  23. {splat64-0.36.1 → splat64-0.36.2}/docs/Examples.md +0 -0
  24. {splat64-0.36.1 → splat64-0.36.2}/docs/General-Workflow.md +0 -0
  25. {splat64-0.36.1 → splat64-0.36.2}/docs/Home.md +0 -0
  26. {splat64-0.36.1 → splat64-0.36.2}/docs/Quickstart.md +0 -0
  27. {splat64-0.36.1 → splat64-0.36.2}/docs/Segments.md +0 -0
  28. {splat64-0.36.1 → splat64-0.36.2}/docs/VramClasses.md +0 -0
  29. {splat64-0.36.1 → splat64-0.36.2}/mypy.ini +0 -0
  30. {splat64-0.36.1 → splat64-0.36.2}/requirements.txt +0 -0
  31. {splat64-0.36.1 → splat64-0.36.2}/split.py +0 -0
  32. {splat64-0.36.1 → splat64-0.36.2}/src/splat/__main__.py +0 -0
  33. {splat64-0.36.1 → splat64-0.36.2}/src/splat/disassembler/__init__.py +0 -0
  34. {splat64-0.36.1 → splat64-0.36.2}/src/splat/disassembler/disassembler.py +0 -0
  35. {splat64-0.36.1 → splat64-0.36.2}/src/splat/disassembler/disassembler_instance.py +0 -0
  36. {splat64-0.36.1 → splat64-0.36.2}/src/splat/disassembler/disassembler_section.py +0 -0
  37. {splat64-0.36.1 → splat64-0.36.2}/src/splat/disassembler/null_disassembler.py +0 -0
  38. {splat64-0.36.1 → splat64-0.36.2}/src/splat/disassembler/spimdisasm_disassembler.py +0 -0
  39. {splat64-0.36.1 → splat64-0.36.2}/src/splat/platforms/__init__.py +0 -0
  40. {splat64-0.36.1 → splat64-0.36.2}/src/splat/platforms/n64.py +0 -0
  41. {splat64-0.36.1 → splat64-0.36.2}/src/splat/platforms/ps2.py +0 -0
  42. {splat64-0.36.1 → splat64-0.36.2}/src/splat/platforms/psp.py +0 -0
  43. {splat64-0.36.1 → splat64-0.36.2}/src/splat/platforms/psx.py +0 -0
  44. {splat64-0.36.1 → splat64-0.36.2}/src/splat/py.typed +0 -0
  45. {splat64-0.36.1 → splat64-0.36.2}/src/splat/scripts/__init__.py +0 -0
  46. {splat64-0.36.1 → splat64-0.36.2}/src/splat/scripts/capy.py +0 -0
  47. {splat64-0.36.1 → splat64-0.36.2}/src/splat/scripts/create_config.py +0 -0
  48. {splat64-0.36.1 → splat64-0.36.2}/src/splat/scripts/split.py +0 -0
  49. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/__init__.py +0 -0
  50. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/__init__.py +0 -0
  51. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/asm.py +0 -0
  52. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/asmtu.py +0 -0
  53. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/bin.py +0 -0
  54. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/bss.py +0 -0
  55. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/c.py +0 -0
  56. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/code.py +0 -0
  57. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/codesubsegment.py +0 -0
  58. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/cpp.py +0 -0
  59. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/data.py +0 -0
  60. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/databin.py +0 -0
  61. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/eh_frame.py +0 -0
  62. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/gcc_except_table.py +0 -0
  63. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/group.py +0 -0
  64. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/hasm.py +0 -0
  65. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/header.py +0 -0
  66. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/lib.py +0 -0
  67. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/linker_offset.py +0 -0
  68. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/pad.py +0 -0
  69. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/rdata.py +0 -0
  70. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/rodata.py +0 -0
  71. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/rodatabin.py +0 -0
  72. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/sbss.py +0 -0
  73. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/sdata.py +0 -0
  74. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/segment.py +0 -0
  75. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/common/textbin.py +0 -0
  76. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/__init__.py +0 -0
  77. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/ci.py +0 -0
  78. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/ci4.py +0 -0
  79. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/ci8.py +0 -0
  80. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/decompressor.py +0 -0
  81. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/gfx.py +0 -0
  82. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/header.py +0 -0
  83. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/i1.py +0 -0
  84. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/i4.py +0 -0
  85. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/i8.py +0 -0
  86. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/ia16.py +0 -0
  87. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/ia4.py +0 -0
  88. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/ia8.py +0 -0
  89. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/img.py +0 -0
  90. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/ipl3.py +0 -0
  91. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/mio0.py +0 -0
  92. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/palette.py +0 -0
  93. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/rgba16.py +0 -0
  94. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/rgba32.py +0 -0
  95. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/rsp.py +0 -0
  96. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/vtx.py +0 -0
  97. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/n64/yay0.py +0 -0
  98. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/ps2/__init__.py +0 -0
  99. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/ps2/ctor.py +0 -0
  100. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/ps2/lit4.py +0 -0
  101. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/ps2/lit8.py +0 -0
  102. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/ps2/vtables.py +0 -0
  103. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/psp/__init__.py +0 -0
  104. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/psx/__init__.py +0 -0
  105. {splat64-0.36.1 → splat64-0.36.2}/src/splat/segtypes/psx/header.py +0 -0
  106. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/__init__.py +0 -0
  107. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/cache_handler.py +0 -0
  108. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/color.py +0 -0
  109. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/compiler.py +0 -0
  110. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/conf.py +0 -0
  111. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/log.py +0 -0
  112. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/n64/__init__.py +0 -0
  113. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/n64/find_code_length.py +0 -0
  114. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/n64/rominfo.py +0 -0
  115. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/options.py +0 -0
  116. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/palettes.py +0 -0
  117. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/progress_bar.py +0 -0
  118. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/psx/__init__.py +0 -0
  119. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/psx/psxexeinfo.py +0 -0
  120. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/relocs.py +0 -0
  121. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/statistics.py +0 -0
  122. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/symbols.py +0 -0
  123. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/utils.py +0 -0
  124. {splat64-0.36.1 → splat64-0.36.2}/src/splat/util/vram_classes.py +0 -0
  125. {splat64-0.36.1 → splat64-0.36.2}/test/Dockerfile +0 -0
  126. {splat64-0.36.1 → splat64-0.36.2}/test/README.md +0 -0
  127. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/.gitignore +0 -0
  128. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/Makefile +0 -0
  129. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/build/basic_app.bin +0 -0
  130. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/dummy_ipl3.s +0 -0
  131. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/.splache +0 -0
  132. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/asm/data/main.bss.s +0 -0
  133. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/asm/data/main.data.s +0 -0
  134. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/asm/data/main.rodata.s +0 -0
  135. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/asm/handwritten.s +0 -0
  136. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/asm/header.s +0 -0
  137. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/asm/main.s +0 -0
  138. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/asm/nonmatchings/main/D_80000510.s +0 -0
  139. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/asm/nonmatchings/main/func_80000400.s +0 -0
  140. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/asm/nonmatchings/main/func_800004A0.s +0 -0
  141. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/assets/dummy_ipl3.bin +0 -0
  142. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/basic_app.d +0 -0
  143. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/build/test/basic_app/split/src/main.asmproc.d +0 -0
  144. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/include/include_asm.h +0 -0
  145. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/include/labels.inc +0 -0
  146. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/include/macro.inc +0 -0
  147. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/src/main.c +0 -0
  148. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/undefined_funcs_auto.txt +0 -0
  149. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/expected/undefined_syms_auto.txt +0 -0
  150. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/handwritten.s +0 -0
  151. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/header.s +0 -0
  152. {splat64-0.36.1 → splat64-0.36.2}/test/basic_app/main.c +0 -0
  153. {splat64-0.36.1 → splat64-0.36.2}/test/test_gen_expected.sh +0 -0
  154. {splat64-0.36.1 → splat64-0.36.2}/test.py +0 -0
@@ -1,8 +1,13 @@
1
1
  # splat Release Notes
2
2
 
3
+ ### 0.36.2
4
+
5
+ * Fix a regression on the R3000GTE `dpct` instruction on autogenerated the `gte_macros.s` file.
6
+
3
7
  ### 0.36.1
8
+
4
9
  * Files generated with `generate_asm_macros_files` will not be overwritten if they already exist on disk unchanged.
5
- * Updated GTE macros to better document opcode encodings
10
+ * Updated GTE macros to better document opcode encodings.
6
11
 
7
12
  ### 0.36.0
8
13
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: splat64
3
- Version: 0.36.1
3
+ Version: 0.36.2
4
4
  Summary: A binary splitting tool to assist with decompilation and modding projects
5
5
  Project-URL: Repository, https://github.com/ethteck/splat
6
6
  Project-URL: Issues, https://github.com/ethteck/splat/issues
@@ -76,7 +76,7 @@ The brackets corresponds to the optional dependencies to install while installin
76
76
  If you use a `requirements.txt` file in your repository, then you can add this library with the following line:
77
77
 
78
78
  ```txt
79
- splat64[mips]>=0.36.1,<1.0.0
79
+ splat64[mips]>=0.36.2,<1.0.0
80
80
  ```
81
81
 
82
82
  ### Optional dependencies
@@ -21,7 +21,7 @@ The brackets corresponds to the optional dependencies to install while installin
21
21
  If you use a `requirements.txt` file in your repository, then you can add this library with the following line:
22
22
 
23
23
  ```txt
24
- splat64[mips]>=0.36.1,<1.0.0
24
+ splat64[mips]>=0.36.2,<1.0.0
25
25
  ```
26
26
 
27
27
  ### Optional dependencies
@@ -1,7 +1,7 @@
1
1
  [project]
2
2
  name = "splat64"
3
3
  # Should be synced with src/splat/__init__.py
4
- version = "0.36.1"
4
+ version = "0.36.2"
5
5
  description = "A binary splitting tool to assist with decompilation and modding projects"
6
6
  readme = "README.md"
7
7
  license = {file = "LICENSE"}
@@ -1,7 +1,7 @@
1
1
  __package_name__ = __name__
2
2
 
3
3
  # Should be synced with pyproject.toml
4
- __version__ = "0.36.1"
4
+ __version__ = "0.36.2"
5
5
  __author__ = "ethteck"
6
6
 
7
7
  from . import util as util
@@ -594,7 +594,7 @@ class LinkerWriter:
594
594
  if not noload:
595
595
  seg_rom_start = get_segment_rom_start(seg_name)
596
596
  line += f" AT({seg_rom_start})"
597
- if options.opts.emit_subalign and segment.subalign != None:
597
+ if options.opts.emit_subalign and segment.subalign is not None:
598
598
  line += f" SUBALIGN({segment.subalign})"
599
599
 
600
600
  self._writeln(line)
@@ -636,7 +636,7 @@ class LinkerWriter:
636
636
  if noload:
637
637
  line += " (NOLOAD)"
638
638
  line += " :"
639
- if options.opts.emit_subalign and segment.subalign != None:
639
+ if options.opts.emit_subalign and segment.subalign is not None:
640
640
  line += f" SUBALIGN({segment.subalign})"
641
641
 
642
642
  self._writeln(line)
@@ -56,7 +56,7 @@ def parse_segment_subalign(segment: Union[dict, list]) -> Optional[int]:
56
56
  default = options.opts.subalign
57
57
  if isinstance(segment, dict):
58
58
  subalign = segment.get("subalign", default)
59
- if subalign != None:
59
+ if subalign is not None:
60
60
  subalign = int(subalign)
61
61
  return subalign
62
62
  return default
@@ -342,17 +342,17 @@ def write_assembly_inc_files():
342
342
 
343
343
 
344
344
  def write_gte_macros():
345
- # Taken directly from https://github.com/Decompollaborate/rabbitizer/blob/develop/docs/r3000gte/gte_macros.s
345
+ # Taken directly from https://github.com/Decompollaborate/rabbitizer/blob/-/docs/r3000gte/gte_macros.s
346
346
  # Please try to upstream any fix/update done here.
347
- gte_macros = """
347
+ gte_macros = """\
348
348
  .ifndef .L_GTE_MACRO_INC
349
349
  .L_GTE_MACRO_INC:
350
350
 
351
351
  ## GTE instruction macros
352
352
  ## These are meant for use with GAS and replace DMPSX
353
353
 
354
- .macro cop2op pseudo, op, sf = 1, mx = 0, v = 0, cv = 0, lm = 0
355
- cop2 \\pseudo << 20 | \\sf << 19 | \\mx << 17 | \\v << 15 | \\cv << 13 | \\lm << 10 | \\op
354
+ .macro cop2op fake_op, op, gbg = 0, sf = 1, mx = 0, v = 0, cv = 0, lm = 0
355
+ cop2 \\fake_op << 20 | \\gbg << 20 | \\sf << 19 | \\mx << 17 | \\v << 15 | \\cv << 13 | \\lm << 10 | \\op
356
356
  .endm
357
357
 
358
358
  /* RTPS 15 0x4A180001 Perspective transform */
@@ -375,9 +375,9 @@ def write_gte_macros():
375
375
  cop2op 0x07, 0x10
376
376
  .endm
377
377
 
378
- /* DPCT 17 0x4A88002A Depth cue color RGB0,RGB1,RGB2 */
378
+ /* DPCT 17 0x4AF8002A Depth cue color RGB0,RGB1,RGB2 */
379
379
  .macro dpct
380
- cop2op 0x08, 0x2A
380
+ cop2op 0x0F, 0x2A
381
381
  .endm
382
382
 
383
383
  /* INTPL 8 0x4A980011 Interpolation of vector and far color */
@@ -442,6 +442,7 @@ def write_gte_macros():
442
442
 
443
443
 
444
444
  ## Instructions which take an argument
445
+ # gbg: arg is 5 bit wide
445
446
  # sf : arg is 1 bit wide
446
447
  # mx : arg is 2 bit wide
447
448
  # v : arg is 2 bit wide
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