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
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
a305c072c0
cleanup
2005-07-19 06:20:18 +00:00
Glenn Maynard
5856678140
forgotton commit
2005-07-18 19:30:36 +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
835b688529
call BeginScreen() on push
2005-07-15 01:17:34 +00:00
Glenn Maynard
fcbe7b1bd7
rename SetFromNewScreen -> PushScreen (it doesn't touch existing screens)
...
allow pushing screens without having them deleted on pop
2005-07-14 21:42:52 +00:00
Glenn Maynard
e1dae4bf04
dumb fix
2005-07-13 06:49:30 +00:00
Glenn Maynard
a6cb2db9f2
implement ConcurrentlyPrepareScreen and IsConcurrentlyLoading
2005-07-13 06:44:44 +00:00
Glenn Maynard
8256cf3b4c
call ProcessMessages
2005-07-12 03:12:18 +00:00
Glenn Maynard
35b0dd09cb
add lost DiagnosticOutput
2005-07-07 08:20:18 +00:00
Glenn Maynard
3b54c385a4
remove unused m_vScreensToDelete
2005-07-07 08:18:29 +00:00
Glenn Maynard
28b596efa6
no need to delay deletes in ClearScreenStack; the screen is never on the stack
2005-07-07 08:16:49 +00:00
Glenn Maynard
39dc127095
delay PopTopScreen like SetNewScreen
2005-07-07 08:14:01 +00:00
Glenn Maynard
c027ab03d4
EmptyDeleteQueue: deleting a screen should not cause a skip; if it does, please document why
2005-07-07 06:20:22 +00:00
Glenn Maynard
12b81cdaeb
EmptyDeleteQueue: deleting a screen should not cause a skip; if it does, please document why
2005-07-07 06:18:17 +00:00
Glenn Maynard
44c62c0ab4
another dupe: LoadDelayedScreen calls MakeNewScreen (and if it doesn't, no need to zero)
2005-07-07 05:02:26 +00:00
Glenn Maynard
bad1e4ae90
another dupe: AddNewScreenToTop calls MakeNewScreen
2005-07-07 05:00:12 +00:00
Glenn Maynard
4feeb44f4c
another dupe: PrepareScreen calls MakeNewScreen
2005-07-07 04:54:11 +00:00
Glenn Maynard
2e225117c3
both MakeNewScreenInternal and MakeNewScreen call ZeroNextUpdate, and MakeNewScreen calls MakeNewScreenInternal anyway
2005-07-07 04:52:27 +00:00
Glenn Maynard
7f94f08336
call ZeroNextUpdate
2005-07-07 04:50:00 +00:00
Glenn Maynard
d1cb4322fc
pull out of the header
2005-07-07 04:48:07 +00:00
Glenn Maynard
378295df84
un-revert commit that works just fine for me, and was reverted with no
...
attempt to explain what broke.
Ben, every remark and commit from you is rude and derisive, and this
project doesn't need that. You've expended my patience. If you refuse
to be civil, leave.
2005-07-07 01:32:15 +00:00
Ben Anderson
29d2057e94
Revert: don't break half the codebase and then commit. At least fix it to a relatively usable point before making such a devastating assertion.
2005-07-06 23:55:48 +00:00
Glenn Maynard
d6c14eac6f
If a screen is already prepared, don't reload it in PrepareScreen.
...
Prepare backgrounds, too.
Disallow calling SetNewScreen from a screen ctor/Init; it complicates things.
When loading a new screen (through LoadDelayedScreen), load the
screen with PrepareScreen, to reduce code paths.
2005-07-03 06:13:30 +00:00
Glenn Maynard
a858910ad1
cleanup
2005-07-03 04:54:37 +00:00
Glenn Maynard
1ae5083fba
remove ScreenManager::MiniMenu
2005-07-03 04:52:15 +00:00
Glenn Maynard
e7ef5539d0
remove
2005-07-03 04:46:39 +00:00
Glenn Maynard
0e09a3fb3d
ScreenPrompt::Prompt, cleaning up ScreenManager
2005-07-03 04:33:22 +00:00
Glenn Maynard
b0a079c777
"Send this before making the new screen, since it might set things that will be
...
re-set in the new screen's ctor." Don't do that--don't assume that the old
LoseFocus will be called before the ctor or Init. If you're doing something that
interacts with state changed by focus, do it in the first update, when you're
guaranteed to have focus. Make no guarantees about who has focus when
a new screen is constructed; only that LoseFocus will be sent before GainFocus,
and GainFocus before the first update.
2005-07-03 04:24:57 +00:00
Glenn Maynard
a49aecd774
pull ScreenPrompt init into a separate function, so it's slightly less of a special
...
case; maybe this class's instances can be made reusable ...
2005-07-03 03:49:19 +00:00
Glenn Maynard
abac95a1b7
store the path in the actor's name, so we can treat backgrounds like loaded
...
screens
2005-07-02 22:44:56 +00:00
Glenn Maynard
c587f12d65
Don't construct overlay screens in ScreenManager ctor. We havn't reset
...
GAMESTATE by then, so much of it is uninitialized, and we should not load
screens until that's done. (fixes valgrind warning due to IsEventMode()
being called from SSystemLayer)
2005-06-23 00:30:02 +00:00
Glenn Maynard
6ac3eff751
missed commit
2005-06-20 09:49:07 +00:00
Glenn Maynard
28fc7bcdad
fix "save prefs when exiting system menu"; when DelayedScreenLoad,
...
bWasOnSystemMenu was always false, because the screen was already
deleted
2005-06-19 09:40:16 +00:00
Glenn Maynard
8b8c4ceb45
simplify further
2005-06-19 09:20:30 +00:00
Glenn Maynard
a9f0a2158a
DeleteCachedTextures is already called at the end of EmptyDeleteQueue
2005-06-19 09:15:54 +00:00
Glenn Maynard
bfc49737fe
cleanup
2005-06-19 08:56:45 +00:00
Glenn Maynard
a0dcb3dc81
simplify
2005-06-19 08:51:09 +00:00
Glenn Maynard
f11a2ce17e
fix "called SetNewScreen again" case; simplify (only one path now)
2005-06-19 08:48:42 +00:00
Glenn Maynard
63cc873fc9
Simplify delayed/undelayed screen load path. Previously, the "delayed"
...
path would return immediately in SetNewScreen, loading in the next update,
and the "undelayed" path would load under SetNewScreen. Instead, always
load on the next update, and just change the behavior (with "delayed" deleting
the old screen first). These two code paths are both criticial, and they were
too different, leading to inconsistent behavior; this way is simpler.
2005-06-19 08:35:12 +00:00
Chris Danford
c2a8150f16
add HideSystemMessage
2005-06-15 10:01:08 +00:00
Glenn Maynard
d1241420d6
clean up singleton registration: if you were given an L, use it
2005-06-15 02:21:24 +00:00
Glenn Maynard
e374f7722f
fix wrong credits messages showing
2005-05-21 07:15:41 +00:00
Chris Danford
d67d60e178
sync controls cleanup:
...
move sync display/saving out of complicated ScreenGameplay
show sync UI in editor playback as well as gameplay
revert sync from in-memory backup, not from disk
move more functions into debug overlay
2005-05-19 23:29:39 +00:00
Chris Danford
198dbbd6c9
add Lua method
2005-05-18 04:44:15 +00:00
Glenn Maynard
38bbd07fe0
add GetTopScreen
2005-04-15 07:00:21 +00:00
Chris Danford
659def4479
fix Pop message doesn't get sent if more than 1 prompt screen on the stack
2005-03-23 06:46:24 +00:00