* fix IOP getting stuck on music load
* fix regression? and clang
* fix a decomp
* fix another regression
* another
* fix "all actors"
* another regression!
* some jp support to fix some errors in the original game
* music fade toggle
* recognize `process-new` macros!!
* strip casts in this macro
* rename macro
* fix cast typecheck
* update source 1
* detect kernel stack case
* less boilerplate
* `manipy-spawn` special case
* pretty printer improvements
* revert dumb thing from earlier
* use shell detection on `send-event`
* fix some events
* remove unused argument
* detect `static-attack-info` and add `CondNoElse` to shell detect
* better `attack-info` detect
* support `process-spawn` in multi-lets
* detect `rand-float-gen` pt 1
* detect as return value
* detect in `countdown` and `dotimes`
* oops this wasnt working
* fancier `send-event`s
* clang
* update source!!
* fix tests
* fine jeez
* uh okay
* fix some accidental regressions
* fix more regressions
* regression fixes
* fix big bug...
* extra safety!
* goalc: cleanup goalc's main method and add nrepl listener socket
* deps: add standalone ASIO for sockets
* lint: formatting
* common: make a common interface for creating a server socket
* goalc: setup new repl server
* deps: remove asio
* goalc: debug issues, nrepl is working again
* git: rename files
* attempt to fix linux function call
* test
* scripts: make the error message even more obvious....
* goalc: make suggested changes, still can't reconnect properly
* game: pull out single-client logic from XSocketServer
* nrepl: supports multiple clients and disconnection/reconnects
* goalc: some minor fixes for tests
* goalc: save repl history when the compiler reloads
* common: add include for linux networking
* a few small changes to fix tests
* is it the assert?
* change thread start order and add a print to an assert
Co-authored-by: water <awaterford111445@gmail.com>
* 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
* decompiler: support adding new strings to the game_text.txt file
* gsrc: expand the pckernel type and functions to work better with the menu
* gsrc: add new text-ids
* gsrc: add new macros to help with menu code
* gsrc: make a new type to generalize their list menu options
* gsrc: add new menu options and enums
* gsrc: cleanup and refactor the list menu option drawing code
this allows us to easily add a new list menu option...well as easy as the rest is atleast (setting up static lists properly, etc)
* gsrc: add and cleanup handling of new menu options
* scripts: add checks with nice error messages for user facing taskfile recipes
* lint: formatting
* address simple feedback
* gsrc: move modified files to `pc/` folder
* gsrc: revert changes to originally decompiled files
* gsrc: move modified and new files to `goal_src/pc` folder
* gsrc: update paths in `all_files.gc`
* docs: fix Arch installation steps, and some typos
* task: fix linux binary paths
* docs: specify that we support the latest Visual Studio community edition
* some changes to make the `anim-tester` kinda work
* types for `lava` (who cares)
* fix divide by zero macros
* cleanup filenames
* fix tests + minor bug
* 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
* a crapton of fixes
* Update cavecrystal-light.gc
* damn you
* fix bunnies
* change codegen for int -> float cast (just add sign extension now)
* fix test
* this file is tagged anyway
* fix some stack types
* remove bad camera debug funcs
* add more heap bars and entity pick menu
* finish entity menu and make `music-flava` enum
* fix some `process-taskable` fields
* citadel sage crash fix
* fix citadel drop plats
* fix tests
* fix some casts
* update refs
* finish `village3-obs` and `snow-ball`
* Update README.md
* fix sidekick too
* fix issue?
* more entity inspect hardcoded checks
* more
* use `*display-actor-anim*` for something!
* CRAP
* also clear actor anim when deselecting entity
* *display-actor-anim* already renders this!
* do not display `path` tag info
* entity debug inspect tool
* one more
* make debug string even larger
* missing res tag types
* more polish and more known tags
* last few
* decomp: Add texture-upload to ref tests
* maybe 50% done?
* 5 functions to go!
* decomp: stuck in `navigate`
* work-around fp issue
* some cleanup and label casts
* working on supporting asm instructions -- this is currently WRONG
* support ASM operations
* fixes for asm op support
* decomp: finish the vast majority of `navigate`
* format
* update test though i think this suggests a regression!
* decomp: cleanup some more of navigate
* decomp: finish `rolling-lightning-mole`
* revert `r0` handling for `pcpyud` and `pextuw`
* update ref tests
* lint
* fix a failing test
* help
* navigate mostly works now, with some potential bugs
* remove my debugging logs
* update ref tests
* review feedback cleanup
* these are all likely fine
* can't get the crab to chase me anymore
* the crab is back
* [decompiler] `defpart` and `defpartgroup`
* support sounds in part defs natively
* make `meters_to_string`
* update refs
* clang
* make macros in pair only work inside `(unquote ...`
* update source
* update finish
* fix
* update progress code and fix our frame "scissoring"
* aspect ratio hacks
* expand progress tint for widescreen
* give up and comment things properly
* properly undo hacks
* 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
* update jak 2 config and hack to make game text dumpable
* update stuff
* update src
* do `cspace<-parented-transformq-joint!`
* progress.... kind of...
* more drawable stuff
* clagng
* bones begin
* more bones
* even more bones
* everything builds
* touches
* errors
* ?
* fix `quicksandlurker`
* updates
* update refs
* more fixes
* update refs
* some fixes, but no file unblocked completely yet - `balloonlurker` is close
* decomp: finish `vol` - i did it!...i think
* decomp: finish `helix-water`
* decomp: finish `minecart`
* fix `define-perm`s
* decomp: finish `sidekick`
* decomp: got a lot of `target` done
* decompiler: Add support for non power of 2 offsets for inline arr access
* decomp: finish `target` mostly
* decomp: finish `water`
* decomp: finished `robotboss-weapon`
* decomp: finish `robotboss-misc`
* decomp: finish the majority of `robotboss`
* blocked: `racer` has an issue around entering a state
* blocked: `target-racer` done mostly, but NYI case in one function
* blocked: `racer-states` mostly finished, but bitfield issue
* blocked: `billy` on state decomping
* blocked: `bully` on state decomping
* waiting: `rolling-lightning-mole` waiting on navigate for 2 funcs
* blocked: `rolling-robber` finished but `s6-1` issue
* blocked: `ogreboss` uint64's for types cant label load em!
* blocked: `mother-spider` state decompilation
* half-done `target-flut`
* blocked: `target-flut` some sort of new bitfield state
* some improvements in `racer-states` with my new-found knowledge
* progress: started on `target-death`
* blocked: `target-death` handle casts
* decomp: finish `collide-reaction-racer`
* blocked: `target-handler` handler forced to return `none`
* decomp: 99% of `target2` finished
* decomp: finish `target2`
* gsrc: update
* update post merge
* address feedback
* scripts: add script to detect decomp issues
* fix wide-spread `collide-shape` method missing arg
* some small things i changed from master
* address feedback
* fix typeconsistency issue
* stash
* more
* and more
* like 80% done
* trying to update things
* refreshed work on generic-obs
* blocked: down to only decompiler issues!
* decomp: finish `generic-obs` skip over the failing functions for now
* `pair` -> `object`s and fix 2/4 of the functions i had skipped
* address feedback
* cmake: disable edit&continue flags
* goos: make the build system work for alternate file paths nicely
* vs: update vs config
* vscode: extend terminal buffer!
* vs: fix presets
* debugger: fix exception handler
* game: add logo to application
* decomp: get `cam-master` to "work" -- manually changed return type
* debugger: fix printing issue
* game: get the camera actually working
* game: neutralize the analog sticks
* game: support analog sticks
* tests: update ref tests
* temp commit - inprogress stuff
* fix `send-macro`
* turn camera stuff back on, seems to work. Still kernel-dispatch problem though
* address feedback
* formatting
* 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>
* blocked: `powerups` finicky handle casts
* stuck: decompiled `ocean-texture` but `ocean-verts` is a mystery to me
* decomp: finish `merc-death`
* fix some issues, add a way to remind us for files we've manually touched
* tests: add `ambient` to ref tests, uncover compiler error
* tests: add `main` and `font` to ref tests
* 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
* address feedback - leave the float labels alone for now
* address feedback
* linting/formatting
* update gsrc and ref tests
Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com>
* decomp `fisher`, `robotboss`, `light-eco`, `green-eco-lurker`, `sage-finalboss`, `robotboss-weapon`, `robotboss-misc`
* fixes
* add files
* add `:states` list to `deftype` and fix files
* test state forward decl's on a few more types
* also the refs
* add light-eco
* whatever
* [decompiler] pal "support"
* inoffensively add some PAL-updated types
* fixes!
* clarify some things for windows
* Update README.md
* dummy
* config fixes
* dummy
* cleanup `main`
* whitespace
* start `progress` decomp pt1
* fill in more stuff
* Update label_types.jsonc
* run cheats
* clang
* make most of `progress` decompile
* `progress` pt 2
* [decompiler] support dynamic format strings
* Make `progress-draw` decompile and almost all `progress`
* make clang shut up
* fix unhandled format string
* fix `progress-draw`
* Update DecompilerTypeSystem.cpp
* fix?
* fixes
* fix a few functions
* make `language-enum`
* warn on weird floats
* fix minor pad bug
* dump stuff in `progress`
* make `progress-screen` enum
* progress progress
* update refs and fix stupid bug
* trying to get it to work
* it works!?
* disable sound functions
* fixes
* final touches
* tests
* tests
* add process allocations
* use the right register for windows
* another try for windows, counting is hard
* one more try
* use process allocations
Co-authored-by: water <awaterford111445@gmail.com>
* add IR syntax highlighting
* set the filterFileRegex properly!
* stash
* decompiler: Add print if conditional fails
* decomp: Mostly finish `target-util`
* decomp: figured out a bit more with `target-util`, a bit stuck now
* decomp: *deep breath* `logic-target` mostly complete
* decompiler: More robust arg_count checking for `format` calls
* decomp: some more work in `target-util`
* fix sllv usage
* decomp: `logic-target` is compiling
* decomp: `target-util` very close - blocked by decomp issue!
* decomp: finish `target-util` except for one issue
#772
* demp: update goal_src
* linting
* add back the one remaining method
* address feedback, update source files
* decomp: mostly done `hint-control`
* decomp: Started and decent chunk of `menu` done
* temp stash
* decomp: escape from `menu` hell
* decomp: starting on `default-menu`
* decomp: As much as i can do in `default-menu` at this time
* decomp: clean up `hint-control`
* decomp: fix reference tests
* temp stash
* decomp: finalize `menu`
* decomp: add `menu` to goal_src
* decomp: finalize `hint-control`
* decomp: Resolve TypeConsistency issues
* and fix reference tests
* address feedback
* format and lint
* fix tests
* temp
* working, but type pass got really slow
* clean up
* changelog and flip order
* clean up and add tests
* fix zero size array
* handle lambdas correctly
* another windows fix
* scripts: improve decomp-next script
* script: Make it possible to consistently cleanup `all-types`
* now use the actual parent type!
* adjust the symbol order for collectables
* re-organize
* manually fix this edge-case for now
* get a full mapping of all `symbol:file-name` for jak1
* cleanup before any additional work is done
* more pre-organize changes
* scripts: script written to cleanup all-types...but what will cleanup the script...
* resolve clashing enum symbol names
* some manual changes to symbol order
* very close! don't completely lose types that are fully commented out
* scripts: New symbol mapping and further script polishing
* changes needed to make the script function properly
* brand new all-types!
* remove now irrelevant symbol definitions
* formatting cpp
* decompiler: Remove symbol dumping feature, not accurate anyway
* Make `:do-not-decompile` work on field lookup as well
* decompile `font-h` and update a vector type + minor fixes
* fix some types
* fix font-h
* fix font-h (again)
* update a script
* fixes
* Fix segfault
* Fix `PROT_NONE` page protection on windows