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
Glenn Maynard
71c765ba66
warnings
2005-07-19 00:55:02 +00:00
Glenn Maynard
c23d0ae90e
fix warning
2005-07-19 00:51:54 +00:00
Glenn Maynard
e1fdd56297
not virtual
2005-07-19 00:46:48 +00:00
Glenn Maynard
a5bed04ed3
Copy()
2005-07-19 00:18:32 +00:00
Glenn Maynard
2f8f782c47
use Copy()
2005-07-18 23:01:06 +00:00
Glenn Maynard
47489964d2
copy children if m_bDeleteChildren; this allows copying ActorFrames, including
...
ones loaded from XML
2005-07-18 22:59:34 +00:00
Glenn Maynard
ab07232a8b
undo unintentional behavior change; comment it for next time
2005-07-18 22:58:06 +00:00
Glenn Maynard
55d6382c49
add virtual Copy() to Actor
2005-07-18 22:00:19 +00:00
Glenn Maynard
d7c7780f65
ShowUnderlines=1
2005-07-18 21:41:07 +00:00
Glenn Maynard
576a82f895
metrics
2005-07-18 21:26:16 +00:00
Glenn Maynard
5bf4e9323f
don't set up actors that we're not using; we create lots of OptionRows
2005-07-18 21:25:07 +00:00
Glenn Maynard
cece1f837c
don't set up actors that we're not using; we create lots of OptionRows
2005-07-18 21:03:43 +00:00
Glenn Maynard
d34a45252c
fix accessing unloaded m_MenuTimer
2005-07-18 20:42:13 +00:00
Glenn Maynard
f7af079f63
noisy
2005-07-18 19:49:46 +00:00
Glenn Maynard
5856678140
forgotton commit
2005-07-18 19:30:36 +00:00
Glenn Maynard
9ef48d4a48
reuse preloaded sounds
2005-07-18 19:09:31 +00:00
Glenn Maynard
2493236cea
add reference counting for preloaded sounds
...
This doesn't give full refcounting: loading a sound that isn't preloaded
will still go through a full load (eg. initting Vorbis, etc). This handles the
most expensive case, where the whole sound is loaded. This case is
easy because we can make free copies, and track the number of copies
remaining to handle cleanup.
2005-07-18 19:08:28 +00:00
Glenn Maynard
c3ff27796a
add GetReferenceCount
2005-07-18 19:06:32 +00:00
Glenn Maynard
c76799ffa0
do slow loads in ScreenOptions::Init, not ScreenOptions::InitMenu
2005-07-18 03:42:10 +00:00
Glenn Maynard
e2086bcb5b
import options in ScreenOptions::BeginScreen, not ScreenOptions::InitMenu, so
...
we'll re-import if the screen is re-pushed
2005-07-18 03:41:15 +00:00
Glenn Maynard
a087e02054
cleanup
2005-07-18 03:16:18 +00:00
Glenn Maynard
6d89d0325c
cleanup
2005-07-18 02:47:16 +00:00
Glenn Maynard
cc00fbb7ef
simplify
2005-07-18 02:45:40 +00:00
Glenn Maynard
a37a18aada
unneeded
2005-07-18 02:42:26 +00:00
Glenn Maynard
15558d4cac
cleanup: don't need a special case for this anymore
2005-07-18 02:39:51 +00:00
Glenn Maynard
93f9d0e3e5
cleanup
2005-07-18 02:36:03 +00:00
Glenn Maynard
5161a06e08
simplify
2005-07-18 02:31:51 +00:00
Glenn Maynard
5ee52b0db5
The screen that pushes a screen sets the pop message, not the pushed screen.
...
This pushing screens without them needing to be aware of it. (This will also allow
a pushed screen to replace itself with another pushed screen without having to
propagate the finalization message across; that'll make more sense if the rest of
this pans out ...)
2005-07-18 02:28:16 +00:00
Glenn Maynard
d2e4190a4e
explicit load for MenuTimer, so we don't load anything if we don't want it
2005-07-18 02:08:15 +00:00
Glenn Maynard
18910dd754
cleanup
2005-07-16 10:17:10 +00:00
Glenn Maynard
0fcda13da1
temp fix for double-free
2005-07-16 10:16:23 +00:00
Glenn Maynard
d8bf6df4aa
move metrics into OptionRowType, too
2005-07-16 03:23:53 +00:00