138 Commits

Author SHA1 Message Date
761b4a3a6a
Added mktim-deps for tim dependencies.
Currently, we didn't depend on the image itself, only on the (optional) clut.
2024-09-04 15:47:45 +01:00
7ec665c407
Added script to extract tims. 2024-09-04 15:35:32 +01:00
92fdd3f719
untim now supports overriding the bpp and clut. 2024-09-04 15:35:24 +01:00
d521197089
Added Display and FromStr impl for Bpp. 2024-09-04 15:28:46 +01:00
b9fb3e75af
Un-rlen'd and extracted images from pack/dw2003/nameent/{stdgnmtm, stnmettm}/. 2024-09-03 19:59:06 +01:00
212fd99b65
unpack now creates a better named output file. 2024-09-03 19:24:14 +01:00
833eae05f0
Un-rlen'd and extracted images from pack/dw2003/country/cmfonttm/0/{0, 1}.bin.
Added missing checksum for `build/tim/dw2003/country/cntselwn/1/0.tim`.
2024-09-03 16:07:15 +01:00
adbe9140b9
Fixed panic in lang-file parsing. 2024-09-03 15:24:46 +01:00
b38538ed2c
Added script to help with unpacking files. 2024-09-02 13:56:16 +01:00
ad9dc47790
Extracted some images. 2024-08-18 23:48:56 +01:00
8a22c00b26
Reworked auto-compatibility of mkrlen to allow for more possibilities. 2024-08-18 23:13:03 +01:00
d9984e3796
Removed resize_text option for mkpspexe. 2024-08-18 22:24:56 +01:00
70bf9b6acc
Replaced relocation-based LBAs with symbol-replacement during lib phase.
Upgraded minimum `zbuild` version to `0.1.8`.
2024-08-16 04:03:04 +01:00
9bbe8f250a
Lba sizes are now also automatically gathered.
- Unfortunately, the lba size table has 16-bit entries, which we cannot emit from rust currently.

- Fortunately, there are an even number of entries, so we can simply join two entries in a single normal pointer relocation.

- Unfortunately, this requires us to specify an order for the lbas, instead of just being able to dump them all and figuring out the order in rust.

- Fortunately: It works.
2024-08-14 06:30:33 +01:00
2053f8efd3
Added empty directory source to all iso directories to silence warnings generated by mkpsxiso. 2024-08-11 20:07:34 +01:00
9880e9f3db
Started work on a basic mips simulator. 2024-08-11 16:41:34 +01:00
f5dc249687
Found out where the executable stores the iso lbas.
Executable now includes actual calculated `lba`s.

We bootstrap an iso with fake `lba`s, then create the actual iso with the real `lba`s from the bootstrapped iso.
2024-08-10 20:02:47 +01:00
0ef2e29d03
Replaced find-bytes implementation with "simd"-ish impl. 2024-08-10 02:24:42 +01:00
c16224d7c6
Reworked find-bytes to be able to have multiple haystacks and needles, as well as configuration per-haystack and per-needle. 2024-08-10 01:05:05 +01:00
88f2673c6d
Paths in find-bytes are no longer displayed using their debug representation. 2024-08-08 01:40:30 +01:00
9a03da965b
Replaced find_ram_dump_raw_exe bash script with python. 2024-08-07 20:23:21 +01:00
eb3fc14973
Added input slicing options for find-bytes. 2024-08-07 20:08:21 +01:00
e7677778de
Added fuzzy searching and multithreading to find-bytes. 2024-08-07 20:05:17 +01:00
ba2cf1d8a0
Added helper tool to find bytes in file.
Added helper tool to find all raw exes within a memory dump.
2024-08-06 19:44:47 +01:00
c3a3bae6fc
Removed need to extract object files from rust staticlibs.
Using `--whole-archive` works for all dependencies with just 1 `staticlib`.
`exe` had 2 `staticlib`s, so we make them normal libraries and combine them in one single `staticlib`.
2024-08-05 14:17:17 +01:00
ee06c4b1af
Added helper tool to replace bytes in file.
Added helper tool to replace all addresses with symbols in assembly.
2024-08-04 16:51:58 +01:00
d9d1e9ca4e
Linking is now done against a list of symbols instead of an elf.
This fixes an issue with relocations being truncated despite the symbol address being correct.
2024-08-03 15:23:10 +01:00
bc2aec1d97
elf and lib outputs now generate a map file. 2024-08-02 20:00:12 +01:00
e90924b1f4
Elf building is now done in 2 steps.
The first step defines the layout of all the symbols and is relocatable, while the second step resolves all relocations.
This allows us to have recursive `link_with` in the future.
It also fixes some issues with certain symbols being unresolvable
2024-08-02 19:55:19 +01:00
f94fccb43b
Improved generate_addr_labels utility script. 2024-07-31 00:23:12 +01:00
0ef6457d02
Formatted all files. 2024-07-30 23:59:25 +01:00
9d26b3230e
format now formats rust files. 2024-07-30 23:59:08 +01:00
ac26dee287
Updated to rustc 1.82.0-nightly (2cbbe8b8b 2024-07-28). 2024-07-30 14:16:35 +01:00
4ae0b55355
Updated to rustc 1.81.0-nightly (9c3bc805d 2024-06-27). 2024-07-23 17:50:44 +01:00
a6ddb2854b
zbuild format now sorts imports. 2024-07-23 17:27:59 +01:00
b9c964ce4c
Added python virtual environment. 2024-07-23 17:19:49 +01:00
3ae5a36af4
Removed old objdump_pro dumping script. 2024-07-23 16:21:08 +01:00
c940eb718c
Replaced autopep8 with ruff. 2024-07-23 16:18:45 +01:00
f7e261d92e
Updated to rustc 1.78.0-nightly (d18480b84 2024-03-04). 2024-03-16 09:49:11 +00:00
e27901bc93 Renamed all map files to lowercase. 2023-12-09 22:57:13 +00:00
aa62d67a0f Fixed formatting not using unstaged files. 2023-12-08 22:36:12 +00:00
90b83e334f Added format scripts and rules to zbuild. 2023-12-08 21:26:31 +00:00
f74fcade59 Removed rustc internal feature usage. 2023-12-08 15:09:04 +00:00
4217be4ce6 Replaced mkpack_deps.py with mkpack-deps. 2023-12-08 15:01:15 +00:00
0b3ab8e5d1 Fixed misformatted python script. 2023-12-08 14:56:05 +00:00
4b48a51e26 Decoded some more common codepoints from lang files.
Improved codepoint decoding.
2023-12-04 21:49:03 +00:00
cbbaf7569b Extracted all stage mask files as images.
Renamed `untim`'s `--clut` flag to `--output-clut`.
Changed how `untim` encodes duplicate colors.

The `untim` encoding change was made because we hit the previous (wrong) limit of 256 colors and things started overlapping. Now we support at most 2048 and we error if we would overlap.
2023-12-02 06:45:46 +00:00
5898de6185 Extracted all rlen encoded files from stage mask files. 2023-12-02 05:06:49 +00:00
97762e428a Extracted all entries in pack/dw2003/field/stage/*tmpk/*.bin.
Updated `unpack` to allow empty packs.
2023-12-01 23:41:09 +00:00
cbdb6a5db9 Extracted all entries in dw2003/AAA/DAT/FIELD/STAGE
Updated `unpack` and `mkpack` to allow null entries.
2023-12-01 22:52:50 +00:00