diff --git a/stepmania/Themes/default/Graphics/LifeMeterBar frame.png b/stepmania/Themes/default/Graphics/LifeMeterBar frame.png
index 13e66069b4..b3fa5d065c 100644
Binary files a/stepmania/Themes/default/Graphics/LifeMeterBar frame.png and b/stepmania/Themes/default/Graphics/LifeMeterBar frame.png differ
diff --git a/stepmania/Themes/default/metrics.ini b/stepmania/Themes/default/metrics.ini
index 2116ad2b48..54bb171348 100644
--- a/stepmania/Themes/default/metrics.ini
+++ b/stepmania/Themes/default/metrics.ini
@@ -1692,16 +1692,20 @@ BannerLoading=ON DEMAND loads banners when they're displayed, for fast loads.::A
[ScreenGameplayOptions]
HelpText=&UP; &DOWN; to change line &LEFT; &RIGHT; to select between options::START to accept changes BACK to discard changes
-BackgroundMode=Choose what type of backgrounds you would like displayed.::&oq;Animations&cq; uses any random items in the BGAnimations folder.::&oq;Visualizations&cq; chooses a random overlay movie from the Visualization folder.::&oq;Random Movies&cq; cycles through movies in the RandomMovies folder.
-BackgroundBrightness=Controls how bright the background will appear.::Turn this setting down if you have a hard time seeing the notes.
BGForBanner=Instead of displaying the banner image in menus, display::the song background instead. Backgrounds can look better::than banners because they are higher resolution, but they::will take longer to load and may result in some &oq;skipping&cq;.
EasterEggs=Enable or disable some special easter eggs.
MarvelousTiming=Enable or disable marvelous judgement.
HiddenSongs=Some songs are only playable during Oni courses and::with roulette. Leave this &oq;OFF&cq; to always display all songs.
-ShowDanger=Turn this option &oq;OFF&cq; to disable the flashing &oq;Danger&cq;::background that shows when you're about to die.
PickExtraStage=Instead of a set extra stage, this allows::the player to choose which song to play.::Difficulty and options are still locked.
SoloSingles=Turn this option &oq;ON&cq; to enable Solo-Style::for 4-panel single play.
+[ScreenBackgroundOptions]
+HelpText=&UP; &DOWN; to change line &LEFT; &RIGHT; to select between options::START to accept changes BACK to discard changes
+Mode=Choose what type of backgrounds you would like displayed.::&oq;Animations&cq; uses any random items in the BGAnimations folder.::&oq;Visualizations&cq; chooses a random overlay movie from the Visualization folder.::&oq;Random Movies&cq; cycles through movies in the RandomMovies folder.
+Brightness=Controls how bright the background will appear.::Turn this setting down if you have a hard time seeing the notes.
+Danger=Turn this option &oq;OFF&cq; to disable the flashing &oq;Danger&cq;::background that shows when you're about to die.
+DancingCharacters=Turn this option &oq;OFF&cq; to disable the dancing characters::in the background. Even if this option is &oq;ON&cq;,::characters will only show if you have some installed.
+
[ScreenAppearanceOptions]
HelpText=&UP; &DOWN; to change line &LEFT; &RIGHT; to select between options::START to accept changes BACK to discard changes
Announcer=Choose from this list of installed annoucner packs.::For more information about creating announcer packs, see the README.
@@ -1853,6 +1857,7 @@ GameplayOptions=
AppearanceOptions=
SoundOptions=
AutogenOptions=
+BackgroundOptions=
[TextBanner]
Width=180
diff --git a/stepmania/src/Background.cpp b/stepmania/src/Background.cpp
index 63c8653e9f..061544adbb 100644
--- a/stepmania/src/Background.cpp
+++ b/stepmania/src/Background.cpp
@@ -418,6 +418,9 @@ void Background::Update( float fDeltaTime )
}
}
+ if( PREFSMAN->m_bShowDancingCharacters )
+ m_DancingCharacters.Update( fDeltaTime );
+
m_quadBGBrightness.Update( fDeltaTime );
}
@@ -437,6 +440,9 @@ void Background::DrawPrimitives()
m_pFadingBGA->Draw();
}
+ if( PREFSMAN->m_bShowDancingCharacters )
+ m_DancingCharacters.Draw();
+
m_quadBGBrightness.Draw();
for( int i=0; i<4; i++ )
m_quadBorder[i].Draw();
diff --git a/stepmania/src/Background.h b/stepmania/src/Background.h
index d0e00334da..2b576b4135 100644
--- a/stepmania/src/Background.h
+++ b/stepmania/src/Background.h
@@ -17,6 +17,7 @@
#include "ActorFrame.h"
#include "BGAnimation.h"
#include "song.h"
+#include "DancingCharacters.h"
class Background : public ActorFrame
@@ -43,6 +44,8 @@ public:
protected:
bool IsDangerVisible();
+ DancingCharacters m_DancingCharacters;
+
BGAnimation m_BGADanger;
BGAnimation* CreateSongBGA(const Song *pSong, CString sBGName) const;
diff --git a/stepmania/src/DancingCharacters.cpp b/stepmania/src/DancingCharacters.cpp
new file mode 100644
index 0000000000..ec31cf94e6
--- /dev/null
+++ b/stepmania/src/DancingCharacters.cpp
@@ -0,0 +1,106 @@
+#include "global.h"
+/*
+-----------------------------------------------------------------------------
+ Class: DancingCharacters
+
+ Desc: See header.
+
+ Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
+ Chris Danford
+-----------------------------------------------------------------------------
+*/
+
+#include "DancingCharacters.h"
+#include "GameConstantsAndTypes.h"
+#include "RageDisplay.h"
+#include "RageUtil.h"
+#include "RageMath.h"
+#include "PrefsManager.h"
+
+
+const float CAMERA_SWEEP_SECONDS = 2.f;
+const float CAMERA_SWEEP_SECONDS_VARIANCE = 1.f;
+const float CAMERA_DISTANCE = 16.f;
+const float CAMERA_DISTANCE_VARIANCE = 3.f;
+const float CAMERA_HEIGHT = -9.f;
+const float CAMERA_HEIGHT_VARIANCE = 3.f;
+
+const float MODEL_X[NUM_PLAYERS] = { -8, 8 };
+
+
+DancingCharacters::DancingCharacters()
+{
+ if( PREFSMAN->m_bShowDancingCharacters )
+ {
+ m_Character[PLAYER_1].SetX( MODEL_X[PLAYER_1] );
+ m_Character[PLAYER_1].LoadMilkshapeAscii( "D:\\Dev\\ddrpc char hacking\\DDRPCRip\\models\\char0000\\model.txt" );
+ m_Character[PLAYER_1].LoadMilkshapeAsciiBones( "D:\\Dev\\ddrpc char hacking\\DDRPCRip\\models\\dance0001.bones.txt" );
+ m_Character[PLAYER_1].SetZoomY(-1);
+ this->AddChild( &m_Character[PLAYER_1] );
+
+ m_Character[PLAYER_2].SetX( MODEL_X[PLAYER_2] );
+ m_Character[PLAYER_2].LoadMilkshapeAscii( "D:\\Dev\\ddrpc char hacking\\DDRPCRip\\models\\char0011\\model.txt" );
+ m_Character[PLAYER_2].LoadMilkshapeAsciiBones( "D:\\Dev\\ddrpc char hacking\\DDRPCRip\\models\\dance0002.bones.txt" );
+ m_Character[PLAYER_2].SetZoomY(-1);
+ this->AddChild( &m_Character[PLAYER_2] );
+
+ StartCameraSweep();
+ }
+}
+
+void DancingCharacters::Update( float fDelta )
+{
+ ActorFrame::Update( fDelta );
+
+ // update camera sweep
+ m_fSecsIntoSweep += fDelta;
+ if( m_fSecsIntoSweep > m_fSweepSecs )
+ StartCameraSweep();
+
+ float fPercentIntoSweep = m_fSecsIntoSweep / m_fSweepSecs;
+ m_CameraEyeCurrent = m_CameraEyeStart * (1-fPercentIntoSweep) + m_CameraEyeEnd * fPercentIntoSweep;
+}
+
+void DancingCharacters::DrawPrimitives()
+{
+ DISPLAY->EnterPerspective( 90, false );
+ DISPLAY->LookAt(
+ m_CameraEyeCurrent,
+ m_CameraAt,
+ RageVector3(0,1,0) );
+
+ DISPLAY->EnableLighting( true );
+ DISPLAY->SetLightDirectional(
+ 0,
+ RageColor(0.4f,0.4f,0.4f,1),
+ RageColor(0.8f,0.8f,0.8f,0.8f),
+ RageColor(0.8f,0.8f,0.8f,0.8f),
+ RageVector3(+1, 0, +1) );
+
+ ActorFrame::DrawPrimitives();
+
+ DISPLAY->SetLightOff( 0 );
+ DISPLAY->EnableLighting( false );
+
+ DISPLAY->ExitPerspective();
+}
+
+void DancingCharacters::StartCameraSweep()
+{
+ m_CameraEyeStart = RageVector3( randomf(), randomf(), randomf() );
+ RageVec3Normalize( &m_CameraEyeStart, &m_CameraEyeStart );
+ m_CameraEyeStart *= CAMERA_DISTANCE + randomf()*CAMERA_DISTANCE_VARIANCE;
+ m_CameraEyeStart.y += CAMERA_HEIGHT + randomf()*CAMERA_HEIGHT_VARIANCE;
+
+ m_CameraEyeEnd = RageVector3( randomf(), randomf(), randomf() );
+ m_CameraEyeEnd += m_CameraEyeStart/2; // bias the end toward the start to that we don't sweep through the chars' bodies
+ RageVec3Normalize( &m_CameraEyeEnd, &m_CameraEyeEnd );
+ m_CameraEyeEnd *= CAMERA_DISTANCE + randomf()*CAMERA_DISTANCE_VARIANCE;
+ m_CameraEyeEnd.y += CAMERA_HEIGHT + randomf()*CAMERA_HEIGHT_VARIANCE;
+
+ m_CameraAt = RageVector3(0,CAMERA_HEIGHT + randomf()*CAMERA_HEIGHT_VARIANCE,0);
+
+ m_fSweepSecs = CAMERA_SWEEP_SECONDS + randomf()*CAMERA_SWEEP_SECONDS_VARIANCE;
+
+ m_fSecsIntoSweep = 0;
+}
\ No newline at end of file
diff --git a/stepmania/src/DancingCharacters.h b/stepmania/src/DancingCharacters.h
new file mode 100644
index 0000000000..ee4b4b10ef
--- /dev/null
+++ b/stepmania/src/DancingCharacters.h
@@ -0,0 +1,40 @@
+#ifndef DancingCharacters_H
+#define DancingCharacters_H
+/*
+-----------------------------------------------------------------------------
+ Class: DancingCharacters
+
+ Desc: A graphic displayed in the DancingCharacters during Dancing.
+
+ Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
+ Chris Danford
+-----------------------------------------------------------------------------
+*/
+
+#include "Model.h"
+#include "ActorFrame.h"
+#include "PlayerNumber.h"
+
+
+class DancingCharacters : public ActorFrame
+{
+public:
+ DancingCharacters();
+
+ virtual void Update( float fDelta );
+ virtual void DrawPrimitives();
+
+protected:
+ void StartCameraSweep();
+
+ Model m_Character[NUM_PLAYERS];
+
+ RageVector3 m_CameraEyeStart;
+ RageVector3 m_CameraEyeEnd;
+ RageVector3 m_CameraEyeCurrent;
+ RageVector3 m_CameraAt;
+ float m_fSweepSecs;
+ float m_fSecsIntoSweep;
+};
+
+#endif
diff --git a/stepmania/src/PrefsManager.cpp b/stepmania/src/PrefsManager.cpp
index 085a159f9f..391d931296 100644
--- a/stepmania/src/PrefsManager.cpp
+++ b/stepmania/src/PrefsManager.cpp
@@ -91,6 +91,7 @@ PrefsManager::PrefsManager()
m_bAutogenMissingTypes = true;
m_bAutogenGroupCourses = true;
m_bBreakComboToGetItem = false;
+ m_bShowDancingCharacters = false;
m_BannerCacheType = preload_none;
/* DDR Extreme-style extra stage support.
@@ -193,6 +194,7 @@ void PrefsManager::ReadGlobalPrefsFromDisk( bool bSwitchToLastPlayedGame )
ini.GetValueB( "Options", "Timestamping", m_bTimestamping );
ini.GetValue ( "Options", "DefaultModifiers", m_sDefaultModifiers );
ini.GetValueB( "Options", "BreakComboToGetItem", m_bBreakComboToGetItem );
+ ini.GetValueB( "Options", "ShowDancingCharacters", m_bShowDancingCharacters );
ini.GetValueI( "Options", "BannerCacheType", (int&)m_BannerCacheType );
m_asAdditionalSongFolders.clear();
@@ -275,6 +277,7 @@ void PrefsManager::SaveGlobalPrefsToDisk()
ini.SetValueB( "Options", "Timestamping", m_bTimestamping );
ini.SetValue ( "Options", "DefaultModifiers", m_sDefaultModifiers );
ini.SetValueB( "Options", "BreakComboToGetItem", m_bBreakComboToGetItem );
+ ini.SetValueB( "Options", "ShowDancingCharacters", m_bShowDancingCharacters );
ini.SetValueI( "Options", "BannerCacheType", m_BannerCacheType );
diff --git a/stepmania/src/PrefsManager.h b/stepmania/src/PrefsManager.h
index bc227b2de0..bbbad18f6c 100644
--- a/stepmania/src/PrefsManager.h
+++ b/stepmania/src/PrefsManager.h
@@ -75,6 +75,7 @@ public:
bool m_bAutogenGroupCourses;
CString m_sDefaultModifiers;
bool m_bBreakComboToGetItem;
+ bool m_bShowDancingCharacters;
/* 0 = no; 1 = yes; -1 = auto (do whatever is appropriate for the arch). */
int m_iBoostAppPriority;
diff --git a/stepmania/src/RageDisplay.h b/stepmania/src/RageDisplay.h
index 014550f148..19b1b24320 100644
--- a/stepmania/src/RageDisplay.h
+++ b/stepmania/src/RageDisplay.h
@@ -91,7 +91,7 @@ public:
void DrawFan( const RageVertex v[], int iNumVerts );
void DrawStrip( const RageVertex v[], int iNumVerts );
void DrawTriangles( const RageVertex v[], int iNumVerts );
- void DrawIndexedTriangles( const RageVertex v[], const Uint16 pIndices[], int iNumIndices );
+ void DrawIndexedTriangles( const RageVertex v[], const Uint16* pIndices, int iNumIndices );
void DrawLoop( const RageVertex v[], int iNumVerts, float LineWidth );
void DrawLoop_LinesAndPoints( const RageVertex v[], int iNumVerts, float LineWidth );
void DrawLoop_Polys( const RageVertex v[], int iNumVerts, float LineWidth );
diff --git a/stepmania/src/Screen.cpp b/stepmania/src/Screen.cpp
index 542f1d9df6..3a78bff6e4 100644
--- a/stepmania/src/Screen.cpp
+++ b/stepmania/src/Screen.cpp
@@ -299,6 +299,7 @@ void Screen::ClearMessageQueue( const ScreenMessage SM )
#include "ScreenSelectCharacter.h"
#include "ScreenRaveOptions.h"
#include "ScreenSelectMode.h"
+#include "ScreenBackgroundOptions.h"
Screen* Screen::Create( CString sClassName )
{
@@ -363,6 +364,7 @@ Screen* Screen::Create( CString sClassName )
IF_RETURN( ScreenCredits );
IF_RETURN( ScreenSelectCharacter );
IF_RETURN( ScreenRaveOptions );
+ IF_RETURN( ScreenBackgroundOptions );
RageException::Throw( "Invalid Screen class name '%s'", sClassName.c_str() );
}
diff --git a/stepmania/src/ScreenBackgroundOptions.cpp b/stepmania/src/ScreenBackgroundOptions.cpp
new file mode 100644
index 0000000000..451da07932
--- /dev/null
+++ b/stepmania/src/ScreenBackgroundOptions.cpp
@@ -0,0 +1,83 @@
+#include "global.h"
+/*
+-----------------------------------------------------------------------------
+ Class: ScreenBackgroundOptions
+
+ Desc: See header.
+
+ Copyright (c) 2001-2003 by the person(s) listed below. All rights reserved.
+ Chris Danford
+ Chris Gomez
+-----------------------------------------------------------------------------
+*/
+
+#include "ScreenBackgroundOptions.h"
+#include "RageTextureManager.h"
+#include "RageUtil.h"
+#include "RageSoundManager.h"
+#include "ScreenManager.h"
+#include "PrefsManager.h"
+#include "GameConstantsAndTypes.h"
+#include "StepMania.h"
+#include "PrefsManager.h"
+#include "RageLog.h"
+#include "ThemeManager.h"
+
+
+enum {
+ BO_MODE,
+ BO_BRIGHTNESS,
+ BO_DANGER,
+ BO_DANCING_CHARACTERS,
+ NUM_BACKGROUND_OPTIONS_LINES
+};
+
+OptionRow g_BackgroundOptionsLines[NUM_BACKGROUND_OPTIONS_LINES] = {
+ OptionRow( "Mode", "OFF","ANIMATIONS","VISUALIZATIONS","RANDOM MOVIES" ),
+ OptionRow( "Brightness", "0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%" ),
+ OptionRow( "Danger", "HIDE","SHOW" ),
+ OptionRow( "Dancing\nCharacters", "HIDE","SHOW" )
+};
+
+ScreenBackgroundOptions::ScreenBackgroundOptions() :
+ ScreenOptions("ScreenBackgroundOptions",false)
+{
+ LOG->Trace( "ScreenBackgroundOptions::ScreenBackgroundOptions()" );
+
+ Init(
+ INPUTMODE_BOTH,
+ g_BackgroundOptionsLines,
+ NUM_BACKGROUND_OPTIONS_LINES,
+ false, true );
+ m_Menu.m_MenuTimer.Disable();
+
+ SOUNDMAN->PlayMusic( THEME->GetPathToS("ScreenMachineOptions music") );
+}
+
+void ScreenBackgroundOptions::ImportOptions()
+{
+ m_iSelectedOption[0][BO_MODE] = PREFSMAN->m_BackgroundMode;
+ m_iSelectedOption[0][BO_BRIGHTNESS] = (int)( PREFSMAN->m_fBGBrightness*10+0.5f );
+ m_iSelectedOption[0][BO_DANGER] = PREFSMAN->m_bShowDanger ? 1:0;
+ m_iSelectedOption[0][BO_DANCING_CHARACTERS] = PREFSMAN->m_bShowDancingCharacters? 1:0;
+}
+
+void ScreenBackgroundOptions::ExportOptions()
+{
+ (int&)PREFSMAN->m_BackgroundMode = m_iSelectedOption[0][BO_MODE];
+ PREFSMAN->m_fBGBrightness = m_iSelectedOption[0][BO_BRIGHTNESS] / 10.0f;
+ PREFSMAN->m_bShowDanger = m_iSelectedOption[0][BO_DANGER] == 1;
+ PREFSMAN->m_bShowDancingCharacters = m_iSelectedOption[0][BO_DANCING_CHARACTERS] == 1;
+}
+
+void ScreenBackgroundOptions::GoToPrevState()
+{
+ SCREENMAN->SetNewScreen( "ScreenOptionsMenu" );
+}
+
+void ScreenBackgroundOptions::GoToNextState()
+{
+ PREFSMAN->SaveGlobalPrefsToDisk();
+ GoToPrevState();
+}
+
diff --git a/stepmania/src/ScreenBackgroundOptions.h b/stepmania/src/ScreenBackgroundOptions.h
new file mode 100644
index 0000000000..5ce1494bf8
--- /dev/null
+++ b/stepmania/src/ScreenBackgroundOptions.h
@@ -0,0 +1,26 @@
+/*
+-----------------------------------------------------------------------------
+ File: ScreenBackgroundOptions
+
+ Desc: Select a song.
+
+ Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
+ Chris Danford
+-----------------------------------------------------------------------------
+*/
+
+#include "ScreenOptions.h"
+
+class ScreenBackgroundOptions : public ScreenOptions
+{
+public:
+ ScreenBackgroundOptions();
+
+private:
+ void ImportOptions();
+ void ExportOptions();
+
+ void GoToNextState();
+ void GoToPrevState();
+};
+
diff --git a/stepmania/src/ScreenGameplayOptions.cpp b/stepmania/src/ScreenGameplayOptions.cpp
index c0608919ce..1e67e003ea 100644
--- a/stepmania/src/ScreenGameplayOptions.cpp
+++ b/stepmania/src/ScreenGameplayOptions.cpp
@@ -25,10 +25,7 @@
enum {
- GO_BGMODE,
- GO_BGBRIGHTNESS,
GO_BGIFNOBANNER,
- GO_SHOW_DANGER,
GO_SOLO_SINGLE,
GO_HIDDEN_SONGS,
GO_EASTER_EGGS,
@@ -38,10 +35,7 @@ enum {
};
OptionRow g_GameplayOptionsLines[NUM_GAMEPLAY_OPTIONS_LINES] = {
- OptionRow( "Background\nMode", "OFF","ANIMATIONS","VISUALIZATIONS","RANDOM MOVIES" ),
- OptionRow( "Background\nBrightness","0%","10%","20%","30%","40%","50%","60%","70%","80%","90%","100%" ),
OptionRow( "BG For\nBanner", "NO", "YES (slow)" ),
- OptionRow( "Show\nDanger", "OFF","ON" ),
OptionRow( "Solo\nSingles", "OFF","ON" ),
OptionRow( "Hidden\nSongs", "OFF","ON" ),
OptionRow( "Easter\nEggs", "OFF","ON" ),
@@ -66,10 +60,7 @@ ScreenGameplayOptions::ScreenGameplayOptions() :
void ScreenGameplayOptions::ImportOptions()
{
- m_iSelectedOption[0][GO_BGMODE] = PREFSMAN->m_BackgroundMode;
- m_iSelectedOption[0][GO_BGBRIGHTNESS] = (int)( PREFSMAN->m_fBGBrightness*10+0.5f );
m_iSelectedOption[0][GO_BGIFNOBANNER] = PREFSMAN->m_bUseBGIfNoBanner ? 1:0;
- m_iSelectedOption[0][GO_SHOW_DANGER] = PREFSMAN->m_bShowDanger ? 1:0;
m_iSelectedOption[0][GO_SOLO_SINGLE] = PREFSMAN->m_bSoloSingle ? 1:0;
m_iSelectedOption[0][GO_HIDDEN_SONGS] = PREFSMAN->m_bHiddenSongs ? 1:0;
m_iSelectedOption[0][GO_EASTER_EGGS] = PREFSMAN->m_bEasterEggs ? 1:0;
@@ -79,10 +70,7 @@ void ScreenGameplayOptions::ImportOptions()
void ScreenGameplayOptions::ExportOptions()
{
- (int&)PREFSMAN->m_BackgroundMode = m_iSelectedOption[0][GO_BGMODE];
- PREFSMAN->m_fBGBrightness = m_iSelectedOption[0][GO_BGBRIGHTNESS] / 10.0f;
PREFSMAN->m_bUseBGIfNoBanner = m_iSelectedOption[0][GO_BGIFNOBANNER] == 1;
- PREFSMAN->m_bShowDanger = m_iSelectedOption[0][GO_SHOW_DANGER] == 1;
PREFSMAN->m_bSoloSingle = m_iSelectedOption[0][GO_SOLO_SINGLE] == 1;
PREFSMAN->m_bHiddenSongs = m_iSelectedOption[0][GO_HIDDEN_SONGS] == 1;
PREFSMAN->m_bEasterEggs = m_iSelectedOption[0][GO_EASTER_EGGS] == 1;
diff --git a/stepmania/src/ScreenOptionsMenu.cpp b/stepmania/src/ScreenOptionsMenu.cpp
index 59bb08a08c..b16bd19412 100644
--- a/stepmania/src/ScreenOptionsMenu.cpp
+++ b/stepmania/src/ScreenOptionsMenu.cpp
@@ -29,6 +29,7 @@
enum {
OM_APPEARANCE,
OM_AUTOGEN,
+ OM_BACKGROUND,
OM_CONFIG_KEY_JOY,
OM_INPUT,
OM_GAMEPLAY,
@@ -41,6 +42,7 @@ enum {
OptionRow g_OptionsMenuLines[NUM_OPTIONS_MENU_LINES] = {
OptionRow( "", "Appearance Options" ),
OptionRow( "", "Autogen Options" ),
+ OptionRow( "", "Background Options" ),
OptionRow( "", "Config Key/Joy Mappings" ),
OptionRow( "", "Input Options" ),
OptionRow( "", "Gameplay Options" ),
@@ -94,6 +96,7 @@ void ScreenOptionsMenu::GoToNextState()
{
case OM_APPEARANCE: SCREENMAN->SetNewScreen("ScreenAppearanceOptions"); break;
case OM_AUTOGEN: SCREENMAN->SetNewScreen("ScreenAutogenOptions"); break;
+ case OM_BACKGROUND: SCREENMAN->SetNewScreen("ScreenBackgroundOptions"); break;
case OM_CONFIG_KEY_JOY: SCREENMAN->SetNewScreen("ScreenMapControllers"); break;
case OM_GAMEPLAY: SCREENMAN->SetNewScreen("ScreenGameplayOptions"); break;
case OM_GRAPHIC: SCREENMAN->SetNewScreen("ScreenGraphicOptions"); break;
diff --git a/stepmania/src/StepMania.dsp b/stepmania/src/StepMania.dsp
index 1a59b34512..5e6840c04f 100644
--- a/stepmania/src/StepMania.dsp
+++ b/stepmania/src/StepMania.dsp
@@ -60,7 +60,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
@@ -95,7 +95,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
@@ -1128,6 +1128,14 @@ SOURCE=.\Combo.h
# End Source File
# Begin Source File
+SOURCE=.\DancingCharacters.cpp
+# End Source File
+# Begin Source File
+
+SOURCE=.\DancingCharacters.h
+# End Source File
+# Begin Source File
+
SOURCE=.\GhostArrow.cpp
# End Source File
# Begin Source File
diff --git a/stepmania/src/StepMania.vcproj b/stepmania/src/StepMania.vcproj
index 0106ccfc63..77a0317349 100644
--- a/stepmania/src/StepMania.vcproj
+++ b/stepmania/src/StepMania.vcproj
@@ -194,6 +194,12 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
+
+
+
+
@@ -1042,6 +1048,12 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
+
+
+
+
@@ -1076,12 +1088,6 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
-
-
-
-
@@ -1272,6 +1278,12 @@ cl /Zl /nologo /c verstub.cpp /Fo$(IntDir)\
+
+
+
+