mirror of
https://github.com/encounter/bfbb.git
synced 2026-03-30 10:58:00 -07:00
907afd161e
* 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 #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 * 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>