Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* improve `send-event` for jak 2 (#2828) Fixes #2825 * [jak2] Work-in-progress texture animations (#2819) * [jak2] speed up the sky texture animation (#2829) This saved about 1.6 ms per frame in the city for me (~1.3 saved from not doing sky twice, 0.3 saved in format lookup tables). The big texture animator is about 1.0 ms.  * Added bound check for blend vertex count (#2830) Co-authored-by: animalstyletaco <animalstyletaco95@gmail.com> * Get the project compiling on Apple Silicon macOS natively (arm64) (#2827) I havn't tested it yet, but I can almost guarantee that atleast `goalc` will not work in the slightest! But the project is atleast fully compiling. My hope is to start translating some AVX to NEON next / get `goalc` working...eventually. * [jak2] More texture animations (#2831) Added framework to do texture animations entirely in C++. Currently only works on relatively simple ones, and doesn't handle updating all parameters - only the speeds. Connected texture animations to merc and tfrag for skull gems, dark bomb, and scrolling conveyors. Cleaned up Tfragment/Tfrag3, which used to be two classes. This was one of the first C++ renderers, so it had a weird design. * CI: Periodic Controller Database Update (#2832) Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com> * [jak2] Fix overlord related crash (#2834) This fixes the crash reported in open-goal/jak-project#2833 There was a memory bug here for a long time where our array of `VagCmd` in `iso_queue.cpp` was too small. This caused GetVagCommand to return bogus pointers, and sound code would write over other parts of memory. * [jak2] More progress on texture animations (#2835) - Add security wall animation - Add waterfall animations - Add lava animations - Update layer values from the game to fix the security wall - Remove leftover debug in `level.gc` that would break level-specific animations on the second time you visited the level - Optionally load animated slot textures to the pool so generic can use them (fixes skull gems in UI) * [jak2] Add static textures for the progress menu (#2838) The progress menu loads its icon textures from a .STR file that we were previously ignoring. This change: - updates the decompiler so it can process a .STR file containing a texture - adds a feature to force an entire page to always be loaded in the PC renderer by putting all textures in the GAME.FR3 file. - regenerates the texture offset map file for jak 2 with these new textures For now, I've just put the icon textures in GAME.FR3. The downside is that these will always stay on the GPU, using up VRAM even when they aren't needed. But the entire GAME.FR3 file is under 3 MB so I think it's ok.  * game: add a clear text label for how to hide the top bar (#2845) * [jak2] Fix dark jak anim and low res skull gems (#2842) Fixes skull gems using a low resolution texture. Fixes issue where jak in cutscenes is dark after watching oracle-level-1 (and likely other bugs with texture animations getting stuck) --------- Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com> * [jak2] make progress menu work for widescreen + various other fixes (#2843) Lots of manual fixes to make the text and other UI elements in the progress fit within the small 4x3 view.         I've also changed the select start menus to not have that giant space in each option. It's behind a toggle in the code right now.  Additionally: - fixed city billboard particles - fix stadium crash from original game - fix an accidental regression * Fix small buzz motor not vibrating correctly (#2846) * fix stad-samos regression from refactor (#2796) + change imgui toggle to left-alt and make it customizable (#2848) * [jak2] More texture animations, and fixes (#2847) * Fix possible crash when loading files (#2850) There was a single static path buffer being shared between multiple file i/o threads. So sometimes you would end up using the wrong path for the file, and getting size/data for the wrong file. I think the original reason to have this buffer was just me being lazy when we changed how project paths works a long time ago. It was a bad idea in the first place. * [jak1] Fix ice walking animation bug and crash (#2851) This should fix a crash and animation bug in snowy. The way to trigger the bug: - go on ice - move forward slowly - stop moving forward. Reach zero speed when the frame number isn't between 30 and 35 of the ice walking animation - Due to this bug, the animation gets stuck at frame 60 - Take damage (due to normal lurker or ice lurker) - Sidekick eye animation crashes because a frame number is NaN. * [jak2] graphic options menu proof of concept (#2849)   (The "Custom" option does not do anything right now.) * `force-actors?` -> `ps2-actor-vis?` (#2852) supersedes #2839 * [jak2] workaround for missing yakow textures (#2854) The yakow texture is actually missing from the real game too. This adds a special case in the extractor to replace it with a similar-ish fur texture:  * [jak2] fix transparent shrub blending (#2853)  Should probably wait until the release just in case. But I'm 99% sure this line was just a mistake in the original implementation. * [jak2] Fix ocean culling when using camera-other (#2858) When drawing the spinning palace, there's a terrible hack that lets some stuff be drawn with different camera matrices. The ocean is drawn with camera-other (which spins), but was being culled with camera (doesn't spin). This changes ocean to use the right camera matrix. Note that the ocean is special when it comes to camera-other - it always uses camera-other if there is one. Other uses are set per-level and should already be handled correctly. * [jak2] fix compile error (#2862) not sure how this passed tests.... * [jak2] use current buffer for blit-displays (#2855) This changes how `BlitDisplays.cpp` works so it looks at the current render buffer, rather than the back buffer. This approach is a bit faster because we avoid copying the back buffer on every single frame. It also removes the black frames when the transition starts/stops. The remaining issues are: - there's still a single frame of weirdness with the sprite glow renderer. - when changing resolutions, it doesn't work super well. * [jak2] disable envmap when it should be (#2864) In jak 2, there's an option to disable envmap. It's used on krew holograms, hiphog trophies, and baron bosses in palace/tomb. * [gfx] Clean up background renderer matrices, fix "hole covers" (#2866) The way we got/stored background matrices is a bit weird and full of leftovers from the first attempts at porting renderers. This doesn't work well with the Jak 2 "other camera" system where some stuff is rendered with a different camera matrix. This cleans most of it up. The exception is that the collide mesh renderer and the additional sprite culling I added still need to peek at some cached camera matrices. This fixes the problem where etie uses the wrong matrices for "other camera" levels. Now the "hole covers" go in the holes in the background of the throne room.  * ci: strip binaries in their respective runners (#2868) * New Crowdin updates (#2869) * fix texture anim shader on macOS (#2870) * fix collision renderer filters not working (#2872) fixes #2867 * [goalc] Sign extend objects when loading them (#2863) Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com> * Anim Tester X - Quality of Life improvements (#2682) Co-authored-by: Tyler Wilding <xTVaser@users.noreply.github.com> Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com> * Basic hash table and jump table (#1837) Co-authored-by: Tyler Wilding <xtvaser@gmail.com> * github: update issue templates, move general feature requests to discussions preferably (#2879) * jak1: start a new game correctly when speedrunner mode is enabled (#2873) * formatter: support formatting bindings, for example in a `let` (#2883) * [jak2] get new cheats working (#2885) * [jak2] progress: make custom aspect ratio menu (#2888) New menu for setting a custom aspect ratio.     * CI: Periodic Controller Database Update (#2889) Updating Controller Database Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com> * [jak2] prepare `scf-get-territory` usage (#2890) * log: rotate log files with timestamps and add flag to disable ANSI colors (#2886) Rotates the log files with a timestamp instead of copying all files and incrementing an integer. Increases the amount of info you have when looking at user's log files (ie. when looking at all the files, the file creation dates are accurate).  Also simplifies the API for setting the log file, and `gk` logs are now game specific with `jak1` or `jak2`. Which should be useful going forward. Lastly, added a flag to all CLIs to disable ansi colors for people that want to do so. Though at the same time, there is finally a workaround in jenkins to fix ANSI colors in the truncated log view -- so I'm not sure why anyone would want to get rid of the color information. You can even setup text editors to display the color info making log parsing much easier. Fixes #1917 --------- Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com> * custom levels: fix crash when more than one ambient is present (#2891) * log: don't recursively iterate when rotating log files (#2892) * cleanup our cmake and build warnings (#2876) * cmake: fix regression for building SDL statically (#2894) * input: fix double press issue when assigning a bind (#2895) * Update test-zone.jsonc to use lowercase for nickname (#2896) * [jak1] Fix texture-related custom level crash (#2898) Force FR3 file name for custom levels to be uppercase, fixes the crash described in open-goal/jak-project#2534 and open-goal/jak-project#2897 * [shrub] Fix bug with gs-prim settings (#2899) Fix the bug described in open-goal/jak-project#2882 where some shrubs are transparent when they shouldn't be. The problem was that we never carefully looked at the settings in `gs-prim`, which has a bit to enable/disable alpha blending entirely. Now it should be correct for both jak 1 and jak 2. To see this change, you'll need to re-extract. Also adds a setting to disable saving texture .pngs, to speed up decompilation. I left it on for jak 1 (to avoid confusion for texture swapping(, but off for jak 2 for now. * [glow] fix clipping bug (#2902) Now you can be blinded by the sun:  * log: ensure the `log/` directory exists (#2904) * build binaries + some manual cleanup --------- Co-authored-by: ManDude <7569514+ManDude@users.noreply.github.com> Co-authored-by: water111 <48171810+water111@users.noreply.github.com> Co-authored-by: animalstyletaco <mcc-108@hotmail.com> Co-authored-by: animalstyletaco <animalstyletaco95@gmail.com> Co-authored-by: Tyler Wilding <xTVaser@users.noreply.github.com> Co-authored-by: OpenGOAL Bot <99294829+OpenGOALBot@users.noreply.github.com> Co-authored-by: OpenGOALBot <OpenGOALBot@users.noreply.github.com> Co-authored-by: Luminar Light <18116946+LuminarLight@users.noreply.github.com> Co-authored-by: Brent Hickey <brent.hickey@icloud.com> Co-authored-by: Tyler Wilding <xtvaser@gmail.com> Co-authored-by: Hat Kid <6624576+Hat-Kid@users.noreply.github.com> Co-authored-by: Matt Dallmeyer <mattdallmeyer@gmail.com>
- Loading branch information