-
Notifications
You must be signed in to change notification settings - Fork 3
/
Blender.h
71 lines (55 loc) · 2.2 KB
/
Blender.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
// Blender.h: interface for the IBlender class.
//
#if !defined(AFX_BLENDER_H__A023332E_C09B_4D93_AA53_57C052CCC075__INCLUDED_)
#define AFX_BLENDER_H__A023332E_C09B_4D93_AA53_57C052CCC075__INCLUDED_
#pragma once
#include "../properties.h"
#include "Blender_Recorder.h"
#pragma pack(push,4)
class ENGINE_API CBlender_DESC
{
public:
CLASS_ID CLS;
string128 cName;
string32 cComputer;
u32 cTime;
u16 version;
CBlender_DESC()
{
CLS = CLASS_ID(0);
cName[0] = 0;
cComputer[0]= 0;
cTime = 0;
version = 0;
}
void Setup (LPCSTR N);
};
class ENGINE_API IBlender : public CPropertyBase
{
friend class CBlender_Compile;
protected:
CBlender_DESC description;
xrP_Integer oPriority;
xrP_BOOL oStrictSorting;
string64 oT_Name;
string64 oT_xform;
protected:
u32 BC (BOOL v) { return v?0xff:0; }
BOOL c_XForm ();
public:
static IBlender* Create (CLASS_ID cls);
static void Destroy (IBlender*& B);
static void CreatePalette (xr_vector<IBlender*> & palette);
CBlender_DESC& getDescription () {return description;}
virtual LPCSTR getName () {return description.cName;}
virtual LPCSTR getComment () = 0;
virtual BOOL canBeDetailed () { return FALSE; }
virtual BOOL canBeLMAPped () = 0;
virtual void Save (IWriter& fs);
virtual void Load (IReader& fs, u16 version);
virtual void Compile (CBlender_Compile& C);
IBlender();
virtual ~IBlender();
};
#pragma pack(push,4)
#endif // !defined(AFX_BLENDER_H__A023332E_C09B_4D93_AA53_57C052CCC075__INCLUDED_)