Commit Graph
100 Commits
Author SHA1 Message Date
Glenn Maynard c0b05774bf remove ScreenPreInitCommand 2005-08-03 00:51:09 +00:00
Glenn Maynard 059c4a05a8 remove ScreenPreInitCommand; use ScreenInitCommand 2005-08-03 00:49:44 +00:00
Glenn Maynard 7a06b9edbe InitCommand -> ScreenInitCommand 2005-08-03 00:47:33 +00:00
Glenn Maynard 1dec06fd7b ScreenOnCommand 2005-08-03 00:41:30 +00:00
Glenn Maynard 7102b1338b run ScreenOnCommand in BeginScreen 2005-08-03 00:39:21 +00:00
Glenn Maynard b18fcf555f nonfatal 2005-07-30 08:14:14 +00:00
Glenn Maynard 416e1ff92e fix g++ compile 2005-07-30 07:41:18 +00:00
Glenn Maynard fbac911c8d fix ClearRangeForTrack splits hold notes when given a degenerate range 2005-07-30 07:08:50 +00:00
Glenn Maynard 4fe46bd2a4 EDIT_BUTTON_REMOVE_NOTE 2005-07-30 07:07:11 +00:00
Glenn Maynard 733a465f62 more precise definition 2005-07-30 05:59:39 +00:00
Glenn Maynard e4cce264ad corrections 2005-07-29 23:01:17 +00:00
Glenn Maynard 91dc0ed8de reset m_sprOptionsMessage state 2005-07-29 17:45:21 +00:00
Glenn Maynard 853c46c511 don't reset in ScreenRanking 2005-07-29 06:17:48 +00:00
Glenn Maynard 99504e2522 do this stuff in BeginScreen, so we set up music, etc. again if we reuse a screen 2005-07-29 05:08:57 +00:00
Glenn Maynard 87016c7f55 don't let SWME mess with the music here; SSM does it itself 2005-07-29 05:07:01 +00:00
Glenn Maynard 1fd5a40e92 log background loads 2005-07-29 04:08:33 +00:00
Glenn Maynard 99f720f6ab update 2005-07-29 03:56:39 +00:00
Glenn Maynard cfdbe5a134 fix crash 2005-07-29 03:22:48 +00:00
Glenn Maynard 6e3129d8d1 optimize 2005-07-29 02:26:11 +00:00
Glenn Maynard 6eaf073366 cleanup dupe 2005-07-29 00:03:12 +00:00
Glenn Maynard a56b7ac59b Declare these as const functions, like sinf and cosf. This fixes the compiler
not optimizing calls to these as well as sinf/cosf.
2005-07-28 02:47:51 +00:00
Glenn Maynard 93302c03aa add CONST_FUNCTION. See: http://gcc.gnu.org/onlinedocs/gcc-3.2/gcc/Function-Attributes.html 2005-07-28 02:45:17 +00:00
Glenn Maynard 94e5d8772b update comment: the text format is 3-4 times smaller than the NoteData map representation (and could be gzipped in-memory to a fraction of that) 2005-07-28 02:04:46 +00:00
Glenn Maynard 2c1f32cd3e warnings 2005-07-27 01:52:46 +00:00
Glenn Maynard b9818b6379 optimize CollapsePath: only make one copy, don't split and re-join (5:1 speedup) 2005-07-26 05:26:14 +00:00
Glenn Maynard 4bcf9fcbfd Calling SetNewScreen when not the top screen on the stack only replaces the
top screen.  This allows a screen to push a helper screen, which can then
enter an entirely separate set of helper screens before one pops back.
(For example, a screen could push ScreenServiceOptions to enter the options
menu, which then replaces itself with the various options menus, and finally
pops back to the original screen when the player backs out entirely.)  (Some
support is still missing to allow non-special-case use of this; coming soon ...)

However, in rare cases we want to kill all screens on the stack, regardless
of how many there are (operator menu).  Fix that case.
2005-07-26 03:08:03 +00:00
Glenn Maynard 9cf25ad2b1 flush before deleting screens 2005-07-23 06:36:11 +00:00
Glenn Maynard 703c96a53a prefer to call ZeroNextUpdate before we spend the time that we want to zero,
not after
2005-07-23 06:30:22 +00:00
Glenn Maynard c1a2276330 UpdateDisqualified in BeginScreen, not Init; in Init we havn't imported options
yet, so UpdateDisqualified applies defaults
2005-07-23 06:13:33 +00:00
Glenn Maynard 91e367754a pull out ScreenIsPrepped 2005-07-23 03:31:43 +00:00
Glenn Maynard 44dfb60616 run cleanups after deleting a screen via pop
don't expose DeletePreparedScreens (unneeded; simplify the interface)
2005-07-23 03:09:55 +00:00
Glenn Maynard a16bb811e6 DeletePreparedScreens is automatic 2005-07-23 03:01:36 +00:00
Glenn Maynard bb758d7e8e update 2005-07-23 01:22:49 +00:00
Glenn Maynard b293a4490f ironing out preloading logic 2005-07-23 01:18:48 +00:00
Glenn Maynard 371bc33f47 ScreensToPrepare, ScreensToGroup 2005-07-22 23:12:45 +00:00
Glenn Maynard 28b3336f64 prepare and group screens in the screen using them, not in the screen
going to that screen (eg. not in GameCommand)
2005-07-22 23:08:28 +00:00
Glenn Maynard abad7e9d1c OnCommand in DifficultyList::TweenOnScreen 2005-07-22 22:40:36 +00:00
Glenn Maynard 0cf4fc957c ScreenSelectMusic::BeginScreen
fix TweenOffScreen run twice
2005-07-22 22:38:53 +00:00
Glenn Maynard e2be6fba66 for motion tweens that On and Off to the same place, writing them this way
is an easy way to make them repeatable
2005-07-22 21:14:28 +00:00
Glenn Maynard 0ef1a88a05 hopefully fix dumb chain of bugs:
RefreshBeatToNoteSkin must be called before Update() is run, and after ResetNoteSkinsForPlayer
2005-07-22 21:04:27 +00:00
Glenn Maynard a73fc49d5a update
OutputDirectory -> TargetDir
2005-07-22 20:34:09 +00:00
Glenn Maynard e85313f96a hide/show player-specific elements 2005-07-22 20:24:38 +00:00
Glenn Maynard 34a43105bf hide/show player-specific elements 2005-07-22 19:58:26 +00:00
Glenn Maynard a9fa5a52aa remove unused 2005-07-22 09:13:44 +00:00
Glenn Maynard 1d797c7f94 fix SM_Success, SM_Failure never sent 2005-07-22 09:13:16 +00:00
Glenn Maynard 8050631be9 use GetNextScreen() 2005-07-22 09:12:16 +00:00
Glenn Maynard 86f3b4a6b5 Screen::GetNextScreen, Screen::GetPrevScreen 2005-07-22 09:11:17 +00:00
Glenn Maynard 6939289f67 remove deletepreparedscreens 2005-07-22 08:46:06 +00:00
Glenn Maynard a0577b80db Refactor prepared screens. This can handle:
- preparing and reusing screens used in a loop (eg. attract), a conceptual stack
   (eg. options menu), or a real stack (ScreenPrompt)
 - automatic cleanup once you load a screen that isn't preloaded; this gracefully
   handles unusual or forgotten exit paths (eg. pressing the system menu button)
 - reusing some screens in a group and loading others on demand
2005-07-22 08:39:07 +00:00
Glenn Maynard d38a2e9c33 ctor, comment, cleanup 2005-07-22 07:15:57 +00:00
Glenn Maynard 3f3a782daf not a reference 2005-07-22 07:13:52 +00:00
Glenn Maynard 8e96f9a233 const 2005-07-22 07:11:49 +00:00
Glenn Maynard f8f65d0a48 changing prepared screen logic; DeletePreparedScreens will be done
automatically
2005-07-22 07:02:20 +00:00
Glenn Maynard 26b5ac01d3 We don't know which players are joined until BeginScreen, so always load
assets for both players (fixes preload asserts).  This isn't an important
optimization point: it's not acceptable for a screen to be so much slower in
2-player than 1-player that this type of optimization would matter.  Also, always
loading both players will help reduce the chance of code that's too slow in
2-player not being noticed due to only being tested in 1-player.
2005-07-22 06:30:19 +00:00
Glenn Maynard 67f6e76b3b tabs 2005-07-22 05:45:46 +00:00
Glenn Maynard d41ba9480c more to implementation 2005-07-22 05:44:54 +00:00
Glenn Maynard 55c0f2b6f4 cleanup 2005-07-22 05:41:51 +00:00
Glenn Maynard 4aaf18959d tabs 2005-07-22 05:39:52 +00:00
Glenn Maynard 4b1b3277e8 Singleton classes don't need to store their stuff in the class; put it in
the implementation: it's easier to edit without triggering huge rebuilds
that way.

(Hmm.  There's really no benefit, here, to using an anonymous namespace
instead of statics, but it seems better this way and I'm not sure why.
The normal admonitions against global variables don't apply here, since
static avoids namespace pollution and it's a singleton, but maybe it's
just habit asserting itself and anonymous namespaces circumvent that ...)
2005-07-22 05:38:56 +00:00
Glenn Maynard eca5d32eb3 fix underlay/overlay; we play the state commands so we can do things with
them in these modes, so don't hide them
2005-07-22 05:02:04 +00:00
Glenn Maynard 209c806bbd simplify 2005-07-22 04:12:56 +00:00
Glenn Maynard 9d65ff798d fix "record empty segment at end doesn't do anything useful" 2005-07-22 04:11:15 +00:00
Glenn Maynard 464bb983ee align record to record length 2005-07-22 02:30:15 +00:00
Glenn Maynard d62fe9be5a EDIT_BUTTON_SCROLL_NEXT_MEASURE, EDIT_BUTTON_SCROLL_PREV_MEASURE 2005-07-22 01:28:20 +00:00
Glenn Maynard 77b30284c4 add QuantizeUp( float ) 2005-07-22 01:22:14 +00:00
Glenn Maynard b2c7e5e829 add "jump to next note", "jump to previous note" 2005-07-22 00:55:36 +00:00
Glenn Maynard b8838ba5c0 comment to make IsHoldNoteAtRow's behavior clear, add IsHoldHeadOrBodyAtRow 2005-07-22 00:34:54 +00:00
Glenn Maynard 4ec405f13b IsHoldNoteAtBeat -> IsHoldNoteAtRow 2005-07-22 00:14:24 +00:00
Glenn Maynard ea8705fa9d spit out ScreenEdit::ScrollTo 2005-07-21 22:31:09 +00:00
Glenn Maynard 5769d00abf implement GetPrevTapNoteRowForAllTracks 2005-07-21 22:30:00 +00:00
Glenn Maynard c9c59e0882 initial "paused record" mode: record a song measure-by-measure, allowing
replaying and rerecording each section in sequence; when paused, remain
in the record view, so we don't jump around between record and edit views
constantly
2005-07-21 21:23:18 +00:00
Glenn Maynard d5587f37d0 case fix 2005-07-21 20:42:56 +00:00
Glenn Maynard 61c42c4481 simplify 2005-07-21 20:41:26 +00:00
Glenn Maynard fc43a6f136 EDIT_BUTTON_RECORD -> EDIT_BUTTON_RECORD_SELECTION 2005-07-21 20:37:04 +00:00
Glenn Maynard 079926c6c3 cleanup; always commit recorded data when exiting record, not just when entering edit (though we only go from record -> edit currently) 2005-07-21 06:50:39 +00:00
Glenn Maynard 951c6074b0 cleanup 2005-07-21 06:48:56 +00:00
Glenn Maynard f4cc57514e always stop music and reset m_bPastHereWeGo when changing modes 2005-07-21 06:25:29 +00:00
Glenn Maynard 5a59d42b6d fix editor assert: we Update Player in the editor before calling Load, since
Load loads up and transforms a NoteData, which is pointless to do before
we're ready to play something (cleanups needed ...)
2005-07-21 06:17:04 +00:00
Glenn Maynard 9547906a6c cleanup 2005-07-21 05:58:34 +00:00
Glenn Maynard a2ad4d61b9 GameSoundManager handles the timer by default 2005-07-21 05:53:05 +00:00
Glenn Maynard c617484b13 fix log 2005-07-21 05:44:51 +00:00
Glenn Maynard 83bae991b9 undo; not needed and causes crashes elsewhere 2005-07-21 05:33:08 +00:00
Glenn Maynard fa7d6d4960 fix area menu 2005-07-21 05:17:36 +00:00
Glenn Maynard d038d2446e TransitionEditState does this 2005-07-21 03:09:33 +00:00
Glenn Maynard fe240ddcd9 it's typically not useful to leave the cursor where it was when exiting play/record, so restore the cursor position. (do leave the cursor where it is when exiting play mode explicitly) 2005-07-21 02:44:53 +00:00
Glenn Maynard d4afd9c47c fix range check (do it after quantizing) 2005-07-21 02:22:07 +00:00
Glenn Maynard a858eca8b0 edit state has its own PlayerState; reset options here 2005-07-21 01:59:13 +00:00
Glenn Maynard 792ae76f4c edit state has its own PlayerState; reset attacks here 2005-07-21 01:56:49 +00:00
Glenn Maynard b36673fc9a fix g_CourseMode 2005-07-21 01:52:01 +00:00
Glenn Maynard f183e5efda highlight the section being recorded; this makes it clear why you can't insert notes during the lead-in and shows when the region will end 2005-07-21 01:22:10 +00:00
Glenn Maynard 8696548ac6 copy data from the range given (which may not be the same as the selection) 2005-07-21 01:19:48 +00:00
Glenn Maynard ec43e2efb9 Don't extend hold notes outside of the range. Extend record slightly if a button is being held, to allow placing hold notes near the end of the region. 2005-07-21 01:17:51 +00:00
Glenn Maynard c316b4ec7e move m_PlayerStateEdit init nearer to where it's used 2005-07-21 01:06:53 +00:00
Glenn Maynard f0e4bff570 avoid accessing m_PlayerStateEdit directly 2005-07-21 01:04:54 +00:00
Glenn Maynard 7570946554 add GetPlayerState 2005-07-21 01:02:21 +00:00
Glenn Maynard 2438865137 snap to where we started playing if we exit play/record by finishing the region (not jumping to the possibly irrelevant selection) 2005-07-21 00:44:18 +00:00
Glenn Maynard b54bbafa1f cleanup 2005-07-20 22:22:43 +00:00
Glenn Maynard 768409d479 simplify 2005-07-20 22:19:14 +00:00
Glenn Maynard 1f75787d48 static 2005-07-20 19:19:14 +00:00
Glenn Maynard a43388d2ba remove unused random banner code 2005-07-20 10:12:47 +00:00