Skip to content

Commit 6198f0e

Browse files
hyperbxsquidbusKitzukuNextinMonoLJSTARbird
authored
Implement options menu (#183)
* Initial options menu hooks and design Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com> * Implemented option controls * Update resources submodule * Remove app init checks from options menu text rendering * Load hidden category dynamically * Implemented cursor animation * Implemented restart prompt for necessary options * Implemented intro and outro animations for controls * Implemented button guide and reset button * Update resources submodule * Disable button guide animation at main menu * Keep game paused when options menu is opened * Implemented animations for selection arrows * Reopen pause menu pre-selecting the options button * Update FPS locale * Implement Effects Volume option * Fix slider gauges not fading out during outro animation * Clean-up * Implemented hold input for cursor and sliders * Don't redraw borders in options menu when accessed via the main menu * Unpause stage BGM upon entering options menu * Implemented Subtitles option * Implemented Hints and Control Tutorial options These may need further review in terms of blocking hints initiated by volumes that suggest things to the player and hints about bosses after death. * Fix camera options not affecting demo camera * Keep BGM paused until Master or Music Volume sliders are selected * Added hint patterns for disabling scripted hints * Clean-up API and player patches, added Antigravity and Light Dash remapping support * Disable unimplemented options temporarily * Disable stage title control tutorial * Revert "Disable stage title control tutorial" This reverts commit 649ef25. * Implemented Mute on Focus Lost option * Don't play button guide intro animation if buttons are the same * Restored original transition animations between main menu and options menu * Implemented enum descriptions * Fix Window Size option not displaying the correct window size * Prevent inputs leaking from the options menu to the main menu * Improve chevron animation accuracy * Use linear interpolation for button guide animation * Fix aspect ratio scaling for custom UI * Fix version info not accounting for letterbox * UI accuracy pass * Implemented interpolated text renderer * Improve locale for remapping actions * Finalise options menu locale * German and Italian localisation Co-authored-by: Kitzuku <smashnicsg@gmail.com> Co-authored-by: NextinHKRY <38560522+NextinMono@users.noreply.github.com> * Spanish localisation by DaGuAr * Use correct linear interpolation strategy for all animations * Fix options menu descriptions fading when unnecessary * Improved restart prompt * Fixed main menu not drawing accurately at original aspect ratio * Fixed field offset in HUDMainMenu * Fade option names to avoid clipping into scroll arrows * French localisation Co-authored-by: LJSTAR <31629427+ljstarbird@users.noreply.github.com> * Fix button guide being too short at ludicrously wide aspect ratios * Fix chevron animation not looping properly * Hide control tutorial messages for remapped actions * Rename Antigravity option to Sliding Attack * Update locale for Light Dash and Sliding Attack Co-authored-by: LJSTAR <31629427+ljstarbird@users.noreply.github.com> Co-authored-by: DaGuAr Co-authored-by: NextinHKRY <38560522+NextinMono@users.noreply.github.com> * Fix options menu scaling at narrow aspect ratios * Fix "OPTIONS" title not being localised immediately upon changing language * Fix description text fading out when cancelling a restart * Fixed animation delay between options menu -> main menu transition * Fix seam in top metal plate at narrow aspect ratios * Don't animate installer title when changing language * Disable credits marquee in installer (will address in a later PR) * Fix red strip misaligning from top metal plate during intro and outro animations * Japanese localisation Co-authored-by: brianuuu <38166666+brianuuu@users.noreply.github.com> * Update README.md * Fix warnings * Update embedded resources * Fix alignment * Finalised German localisation Co-authored-by: Ray Vassos * Update embedded resources * Fix button guide displaying Reset button whilst options are locked on * Block options menu input during intro animation * Addressed review comments * Swap Xbox and PS3 voice lines when changing Controller Icons * Clean-up * Fix Linux build * Swap Xbox and PS3 button icons at loading screens This does not account for remapped buttons yet. * Fix Japanese main menu buttons not changing to PlayStation * ButtonGuide -> ButtonWindow For consistency sake. * Fix Tag text lingering at ultrawide in different menu states * Fix button window flickering when returning to main menu * Increase Rodin font size for Japanese * Fix seam between option title background edge and stretch --------- Co-authored-by: squidbus <175574877+squidbus@users.noreply.github.com> Co-authored-by: Kitzuku <smashnicsg@gmail.com> Co-authored-by: NextinHKRY <38560522+NextinMono@users.noreply.github.com> Co-authored-by: LJSTAR <31629427+ljstarbird@users.noreply.github.com> Co-authored-by: brianuuu <38166666+brianuuu@users.noreply.github.com>
1 parent 5da3231 commit 6198f0e

135 files changed

Lines changed: 5397 additions & 4207 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

MarathonRecomp/CMakeLists.txt

Lines changed: 9 additions & 57 deletions
Large diffs are not rendered by default.
File renamed without changes.
Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
22

3-
#include <CSD/Manager/csdmRCPtrAbs.h>
3+
#include <Chao/CSD/Core/csdRCPtrAbs.h>
44

55
namespace Chao::CSD
66
{
@@ -10,13 +10,13 @@ namespace Chao::CSD
1010
struct Vftable
1111
{
1212
be<uint32_t> fpDestroy;
13-
be<uint32_t> fpDeallocate;
13+
be<uint32_t> fpFree;
1414
};
1515

1616
xpointer<Vftable> m_pVftable;
1717
xpointer<void> m_pMemory;
18-
be<uint32_t> m_RefCount;
19-
xpointer<void> m_pDealloctor;
20-
be<uint32_t> m_eDealloctor;
18+
be<uint32_t> m_ReferenceCount;
19+
xpointer<void> m_Field0C;
20+
be<uint32_t> m_Field10;
2121
};
2222
}

MarathonRecomp/api/CSD/Manager/csdmRCObjectImp.h renamed to MarathonRecomp/api/Chao/CSD/Core/csdRCObjectImp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
22

3-
#include <CSD/Manager/csdmRCPtr.h>
3+
#include <Chao/CSD/Core/csdRCPtr.h>
44

55
namespace Chao::CSD
66
{

MarathonRecomp/api/CSD/Manager/csdmRCPtr.h renamed to MarathonRecomp/api/Chao/CSD/Core/csdRCPtr.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
22

3-
#include <CSD/Manager/csdmRCPtrAbs.h>
3+
#include <Chao/CSD/Core/csdRCPtrAbs.h>
44

55
namespace Chao::CSD
66
{
File renamed without changes.

MarathonRecomp/api/CSD/Platform/csdTexList.h renamed to MarathonRecomp/api/Chao/CSD/Core/csdTexList.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#pragma once
22

3-
#include <CSD/Manager/csdmBase.h>
4-
#include <CSD/Manager/csdmRCPtr.h>
3+
#include <Chao/CSD/Core/csdBase.h>
4+
#include <Chao/CSD/Core/csdRCPtr.h>
55

66
namespace Chao::CSD
77
{
File renamed without changes.

MarathonRecomp/api/CSD/Manager/csdmNode.h renamed to MarathonRecomp/api/Chao/CSD/Manager/csdmNode.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
#pragma once
22

33
#include <Marathon.inl>
4-
#include <CSD/Manager/csdmBase.h>
5-
#include <CSD/Manager/csdmResourceBase.h>
6-
#include <CSD/Manager/csdmNodeObserver.h>
7-
#include <CSD/Manager/csdmSubjectBase.h>
4+
#include <Chao/CSD/Core/csdBase.h>
5+
#include <Chao/CSD/Manager/csdmResourceBase.h>
6+
#include <Chao/CSD/Manager/csdmNodeObserver.h>
7+
#include <Chao/CSD/Manager/csdmSubjectBase.h>
88

99
namespace Chao::CSD
1010
{

MarathonRecomp/api/CSD/Manager/csdmNodeObserver.h renamed to MarathonRecomp/api/Chao/CSD/Manager/csdmNodeObserver.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#pragma once
22

3-
#include <CSD/Manager/csdmObserverBase.h>
3+
#include <Chao/CSD/Manager/csdmObserverBase.h>
44

55
namespace Chao::CSD
66
{

0 commit comments

Comments
 (0)