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
- decompile `lights.gc`
- decompile remaining `target-death` function, you can die now
- fix float issue with `matrix-from-two-vectors-smooth!` making jak face
the wrong way in the slide thing
A few issues:
- lwidea's fr3 is getting loaded and unloaded all the time
- the debug line drawing clipping is wrong (doesn't seem wrong in pcsx2,
so I think this is on us)
- nothing actually using vis data yet
- at a large distance, our view frustum culling seems slightly too
aggressive (might be that viewport scissoring is wrong)
- in the city, things seem darker as you move away. unclear how this is
happening (fog?)
Favors the `lg` namespace over `fmt` directly, as this will output the
logs to a file / has log levels.
I also made assertion errors go to a file, this unfortunately means
importing `lg` and hence `fmt` which was attempted to be avoided before.
But I'm not sure how else to do this aspect without re-inventing the
file logging.
We have a lot of commented out prints as well that we should probably
cleanup at some point / switch them to trace level and default to `info`
level.
I noticed the pattern of disabling debug logs behind some boolean,
something to consider cleaning up in the future -- if our logs were more
structured (knowing where they are coming from) then a lot this
boilerplate could be eliminated.
Closes#1358
* Update default-menu.gc
* make fog hack slightly less aggressive
* add `reload-text` back but kinda fixed
* more unlocks for non-guaranteed musics
* smarter language save & load
* also save pc settings on autosave
* more special music log cases
* one more
* Reverted default keyboard camera controls to IJKL and fixed bug where use mouse would always be set as false
* Fixed inverse axis on Right Y axis analog keyboard control
* Fixed newpad unit test, fixed variable typo, and fixed MapAnalog typo in newpad.h
Co-authored-by: animalstyletaco <animalstyletaco95@gmail.com>
* Added screenshot hotkey and added a toggle to debug GUI to disable screenshot hotkey (#1765)
* Renamed gfx_dumps folder to screenshots and screenshots taken with hotkey now use game render options not debug gui screenshot render options (#1765)
* Updated get current timestamp to use strftime
* fixed clang formating errors for screenshot hotkey
Co-authored-by: sardap <sardap@users.noreply.github.com>
* scripts: remove references to non-existent script
* game: fix transition from fullscreen (not borderless) to windowed
* game: ensure window is position away from the corner of the display when switching from fullscreen
* game: restore windowed mode settings properly
* game: use the game version for saving settings/saves
* game: prevent windowed mode from being auto-centered on initial init
* game: save and restore window coordinates
* lint: formatting
* redo cheat encodings
* fix error
* add no texture cheat
* tiny cleanup + add sidekick stats button
* crappy implementation of big/small head mode
* more correct bone scaling
* redo bone manip code a bit
* jp text fixes
* improved matrix math!
* add big fist cheat, minor type cleanup, add some debug toggles
* move all this mess to a new file
* slightly rework joint scaling function
* add big head npc cheat
* subtitles typo
* WIP mirror mode
* fix mirrored hud sprites
* fix mirror mode sound pan
* add cheats to menu!
* split some subtitles
* Added First working instance of controller/keyboard re-mapper
* Fixed clang formatting issues
* Updated newpad.cpp to inverse analog y-axis to make json labelling consistent
* Added mouse sensitivity options for X and Y axis in json, removed scroll mouse support, and other changes requested in feedback
* Added option to have ImGui debug menu appear on start up and remove hard coded set_imgui_visible calls
* Added newpad unit tests and updated function names to better describe intended functionalities
* Fixed formatting issue in newpad unit test
* Removed rumble unit test new pad
* Fixed codacy static analysis issues
* Fixed Linux build issues
* Implemented github feedback
* Implemented updated github feedback
* Fixed formatting errors
* Updated Pad::CheckPadIdx
* Implemented changes based on latest github feedback
* Implemented changes based on github feedback
Co-authored-by: animalstyletaco <animalstyletaco95@gmail.com>
* use `game-text-id->string` function here
* small cleanup to pc progress code
* better way to handle "locked" texts
* this is better
* fix potential incompatibilities with merc & ocean renderers
* show cheat requirements in menu + change requirements
* increase size of money starburst
* split some more subtitles
* potentially fix a vsync bug?
* change territory encoding logic
* pass game territory to compiler
* ugh LOL
* Add in-game option to switch fullscreen monitor
* mmm undefined memory :)
* Fix type consistency
* Optimize get_monitor and get_monitor_count since they're called often
* Address PR feedback
* Track fullscreen mode and minimized state to reduce GLFW calls per frame
* raise particles cap to 10x
* change a text line
* allow sound bank load during vag
* fix default settings and fps setting
* keep "auto save disabled" option in menu
* cheats menu!
* Update game_text_ja.gs
* fix battle hud crash
* add cheats menu to title
* update settings version
* Update all-types.gc
* disable envmap fade out with hires actor lod setting
* disable merc fadeout if not using ps2 actor lods
* dont update aspect ratio if game size is bad
* set vsync later
* increase memory for generic, sprite and dma.
* fix issues with aspect ratio not saving
* split forcing envmap to a separate toggle
* too slow, dont expose to users yet
* [graphics] a few optimizations
* fullscreen crap
* working, other than aspect ratio thing
* same behavior as before
* fix blackout bug, add more error messages
* fix error when 0 size buffer
* rm warning
* one last 0 size issue
* Fix instanced sprite distort renderer not always using the most recent sine table
Sometimes the game won't update the sine table on the same frame the aspect ratio changes (for example if the player is in a cutscene), but the renderer assumed that it was always up-to-date on the next frame. This caused it to occasionally use outdated vertex/tex coord data that usually made the distort sprites a little too small/big.
* Same fix, but better