Files
itgmania212121/stepmania/src/SongOptions.h
T
Glenn Maynard 43ed677045 Fix PlayerOptions::GetString percentage rounding.
Merge ScreenGameplay::SM_NotesEnded code paths.

Replace FAIL_PASSMARK with PlayerOptions FailMark:
It's simpler: only one test (in SM_NotesEnded).  It can be 1: changed easily:
say "80% FailMark" for BM; 2: set per-player, if some mode wants an easier
setting for easier difficulties; 3: changed during courses (if you really wanted to).

It coexists with fail types.  In some BeatMania games, you have to be over 80%
at the end to pass, but you also fail immediately if the bar empties.

One thing to be careful of: since it coexists with fail types, setting FailOff doesn't
disable FailMark failing.  If you want that, too, use "No FailMark".

The danger background works consistently.  (If FailOff is set, the behavior is what
it was--no danger at all.)
2003-11-03 19:42:06 +00:00

35 lines
986 B
C

#ifndef SONGOPTIONS_H
#define SONGOPTIONS_H
/*
-----------------------------------------------------------------------------
Class: SongOptions
Desc: Per-song options that are not saved between sessions. These are options
that should probably be disabled in a coin-operated machine.
Copyright (c) 2001-2002 by the person(s) listed below. All rights reserved.
Chris Danford
-----------------------------------------------------------------------------
*/
struct SongOptions
{
enum LifeType { LIFE_BAR=0, LIFE_BATTERY, NUM_LIFE_TYPES };
LifeType m_LifeType;
enum DrainType { DRAIN_NORMAL, DRAIN_NO_RECOVER, DRAIN_SUDDEN_DEATH };
DrainType m_DrainType; // only used with LifeBar
int m_iBatteryLives;
enum FailType { FAIL_ARCADE=0, FAIL_END_OF_SONG, FAIL_OFF };
FailType m_FailType;
float m_fMusicRate;
bool m_bAssistTick, m_bAutoSync, m_bSaveScore;
SongOptions() { Init(); };
void Init();
CString GetString() const;
void FromString( CString sOptions );
};
#endif