Commit Graph
100 Commits
Author SHA1 Message Date
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
Glenn Maynard 7d6d8eb98a cleanup 2005-07-20 10:07:43 +00:00
Glenn Maynard 09e64b25b6 cleanup 2005-07-20 09:57:42 +00:00
Glenn Maynard ea3e2ba6f9 remove Screen.h dep on ScreenManager.h. (this looked more useful before pulling in the higher-level includes, but still seems like the right thing to do) 2005-07-20 09:49:46 +00:00
Glenn Maynard 6ac51af9c2 header 2005-07-20 09:48:19 +00:00
Glenn Maynard e78efb0b9d cleanup 2005-07-20 09:38:10 +00:00
Glenn Maynard 226ba99406 remove obsolete comment 2005-07-20 09:29:41 +00:00
Glenn Maynard b81fdd8e4e allow redo
allow undo through revert
2005-07-20 06:47:30 +00:00
Glenn Maynard 9cf604c036 support laying mines and rolls in record mode (will need to overlap records
several times to lay both mines and taps in the same spot)
2005-07-20 05:45:16 +00:00
Glenn Maynard 34383cc05b g_ -> m_ 2005-07-20 05:38:12 +00:00
Glenn Maynard 7e59b56deb when recording in a range, don't change the steps outside of the range 2005-07-20 05:35:10 +00:00
Glenn Maynard cc1d203afe Give time-based lead-in for record, like play, not a whole measure (and merge
code).

Only pad the end position by a measure when playing the whole song, not
when playing a selection.

Don't pad when recording.  It'll jump to the end position, anyway.

Don't mess up the user's selection range when using play from
start/play from cursor.
2005-07-20 05:26:27 +00:00
Glenn Maynard c617d0c50b move common state change code into TransitionEditState and merge
duplicate code to start the sound
2005-07-20 05:07:07 +00:00
Glenn Maynard db22dcf5e0 common code 2005-07-20 05:02:56 +00:00
Glenn Maynard 611ae2449d g_iShiftAnchor -> m_iShiftAnchor 2005-07-20 04:50:06 +00:00
Glenn Maynard 4d2e2cd3c1 simplify: we only need to set m_NoteDataRecord; calling NoteField::Load
again is not necessary
2005-07-20 04:48:26 +00:00
Glenn Maynard 1a15361464 simplify 2005-07-20 03:10:15 +00:00
Glenn Maynard 21fe0c4fb2 unneeded 2005-07-20 03:08:19 +00:00
Glenn Maynard f0e2ff35fc fix chopped-off record; remove redundant m_NoteFieldRecord.Load call 2005-07-20 03:01:58 +00:00
Glenn Maynard e32ed655c9 cleanups 2005-07-20 02:40:20 +00:00
Glenn Maynard 3f05193193 remove edit_bg_change menu options. Use b/shift-b. (removes crash
due to uninitialized g_CurrentBGChangeLayer)
2005-07-20 01:57:53 +00:00
Glenn Maynard 6734b1df8c fix updating g_BackgroundChange 2005-07-20 01:31:07 +00:00
Glenn Maynard 219461a3f1 ScreenPlayerOptionsEdit -> ScreenEditOptions 2005-07-20 00:40:01 +00:00
Glenn Maynard 913b9c52a2 player options -> options 2005-07-20 00:30:19 +00:00
Glenn Maynard ff4188032d remove "preferences"; do this all in one menu (too many menus) 2005-07-20 00:26:16 +00:00
Glenn Maynard 40fc9621da show EditorShowBGChangesPlay in the same options menu 2005-07-20 00:23:05 +00:00
Glenn Maynard d9fdbe6a6b bind EditorShowBGChangesPlay 2005-07-20 00:17:14 +00:00