Files
itgmania212121/stepmania/src/ScreenEdit.h
T

90 lines
2.4 KiB
C++
Raw Normal View History

2002-05-20 08:59:37 +00:00
/*
-----------------------------------------------------------------------------
2002-06-29 11:59:09 +00:00
Class: ScreenEdit
2002-05-20 08:59:37 +00:00
2002-06-29 11:59:09 +00:00
Desc: Edit, record, playback, or synchronize notes.
2002-05-20 08:59:37 +00:00
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
2002-06-29 11:59:09 +00:00
Chris Danford
2002-05-20 08:59:37 +00:00
-----------------------------------------------------------------------------
*/
#include "Screen.h"
#include "Sprite.h"
#include "TransitionFade.h"
#include "BitmapText.h"
#include "Player.h"
#include "RandomSample.h"
#include "FocusingSprite.h"
#include "RageMusic.h"
#include "MotionBlurSprite.h"
#include "Background.h"
#include "SnapDisplay.h"
2002-05-20 08:59:37 +00:00
class ScreenEdit : public Screen
{
public:
ScreenEdit();
virtual ~ScreenEdit();
virtual void Update( float fDeltaTime );
virtual void DrawPrimitives();
virtual void Input( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
void InputEdit( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
void InputRecord( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
void InputPlay( const DeviceInput& DeviceI, const InputEventType type, const GameInput &GameI, const MenuInput &MenuI, const StyleInput &StyleI );
virtual void HandleScreenMessage( const ScreenMessage SM );
void TransitionToEditFromRecord();
protected:
void OnSnapModeChange();
2002-07-28 20:28:37 +00:00
enum EditMode { MODE_EDITING, MODE_RECORDING, MODE_PLAYING };
EditMode m_EditMode;
2002-05-20 08:59:37 +00:00
Song* m_pSong;
2002-07-02 00:27:58 +00:00
Notes* m_pNotes;
2002-05-20 08:59:37 +00:00
Sprite m_sprBackground;
NoteField m_NoteFieldEdit;
SnapDisplay m_SnapDisplay;
2002-05-20 08:59:37 +00:00
GrayArrowRow m_GrayArrowRowEdit;
BitmapText m_textInfo; // status information that changes
2002-06-29 11:59:09 +00:00
BitmapText m_textHelp;
2002-05-20 08:59:37 +00:00
// keep track of where we are and what we're doing
float m_fTrailingBeat; // this approaches GAMESTATE->m_fSongBeat, which is the actual beat
2002-05-20 08:59:37 +00:00
2002-06-29 11:59:09 +00:00
NoteData m_Clipboard;
2002-05-20 08:59:37 +00:00
2002-06-29 11:59:09 +00:00
RageSoundSample m_soundChangeLine;
RageSoundSample m_soundChangeSnap;
RageSoundSample m_soundMarker;
RageSoundSample m_soundInvalid;
2002-05-20 08:59:37 +00:00
2002-06-29 11:59:09 +00:00
TransitionFade m_Fade;
2002-05-20 08:59:37 +00:00
// for MODE_RECORD
Quad m_rectRecordBack;
2002-06-29 11:59:09 +00:00
NoteField m_NoteFieldRecord;
GrayArrowRow m_GrayArrowRowRecord;
2002-05-20 08:59:37 +00:00
// for MODE_PLAY
Player m_Player;
2002-05-20 08:59:37 +00:00
// for MODE_RECORD and MODE_PLAY
RageSoundStream m_soundMusic;
bool m_bLayingAHold[MAX_NOTE_TRACKS];
2002-05-20 08:59:37 +00:00
};