Tiberian Technologies Scripts Reference Revision: 9000
Loading...
Searching...
No Matches
StaticAnimPhysClass.h
1/* Renegade Scripts.dll
2 Copyright 2013 Tiberian Technologies
3
4 This file is part of the Renegade scripts.dll
5 The Renegade scripts.dll is free software; you can redistribute it and/or modify it under
6 the terms of the GNU General Public License as published by the Free
7 Software Foundation; either version 2, or (at your option) any later
8 version. See the file COPYING for more details.
9 In addition, an exemption is given to allow Run Time Dynamic Linking of this code with any closed source module that does not contain code covered by this licence.
10 Only the source code to the module(s) containing the licenced code has to be released.
11*/
12#ifndef TT_INCLUDE__STATICANIMPHYSCLASS_H
13#define TT_INCLUDE__STATICANIMPHYSCLASS_H
14
15
16
17#include "AnimCollisionManagerClass.h"
18#include "ProjectorManagerClass.h"
19#include "StaticPhysClass.h"
20
21
22
23class TexProjectClass;
24class StaticAnimPhysDefClass;
25
26
27
28class StaticAnimPhysClass : public StaticPhysClass
29{
30public:
31 StaticAnimPhysClass(void);
32 ~StaticAnimPhysClass(void);
33 virtual StaticAnimPhysClass * As_StaticAnimPhysClass(void) { return this; }
34 void Init(const StaticAnimPhysDefClass & def);
35 virtual void Set_Model(RenderObjClass * model);
36 virtual void Vis_Render(SpecialRenderInfoClass & rinfo);
37 StaticAnimPhysDefClass * Get_StaticAnimPhysDef(void) { return (StaticAnimPhysDefClass *)Definition; }
38 virtual bool Needs_Timestep(void);
39 virtual void Timestep(float dt);
40 virtual bool Has_Dynamic_State(void) { return true; }
41 virtual void Save_State(ChunkSaveClass & csave);
42 virtual void Load_State(ChunkLoadClass & cload);
43 virtual bool Internal_Link_Rider(PhysClass * rider);
44 virtual bool Internal_Unlink_Rider(PhysClass * rider);
45 AnimCollisionManagerClass & Get_Animation_Manager(void) { return AnimManager; }
46 void Set_Shadow(TexProjectClass * shadow);
47 virtual bool Is_Casting_Shadow(void) { return (ShadowProjector != NULL); }
48 void Debug_Display_Shadow(const Vector2 & v0,const Vector2 & v1);
49 virtual const PersistFactoryClass & Get_Factory(void) const;
50 virtual bool Save(ChunkSaveClass &csave);
51 virtual bool Load(ChunkLoadClass &cload);
52 virtual void On_Post_Load(void);
53protected:
54 void Update_Cached_Model_Parameters(void);
55 virtual void Update_Sun_Status(void);
56protected:
57 ProjectorManagerClass ProjectorManager;
58 AnimCollisionManagerClass AnimManager;
59 TexProjectClass * ShadowProjector;
60private:
61 StaticAnimPhysClass(const StaticPhysClass &);
62 StaticAnimPhysClass & operator = (const StaticPhysClass &);
63}; // 00E4 00E4 0100 00FC
64
65#endif