scene.h

Go to the documentation of this file.
00001 
00002 //            Copyright (C) 2004-2007 by The Allacrost Project
00003 //                         All Rights Reserved
00004 //
00005 // This code is licensed under the GNU GPL version 2. It is free software 
00006 // and you may modify it and/or redistribute it under the terms of this license.
00007 // See http://www.gnu.org/copyleft/gpl.html for details.
00009 
00010 /*!****************************************************************************
00011  * \file    scene.h
00012  * \author  Tyler Olsen, roots@allacrost.org
00013  * \brief   Header file for scene mode interface.
00014  *
00015  * This code handles the game event processing and frame drawing when the user
00016  * is in scene mode (when a full-screen art piece is drawn to the screen).
00017  * The user must wait a minimum amount of time, defined by the MIN_SCENE_UPDATES
00018  * constant, before the scene can be passed. This is to keep the user from
00019  * accidentally skipping over one of our beautiful artworks before they have
00020  * the chance to gawk at it in amazement. :)
00021  *****************************************************************************/
00022 
00023 #ifndef __SCENE_HEADER__
00024 #define __SCENE_HEADER__
00025 
00026 #include "utils.h"
00027 #include <string>
00028 #include "defs.h"
00029 #include "mode_manager.h"
00030 
00032 namespace hoa_scene {
00033 
00035 extern bool SCENE_DEBUG;
00036 
00038 namespace private_scene {
00039 
00041 const uint32 MIN_SCENE_UPDATES = 750;
00042 
00043 } // namespace private_scene
00044  
00045 /*!****************************************************************************
00046  * \brief Handles everything that needs to be done when full-screen artwork is displayed.
00047  *
00048  * This game mode displays a single full-screen art scene, which are used in
00049  * various places in the game. The scene can not be exited until the amount 
00050  * of milliseconds defined in MIN_SCENE_UPDATES has expired, to ensure that
00051  * the user does not accidentally skip the scene and can take the time to
00052  * appreciate the art.
00053  *****************************************************************************/
00054 class SceneMode : public hoa_mode_manager::GameMode {
00055 private:
00057   uint32 _scene_timer;
00058 
00059   //hoa_video::StillImage scene;
00060 public:
00061   SceneMode();
00062   ~SceneMode();
00063 
00065   void Reset();
00067   void Update();
00069   void Draw();
00070 }; // class SceneMode
00071 
00072 } // namespace hoa_scene
00073 
00074 #endif

Generated on Fri Jul 6 23:11:21 2007 for Hero of Allacrost by  doxygen 1.5.1