Commit graph

426 commits

Author SHA1 Message Date
OpenGOALBot d38d06356f Updating Controller Database 2022-08-08 16:23:46 +00:00
ManDude 26f19e8b14
cleanup cheats menu + change game territory logic + some subtitles (#1733)
* 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
2022-08-06 11:57:19 -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
Tyler Wilding dc6589cef5
game/imgui: remove V-Sync checkbox as it can't be interacted with (#1726) 2022-08-05 12:12:55 -04:00
ManDude 5148523917
more small cleanupses (#1722)
* reduce max supersampling options in progress menu

* cleanup knuth rng file

* save & load cheats

* allow keyboard controls when cpad is connected

* ignore key presses when imgui is being used

* save settings when quitting game
2022-08-03 21:51:13 -04:00
ManDude 3e538dabe6
more random cleanup (#1716)
* correct some comments

* change `pc-cheats?` macro to be more generic

* more generic custom fps stuff

* better subtitle timings

* oopsie!

* fix burn effect stacking

* fix some windows scripts

* fix project

* cleanup this func

* more fix

* oops

* ???
2022-08-02 18:48:10 -04:00
water111 dd49f352d8 Updating Controller Database 2022-08-01 16:23:55 +00:00
Shalen Bennett 8daa3c2e00
Automatically switch to dedicated GPU in OpenGOAL runtime (#1715)
* Automatically switch to dedicated GPU for runtime

Some machines with dual-GPUs cannot properly detect OpenGOAL as a high-performance application and properly utilize the dedicated GPU. This sets a flag for both Radeon and NVIDIA GPUs to always use the high performance GPU when available. I do not have a dual-GPU machine to test this on, but this should just work out of the box.

* clang-format

One day I will understand clang
2022-07-31 13:32:22 -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
Hat Kid d53f0ccd35
Add German subtitles (#1502)
* subtitles: add german subtitles for new progress menu options

* subtitles: add german subtitles for village1, beach

* missed some strings

* jungle, firecanyon, finalboss cutscenes

* add framrate options to progress menu

* fix samos line

* add citadel cutscenes

* add text version to subtitles

* add text version to text file

* `sidekick` hints

* fix up `mayor-introduction`

* oops

* `training` hints

* `village1` hints

* `lavatube` hints

* `snowy` and `spidercave` hints

* `finalboss` hints

* `firecanyon` hints and cutscenes

* `beach` hints

* update game text file

* finish up subtitles

* add german to progress menu sub setting

* split all bad lines and fix a few small errors

* remove test block
2022-07-29 19:58:27 -04:00
ManDude 9f6c4bd409
[game] improved subtitle debugging & make subtitles larger (#1704)
* improved subtitle debugging and interface

* increase subtitle font size

* fix a ton of subtitles

* dont toggle subtitles in scenes with no subtitles
2022-07-27 21:38:52 +01:00
Ziemas f8bc883d48
Implement scheduling of IOP threads. (#1689)
* Use sleepthread in RPC loop

* Keep a pointer to current IOP thread

* Implement IOP thread scheduling based on priority

And implement DelayThread as an actual delay.

* Run IOP flat out

* Use information from scheduler in wait_run_iop

* Lock sif mutex in set_rpc_queue

* always use kernel dispatch with wait_run

* Loop in dispatch until no thread is ready

* Use timestamp for next wakeup

instead of duration

* Wrap IOP thread entrypoints for safety

Libco threads are not supposed to return from their entrypoint

* Use a queue for IOP thread wakeups from EE thread
2022-07-26 21:15:37 -04:00
water111 7d5901aa95 Updating Controller Database 2022-07-25 16:23:14 +00:00
Tyler Wilding d1ad6c3817
utf8: fix locale mis-handling on linux (#1698)
* utf8: fix locale mis-handling on linux

* lint: formatting
2022-07-23 10:30:23 -04:00
Ziemas 47f7335541
Set thread names of system threads (#1697)
Set thread names
2022-07-23 10:27:42 -04:00
Ziemas 1012020035
Use libco for cooperative threading in overlord (#1684)
* IopThreadRecord -> IopThread

* add libco

* Use cooperative threading for IOP threads

* Ugly solution for overlord start

Needs to run in a thread

* Clean out thread shutdown logic

* Update comments
2022-07-22 11:54:27 -04:00
possum93 9c89f1f16c
[subtitles] Changed "BRIGE" to "BRIDGE" (#1693) 2022-07-21 13:42:36 +01:00
possum93 116c703e3a
[subtitles] Changed "LITHER" to "LITTER" (#1692) 2022-07-21 05:58:51 +01:00
ManDude 5d4ba62bdb
fix controller vibration (#1685)
* fix vibration being wrong and untoggleable

* fix a battle hud crash
2022-07-19 19:06:05 -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
Ethan Lafrenais bb323c2ebe
Depth Cue (#1676)
* Initial depth-cue implementation

* Oops

* Finish merge + fix issues with letterboxing

* Fix alpha blending

* Add some debug options + profiler stats

* More debug options + respect xyoffset GS register

* Clean up GOAL code

* Disable depth-cue by default

* typo

* very important typo

* depth-cue disable, but better
2022-07-19 18:34:30 -04:00
water111 6e77b1154d
[graphics] switch to depth-pass shadows (#1681) 2022-07-18 20:43:07 -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 50af536e80 Updating Controller Database 2022-07-18 16:24:43 +00: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
ManDude afd7ee4504
change default window settings (#1656)
* consistent texture unit binding for screen

* change default pc settings for window size & display mode
2022-07-15 20:28:08 -04:00
water111 1c5f7dc3d5
[sparticle] workaround for 150fps crashes (#1655) 2022-07-15 19:54:46 -04:00
water111 193712a236
[gfx] add more annoying opengl texture initialization (#1654)
* [gfx] add more annoying opengl texture initialization

* fix catastrophic typo
2022-07-15 19:16:36 -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 3b558e093e
Fix instanced sprite distort renderer not always using the most recent sine table (#1646)
* 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
2022-07-15 18:16:46 -04:00
Ethan Lafrenais 16d8f6b59d
Fix exclusive fullscreen refresh rate (#1643) 2022-07-15 10:01:54 -04:00
water111 04f440b7cc
improvements to custom level blender import (#1649) 2022-07-14 23:38:29 -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
Ethan Lafrenais d66af4f4c7
Reduce overall draw count for multidraw (#1639)
Reduce overall draw count for multidraw by creating runs similar to singledraw
2022-07-12 18:50:12 -04:00
ManDude 163e86130f
separate language settings into 3 settings/options (#1636)
* only show subtitle notices during a subtitle context

* move language & subtitles (back) to game options

* remove "accessibility" menu and put its option in "misc"

* new subtitle language selection

* properly split audio & text language

* Update game_text_en.gs

* misc setting size fixes

* better fix for subtitle notice

* final touches

* subtitle fixes & uk-english subtitles

* more english fixes
2022-07-12 18:00:52 -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
Ethan Lafrenais 63ac19440c
Sprite Distort Instancing (#1630)
* Implement instanced renderer for sprite distort

* Clean up + formatting
2022-07-10 19:01:02 -04:00
Ethan Lafrenais 8ba010ca97
Sprite Distort (#1626)
* [WIP] initial sprite distort implementation

* Clean up

* More clean up + document sprite distort VU program

* Format code

* Address CI issues

* Adjust hacks in distort fragment shader

* oops

* Optimize sprite distort rendering down to one draw call

~2x speed up

* Format file

* Clean up distort rendering and add separate profile scopes

* Fix glVertexAttribPointer

* Fix sprite distort getting messed up when the viewable area doesn't fit the window perfectly

* Add debug option to disable sprite distort

* One evil space to fail CI...

* oops

* Increase sprite-aux-list size when PC_BIG_MEMORY is true

* Address lints
2022-07-08 21:56:38 -04:00
water111 5e23057ed1
[goalc] compile/run code for jak2 ckernel, set up dummy KERNEL.CGO (#1625)
[goalc] start can compile and run code for jak2 ckernel, set up dummy KERNEL.CGO
2022-07-08 19:23:49 -04:00
water111 28a2ecdfd3
[jak2] goalc supports multiple projects (#1619)
* [jak2] goalc supports multiple projects

* disable deci2 server if not debugging
2022-07-06 21:18:08 -04:00
ManDude 9ede08977f
add text messages for subtitle toggling + subtitle editor fixes (#1617)
* add final cutscene subtitle and fix some editor bugs

* `title` and `finalboss` hints

* messages and notices for subtitle toggling

* fix colors in currently selected cutscene menu

* subtitle positioning fixes

* Update game_subtitle_en.gd
2022-07-06 18:09:01 -04:00
Tyler Wilding 6446389263
extractor: cleanup, support unicode properly, and add multi-game support (#1609)
* extractor: refactor and cleanup for multi-game support

* deps: switch to `ghc::filesystem` as it is utf-8 everywhere by default

* extractor: finally working with unicode

* unicode: fix unicode cli args on windows in all `main` functions
2022-07-05 20:38:13 -04:00
water111 cf35cac428
[ckernel] add remaining jak2 functions (#1611) 2022-07-05 13:58:09 -04:00
ManDude 9821304f44
add vibration option back in + make new aspect ratio menu (#1610)
* add vibration option back in + make new aspect ratio menu

* update this notice...

* add 900p resolution

* fix test

* typo
2022-07-05 13:49:37 -04:00
Hat Kid 4da1a81af8
glfw, game: add rumble support (#1605)
* glfw: add rumble support

* game: add rumble support

* oops
2022-07-05 12:14:57 -04:00
ManDude 9225514d97
fix upper 32 bits in certain format args being discarded (#1606) 2022-07-05 12:14:22 -04:00
ManDude 5de9547d07
fix wrong vag stream playing sometimes (#1608) 2022-07-05 12:14:05 -04:00
ManDude 8caa5bfa70
disable goal networking when not in debug mode (#1602) 2022-07-04 13:52:05 -04:00
Zedb0T 417d0951de
Update sdl_controller_db.txt (#1598)
Brings sdl_controller_db up to date as the automatic workflow seems to have broken.
https://github.com/open-goal/jak-project/actions/workflows/update-controller-db.yaml
2022-07-03 18:57:45 -04:00