* 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: 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
* 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
* 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
* 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
* 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
* [decompiler] pal "support"
* inoffensively add some PAL-updated types
* fixes!
* clarify some things for windows
* Update README.md
* dummy
* config fixes
* dummy
* 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
* 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
* fix warnings in repl lib and add macros to autocomplete
* fix crash on ctrl-c, build runtime as static lib and make goos prompt look fancier
* some tweaks for linux build
* 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)
* swap to replxx from linenoise
* repl: Implement form auto-tab-completion
* repl: color coordinate the prompts
* repl: Add some basic syntax highlighting, bracket pairs and forms (all one color)
* repl: A more consistent starting screen for the repl
* repl: bug fix for auto-complete
* debug linux
* linting
* add rough jak 2 config so the decompiler can atleast unpack dgos
* third-party: commit lzokay
* Switch to lzokay for DGO decompression
* third-party: Remove minilzo library
* third-party: Add lzokay as a SHARED lib
* 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>
* add some memory utilities
* run waitpid in a separate thread and support very simple breakpoints
* fix breakpoints
* add missing windows stub function
* fix error message on exit
* set up the compiler to ptrace the runtime
* clang format
* move debugger state to a separate Debugger class
* support registers and break and continue
* documentation and fix windows
* make listener part of compiler, not a separate library
* implement memory read and write
* fix for windows
* add some more cfg ir stuff
* add cond with else
* add type of recognition
* add cond to compare conversion
* finally all conds are passing
* started sc recognize, but ash min and max should be recognized first
* fix ash showing up as sc
* add abs
* fix merge issues
* try building goos with optimizations on
* sc mostly working, still need to fix right aligned nesting
* ands and ors are converting correctly now
* clean up
* 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
Mostly revolved around the new MSVC check for functions that don't cover all paths (ie. a switch statement without a default case). It appears to not see an assert as a valid default case.
I switched assert(false) to exceptions in these cases. I believe this should also abort the program, but will also provide a hopefully useful message? Hopefully this is an improvement.
Resolves#32