Commit Graph

491 Commits

Author SHA1 Message Date
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
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
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
Matt Dallmeyer a04bdff80d RNG - mimic Java's Util.Random (#1672)
* initial java Util.Random mimic

* add comment referencing java impl

* fix 64 bit stuff

* copy scf-time definition into math.gc, use for initial seed

* rename java -> knuth

* move knuth-rand to separate file

* move knuth-rand to separate file

* PR comments
2022-07-29 20:04:22 -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 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 dc652d10c5 [jak2] decomp gkernel, setup offline tests (#1638)
* add comments

* oops

* format'

* spelling is hard
2022-07-12 18:50:18 -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
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
water111 822dc73970 [decompiler] jak2-style rtype-of, setup gcommon stuff (#1616)
* [decompiler] support jak2-style rtype-of, get gcommon decompiling to use for tests

* more decompiler debugging
2022-07-05 20:39:24 -04:00
water111 ac1e620161 [jak2] add all-types file (#1614)
* [jak2] add all-types file

* remove old file
2022-07-05 16:00:17 -04:00
water111 dd41640448 [decompiler] missing features in inspect method detection (#1613)
missing features in inspect method detection
2022-07-05 15:30:42 -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
ManDude 7084742a3d fix seagulls at high fps (#1607) 2022-07-05 12:11:05 -04:00
ManDude 87d24dd291 add "disable autosave" option to menu and change memcard warning (#1592)
* add "disable autosave" option to menu and change memcard warning

* reduce duplication

* fix test
2022-07-03 17:27:55 -04:00
ManDude 9676100039 finish out english subtitles (#1586)
* put some duplicated code in a func

* make jak 2 text "work"

* group up all subtitles c++ code into one folder

* compact single-line subtitles

* fix a couple compiler crashes

* Update game_subtitle_en.gd

* `rolling` and `sunken`

* `swamp`

* `ogre`

* `village3`

* `maincave`

* `snow`

* `lavatube`

* `citadel`

* Update .gitignore

* clang

* fix encoding and decoding for quote

* properly fix quotes

* subtitle deserialize: sort by kind, ID and name

* sub editor: fix line speaker not being converted

* cleanup game text ids 1

* update text ids 2

* update source

* update refs
2022-07-03 17:25:28 -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
ManDude 4ebb961246 fix windows scripts for jak 2 (#1580)
* fix scripts for jak 2

* delete duplicates

* disable game text for now (unsupported)
2022-06-30 01:22: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
Tyler Wilding 36dc015d62 jak2: Create goal_src skeleton (#1576) 2022-06-29 22:20:09 -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
water111 91fa0122d8 [decompiler] Jak 2 modifications, new all-types code (#1553)
* temp

* look at old game types

* clean up
2022-06-25 21:26:15 -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
ManDude 6b6c937277 make 60FPS always the default and add frame rate option to settings (#1533)
* fix ogre joints

* "frame rate" menu in options

* dont start game at non-60fps

* clang

* make hint subtitles option do stuff
2022-06-24 00:43:57 -04:00
ManDude 85bef15364 full ntsc-j mode + greatest hits support (#1525)
* remove str files from inputs

* removed unused verbose flag

* allow some kind of conditional game building for JP extras

* make `PrintBankInfo` do nothing

* clang

* Update gltf_mesh_extract.cpp

* fix `*jak1-full-game*` in extractor

* use json library to build json file

* screw it red label support as well
2022-06-23 18:44:02 -04:00
ManDude 7d5045ab3f PAL & NTSC-J support + updates (#1490)
* PAL dumps files

* alrighty then

* make PAL warning slightly more specific

* PAL patches for `title-obs`

* Update all-types.gc

* PAL patch `beach-obs`

* `process-taskable` PAL patch

* `ambient` PAL patch

* `yakow` PAL patch

* `village-obs` PAL patch

* `sparticle-launcher` patch

* `swamp-obs` PAL patch

* `sequence-a-village1` PAL patch

* typo

* errors

* `powerups` PAL patch

* `ogreboss` PAL patch

* jak 1 v2 encoding

* `load-boundary` PAL patch

* `flying-lurker` PAL patch

* `mayor` PAL patch

* update game encoding to PAL (v2) encoding

* `cam-debug` and `cam-update` PAL patch

* `fisher` PAL patch

* `target` PAL patch

* `target2` PAL patch and fix text compiling

* `target-death` PAL patch

* `target-racer-h` PAL patch

* `logic-target` PAL patch

* `main` PAL patch

* `snow-flutflut-obs` PAL patch

* `rolling-obs` PAL patch

* `gsound` PAL patch

* update refs

* `progress` and `progress-draw` PAL patches

* clang

* wrong.

* complain

* clang

* fix test

* fix blurry jp text

* fix weird interrupt lag from setting window size

* patch more text lines, special handling for credits

* Update FontUtils.cpp

* Add xdelta3 and file patching interface

* add window lock toggle and update settings ver

* better particle hacks

* add PAL support to extractor

* Fix credits

* also NTSC-J support

* make xdelta3 a separate library

* address feedback

Co-authored-by: water <awaterford111445@gmail.com>
2022-06-22 05:16:34 +01:00
ManDude 0e2320ca95 fix some entity decomp + improve battle hud to track specific tasks (#1455)
* entity decomp and update battle hud code

* disable lag compensation in pc port

* delete unnecessary forward decls

* make battle hud track specific tasks

* fix mem leak + debug flying-lurker hud

* improve battle hud lights and fix bug

* tests
2022-06-16 20:10:39 +01:00
ManDude 8ccb1dfb66 [decomp] macros for sound playback (#1453)
* `sound-play` macro

* update source

* fix `add-debug-light` lol

* fix `add-debug-light` forreal

* Update debug.gc

* update some mood/tod decomp
2022-06-13 18:39:22 -04:00
Tyler Wilding ad959e6291 tools: Some subtitle editor cleanup and add hint support (#1450)
* nrepl: detect a disconnected client better

* tools: remove some duplicate code

* tools: add hint playing support

* lint: formatting
2022-06-12 21:07:03 -04:00
ManDude dac4f21aba [game] fix bad resolutions menu options (#1448)
* Fix bad aspect ratios in resolutions menu

* fix typos

* hide resolutions that are too wide

* Update crates.gc
2022-06-12 22:05:46 +01:00
water111 f43610c5ab [decomp] clean up to file 110 (#1446) 2022-06-12 15:29:30 -04:00
water111 c235280b91 [decomp] clean up files 50-100 (#1443)
* [decomp] clean up files 50-100

* update file, fix crash on too many prims

* spelling is hard
2022-06-12 12:58:10 -04:00
ManDude df991470f7 cleanup settings stuff (#1444)
* rename `setting-control` methods

* macros around settings stuff

* fix some `process-spawn`s

* update source 1

* update remaining stuff + fix silly bug

* clang

* AGH
2022-06-12 12:23:08 -04:00
ManDude 7c5c7003b3 minor fixes to pc goal code (#1442)
* sound fixes especially for inf eco

* minor cleanup

* blue eco fixes
2022-06-11 16:52:19 -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
ManDude 8ba89dd95e fix IOP getting stuck on music load (#1437)
* fix IOP getting stuck on music load

* fix regression? and clang

* fix a decomp

* fix another regression

* another

* fix "all actors"

* another regression!
2022-06-10 19:04:16 -04:00
ManDude 3ce301ad0d some static-screen decomp fixes (#1435)
* some decomp fixes

* memcard robustness

* fix wrong bank in savefile being picked

* wtf???

* remove deleted memcard code
2022-06-10 18:20:00 +01:00
ManDude 7ce58f709f process-spawn + pretty printer improvements (#1428)
* some jp support to fix some errors in the original game

* music fade toggle

* recognize `process-new` macros!!

* strip casts in this macro

* rename macro

* fix cast typecheck

* update source 1

* detect kernel stack case

* less boilerplate

* `manipy-spawn` special case

* pretty printer improvements

* revert dumb thing from earlier

* use shell detection on `send-event`

* fix some events

* remove unused argument

* detect `static-attack-info` and add `CondNoElse` to shell detect

* better `attack-info` detect

* support `process-spawn` in multi-lets

* detect `rand-float-gen` pt 1

* detect as return value

* detect in `countdown` and  `dotimes`

* oops this wasnt working

* fancier `send-event`s

* clang

* update source!!

* fix tests

* fine jeez

* uh okay

* fix some accidental regressions

* fix more regressions

* regression fixes

* fix big bug...

* extra safety!
2022-06-10 02:18:08 +01:00
water111 ecb2781a89 [decompiler] cleanup to get atomic ops working on jak2 inputs (#1426)
* [decompiler] cleanup to get atomic ops working on jak2 inputs

* clang format
2022-06-08 18:34:52 -04:00
water111 aff2f2e10c [decompiler] setup before making IR2 type inspector (#1423) 2022-06-06 17:58:49 -04:00
water111 4c28794d23 [decomp] clean up first 50 files (#1422) 2022-06-05 18:51:19 -04:00
water111 bf2f785b2a [decomp] clean up KERNEL.CGO code (#1420)
* [decomp] clean up KERNEL.CGO code

* spelling is hard
2022-06-05 15:20:33 -04:00
ManDude d01c16f451 [game] music player (#1416)
* music flava hack toggle

* fix hint subtitles not being considered offscreen

* music player works

* fixes + citadel, maincave, lavatube music

* add remaining tracks

* fix test

* fixes

* fix lib
2022-06-04 14:53:49 -04:00
ManDude b173734e1b "quit game" option in title + reduce particle cap (30720 2D -> 15360 2D) (#1410)
* add "quit game" option to title

* reduce amount of particles in particle system

* increase merc2 memory

* enable extra particles by default

* fix tests
2022-06-02 21:40:37 -04:00
ManDude b9e23514dc fix plant-boss decomp (#1407) 2022-06-02 02:29:26 +01:00
ManDude b2a1afddd9 add an extra hud element for battlecontroller battles (#1397)
* update hud decomp

* properly

* pc hud element experiment + hud decomp fixes

* bug fixes

* extra hud elements toggle

* first frame weirdness fixes + comments

* Update game_subtitle_en.gs

* Update hud-classes-pc.gc
2022-05-31 22:19:37 -04:00
water111 3b6200be95 [game] fix ambients stopping and swamp blimp tethers (#1389) 2022-05-30 15:21:41 -04:00
ManDude c1faeac042 fix float->int cast suppression + minor cleanup of a couple files (#1375)
* fix float->int cast suppression + minor cleanup of a couple files

* add missing cutscenes
2022-05-28 15:23:39 -04:00
water111 148f52876a [decomp] add import statements for art groups (#1372)
* new code

* update goal_src and remove all_imports

* update reference

* add decompiler list of imports

* deduplicate and move below decomp begins
2022-05-23 18:53:02 -04:00
Matt Dallmeyer 4ff05077eb Use "Inverted" terminology for cam options, add "Restore Original" option (#1361)
* use normal/inverted and add option to restore original jak 1 defaults

* fix bad merge

* PR feedback
2022-05-23 20:56:42 +01:00