Commit Graph

314 Commits

Author SHA1 Message Date
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
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