splat64 0.34.0__py3-none-any.whl → 0.34.2__py3-none-any.whl
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.
- splat/__init__.py +1 -1
- splat/scripts/split.py +5 -2
- splat/segtypes/segment.py +20 -0
- splat/util/log.py +12 -1
- {splat64-0.34.0.dist-info → splat64-0.34.2.dist-info}/METADATA +2 -2
- {splat64-0.34.0.dist-info → splat64-0.34.2.dist-info}/RECORD +9 -9
- {splat64-0.34.0.dist-info → splat64-0.34.2.dist-info}/WHEEL +0 -0
- {splat64-0.34.0.dist-info → splat64-0.34.2.dist-info}/entry_points.txt +0 -0
- {splat64-0.34.0.dist-info → splat64-0.34.2.dist-info}/licenses/LICENSE +0 -0
splat/__init__.py
CHANGED
splat/scripts/split.py
CHANGED
|
@@ -452,7 +452,8 @@ def main(
|
|
|
452
452
|
make_full_disasm_for_code=False,
|
|
453
453
|
):
|
|
454
454
|
if stdout_only:
|
|
455
|
-
|
|
455
|
+
log.write("--stdout-only flag is deprecated", status="warn")
|
|
456
|
+
progress_bar.out_file = sys.stdout
|
|
456
457
|
|
|
457
458
|
# Load config
|
|
458
459
|
global config
|
|
@@ -538,7 +539,9 @@ def add_arguments_to_parser(parser: argparse.ArgumentParser):
|
|
|
538
539
|
help="Skips the disassembler's version check",
|
|
539
540
|
)
|
|
540
541
|
parser.add_argument(
|
|
541
|
-
"--stdout-only",
|
|
542
|
+
"--stdout-only",
|
|
543
|
+
help="Print all output to stdout (deprecated)",
|
|
544
|
+
action="store_true",
|
|
542
545
|
)
|
|
543
546
|
parser.add_argument(
|
|
544
547
|
"--disassemble-all",
|
splat/segtypes/segment.py
CHANGED
|
@@ -414,6 +414,26 @@ class Segment:
|
|
|
414
414
|
|
|
415
415
|
ret.parent = parent
|
|
416
416
|
|
|
417
|
+
# Import here to avoid circular imports
|
|
418
|
+
from .common.code import CommonSegCode
|
|
419
|
+
from .common.bss import CommonSegBss
|
|
420
|
+
|
|
421
|
+
if options.opts.ld_bss_is_noload and isinstance(ret, CommonSegBss):
|
|
422
|
+
# We need to know the bss space for the segment.
|
|
423
|
+
if isinstance(parent, CommonSegCode):
|
|
424
|
+
if parent.bss_size <= 0:
|
|
425
|
+
log.error(
|
|
426
|
+
f"Top-level segment '{parent.name}' is missing a `bss_size` value.\n A non-zero `bss_size` value must be defined on the top-level segments that contain '{ret.type}' sections (produced by the '{ret.name}' section)."
|
|
427
|
+
)
|
|
428
|
+
if (
|
|
429
|
+
isinstance(ret.vram_start, int)
|
|
430
|
+
and isinstance(parent.vram_end, int)
|
|
431
|
+
and ret.vram_start >= parent.vram_end
|
|
432
|
+
):
|
|
433
|
+
log.error(
|
|
434
|
+
f"The section '{ret.name}' (vram 0x{ret.vram_start:08X}) is outside its parent's address range '{parent.name}' (0x{parent.vram_start:08X} ~ 0x{parent.vram_end:08X}).\n This may happen when the specified `bss_size` value is too small."
|
|
435
|
+
)
|
|
436
|
+
|
|
417
437
|
ret.given_section_order = parse_segment_section_order(yaml)
|
|
418
438
|
ret.given_subalign = parse_segment_subalign(yaml)
|
|
419
439
|
|
splat/util/log.py
CHANGED
|
@@ -18,7 +18,12 @@ def write(*args, status=None, **kwargs):
|
|
|
18
18
|
print("")
|
|
19
19
|
newline = True
|
|
20
20
|
|
|
21
|
-
print(
|
|
21
|
+
print(
|
|
22
|
+
status_to_ansi(status) + str(args[0]),
|
|
23
|
+
*args[1:],
|
|
24
|
+
**kwargs,
|
|
25
|
+
file=output_file(status),
|
|
26
|
+
)
|
|
22
27
|
|
|
23
28
|
|
|
24
29
|
def error(*args, **kwargs) -> NoReturn:
|
|
@@ -44,3 +49,9 @@ def status_to_ansi(status: Status):
|
|
|
44
49
|
return Style.DIM
|
|
45
50
|
else:
|
|
46
51
|
return ""
|
|
52
|
+
|
|
53
|
+
|
|
54
|
+
def output_file(status: Status):
|
|
55
|
+
if status == "warn" or status == "error":
|
|
56
|
+
return sys.stderr
|
|
57
|
+
return sys.stdout
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: splat64
|
|
3
|
-
Version: 0.34.
|
|
3
|
+
Version: 0.34.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.34.
|
|
79
|
+
splat64[mips]>=0.34.2,<1.0.0
|
|
80
80
|
```
|
|
81
81
|
|
|
82
82
|
### Optional dependencies
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
splat/__init__.py,sha256=
|
|
1
|
+
splat/__init__.py,sha256=IrNBs4z5PshShOZJ2rWshns8vP39aL7U8wl3c3bkpiE,291
|
|
2
2
|
splat/__main__.py,sha256=T333dHDgr-2HYYhtARnYMEjdECnYiNIKfcXDD99o22A,732
|
|
3
3
|
splat/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
splat/disassembler/__init__.py,sha256=IubLMnm_F5cZ7WUPBfk1VJ7vdj6i1if5GG6RBvEoBEA,226
|
|
@@ -15,10 +15,10 @@ splat/platforms/psx.py,sha256=YxQERdOBr4p3ab9Wk80FNhVYi-uvmh7p_jeykSFp23M,40
|
|
|
15
15
|
splat/scripts/__init__.py,sha256=OY0nHg6a7JB437Sb96qLbZ_7ByVsal1gStj35wJAI_Y,101
|
|
16
16
|
splat/scripts/capy.py,sha256=svbOfLO34-QN3xLiBy9vk2RGs_To8TWMWEKBw6yx2xQ,3674
|
|
17
17
|
splat/scripts/create_config.py,sha256=nFwIt1UWzlWE9C3i-2dGsVyGX2cuXzIqkp2kur2-pdE,7670
|
|
18
|
-
splat/scripts/split.py,sha256=
|
|
18
|
+
splat/scripts/split.py,sha256=pzNPJRy11YwIA_2wbRYU2m-zIfBRpo2RySJ9nKVBqRI,19433
|
|
19
19
|
splat/segtypes/__init__.py,sha256=-upUw_4JGQtvyp6IfTMzOq_CK3xvVaT_0K0_EipHyOo,208
|
|
20
20
|
splat/segtypes/linker_entry.py,sha256=e2IzjAWC1B_JCx5pxBdKJrzOCse4SYUBrLHM8l3AR3o,24765
|
|
21
|
-
splat/segtypes/segment.py,sha256=
|
|
21
|
+
splat/segtypes/segment.py,sha256=UByBPNSNb5AThjx2J9PspeQALobc-4_jh0qKQ9ycEjg,30281
|
|
22
22
|
splat/segtypes/common/__init__.py,sha256=mnq0acScilSCCo6q2PvkDk0Or3V8qitA7I8QMVw8haI,631
|
|
23
23
|
splat/segtypes/common/asm.py,sha256=k3p4vgbQJP40iyTgQkIci1j3CpKkWksqoWBx2Pb2oh8,703
|
|
24
24
|
splat/segtypes/common/asmtu.py,sha256=C52kKh-8YeDHu0EucEfQ-tQMtDgfKfwAJ6wwiW6nOBU,354
|
|
@@ -80,7 +80,7 @@ splat/util/cache_handler.py,sha256=N0SggmvYwh0k-0fngHXoHG1CosC2rCsnlCTDsG8z5aE,1
|
|
|
80
80
|
splat/util/color.py,sha256=FSmy0dAQJ9FzRBc99Yt4kBEyB62MC_YiVkqoWgPMsRU,371
|
|
81
81
|
splat/util/compiler.py,sha256=xDDNdnutmkB7T21j-BccBMdkA2leU3GzXuTYEWgVgNw,1530
|
|
82
82
|
splat/util/conf.py,sha256=aM6O2QikosjL95pCxI2FcCxrwDsLP8T8sRf2Uev_Pac,3236
|
|
83
|
-
splat/util/log.py,sha256=
|
|
83
|
+
splat/util/log.py,sha256=aJA1rg8IirJu1wGzjNuATHvepYvD3k5CtEyMasyJWxI,1193
|
|
84
84
|
splat/util/options.py,sha256=iIwI3ZVbwWNIK4_0BIe3Iu9NxhEfIoXyjVGWgjPmG-Q,29157
|
|
85
85
|
splat/util/palettes.py,sha256=d3KoZnwt-zunI9eNwb3txysXg4DY3xnF0O5aQRxM4so,2920
|
|
86
86
|
splat/util/progress_bar.py,sha256=41VehpIFK1cphENaXV_Aq6_3mFx25eQ8V7Z51SKFPeM,166
|
|
@@ -94,8 +94,8 @@ splat/util/n64/find_code_length.py,sha256=uUoPoUORAjsAvH8oGqwnGvw6j8I_NnSrZtA-x9
|
|
|
94
94
|
splat/util/n64/rominfo.py,sha256=U6TieblUAmxhZsn7u8nbjOKkbC6ygsC_7IiLLaOWwUE,14646
|
|
95
95
|
splat/util/psx/__init__.py,sha256=kCCaR-KB1mNlIcXB4OuuSQ2zVLbWg_SnIZIUeyjeBBI,39
|
|
96
96
|
splat/util/psx/psxexeinfo.py,sha256=MrxY28nes0uzpFmCz0o9JFbF8s1eQRQNOpC_82wsMVI,5725
|
|
97
|
-
splat64-0.34.
|
|
98
|
-
splat64-0.34.
|
|
99
|
-
splat64-0.34.
|
|
100
|
-
splat64-0.34.
|
|
101
|
-
splat64-0.34.
|
|
97
|
+
splat64-0.34.2.dist-info/METADATA,sha256=iZ1tPzIOR4OIj8wVR5nxgMuniEL0hkBPONWgIAlHxM8,3830
|
|
98
|
+
splat64-0.34.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
99
|
+
splat64-0.34.2.dist-info/entry_points.txt,sha256=O7Xy-qNOHcI87-OQrWJ-OhRDws74SuwVb_4rtnp0eLo,52
|
|
100
|
+
splat64-0.34.2.dist-info/licenses/LICENSE,sha256=97VMVzjG8yQvsf8NG2M9IFSbh7R8cifJnc6QK1cZqj8,1070
|
|
101
|
+
splat64-0.34.2.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|