Change MachineSyncBias prefs to an enum SyncBias, Changing this song triggers a reload of songs, added new option effect for reloading songs

This commit is contained in:
Crash Cringle
2025-03-14 15:39:39 -04:00
committed by teejusb
parent 8259a7cd84
commit 9529bfd142
17 changed files with 48 additions and 24 deletions
+4
View File
@@ -2895,6 +2895,10 @@
<EnumValue name='&apos;StyleType_OnePlayerTwoSides&apos;' value='2'/>
<EnumValue name='&apos;StyleType_TwoPlayersSharedSides&apos;' value='3'/>
</Enum>
<Enum name='SyncBias'>
<EnumValue name='&apos;SyncBias_Null&apos;' value='1'/>
<EnumValue name='&apos;SyncBias_ITG&apos;' value='2'/>
</Enum>
<Enum name='TapNoteScore'>
<EnumValue name='&apos;TapNoteScore_None&apos;' value='0'/>
<EnumValue name='&apos;TapNoteScore_HitMine&apos;' value='1'/>
+1 -1
View File
@@ -535,7 +535,7 @@ Transfer Edits to USB=Transfer Edits to USB
Transfer Edits from USB=Transfer Edits from USB
UseUnlockSystem=Enable or disable the unlock system.
VisualDelaySeconds=Calibrate display lag.
MachineSyncBias=Set the default Sync Bias for content on this machine. \nITG = +9ms.\n NULL = 0ms.
MachineSyncBias=Set the default Sync Bias for content on this machine.\n\nNOTE: Changing this setting will trigger a Song Reload \n\nITG = +9ms.\n NULL = 0ms.
Vsync=Cap your frame rate your display's refresh rate. This option only has an effect when the Display Mode is set to &oq;Full Screen&cq;.
WideScreen16_9=Enable widescreen display.
WideScreen16_10=Enable widescreen display.
+1 -1
View File
@@ -1214,7 +1214,7 @@ Undo=Deshacer
UseUnlockSystem=Sistema de desbloqueo
View steps data=Ver datos de pasos
VisualDelaySeconds=Latencia visual
MachineSyncBias=Establezca el sesgo de sincronización predeterminado para el contenido en esta máquina. \nITG = +9ms.\n Null = 0ms.
MachineSyncBias=Establezca el sesgo de sincronización predeterminado para el contenido en esta máquina.\nNOTA: Cambiar esta configuración activará una recarga de canción.\n\nITG = +9ms.\n Null = 0ms.
Voltage=Voltaje
Vsync=Esperar a VSync
WideScreen16_9=Panorámica 16:9
+1 -1
View File
@@ -517,7 +517,7 @@ Transfer Edits to USB=Transfère les Modifications vers une clé USB
Transfer Edits from USB=Transfère les Modifications depuis une clé USB
UseUnlockSystem=Active ou non le système de déblocage de chansons.
VisualDelaySeconds=Calibre le délai d'affichage.
MachineSyncBias=Définissez le biais de synchronisation par défaut pour le contenu sur cette machine. \nITG = +9 ms.\n Null = 0 ms.
MachineSyncBias=Définissez le biais de synchronisation par défaut pour le contenu sur cette machine.\n\nREMARQUE : la modification de ce paramètre déclenchera un rechargement de morceau\n\nITG = +9 ms.\n Null = 0 ms.
Vsync=Limite le taux de rafraîchissement à celui de votre écran. Cette option affecte seulement le mode &oq;Plein Écran&cq;.
WideScreen16_9=Enable widescreen display.
WideScreen16_10=Enable widescreen display.
+1 -1
View File
@@ -506,7 +506,7 @@ SmoothLines=グルーブレーダーの線を滑らかにするかどうかを
SoundVolume=ゲーム中の音量を変更します。
TextureColorDepth=テクスチャの色深度を選択します。\n32bitにするとメモリ消費が激しくなりますが、表示が綺麗になります。
VisualDelaySeconds=画面の表示遅れを調整します。
MachineSyncBias=このマシン上のコンテンツのデフォルトの同期バイアスを設定します。\nITG = +9ms。\n Null = 0ms。
MachineSyncBias=このマシン上のコンテンツのデフォルトの同期バイアスを設定します。\n注意: この設定を変更すると、曲の再読み込みがトリガーされます\n\nITG = +9ms。\n Null = 0ms。
Vsync=フレームレートを使用するディスプレイのリフレッシュレートまでに制限します。\nこのオプションはフルスクリーンモードでのみ有効です。
Windowed=ウインドウモード、またはフルスクリーンモードの\nどちらで起動するかを設定します。
+1 -1
View File
@@ -144,7 +144,7 @@ FlashyCombo=50련타마다 련타수를 번쩍일지 결정합니다。
GameplayFooter=게임속점수틀을 표시할지 설정합니다
FancyUIBG=화려한 바탕을 켰다껐다합니다。사양낮은 옛날콤퓨터에는 끄는것을 추천합니다。\n바뀜은 제목화면에 적용될것입니다。
TimingDisplay=게임속노래재생시간을 경과표에 번쩍입니다。
MachineSyncBias=이 컴퓨터의 콘텐츠에 대한 기본 동기화 바이어스를 설정합니다. \nITG = +9ms.\n Null = 0ms.
MachineSyncBias=이 컴퓨터의 콘텐츠에 대한 기본 동기화 바이어스를 설정합니다.\n\n참고: 이 설정을 변경하면 노래 다시 로드가 트리거됩니다.\n\nITG = +9ms.\n Null = 0ms.
ScoringType=득점방식을 설정합니다。\n『특별』을 고르면, 주제선택지에서 특별득점모드를 고르실수 있습니다。
+1 -1
View File
@@ -516,7 +516,7 @@ Transfer Edits to USB=Verplaats Wijzigingen naar de USB
Turn=Draai
UseUnlockSystem=Zet het vrijspeelsysteem aan of uit.
VisualDelaySeconds=Kalibreer schermvertraging.
MachineSyncBias=Stel de standaard synchronisatie-bias in voor inhoud op deze machine. \nITG = +9ms.\nNull = 0ms.
MachineSyncBias=Stel de standaard synchronisatie-bias in voor inhoud op deze machine. \n\nLET OP: Als u deze instelling wijzigt, wordt het nummer opnieuw geladen\n\nITG = +9ms.\nNull = 0ms.
Vsync=Limiteer je FPS aan je beeldvernieuwingssnelheid. Deze optie heeft alleen effect als het spel in oq;Volledig Scherm&cq; mode staat.
WideScreen16_10=Laat breedbeeld toe.
WideScreen16_9=Laat breedbeeld toe.
+1 -1
View File
@@ -512,7 +512,7 @@ Transfer Edits to USB=Transfer Zmodyfikowanych Układów Kroków do pamięci USB
Transfer Edits from USB=Transfer Zmodyfikowanych Układów Kroków z pamięci USB
UseUnlockSystem=Włączenie systemu odblokowywania piosenek.
VisualDelaySeconds=Kalibracja opóźnienia ekranu.
MachineSyncBias=Ustaw domyślne odchylenie synchronizacji dla zawartości na tym komputerze. \nITG = +9 ms.\n Null = 0 ms.
MachineSyncBias=Ustaw domyślne odchylenie synchronizacji dla zawartości na tym komputerze. \nUWAGA: Zmiana tego ustawienia spowoduje ponowne wczytanie utworu\n\nITG = +9 ms.\n Null = 0 ms.
Vsync=Blokowanie klatek do czasu odświeżania ekranu, w celu uzyskania płynniejszego obrazu. Działa tylko w trybie pełnoekranowym.
WideScreen16_9=Włączenie obsługi ekranów panoramicznych.
WideScreen16_10=Włączenie obsługi ekranów panoramicznych.
+1 -1
View File
@@ -522,7 +522,7 @@ Transfer Edits to USB=Preniesť úpravy na USB
Transfer Edits from USB=Preniesť úpravy z USB
UseUnlockSystem=Povoliť alebo zakázať systém odomykania skladieb.
VisualDelaySeconds=Kalibrovať oneskorenie zobrazenia.
MachineSyncBias=Nastavte predvolené nastavenie synchronizácie pre obsah na tomto počítači. \nITG = +9 ms.\n Null = 0 ms.
MachineSyncBias=Nastavte predvolené nastavenie synchronizácie pre obsah na tomto počítači. \n\nPOZNÁMKA: Zmena tohto nastavenia spustí opätovné načítanie skladby\nITG = +9 ms.\n Null = 0 ms.
Vsync=Prispôsobiť frekvenciu snímok obnovovacej frekvencii Vášho monitora. Táto voľba je aktívna pri v režime zobrazenia na &oq;celú obrazovku&cq;.
WideScreen16_9=Zapnúť zobrazenie na širokouhlú obrazovku.
WideScreen16_10=Zapnúť zobrazenie na širokouhlú obrazovku.
+1 -1
View File
@@ -522,7 +522,7 @@ Transfer Edits to USB=轉移自定義譜面到USB
Transfer Edits from USB=從USB轉移自定義譜面
UseUnlockSystem=使用解禁系統, 一般情況為關.
VisualDelaySeconds=校準畫面顯示延遲.
MachineSyncBias=设置此机器上内容的默认同步偏差。\nITG = +9ms。\n Null = 0ms。
MachineSyncBias=设置此机器上内容的默认同步偏差。\n注意:更改此設定將觸發歌曲重新加載 \nITG = +9ms。\n Null = 0ms。
Vsync=選擇是否垂直同步, 只在全螢幕模式有效.
WideScreen16_9=16:9寬螢幕顯示.
WideScreen16_10=16:10寬螢幕顯示.
+1 -1
View File
@@ -49,7 +49,7 @@ Group::Group(const RString& sDir, const RString& sGroupDirName) {
m_sSortTitle = m_sGroupName;
m_sTranslitTitle = m_sGroupName;
m_sSeries = "";
m_fSyncOffset = PREFSMAN->m_fMachineSyncBias;
m_fSyncOffset = PREFSMAN->m_MachineSyncBias == SyncBias_NULL ? 0 : -0.009;
m_bHasPackIni = false;
m_iYearReleased = 0;
m_sBannerPath = "";
+9 -1
View File
@@ -134,6 +134,14 @@ XToString(ProfileSortOrder);
StringToX(ProfileSortOrder);
LuaXType(ProfileSortOrder);
static const char* SyncBiasNames[] = {
"NULL",
"ITG"
};
XToString(SyncBias);
StringToX(SyncBias);
LuaXType(SyncBias);
bool g_bAutoRestart = false;
#ifdef DEBUG
# define TRUE_IF_DEBUG true
@@ -237,7 +245,7 @@ PrefsManager::PrefsManager() :
m_ShowDancingCharacters ( "ShowDancingCharacters", SDC_Random ),
m_bUseUnlockSystem ( "UseUnlockSystem", false ),
m_fGlobalOffsetSeconds ( "GlobalOffsetSeconds", -0.008f ),
m_fMachineSyncBias ( "MachineSyncBias", -0.009f ),
m_MachineSyncBias ( "MachineSyncBias", SyncBias_ITG ),
m_iProgressiveLifebar ( "ProgressiveLifebar", 0 ),
m_iProgressiveStageLifebar ( "ProgressiveStageLifebar", 0 ),
m_iProgressiveNonstopLifebar ( "ProgressiveNonstopLifebar", 0 ),
+9 -1
View File
@@ -124,6 +124,14 @@ enum ProfileSortOrder
ProfileSortOrder_Invalid
};
enum SyncBias
{
SyncBias_NULL,
SyncBias_ITG,
NUM_SyncBias,
SyncBias_Invalid
};
/** @brief Holds user-chosen preferences that are saved between sessions. */
class PrefsManager
{
@@ -240,7 +248,7 @@ public:
Preference<ShowDancingCharacters> m_ShowDancingCharacters;
Preference<bool> m_bUseUnlockSystem;
Preference<float> m_fGlobalOffsetSeconds;
Preference<float> m_fMachineSyncBias;
Preference<SyncBias> m_MachineSyncBias;
Preference<int> m_iProgressiveLifebar;
Preference<int> m_iProgressiveStageLifebar;
Preference<int> m_iProgressiveNonstopLifebar;
+6
View File
@@ -161,6 +161,12 @@ void ScreenOptionsMaster::HandleScreenMessage( const ScreenMessage SM )
if( m_iChangeMask & OPT_APPLY_SONG )
SONGMAN->SetPreferences();
if( m_iChangeMask & OPT_RELOAD_SONGS )
{
SCREENMAN->GetTopScreen()->SetNextScreenName("ScreenReloadSongs");
StartTransitioningScreen( SM_GoToNextScreen );
}
CHECKPOINT_M("Transferring to the next screen now.");
this->HandleScreenMessage( SM_GoToNextScreen );
return;
+5 -8
View File
@@ -710,12 +710,6 @@ static void GlobalOffsetSeconds( int &sel, bool ToSel, const ConfOption *pConfOp
MoveMap( sel, pConfOption, ToSel, mapping, ARRAYLEN(mapping) );
}
static void MachineSyncBias( int &sel, bool ToSel, const ConfOption *pConfOption )
{
constexpr std::array<float, 2> mapping = { 0.0f, -0.009f };
MoveMap( sel, pConfOption, ToSel, mapping.data(), mapping.size() );
}
static void EditRecordModeLeadIn(int &sel, bool to_sel, const ConfOption* conf_option)
{
float mapping[32];
@@ -947,7 +941,9 @@ static void InitializeConfOptions()
c.AddOption( ssprintf("%+i ms", i) );
ADD( c );
}
ADD( ConfOption( "MachineSyncBias", MachineSyncBias, "NULL","|ITG" ) );
ADD( ConfOption( "MachineSyncBias", MovePref<SyncBias>, "NULL","|ITG" ) );
g_ConfOptions.back().m_iEffects = OPT_RELOAD_SONGS;
ADD( ConfOption( "EnableAttackSounds", MovePref<bool>, "No","Yes" ) );
ADD( ConfOption( "EnableMineHitSound", MovePref<bool>, "No","Yes" ) );
ADD( ConfOption( "RateModPreservesPitch", MovePref<bool>, "No","Yes") );
@@ -1001,7 +997,8 @@ static const char *OptEffectNames[] = {
"ApplySound",
"ApplySong",
"ApplyAspectRatio",
"ApplyProfiles"
"ApplyProfiles",
"ReloadSongs"
};
XToString( OptEffect );
StringToX( OptEffect );
+2 -1
View File
@@ -17,7 +17,8 @@ enum OptEffect
OPT_APPLY_SONG = (1<<5),
OPT_APPLY_ASPECT_RATIO = (1<<6),
OPT_APPLY_PROFILES = (1<<7),
NUM_OptEffect = 8,
OPT_RELOAD_SONGS = (1<<8),
NUM_OptEffect = 9,
OptEffect_Invalid = MAX_OPTIONS+1
};
const RString& OptEffectToString( OptEffect e );
+3 -3
View File
@@ -481,7 +481,7 @@ bool Song::ReloadFromSongDir( RString sDir )
if (SONGMAN->GetGroup(this) != nullptr) {
m_SongTiming.m_fBeat0GroupOffsetInSeconds = SONGMAN->GetGroup(this)->GetSyncOffset();
} else {
m_SongTiming.m_fBeat0GroupOffsetInSeconds = PREFSMAN->m_fMachineSyncBias;
m_SongTiming.m_fBeat0GroupOffsetInSeconds = PREFSMAN->m_MachineSyncBias == SyncBias_NULL ? 0 : -0.009;
LOG->Warn("Song %s has no group, using machine sync bias.", m_sMainTitle.c_str());
}
@@ -507,7 +507,7 @@ bool Song::ReloadFromSongDir( RString sDir )
}
else
{
m_SongTiming.m_fBeat0GroupOffsetInSeconds = PREFSMAN->m_fMachineSyncBias;
m_SongTiming.m_fBeat0GroupOffsetInSeconds = PREFSMAN->m_MachineSyncBias == SyncBias_NULL ? 0 : -0.009;
LOG->Warn("Song %s has no group, using machine sync bias.", m_sMainTitle.c_str());
}
}
@@ -672,7 +672,7 @@ void Song::TidyUpData( bool from_cache, bool /* duringCache */ )
m_SongTiming.TidyUpData(false);
// Apply the group offset to the song timing before we do anything else.
float fOffset = PREFSMAN->m_fMachineSyncBias;
float fOffset = PREFSMAN->m_MachineSyncBias == SyncBias_NULL ? 0 : -0.009;
if (SONGMAN->GetGroupFromName(m_sGroupName) != nullptr)
{
fOffset = SONGMAN->GetGroupFromName(m_sGroupName)->GetSyncOffset();