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
Glenn Maynard
32fefd9073
This isn't actually a ScreenPlayerOptions. ScreenPlayerOptions is only compatible
...
with player options, and is only used to handle a few special cases needed in gameplay.
This is just a ScreenOptionsMaster (which won't get confused if non-player options
are used).
2005-07-20 00:15:44 +00:00
Glenn Maynard
7a19b153a3
remove song_options
2005-07-20 00:07:33 +00:00
Glenn Maynard
9464c41f9a
separate options for ScreenPlayerOptionsEdit; include useful SongOptions,
...
too
2005-07-20 00:05:29 +00:00
Glenn Maynard
39d42a9db4
Use SCREENMAN->MakeNewScreen, so we obey the class of the
...
loaded screen. We don't require anything special of it.
2005-07-19 23:58:51 +00:00
Glenn Maynard
e996181415
make MakeNewScreen public
2005-07-19 23:51:45 +00:00
Glenn Maynard
cc827025ea
merge MakeNewScreenInternal and MakeNewScreen
2005-07-19 23:49:39 +00:00
Glenn Maynard
509055d9f7
SONGMAN->Cleanup only in the Prepare code path. There's no point to doing it in the AddNewScreenToTop path.
2005-07-19 23:30:24 +00:00
Glenn Maynard
de950a3190
We call ZeroNextUpdate when we know we have a frame skip, and we're deliberately masking it by clamping the first update. Reset FPS stats when we do that, not after creating a screen (which might be concurrent).
2005-07-19 23:22:50 +00:00
Glenn Maynard
dcc3e1e588
Don't reset HandleSongTimer here; we might still be in the middle of the previous screen. Do this in SM_LoseFocus.
2005-07-19 22:58:31 +00:00
Glenn Maynard
635b6e805a
cleanup
2005-07-19 22:47:49 +00:00
Glenn Maynard
f7e6c71a43
preload most editor menus
2005-07-19 21:43:12 +00:00
Glenn Maynard
2aecc20155
don't call Init from LoadMenu; split out SetOKMessage, SetCancelMessage to allow reusing screen without using LoadMenu (which is cheap but not free)
2005-07-19 21:39:25 +00:00
Glenn Maynard
798c100457
Init -> LoadMenu, to maintain the normal virtual Init(), and allow calling LoadMenu again without reloading the whole screen
2005-07-19 21:35:38 +00:00
Glenn Maynard
c84ff55345
remove m_Background; use underlay
2005-07-19 21:12:01 +00:00
Glenn Maynard
fb1e7325b2
background -> underlay
2005-07-19 21:09:30 +00:00
Glenn Maynard
845c857962
ScreenMiniMenu::BeginScreen
2005-07-19 21:05:57 +00:00
Glenn Maynard
a10e6f3d36
handle re-calling InitMenu (fairly cheaply)
2005-07-19 21:03:56 +00:00
Glenn Maynard
019000a40e
remove m_bIsTransparent
2005-07-19 21:01:50 +00:00
Glenn Maynard
61bf554727
remove IsTransparent. Since we have a separate background layer now, every screen is transparent.
2005-07-19 20:59:15 +00:00
Glenn Maynard
38566406ec
typo
2005-07-19 18:58:12 +00:00
Glenn Maynard
9fb747a820
simplify
2005-07-19 18:56:50 +00:00
Glenn Maynard
f9e40278dd
fix uninitialized
2005-07-19 08:52:36 +00:00
Glenn Maynard
2dd114942b
cleanup
2005-07-19 08:36:02 +00:00
Glenn Maynard
56fa4fe4b2
Don't create a TempState for every actor. If we use it, we always use it
...
right away, inside DrawPrimitives(). This cuts down the size of Actor by
about 25%.
2005-07-19 07:54:32 +00:00
Glenn Maynard
df19b084fd
sanity check (m_pTempState points somewhere in the other actor)
2005-07-19 07:52:11 +00:00
Glenn Maynard
2e05545ec7
fix memleak
2005-07-19 07:46:45 +00:00
Glenn Maynard
8f8f8d7782
compile fix
2005-07-19 06:54:49 +00:00
Glenn Maynard
bd26915d01
don't use deque here; too big for Actor
...
(not a performance issue; we don't queue up tons of messages. only use
deque when you really need constant time access to the beginning, eg.
for large objects, since deque has both memory overhead and is much
slower than vector for access to the end of the list, since it can't reserve like
vector can)
2005-07-19 06:34:00 +00:00
Glenn Maynard
c05cf4806a
yuck. implement copy ctor to copy tweening queue
2005-07-19 06:21:10 +00:00
Glenn Maynard
a305c072c0
cleanup
2005-07-19 06:20:18 +00:00
Glenn Maynard
c4495e3900
Don't use deque in Actor; it allocates too much. Store pointers; moving
...
pointers around is cheap enough.
2005-07-19 05:56:36 +00:00
Glenn Maynard
1783fe71ef
simplify
2005-07-19 03:15:24 +00:00
Glenn Maynard
daf3688409
We don't actually care that GetMicrosecondsSinceStart returns a time since
...
start; only that it's self-consistent. If we want time since start, we
can record it ourself instead of making platform-specific code do it, and
only GetTimeSinceStart needs to do that, not RageTimers.
2005-07-19 03:09:20 +00:00