]> Dogcows Code - chaz/yoink/blobdiff - src/GameLayer.hh
resource loading bugs and new sound class
[chaz/yoink] / src / GameLayer.hh
index b2df7ef11f3aa3433612fc17ed0fec8b86400152..f2a70f97f43e0bbe1ca28f9ec395f769cc368013 100644 (file)
@@ -1,30 +1,13 @@
 
-/*******************************************************************************
-
- Copyright (c) 2009, Charles McGarvey
- All rights reserved.
- Redistribution   and   use  in  source  and  binary  forms,  with  or  without
- modification, are permitted provided that the following conditions are met:
-   * Redistributions  of  source  code  must retain the above copyright notice,
-     this list of conditions and the following disclaimer.
-   * Redistributions  in binary form must reproduce the above copyright notice,
-     this  list of conditions and the following disclaimer in the documentation
-     and/or other materials provided with the distribution.
- THIS  SOFTWARE  IS  PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND  ANY  EXPRESS  OR  IMPLIED  WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- DISCLAIMED.  IN  NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
- FOR  ANY  DIRECT,  INDIRECT,  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES  (INCLUDING,  BUT  NOT  LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- SERVICES;  LOSS  OF  USE,  DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- CAUSED  AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- OR  TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-*******************************************************************************/
+/*]  Copyright (c) 2009-2010, Charles McGarvey  [**************************
+**]  All rights reserved.
+*
+* vi:ts=4 sw=4 tw=75
+*
+* Distributable under the terms and conditions of the 2-clause BSD license;
+* see the file COPYING for a complete text of the license.
+*
+**************************************************************************/
 
 #ifndef _GAMELAYER_HH_
 #define _GAMELAYER_HH_
 
 #include <iostream>
 #include <string>
+#include <vector>
 
 #include <boost/shared_ptr.hpp>
 
-#include <Moof/Camera.hh>
-#include <Moof/Dispatcher.hh>
-#include <Moof/Interpolator.hh>
-#include <Moof/Layer.hh>
-#include <Moof/Math.hh>
-#include <Moof/Scene.hh>
-#include <Moof/Sound.hh>
+#include <moof/math.hh>
+#include <moof/sound.hh>
 
-#include "Character.hh"
+#include <moof/line.hh>                // TODO
+#include <moof/plane.hh>
+#include <moof/ray.hh>
+#include <moof/sphere.hh>
+#include <moof/timer.hh>
+#include <moof/view.hh>
+
+#include "GameState.hh"
 #include "Hud.hh"
 
 
 class GameLayer;
 typedef boost::shared_ptr<GameLayer> GameLayerP;
 
-class GameLayer : public Mf::Layer
+class GameLayer : public moof::view
 {
 public:
-       GameLayer();
 
        static GameLayerP alloc()
        {
                return GameLayerP(new GameLayer);
        }
+       GameLayer();
+
+       void did_add_to_view();
 
-       void pushed(Mf::Engine& engine);
-       void update(Mf::Scalar t, Mf::Scalar dt);
-       void draw(Mf::Scalar alpha) const;
-       bool handleEvent(const Mf::Event& event);
+       void update(moof::scalar t, moof::scalar dt);
+       void draw(moof::scalar alpha) const;
+       bool handle_event(const moof::event& event);
 
 private:
 
-       Mf::Sound music;
+       void loadSceneLoader();
+       void advanceScene(moof::settings& settings);
 
-       CharacterP heroine;
-       Mf::Sound punchSound;
+       void thinkTimer();
 
-       Mf::PolynomialInterpolator<5> interp;
-       Mf::Lerp fadeIn;
+       void projection();
+       void projection(moof::scalar width, moof::scalar height);
 
-       Mf::Camera camera;
-       Mf::OctreeP octree;
+       GameState               state_;
+       moof::timer             mThinkTimer;
 
-       HudP hud;
+       HudP                    mHud;
+
+       //moof::sound_stream    mMusic;
+       moof::sound     punch_sound_;
+       
+       moof::sound             music_;
+
+       moof::ray2              mRay;
+       moof::line2             mLine;
+       moof::circle    mCircle;
+
+       moof::timer             mRayTimer;
+       void rayTimer();
 };
 
 
 #endif // _GAMELAYER_HH_
 
-/** vim: set ts=4 sw=4 tw=80: *************************************************/
-
This page took 0.023609 seconds and 4 git commands to generate.