This solves two main problems:
- the looming threat of running out of memory since every thread would
consume duplicate (and probably not needed) resources
- though I will point out, jak 2's offline tests seem to hardly use any
memory even with 400+ files, duplicated across many threads. Where as
jak 1 does indeed use tons more memory. So I think there is something
going on besides just the source files
- condense the output so it's much easier to see what is happening / how
close the test is to completing.
- one annoying thing about the multiple thread change was errors were
typically buried far in the middle of the output, this fixes that
- refactors the offline test code in general to be a lot more modular
The pretty printing is not enabled by default, run with `-p` or
`--pretty-print` if you want to use it
https://user-images.githubusercontent.com/13153231/205513212-a65c20d4-ce36-44f6-826a-cd475505dbf9.mp4
* revamp gfx and display systems a bit
* Use some fancy c++ pointers instead of just raw pointers
* Tidy some things up.
* clang
* clang 2
* fixes
* fixesss
* error detection when making display
* update VS launch target params
* remove redundant VS launch option
* Add a debug PS2 VM to the runtime, currently only for the DMAC
* Formatting
* remove broken assert
* Avoid weird buffer overflow bug
* Test on `VIF0_DMA_BANK`!
* Add a docstring
* patch pointers for the other dma channels
* patch DMAC pointer
* remove dead leftover code
* Change default return value for `get_vm_ptr`