Commit graph

318 commits

Author SHA1 Message Date
Skyth
8ca852583b Implement text skew, grayscale image, and marquee fade.
Marquee fade currently does not work with text shadow as the repeatedly drawn font accumulates its alpha.
2024-12-09 20:31:44 +03:00
Skyth
70268e41b5 Fix marquee slowing down with increased resolution. 2024-12-09 20:20:09 +03:00
Skyth
075ee43808 Redo down force HFR fix. 2024-12-09 13:46:17 +03:00
Hyper
d6fcce918a button_guide: fix luminance for low quality font 2024-12-09 03:30:59 +00:00
Hyper
f694b0d219 media_win32: catch WinRT exceptions for PlaybackStatus() 2024-12-09 03:30:31 +00:00
Hyper
b6de286057 achievement_menu: change trophy colour by achievement count 2024-12-08 23:54:56 +00:00
Hyper
e19e18b14d options_menu: implemented thumbnails 2024-12-08 21:58:12 +00:00
Hyper
110e1a4575 message_window: use CInputState in-game 2024-12-08 18:21:59 +00:00
Hyper
7b2383e8ad Move media playback detection to OS namespace 2024-12-08 18:00:12 +00:00
Dario
26dbd7c697 Handle error case for std::filesystem::space. 2024-12-08 14:37:18 -03:00
Hyper
7dfeb8eca9 audio_patches: catch all WinRT exceptions 2024-12-08 17:28:56 +00:00
Hyper
ad862adc83 Move Windows version to OS namespace 2024-12-08 17:05:45 +00:00
Hyper
8db45bcf57 button_guide: remove unused resource header 2024-12-08 16:50:56 +00:00
Skyth
facc910200 Add enhanced motion blur. 2024-12-08 19:34:02 +03:00
Skyth
087b1eb220 Implement anti aliased filtering for point filtered CSD casts. 2024-12-08 17:01:11 +03:00
Hyper
f327eb8357 options_menu: reboot on language change 2024-12-08 03:46:01 +00:00
Hyper
1713a8c0ec options_menu: video callback on option reset 2024-12-08 03:43:12 +00:00
Hyper
652e9d52dc message_window: fix missing button guide for optionless messages 2024-12-08 03:41:39 +00:00
Hyper
d69f0442a7 CTitleStateMenu: implemented rebooting into installer 2024-12-08 02:57:27 +00:00
Hyper
fc9c7ffb3a CHudPause: make button guide respect HUD toggle 2024-12-08 01:37:16 +00:00
Hyper
059e6dd54e CHudPause: added button guide (WIP)
Known issues;
- The button guide erroneously shows up for Yes/No prompts.
2024-12-08 01:17:55 +00:00
Hyper
6d81e46608 Implemented quit input on title screen 2024-12-08 01:17:09 +00:00
Hyper
3b48043e59 Update embedded resources 2024-12-07 22:06:07 +00:00
Skyth (Asilkan)
4bd8d10d61
Depth of Field scaling fix. (#22)
* Initial DoF fix experiments.

* Implement proper DoF weighting & add quality options.

Co-authored-by: Dario <dariosamo@gmail.com>

* Change auto resolutions, remove from options menu.

* Precompile pipelines for the custom gaussian blur shaders.

---------

Co-authored-by: Dario <dariosamo@gmail.com>
2024-12-08 00:54:03 +03:00
Dario
8c44d62ed9 Fix default value for Enums when the key is missing. 2024-12-07 18:52:22 -03:00
Hyper
aa59eae8c8 window: fix hiding mouse cursor when regaining focus in windowed mode 2024-12-07 20:58:12 +00:00
Hyper
1ccd8b20e5 Update embedded resources 2024-12-07 19:15:03 +00:00
Hyper
d9d4ca2196 button_guide: support for PlayStation controller icons 2024-12-07 17:05:12 +00:00
Hyper
0d1a5e1fa1 options_menu: reset g_canReset when resetting selection
reset
2024-12-07 17:00:52 +00:00
Skyth (Asilkan)
31b100894f
Option for PS controller icons. (#21)
* Initial PS button implementation.

* Add controller buttons as config option & handle loading screen.

* Rename "Controller Buttons" to "Controller Icons".
2024-12-07 16:50:07 +03:00
Skyth
72f6713151 Fix compilation error. 2024-12-07 14:51:23 +03:00
Hyper
8a27d85964 Update embedded resources 2024-12-07 01:25:19 +00:00
Hyper
df03a64305 Redirected Install button to custom implementation
This currently fades out and closes the game upon accepting the message, it does not yet reboot into the installer menu using --install-dlc.
2024-12-07 01:02:59 +00:00
DeaTh-G
9e168ab326
Disable storage device option and enable install option on title menu (#12) 2024-12-06 22:16:42 +03:00
Hyper
3c7765eb27 installer_wizard: implemented button guide 2024-12-06 18:10:46 +00:00
Skyth (Asilkan)
c0897dd507
Options menu, achievements, and installer wizard. (#19)
* Implemented guest-to-host function pointers (WIP)

Co-Authored-By: Skyth (Asilkan) <19259897+blueskythlikesclouds@users.noreply.github.com>

* function: support more types for function pointers

* Initial options menu implementation.

* Improve options menu visuals.

* Draw fade on borders, center tabs better.

* Adjust line sizes, fix tab text centering.

* Adjust padding & text sizes.

* Fix bar dark gradient effect.

* api: ported BlueBlur headers and misc. research

* Fix config name padding not getting scaled at different resolutions.

* config: use string_view, added method to get value pointer

* config: use std::map for reverse enum template

* Draw config options manually instead of looping through them.

* config: implemented name and enum localisation

* config_detail: move implementation to cpp, relocate sources

* Implemented accessing options menu via pause and title screen

* config: replace MSAA with AntiAliasing enum

* options_menu: implemented info panel and text marquee (see TODOs)

* Draw selection triangles.

* Supersample fonts to 2K.

* Implement options menu navigation.

* Fix duplicate triangles when selecting options.

* Draw scroll bar.

* Adjust scroll bar padding.

* Further scroll bar padding adjustments.

* Draw outer container as an outline.

* Improve marquee text scrolling.

* CTitleMenu: fix options menu re-entering on A press whilst visible

* Make procedural grid pattern more accurate.

* Add enum & bool editing.

* Update English localisation

* Fix input state mapping.

* options_menu: hide menu on Y hold

* CHudPause: fix crash when opening options menu from village/lab

* Implement float slider.

* options_menu: round res scale description resolution

* options_menu: use config callbacks after setting items

* api: fix GameObject layout

* camera_patches: implemented camera X/Y invert

* options_menu: fix buffered A press selecting first option upon entry

* config_locale: update description for Battle Music

* config: added Allow Background Input option

* options_menu: move ATOC option below Anti-Aliasing

* options_menu: only draw header/footer fade in stages

* Handle real-time modifications of some video config values.

* Converge increments only when holding the left/right button.

* Add sound effects to options menu.

* Change some sounds used in options menu.

* Give the final decide sound to bool toggling.

* Add option select animation.

* options_menu: only play slider sound between min/max range

* Apply category select animation.

* config: rename Controls category to Input

* Implement intro transition animation for options menu.

* audio_patches: implemented music volume

* Implement FPS slider.

* Prevent ImGui from displaying OS cursor.

* Fade container brackets during intro transition.

* player_patches: added penalty to Unleash Cancel

* config_locale: update English localisation

* player_patches: ensure Unleash gauge penalty doesn't dip into negatives

* options_menu: fix being unable to press A at least once after opening the menu

* CTitleMenu: added open/close sounds to the options menu

* audio_patches: implemented Music and SE volume

* api: update research

* Implemented music volume attenuation for Windows 10+

* api: fix score offset

* Add an interval between consecutive playbacks of the slider sound effect in fastIncrement mode

* config: implemented enum descriptions

* options_menu: fit thumbnail rect to grid, remove menu hide input

* options_menu: fix description wrap width

* camera_patches: fix FOV at narrow aspect ratios

mobile gaming is back on the menu

* options_menu: implemented greyed out options and localisation

* options_menu: allow providing reasons for greyed out options

* audio_patches: check if Windows version is supported

* Update PowerRecomp submodule

* api: more research

* options_menu: forget selected item upon opening

* options_menu: restrict XButtonHoming to title and world map

* window: always hide mouse cursor

The options menu doesn't accept mouse input, so there's not really any point to showing the cursor at all.

* Animate category tab background  from the center.

* Fix clip rect in info panel not getting popped at all times.

* Expose texture loader in "video.h".

* config: use final names and descriptions, label options to be moved to exports

* options_menu: implemented Voice Language (and some misc. clean-up)

* Move Voice Language patch to resident_patches

* config: added Aspect Ratio option (to be implemented)

* options_menu: implemented Subtitles

* Remove triple buffering from options menu, turn it to an enum.

* window: hide mouse cursor on controller input for windowed mode

* window: show window dimensions on title bar when resizing window

* api: update research

* Accept functions directly in GuestToHostFunction & add memory range asserts.

* Add guest_stack_var, improve shared_ptr implementation.

* Handle float/double arguments properly in GuestToHostFunction.

* CHudPause_patches: allocate options strings on stack

* api: update research

* guest_stack_var: allow creation without constructing underlying type

* memory: make assertions lenient towards nullptr

* api: include guest_stack_var in SWA.inl

* audio_patches: don't worry about it

* Implemented achievement overlay (WIP)

* Implemented achievements menu (WIP)

* Clean-up, improved animation and layouts

* options_menu: fix naming convention

* achievements_overlay: implemented queue and hermite interpolation

* achievements_menu: implemented animations and improved navigation

* achievements_menu: improve animation accuracy

* achievements_menu: added timestamps

* achievement_data: added checksum and format verification

* achievement_menu: improved outro animation

* achievement_menu: added total unlocked achievements

* achievement_menu: update sprite animation

* Update resources submodule

* Add installer wizard.

* Skip drawing scanlines when height is 0.

* Tweak install screen to better match the original

* Added arrow circle to installer's header

* Move icon header generation to resources submodule

* Added missing animations and tweaked other ones for installer

* Improve detection for DLC only mode. Add template for message prompts.

* Add language picker.

* window: update icon resources

* Added file_to_c

* Fixes to conversion.

* Implemented message window

* achievement_menu: use selection cursor texture

* Update embedded resources

* Implemented message window

* Merge branch 'bin2c' into options-menu

* Update embedded resources

* Framework for max width for buttons.

* Update embedded resources

* Use textures for pause menu containers

* audio_patches: check if Windows major version is >=10

Just in case.

* installer_wizard: use integer outline for button text

* Added arrow circle spinning animation during installation screen

* achievement_menu: fix timestamp and scroll bar padding

* achievement_overlay: fix achievement name padding

* installer_wizard: fix arrow circle spinning animation misaligning

* Add Scale and Origin to ImGui shaders. Change text to be squashed.

* message_window: implemented mouse input

* installer_wizard: implemented message windows

* achievement_menu: start marquee before timestamp margin

* Fix message box flow.

* message_window: use pause container texture

* Add extra condition for starting the installer.

* message_window: only accept mouse click if option is selected

* Implemented safer way to check if the game is loaded

* Add queued update when using files pickers.

* installer_wizard: implement localisation

* installer_wizard: use enum for localisation

* message_window: fix visibility persisting after window closes

* Fix arrow circle animation and added pulse animation

* Come back check space.

* Implement ZSTD compression in file_to_c.

* Add fade-in/out to installation icons and sleep after hitting 100%

* Implement ImGui font atlas caching.

* Controller navigation.

* Implemented button guide

* CTitleStateMenu: fix start button opening old options menu

* Update resources submodule

* imgui_snapshot: check if game is loaded before accessing XDBF

* message_window: added button guide

* options_menu: increase button guide side margins

* video: disable imgui.ini creation

* Use IM_DELETE for deleting the existing font atlas.

* Remove redundant FlushViewport call.

* Fix ImGui callbacks leaking memory.

* Replace unique_ptr reference arguments with raw pointers.

* Specialize description for resolution scale by reference.

---------

Co-authored-by: Hyper <34012267+hyperbx@users.noreply.github.com>
Co-authored-by: PTKay <jp_moura99@outlook.com>
Co-authored-by: Dario <dariosamo@gmail.com>
2024-12-06 18:52:06 +03:00
Hyper
b0562b4360 Remove storage device prompt on new game
A.K.A. The Fucking Thing™️
2024-12-06 13:52:43 +00:00
Skyth
b4296ff701 Update PowerRecomp submodule. 2024-12-04 12:48:46 +03:00
Skyth
5876c2b658 Add missing files. 2024-12-04 12:48:38 +03:00
Hyper
2c2e37f6fe Implemented immersive dark title bar 2024-12-03 19:24:08 +00:00
Skyth
78fde84bd9 Fix Dark World cutscene getting frozen at the end. 2024-12-03 19:41:27 +03:00
Skyth
fe4801b9ff Fix counter shared pointer getting created with the wrong function. 2024-12-03 18:44:58 +03:00
Skyth (Asilkan)
6c65e0914d
Implement miniaudio. (#15) 2024-12-03 18:10:06 +03:00
Hyper
913f5a388b Move resources to submodule 2024-12-01 19:56:14 +00:00
Skyth
1821fae71e Update pipeline cache. 2024-12-01 14:06:32 +03:00
Skyth
e7494667ad Use readerwriterqueue for SDL2 audio. 2024-12-01 13:55:50 +03:00
Sajid
d51ba31f27
Merge pull request #11 from hedge-dev/sdl2-audio
Implement SDL Audio
2024-11-30 23:32:17 +06:00
Skyth
1a53a3b463 Rename the RHI. 2024-11-30 18:20:56 +03:00
Sajid
de9726c7d0 XAudio2 cmake option 2024-11-30 17:00:34 +06:00
Sajid
019d889306 SDL audio cleanup and volatile callback 2024-11-30 16:32:18 +06:00