convert line ends
[canaan.git] / prj / cam / src / deepc / player / dpcplayr.h
blob90f638e0ea5a24b1acf1178c326cca00c8802d7b
1 /*
2 @Copyright Looking Glass Studios, Inc.
3 1996,1997,1998,1999,2000 Unpublished Work.
4 */
6 #pragma once
7 #ifndef __DPCPLAYR_H
8 #define __DPCPLAYR_H
10 #ifndef _OBJTYPE_H
11 #include <objtype.h>
12 #endif // !_OBJTYPE_H
14 #ifndef __OSYSTYPE_H
15 #include <osystype.h>
16 #endif // !__OSYSTYPE_H
18 #ifndef __LABEL_H
19 #include <label.h>
20 #endif // !__LABEL_H
22 #ifndef PROPFACE_H
23 #include <propface.h>
24 #endif // !PROPFACE_H
26 typedef enum eStats;
27 typedef enum eTechSkills;
28 typedef enum eWeaponSkills;
29 typedef enum ePlayerEquip;
30 typedef enum eTrait;
32 typedef struct sStatsDesc
34 int m_stats[5];
35 } sStatsDesc;
37 typedef struct sTraitsDesc
39 int m_traits[4];
40 } sTraitsDesc;
42 typedef struct sWeaponSkills
44 int m_wpn[4];
45 } sWeaponSkills;
47 typedef struct sTechSkills
49 int m_tech[5];
50 } sTechSkills;
52 typedef struct sLogData
54 int m_data[4];
55 } sLogData;
57 static void LGAPI ListenFunc(sPropertyListenMsg* msg, PropListenerData data);
59 F_DECLARE_INTERFACE(IDPCPlayer);
61 #undef INTERFACE
62 #define INTERFACE IDPCPlayer
64 DECLARE_INTERFACE_(IDPCPlayer,IUnknown)
66 DECLARE_UNKNOWN_PURE();
68 // returns the current cost to bump up a stat to the next level
69 STDMETHOD_(int,StatCost)(int which) PURE;
70 STDMETHOD_(int,WeaponSkillCost)(int which) PURE;
71 STDMETHOD_(int,TechSkillCost)(int which) PURE;
73 // is a >= b ?
74 STDMETHOD_(BOOL,CheckStats)(sStatsDesc *a, sStatsDesc *b, BOOL spew) PURE;
75 STDMETHOD_(BOOL,CheckWeaponSkills)(sWeaponSkills *a, sWeaponSkills *b, BOOL spew) PURE;
77 STDMETHOD_(BOOL,Equip)(ObjID player, ePlayerEquip slot, ObjID o, BOOL spew) PURE;
78 STDMETHOD(SetEquip)(ObjID player, ePlayerEquip slot, ObjID o) PURE;
79 STDMETHOD_(ObjID,GetEquip)(ObjID player, ePlayerEquip slot) PURE;
80 STDMETHOD(ClearEquip)(void) PURE;
81 STDMETHOD(AlternateWeapons)(ObjID player) PURE;
82 STDMETHOD_(void,SetWeaponModel)(ObjID o, BOOL sfx = TRUE) PURE;
83 STDMETHOD_(void,NowNextWeapon)(BOOL WaitAFrame) PURE;
85 STDMETHOD_(BOOL,CheckRequirements)(ObjID o, BOOL spew) PURE;
87 STDMETHOD_(ObjID,GetCurrentGun)(void) PURE;
89 STDMETHOD_(void,Frame)(void) PURE;
91 STDMETHOD(UseInternalModel)(void) PURE;
92 STDMETHOD(UseExternalModel)(void) PURE;
93 STDMETHOD_(char *,GetExternalModel)(void) PURE;
95 STDMETHOD(RecalcData)(ObjID obj) PURE;
97 // look up data,
98 STDMETHOD_(int,GetStat)(eStats which) PURE;
99 STDMETHOD_(int,GetTechSkill)(eTechSkills which) PURE;
100 STDMETHOD_(int,GetWeaponSkill)(eWeaponSkills which) PURE;
101 STDMETHOD_(BOOL,GetWeaponSkills)(ObjID obj, sWeaponSkills *wpn) PURE;
102 STDMETHOD_(BOOL,HasTrait)(ObjID obj, eTrait which) PURE;
103 STDMETHOD_(BOOL,HasTraitMulti)(eTrait which) PURE;
105 STDMETHOD(AddStats)(sStatsDesc *p1, sStatsDesc *p2) PURE;
106 STDMETHOD_(BOOL,GetStats)(ObjID obj, sStatsDesc *stats) PURE;
108 STDMETHOD_(int,GetPool)(ObjID obj) PURE;
109 STDMETHOD(AddPool)(ObjID obj, int quantity) PURE;
110 STDMETHOD(SetPool)(ObjID obj, int value) PURE;
112 // combat related
113 STDMETHOD_(float, GetStimMultiplier)(ObjID gunID) PURE;
116 #undef INTERFACE
118 void DPCPlayerCreate();
119 EXTERN void DPCSwapGuns(void);
121 #define MAX_STAT_VAL 8
122 #define MAX_SKILL_VAL 6
124 #endif