Conversation
Squashed commit of the following:
commit 57f5777025583d966ea254a6ed011b76e20a18c0
Author: Luke Street <luke@street.dev>
Date: Mon Dec 30 17:49:45 2024 -0700
Add link_order_callback feature
See comments in configure.py for feature documentation.
Resolves #6
commit ca32d3f4295f590fd2a4a19b55aadcb3f728b775
Author: CreateSource <72283721+abnormalhare@users.noreply.github.com>
Date: Mon Dec 30 19:53:44 2024 -0500
fix a bug where computers would fail SSL certification when running ... (#42)
* fix a bug where computers would fail SSL certification when running download_tool.py
* Remove auto install script
* Determine type of URLError
* Update download_tool.py
commit e72bd7a99e2ceb0c7f1554c2bb26da624fba9a4d
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat Dec 14 12:14:21 2024 -0700
Adjust version defines to avoid name collisions and improve usage ergonomics (#45)
* Rename `VERSION` define to `BUILD_VERSION` to avoid some possible name collisions
* Set a unique define per game version in addition to the `BUILD_VERSION` define
commit 54bf50ee31ef7242c74f398529279c62394c68c6
Author: Luke Street <luke@street.dev>
Date: Sun Nov 24 00:16:24 2024 -0700
Update tool versions
commit d34e7c95db2f914abdcd0fbabf53d99a79d67692
Author: Luke Street <luke@street.dev>
Date: Sat Nov 23 18:24:44 2024 -0700
decompctx: Automatic includes from cflags, respect #pragma once
Resolves #23, #43
commit 065fc7b71541d93e18d410b0f7423b6f8a4fa18f
Author: Luke Street <luke@street.dev>
Date: Thu Nov 7 09:30:54 2024 -0700
Add scratch_preset_id option for objdiff decomp.me integration
commit 14c60bb5a53de1f5724ee7cd11c0b7c6c6e61c19
Author: Luke Street <luke@street.dev>
Date: Tue Oct 29 23:39:53 2024 -0600
Use phony targets & order_only for custom build rules
This deduplicates dependencies on custom build rules by writing
them once and using phony targets to collect them.
Uses order_only instead of implicit dependencies to avoid
rebuilding source files when a custom build rule is dirty.
Cleans up typing issues in ninja_syntax.py.
commit f29a46abae162df4df46da1ac5432f7a7243f394
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Oct 27 16:33:26 2024 -0600
Update tools (& sjiswrap v1.2.0 for GC 3.0+ support)
commit b32dc8775246e953b8a24cbf5ccd2e40ec879e94
Author: Nathan <nathanhurst03@gmail.com>
Date: Mon Oct 21 07:54:52 2024 -0600
Don't show objects as diffable in objdiff if a source file doesn't exist (#40)
commit bcd50ed0b93abc76479a0eb9c8e53a339565a555
Author: Luke Street <luke@street.dev>
Date: Fri Oct 18 20:54:45 2024 -0600
Don't error on empty report categories
commit 6d59f31a80a4e8b900e7558d4a2842fd14e054d1
Author: Luke Street <luke@street.dev>
Date: Fri Oct 18 00:46:17 2024 -0600
decompctx: Permit comments after #include directives
commit c6dc39414bd86284641e9430c8a6d95dd9d6e7e6
Author: Luke Street <luke@street.dev>
Date: Wed Oct 16 22:52:23 2024 -0600
Add MatchingFor helper
commit 3a36810d8228497236a89ab14a9bfae285d79ed6
Author: Luke Street <luke@street.dev>
Date: Wed Oct 16 22:49:09 2024 -0600
Add extra_clang_flags option, translate more cflags
commit 2b966f97a3842c4eecda57bff5f60e17ac42b310
Author: Luke Street <luke@street.dev>
Date: Sun Oct 13 12:17:15 2024 -0600
Add config.print_progress_categories & validate object categories
commit ff6be416c6ba7148e07bb8228394da3b4a5373b3
Author: Luke Street <luke@street.dev>
Date: Sun Oct 13 01:07:16 2024 -0600
Document `object_base` and disc image support
This new setup flow allows users to copy their disc image into
`orig/GAMEID`, run a build, then delete the disc image to save space.
The new `object_base` config option specifies where the disc image is
searched for. Updated README.example.md with new setup instructions,
removing references to Dolphin Emulator.
commit 460704616290705710abc7f14d680377b04b23fd
Author: Luke Street <luke@street.dev>
Date: Sat Oct 12 22:02:31 2024 -0600
Remove fetch-depth: 0 from CI checkout
After reading the documentation for 2 seconds, it turns out that we
actually wanted `fetch-depth: 1`, and coincidentally, that's the
default.
commit 4ceb68b953365e8f9defbf1df4e86589c71f1e1e
Author: Luke Street <luke@street.dev>
Date: Sat Oct 12 17:20:21 2024 -0600
--target=powerpc-none-eabi -> powerpc-eabi
No difference in behavior, but matches the binutils names,
so I think it's ever so slightly nicer.
commit 75697a8e6de1f8778729ed08883feb40e57fcea3
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat Oct 12 16:50:12 2024 -0600
Add support for generating clangd `compile_commands.json` config (#38)
* Implement support for generating clangd `compile_commands.json` config
* Add example .clangd file
* Tidy .gitignore and add entries for clangd and other things
* couple things i forgot to remove
* Change indent level to 2
* Centralize file type checking logic
* Refactor flag replacments to fix `-lang=` flags not being handled
* Move language flag fallback addition to `generate_build_ninja`
* Remove file type flags from .clangd example
* Remove clangd compiler defines option
Projects which need it can define things themselves in .clangd
* Move global clangd flags to tools/project.py & update vscode config
---------
Co-authored-by: Luke Street <luke@street.dev>
commit d1334bb79e71af1a7b3b090bffda4adc483f722c
Author: Luke Street <luke@street.dev>
Date: Tue Oct 8 21:20:40 2024 -0600
Preserve symbol_mappings from existing objdiff.json
commit f6f0e66931756e290466800491740557dd0f2e22
Author: Luke Street <luke@street.dev>
Date: Mon Sep 30 22:20:34 2024 -0600
Revamp progress output with objdiff report
Progress output now displays % matched, which measures 100% matched
functions across _all_ files, including files that aren't
complete/linked.
Due to this change, all source files need to be built in order to
calculate progress during a normal `ninja` run. In other words,
this makes the `all_source` build the default behavior.
The progress display can be disabled via `configure.py --no-progress`
or `config.progress = False`. This will only compile the source files
needed to link the matching DOL.
Additionally, progress information is automatically emitted as a job
summary in GitHub Actions, so it can be viewed without opening the
build logs.
commit 477ef5d91672671d09846826950a41d1f5a543e8
Author: Luke Street <luke@street.dev>
Date: Sun Sep 29 13:59:02 2024 -0600
Update dtk_tag and objdiff_tag
commit 584ec3de5f2bd3405f66b0cfcc7312ac09fd83cd
Author: Luke Street <luke@street.dev>
Date: Sun Sep 29 13:58:15 2024 -0600
Only write metadata.source_path if source file exists
commit 2f94ccb0628961aaebbe88a7cfe5323fd92489f5
Author: Luke Street <luke@street.dev>
Date: Tue Sep 17 19:21:54 2024 -0600
Minor cleanup
commit f49a9cbb62f705cbc994d86b08cc1a9ae44622b5
Author: Luke Street <luke@street.dev>
Date: Tue Sep 17 19:21:17 2024 -0600
Fancy progress output fixes
commit 83e44bbec317bffc72eea944c457f1bc00da0066
Author: Luke Street <luke@street.dev>
Date: Tue Sep 17 19:20:51 2024 -0600
Documentation updates
Resolves #28
commit 16efd6a02546684172234600194ce3b9d08307a5
Author: Luke Street <luke@street.dev>
Date: Sat Sep 7 09:27:42 2024 -0600
Some configure.py flags cleanup
commit 39697835f3916c9ec088fe372dd25e69645c829f
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat Sep 7 09:15:05 2024 -0600
Actually remove config.debug all the way (#36)
commit 3f0a1529ffe6881f9e27545edc684083dd845498
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat Sep 7 02:18:53 2024 -0600
Move conditional linker flag additions from project.py to configure.py (#35)
commit 2049aeb3714353fc900b04b5f06a0ae7fe7ec215
Author: Luke Street <luke@street.dev>
Date: Fri Sep 6 19:40:12 2024 -0600
Fixes for empty progress categories
commit 2f052e0982c5f56a11bce83b585b9eec77bb4fdb
Author: Luke Street <luke@street.dev>
Date: Wed Sep 4 21:02:42 2024 -0600
objdiff.json output fixes
Ensures that most unit fields are written even
when missing the source file or auto-generated
commit f54d479e6f09c9c0560c2d58d8f322561f612d53
Author: Luke Street <luke@street.dev>
Date: Wed Sep 4 20:34:10 2024 -0600
Update dtk_tag & remove ldflags -warn off
With dtk v0.9.5, disabling linker warnings is no
longer necessary. Based on mw_comment_version,
it adjusts behavior for the linker version.
commit af452140cc0395ffad34527009c5292b873063db
Author: Luke Street <luke@street.dev>
Date: Wed Sep 4 08:55:19 2024 -0600
Support custom progress categories (#33)
* WIP custom progress categories
* Working progress categories & type fixes
commit 4b1995b381d4f1a00119d91f004df8c804642f35
Author: Steven Casper <sebastiancasper3@gmail.com>
Date: Sat Aug 17 23:18:22 2024 -0400
Allow spaces after '#' character (#29)
commit d5df3db21f3311c569a158ad7f5f521b5fc0a0a2
Author: Luke Street <luke@street.dev>
Date: Mon Aug 12 18:13:09 2024 -0600
Oops, missed a char
commit 3986009d973156dc64e73d4e92467a37f59dfe8f
Author: Luke Street <luke@street.dev>
Date: Mon Aug 12 18:10:35 2024 -0600
Add objdiff report to CI example
commit f29cfaf31304ff01c5c8f0e7350e12b31145e88a
Author: Luke Street <luke@street.dev>
Date: Mon Aug 12 18:09:10 2024 -0600
Add build/GAMEID/report.json rule using objdiff-cli
commit 5c3892b317c3ecf9bf83b63a536366797fc94cfd
Author: Luke Street <luke@street.dev>
Date: Mon Aug 12 18:08:26 2024 -0600
Only build asm with --non-matching
commit b7077b66b228b6f200b53be81e4ef24de424286b
Author: Luke Street <luke@street.dev>
Date: Sun Aug 11 18:22:25 2024 -0600
Output `src/*.s` files into the correct build dir
Before, it would put both `asm/*.s` (modding overrides)
and `src/*.s` files (matching source files that happen
to be assembly) into `build/mod`.
commit a57d08dd077386421cfae99bfb012e33b7c9ea6a
Author: Luke Street <luke@street.dev>
Date: Sun Aug 11 18:07:07 2024 -0600
Add `ninja tools` helper for downloading all tools
commit 5e7990495b500e317a286133d795a3e7b5d92d27
Author: NWPlayer123 <nikki@aetheria.dev>
Date: Tue Aug 6 21:08:26 2024 -0600
Allow Custom Build Steps/Rules (#27)
commit 5c333bd399e89c370917a3963fbc42f28c015f78
Author: LagoLunatic <LagoLunatic@users.noreply.github.com>
Date: Thu Jul 11 14:46:39 2024 -0400
Fix auto-decomp.me scratch config ignoring extra_cflags (#25)
commit e45a0ecf5e01fc6cd05b82b491b9683f2734986e
Author: Luke Street <luke@street.dev>
Date: Sun Jun 23 22:31:59 2024 -0600
Downgrade wibo to 0.6.11
commit a3af4917a6400b4b8a517a72998e569347a6f5cb
Author: Luke Street <luke.street@encounterpc.com>
Date: Thu Jun 20 22:46:43 2024 -0600
Update projects list
commit cd2d65c15774faba6c7e1b30a32c8e4c218a2204
Author: Luke Street <luke@street.dev>
Date: Wed Jun 19 14:08:49 2024 -0600
Bump actions versions
commit 597ffd8f653f56c84ecc637617396eb6c11646a4
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Jun 10 00:47:36 2024 -0600
Keep ldflags "-warn off" commented
commit 182de95dae3c9e9120cdef10f1ab7e103d7e7003
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Jun 9 22:42:12 2024 -0600
Remove "collected" from fancy progress message
commit a739a4f9153ade1bf5932de4b948b4f211bd1bb7
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Jun 9 22:41:00 2024 -0600
Bump tool versions
commit 08a61d78b28bdb1c54860dbb143a7e5b24147c10
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Jun 9 22:37:51 2024 -0600
Enable all decomp.me compiler mappings
commit cf654dd8ad4db021bf2a3b4dafc5ca2f8d3dc400
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat May 18 14:50:32 2024 -0600
Allow adding re-configure dependencies and doing non-matching builds (#22)
* Fix type checking errors with config version
* Add optional reconfigure dependency list to project config
* Add non-matching build option
Skips hash check and progress output
* Uncomment `config.reconfig_deps` assignment
* Change default target for non-matching instead of stubbing check/progress
commit d102696838fa9cbf5d5d6a9df65b54361a46fd90
Author: Yanis <35189056+Yanis42@users.noreply.github.com>
Date: Fri May 17 02:32:30 2024 +0200
add -v for --version (#21)
commit 5ea53e5a59f08b08619928c39ed1efc5395160dd
Author: Robin Avery <robin@ribbanya.dev>
Date: Thu Mar 14 19:18:01 2024 -0400
Fix misplaced `None` assignment in project.py (#20)
commit afb82c88dc0db76ce0194462ed7a246be69ac730
Author: Luke Street <luke.street@encounterpc.com>
Date: Tue Mar 5 17:24:27 2024 -0700
Add GitHub Actions workflow template & documentation
commit 2b626fb53e6a6d56505434f27c21e1408e1bed5c
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Mar 4 23:30:38 2024 -0700
Minor documentation updates
commit 0be47a04f7b016ab66eb16187f4dd22e90392b7b
Author: Robin Avery <robin@ribbanya.dev>
Date: Tue Mar 5 01:19:57 2024 -0500
Fix dtk binary feature (#18)
commit 95c866aa9d6842e473b0b7c8fc094eed91ec9b3b
Author: Robin Avery <robin@ribbanya.dev>
Date: Tue Mar 5 00:13:39 2024 -0500
Support disabling asm overrides and fix lint errors (#17)
commit 368342ae8b0637c2adc8c2fcb052037bf84e0da3
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Mar 4 18:23:50 2024 -0700
Update decomp-toolkit to v0.7.5
commit 1d3192a4aa1bb943dbdae90d126aebd433add905
Author: Robin Avery <robin@ribbanya.dev>
Date: Mon Mar 4 20:13:10 2024 -0500
Support specifying a dtk binary (#14)
commit 6debc74abf4a0a695adae4e69b340343a1893e70
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Mar 4 08:17:51 2024 -0700
Fix Windows path handling
ninja_syntax.py should be writing native
platform paths instead of converting
things to unix paths.
Separately, fixed type errors introduced
by the previous commit.
commit 192191ced251526ce4438aae7f637f2b3a735cdc
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Mar 3 22:47:05 2024 -0700
Assembly modding support & objdiff + decomp.me integration (#15)
* Add initial asm build support
* WIP decomp.me and links
commit bf77cea86d78831621a03afb70f5393d143bc45a
Author: Robin Avery <robin@ribbanya.dev>
Date: Thu Feb 29 13:21:44 2024 -0500
Fix `pyright` complaints and run `black` (#12)
commit 2e4bd593e5fcb76473e43ee728bf0f12fac5db0f
Author: Robin Avery <robin@ribbanya.dev>
Date: Fri Jan 26 12:42:46 2024 -0500
Set mode `+x` on executable Python scripts (#10)
commit 575e3b4a464b8179923ac062c0051089a9bafab2
Author: Thaddeus Crews <repiteo@outlook.com>
Date: Wed Jan 24 00:21:46 2024 -0600
Implement mypy fixes across all python files (#4)
• Type hinting added to every single file
• Path conversion now handled in `ninja_syntax.py` natively, can safely pass almost everything directly
commit 04c8b45f9305cd2fa03d6eb7c63625b30cad1c11
Author: Phillip Stephens <antidote.crk@gmail.com>
Date: Wed Dec 20 17:59:04 2023 -0800
Add ability to print progress in a fun way. (#2)
This adds the ability to specify both code/data fractions and item specifiers
commit e84ce8db06315815b7c462b3498387e38bfb2f5b
Author: Phillip Stephens <antidote.crk@gmail.com>
Date: Mon Dec 18 20:55:36 2023 -0800
Add 'src_dir' override for libraries (#1)
This allows projects to specify external libraries more easily.
Particularly useful for common libraries shared between decomp projects,
enabling the use of submodules/subtrees to deduplicated decomp efforts
commit 90a464aea1197b58c5aef0e87c311d39b2f90a43
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Nov 26 00:45:22 2023 -0500
Document asset extraction
commit bc31a5b90d56e3166c90967ac4027ad22eeb76ff
Author: Luke Street <luke.street@encounterpc.com>
Date: Tue Nov 21 20:25:35 2023 -0500
Relicense under CC0
commit 1bcf33638fb9770aa6289b616437e1565d52ab8c
Author: Luke Street <luke.street@encounterpc.com>
Date: Tue Nov 21 20:14:13 2023 -0500
Sync various changes from other repos & minor updates
commit 3be5e73054787fbd088085e6012900ffe6e3aeab
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Nov 6 21:28:55 2023 -0500
Update common_bss.md
commit bfe4567c0c828ed845b625fdccae2280856a1dbc
Author: Luke Street <luke.street@encounterpc.com>
Date: Tue Oct 10 23:29:45 2023 -0400
Update tools & use new compilers URL
commit 5b8fbc6cd5f96ee77ec4c4369e492371656f279b
Author: Luke Street <luke.street@encounterpc.com>
Date: Wed Oct 4 23:26:02 2023 -0400
Initial commit
encounter
approved these changes
Mar 22, 2025
encounter
reviewed
Mar 22, 2025
Co-authored-by: Luke Street <luke.street@encounterpc.com>
Co-authored-by: Luke Street <luke.street@encounterpc.com>
Co-authored-by: Luke Street <luke.street@encounterpc.com>
mattbruv
approved these changes
Mar 22, 2025
escape209
pushed a commit
to escape209/bfbbdecomp
that referenced
this pull request
Mar 23, 2025
* Update dtk-template
Squashed commit of the following:
commit 57f5777025583d966ea254a6ed011b76e20a18c0
Author: Luke Street <luke@street.dev>
Date: Mon Dec 30 17:49:45 2024 -0700
Add link_order_callback feature
See comments in configure.py for feature documentation.
Resolves bfbbdecomp#6
commit ca32d3f4295f590fd2a4a19b55aadcb3f728b775
Author: CreateSource <72283721+abnormalhare@users.noreply.github.com>
Date: Mon Dec 30 19:53:44 2024 -0500
fix a bug where computers would fail SSL certification when running ... (bfbbdecomp#42)
* fix a bug where computers would fail SSL certification when running download_tool.py
* Remove auto install script
* Determine type of URLError
* Update download_tool.py
commit e72bd7a99e2ceb0c7f1554c2bb26da624fba9a4d
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat Dec 14 12:14:21 2024 -0700
Adjust version defines to avoid name collisions and improve usage ergonomics (bfbbdecomp#45)
* Rename `VERSION` define to `BUILD_VERSION` to avoid some possible name collisions
* Set a unique define per game version in addition to the `BUILD_VERSION` define
commit 54bf50ee31ef7242c74f398529279c62394c68c6
Author: Luke Street <luke@street.dev>
Date: Sun Nov 24 00:16:24 2024 -0700
Update tool versions
commit d34e7c95db2f914abdcd0fbabf53d99a79d67692
Author: Luke Street <luke@street.dev>
Date: Sat Nov 23 18:24:44 2024 -0700
decompctx: Automatic includes from cflags, respect #pragma once
Resolves bfbbdecomp#23, bfbbdecomp#43
commit 065fc7b71541d93e18d410b0f7423b6f8a4fa18f
Author: Luke Street <luke@street.dev>
Date: Thu Nov 7 09:30:54 2024 -0700
Add scratch_preset_id option for objdiff decomp.me integration
commit 14c60bb5a53de1f5724ee7cd11c0b7c6c6e61c19
Author: Luke Street <luke@street.dev>
Date: Tue Oct 29 23:39:53 2024 -0600
Use phony targets & order_only for custom build rules
This deduplicates dependencies on custom build rules by writing
them once and using phony targets to collect them.
Uses order_only instead of implicit dependencies to avoid
rebuilding source files when a custom build rule is dirty.
Cleans up typing issues in ninja_syntax.py.
commit f29a46abae162df4df46da1ac5432f7a7243f394
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Oct 27 16:33:26 2024 -0600
Update tools (& sjiswrap v1.2.0 for GC 3.0+ support)
commit b32dc8775246e953b8a24cbf5ccd2e40ec879e94
Author: Nathan <nathanhurst03@gmail.com>
Date: Mon Oct 21 07:54:52 2024 -0600
Don't show objects as diffable in objdiff if a source file doesn't exist (bfbbdecomp#40)
commit bcd50ed0b93abc76479a0eb9c8e53a339565a555
Author: Luke Street <luke@street.dev>
Date: Fri Oct 18 20:54:45 2024 -0600
Don't error on empty report categories
commit 6d59f31a80a4e8b900e7558d4a2842fd14e054d1
Author: Luke Street <luke@street.dev>
Date: Fri Oct 18 00:46:17 2024 -0600
decompctx: Permit comments after #include directives
commit c6dc39414bd86284641e9430c8a6d95dd9d6e7e6
Author: Luke Street <luke@street.dev>
Date: Wed Oct 16 22:52:23 2024 -0600
Add MatchingFor helper
commit 3a36810d8228497236a89ab14a9bfae285d79ed6
Author: Luke Street <luke@street.dev>
Date: Wed Oct 16 22:49:09 2024 -0600
Add extra_clang_flags option, translate more cflags
commit 2b966f97a3842c4eecda57bff5f60e17ac42b310
Author: Luke Street <luke@street.dev>
Date: Sun Oct 13 12:17:15 2024 -0600
Add config.print_progress_categories & validate object categories
commit ff6be416c6ba7148e07bb8228394da3b4a5373b3
Author: Luke Street <luke@street.dev>
Date: Sun Oct 13 01:07:16 2024 -0600
Document `object_base` and disc image support
This new setup flow allows users to copy their disc image into
`orig/GAMEID`, run a build, then delete the disc image to save space.
The new `object_base` config option specifies where the disc image is
searched for. Updated README.example.md with new setup instructions,
removing references to Dolphin Emulator.
commit 460704616290705710abc7f14d680377b04b23fd
Author: Luke Street <luke@street.dev>
Date: Sat Oct 12 22:02:31 2024 -0600
Remove fetch-depth: 0 from CI checkout
After reading the documentation for 2 seconds, it turns out that we
actually wanted `fetch-depth: 1`, and coincidentally, that's the
default.
commit 4ceb68b953365e8f9defbf1df4e86589c71f1e1e
Author: Luke Street <luke@street.dev>
Date: Sat Oct 12 17:20:21 2024 -0600
--target=powerpc-none-eabi -> powerpc-eabi
No difference in behavior, but matches the binutils names,
so I think it's ever so slightly nicer.
commit 75697a8e6de1f8778729ed08883feb40e57fcea3
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat Oct 12 16:50:12 2024 -0600
Add support for generating clangd `compile_commands.json` config (bfbbdecomp#38)
* Implement support for generating clangd `compile_commands.json` config
* Add example .clangd file
* Tidy .gitignore and add entries for clangd and other things
* couple things i forgot to remove
* Change indent level to 2
* Centralize file type checking logic
* Refactor flag replacments to fix `-lang=` flags not being handled
* Move language flag fallback addition to `generate_build_ninja`
* Remove file type flags from .clangd example
* Remove clangd compiler defines option
Projects which need it can define things themselves in .clangd
* Move global clangd flags to tools/project.py & update vscode config
---------
Co-authored-by: Luke Street <luke@street.dev>
commit d1334bb79e71af1a7b3b090bffda4adc483f722c
Author: Luke Street <luke@street.dev>
Date: Tue Oct 8 21:20:40 2024 -0600
Preserve symbol_mappings from existing objdiff.json
commit f6f0e66931756e290466800491740557dd0f2e22
Author: Luke Street <luke@street.dev>
Date: Mon Sep 30 22:20:34 2024 -0600
Revamp progress output with objdiff report
Progress output now displays % matched, which measures 100% matched
functions across _all_ files, including files that aren't
complete/linked.
Due to this change, all source files need to be built in order to
calculate progress during a normal `ninja` run. In other words,
this makes the `all_source` build the default behavior.
The progress display can be disabled via `configure.py --no-progress`
or `config.progress = False`. This will only compile the source files
needed to link the matching DOL.
Additionally, progress information is automatically emitted as a job
summary in GitHub Actions, so it can be viewed without opening the
build logs.
commit 477ef5d91672671d09846826950a41d1f5a543e8
Author: Luke Street <luke@street.dev>
Date: Sun Sep 29 13:59:02 2024 -0600
Update dtk_tag and objdiff_tag
commit 584ec3de5f2bd3405f66b0cfcc7312ac09fd83cd
Author: Luke Street <luke@street.dev>
Date: Sun Sep 29 13:58:15 2024 -0600
Only write metadata.source_path if source file exists
commit 2f94ccb0628961aaebbe88a7cfe5323fd92489f5
Author: Luke Street <luke@street.dev>
Date: Tue Sep 17 19:21:54 2024 -0600
Minor cleanup
commit f49a9cbb62f705cbc994d86b08cc1a9ae44622b5
Author: Luke Street <luke@street.dev>
Date: Tue Sep 17 19:21:17 2024 -0600
Fancy progress output fixes
commit 83e44bbec317bffc72eea944c457f1bc00da0066
Author: Luke Street <luke@street.dev>
Date: Tue Sep 17 19:20:51 2024 -0600
Documentation updates
Resolves bfbbdecomp#28
commit 16efd6a02546684172234600194ce3b9d08307a5
Author: Luke Street <luke@street.dev>
Date: Sat Sep 7 09:27:42 2024 -0600
Some configure.py flags cleanup
commit 39697835f3916c9ec088fe372dd25e69645c829f
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat Sep 7 09:15:05 2024 -0600
Actually remove config.debug all the way (bfbbdecomp#36)
commit 3f0a1529ffe6881f9e27545edc684083dd845498
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat Sep 7 02:18:53 2024 -0600
Move conditional linker flag additions from project.py to configure.py (bfbbdecomp#35)
commit 2049aeb3714353fc900b04b5f06a0ae7fe7ec215
Author: Luke Street <luke@street.dev>
Date: Fri Sep 6 19:40:12 2024 -0600
Fixes for empty progress categories
commit 2f052e0982c5f56a11bce83b585b9eec77bb4fdb
Author: Luke Street <luke@street.dev>
Date: Wed Sep 4 21:02:42 2024 -0600
objdiff.json output fixes
Ensures that most unit fields are written even
when missing the source file or auto-generated
commit f54d479e6f09c9c0560c2d58d8f322561f612d53
Author: Luke Street <luke@street.dev>
Date: Wed Sep 4 20:34:10 2024 -0600
Update dtk_tag & remove ldflags -warn off
With dtk v0.9.5, disabling linker warnings is no
longer necessary. Based on mw_comment_version,
it adjusts behavior for the linker version.
commit af452140cc0395ffad34527009c5292b873063db
Author: Luke Street <luke@street.dev>
Date: Wed Sep 4 08:55:19 2024 -0600
Support custom progress categories (bfbbdecomp#33)
* WIP custom progress categories
* Working progress categories & type fixes
commit 4b1995b381d4f1a00119d91f004df8c804642f35
Author: Steven Casper <sebastiancasper3@gmail.com>
Date: Sat Aug 17 23:18:22 2024 -0400
Allow spaces after '#' character (bfbbdecomp#29)
commit d5df3db21f3311c569a158ad7f5f521b5fc0a0a2
Author: Luke Street <luke@street.dev>
Date: Mon Aug 12 18:13:09 2024 -0600
Oops, missed a char
commit 3986009d973156dc64e73d4e92467a37f59dfe8f
Author: Luke Street <luke@street.dev>
Date: Mon Aug 12 18:10:35 2024 -0600
Add objdiff report to CI example
commit f29cfaf31304ff01c5c8f0e7350e12b31145e88a
Author: Luke Street <luke@street.dev>
Date: Mon Aug 12 18:09:10 2024 -0600
Add build/GAMEID/report.json rule using objdiff-cli
commit 5c3892b317c3ecf9bf83b63a536366797fc94cfd
Author: Luke Street <luke@street.dev>
Date: Mon Aug 12 18:08:26 2024 -0600
Only build asm with --non-matching
commit b7077b66b228b6f200b53be81e4ef24de424286b
Author: Luke Street <luke@street.dev>
Date: Sun Aug 11 18:22:25 2024 -0600
Output `src/*.s` files into the correct build dir
Before, it would put both `asm/*.s` (modding overrides)
and `src/*.s` files (matching source files that happen
to be assembly) into `build/mod`.
commit a57d08dd077386421cfae99bfb012e33b7c9ea6a
Author: Luke Street <luke@street.dev>
Date: Sun Aug 11 18:07:07 2024 -0600
Add `ninja tools` helper for downloading all tools
commit 5e7990495b500e317a286133d795a3e7b5d92d27
Author: NWPlayer123 <nikki@aetheria.dev>
Date: Tue Aug 6 21:08:26 2024 -0600
Allow Custom Build Steps/Rules (bfbbdecomp#27)
commit 5c333bd399e89c370917a3963fbc42f28c015f78
Author: LagoLunatic <LagoLunatic@users.noreply.github.com>
Date: Thu Jul 11 14:46:39 2024 -0400
Fix auto-decomp.me scratch config ignoring extra_cflags (bfbbdecomp#25)
commit e45a0ecf5e01fc6cd05b82b491b9683f2734986e
Author: Luke Street <luke@street.dev>
Date: Sun Jun 23 22:31:59 2024 -0600
Downgrade wibo to 0.6.11
commit a3af4917a6400b4b8a517a72998e569347a6f5cb
Author: Luke Street <luke.street@encounterpc.com>
Date: Thu Jun 20 22:46:43 2024 -0600
Update projects list
commit cd2d65c15774faba6c7e1b30a32c8e4c218a2204
Author: Luke Street <luke@street.dev>
Date: Wed Jun 19 14:08:49 2024 -0600
Bump actions versions
commit 597ffd8f653f56c84ecc637617396eb6c11646a4
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Jun 10 00:47:36 2024 -0600
Keep ldflags "-warn off" commented
commit 182de95dae3c9e9120cdef10f1ab7e103d7e7003
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Jun 9 22:42:12 2024 -0600
Remove "collected" from fancy progress message
commit a739a4f9153ade1bf5932de4b948b4f211bd1bb7
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Jun 9 22:41:00 2024 -0600
Bump tool versions
commit 08a61d78b28bdb1c54860dbb143a7e5b24147c10
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Jun 9 22:37:51 2024 -0600
Enable all decomp.me compiler mappings
commit cf654dd8ad4db021bf2a3b4dafc5ca2f8d3dc400
Author: Nathan <nathanhurst03@gmail.com>
Date: Sat May 18 14:50:32 2024 -0600
Allow adding re-configure dependencies and doing non-matching builds (bfbbdecomp#22)
* Fix type checking errors with config version
* Add optional reconfigure dependency list to project config
* Add non-matching build option
Skips hash check and progress output
* Uncomment `config.reconfig_deps` assignment
* Change default target for non-matching instead of stubbing check/progress
commit d102696838fa9cbf5d5d6a9df65b54361a46fd90
Author: Yanis <35189056+Yanis42@users.noreply.github.com>
Date: Fri May 17 02:32:30 2024 +0200
add -v for --version (bfbbdecomp#21)
commit 5ea53e5a59f08b08619928c39ed1efc5395160dd
Author: Robin Avery <robin@ribbanya.dev>
Date: Thu Mar 14 19:18:01 2024 -0400
Fix misplaced `None` assignment in project.py (bfbbdecomp#20)
commit afb82c88dc0db76ce0194462ed7a246be69ac730
Author: Luke Street <luke.street@encounterpc.com>
Date: Tue Mar 5 17:24:27 2024 -0700
Add GitHub Actions workflow template & documentation
commit 2b626fb53e6a6d56505434f27c21e1408e1bed5c
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Mar 4 23:30:38 2024 -0700
Minor documentation updates
commit 0be47a04f7b016ab66eb16187f4dd22e90392b7b
Author: Robin Avery <robin@ribbanya.dev>
Date: Tue Mar 5 01:19:57 2024 -0500
Fix dtk binary feature (bfbbdecomp#18)
commit 95c866aa9d6842e473b0b7c8fc094eed91ec9b3b
Author: Robin Avery <robin@ribbanya.dev>
Date: Tue Mar 5 00:13:39 2024 -0500
Support disabling asm overrides and fix lint errors (bfbbdecomp#17)
commit 368342ae8b0637c2adc8c2fcb052037bf84e0da3
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Mar 4 18:23:50 2024 -0700
Update decomp-toolkit to v0.7.5
commit 1d3192a4aa1bb943dbdae90d126aebd433add905
Author: Robin Avery <robin@ribbanya.dev>
Date: Mon Mar 4 20:13:10 2024 -0500
Support specifying a dtk binary (bfbbdecomp#14)
commit 6debc74abf4a0a695adae4e69b340343a1893e70
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Mar 4 08:17:51 2024 -0700
Fix Windows path handling
ninja_syntax.py should be writing native
platform paths instead of converting
things to unix paths.
Separately, fixed type errors introduced
by the previous commit.
commit 192191ced251526ce4438aae7f637f2b3a735cdc
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Mar 3 22:47:05 2024 -0700
Assembly modding support & objdiff + decomp.me integration (bfbbdecomp#15)
* Add initial asm build support
* WIP decomp.me and links
commit bf77cea86d78831621a03afb70f5393d143bc45a
Author: Robin Avery <robin@ribbanya.dev>
Date: Thu Feb 29 13:21:44 2024 -0500
Fix `pyright` complaints and run `black` (bfbbdecomp#12)
commit 2e4bd593e5fcb76473e43ee728bf0f12fac5db0f
Author: Robin Avery <robin@ribbanya.dev>
Date: Fri Jan 26 12:42:46 2024 -0500
Set mode `+x` on executable Python scripts (bfbbdecomp#10)
commit 575e3b4a464b8179923ac062c0051089a9bafab2
Author: Thaddeus Crews <repiteo@outlook.com>
Date: Wed Jan 24 00:21:46 2024 -0600
Implement mypy fixes across all python files (bfbbdecomp#4)
• Type hinting added to every single file
• Path conversion now handled in `ninja_syntax.py` natively, can safely pass almost everything directly
commit 04c8b45f9305cd2fa03d6eb7c63625b30cad1c11
Author: Phillip Stephens <antidote.crk@gmail.com>
Date: Wed Dec 20 17:59:04 2023 -0800
Add ability to print progress in a fun way. (bfbbdecomp#2)
This adds the ability to specify both code/data fractions and item specifiers
commit e84ce8db06315815b7c462b3498387e38bfb2f5b
Author: Phillip Stephens <antidote.crk@gmail.com>
Date: Mon Dec 18 20:55:36 2023 -0800
Add 'src_dir' override for libraries (bfbbdecomp#1)
This allows projects to specify external libraries more easily.
Particularly useful for common libraries shared between decomp projects,
enabling the use of submodules/subtrees to deduplicated decomp efforts
commit 90a464aea1197b58c5aef0e87c311d39b2f90a43
Author: Luke Street <luke.street@encounterpc.com>
Date: Sun Nov 26 00:45:22 2023 -0500
Document asset extraction
commit bc31a5b90d56e3166c90967ac4027ad22eeb76ff
Author: Luke Street <luke.street@encounterpc.com>
Date: Tue Nov 21 20:25:35 2023 -0500
Relicense under CC0
commit 1bcf33638fb9770aa6289b616437e1565d52ab8c
Author: Luke Street <luke.street@encounterpc.com>
Date: Tue Nov 21 20:14:13 2023 -0500
Sync various changes from other repos & minor updates
commit 3be5e73054787fbd088085e6012900ffe6e3aeab
Author: Luke Street <luke.street@encounterpc.com>
Date: Mon Nov 6 21:28:55 2023 -0500
Update common_bss.md
commit bfe4567c0c828ed845b625fdccae2280856a1dbc
Author: Luke Street <luke.street@encounterpc.com>
Date: Tue Oct 10 23:29:45 2023 -0400
Update tools & use new compilers URL
commit 5b8fbc6cd5f96ee77ec4c4369e492371656f279b
Author: Luke Street <luke.street@encounterpc.com>
Date: Wed Oct 4 23:26:02 2023 -0400
Initial commit
* Update configure.py
Co-authored-by: Luke Street <luke.street@encounterpc.com>
* Update configure.py
Co-authored-by: Luke Street <luke.street@encounterpc.com>
* Update configure.py
Co-authored-by: Luke Street <luke.street@encounterpc.com>
---------
Co-authored-by: Luke Street <luke.street@encounterpc.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.