Commit graph

109 commits

Author SHA1 Message Date
Tyler Wilding 94603bce49
ci: Workaround CMake/Perl regression in recent windows-2022 images (#3097) 2023-10-20 21:06:12 -04:00
Tyler Wilding 8b3b96761d
g/j2: Integrate highscores with Speedrun.com/JakSpeedruns.com when speedrunner mode is enabled (#3037) 2023-10-11 20:43:55 -04:00
Tyler Wilding 2adf440e3e
github: add issue template for jak 2 (#3073) 2023-10-09 19:41:41 -04:00
dependabot[bot] 4731ae6e22
Bump actions/checkout from 3 to 4 (#3047)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-30 23:36:22 -04:00
Tyler Wilding 049a8057a8
ci: separate lint checks into a required and optional workflow (#3002) 2023-09-17 21:47:26 -04:00
Tyler Wilding 3252136c1f
CI: check for removed goal_src code that we want or need to perserve (#2987) 2023-09-14 01:31:08 -04:00
Tyler Wilding 6e0d3d681c
ci: macOS build with big sur to increase compatibility (#2944) 2023-08-29 21:12:27 -04:00
Tyler Wilding 5f4dfcdfb6
github: update issue templates, move general feature requests to discussions preferably (#2879) 2023-08-02 19:44:02 -04:00
Tyler Wilding 71225ec577
ci: strip binaries in their respective runners (#2868) 2023-07-30 18:50:24 -04:00
Tyler Wilding e0bc7ce732
Get the project compiling on Apple Silicon macOS natively (arm64) (#2827)
I havn't tested it yet, but I can almost guarantee that atleast `goalc`
will not work in the slightest!

But the project is atleast fully compiling. My hope is to start
translating some AVX to NEON next / get `goalc` working...eventually.
2023-07-16 11:13:48 -04:00
Fabian Bergström d8ca594ee3
add (Intel) macOS job and artifacts to release pipeline (#2817) 2023-07-08 18:09:41 -04:00
Fabian Bergström cf295952b6
Make all project targets compile on Intel MacOS (#2780) 2023-07-01 13:30:11 -04:00
Tyler Wilding 98bb40d618
ci: ensure linux runners have the proper OpenGL headers (#2790) 2023-07-01 02:09:09 -04:00
Tyler Wilding 25e7c9bc5d
New Crowdin updates (#2775) 2023-06-25 16:17:18 -04:00
Tyler Wilding 4018d15fde
ci/translations: Add a linter to check for invalid characters, fix current issues (#2774) 2023-06-25 15:13:32 -04:00
Tyler Wilding f980c733b2
cmake: properly statically link SDL when applicable (#2762) 2023-06-20 23:25:47 -04:00
Tyler Wilding 1dbfd0e238
ci: fix chocolately, version number doesn't have a v prefix (#2711) 2023-06-09 13:55:50 -04:00
Tyler Wilding 33bf73636b
ci: update chocolately syntax and update nasm to 2.16.1 (#2710) 2023-06-09 00:01:50 -04:00
Tyler Wilding 3ecb3e4bc8
ci: don't run CI builds on non master branch pushes (#2703) 2023-06-06 20:05:35 -04:00
Tyler Wilding 6eaa95608e
ci: bump timeouts on builds, mostly for cache misses (#2690) 2023-06-04 14:08:35 -04:00
Tyler Wilding ae3b76e465
New Crowdin updates (#2614) 2023-05-03 21:04:36 -04:00
dependabot[bot] 63e9e6724b
Bump peter-evans/create-pull-request from 4 to 5 (#2609)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-04-30 23:13:52 -04:00
Tyler Wilding 728ef59477
ci: speed up unit-test execution (#2586)
Co-authored-by: water111 <48171810+water111@users.noreply.github.com>
2023-04-30 14:27:08 -04:00
Tyler Wilding c8f0f7a8b2
docs/issues: attempt to clarify what version is for the game/OpenGOAL (#2467) 2023-04-10 13:03:53 -04:00
Tyler Wilding 3dbbbd37d4
ci: check for incorrect assert usage in C++ files (#2461) 2023-04-08 16:19:37 -04:00
Tyler Wilding 94a32dfd8a
ci: stop emitting event to the launcher repo (#2320) 2023-03-12 21:39:48 -04:00
Tyler Wilding c3310e1833
docs: fix method docstrings and grab @file comment blocks to use as a file description (#2289) 2023-02-27 18:58:01 -05:00
Tyler Wilding a76f558537
ci: gen-docs propagate the runId since thats the best we can do (#2238) 2023-02-20 22:52:33 -05:00
Tyler Wilding 3c3d45d497
ci: set cmake preset in informing workflow (#2237) 2023-02-20 22:14:47 -05:00
Tyler Wilding 39658dfd71
docs: Automatically generate documentation from goal_src code (#2214)
This automatically generates documentation from goal_src docstrings,
think doxygen/java-docs/rust docs/etc. It mostly supports everything
already, but here are the following things that aren't yet complete:
- file descriptions
- high-level documentation to go along with this (think pure markdown
docs describing overall systems that would be co-located in goal_src for
organizational purposes)
- enums
- states
- std-lib functions (all have empty strings right now for docs anyway)

The job of the new `gen-docs` function is solely to generate a bunch of
JSON data which should give you everything you need to generate some
decent documentation (outputting markdown/html/pdf/etc). It is not it's
responsibility to do that nice formatting -- this is by design to
intentionally delegate that responsibility elsewhere. Side-note, this is
about 12-15MB of minified json for jak 2 so far :)

In our normal "goal_src has changed" action -- we will generate this
data, and the website can download it -- use the information to generate
the documentation at build time -- and it will be included in the site.
Likewise, if we wanted to include docs along with releases for offline
viewing, we could do so in a similar fashion (just write a formatting
script to generate said documentation).

Lastly this work somewhat paves the way for doing more interesting
things in the LSP like:
- whats the docstring for this symbol?
- autocompleting function arguments
- type checking function arguments
- where is this symbol defined?
- etc

Fixes #2215
2023-02-20 19:49:37 -05:00
Tyler Wilding a02a75525d
CI: Periodic Controller Database Update (#2202)
Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com>
2023-02-09 19:50:07 -05:00
Tyler Wilding 722ffa3f19
ci: switch to a pull request instead of a direct commit for updating controller db (#2201)
The direct commit option doesn't work as there is no way to bypass
required status checks -- this makes the merge queue less useful. Switch
to a PR instead.
2023-02-09 18:42:09 -05:00
Tyler Wilding 0e3d93dd13
ci: allow manually updating the controller db (#2200)
Noticed this has been failing for a while for reasons. I think I fixed
them but can't re-run the current job (out of date from master). This
this gives me a way to manually re-run it.
2023-02-09 22:18:57 +00:00
Tyler Wilding fc3f4da370
scripts: update gsrc files with modifications using git merge (#2164) 2023-01-28 14:19:04 -05:00
Tyler Wilding 216e73b61f
CI: Add a macOS Github runner (#2064) 2022-12-22 18:12:59 -05:00
dependabot[bot] 21ad7904c0
build(deps): bump mathieudutour/github-tag-action from 6.0 to 6.1 (#2000)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-02 00:38:48 -04:00
dependabot[bot] 1b7e3966ce
build(deps): bump mikehardy/buildcache-action from 1.3.0 to 2.1.0 (#2001)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-11-02 00:22:10 -04:00
Tyler Wilding 92105bb696
ci: update buildcache back now that things have stabilized (#1997)
My changes for allowing an explicit tag have now been merged to the
original action, so no need to use my fork.

Additionally, buildcache itself reverted to using ubuntu 20.04 to fix
this issue, but we'll leave the explicit tag there anyway to avoid
sudden breakage in the future.
2022-10-29 18:22:02 -04:00
Tyler Wilding 84497712ff
d/jak2: finish task-arrow | carry-h | projectile | gun-[red|yellow|blue]-shot (#1864) 2022-10-29 15:22:57 -04:00
Tyler Wilding b602b83d17
ci: rollback to previous buildcache version (#1981)
buildcache's latest release changes to be built on Ubuntu22.04, which
breaks our 20.04 runners
2022-10-20 09:07:50 -04:00
Tyler Wilding 332f0b2f2b
tools: add a tool to search for types based on size / type chain / fields (#1906)
Just a small simple tool that can search through `all-types` for a type
based on a bunch of criteria.

For example:

![image](https://user-images.githubusercontent.com/13153231/192043561-181e5c5d-d5b1-41a9-8891-5cc3ed1a0efa.png)

The results are printed to stdout, as well as output to a json file so
they can be consumed by another tool (in my plans, the VSCode extension)
2022-09-24 16:04:52 -04:00
Tyler Wilding e64414d9d0
d/jak2: finish drawable-group | drawable-inline-array | drawable-tree and path (#1899) 2022-09-24 12:27:02 -04:00
Tyler Wilding a1b5935655
release: inform the launcher repo when a release is cut (#1788) 2022-08-23 19:13:57 -04:00
Tyler Wilding e71adf6e3d
tests: allow the binary prep steps in the linux release script to be skipped (#1772) 2022-08-19 21:50:36 -04:00
Tyler Wilding b2eb041ebe
ci: add back the windows artifact (#1766) 2022-08-17 00:57:59 -04:00
Tyler Wilding a72b6e5e01
goal_src: Get rid of *OLD* files in jak1's goal_src (#1736)
* gsrc: delete empty OLD files

* ci: put the right author on the controller updating commits
2022-08-06 12:03:42 -04:00
Tyler Wilding a66ec7c601
all-types: Improve Jak 2's all-types (#1728)
* all-types: improve all-types generation

* all-types: re-generate all-types

* tests: remove the test reporting feature

the format indeed doesn't work, and all current actions require too many permissions for forked PRs.

I'll make my own eventually that works properly (use the new markdown feature)

* all-types: put the states in the method table instead

* all-types: replace all `*time*...uint64` fields with `time-frame` type

* all-types: address feedback
2022-08-05 17:39:32 -04:00
Tyler Wilding 8651179aa3
tests: Cleanup decompiler test fixtures and try to improve the test output / add a readable report (#1724)
* tests: add a Jak2 `FormRegressionTest` fixture

* tests/ci: minimize test log output and produce a readable report

* improve naming of report due to underlying GitHub issue

* hopefully fix windows handling of this argument

* test...

* final test

* test linux coverage
2022-08-05 12:12:33 -04:00
Tyler Wilding 329bde229e
release: ensure linux artifacts have execute permissions (#1713) 2022-07-29 20:10:30 -04:00
Tyler Wilding d1ad6c3817
utf8: fix locale mis-handling on linux (#1698)
* utf8: fix locale mis-handling on linux

* lint: formatting
2022-07-23 10:30:23 -04:00