fixed a bunch of DWI save bugs.
This commit is contained in:
+14
-14
@@ -2,9 +2,21 @@
|
||||
Fix
|
||||
/////////////////////////
|
||||
|
||||
test DWI writer
|
||||
|
||||
Make Save both SM and DWI
|
||||
|
||||
The "groove bar" reports at the results screen is broken.
|
||||
Getting a nearly full voltage bar on a
|
||||
song when I barely maitain combo (it should be max combo/max possible combo),
|
||||
and chaos is always
|
||||
empty unless you AAA a song.
|
||||
|
||||
Ready, here we go closer to start of notes
|
||||
|
||||
correct songs played show on eval
|
||||
ready, here we go between each stage of a course
|
||||
|
||||
all songs played passed show on eval
|
||||
|
||||
make sure supports music in "Music" folder
|
||||
|
||||
@@ -18,11 +30,7 @@ about us page
|
||||
|
||||
new phpwebhosting account
|
||||
|
||||
call BrainStorm guy
|
||||
|
||||
RMA phone
|
||||
|
||||
RMA Kiko USB
|
||||
call BrainStorm guy (Jodi 509-270-6112)
|
||||
|
||||
kitsappt photos
|
||||
|
||||
@@ -34,8 +42,6 @@ sample pop
|
||||
|
||||
fix screwed up scroll bar
|
||||
|
||||
ready, here we go between each stage of a course
|
||||
|
||||
send disc to Penny Arcade
|
||||
|
||||
long ver, marathon balloons
|
||||
@@ -174,12 +180,6 @@ This doesn't quite qualify as a "bug," but--tiled scrolling background
|
||||
animations have very visible seams where the tiles meet; it'd look much much
|
||||
better if it was seamless.
|
||||
|
||||
The "groove bar" reports at the results screen is broken.
|
||||
Getting a nearly full voltage bar on a
|
||||
song when I barely maitain combo (it should be max combo/max possible combo),
|
||||
and chaos is always
|
||||
empty unless you AAA a song.
|
||||
|
||||
#LYRICS:
|
||||
e.g. 120=Hey Ho Captian Jack,
|
||||
124=Bring Me Back to the railroad track,
|
||||
|
||||
@@ -229,7 +229,7 @@ void NoteDisplay::DrawHold( const HoldNote& hn, const bool bActive, const float
|
||||
const float fAlphaBottom = ArrowGetAlpha( m_PlayerNumber, fYBottom, fPercentFadeToFail );
|
||||
const float fGlowTop = ArrowGetGlow( m_PlayerNumber, fYTop, fPercentFadeToFail );
|
||||
const float fGlowBottom = ArrowGetGlow( m_PlayerNumber, fYBottom, fPercentFadeToFail );
|
||||
const float fColorScale = SCALE(fLife,0,1,0.5f,1);
|
||||
const float fColorScale = SCALE(fLife,0,1,0.2f,1);
|
||||
const D3DXCOLOR colorDiffuseTop = D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlphaTop);
|
||||
const D3DXCOLOR colorDiffuseBottom = D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlphaBottom);
|
||||
const D3DXCOLOR colorGlowTop = D3DXCOLOR(1,1,1,fGlowTop);
|
||||
@@ -272,7 +272,7 @@ void NoteDisplay::DrawHold( const HoldNote& hn, const bool bActive, const float
|
||||
const float fAlphaBottom = ArrowGetAlpha( m_PlayerNumber, fYBottom, fPercentFadeToFail );
|
||||
const float fGlowTop = ArrowGetGlow( m_PlayerNumber, fYTop, fPercentFadeToFail );
|
||||
const float fGlowBottom = ArrowGetGlow( m_PlayerNumber, fYBottom, fPercentFadeToFail );
|
||||
const float fColorScale = SCALE(fLife,0,1,0.5f,1);
|
||||
const float fColorScale = SCALE(fLife,0,1,0.2f,1);
|
||||
const D3DXCOLOR colorDiffuseTop = D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlphaTop);
|
||||
const D3DXCOLOR colorDiffuseBottom = D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlphaBottom);
|
||||
const D3DXCOLOR colorGlowTop = D3DXCOLOR(1,1,1,fGlowTop);
|
||||
@@ -301,7 +301,7 @@ void NoteDisplay::DrawHold( const HoldNote& hn, const bool bActive, const float
|
||||
const float fX = ArrowGetXPos( m_PlayerNumber, iCol, fY );
|
||||
const float fAlpha = ArrowGetAlpha( m_PlayerNumber, fY, fPercentFadeToFail );
|
||||
const float fGlow = ArrowGetGlow( m_PlayerNumber, fY, fPercentFadeToFail );
|
||||
const float fColorScale = SCALE(fLife,0,1,0.5f,1);
|
||||
const float fColorScale = SCALE(fLife,0,1,0.2f,1);
|
||||
const D3DXCOLOR colorDiffuse= D3DXCOLOR(fColorScale,fColorScale,fColorScale,fAlpha);
|
||||
const D3DXCOLOR colorGlow = D3DXCOLOR(1,1,1,fGlow);
|
||||
|
||||
|
||||
@@ -160,7 +160,7 @@ void NoteField::DrawPrimitives()
|
||||
const int iFirstIndexToDraw = BeatToNoteRow(fFirstBeatToDraw);
|
||||
const int iLastIndexToDraw = BeatToNoteRow(fLastBeatToDraw);
|
||||
|
||||
LOG->Trace( "Drawing elements %d through %d", iFirstIndexToDraw, iLastIndexToDraw );
|
||||
// LOG->Trace( "Drawing elements %d through %d", iFirstIndexToDraw, iLastIndexToDraw );
|
||||
|
||||
if( GAMESTATE->m_bEditing )
|
||||
{
|
||||
|
||||
@@ -20,7 +20,11 @@ D3DXCOLOR NoteTypeToColor( NoteType nt )
|
||||
case NOTE_TYPE_8TH: return D3DXCOLOR(0,0,1,1); // blue
|
||||
case NOTE_TYPE_12TH: return D3DXCOLOR(1,0,1,1); // purple
|
||||
case NOTE_TYPE_16TH: return D3DXCOLOR(1,1,0,1); // yellow
|
||||
default: ASSERT(0); return D3DXCOLOR(0.5f,0.5f,0.5f,1);
|
||||
case NOTE_TYPE_24TH: return D3DXCOLOR(0,1,1,1); // light blue
|
||||
case NOTE_TYPE_32ND: // fall through
|
||||
default:
|
||||
ASSERT(0);
|
||||
return D3DXCOLOR(0.5f,0.5f,0.5f,1); // gray
|
||||
}
|
||||
};
|
||||
|
||||
@@ -32,6 +36,8 @@ float NoteTypeToBeat( NoteType nt )
|
||||
case NOTE_TYPE_8TH: return 1.0f/2; // eighth notes
|
||||
case NOTE_TYPE_12TH: return 1.0f/3; // triplets
|
||||
case NOTE_TYPE_16TH: return 1.0f/4; // sixteenth notes
|
||||
case NOTE_TYPE_24TH: return 1.0f/6; // twenty-forth notes
|
||||
case NOTE_TYPE_32ND: return 1.0f/8; // thirty-second notes
|
||||
default: ASSERT(0); return 0;
|
||||
}
|
||||
}
|
||||
@@ -42,6 +48,8 @@ NoteType GetNoteType( int iNoteIndex )
|
||||
else if( iNoteIndex % (ROWS_PER_MEASURE/8) == 0) return NOTE_TYPE_8TH;
|
||||
else if( iNoteIndex % (ROWS_PER_MEASURE/12) == 0) return NOTE_TYPE_12TH;
|
||||
else if( iNoteIndex % (ROWS_PER_MEASURE/16) == 0) return NOTE_TYPE_16TH;
|
||||
else if( iNoteIndex % (ROWS_PER_MEASURE/24) == 0) return NOTE_TYPE_24TH;
|
||||
else if( iNoteIndex % (ROWS_PER_MEASURE/32) == 0) return NOTE_TYPE_32ND;
|
||||
else return NOTE_TYPE_INVALID;
|
||||
};
|
||||
|
||||
@@ -52,12 +60,7 @@ bool IsNoteOfType( int iNoteIndex, NoteType t )
|
||||
|
||||
D3DXCOLOR GetNoteColorFromIndex( int iIndex )
|
||||
{
|
||||
for( int t=0; t<NUM_NOTE_TYPES; t++ )
|
||||
{
|
||||
if( IsNoteOfType( iIndex, (NoteType)t ) )
|
||||
return NoteTypeToColor( (NoteType)t );
|
||||
}
|
||||
return D3DXCOLOR(0.5f,0.5f,0.5f,1);
|
||||
return NoteTypeToColor( GetNoteType(iIndex) );
|
||||
}
|
||||
|
||||
D3DXCOLOR GetNoteColorFromBeat( float fBeat )
|
||||
|
||||
@@ -55,6 +55,8 @@ enum NoteType
|
||||
NOTE_TYPE_8TH, // eighth note
|
||||
NOTE_TYPE_12TH, // triplet
|
||||
NOTE_TYPE_16TH, // sixteenth note
|
||||
NOTE_TYPE_24TH, // twenty-forth note
|
||||
NOTE_TYPE_32ND, // thirty-second note
|
||||
NUM_NOTE_TYPES,
|
||||
NOTE_TYPE_INVALID
|
||||
};
|
||||
|
||||
@@ -86,6 +86,7 @@ void NotesWriterDWI::WriteDWINotesField( FILE* fp, const Notes &out, int start )
|
||||
fCurrentIncrementer = 1.0/8 * BEATS_PER_MEASURE;
|
||||
break;
|
||||
case NOTE_TYPE_12TH:
|
||||
case NOTE_TYPE_24TH:
|
||||
fprintf( fp, "[" );
|
||||
fCurrentIncrementer = 1.0/24 * BEATS_PER_MEASURE;
|
||||
break;
|
||||
@@ -96,16 +97,17 @@ void NotesWriterDWI::WriteDWINotesField( FILE* fp, const Notes &out, int start )
|
||||
default:
|
||||
ASSERT(0);
|
||||
// fall though
|
||||
case NOTE_TYPE_32ND:
|
||||
case NOTE_TYPE_INVALID:
|
||||
fprintf( fp, "<" );
|
||||
fCurrentIncrementer = 1.0/192 * BEATS_PER_MEASURE;
|
||||
fprintf( fp, "{" );
|
||||
fCurrentIncrementer = 1.0/64 * BEATS_PER_MEASURE;
|
||||
break;
|
||||
}
|
||||
|
||||
double fFirstBeatInMeasure = m * BEATS_PER_MEASURE;
|
||||
double fLastBeatInMeasure = (m+1) * BEATS_PER_MEASURE;
|
||||
|
||||
for( double b=fFirstBeatInMeasure; b<fLastBeatInMeasure; b+=fCurrentIncrementer )
|
||||
for( double b=fFirstBeatInMeasure; b<=fLastBeatInMeasure-1/64.0f; b+=fCurrentIncrementer ) // need the -0.0001 to account for rounding errors
|
||||
{
|
||||
int row = BeatToNoteRow( (float)b );
|
||||
|
||||
@@ -115,15 +117,37 @@ void NotesWriterDWI::WriteDWINotesField( FILE* fp, const Notes &out, int start )
|
||||
case NOTES_TYPE_DANCE_COUPLE_1:
|
||||
case NOTES_TYPE_DANCE_COUPLE_2:
|
||||
case NOTES_TYPE_DANCE_DOUBLE:
|
||||
fprintf( fp, NotesToDWIString( notedata.m_TapNotes[start+0][row],
|
||||
notedata.m_TapNotes[start+1][row],
|
||||
notedata.m_TapNotes[start+2][row],
|
||||
notedata.m_TapNotes[start+3][row] ) );
|
||||
fprintf( fp, NotesToDWIString(
|
||||
notedata.m_TapNotes[start+0][row],
|
||||
notedata.m_TapNotes[start+1][row],
|
||||
notedata.m_TapNotes[start+2][row],
|
||||
notedata.m_TapNotes[start+3][row] ) );
|
||||
|
||||
// Blank out the notes so we don't write them again if the incrementer is small
|
||||
notedata.m_TapNotes[start+0][row] = '0';
|
||||
notedata.m_TapNotes[start+1][row] = '0';
|
||||
notedata.m_TapNotes[start+2][row] = '0';
|
||||
notedata.m_TapNotes[start+3][row] = '0';
|
||||
break;
|
||||
case NOTES_TYPE_DANCE_SOLO:
|
||||
fprintf( fp, NotesToDWIString( notedata.m_TapNotes[0][row], notedata.m_TapNotes[1][row], notedata.m_TapNotes[2][row], notedata.m_TapNotes[3][row], notedata.m_TapNotes[4][row], notedata.m_TapNotes[5][row] ) );
|
||||
fprintf( fp, NotesToDWIString(
|
||||
notedata.m_TapNotes[0][row],
|
||||
notedata.m_TapNotes[1][row],
|
||||
notedata.m_TapNotes[2][row],
|
||||
notedata.m_TapNotes[3][row],
|
||||
notedata.m_TapNotes[4][row],
|
||||
notedata.m_TapNotes[5][row] ) );
|
||||
|
||||
// Blank out the notes so we don't write them again if the incrementer is small
|
||||
notedata.m_TapNotes[start+0][row] = '0';
|
||||
notedata.m_TapNotes[start+1][row] = '0';
|
||||
notedata.m_TapNotes[start+2][row] = '0';
|
||||
notedata.m_TapNotes[start+3][row] = '0';
|
||||
notedata.m_TapNotes[start+4][row] = '0';
|
||||
notedata.m_TapNotes[start+5][row] = '0';
|
||||
break;
|
||||
default: return; // not a type supported by DWI
|
||||
default:
|
||||
ASSERT(0); // not a type supported by DWI. We shouldn't have called in here if that's the case
|
||||
}
|
||||
}
|
||||
|
||||
@@ -133,6 +157,7 @@ void NotesWriterDWI::WriteDWINotesField( FILE* fp, const Notes &out, int start )
|
||||
case NOTE_TYPE_8TH:
|
||||
break;
|
||||
case NOTE_TYPE_12TH:
|
||||
case NOTE_TYPE_24TH:
|
||||
fprintf( fp, "]" );
|
||||
break;
|
||||
case NOTE_TYPE_16TH:
|
||||
@@ -141,8 +166,9 @@ void NotesWriterDWI::WriteDWINotesField( FILE* fp, const Notes &out, int start )
|
||||
default:
|
||||
ASSERT(0);
|
||||
// fall though
|
||||
case NOTE_TYPE_32ND:
|
||||
case NOTE_TYPE_INVALID:
|
||||
fprintf( fp, ">" );
|
||||
fprintf( fp, "}" );
|
||||
break;
|
||||
}
|
||||
fprintf( fp, "\n" );
|
||||
@@ -195,7 +221,7 @@ bool NotesWriterDWI::Write( CString sPath, const Song &out )
|
||||
for( int i=0; i<out.m_StopSegments.GetSize(); i++ )
|
||||
{
|
||||
const StopSegment &fs = out.m_StopSegments[i];
|
||||
fprintf( fp, "%.2f=%.2f", BeatToNoteRow( fs.m_fStartBeat ) / ROWS_PER_BEAT * 4.0f,
|
||||
fprintf( fp, "%.2f=%.2f", BeatToNoteRow( fs.m_fStartBeat ) * 4.0f / ROWS_PER_BEAT,
|
||||
roundf(fs.m_fStopSeconds*1000) );
|
||||
if( i != out.m_StopSegments.GetSize()-1 )
|
||||
fprintf( fp, "," );
|
||||
@@ -209,7 +235,7 @@ bool NotesWriterDWI::Write( CString sPath, const Song &out )
|
||||
for( int i=1; i<out.m_BPMSegments.GetSize(); i++ )
|
||||
{
|
||||
const BPMSegment &bs = out.m_BPMSegments[i];
|
||||
fprintf( fp, "%.2f=%.2f", BeatToNoteRow( bs.m_fStartBeat ) / ROWS_PER_BEAT * 4.0f, bs.m_fBPM );
|
||||
fprintf( fp, "%.2f=%.2f", BeatToNoteRow( bs.m_fStartBeat ) * 4.0f / ROWS_PER_BEAT, bs.m_fBPM );
|
||||
if( i != out.m_BPMSegments.GetSize()-1 )
|
||||
fprintf( fp, "," );
|
||||
}
|
||||
|
||||
@@ -115,8 +115,7 @@ const CString MENU_ITEM_TEXT[NUM_MENU_ITEMS] = {
|
||||
"K: Snap selection to nearest sixteenth note",
|
||||
"L: Snap selection to nearest triplet or sixteenth note",
|
||||
"M: Play sample music",
|
||||
"S: Save changes",
|
||||
"W: Save as DWI (lossy)",
|
||||
"S: Save changes as SM and DWI",
|
||||
"Q: Quit"
|
||||
};
|
||||
int MENU_ITEM_KEY[NUM_MENU_ITEMS] = {
|
||||
@@ -143,7 +142,6 @@ int MENU_ITEM_KEY[NUM_MENU_ITEMS] = {
|
||||
DIK_L,
|
||||
DIK_M,
|
||||
DIK_S,
|
||||
DIK_W,
|
||||
DIK_Q,
|
||||
};
|
||||
|
||||
@@ -417,10 +415,12 @@ void ScreenEdit::Update( float fDeltaTime )
|
||||
CString sNoteType;
|
||||
switch( m_SnapDisplay.GetSnapMode() )
|
||||
{
|
||||
case NOTE_TYPE_4TH: sNoteType = "quarter notes"; break;
|
||||
case NOTE_TYPE_8TH: sNoteType = "eighth notes"; break;
|
||||
case NOTE_TYPE_12TH: sNoteType = "triplets"; break;
|
||||
case NOTE_TYPE_16TH: sNoteType = "sixteenth notes"; break;
|
||||
case NOTE_TYPE_4TH: sNoteType = "quarter notes"; break;
|
||||
case NOTE_TYPE_8TH: sNoteType = "eighth notes"; break;
|
||||
case NOTE_TYPE_12TH: sNoteType = "triplets"; break;
|
||||
case NOTE_TYPE_16TH: sNoteType = "sixteenth notes"; break;
|
||||
case NOTE_TYPE_24TH: sNoteType = "twentyforth notes"; break;
|
||||
case NOTE_TYPE_32ND: sNoteType = "thirtysecond notes"; break;
|
||||
default: ASSERT(0);
|
||||
}
|
||||
|
||||
@@ -644,7 +644,6 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
|
||||
SCREENMAN->SetNewScreen( "ScreenEditMenu" );
|
||||
break;
|
||||
case DIK_S:
|
||||
case DIK_W:
|
||||
{
|
||||
// copy edit into current Notes
|
||||
// Song* pSong = GAMESTATE->m_pCurSong;
|
||||
@@ -666,19 +665,9 @@ void ScreenEdit::InputEdit( const DeviceInput& DeviceI, const InputEventType typ
|
||||
}
|
||||
*/
|
||||
pNotes->SetNoteData( (NoteData*)&m_NoteFieldEdit );
|
||||
switch( DeviceI.button )
|
||||
{
|
||||
case DIK_S:
|
||||
GAMESTATE->m_pCurSong->SaveToSongFile();
|
||||
SCREENMAN->SystemMessage( "Saved as SM." );
|
||||
break;
|
||||
case DIK_W:
|
||||
GAMESTATE->m_pCurSong->SaveToSongFileAndDWI();
|
||||
SCREENMAN->SystemMessage( "Saved as SM and DWI." );
|
||||
break;
|
||||
default:
|
||||
ASSERT(0);
|
||||
}
|
||||
GAMESTATE->m_pCurSong->Save();
|
||||
SCREENMAN->SystemMessage( "Saved as SM and DWI." );
|
||||
|
||||
SOUND->PlayOnceStreamed( THEME->GetPathTo("Sounds","edit save") );
|
||||
}
|
||||
break;
|
||||
@@ -1226,6 +1215,25 @@ void ScreenEdit::InputPlay( const DeviceInput& DeviceI, const InputEventType typ
|
||||
|
||||
GAMESTATE->m_fSongBeat = froundf( GAMESTATE->m_fSongBeat, NoteTypeToBeat(m_SnapDisplay.GetSnapMode()) );
|
||||
break;
|
||||
case DIK_F11:
|
||||
case DIK_F12:
|
||||
{
|
||||
float fOffsetDelta;
|
||||
switch( DeviceI.button )
|
||||
{
|
||||
case DIK_F11: fOffsetDelta = -0.020f; break;
|
||||
case DIK_F12: fOffsetDelta = +0.020f; break;
|
||||
default: ASSERT(0); return;
|
||||
}
|
||||
switch( type )
|
||||
{
|
||||
case IET_SLOW_REPEAT: fOffsetDelta *= 10; break;
|
||||
case IET_FAST_REPEAT: fOffsetDelta *= 40; break;
|
||||
}
|
||||
|
||||
m_pSong->m_fBeat0OffsetInSeconds += fOffsetDelta;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@
|
||||
#include "SnapDisplay.h"
|
||||
|
||||
|
||||
const int NUM_MENU_ITEMS = 25;
|
||||
const int NUM_MENU_ITEMS = 24;
|
||||
|
||||
|
||||
class ScreenEdit : public Screen
|
||||
|
||||
@@ -956,7 +956,7 @@ void SaveChanges()
|
||||
switch( GAMESTATE->m_PlayMode )
|
||||
{
|
||||
case PLAY_MODE_ARCADE:
|
||||
GAMESTATE->m_pCurSong->SaveToSongFile();
|
||||
GAMESTATE->m_pCurSong->Save();
|
||||
break;
|
||||
case PLAY_MODE_ONI:
|
||||
case PLAY_MODE_ENDLESS:
|
||||
@@ -964,7 +964,7 @@ void SaveChanges()
|
||||
for( int i=0; i<GAMESTATE->m_pCurCourse->m_iStages; i++ )
|
||||
{
|
||||
Song* pSong = GAMESTATE->m_pCurCourse->m_apSongs[i];
|
||||
pSong->SaveToSongFile();
|
||||
pSong->Save();
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -58,7 +58,7 @@ bool SnapDisplay::PrevSnapMode()
|
||||
|
||||
bool SnapDisplay::NextSnapMode()
|
||||
{
|
||||
if( m_NoteType == NUM_NOTE_TYPES-1 )
|
||||
if( m_NoteType == NOTE_TYPE_16TH ) // this is the smallest snap we should allow
|
||||
return false;
|
||||
m_NoteType = NoteType(m_NoteType+1);
|
||||
|
||||
@@ -73,6 +73,7 @@ void SnapDisplay::SnapModeChanged()
|
||||
|
||||
for( int i=0; i<2; i++ )
|
||||
{
|
||||
m_sprIndicators[i].StopTweening();
|
||||
m_sprIndicators[i].BeginTweening( 0.3f );
|
||||
m_sprIndicators[i].SetTweenDiffuse( color );
|
||||
}
|
||||
|
||||
@@ -637,7 +637,7 @@ void Song::SaveToCacheFile()
|
||||
SaveToSMFile( GetCacheFilePath(), true );
|
||||
}
|
||||
|
||||
void Song::SaveToSongFile()
|
||||
void Song::Save()
|
||||
{
|
||||
LOG->Trace( "Song::SaveToSongFile()" );
|
||||
|
||||
@@ -657,6 +657,7 @@ void Song::SaveToSongFile()
|
||||
}
|
||||
|
||||
SaveToSMFile( GetSongFilePath(), false );
|
||||
SaveToDWIFile();
|
||||
}
|
||||
|
||||
|
||||
@@ -744,12 +745,10 @@ void Song::SaveToSMFile( CString sPath, bool bSavingCache )
|
||||
fclose( fp );
|
||||
}
|
||||
|
||||
void Song::SaveToSongFileAndDWI()
|
||||
void Song::SaveToDWIFile()
|
||||
{
|
||||
LOG->Trace( "Song::SaveToSongFileAndDWI()" );
|
||||
|
||||
SaveToSongFile();
|
||||
|
||||
CString sPath = GetSongFilePath();
|
||||
sPath.Replace( ".sm", ".dwi" );
|
||||
|
||||
|
||||
@@ -59,7 +59,7 @@ IntDir=.\../Release6
|
||||
TargetDir=\stepmania\stepmania
|
||||
TargetName=StepMania
|
||||
SOURCE="$(InputPath)"
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
@@ -94,7 +94,7 @@ IntDir=.\../Debug6
|
||||
TargetDir=\stepmania\stepmania
|
||||
TargetName=StepMania-debug
|
||||
SOURCE="$(InputPath)"
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PreLink_Cmds=disasm\verinc cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
|
||||
PostBuild_Cmds=disasm\mapconv $(IntDir)\$(TargetName).map $(TargetDir)\StepMania.vdi ia32.vdi
|
||||
# End Special Build Tool
|
||||
|
||||
|
||||
@@ -62,9 +62,9 @@ public:
|
||||
void TidyUpData(); // call after loading to clean up invalid data
|
||||
|
||||
void SaveToSMFile( CString sPath, bool bSavingCache );
|
||||
void SaveToSongFileAndDWI(); // saves SM, then saves DWI so that the SM is the master copy and NoteTypes not supported by DWI are not lost
|
||||
void Save(); // saves SM and DWI
|
||||
void SaveToCacheFile();
|
||||
void SaveToSongFile(); // no path means save to SongFilePath
|
||||
void SaveToDWIFile();
|
||||
|
||||
const CString &GetSongFilePath() const;
|
||||
CString GetCacheFilePath() const;
|
||||
|
||||
Reference in New Issue
Block a user