Working on course mod editor. Add new edit mode.
This commit is contained in:
@@ -152,6 +152,34 @@ void ScreenEdit::InitEditMappings()
|
|||||||
m_PlayMappingsMenuButton.button [EDIT_BUTTON_RETURN_TO_EDIT][0] = MENU_BUTTON_START;
|
m_PlayMappingsMenuButton.button [EDIT_BUTTON_RETURN_TO_EDIT][0] = MENU_BUTTON_START;
|
||||||
m_PlayMappingsMenuButton.button [EDIT_BUTTON_RETURN_TO_EDIT][1] = MENU_BUTTON_BACK;
|
m_PlayMappingsMenuButton.button [EDIT_BUTTON_RETURN_TO_EDIT][1] = MENU_BUTTON_BACK;
|
||||||
return;
|
return;
|
||||||
|
case EditMode_CourseMods:
|
||||||
|
// Left/Right = Snap to Next/Prev
|
||||||
|
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SNAP_NEXT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_LEFT);
|
||||||
|
m_EditMappingsDeviceInput.button[EDIT_BUTTON_SNAP_PREV][0] = DeviceInput(DEVICE_KEYBOARD, KEY_RIGHT);
|
||||||
|
|
||||||
|
// v = course attack menu
|
||||||
|
m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_COURSE_ATTACK_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cv);
|
||||||
|
|
||||||
|
// Enter = Play selection
|
||||||
|
// P = Play current beat to end
|
||||||
|
m_EditMappingsDeviceInput.button [EDIT_BUTTON_PLAY_SELECTION][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ENTER);
|
||||||
|
m_EditMappingsDeviceInput.button [EDIT_BUTTON_PLAY_FROM_CURSOR][0] = DeviceInput(DEVICE_KEYBOARD, KEY_Cp);
|
||||||
|
|
||||||
|
// F1 = Show help popup
|
||||||
|
m_EditMappingsDeviceInput.button [EDIT_BUTTON_OPEN_INPUT_HELP][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F1);
|
||||||
|
|
||||||
|
// Esc = Show Edit Menu
|
||||||
|
m_EditMappingsDeviceInput.button [EDIT_BUTTON_OPEN_EDIT_MENU][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ESC);
|
||||||
|
m_EditMappingsMenuButton.button [EDIT_BUTTON_OPEN_EDIT_MENU][0] = MENU_BUTTON_START;
|
||||||
|
m_EditMappingsMenuButton.button [EDIT_BUTTON_OPEN_EDIT_MENU][1] = MENU_BUTTON_BACK;
|
||||||
|
|
||||||
|
// Escape, Enter = exit play/record
|
||||||
|
m_PlayMappingsDeviceInput.button [EDIT_BUTTON_RETURN_TO_EDIT][0] = DeviceInput(DEVICE_KEYBOARD, KEY_ENTER);
|
||||||
|
m_PlayMappingsDeviceInput.button [EDIT_BUTTON_RETURN_TO_EDIT][1] = DeviceInput(DEVICE_KEYBOARD, KEY_ESC);
|
||||||
|
m_PlayMappingsMenuButton.button [EDIT_BUTTON_RETURN_TO_EDIT][0] = MENU_BUTTON_START;
|
||||||
|
m_PlayMappingsMenuButton.button [EDIT_BUTTON_RETURN_TO_EDIT][1] = MENU_BUTTON_BACK;
|
||||||
|
return;
|
||||||
|
|
||||||
case EditMode_Full:
|
case EditMode_Full:
|
||||||
/* Don't allow F5/F6 in home mode. It breaks the "delay creation until first save" logic. */
|
/* Don't allow F5/F6 in home mode. It breaks the "delay creation until first save" logic. */
|
||||||
m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_PREV_STEPS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F5);
|
m_EditMappingsDeviceInput.button[EDIT_BUTTON_OPEN_PREV_STEPS][0] = DeviceInput(DEVICE_KEYBOARD, KEY_F5);
|
||||||
@@ -688,6 +716,10 @@ void ScreenEdit::Init()
|
|||||||
|
|
||||||
|
|
||||||
GAMESTATE->m_bGameplayLeadIn.Set( true );
|
GAMESTATE->m_bGameplayLeadIn.Set( true );
|
||||||
|
// XXX hack
|
||||||
|
if( EDIT_MODE.GetValue() == EditMode_CourseMods )
|
||||||
|
GAMESTATE->m_EditMode = EditMode_Practice;
|
||||||
|
else
|
||||||
GAMESTATE->m_EditMode = EDIT_MODE.GetValue();
|
GAMESTATE->m_EditMode = EDIT_MODE.GetValue();
|
||||||
GAMESTATE->m_fSongBeat = 0;
|
GAMESTATE->m_fSongBeat = 0;
|
||||||
m_fTrailingBeat = GAMESTATE->m_fSongBeat;
|
m_fTrailingBeat = GAMESTATE->m_fSongBeat;
|
||||||
@@ -999,6 +1031,7 @@ void ScreenEdit::UpdateTextInfo()
|
|||||||
{
|
{
|
||||||
case EditMode_Practice:
|
case EditMode_Practice:
|
||||||
break;
|
break;
|
||||||
|
case EditMode_CourseMods:
|
||||||
case EditMode_Home:
|
case EditMode_Home:
|
||||||
case EditMode_Full:
|
case EditMode_Full:
|
||||||
sText += ssprintf( "%s:\n %s\n", SNAP_TO.GetValue().c_str(), sNoteType.c_str() );
|
sText += ssprintf( "%s:\n %s\n", SNAP_TO.GetValue().c_str(), sNoteType.c_str() );
|
||||||
@@ -1020,6 +1053,7 @@ void ScreenEdit::UpdateTextInfo()
|
|||||||
switch( EDIT_MODE.GetValue() )
|
switch( EDIT_MODE.GetValue() )
|
||||||
{
|
{
|
||||||
case EditMode_Practice:
|
case EditMode_Practice:
|
||||||
|
case EditMode_CourseMods:
|
||||||
case EditMode_Home:
|
case EditMode_Home:
|
||||||
break;
|
break;
|
||||||
case EditMode_Full:
|
case EditMode_Full:
|
||||||
@@ -1041,6 +1075,7 @@ void ScreenEdit::UpdateTextInfo()
|
|||||||
switch( EDIT_MODE.GetValue() )
|
switch( EDIT_MODE.GetValue() )
|
||||||
{
|
{
|
||||||
case EditMode_Practice:
|
case EditMode_Practice:
|
||||||
|
case EditMode_CourseMods:
|
||||||
case EditMode_Home:
|
case EditMode_Home:
|
||||||
break;
|
break;
|
||||||
case EditMode_Full:
|
case EditMode_Full:
|
||||||
@@ -1549,7 +1584,9 @@ void ScreenEdit::InputEdit( const InputEventPlus &input, EditButton EditB )
|
|||||||
{
|
{
|
||||||
m_pSong->m_fMusicSampleLengthSeconds += fDelta;
|
m_pSong->m_fMusicSampleLengthSeconds += fDelta;
|
||||||
m_pSong->m_fMusicSampleLengthSeconds = max(m_pSong->m_fMusicSampleLengthSeconds,0);
|
m_pSong->m_fMusicSampleLengthSeconds = max(m_pSong->m_fMusicSampleLengthSeconds,0);
|
||||||
} else {
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
m_pSong->m_fMusicSampleStartSeconds += fDelta;
|
m_pSong->m_fMusicSampleStartSeconds += fDelta;
|
||||||
m_pSong->m_fMusicSampleStartSeconds = max(m_pSong->m_fMusicSampleStartSeconds,0);
|
m_pSong->m_fMusicSampleStartSeconds = max(m_pSong->m_fMusicSampleStartSeconds,0);
|
||||||
}
|
}
|
||||||
@@ -2710,6 +2747,7 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector<int> &iAns
|
|||||||
HandleScreenMessage( SM_SaveSuccessful );
|
HandleScreenMessage( SM_SaveSuccessful );
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case EditMode_CourseMods:
|
||||||
case EditMode_Practice:
|
case EditMode_Practice:
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -2772,6 +2810,7 @@ void ScreenEdit::HandleMainMenuChoice( MainMenuChoice c, const vector<int> &iAns
|
|||||||
SCREENMAN->SendMessageToTopScreen( SM_DoExit );
|
SCREENMAN->SendMessageToTopScreen( SM_DoExit );
|
||||||
break;
|
break;
|
||||||
case EditMode_Practice:
|
case EditMode_Practice:
|
||||||
|
case EditMode_CourseMods:
|
||||||
SCREENMAN->SendMessageToTopScreen( SM_DoExit );
|
SCREENMAN->SendMessageToTopScreen( SM_DoExit );
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -3249,6 +3288,7 @@ void ScreenEdit::SetupCourseAttacks()
|
|||||||
|
|
||||||
if( GAMESTATE->m_pCurCourse )
|
if( GAMESTATE->m_pCurCourse )
|
||||||
{
|
{
|
||||||
|
if( EDIT_MODE.GetValue() != EditMode_CourseMods )
|
||||||
GAMESTATE->m_pCurCourse->RevertFromDisk(); // Remove this and have a separate reload key?
|
GAMESTATE->m_pCurCourse->RevertFromDisk(); // Remove this and have a separate reload key?
|
||||||
|
|
||||||
AttackArray Attacks;
|
AttackArray Attacks;
|
||||||
@@ -3375,6 +3415,7 @@ float ScreenEdit::GetMaximumBeatForNewNote() const
|
|||||||
switch( EDIT_MODE.GetValue() )
|
switch( EDIT_MODE.GetValue() )
|
||||||
{
|
{
|
||||||
case EditMode_Practice:
|
case EditMode_Practice:
|
||||||
|
case EditMode_CourseMods:
|
||||||
case EditMode_Home:
|
case EditMode_Home:
|
||||||
{
|
{
|
||||||
float fEndBeat = GAMESTATE->m_pCurSong->m_fLastBeat;
|
float fEndBeat = GAMESTATE->m_pCurSong->m_fLastBeat;
|
||||||
|
|||||||
Reference in New Issue
Block a user