1
0
mirror of synced 2024-11-23 23:21:06 +01:00

0.6.0.10 - Make menu keys for all players and 1P drum keys for 1P work for difficulty menu and gameplay option menu

- Fix Softlocked in difficulty selection when any non P1 player has no key binds
    * Now menu keys control the lowerest index operable player
- Fix P1 could have only use menu keys but not drum keys, if the key binds differ
    * Now both work
- Fix Up and Down arrow keys controlled multiple players at once in gameplay option
    * Now menu keys only control the lowerest index operable player
This commit is contained in:
Wei-Cheng Yeh (IID) 2024-10-31 07:39:29 +08:00 committed by GitHub
parent d8077b13fb
commit ad21410703
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 190 additions and 166 deletions

View File

@ -250,7 +250,7 @@ class CStage段位選択 : CStage {
this..Draw(); this..Draw();
} }
if (.bOption) actPlayOption.On進行描画(0); this.actPlayOption.On進行描画(1, [this..bOption]);
if (ct待機.CurrentValue >= 3000) { if (ct待機.CurrentValue >= 3000) {
if (.currentBar.nodeType == CSongListNode.ENodeType.RANDOM) { if (.currentBar.nodeType == CSongListNode.ENodeType.RANDOM) {

View File

@ -138,38 +138,13 @@ internal class CActPlayOption : CActivity {
public int On進行描画(int player) { public int On進行描画(int nPlayers, ReadOnlySpan<bool> bOptions) {
if (this.IsDeActivated) if (this.IsDeActivated)
return 0; return 0;
if (ctOpen.CurrentValue == 0)
Init(player);
ctOpen.Tick();
ctClose.Tick();
if (!ctOpen.IsTicked) ctOpen.Start(0, 50, 6, OpenTaiko.Timer);
var act難易度 = OpenTaiko.stageSongSelect.actDifficultySelectionScreen; var act難易度 = OpenTaiko.stageSongSelect.actDifficultySelectionScreen;
var danAct = OpenTaiko.stage段位選択.; var danAct = OpenTaiko.stage段位選択.;
#region [ Open & Close ]
float oy1 = ctOpen.CurrentValue * 18;
float oy2 = (ctOpen.CurrentValue - 30) * 4;
float oy3 = ctOpen.CurrentValue < 30 ? 410 - oy1 : -80 + oy2;
float cy1 = ctClose.CurrentValue * 3;
float cy2 = (ctClose.CurrentValue - 20) * 16;
float cy3 = ctClose.CurrentValue < 20 ? 0 - cy1 : 20 + cy2;
float y = oy3 + cy3;
#endregion
var _textures = new CTexture[] var _textures = new CTexture[]
{ {
txSpeed[nSpeedCount], txSpeed[nSpeedCount],
@ -184,127 +159,170 @@ internal class CActPlayOption : CActivity {
txSongSpeed[nSongSpeed], txSongSpeed[nSongSpeed],
txOtoiro[nOtoiro], txOtoiro[nOtoiro],
txFunMods[nFunMods], txFunMods[nFunMods],
}; };
// menu key input, for the lowest-index player who is modifying play options
bool leftMenu = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LeftChange) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.LeftArrow));
bool rightMenu = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RightChange) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.RightArrow));
bool centerMenu = (OpenTaiko.Pad.bPressedDGB(EPad.Decide) ||
(OpenTaiko.ConfigIni.bEnterIsNotUsedInKeyAssignments && OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Return)));
bool upMenu = (OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.UpArrow));
bool downMenu = (OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.DownArrow));
bool cancelMenu = (OpenTaiko.Pad.bPressedDGB(EPad.Cancel) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Escape));
var pos = player % 2; for (int player = 0; player < nPlayers; ++player) {
var _shift = pos == 1 ? (OpenTaiko.Tx.Difficulty_Option.szTextureSize.Width / 2) : 0; if (!bOptions[player]) {
var _rect = new Rectangle(_shift, 0, OpenTaiko.Tx.Difficulty_Option.szTextureSize.Width / 2, OpenTaiko.Tx.Difficulty_Option.szTextureSize.Height); continue;
OpenTaiko.Tx.Difficulty_Option.t2D描画(_shift, y, _rect);
OpenTaiko.Tx.Difficulty_Option_Select.t2D描画(_shift + OpenTaiko.Skin.SongSelect_Option_Select_Offset[0] + NowCount * OpenTaiko.Skin.SongSelect_Option_Interval[0],
OpenTaiko.Skin.SongSelect_Option_Select_Offset[1] + y + NowCount * OpenTaiko.Skin.SongSelect_Option_Interval[1], _rect);
for (int i = 0; i < OptionType.Length; i++) {
OptionType[i].t2D描画(OpenTaiko.Skin.SongSelect_Option_OptionType_X[pos] + i * OpenTaiko.Skin.SongSelect_Option_Interval[0],
OpenTaiko.Skin.SongSelect_Option_OptionType_Y[pos] + y + i * OpenTaiko.Skin.SongSelect_Option_Interval[1]);
}
txModMults[0]?.t2D拡大率考慮描画(CTexture.RefPnt.Up, OpenTaiko.Skin.SongSelect_Option_ModMults1_X[pos], OpenTaiko.Skin.SongSelect_Option_ModMults1_Y[pos] + y);
txModMults[1]?.t2D拡大率考慮描画(CTexture.RefPnt.Up, OpenTaiko.Skin.SongSelect_Option_ModMults2_X[pos], OpenTaiko.Skin.SongSelect_Option_ModMults2_Y[pos] + y);
for (int i = 0; i < _textures.Length; i++) {
_textures[i]?.t2D拡大率考慮描画(CTexture.RefPnt.Up, OpenTaiko.Skin.SongSelect_Option_Value_X[pos] + i * OpenTaiko.Skin.SongSelect_Option_Interval[0],
OpenTaiko.Skin.SongSelect_Option_Value_Y[pos] + y + i * OpenTaiko.Skin.SongSelect_Option_Interval[1]);
}
if (ctClose.CurrentValue >= 50) {
Decision(player);
NowCount = 0;
ctOpen.Stop();
ctOpen.CurrentValue = 0;
ctClose.Stop();
ctClose.CurrentValue = 0;
bEnd = false;
act難易度.bOption[player] = false;
danAct.bOption = false;
}
#region [ Inputs ]
if (!ctClose.IsTicked) {
bool _leftDrum = false;
bool _rightDrum = false;
bool _centerDrum = false;
bool _cancel = false;
switch (player) {
case 0:
_rightDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RightChange) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.RightArrow));
_leftDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LeftChange) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.LeftArrow));
_centerDrum = (OpenTaiko.Pad.bPressedDGB(EPad.Decide) ||
(OpenTaiko.ConfigIni.bEnterIsNotUsedInKeyAssignments && OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Return)));
_cancel = (OpenTaiko.Pad.bPressedDGB(EPad.Cancel) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Escape));
break;
case 1:
_rightDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue2P));
_leftDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue2P));
_centerDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed2P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed2P));
break;
case 2:
_rightDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue3P));
_leftDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue3P));
_centerDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed3P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed3P));
break;
case 3:
_rightDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue4P));
_leftDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue4P));
_centerDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed4P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed4P));
break;
case 4:
_rightDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue5P));
_leftDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue5P));
_centerDrum = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed5P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed5P));
break;
} }
if (ctOpen.CurrentValue == 0)
Init(player);
if (_leftDrum || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.LeftArrow)) { ctOpen.Tick();
OptionSelect(true); ctClose.Tick();
tFetchMults(player);
OpenTaiko.Skin.soundChangeSFX.tPlay(); if (!ctOpen.IsTicked)
ctOpen.Start(0, 50, 6, OpenTaiko.Timer);
#region [ Open & Close ]
float oy1 = ctOpen.CurrentValue * 18;
float oy2 = (ctOpen.CurrentValue - 30) * 4;
float oy3 = ctOpen.CurrentValue < 30 ? 410 - oy1 : -80 + oy2;
float cy1 = ctClose.CurrentValue * 3;
float cy2 = (ctClose.CurrentValue - 20) * 16;
float cy3 = ctClose.CurrentValue < 20 ? 0 - cy1 : 20 + cy2;
float y = oy3 + cy3;
#endregion
var pos = player % 2;
var _shift = pos == 1 ? (OpenTaiko.Tx.Difficulty_Option.szTextureSize.Width / 2) : 0;
var _rect = new Rectangle(_shift, 0, OpenTaiko.Tx.Difficulty_Option.szTextureSize.Width / 2, OpenTaiko.Tx.Difficulty_Option.szTextureSize.Height);
OpenTaiko.Tx.Difficulty_Option.t2D描画(_shift, y, _rect);
OpenTaiko.Tx.Difficulty_Option_Select.t2D描画(_shift + OpenTaiko.Skin.SongSelect_Option_Select_Offset[0] + NowCount * OpenTaiko.Skin.SongSelect_Option_Interval[0],
OpenTaiko.Skin.SongSelect_Option_Select_Offset[1] + y + NowCount * OpenTaiko.Skin.SongSelect_Option_Interval[1], _rect);
for (int i = 0; i < OptionType.Length; i++) {
OptionType[i].t2D描画(OpenTaiko.Skin.SongSelect_Option_OptionType_X[pos] + i * OpenTaiko.Skin.SongSelect_Option_Interval[0],
OpenTaiko.Skin.SongSelect_Option_OptionType_Y[pos] + y + i * OpenTaiko.Skin.SongSelect_Option_Interval[1]);
} }
if (_rightDrum || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.RightArrow)) { txModMults[0]?.t2D拡大率考慮描画(CTexture.RefPnt.Up, OpenTaiko.Skin.SongSelect_Option_ModMults1_X[pos], OpenTaiko.Skin.SongSelect_Option_ModMults1_Y[pos] + y);
OptionSelect(false); txModMults[1]?.t2D拡大率考慮描画(CTexture.RefPnt.Up, OpenTaiko.Skin.SongSelect_Option_ModMults2_X[pos], OpenTaiko.Skin.SongSelect_Option_ModMults2_Y[pos] + y);
tFetchMults(player);
OpenTaiko.Skin.soundChangeSFX.tPlay(); for (int i = 0; i < _textures.Length; i++) {
_textures[i]?.t2D拡大率考慮描画(CTexture.RefPnt.Up, OpenTaiko.Skin.SongSelect_Option_Value_X[pos] + i * OpenTaiko.Skin.SongSelect_Option_Interval[0],
OpenTaiko.Skin.SongSelect_Option_Value_Y[pos] + y + i * OpenTaiko.Skin.SongSelect_Option_Interval[1]);
} }
if (_centerDrum && ctOpen.CurrentValue >= ctOpen.EndValue) { if (ctClose.CurrentValue >= 50) {
OpenTaiko.Skin.soundDecideSFX.tPlay(); Decision(player);
if (NowCount < nOptionCount) { NowCount = 0;
NowCount++; ctOpen.Stop();
} else if (NowCount >= nOptionCount && !bEnd) { ctOpen.CurrentValue = 0;
ctClose.Stop();
ctClose.CurrentValue = 0;
bEnd = false;
act難易度.bOption[player] = false;
danAct.bOption = false;
}
#region [ Inputs ]
if (!ctClose.IsTicked) {
// per-player key input
bool _leftDrum = leftMenu;
bool _rightDrum = rightMenu;
bool _centerDrum = centerMenu;
bool _up = upMenu;
bool _down = downMenu;
bool _cancel = cancelMenu;
leftMenu = false;
rightMenu = false;
centerMenu = false;
upMenu = false;
downMenu = false;
cancelMenu = false;
switch (player) {
case 0:
_rightDrum = _rightDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue));
_leftDrum = _leftDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue));
_centerDrum = _centerDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed));
break;
case 1:
_rightDrum = _rightDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue2P));
_leftDrum = _leftDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue2P));
_centerDrum = _centerDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed2P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed2P));
break;
case 2:
_rightDrum = _rightDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue3P));
_leftDrum = _leftDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue3P));
_centerDrum = _centerDrum ||(OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed3P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed3P));
break;
case 3:
_rightDrum = _rightDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue4P));
_leftDrum = _leftDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue4P));
_centerDrum = _centerDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed4P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed4P));
break;
case 4:
_rightDrum = _rightDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue5P));
_leftDrum = _leftDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue5P));
_centerDrum = _centerDrum || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed5P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed5P));
break;
}
if (_leftDrum) {
OptionSelect(true);
tFetchMults(player);
OpenTaiko.Skin.soundChangeSFX.tPlay();
}
if (_rightDrum) {
OptionSelect(false);
tFetchMults(player);
OpenTaiko.Skin.soundChangeSFX.tPlay();
}
if (_centerDrum && ctOpen.CurrentValue >= ctOpen.EndValue) {
OpenTaiko.Skin.soundDecideSFX.tPlay();
if (NowCount < nOptionCount) {
NowCount++;
} else if (NowCount >= nOptionCount && !bEnd) {
bEnd = true;
ctClose.Start(0, 50, 6, OpenTaiko.Timer);
}
}
int cp1 = nOptionCount + 1;
if (_up) {
OpenTaiko.Skin.soundChangeSFX.tPlay();
NowCount = (NowCount + cp1 - 1) % cp1;
}
if (_down) {
OpenTaiko.Skin.soundChangeSFX.tPlay();
NowCount = (NowCount + 1) % cp1;
}
if (_cancel) {
OpenTaiko.Skin.soundDecideSFX.tPlay();
bEnd = true; bEnd = true;
ctClose.Start(0, 50, 6, OpenTaiko.Timer); ctClose.Start(0, 50, 6, OpenTaiko.Timer);
} }
} }
int cp1 = nOptionCount + 1;
#endregion
if (OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.UpArrow)) {
OpenTaiko.Skin.soundChangeSFX.tPlay();
NowCount = (NowCount + cp1 - 1) % cp1;
}
if (OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.DownArrow)) {
OpenTaiko.Skin.soundChangeSFX.tPlay();
NowCount = (NowCount + 1) % cp1;
}
if (OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Escape)) {
OpenTaiko.Skin.soundDecideSFX.tPlay();
bEnd = true;
ctClose.Start(0, 50, 6, OpenTaiko.Timer);
}
} }
#endregion
return 0; return 0;
} }
private CCachedFontRenderer OptionFont; private CCachedFontRenderer OptionFont;

View File

@ -157,43 +157,53 @@ internal class CActSelect難易度選択画面 : CActivity {
if (this.ctBarAnimeIn.IsEnded && exextraAnimation == 0) // Prevent player actions if animation is active if (this.ctBarAnimeIn.IsEnded && exextraAnimation == 0) // Prevent player actions if animation is active
{ {
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) { // menu key input, for the lowest-index player who is still selecting the difficulty
if (!bSelect[i] && !isOnOption()) { bool rightMenu = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RightChange) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.RightArrow));
bool right = false; bool leftMenu = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LeftChange) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.LeftArrow));
bool left = false; bool decideMenu = (OpenTaiko.Pad.bPressedDGB(EPad.Decide) ||
bool decide = false; (OpenTaiko.ConfigIni.bEnterIsNotUsedInKeyAssignments && OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Return)));
bool cancelMenu = (OpenTaiko.Pad.bPressedDGB(EPad.Cancel) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Escape));
bool cancel = false; // per-player key input
for (int i = 0; i < OpenTaiko.ConfigIni.nPlayerCount; i++) {
if (!bSelect[i] && !isOnOption() &&
!(OpenTaiko.ConfigIni.bAIBattleMode && i == 1)
) {
bool right = rightMenu;
bool left = leftMenu;
bool decide = decideMenu;
bool cancel = cancelMenu;
rightMenu = false;
leftMenu = false;
decideMenu = false;
cancelMenu = false;
switch (i) { switch (i) {
case 0: case 0:
right = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RightChange) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.RightArrow)); right = right || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue);
left = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LeftChange) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.LeftArrow)); left = left || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LeftChange);
decide = (OpenTaiko.Pad.bPressedDGB(EPad.Decide) || decide = decide || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed));
(OpenTaiko.ConfigIni.bEnterIsNotUsedInKeyAssignments && OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Return)));
cancel = (OpenTaiko.Pad.bPressedDGB(EPad.Cancel) || OpenTaiko.InputManager.Keyboard.KeyPressed((int)SlimDXKeys.Key.Escape));
break; break;
case 1: case 1:
if (!OpenTaiko.ConfigIni.bAIBattleMode) { right = right || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue2P));
right = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue2P)); left = left || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue2P));
left = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue2P)); decide = decide || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed2P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed2P));
decide = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed2P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed2P));
}
break; break;
case 2: case 2:
right = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue3P)); right = right || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue3P));
left = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue3P)); left = left || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue3P));
decide = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed3P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed3P)); decide = decide || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed3P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed3P));
break; break;
case 3: case 3:
right = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue4P)); right = right || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue4P));
left = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue4P)); left = left || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue4P));
decide = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed4P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed4P)); decide = decide || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed4P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed4P));
break; break;
case 4: case 4:
right = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue5P)); right = right || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RBlue5P));
left = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue5P)); left = left || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LBlue5P));
decide = (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed5P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed5P)); decide = decide || (OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.LRed5P) || OpenTaiko.Pad.bPressed(EInstrumentPad.Drums, EPad.RRed5P));
break; break;
} }

View File

@ -1123,11 +1123,7 @@ internal class CStage選曲 : CStage {
} }
} }
if (actDifficultySelectionScreen.bOption[0]) actPlayOption.On進行描画(0); this.actPlayOption.On進行描画(5, this.actDifficultySelectionScreen.bOption);
if (actDifficultySelectionScreen.bOption[1]) actPlayOption.On進行描画(1);
if (actDifficultySelectionScreen.bOption[2]) actPlayOption.On進行描画(2);
if (actDifficultySelectionScreen.bOption[3]) actPlayOption.On進行描画(3);
if (actDifficultySelectionScreen.bOption[4]) actPlayOption.On進行描画(4);
if (actNewHeya.IsOpend) actNewHeya.Draw(); if (actNewHeya.IsOpend) actNewHeya.Draw();