170 Commits

Author SHA1 Message Date
Rangi e058e4f50b Add tie-breaking to gbcpal.c in case colors' luminances are identical 2026-09-22 22:02:10 -04:00
Rangi 7a7881d0d6 Sync the make_patch tool with poketcg 2026-08-13 17:31:52 -04:00
Rangi 3438c7003a Use NULL instead of malloc(0) 2026-07-20 21:34:43 -04:00
Rangi 06ec23ccee Fix some issues with C tools, and build them with -std=c17 (#1259) 2026-06-12 12:02:39 -04:00
Rangi fb7b0d7056 Replace lzcomp with lzcompress (#1258) 2026-06-11 13:42:12 -04:00
Rangi 1eb49f8980 Tools accept - as a placeholder filename for stdin or stdout (#1257) 2026-06-08 12:51:11 -04:00
Rangi 0d3a44b923 Fix tools/make_patch.c to be endian-independent (#1252) 2026-06-07 01:21:15 -04:00
Rangi 0d06be1279 Do not compile tools with LTO
Some older systems do not support LTO, and it's unnecessary
for these simple single-file tools
2026-01-07 22:10:33 -05:00
Rangi a55bc33d67 Use features of RGBDS 1.0.0 (#1204)
- Use single-quoted character literals or `CHARVAL` when you need
  a character's numeric value; using strings as numbers is deprecated
- Use `?` to silence a node in warning/error location backtraces
- Use `===` and `!==` instead of `STRCMP`, and `++` instead of `STRCAT`
- Use `__SCOPE__` instead of checking for `..` and `.` separately
- Use `#string` instead of `"{string}"`
- All programs (rgbasm, rgblink, rgbfix, rgbgfx) support `-W` warnings
- `rgbgfx --colors dmg` is short for `rgbgfx --colors dmg=e4`
2025-11-12 15:43:54 -05:00
Rangi b91ba4fe9b Don't hard-code the Stadium data handling in tools/make_patch.c (#1206)
Instead, have a `--ignore addr:size` option that's set in the Makefile
2025-11-12 13:40:58 -05:00
Rangi a15a2970a1 Use features new to RGBDS 0.9.2 (#1180) 2025-05-10 12:47:43 -04:00
Rangi42 7b268790fe Remove nonexistent tool from .gitignore 2025-03-14 22:58:26 -04:00
Rangi 3e2121b21a Support < and > prefixes for high and low bytes in VC patch templates (#1172) 2025-03-08 11:14:56 -05:00
vulcandth 0124a1ea9e Use exported constants for VC patch (#1161) 2024-12-27 13:10:30 -05:00
Rangi 61c9ba5f6c Use RGBDS 0.9.0 (#1159) 2024-12-25 21:24:37 -05:00
Rangi42 901813a343 Refactor gbcpal.c 2024-10-17 14:19:15 -04:00
Sylvie 5a53e297cf Sort Pokemon and trainer sprite palettes, with Makefile-specified exceptions (#1137)
This avoids the need to define their order via indexed PNG palettes

It also avoids the need to use gb-asm-tools' palfix.py on custom sprites

Fixes #1136
2024-10-16 10:48:00 -04:00
Rangi42 75f214e594 GitHub Actions needs libpng-dev installed for rgbds 2024-10-16 10:16:20 -04:00
Rangi42 fa2e675210 Tools depend on common.h by default 2024-10-07 21:14:48 -04:00
Rangi42 a69cfb1720 Remove independent tools and link to pokemon-asm-tools
palfix.py still exists since it is often needed
2024-10-07 17:00:54 -04:00
Rangi42 87042ce723 Fix tools/sym_comments.py 2024-09-26 16:08:00 -04:00
Rangi42 746a06f1de Use bankless symbols for VC constants
This is valid according to the .sym file spec:
<https://rgbds.gbdev.io/sym/>
2024-08-04 21:04:25 -04:00
Rangi42 024c8749a0 Build with RGBDS 0.8.0, though it is not yet required 2024-06-28 15:57:44 -04:00
Rangi42 c1da20e2f1 Disable LodePNG auto-encoding the bpp2png image 2024-03-04 10:29:38 -05:00
Rangi42 04e23a8d56 Refactor tools/dupeframes.py 2023-11-23 00:14:10 -05:00
Rangi df05357a4d Add dupeframes.py tool to find duplicate animated Pokémon frames
Fixes #1067
2023-08-15 19:34:16 -04:00
Rangi a5c36a72c4 Avoid goto, support '\r', and fix typo in scan_includes.c 2023-08-15 19:19:15 -04:00
Lorenzooone 8e71632536 Fix segfaults at EOF for scan_includes, and add token/newline checks (#1068) 2023-08-14 12:12:00 -04:00
mid-kid 5e8c7c8f78 Fix tools/free_space.awk for new rgbds (#1049) 2023-05-17 09:18:18 -05:00
Rangi eb28b5ae56 Only patch Stadium data for a 2MB ROM 2022-12-03 11:10:55 -05:00
Rangi 90bec40276 Fix LodePNG to avoid -Wcast-qual warnings
<https://github.com/lvandeve/lodepng/issues/160>
2022-10-14 16:17:52 -04:00
Rangi 89a888277a Revise macros in tools 2022-10-12 21:43:00 -04:00
Rangi c61bd0d5a7 Update tools/unnamed.py for rgbds 0.6.0 object files 2022-10-02 22:34:10 -04:00
Rangi 8e135931a6 Require rgbds 0.6.0 2022-10-02 22:03:53 -04:00
Rangi 70a3ec1acc startswith works with a tuple 2022-09-30 16:55:35 -04:00
Rangi f76f5c3583 Fix array size 2022-09-30 16:55:09 -04:00
Rangi 38578cc34d Generate the correct Stadium base data for every ROM (#1010) 2022-09-30 16:42:29 -04:00
Rangi 29fada7d8c Don't use removeprefix in tools/unnamed.py (it worked locally...) 2022-09-18 23:56:11 -04:00
Rangi 55ca2da25a Fix tools/unnamed.py and add tools/consts.py 2022-09-18 23:41:45 -04:00
Rangi 6c26e2617c Update and add more tool scripts 2022-09-18 23:08:56 -04:00
Colton G. Rushton 78d93a6246 urlencode special characters like 'é' in documentation link anchors (#976) 2022-07-21 18:48:28 -05:00
Rangi 8c77d6b6d3 Simplify mingle_2bpp_planes
Fixes #891
2022-04-17 15:27:31 -04:00
Rangi 5a7ddb3272 Port and document make_patch.c features needed for pokered 2022-03-26 17:22:09 -04:00
Rangi 9aac39bebc Use noreturn for usage_exit 2022-03-15 17:35:35 -04:00
Rangi 1ba73f225c Use -flto for all tools 2022-03-15 17:29:15 -04:00
Rangi 61faca1f91 Remove pokemontools and gfx.py; update PyPNG and standardize on Python 3 2022-03-14 19:38:06 -04:00
Rangi cfa47e8c78 Add a bpp2png tool to replace gfx.py for converting 1/2bpp to PNG (#889) 2022-03-14 19:31:20 -04:00
Rangi a4bc0ab74f Error messages end with newlines 2022-03-13 14:04:36 -04:00
Rangi 732acf1d4f Allow {patch offset length} (necessary for pokegold) 2022-03-12 22:50:42 -05:00
Rangi f33a041930 Allow alternate labels for patch names 2022-03-12 22:38:29 -05:00