Commit Graph

338 Commits

Author SHA1 Message Date
Glenn Maynard 0017b79116 move DelayedScreenLoad 2006-01-31 05:33:58 +00:00
Glenn Maynard 7dbb26ca3f remove unused PushScreen
hide MakeNewScreen
2006-01-30 09:15:40 +00:00
Glenn Maynard e8c45e19c6 simplify 2006-01-25 06:25:11 +00:00
Glenn Maynard f85136f2a8 fix up and simplify prepared screen logic 2006-01-25 06:24:22 +00:00
Glenn Maynard 0f113604b4 cleanup 2006-01-25 06:23:06 +00:00
Glenn Maynard 8afaed1ce0 cleanup 2006-01-25 06:19:29 +00:00
Glenn Maynard 09f84e916a compile fix 2006-01-25 05:54:32 +00:00
Glenn Maynard 21bc8586cd split out ScreenManager::ActivatePreparedScreenAndBackground (no real logic change) 2006-01-25 05:49:49 +00:00
Glenn Maynard 89b64ca257 do PushLoadedScreen earlier 2006-01-25 05:47:22 +00:00
Glenn Maynard a4c8b8d91d cleanup (remove old transition note) 2006-01-25 05:38:14 +00:00
Glenn Maynard 70f9566313 bind ConcurrentlyPrepareScreen 2006-01-25 05:10:40 +00:00
Glenn Maynard 86aebecbdb namespace 2006-01-24 03:53:17 +00:00
Chris Danford 7f821e8cfc CString -> RString 2006-01-22 01:00:06 +00:00
Chris Danford 1e8ccdeda4 spacing cleanup 2006-01-22 00:13:27 +00:00
Glenn Maynard 4593124978 seems clearer this way 2006-01-17 01:49:18 +00:00
Glenn Maynard 3a63f5b7ef as well as during load, set LoadingScreen during BeginScreen.
Scripts can already use GetTopScreen to get this.  However, that function
also returns data that may not be what's wanted.  For example, commands
can be run on screens that aren't on top (eg. via broadcasts).  So, using
GetTopScreen as a fallback for LoadingScreen may cause latent bugs;
screens should behave properly even when they're not on top, even if
they're using queued broadcasts to kick off animations, etc.
2006-01-14 05:32:54 +00:00
Glenn Maynard a462b2a640 fix screens not being unloaded correctly when not DelayedScreenLoad 2006-01-11 00:59:38 +00:00
Glenn Maynard e16a396868 split out GrabPreparedActors 2006-01-11 00:54:45 +00:00
Glenn Maynard a9020229ee fix screen preloading when DelayedScreenLoad 2006-01-10 00:15:53 +00:00
Glenn Maynard f10898b806 Oops. We started setting the theme's expected coordinate space
in Screen, by calling SetFOV to make ActorFrame do LoadMenuPerspective.
That broke screen backgrounds, which are rendered outside of any
screen, so they always used 640x480 (the default).
2006-01-01 03:47:02 +00:00
Steve Checkoway ada5f4f00f Use ASSERT like a function. 2005-12-30 13:19:40 +00:00
Glenn Maynard 61c5ab9cb1 unued 2005-12-30 04:22:04 +00:00
Chris Danford 5d7885c764 move game prefs into PrefsManager 2005-10-27 04:54:45 +00:00
Glenn Maynard f413d3e412 If a screen has no BG, we create a blank Actor without looking at g_vPreparedBackgrounds.
Don't put them on there when we're done; they'll never be reused.
2005-10-25 12:42:32 +00:00
Chris Danford ced0a0c6e9 fix transition sounds playing when attract sounds are off 2005-10-13 22:07:40 +00:00
Glenn Maynard e7caafa45c Fix screens occasionally being loaded twice. 2005-10-13 05:18:45 +00:00
Glenn Maynard c21b8ad7a9 simplify (prep for a fix) 2005-10-13 05:10:52 +00:00
Glenn Maynard 57153b6c6c All of these should be played during silent attract (except for Invalid). Remove
volume setting (that was the same as m_bIsCriticalSound).
2005-10-04 07:47:15 +00:00
Chris Danford 15880eafd6 When in attract and not playing attract sounds, have SOUNDMAN only play sounds with RageSoundParams.m_bCriticalSound == true.
Currently, only the coin sound has RageSoundParams.m_bCriticalSound = true.
2005-10-04 06:51:06 +00:00
Chris Danford 65d71a4f23 expermienting with DEFINE_METHOD macro for Lua methods 2005-09-10 02:47:04 +00:00
Chris Danford bb10c7c21f pass around InputEventPlus in Screen::Input instead of multiple input structures 2005-09-05 02:26:50 +00:00
Glenn Maynard 2d0ad05ebf comment 2005-08-29 00:47:45 +00:00
Glenn Maynard 4b17b13683 Log texture diags when loading a screen, not when pushing, so we don't cause a skip when pushing a prepared screen. 2005-08-25 18:12:23 +00:00
Glenn Maynard 65beab6826 short circuit on already prepared 2005-08-15 15:44:29 +00:00
Glenn Maynard d0c14b9187 pull out RunConcurrentlyPrepareScreen 2005-08-15 15:19:34 +00:00
Glenn Maynard 1fd5a40e92 log background loads 2005-07-29 04:08:33 +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 9cf25ad2b1 flush before deleting screens 2005-07-23 06:36:11 +00:00
Glenn Maynard 703c96a53a prefer to call ZeroNextUpdate before we spend the time that we want to zero,
not after
2005-07-23 06:30:22 +00:00
Glenn Maynard 91e367754a pull out ScreenIsPrepped 2005-07-23 03:31:43 +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 d38a2e9c33 ctor, comment, cleanup 2005-07-22 07:15:57 +00:00
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