Shift+number to lay mines in editor
Alt+number to lay taps, holds, mines in right half of notefield
This commit is contained in:
@@ -124,7 +124,9 @@ Menu g_KeyboardShortcuts
|
||||
MenuRow( "M: Play sample music", false ),
|
||||
MenuRow( "B: Add/Edit Background Change", false ),
|
||||
MenuRow( "Insert: Insert beat and shift down", false ),
|
||||
MenuRow( "Delete: Delete beat and shift up", false )
|
||||
MenuRow( "Delete: Delete beat and shift up", false ),
|
||||
MenuRow( "Shift + number: Lay mine", false ),
|
||||
MenuRow( "Alt + number: Add to/remove from right half", false )
|
||||
);
|
||||
|
||||
Menu g_MainMenu
|
||||
@@ -599,7 +601,14 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
|
||||
if( type != IET_FIRST_PRESS )
|
||||
break; // We only care about first presses
|
||||
|
||||
const int iCol = DeviceI.button == SDLK_0? 9: DeviceI.button - SDLK_1;
|
||||
int iCol = DeviceI.button - SDLK_1;
|
||||
|
||||
|
||||
// Alt + number = input to right half
|
||||
if( INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_LALT)) ||
|
||||
INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_RALT)))
|
||||
iCol += m_NoteFieldEdit.GetNumTracks()/2;
|
||||
|
||||
|
||||
const float fSongBeat = GAMESTATE->m_fSongBeat;
|
||||
const int iSongIndex = BeatToNoteRow( fSongBeat );
|
||||
@@ -624,11 +633,23 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
|
||||
|
||||
if( !bRemovedAHoldNote )
|
||||
{
|
||||
// Hold Shift to lay mine
|
||||
bool bLayMine =
|
||||
INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_LSHIFT)) ||
|
||||
INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_RSHIFT));
|
||||
|
||||
// We didn't remove a HoldNote, so the user wants to add or delete a TapNote
|
||||
if( m_NoteFieldEdit.GetTapNote(iCol, iSongIndex) == TAP_EMPTY )
|
||||
m_NoteFieldEdit.SetTapNote(iCol, iSongIndex, TAP_TAP );
|
||||
{
|
||||
if( bLayMine )
|
||||
m_NoteFieldEdit.SetTapNote(iCol, iSongIndex, TAP_MINE );
|
||||
else
|
||||
m_NoteFieldEdit.SetTapNote(iCol, iSongIndex, TAP_TAP );
|
||||
}
|
||||
else
|
||||
{
|
||||
m_NoteFieldEdit.SetTapNote(iCol, iSongIndex, TAP_EMPTY );
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
@@ -692,15 +713,26 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
|
||||
const float fEndBeat = GAMESTATE->m_fSongBeat + fBeatsToMove;
|
||||
|
||||
// check to see if they're holding a button
|
||||
for( int col=0; col<m_NoteFieldEdit.GetNumTracks() && col<=10; col++ )
|
||||
for( int n=0; n<=9; n++ ) // for each number key
|
||||
{
|
||||
const DeviceInput di(DEVICE_KEYBOARD, SDLK_1+col);
|
||||
int iCol = n;
|
||||
|
||||
// Ctrl + number = input to right half
|
||||
if( INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_LALT)) ||
|
||||
INPUTFILTER->IsBeingPressed(DeviceInput(DEVICE_KEYBOARD, SDLK_RALT)))
|
||||
iCol += m_NoteFieldEdit.GetNumTracks()/2;
|
||||
|
||||
if( iCol >= m_NoteFieldEdit.GetNumTracks() )
|
||||
continue; // skip
|
||||
|
||||
const DeviceInput di(DEVICE_KEYBOARD, SDLK_1+n);
|
||||
|
||||
|
||||
if( !INPUTFILTER->IsBeingPressed(di) )
|
||||
continue;
|
||||
|
||||
// create a new hold note
|
||||
HoldNote newHN( col, min(fStartBeat, fEndBeat), max(fStartBeat, fEndBeat) );
|
||||
HoldNote newHN( iCol, min(fStartBeat, fEndBeat), max(fStartBeat, fEndBeat) );
|
||||
|
||||
newHN.fStartBeat = max(newHN.fStartBeat, 0);
|
||||
newHN.fEndBeat = max(newHN.fEndBeat, 0);
|
||||
|
||||
@@ -53,11 +53,11 @@ struct Menu
|
||||
|
||||
Menu() {}
|
||||
|
||||
Menu( CString t, MenuRow r0, MenuRow r1=MenuRow(), MenuRow r2=MenuRow(), MenuRow r3=MenuRow(), MenuRow r4=MenuRow(), MenuRow r5=MenuRow(), MenuRow r6=MenuRow(), MenuRow r7=MenuRow(), MenuRow r8=MenuRow(), MenuRow r9=MenuRow(), MenuRow r10=MenuRow(), MenuRow r11=MenuRow(), MenuRow r12=MenuRow(), MenuRow r13=MenuRow(), MenuRow r14=MenuRow(), MenuRow r15=MenuRow(), MenuRow r16=MenuRow(), MenuRow r17=MenuRow(), MenuRow r18=MenuRow(), MenuRow r19=MenuRow() )
|
||||
Menu( CString t, MenuRow r0, MenuRow r1=MenuRow(), MenuRow r2=MenuRow(), MenuRow r3=MenuRow(), MenuRow r4=MenuRow(), MenuRow r5=MenuRow(), MenuRow r6=MenuRow(), MenuRow r7=MenuRow(), MenuRow r8=MenuRow(), MenuRow r9=MenuRow(), MenuRow r10=MenuRow(), MenuRow r11=MenuRow(), MenuRow r12=MenuRow(), MenuRow r13=MenuRow(), MenuRow r14=MenuRow(), MenuRow r15=MenuRow(), MenuRow r16=MenuRow(), MenuRow r17=MenuRow(), MenuRow r18=MenuRow(), MenuRow r19=MenuRow(), MenuRow r20=MenuRow(), MenuRow r21=MenuRow() )
|
||||
{
|
||||
title = t;
|
||||
#define PUSH( r ) if(r.name!="" || !r.choices.empty()) rows.push_back(r);
|
||||
PUSH(r0);PUSH(r1);PUSH(r2);PUSH(r3);PUSH(r4);PUSH(r5);PUSH(r6);PUSH(r7);PUSH(r8);PUSH(r9);PUSH(r10);PUSH(r11);PUSH(r12);PUSH(r13);PUSH(r14);PUSH(r15);PUSH(r16);PUSH(r17);PUSH(r18);PUSH(r19);
|
||||
PUSH(r0);PUSH(r1);PUSH(r2);PUSH(r3);PUSH(r4);PUSH(r5);PUSH(r6);PUSH(r7);PUSH(r8);PUSH(r9);PUSH(r10);PUSH(r11);PUSH(r12);PUSH(r13);PUSH(r14);PUSH(r15);PUSH(r16);PUSH(r17);PUSH(r18);PUSH(r19);PUSH(r20);PUSH(r21);
|
||||
#undef PUSH
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user