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
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
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
c617484b13
fix log
2005-07-21 05:44:51 +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
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
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