* 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
* 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
* clean up
* before int to float stuff
* before trying to eliminate the separate read and write maps
* partial fix for register issues
* add missing include
* compiler: Support the majority of the remaining VU VF instructions
- VWAIT
- VMADD variants
- VMSUB variants
- VSQRT
- VDIV
- outer product (VOPMULA + VOPMSUB)
* compiler: Fix some bugs / optimize some instructions
* tests/compiler: Add test coverage for new instructions
* docs: Add documentation for new inline assembly functions
* lint: Formatting / fix failing test
* Remove my comment about ftf/fsf encoding, it's been fixed
* address review feedback
* correct VSQRTPS implementation
* fix parent issue
* fix compiler issue
* update
* add error messages
* fix error
* fix array access, temporary
* more clean
* fix
* rename arg variables better
* fix method name
* fix no return value in decompiler
* many small fixes
* cheat types so it works
* name map
* fix old test'
* begin work on vf support
* split reg kind into reg hw kind and class, use class for ireg
* try test
* clang format
* add some more ops and some example functions
* better lvf on statics
* add documentation
* begin support for v2
* export game text
* generate text files
* working text load
* fix windows
* add test and clean up game tests a bit
* load the right file
* add separate program to launch the data compiler
* add offline test script
* 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
* add some type stuff for gkernel
* more tweaks
* blah
* more little tweaks and more of gkernel
* add static structures with integer fields but not basics
* static structures
* update gkernel
* start cleanup
* fix typos
* fix syntax highlighting in doc
* lots of documentation updates
* clean and add tests
* more documentation and more error messages
* more document and try building kernel differently
* started adding simple functions in gcommon
* more tests and features
* more tests, debug windows
* debug prints for windows
* back up some regs for windows
* remove debugging prints
* add tests for various xmms
* use unaligned stores and loads to back up and restore xmm128s and also fix argument spilling bug
* add deftype
* add deref and fix some method _type_ things
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
* 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