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.
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.
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.
* 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
* 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
* lsp: json-rpc example is working, a decent place to start...
* lsp: vendor library
* lsp: cleanup and time to get started
* lsp: commit what i got so far
* lsp: example `initialize` payload
* lsp: switch to `stdio`
* stash
* modularize the lsp implementation
* lsp: implement first actual LSP feature - function names in outline
* lsp: produce document diagnostics
* lsp: remove unused third-party lib
* lsp: support hovering MIPS instructions in IR files
* lsp: basic go-to all-types definition
* stash
* lsp: cleanup code, just need to add it to the release artifacts
* fix some project configuration
* fix linux build
* lsp: add lsp to PR artifacts and release assets
* lsp: address feedback
* git: ignore vs build dir
* cmake: ditch `clang-cl` on windows in favor of actual `clang`
* build: suppress a significant number of warnings
* build: adjust workflows and vendor nasm
* docs: update docs to remove `clang-cl` mentions
* tests: move jak1 reference tests into their own folder
* tests: update offline tests to support multiple games
* tests: some additional fixes and multi-game handling
* tests: update reference tests
* build: ensure `zydis` statically links when we want it to
* test
* test-static
* revert the static test commit
* build: don't generate cmake twice on release builds
* git: ignore vs build dir
* cmake: ditch `clang-cl` on windows in favor of actual `clang`
* build: suppress a significant number of warnings
* build: adjust workflows and vendor nasm
* docs: update docs to remove `clang-cl` mentions
* build: fix some copy-paste mistakes in the linux build
* build: remove C++20 compat warnings as that is useful if we want to upgrade
* Replace assert with user-friendly error if ISO not found
When the extractor runs and can't detect a game folder, it will assume there is an ISO file in the directory instead. If there isn't an ISO file, or it's a different extension, it will trigger an assert. This adds an additional check to make sure the file extension is of type `.iso` and returns a more clear message to the user.
Once I get home I'll iterate upon this a bit to add file size checks and reading header data as well as making sure the error code is able to be reported to the launcher.
* Fix `extension` call & formatting
more de-rust lol
* fix extension call (again)
* fix ONE extra parenthesis
* argument incompatible with fmt print
will fix print later
* add ONE missing parenthesis
never taking intellisense for granted again
* Add ISO size checks and rework type check
* actually print `data_dir_path` :p
* Normalize extension case before verifying file type
+ clang-format
* clang-format
Co-authored-by: doctashay <doctashay@github.com>
* PAL dumps files
* alrighty then
* make PAL warning slightly more specific
* PAL patches for `title-obs`
* Update all-types.gc
* PAL patch `beach-obs`
* `process-taskable` PAL patch
* `ambient` PAL patch
* `yakow` PAL patch
* `village-obs` PAL patch
* `sparticle-launcher` patch
* `swamp-obs` PAL patch
* `sequence-a-village1` PAL patch
* typo
* errors
* `powerups` PAL patch
* `ogreboss` PAL patch
* jak 1 v2 encoding
* `load-boundary` PAL patch
* `flying-lurker` PAL patch
* `mayor` PAL patch
* update game encoding to PAL (v2) encoding
* `cam-debug` and `cam-update` PAL patch
* `fisher` PAL patch
* `target` PAL patch
* `target2` PAL patch and fix text compiling
* `target-death` PAL patch
* `target-racer-h` PAL patch
* `logic-target` PAL patch
* `main` PAL patch
* `snow-flutflut-obs` PAL patch
* `rolling-obs` PAL patch
* `gsound` PAL patch
* update refs
* `progress` and `progress-draw` PAL patches
* clang
* wrong.
* complain
* clang
* fix test
* fix blurry jp text
* fix weird interrupt lag from setting window size
* patch more text lines, special handling for credits
* Update FontUtils.cpp
* Add xdelta3 and file patching interface
* add window lock toggle and update settings ver
* better particle hacks
* add PAL support to extractor
* Fix credits
* also NTSC-J support
* make xdelta3 a separate library
* address feedback
Co-authored-by: water <awaterford111445@gmail.com>
* wip
* learning about colors
* gltf node stuff working
* cleanup
* support textures
* bvh generation seems reasonable
* tree layout
* frag packer, untested and doesnt do real stripping yet
* temp
* working collide frags
* handle bad inputs better
* clean up
* format
* include
* another include
* reorganize for release build use
* release: include error metadata file for launcher purposes
* release: put release assets in the top level of the 7z/tarball (no out/ dir)
* extractor: ensure critical directories are created
* extractor: handle weird Win32 path prefix `\\?\` by stripping it out
* release: avoid using `-C` with `tar`
* ci: fix windows releases (hopefully)
* scripts: fix Taskfile file references for linux
* asserts: add `ASSERT_MSG` macro and ensure `stdout` is flushed before `abort`ing
* asserts: refactor all `assert(false);` with a preceeding message instances
* lint: format
* temp...
* fix compiler errors
* assert: allow for string literals in `ASSERT_MSG`
* lint: formatting
* revert temp change for testing
* first attempt
* fix
* zip to tar
* windows
* try again, std::filesystem sucks
* std::filesystem is still garbage
* std::filesystem is terrible
* std::filesystem continues to waste my time
* again
* neadsflaldksal;df
* ci: bring over some of my code to enable the process
* ci: cleanup builds a bit and add release stuff
* ci: fix paths and such after debugging
* ci: fix flowchart
* cmake: easily toggle between building everything dyn or statically linked
* ci: build release artifacts statically linked
* ci: fix some issues after testing once again, linux binaries are still too big
* ci: switch to codacy for coverage
* docs: update badges
* decomp: allow overriding config flags via CLI
* cleanup: top level file cleanup
* docs: big README overhaul
Attempt to close#1128 and #1086
* decomp: attempt to detect if `iso_data` is missing or wrongly extracted
* game: switch to `fpng` for screenshots, allow for compression
closes#1035
* game: switch vsync control to a checkbox
* lint: format cpp files
* lint: format json files
* docs/scripts: organize taskfile
* delete unused shaders
* hide some options in debug menu
* change fullscreen logic a bit
* add "all actors" toggle
* borderless fix and fix alpha in direct renderer untextured (do we need a separate shader for that?)
* fix fuel cell orbit icons in widescreen
* fix `curve` types
* refs
* fix levitator task...
* fix some task stuff
* update font code a bit (temp)
* cmake, third-party and visual studio overhaul
* Update .gitmodules
* update modules
* clone repos
* fix encoding in zydis
* where did these come from
* try again
* add submodule
* Update 11zip
* Update 11zip
* Update 11zip
* delete
* try again
* clang
* update compiler flags
* delete 11zip. go away.
* Create memory-dump-p2s.py
* properly
* fix minimum architecture c++ compiler flags
* fix zydis
* oops
* Update all-types.gc
* fix clang-cl tests
* make "all actors" work better, entity debug qol
* update game-text conversion code to be more modularized
* Create vendor.txt
* fix typos and minor things
* update refs
* clang
* Attempt to add clang-cl support to vs2019 and CI
* vs2022 + clang-cl
* srsly? fix clang build
* Update launch.vs.json
* extend windows CI timer
* docs: quick update of readme and windows screenshots for vs 2022
* update the docs portal to be better on mobile, support videos, and better gallery
* docs: re-generate site
* docs: refresh the homepage
* docs: basic gallery support added
* homepage background image back to jpg
* docs: remove data file tracker, as it's soon to be removed
* decomp: mostly finish `cam-master`
* decomp/scripts: lots of work in cam-states
* stash
* Merge remote-tracking branch 'water111/master' into decomp/camera-master
Updated submodule third-party/googletest
* decompiler: Add support for non power of 2 offsets for inline arr access
* decomp: mostly finish `cam-states` need to fix a macro issue
* blocked: `cam-master` decompiler crash when adding casts
* decomp: finish `cam-states-dbg`
* decomp: mostly finish `pov-camera` with the exception of joint-related code
* decomp: `cam-debug` finished decompiling, no way does this compile yet though
* decomp: considerable work done in `cam-layout`
* decomp: `cam-layout` almost done!
* decomp: `pov-camera` finished, TC tests will fail for now
* decomp: working on resolving issues
* decomp: cam-layout decompiling
* fixing more issues in cam-master...one event handler remains
* skip problematic function in `cam-master` for now
* gsrc: update res macros
* decomp: finish `cam-states`
* decomp: giving up on `cam-debug`
* tests: allow skipping state handlers in ref tests
* decomp: working through cam-layout bugs
* decomp: allow for shifting non-integers
* decomp: finalize `cam-layout` and `cam-master`
* decomp: finalize `cam-states`
* cleanup: bi-annual formatting of the casting files
* formatting
* decomp: start working on beach-obs
* blocked: `beach-obs` mostly finished, but handle cast issues and unknown `prebind` func signature
* blocked: `villagep-obs` done, `s6` not being referred to as `self`
* decomp: finish `citadel-obs`
* decomp: finish `darkcave-obs`
* blocked: need to allow `hud-h` to decompile properly (#f as static pointer)
* decomp: finish `jungle-obs`
* decomp: finish `village-obs`
* blocked: `misty-obs` handle cast issues
* decomp: finish `village2-obs`
* decomp: 1 function left in `swamp-obs`, particle related -- maybe we know now?
* decomp: finish `swamp-obs`
* blocked: `maincave-obs` handle casts
* decomp: finish `sunken-obs`
* blocked: `rolling-obs` handle casts and hud-parts
* decomp: finish `firecanyon-obs`
* decomp: finish `ogre-obs`
* blocked: `village3-obs` gives up type analysis!
* blocked: `snow-obs` has hud-parts and handle casts code
* decomp: finish `snow-flutflut-obs`
* blocked: `lavatube-obs` has s6-1 issue
* blocked: `title-obs` handle cast issues
* fixed post merge problems
* decomp: finish `jungleb-obs`
* blocked: `training-obs` has `s6-1` issue
* fix type consistency
* scripts: Extend update script to handle the game-text-id enum as well
* git: Update git attributes to effectively halve PR burden
* fixed `sound-play-by-name` signature
* fix particle definitions in firecanyon-obs
* fix func signature in racer-states
* update ref tests
* tests: update current ref tests
* tests: add `joint` to ref-tests
* tests: add `process-drawable` to ref-tests
* updated gsrc
* add back manual fix
* address most feedback, update source files
* get rid of forward declarations in `darkcave-obs`
Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
* Implement runtime display (test)
* Update runtime.cpp
* [game display] add "-nodisplay" argument
* style fixes
* Update gfx.cpp
* [deci2server] fix deadlock when killing a Deci2Server
* add libxrandr to linux github test
* correct package name to libxrandr-dev
* set g_main_thread_id in exec_runtime
* add libxinerama to linux test packages
* correct the name
* add libxcursor1 package
* Update linux-workflow.yaml
* add libxi-dev
* fix constructor for g_main_thread_id
* fix submodules + use -nodisplay during tests
* move the gfx loop to its own function and use a lambda for exit conditions
* fix include
* fix include
* fix includes (for real this time)
* msvc: Add Address Sanitizer
https://devblogs.microsoft.com/cppblog/addresssanitizer-asan-for-windows-with-msvc/
* cmake: Add Address Sanitizer
* docs: Update ReadME
* see if we can replicate the test failure
* windows fixes maybe
* cmake: Compile with gcc and clang (only coverage on
* hacky try again
* clean up
* fix clang issues
* linting
Co-authored-by: water <awaterford111445@gmail.com>
* Commit new spdlog implementation
Hopefully resolves Linux build dependency errors
* clang formatting
* Fix Linux-only definition
Found the culprit!
* More Linux fixes
Linus Torvalds have mercy on my soul
* Replace printf logging with spdlog equivalent
Preserve previous printfs in comments for now. Spdlog needs to be configured to be thread-safe. Few additional printfs to convert later. No changes have been made to GOAL's internal printing system
* clang-format stuff
* ugh more clang-format
why
* Another shot
* CMakeLists.txt update
Fix issues related to spdlog version targeting
* Remove old prints + fix log types
Up next is the transition to a git submodule, should be simple enough
* spdlog is now a git submodule
* adapted for project
* Linux fix
* More fixes
Yikes
* Update for linux
I should really fix my WSL environment
* Update workflow.yaml
Hopefully will resolve issues with GitHub Actions on Linux