Commit Graph

93 Commits

Author SHA1 Message Date
Chris Danford bb10c7c21f pass around InputEventPlus in Screen::Input instead of multiple input structures 2005-09-05 02:26:50 +00:00
Glenn Maynard d0c14b9187 pull out RunConcurrentlyPrepareScreen 2005-08-15 15:19:34 +00:00
Glenn Maynard 4bcf9fcbfd Calling SetNewScreen when not the top screen on the stack only replaces the
top screen.  This allows a screen to push a helper screen, which can then
enter an entirely separate set of helper screens before one pops back.
(For example, a screen could push ScreenServiceOptions to enter the options
menu, which then replaces itself with the various options menus, and finally
pops back to the original screen when the player backs out entirely.)  (Some
support is still missing to allow non-special-case use of this; coming soon ...)

However, in rare cases we want to kill all screens on the stack, regardless
of how many there are (operator menu).  Fix that case.
2005-07-26 03:08:03 +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 b293a4490f ironing out preloading logic 2005-07-23 01:18:48 +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 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 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 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 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 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 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 a6cb2db9f2 implement ConcurrentlyPrepareScreen and IsConcurrentlyLoading 2005-07-13 06:44:44 +00:00
Glenn Maynard 3b54c385a4 remove unused m_vScreensToDelete 2005-07-07 08:18:29 +00:00
Glenn Maynard 39dc127095 delay PopTopScreen like SetNewScreen 2005-07-07 08:14:01 +00:00
Glenn Maynard d1cb4322fc pull out of the header 2005-07-07 04:48:07 +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 61e795c7ed cleanup 2005-07-03 06:09:03 +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 5bdae4fa35 cleanup 2005-07-03 03:44:05 +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 0d6c835e58 dep cleanup 2005-07-02 22:38:02 +00:00
Glenn Maynard 8364c20850 cleanup, make m_pSharedBGA private 2005-06-19 09:27:18 +00:00
Glenn Maynard a0dcb3dc81 simplify 2005-06-19 08:51:09 +00:00
Chris Danford c2a8150f16 add HideSystemMessage 2005-06-15 10:01:08 +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
Chris Danford 6adaa3f1a2 Add cancel transition for STextEntry
Validate new edit name is unique
2005-03-23 05:12:31 +00:00
Chris Danford ee4be22260 add input length cap
fix bogus s_bCancelled flag
2005-03-23 04:08:27 +00:00
Chris Danford 9cfa779956 remove code to play cancel sound and put the cancel sound in the transition 2005-03-20 08:23:08 +00:00
Chris Danford 48e6cb1a69 rename back -> cancel because "back" conflicts with "background" 2005-03-20 06:14:41 +00:00
Glenn Maynard c829318686 remove GrabInputFocus and ReleaseInputFocus 2005-03-09 01:35:31 +00:00
Chris Danford 2d93802641 add Yes/No/Cancel prompt for exiting ScreenEdit 2005-03-08 04:02:25 +00:00
Glenn Maynard 2404ff1641 generic screen popping: pop if pushed, instead of NEXT_SCREEN 2005-03-08 03:52:18 +00:00
Chris Danford faa11c580b fix skip on page change 2005-02-28 07:17:10 +00:00
Glenn Maynard 8f229918ee lua 2005-02-28 07:06:29 +00:00
Glenn Maynard 38b5955b52 allow overlay layers to grab focus 2005-02-28 05:33:24 +00:00
Glenn Maynard 1d854909c6 generalize overlay screens; ScreenSystemLayer is no longer a special
case
2005-02-28 05:22:53 +00:00
Glenn Maynard 93e8551066 generic m_SystemLayer 2005-02-28 05:12:10 +00:00
Glenn Maynard f9f5e0671c actor messages for system messages 2005-02-28 05:10:08 +00:00
Glenn Maynard fd6a03977d allow default.xml for backgrounds 2005-02-22 22:13:24 +00:00
Chris Danford 1de61aa8ae split AutoActor into a separate file 2005-02-09 05:27:51 +00:00
Chris Danford 33661c13d6 zero the next update after creating or deleting a screen so we don't skip 2005-02-05 22:11:15 +00:00
Chris Danford 12a5a25648 simplify
don't reload shared BGA on metrics/texture reload
2005-02-05 07:35:02 +00:00
Adam Lowman 914b8233ee New Pasword Input Screen and SMOnline Login 2005-01-26 08:50:09 +00:00
Chris Danford 9b457eb241 add aspect ratio pref 2004-12-23 06:50:19 +00:00