Commit graph

75 commits

Author SHA1 Message Date
water111 d52739226c
[decomp] decompile decomp.gc (#1936)
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?)
2022-10-01 13:39:56 -04:00
water111 b5d21be9c5
W/misc fixes (#1838)
* temp

* temp

* before cleaning up

* cleanup merge

* fix warnings

* merge fix

* clang format
2022-09-05 20:29:12 -04:00
sardap 5777b6e058
Added screenshot hotkey (#1776)
* 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>
2022-08-23 19:13:26 -04:00
Tyler Wilding 4164a755b1
game: fix transition from fullscreen (not borderless) to windowed (#1786)
* 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
2022-08-22 18:56:11 -04:00
water111 b388aa7b71
add option to disable mouse hiding (#1782)
* add option to disable mouse hiding

* write setting
2022-08-21 19:00:13 -04:00
Tyler Wilding dec7da2110
game: windowed mode related fixes (#1778)
* 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
2022-08-21 18:13:27 -04:00
water111 3c89cd08be
Improvements for stuttering (#1768)
* tie changes

* other changes

* cleanpu

* remove silly profiling

* loader frames bug fix

* fix merge issue
2022-08-20 10:32:00 -04:00
animalstyletaco 0850c7d98c
Fixed invalid cursor mode bug in GLDisplay::update_cursor_visibility() (#1774)
* Fixed invalid cursor mode bug in GLDisplay::update_cursor_visibility()

* Removed global cursor mode variable

Co-authored-by: animalstyletaco <animalstyletaco95@gmail.com>
2022-08-20 10:31:39 -04:00
animalstyletaco 375e9c7713
Added first working instance of controller/keyboard re-mapper (#1702)
* 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>
2022-08-19 11:28:06 -04:00
water111 da4ec008c3
Add a gltf level exporter (#1719)
* Add a gltf level exporter

* more fixes

* disable by default

* compile fixes for windows

* improve collide packer

* bug fix

* clang format

* fix texture bug
2022-08-05 12:25:35 -04:00
Ethan Lafrenais 88856ba5e0
Add in-game option to switch fullscreen monitor (#1700)
* 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
2022-07-31 13:31:17 -04:00
ManDude a8653f7595
fix borderless on Windows, resolution when letterboxes and envmap setting (#1683)
* fix Windows borderless and letterboxing resolutions

* oops fix envmap setting

* unused

* fix msaa not using a resolve buffer

* remove unnecessary resolve buffers(?)

* fix sprite distort
2022-07-19 18:41:48 -04:00
ManDude d2f104cd43
implement a cheats menu + a few bug fixes (#1677)
* 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
2022-07-18 19:54:38 -04:00
water111 1602b05a2e
[graphics] some blit optimizations (#1667)
* [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
2022-07-17 14:45:00 -04:00
water111 e9567a6e4b
Cleanup goalc tests, fix jak2 kernel bugs (#1669)
* Cleanup goalc tests, fix jak2 kernel bugs

* fix warnings on linux

* spelling is hard
2022-07-17 14:12:11 -04:00
water111 9bdb6d11d1
[graphics] Another possible way to handle windowed (#1653)
* [gfx] fixes for when the window is force to weird size

* a better way

* Another way to handle windowed mode
2022-07-15 18:59:13 -04:00
Ethan Lafrenais 16d8f6b59d
Fix exclusive fullscreen refresh rate (#1643) 2022-07-15 10:01:54 -04:00
ManDude 20ab48796d
split game framebuffers to allow custom resolutions/shaders (#1641)
* split rendering framebuffer

* fix blackout

* unhardcode c++ stuff

* optimization

* implement goal side of all this

* fix msaa

* sprite distort fixes

* fix resolution menu options

* save & load msaa

* linear filtering on the game screen

* fix bad texture units

* fun!

* unused

* make screenshot button capture the framebuffer and not the window buffer

* panik

* screenshot settings

* fix black screen on first frame of new framebuffer

* default fullscreen resolution to the screen size

* hide funny resolutions in windowed since it makes no sense
2022-07-14 21:37:03 -04:00
Tyler Wilding 1b67d1dc77
Fix UTF-8 handling when running the game, env-vars, and setting the project path (#1632)
* fix utf-8 handling around env-vars

* fix file opening errors related to unicode

* add uncaught exception handler in `gk` to ensure something is logged

* gracefully fail if window icon cant be loaded and work with unicode

* linux fix and add changes to vendor file
2022-07-10 19:03:24 -04:00
water111 f763eb6bf0
[jak2] support for multiple out/ directories (#1585)
* [jak2] support for multiple out/ directories

* windows
2022-06-30 21:11:58 -04:00
water111 1e33dcda4b
Remove assets folder, use more std::filesystem (#1575)
* Remove assets folder, use more std::filesystem

* windows fix

* another one for windows

* another one

* better system for different folders

* rm debugging stuff

* let extractor override everything

* dont revert jak1 change
2022-06-29 23:32:46 -04:00
ManDude 2649fd17ec
subtitle editor fixes + other smaller fixes (#1572)
* [extractor] validate files when extracted as folder

* jp text fixes

* move game text version to the text file and fix subtitle editor escape chars

* make bad subtitles not crash the game

* fix texscroll in lag

* fix mood, fix decomp of other versions, fix text decomp

* clang

* fix tests

* oops dammit

* new fixes

* shut up codacy

* fix nonexistant subtitles crashing the game

* fix text hacks and extractor re-use on folders
2022-06-29 19:43:23 -04:00
ManDude c9de15ba64
framerate and vsync menus and fixes (#1552)
* in-game vsync option, automatically framelimit correctly, fix minimize/alttab bugs

* fix jp text errors

* bump version number as panic

* this makes more sense i think

* clang

* oops delete debug print
2022-06-25 11:05:20 -04:00
Tyler Wilding 2d595c1ac0
lint: add include sorting config to clang-format (#1517) 2022-06-22 23:37:46 -04:00
water111 90a049dcc5
[cleanup] memory bugs, memory usage reduction, delete merc1 (#1515)
* [cleanup] remove merc1, fix memory bugs, reduce memory usage

* change compiler log to see actual info from build_level

* save file

* editing text is hard
2022-06-21 21:26:11 -04:00
ManDude 8d8c6ccf39
fix bad resolutions being picked in windowed mode (#1513)
fix bad resolutions being picked in windowed
2022-06-21 20:11:57 -04:00
ManDude 69a3007e9b
windows graphics fixes (#1512)
* fix blurry jp text

* fix weird interrupt lag from setting window size

* add window lock toggle and update settings ver

* better particle hacks
2022-06-21 19:21:51 -04:00
Tyler Wilding 818485b501
paths: ensure imgui and game_config respects the project path (#1505)
* paths: ensure `imgui` respects the project path

* paths: remove extra creation of `game_config/` this is done when the settings are saved
2022-06-21 18:22:31 -04:00
water111 196c09a232
Clean up libstb_image (#1494) 2022-06-19 19:48:34 -04:00
Brent Hickey f48fda692e
[game] 150fps support (and 100fps support) (#1264)
* docs for ee merc code

* 150fps support but it replaces 60fps

* oops switched wrong mode

* oops 50.0 not 50

* formatting

* fix cutscene speed

* oops

* Replace latest merc.md, not sure what happened

* Automatically switch between video modes (ntsc or 150fps) based on
refresh rate. Cleanup particle timing

* cleanup

* fix idle animation

* linter

* fix village2 crash

* can load all levels again

* update loader output and replace sparticle time with formula

* Add 100fps support, add some comments, fix build

* formatting

Co-authored-by: water <awaterford111445@gmail.com>
2022-06-19 17:01:51 -04:00
SortAnon f212de86dc
Add menu bar toggle (#1472)
* Add menu bar toggle

* Add menu bar toggle (fix)

* Add menu bar toggle (Alt+Tab fix)
2022-06-17 19:39:33 -04:00
ManDude 714ddf1d6f
a bunch of PC/GFX system fixes (#1465)
* rework fullscreen code a bit

* Virtualization!

* Fix resolution stuff not working properly!

* yeah yeah whatever
2022-06-16 22:46:12 -04:00
Tyler Wilding d73336bbf3
game: automatically apply framelimiter on high refresh rate monitors (#1452)
game: automatically apply framelimiter on high refresh rate monitor
2022-06-13 18:28:25 -04:00
water111 7bf19759d3
fix goalc crash and clang warnings (#1441) 2022-06-11 16:52:27 -04:00
Tyler Wilding 9fdf0bbc2f
tools: Add cutscene player / subtitle editor window (#1429)
* stash

* temp

* tools: subtitle tool works! just gotta fill out the db / polish UX

* tools: added configuration for every subtitle we have so far

* tools: add some colors to the editor, time for repl controls and make it run the code!

* tools: continuing polish of tool, getting very close

* tools: finished UX polish, just need to write deserializers

* tools: added deserializer for subtitle data

* tools: exported subtitle files, all data appears intact

* tools: more UX polish and test all the cutscenes, majority work

* assets: update subtitle files

* lint: formatting and cleanup

* lint: codacy lints
2022-06-11 16:32:27 +01:00
water111 347572d9df
support non-debug-mode (#1347) 2022-04-30 14:55:13 -04:00
water111 caf4aed127
[gfx] remove the generic v1 renderer, cleanup (#1345)
* remove the generic v1 renderer, cleanup

* rm the toggle too
2022-04-30 13:10:33 -04:00
water111 789c57916e
Add timeline style profiler (#1312)
* small speedups to extractor

* faster extraction

* add profiler

* spellin

* guess at windows includes

* windows nominmax garbage
2022-04-17 21:12:24 -04:00
ManDude a7eee4fdc9
[game] pc port progress menu (#1281)
* fix typo

* more typo

* shorten discord rpc text

* allow expanding enums after the fact (untested)

* make `game_text` work similar to subtitles

* update progress decomp

* update some types + `do-not-decompile` in bitfield

* fixes and fall back to original progress code

* update `progress` decomp with new enums

* update config files

* fix enums and debug menu

* always allocate (but not use) a lot of particles

* small rework to display mode options

* revert resolution/aspect-ratio symbol mess

* begin the override stuff

* make `progress-draw` more readable

* more fixes

* codacy good boy points

* first step overriding code

* finish progress overrides, game options menu fully functional!

* minor fixes

* Update game.gp

* Update sparticle-launcher.gc

* clang

* change camera controls text

* oops

* some cleanup

* derp

* nice job

* implement menu scrolling lol

* make scrollable menus less cramped, fix arrows

* make some carousell things i guess

* add msaa carousell to test

* oops

* Update progress-pc.gc

* make `pc-get-screen-size` (untested)

* resolution menu

* input fixes

* return when selecting resolution

* scroll fixes

* Update progress-pc.gc

* add "fit to screen" button

* bug

* complete resolutions menu

* aspect ratio menu

* subtitles language

* subtitle speaker

* final adjustments

* ref test

* fix tests

* fix ref!

* reduce redundancy a bit

* fix mem leaks?

* save settings on progress exit

* fix init reorder

* remove unused code

* rename goal project-like files to the project extension

* sha display toggle

* aspect ratio settings fixes

* dont store text db's in compiler

* properly save+load native aspect stuff
2022-04-11 18:38:54 -04:00
water111 5bd0b735a5
Add extractor tool (#1276)
* 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
2022-04-03 19:17:03 -04:00
water111 e38832365c
Loader improvements and blackout (#1254)
* temp

* also tfrag

* fix order
2022-03-26 15:53:44 -04:00
water111 a6fa04a83d
[graphics] port generic VU1 to OpenGL (#1221)
* 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
2022-03-06 19:56:43 -05:00
water111 a5b383c78a
[graphics] Rewrite of texture system (#1212)
* loading cleanup

* temp

* add texture replacement

* fix windows

* oops

* fix windows

* final cleanup
2022-03-02 20:01:37 -05:00
water111 68a1f2d012
[graphics] Add a specialized renderer for handling merc/generic output data (#1207)
* second try at writing the direct renderer

* finish direct2

* more optimization
2022-02-27 17:23:12 -05:00
water111 382ec1d1c5
add fog (#1204) 2022-02-25 23:25:49 -05:00
ManDude af447aeab7
[game] subtitles support (tools + goal + text file). (#1174)
* 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
2022-02-19 13:10:10 -05:00
water111 c9fc4f0bf9
[graphics] eyes (#1169)
* first draft eye renderer

* working

* working
2022-02-15 19:37:51 -05:00
ManDude b36199f4f8
add MSAA 4x + lod picking for TIE & tfrag (#1167)
* MSAA

* support different TIE lods

* tfrag lod picking

* always compress screenshots

* mute annoying nvidia opengl message

* use a string here instead

* oops

* more mistakes...
2022-02-15 18:42:48 -05:00
ManDude ae05fde45a
cleanup code, fix some bugs (and potential bugs), add actor LOD modifiers (#1163) 2022-02-13 19:19:56 -05:00
Tyler Wilding ffb04ddd10
Documentation cleanup and some feature improvements (#1155)
* 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
2022-02-12 17:48:50 -05:00