* 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`
* 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!
* update refs
* [decompiler] read and process art groups
* finish decompiler art group selection & detect in `ja-group?`
* make art stuff work on offline tests!
* [decompiler] detect `ja-group!` (primitive)
* corrections.
* more
* use new feature on skel groups!
* find `loop!` as well
* fully fledged `ja` macro & decomp + `loop` detect
* fancy fixed point printing!
* update source
* `:num! max` (i knew i should've done this)
* Update jak1_ntsc_black_label.jsonc
* hi imports
* make compiling the game work
* fix `defskelgroup`
* clang
* update refs
* fix chan
* fix seek and finalboss
* fix tests
* delete unused function
* track let rewrite stats
* reorder `rewrite_let`
* Update .gitattributes
* fix bug with `:num! max`
* Update robotboss-part.gc
* Update goal-lib.gc
* document `ja`
* get rid of pc fixes thing
* use std::abs
* 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>
* deps: add `xxhash` library
* extractor: hash ISO files as they are extracted
* extractor: report on game data validation errors
* lint: formatting
* extractor: automatically pick the right decompiler config
* Only append compiler flags in cmake
* add `RelWithDebInfo-clang` windows build
* bump serializer initial buffer size to 32mb
* extra flags for msvc
* proper anaphoric goal macros
* specify windows sdk version?
* fix "Object files are not named properly" fake error
* Update goal-lib.gc
* 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
* cmake: reduce warning spam especially from libs
* runtime: add FS helper functions
* game: save/restore pc-settings | add original aspect option
* game: overwrite unloadable settings with defaults
* temp: unable to set the games aspect-ratio in the boot else crash?
* runtime: save memcard files to user directory as well
* runtime: fix `pckernel` load order which resolves setting the orig aspect ratio
* lint: format
* cmake: revert warning suppression, it's just causing problems it seems
* fix the order of the rest of `pckernel` and creation of obj file paths
* lint: formatting
* game: don't save settings on startup even if they are corrupted
* temp
* name the obvious ones
* un-pipelined the fast case in generic vu1
* generic2 dma
* pass2
* first pass at opengl
* many fixes
* fix hud, strip
* windows fix
* final tweaks
* memcard folder
* add missing include
* begin generic merc
* more generic stuff
* generic dma generation not crashing, at least until high-speed-reject
* c
* unpacker for generic
* starting to work
* small fixes
* more fixes
* more progress
* cleanup
* fix tests
* no custom imgui assert on windows
* add subtitles support (tools + goal + text file).
* add to build system proper
* better handling of line speakers
* billy test subtitles
* adjust timings
* better handling of subtitle timing + citadel subs
* press square to toggle cutscene subtitles
* improve DirectRenderer performance
* clang
* dont error out if there's no user files
* make system supports multiple inputs for subtitles
* clang
* oh no typo!!
* avoid future issues
* fix warp gate crash
* remove no longer necessary code in DirectRenderer
* remove temp prints
* delete triplicate code
* i found a better way
* fix make issues with subtitles
* force avx compilation
* first pass
* first pass at shrinking fr3s
* only need to load vertices once
* avx2 detect and switch
* fix build
* another ifx'
* one more
* fix the sky and stupid math bug in size check
* MSAA
* support different TIE lods
* tfrag lod picking
* always compress screenshots
* mute annoying nvidia opengl message
* use a string here instead
* oops
* more mistakes...
* 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
* [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
* temp
* temp
* wip
* more progress on the instance asm
* first half of tie extraction, up to dma lists
* more tie extraction
* first part figured out maybe
* bp1 loop seems to work, bp2 loop does not
* bp1 and bp2 appear working. sadly ip is needed
* ip1 outline, not working ip2
* just kidding, ip2 seems to work
* extraction seems to work
* basic rendering working
* tie fixes
* performance optimization of tie renderer
* hook up tie to engine
* fix more bugs
* cleanup and perf improvements
* fix tests
* ref tests
* mm256i for gcc
* CLANG
* windows
* more compile fixes
* fix fast time of day
* small fixes
* fix after merge
* clang
* 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
* begin work
* work
* working objs
* exporting
* it works
* before some time of day fixes
* add time of day interp and also fix zbuffer
* some small blending fixes
* improve randomess
* clean up extraction and missing blend mode
* culling, time of day, more level fixes
* more cleanup
* cleanup memory usage
* windows fix
* 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
* improve debugger disasm, `:sym-name` and fix Windows builds
* >:(
* use this inline constexpr thing??
* fine use strings then
* please.... please work...
* fix windows debugger oopsie
* display rip as goal addr as well
* [debugger] attempt to backtrace even if landed on some garbage memory
* Update CMakePresets.json
* fix `citb-drop-plat` a bit and PAL `fisher`
* Clean up `pc-pad-utils`. Looks so clean!
* Increase process stacks by ~2x
* Convert `game_text` custom encoding to and from a readable one (UTF-8)
* clang
* add missing characters
* support all diacritic variants
* fix a character
* remaining cases
* fix tests
* fix memory leak?
* clang
* add custom characters w/ diacritics
* Update all-types.gc
* robustness
* minor bug
* move custom font decoding function to `FontUtils.cpp`
* Move valid source chars patching to Reader constructor
* time of day
* goal code seems to work
* stars at wrong spot
* stars and sun work
* debugging clouds
* fix texture correction
* sky works
* cleanup, add profiler
* clean up
* final clean up
* offline tests
* missing include
* wip, taking a break to work on asm stuff first
* the goal code for sparticle
* mips2c the first sparticle asm function
* temp
* particle processing no longer crashing
* temp
* working texture cache for vi1 and hud textures
* sprites
* cleanup 1
* temp
* temp
* add zstd library
* temp
* working
* tests
* include fix
* uncomment
* better decomp of sparticle stuff, part 1
* update references
* decomp: Almost finish `shadow` blocked on static inline-array
* decomp: Add support for `sparticle-launcher` static data
* decomp: finalize `shadow`
* add definitions for sparticle related symbols
* actually fix the crash
* clean up allocator interface to be simpler
* working on functions without spills
* working for all
* fix missing includes for windows
* more windows includes
* initialize regs to zero so printing value unintiailized by game code is repeatable
* [decomp] `loader` prelim work + some cleanup
* more things
* more
* even more
* yet even more
* minor fixes
* decompiler fix + use behaviors for two funcs
* last functions
* Create loader_REF.gc
* more work
* change vag tool config format + unrelated farmer and yakow stuff
* update some things
* fix some decomp
* cleanup things i came across + make dgo compileable
* fix consistency test
* update refs
* offline test: skip buggy `external-art-buffer` method
* fix test
* 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
* add elzip library (doesn't require zlib)
* Can analyze directly from a PCSX2 save-state now
* Add scaffolding to auto-watch for new save-states
* .gitattributes fix
* support setting and accessing fields of a 128-bit bitfield
* remove print
* rework static constants
* support 128-bit bitfields as part of static structures
* dynamic construction
* get gkernel and gkernel-h at least somewhat working in the offline tests
* strip comments from json
* switch hints to casts. online tests passing, offline passing up to gkernel
* variable retyping is added
* fix up casts in lets
* update
* work in progress streaming rpc, simple test is working
* actually add the test
* debug windows failure
* windows fix maybe
* windows 2
* use str-load-status
* update types
* Begin spdlog integration for decompiler
* Replace old prints with spdlog equivalents
* clang-format
* Fixes
* Log output to /logs/decompiler.log.
The console now prints that the disassembly has begun and it may take a few minutes to complete. This will reduce the amount of verbose logging output directly to a console stream.
* Update .gitignore
Ignore decompiler output for now
* Resolve more issues
Fixed percentage printing and various other issues
* Fixed stuff I broke (sorry)
* Fix more broke stuff
* see if math works on windows
* add dgo
* windows debug
* windows debug 2
* one more debug try
* add extra debug print and change logic for slashes
* update
* again
* try again
* remove build game
* remove build game
* add back build-game
* remove runtime from test
* test
* reduce number of files
* go to c++ 14
* big stacks
* increase stack size again
* clean up cmake files
* move things to the common library and remove next_dir
* fix for windows
* one last windows fix
* last fix for real this time
* debug listener test
* fix listener threading bug