Commit Graph
810 Commits
Author SHA1 Message Date
Glenn Maynard d855f691f7 simplify and potimize 2007-05-14 04:24:47 +00:00
Steve Checkoway e5c803d24c The stats are reset in BeginStage(). Fixes a crash if you fail the first song since the stats are reset so it tries to go to SEvalSummary. 2007-05-13 03:41:13 +00:00
Glenn Maynard a72131f0b0 easier fail mode only for each player's first stage; don't give it to
everyone for everyone else's first
2007-05-12 23:51:56 +00:00
Glenn Maynard 8278b2e9a1 make FailType a PlayerOption instead of a SongOption; fixes
peculiarity that GameState::GetPlayerFailType can implement
fail modes per-player and nothing else can
2007-05-12 23:48:29 +00:00
Glenn Maynard ac9abdabea fix off-by-one 2007-05-12 23:45:24 +00:00
Glenn Maynard 7c8766ebdf fix pPlayerState 2007-05-12 23:23:38 +00:00
Glenn Maynard 40cb441f74 bind GetSongOptions, GetPlayerOptions 2007-05-11 21:56:34 +00:00
Glenn Maynard 9337c56616 arrange 2007-05-11 21:51:19 +00:00
Glenn Maynard 5b18b48698 GetGameSeed, GetStageSeed 2007-05-11 21:42:31 +00:00
Glenn Maynard 54f1068dd8 fix uninitialized m_MasterPlayerNumber during first UnjoinPlayer 2007-05-10 02:32:06 +00:00
Glenn Maynard 0a5c93d4e2 fix and bind EnoughCreditsToJoin 2007-05-08 01:49:45 +00:00
Glenn Maynard ea104d9a76 GameState::SaveProfile 2007-05-06 05:15:26 +00:00
Glenn Maynard d3e1018abd fix 2PlayersFor1Credit and late join 2007-05-06 00:26:07 +00:00
Steve Checkoway 6072fb29cc Functions in singletons that depend on the singleton having been created should not be static. Removed uses of GAMESTATE inside GameState member functions. 2007-05-05 11:08:50 +00:00
Glenn Maynard 080d39351b unwrap to simplify
fix assert when no players joined; pretend one player joined
2007-04-29 04:22:04 +00:00
Glenn Maynard 7c314952b2 better reset on unjoin 2007-04-27 21:14:50 +00:00
Glenn Maynard d4469afd7a also fix course crash when SongsPerPlay > 3 2007-04-27 00:40:52 +00:00
Glenn Maynard e432337815 fix course crash when SongsPerPlay > 3 2007-04-27 00:36:58 +00:00
Glenn Maynard 74a17abe9b modified haste mechanics 2007-04-26 00:56:37 +00:00
Glenn Maynard 643cadbbe0 fix up DQ; CurStageStats changes didn't interact well with it 2007-04-25 20:00:18 +00:00
Glenn Maynard 9ed7cf25f3 move AllHumanHaveComboOf30OrMoreMisses into StageStats 2007-04-25 16:39:03 +00:00
Glenn Maynard 1f4889effe barrier not needed anymore 2007-04-25 16:37:05 +00:00
Glenn Maynard acdfa60b0b barrier not needed anymore 2007-04-25 16:36:03 +00:00
Glenn Maynard 4fbac59b2f this is done explicitly 2007-04-25 16:35:43 +00:00
Glenn Maynard dcb952fbf5 make this explicit 2007-04-25 16:22:30 +00:00
Glenn Maynard 713c95b2b0 Stage refactoring:
- m_iPlayerCurrentStageIndexForCurrentCredit is changed to m_iPlayerStageTokens,
   counting the number of stages left.  This can be incremented and decremented
   (as a bonus or penalty) with no weird side-effects; it is not used to determine
   whether the player is on an extra stage.  This is less brittle; it eliminates
   special cases to avoid incrementing the counter and skipping into an extra stage.
 - Stage tokens are subtracted for each song played, and a player is unjoined
   when he runs out.
 - Stage tokens are subtracted at the start of gameplay.  If the player cancels,
   they're "refunded".  This differs from before, where the stage was incremented
   at the end of gameplay.  This makes the stage token counter meaningful during
   gameplay; if this is done at the end, then it would be too high during gameplay.
 - IsFinalStage is gone.  If needed, use GetSmallestNumStagesLeftForAnyHumanPlayer.
 - Extra stages are awarded by adding a stage token and incrementing
   m_iAwardedExtraStages.  If m_iAwardedExtraStages is 1, the player is
   on his first extra stage; if 2, his second.
2007-04-25 03:50:17 +00:00
Glenn Maynard 8d396834dc remove m_bComboContinuesBetweenSongs 2007-04-25 03:38:40 +00:00
Glenn Maynard 9978102d25 remove unused 2007-04-25 01:17:50 +00:00
Glenn Maynard 6035ff65ed simplify 2007-04-25 01:16:04 +00:00
Glenn Maynard ccc19fa60b Don't track the individual stage with Stage; use the stage index for that.
(Reducing the usage of the "stage" concept.  It conflicts with overlapped
play.)
2007-04-25 01:11:50 +00:00
Glenn Maynard 450ed7120b remove m_bPickExtraStage, use false behavior. Extra stage stuff is way too complicated for too many niche cases. 2007-04-25 00:23:09 +00:00
Glenn Maynard 73c6158bbe simplify: count each stage as one stage, no special case for long songs 2007-04-24 21:37:20 +00:00
Glenn Maynard 21b544c8ae simplify iSaveProfileEvery stuff and make it closer to correct 2007-04-24 19:36:45 +00:00
Glenn Maynard 26dd52583a courses take all stages, but only count as 1 in the stage counter 2007-04-24 18:21:17 +00:00
Glenn Maynard 95fb191fb4 allow loading profile without loading edits 2007-04-24 16:30:23 +00:00
Glenn Maynard 079e0f5397 partial revert (not sure if this is worth maintaining, but it didn't need to
be removed for the last commit)
2007-04-24 01:41:34 +00:00
Glenn Maynard 5318d0670d Previously, BeginStage was called in SGameplay and FinishStage was called
in each place gameplay exits.  This incremented the stage number in SSM,
and was brittle: FinishStage was sprinkled in many odd places.  Do both
in SGameplay.

This increments the stage number as soon as gameplay ends.  This only
affects evaluation.  Use the stage number from StageStats there, instead
of the current stage, and adjust branches.  During evaluation, the
game is on the upcoming stage and displaying old data for the last
stage, instead of the stage continuing through evaluation.

This also moves a bunch of scoring-related stuff out of SEvaluation,
to the end of gameplay, where it belongs.  Eval is almost const, and things
won't break like they would before if Eval is not used.
2007-04-24 01:35:32 +00:00
Glenn Maynard 2bcd5a644f use enum_add2 2007-04-24 01:28:53 +00:00
Glenn Maynard 7de6bd605c revert IsStagePossible; not sure yet 2007-04-24 00:44:51 +00:00
Glenn Maynard 25796bd187 remove IsStagePossible 2007-04-23 23:42:27 +00:00
Glenn Maynard 57bd25bb0c clean m_vPlayedStageStats as players unjoin 2007-04-19 14:34:42 +00:00
Glenn Maynard 1eb380ba2e Eliminate GameState::EndGame; games don't necessarily have distinct
endings.  Update the play timer periodically when we commit scores.
(This timer is a bit different, but reasonable.)
2007-04-19 13:59:38 +00:00
Glenn Maynard a8a4803ed8 working on explicit profile load/saves: do this in a screen, not implicitly
as part of other operations
separate profile loads/locks for each player
2007-04-17 22:27:25 +00:00
Glenn Maynard c7ae4a052b temp fix for a crash 2007-04-17 18:40:57 +00:00
Glenn Maynard afb6bc29d3 don't FinishStage in EndGame 2007-04-17 17:58:51 +00:00
Glenn Maynard 6f0eba5783 remove DefaultCpuModifiers; use Lua if needed 2007-04-17 17:29:54 +00:00
Glenn Maynard 6471f44235 split LoadCurrentSettingsFromProfile 2007-04-16 21:17:26 +00:00
Glenn Maynard d64294dc21 remove PlayersFinalized message 2007-04-16 18:45:51 +00:00
Glenn Maynard 9c87292221 defaults 2007-04-10 18:17:49 +00:00
Glenn Maynard eac521e34a DynamicThemeMetric -> ThemeMetric 2007-04-10 17:51:21 +00:00