source: trunk/test/btphystest.h @ 2879

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

btPhysTest : Added a new test mode called "CAT_MODE". Try it out at your own risks.

  • Property svn:eol-style set to LF
File size: 2.1 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};
29
30class BtPhysTest : public WorldEntity
31{
32public:
33    BtPhysTest(bool editor = false);
34    virtual ~BtPhysTest();
35
36    char const *GetName() { return "<BtPhysTest>"; }
37
38protected:
39    virtual void TickGame(float seconds);
40    virtual void TickDraw(float seconds);
41
42private:
43    enum
44    {
45        KEY_MOVE_FORWARD,
46        KEY_MOVE_BACK,
47        KEY_MOVE_LEFT,
48        KEY_MOVE_RIGHT,
49        KEY_MOVE_UP,
50        KEY_MOVE_DOWN,
51        KEY_MOVE_JUMP,
52        KEY_QUIT,
53        KEY_MAX,
54    };
55
56    TileSet*                        m_cat_texture;
57    Shader*                         m_cat_shader;
58    CatShaderData*                  m_cat_sdata;
59    Camera*                         m_camera;
60    Controller *                    m_controller;
61    Light *                         m_light1;
62    Light *                         m_light2;
63    bool                            m_ready;
64
65    lol::phys::Simulation*          m_simulation;
66    Array<EasyConstraint*>          m_constraint_list;
67    Array<PhysicsObject*, float>    m_physobj_list;
68    Array<PhysicsObject*>           m_ground_list;
69    Array<PhysicsObject*>           m_platform_list;
70    Array<PhysicsObject*>           m_character_list;
71    Array<PhysicsObject*>           m_stairs_list;
72
73    float                           m_loop_value;
74};
75
76#endif // __BTPHYSTEST_H__
77
Note: See TracBrowser for help on using the repository browser.