source: trunk/test/btphystest.h @ 2889

Last change on this file since 2889 was 2889, checked in by touky, 6 years ago

btphystest : cat movement update

  • Property svn:eol-style set to LF
File size: 2.2 KB
Line 
1//
2// BtPhysTest
3//
4// Copyright: (c) 2009-2013 Benjamin "Touky" Huet <huet.benjamin@gmail.com>
5//            (c) 2012 Sam Hocevar <sam@hocevar.net>
6//
7
8#if !defined __BTPHYSTEST_H__
9#define __BTPHYSTEST_H__
10
11class CatShaderData : public GpuShaderData
12{
13    friend class CRenderer;
14
15public:
16    //---
17    CatShaderData(uint32_t vert_decl_flags, Shader* shader);
18    //---
19    void SetupDefaultData();
20    virtual void SetupShaderDatas(mat4 const &model);
21    //--
22    virtual lol::String GetInVertexName()   { return lol::String("in_vertex");   }
23    virtual lol::String GetInNormalName()   { return lol::String("in_normal");   }
24    virtual lol::String GetInColorName()    { return lol::String("in_color");    }
25    virtual lol::String GetInTexCoordName() { return lol::String("in_texcoord"); }
26
27    ShaderTexture   m_shader_texture;
28    float           m_sprite_orientation;
29    float           m_sprite_flip;
30};
31
32class BtPhysTest : public WorldEntity
33{
34public:
35    BtPhysTest(bool editor = false);
36    virtual ~BtPhysTest();
37
38    char const *GetName() { return "<BtPhysTest>"; }
39
40protected:
41    virtual void TickGame(float seconds);
42    virtual void TickDraw(float seconds);
43
44private:
45    enum
46    {
47        KEY_MOVE_FORWARD,
48        KEY_MOVE_BACK,
49        KEY_MOVE_LEFT,
50        KEY_MOVE_RIGHT,
51        KEY_MOVE_UP,
52        KEY_MOVE_DOWN,
53        KEY_MOVE_JUMP,
54        KEY_QUIT,
55        KEY_MAX,
56    };
57
58    TileSet*                        m_cat_texture;
59    Shader*                         m_cat_shader;
60    CatShaderData*                  m_cat_sdata;
61    Camera*                         m_camera;
62    Controller *                    m_controller;
63    Light *                         m_light1;
64    Light *                         m_light2;
65    bool                            m_ready;
66
67    lol::phys::Simulation*          m_simulation;
68    Array<EasyConstraint*>          m_constraint_list;
69    Array<PhysicsObject*, float>    m_physobj_list;
70    Array<PhysicsObject*>           m_ground_list;
71    Array<PhysicsObject*>           m_platform_list;
72    Array<PhysicsObject*>           m_character_list;
73    Array<PhysicsObject*>           m_stairs_list;
74
75    float                           m_loop_value;
76};
77
78#endif // __BTPHYSTEST_H__
79
Note: See TracBrowser for help on using the repository browser.