winejoystick: Fix a crash on accessing a CFArray past its end due to an off-by-one...
[wine/multimedia.git] / include / rmxftmpl.x
blob61b951676345b1f3ab31f724d06c2b4f1cdaba39
1 xof 0302txt 0064
2 // Copyright (C) 2011 Dylan Smith
3 //
4 // This library is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU Lesser General Public
6 // License as published by the Free Software Foundation; either
7 // version 2.1 of the License, or (at your option) any later version.
8 //
9 // This library is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12 // Lesser General Public License for more details.
14 // You should have received a copy of the GNU Lesser General Public
15 // License along with this library; if not, write to the Free Software
16 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
18 #pragma xftmpl name D3DRM_XTEMPLATES
19 #pragma xftmpl size D3DRM_XTEMPLATE_BYTES
21 template Header
23     <3D82AB43-62DA-11CF-AB39-0020AF71E433>
24     WORD major;
25     WORD minor;
26     DWORD flags;
29 template Vector
31     <3D82AB5E-62DA-11CF-AB39-0020AF71E433>
32     FLOAT x;
33     FLOAT y;
34     FLOAT z;
37 template Coords2d
39     <F6F23F44-7686-11CF-8F52-0040333594A3>
40     FLOAT u;
41     FLOAT v;
44 template Matrix4x4
46     <F6F23F45-7686-11CF-8F52-0040333594A3>
47     array FLOAT matrix[16];
50 template ColorRGBA
52     <35FF44E0-6C7C-11CF-8F52-0040333594A3>
53     FLOAT red;
54     FLOAT green;
55     FLOAT blue;
56     FLOAT alpha;
59 template ColorRGB
61     <D3E16E81-7835-11CF-8F52-0040333594A3>
62     FLOAT red;
63     FLOAT green;
64     FLOAT blue;
67 template IndexedColor
69     <1630B820-7842-11CF-8F52-0040333594A3>
70     DWORD index;
71     ColorRGBA indexColor;
74 template Boolean
76     <537DA6A0-CA37-11D0-941C-0080C80CFA7B>
77     DWORD truefalse;
80 template Boolean2d
82     <4885AE63-78E8-11CF-8F52-0040333594A3>
83     Boolean u;
84     Boolean v;
87 template MaterialWrap
89     <4885AE60-78E8-11CF-8F52-0040333594A3>
90     Boolean u;
91     Boolean v;
94 template TextureFilename
96     <A42790E1-7810-11CF-8F52-0040333594A3>
97     STRING filename;
100 template Material
102     <3D82AB4D-62DA-11CF-AB39-0020AF71E433>
103     ColorRGBA faceColor;
104     FLOAT power;
105     ColorRGB specularColor;
106     ColorRGB emissiveColor;
107     [ ... ]
110 template MeshFace
112     <3D82AB5F-62DA-11CF-AB39-0020AF71E433>
113     DWORD nFaceVertexIndices;
114     array DWORD faceVertexIndices[nFaceVertexIndices];
117 template MeshFaceWraps
119     <ED1EC5C0-C0A8-11D0-941C-0080C80CFA7B>
120     DWORD nFaceWrapValues;
121     array Boolean2d faceWrapValues[nFaceWrapValues];
124 template MeshTextureCoords
126     <F6F23F40-7686-11CF-8F52-0040333594A3>
127     DWORD nTextureCoords;
128     array Coords2d textureCoords[nTextureCoords];
131 template MeshMaterialList
133     <F6F23F42-7686-11CF-8F52-0040333594A3>
134     DWORD nMaterials;
135     DWORD nFaceIndexes;
136     array DWORD faceIndexes[nFaceIndexes];
137     [ Material ]
140 template MeshNormals
142     <F6F23F43-7686-11CF-8F52-0040333594A3>
143     DWORD nNormals;
144     array Vector normals[nNormals];
145     DWORD nFaceNormals;
146     array MeshFace faceNormals[nFaceNormals];
149 template MeshVertexColors
151     <1630B821-7842-11CF-8F52-0040333594A3>
152     DWORD nVertexColors;
153     array IndexedColor vertexColors[nVertexColors];
156 template Mesh
158     <3D82AB44-62DA-11CF-AB39-0020AF71E433>
159     DWORD nVertices;
160     array Vector vertices[nVertices];
161     DWORD nFaces;
162     array MeshFace faces[nFaces];
163     [ ... ]
166 template FrameTransformMatrix
168     <F6F23F41-7686-11CF-8F52-0040333594A3>
169     Matrix4x4 frameMatrix;
172 template Frame
174     <3D82AB46-62DA-11CF-AB39-0020AF71E433>
175     [ ... ]
178 template FloatKeys
180     <10DD46A9-775B-11CF-8F52-0040333594A3>
181     DWORD nValues;
182     array FLOAT values[nValues];
185 template TimedFloatKeys
187     <F406B180-7B3B-11CF-8F52-0040333594A3>
188     DWORD time;
189     FloatKeys tfkeys;
192 template AnimationKey
194     <10DD46A8-775B-11CF-8F52-0040333594A3>
195     DWORD keyType;
196     DWORD nKeys;
197     array TimedFloatKeys keys[nKeys];
200 template AnimationOptions
202     <E2BF56C0-840F-11CF-8F52-0040333594A3>
203     DWORD openclosed;
204     DWORD positionquality;
207 template Animation
209     <3D82AB4F-62DA-11CF-AB39-0020AF71E433>
210     [ ... ]
213 template AnimationSet
215     <3D82AB50-62DA-11CF-AB39-0020AF71E433>
216     [ Animation ]
219 template InlineData
221     <3A23EEA0-94B1-11D0-AB39-0020AF71E433>
222     [ BINARY ]
225 template Url
227     <3A23EEA1-94B1-11D0-AB39-0020AF71E433>
228     DWORD nUrls;
229     array STRING urls[nUrls];
232 template ProgressiveMesh
234     <8A63C360-997D-11D0-941C-0080C80CFA7B>
235     [ Url, InlineData ]
238 template Guid
240     <A42790E0-7810-11CF-8F52-0040333594A3>
241     DWORD data1;
242     WORD data2;
243     WORD data3;
244     array UCHAR data4[8];
247 template StringProperty
249     <7F0F21E0-BFE1-11D1-82C0-00A0C9697271>
250     STRING key;
251     STRING value;
254 template PropertyBag
256     <7F0F21E1-BFE1-11D1-82C0-00A0C9697271>
257     [ StringProperty ]
260 template ExternalVisual
262     <98116AA0-BDBA-11D1-82C0-00A0C9697271>
263     Guid guidExternalVisual;
264     [ ... ]
267 template RightHanded
269     <7F5D5EA0-D53A-11D1-82C0-00A0C9697271>
270     DWORD bRightHanded;