DarkPlaces
Game engine based on the Quake 1 engine by id Software, developed by LadyHavoc
model_psk.h
Go to the documentation of this file.
1
2
#ifndef MODEL_PSK_H
3
#define MODEL_PSK_H
4
5
typedef
struct
pskchunk_s
6
{
7
// id is one of the following:
8
// .psk:
9
// ACTRHEAD (recordsize = 0, numrecords = 0)
10
// PNTS0000 (recordsize = 12, pskpnts_t)
11
// VTXW0000 (recordsize = 16, pskvtxw_t)
12
// FACE0000 (recordsize = 12, pskface_t)
13
// MATT0000 (recordsize = 88, pskmatt_t)
14
// REFSKELT (recordsize = 120, pskboneinfo_t)
15
// RAWWEIGHTS (recordsize = 12, pskrawweights_t)
16
// .psa:
17
// ANIMHEAD (recordsize = 0, numrecords = 0)
18
// BONENAMES (recordsize = 120, pskboneinfo_t)
19
// ANIMINFO (recordsize = 168, pskaniminfo_t)
20
// ANIMKEYS (recordsize = 32, pskanimkeys_t)
21
char
id
[20];
22
// in .psk always 0x1e83b9
23
// in .psa always 0x2e
24
int
version
;
25
int
recordsize
;
26
int
numrecords
;
27
}
28
pskchunk_t
;
29
30
typedef
struct
pskpnts_s
31
{
32
float
origin
[3];
33
}
34
pskpnts_t
;
35
36
typedef
struct
pskvtxw_s
37
{
38
unsigned
short
pntsindex
;
// index into PNTS0000 chunk
39
unsigned
char
unknown1[2];
// seems to be garbage
40
float
texcoord[2];
41
unsigned
char
mattindex
;
// index into MATT0000 chunk
42
unsigned
char
unknown2
;
// always 0?
43
unsigned
char
unknown3[2];
// seems to be garbage
44
}
45
pskvtxw_t
;
46
47
typedef
struct
pskface_s
48
{
49
unsigned
short
vtxwindex[3];
// triangle
50
unsigned
char
mattindex
;
// index into MATT0000 chunk
51
unsigned
char
unknown
;
// seems to be garbage
52
unsigned
int
group
;
// faces seem to be grouped, possibly for smoothing?
53
}
54
pskface_t
;
55
56
typedef
struct
pskmatt_s
57
{
58
char
name
[64];
59
int
unknown[6];
// observed 0 0 0 0 5 0
60
}
61
pskmatt_t
;
62
63
typedef
struct
pskpose_s
64
{
65
float
quat[4];
66
float
origin
[3];
67
float
unknown
;
// probably a float, always seems to be 0
68
float
size
[3];
69
}
70
pskpose_t
;
71
72
typedef
struct
pskboneinfo_s
73
{
74
char
name
[64];
75
int
unknown1
;
76
int
numchildren
;
77
int
parent
;
// root bones have 0 here
78
pskpose_t
basepose
;
79
}
80
pskboneinfo_t
;
81
82
typedef
struct
pskrawweights_s
83
{
84
float
weight
;
85
int
pntsindex
;
86
int
boneindex
;
87
}
88
pskrawweights_t
;
89
90
typedef
struct
pskaniminfo_s
91
{
92
char
name
[64];
93
char
group[64];
94
int
numbones
;
95
int
unknown1
;
96
int
unknown2
;
97
int
unknown3
;
98
float
unknown4
;
99
float
playtime
;
// not really needed
100
float
fps
;
// frames per second
101
int
unknown5
;
102
int
firstframe
;
103
int
numframes
;
104
// firstanimkeys = (firstframe + frameindex) * numbones
105
}
106
pskaniminfo_t
;
107
108
typedef
struct
pskanimkeys_s
109
{
110
float
origin
[3];
111
float
quat[4];
112
float
frametime
;
113
}
114
pskanimkeys_t
;
115
116
#endif
117
size
vector size
Definition
csprogsdefs.qc:118
origin
vector origin
Definition
csprogsdefs.qc:105
name
const GLchar * name
Definition
glquake.h:601
pskaniminfo_t
Definition
model_psk.h:91
pskaniminfo_t::numbones
int numbones
Definition
model_psk.h:94
pskaniminfo_t::unknown2
int unknown2
Definition
model_psk.h:96
pskaniminfo_t::firstframe
int firstframe
Definition
model_psk.h:102
pskaniminfo_t::playtime
float playtime
Definition
model_psk.h:99
pskaniminfo_t::numframes
int numframes
Definition
model_psk.h:103
pskaniminfo_t::unknown1
int unknown1
Definition
model_psk.h:95
pskaniminfo_t::unknown5
int unknown5
Definition
model_psk.h:101
pskaniminfo_t::unknown4
float unknown4
Definition
model_psk.h:98
pskaniminfo_t::fps
float fps
Definition
model_psk.h:100
pskaniminfo_t::unknown3
int unknown3
Definition
model_psk.h:97
pskanimkeys_t
Definition
model_psk.h:109
pskanimkeys_t::frametime
float frametime
Definition
model_psk.h:112
pskboneinfo_t
Definition
model_psk.h:73
pskboneinfo_t::parent
int parent
Definition
model_psk.h:77
pskboneinfo_t::unknown1
int unknown1
Definition
model_psk.h:75
pskboneinfo_t::basepose
pskpose_t basepose
Definition
model_psk.h:78
pskboneinfo_t::numchildren
int numchildren
Definition
model_psk.h:76
pskchunk_t
Definition
model_psk.h:6
pskchunk_t::version
int version
Definition
model_psk.h:24
pskchunk_t::numrecords
int numrecords
Definition
model_psk.h:26
pskchunk_t::recordsize
int recordsize
Definition
model_psk.h:25
pskface_t
Definition
model_psk.h:48
pskface_t::unknown
unsigned char unknown
Definition
model_psk.h:51
pskface_t::mattindex
unsigned char mattindex
Definition
model_psk.h:50
pskface_t::group
unsigned int group
Definition
model_psk.h:52
pskmatt_t
Definition
model_psk.h:57
pskpnts_t
Definition
model_psk.h:31
pskpose_t
Definition
model_psk.h:64
pskpose_t::unknown
float unknown
Definition
model_psk.h:67
pskrawweights_t
Definition
model_psk.h:83
pskrawweights_t::boneindex
int boneindex
Definition
model_psk.h:86
pskrawweights_t::pntsindex
int pntsindex
Definition
model_psk.h:85
pskrawweights_t::weight
float weight
Definition
model_psk.h:84
pskvtxw_t
Definition
model_psk.h:37
pskvtxw_t::pntsindex
unsigned short pntsindex
Definition
model_psk.h:38
pskvtxw_t::unknown2
unsigned char unknown2
Definition
model_psk.h:42
pskvtxw_t::mattindex
unsigned char mattindex
Definition
model_psk.h:41
model_psk.h
Generated on Mon Mar 10 2025 16:50:16 for DarkPlaces by
1.12.0