66751bcbe85d999427b2b8c7bb7caa162db21ef0
[carveJwlIkooP6JGAAIwe30JlM.git] / web / frag / workshop_entities.html
1 <div class="subcontent">
2 <h1>World Entities</h1>
3
4 <br><h2>Gate</h2><pre>#1: ent_gate [<b>MESH</b>]</pre>
5 <table style="width:100%">
6 <tr>
7 <th>Field</th>
8 <th>Type</th>
9 <th>Range</th>
10 </tr>
11 <tr>
12 <td>Subtype</td>
13 <td>enum</td>
14 <td>Default - <i>World portal</i><br>
15 Non-Local - <i>Connect between different worlds</i></td>
16 </tr>
17 <tr>
18 <td>Destination</td>
19 <td>entity_target <b>or</b> string</td>
20 <td>target portal <b>or</b>
21 two portals (in different worlds) with the same string</td>
22 </tr>
23 </table>
24
25 <br><h2>Spawn Point</h2><pre>#2: ent_spawn [<b>MESH</b>, <b>EMPTY</b>]</pre>
26 <table style="width:100%">
27 <tr>
28 <th>Field</th>
29 <th>Type</th>
30 <th>Range</th>
31 </tr>
32 <tr>
33 <td>Alias</td>
34 <td>string</td>
35 <td><b>start</b> for spawn priority, empty, <b>or</b> any string to be used
36 with the command: <pre>respawn &lt;string&gt;</pre></td>
37 </tr>
38 </table>
39
40 <br><h2>Routing Path</h2><pre>#3: ent_route_node [<b>CURVE</b>]</pre>
41 <pre>
42 <b>NOTE:</b>You should use an order 3 path type. Any amount of subcurves are
43 allowed. The endpoints of the curves are the connecting points between other
44 pathing elements.</pre>
45 <table style="width:100%">
46 <tr>
47 <th>Field</th>
48 <th>Type</th>
49 <th>Range</th>
50 </tr>
51 <tr>
52 <td>Alias</td>
53 <td>string</td>
54 <td><b>start</b> for spawn priority, empty, <b>or</b> any string to be used
55 with the command: <pre>respawn &lt;string&gt;</pre></td>
56 </tr>
57 </table>
58
59 <br><h2>Skate Course</h2><pre>#4: ent_route [<b>EMPTY</b>]</pre>
60 <table style="width:100%">
61 <tr>
62 <th>Field</th>
63 <th>Type</th>
64 <th>Range</th>
65 </tr>
66 <tr>
67 <td>Colour</td>
68 <td>rgba32F</td>
69 <td>determines the routing line colour</td>
70 </tr>
71 <tr>
72 <td>Checkpoints</td>
73 <td>array[ MESH:<b>ent_gate</b> ]</td>
74 <td>List of <b>entry</b> gates that form the track<br>Must all be in one
75 Blender collection.</td>
76 </tr>
77 </table>
78
79 <br><h2>Water Surface</h2><pre>#5: ent_water [<b>EMPTY</b>, <b>MESH</b>]</pre>
80 <pre>One per level. Used to determine the reflection plane.</pre>
81
82 <br><h2>Volume/Trigger</h2><pre>#6: ent_volume [<b>EMPTY</b>]</pre>
83 <table style="width:100%">
84 <tr>
85 <th>Field</th>
86 <th>Type</th>
87 <th>Range</th>
88 </tr>
89 <tr>
90 <td>Subtype</td>
91 <td>Enum</td>
92 <td>Trigger - <i>Player Trigger</i><br>
93 Particles (0.1s) - <i>Spawn particle randomly every 0.1s</i></td>
94 </tr>
95 <tr>
96 <td>Target</td>
97 <td>MESH,EMPTY:any</td>
98 <td>Entity to call the trigger function for.</td>
99 </tr>
100 </table>
101
102 <br><h2>Audio</h2><pre>#7: ent_audio [<b>EMPTY</b>,<b>MESH</b>]</pre>
103 <table style="width:100%">
104 <tr>
105 <th>Field</th>
106 <th>Type</th>
107 <th>Range</th>
108 </tr>
109 <tr>
110 <td>Format</td>
111 <td>Enum</td>
112 <td>Uncompressed Mono - <i>Store compressed on disk, uncompressed in memory
113 </i><br>
114 Compressed Vorbis - <i>Always compressed, stereo signal</i><br>
115 [vg] Bird Synthesis - <i>Government spy drones (WIP)</i>
116 </td>
117 </tr>
118 <tr>
119 <td>Volume</td>
120 <td>f32</td>
121 <td>volume to play audio</td>
122 </tr>
123 </table>
124 <br><center><b>Channels</b></center><br>
125 <table style="width:100%">
126 <tr>
127 <th>Field</th>
128 <th>Type</th>
129 <th>Range</th>
130 </tr>
131 <tr>
132 <td>Max Channels</td>
133 <td>u32</td>
134 <td>Specifies the limit of instances of this audio player</td>
135 </tr>
136 <tr>
137 <td>Behaviour</td>
138 <td>Enum</td>
139 <td>Unlimited - <i>Create as many instances as possible up until the engine
140 limit (64)</i><br>
141 Discard if group full - <i>Doesnt play when triggered, if at limit
142 </i><br>
143 Crossfade if group full - <i>Pick an active sound from same group to
144 fade with. Temporarily creates an extra channel while fading</i>
145 </td>
146 </tr>
147 <tr>
148 <td>Group ID</td>
149 <td>u16</td>
150 <td>0-25565 (<b>Don't use values: 1 or 26</b>)</td>
151 </tr>
152 <tr>
153 <td>Transition Time</td>
154 <td>f32</td>
155 <td>If a crossfade is used, this is the duration</td>
156 </tr>
157 </table>
158 <br><center><b>Flags</b></center><br>
159 <table style="width:100%">
160 <tr>
161 <th>Field</th>
162 <th>Type</th>
163 <th>Range</th>
164 </tr>
165 <tr>
166 <td>3D Audio</td>
167 <td>bool</td>
168 <td>Play with spacialization, or 2D? Falloff distance is the scale of the
169 object in blender. Yellow rings signify 100% falloff.</td>
170 </tr>
171 <tr>
172 <td>No Doppler</td>
173 <td>bool</td>
174 <td>Disable doppler effect for this instance</td>
175 </tr>
176 <tr>
177 <td>Loop</td>
178 <td>bool</td>
179 <td>Go back to the start of the sound file instead of being killed</td>
180 </tr>
181 <tr>
182 <td>Play at start</td>
183 <td>bool</td>
184 <td>Begin playing automatically at world load</td>
185 </tr>
186 <tr>
187 <td>Probability Curve</td>
188 <td>enum</td>
189 <td>Constant - <i>No effect</i><br>
190 Wildlife Day - <i>Most chance to run during the day, and sunset/rise</i><br>
191 Wildlife Night - <i>Most chance to run during the night</i>
192 </td>
193 </tr>
194 </table>
195 <br><center><b>Filepaths</b></center><br>
196 <table style="width:100%">
197 <tr>
198 <th>Formats</th>
199 <th>Accepted</th>
200 </tr>
201 <tr>
202 <td>Uncompressed, Compressed Stereo</td>
203 <td>path: <i>sound/&lt;filename&gt;<b>.ogg</b><br>
204 44100hz, ogg Vorbis only.</i></td>
205 </tr>
206 <tr>
207 <td>[vg] Bird Synth</td>
208 <td>Binary string. Undocumented.</td>
209 </tr>
210 </table>
211
212 <br><h2>Marker</h2><pre>#8: ent_marker [<b>EMPTY</b>,<b>MESH</b>]</pre>
213 <table style="width:100%">
214 <tr>
215 <th>Field</th>
216 <th>Type</th>
217 <th>Range</th>
218 </tr>
219 <tr>
220 <td>Alias</td>
221 <td>string</td>
222 <td>any value</td>
223 </tr>
224 </table>
225
226 <br><h2>Traffic Model</h2><pre>#11: ent_traffic [<b>MESH</b>]</pre>
227 <pre>Follows the nearest <i>ent_route_node</i> cyclically</pre>
228 <table style="width:100%">
229 <tr>
230 <th>Field</th>
231 <th>Type</th>
232 <th>Range</th>
233 </tr>
234 <tr>
235 <td>speed</td>
236 <td>f32</td>
237 <td>&gt;0.0f</td>
238 </tr>
239 </table>
240
241 <br><h2>Skateshop</h2><pre>#12: ent_skateshop [<b>EMPTY</b>]</pre>
242 <pre>Undocumented.</pre>
243
244 <br><h2>Camera</h2><pre>#13: ent_camera <b>&lt;INTRINSIC[ CAMERA ]&gt;</b></pre>
245 <pre>Blender camera</pre>
246
247 <br><h2>Workshop Preview</h2><pre>#14: ent_swspreview [<b>EMPTY</b>]</pre>
248 <pre>One per map</pre>
249 <table style="width:100%">
250 <tr>
251 <th>Field</th>
252 <th>Type</th>
253 <th>Range</th>
254 </tr>
255 <tr>
256 <td>Board Display</td>
257 <td>EMPTY:<b>ent_marker</b></td>
258 <td>Where to render board</td>
259 </tr>
260 <tr>
261 <td>Board Display (other side)</td>
262 <td>EMPTY:<b>ent_marker</b></td>
263 <td>Where to render board, but upside-down</td>
264 </tr>
265 <tr>
266 <td>Viewpoint</td>
267 <td>CAMERA:<b>ent_camera</b></td>
268 <td>Camera which can see both preview locations</td>
269 </tr>
270 </table>
271
272 <br><h2>World Info</h2><pre>#16: ent_worldinfo [<b>EMPTY</b>]</pre>
273 <pre>One per map</pre>
274 <table style="width:100%">
275 <tr>
276 <th>Field</th>
277 <th>Type</th>
278 <th>Range</th>
279 </tr>
280 <tr>
281 <td>Name (unused)</td>
282 <td>string</td>
283 <td></td>
284 </tr>
285 <tr>
286 <td>Description (unused)</td>
287 <td>string</td>
288 <td></td>
289 </tr>
290 <tr>
291 <td>Author (unused)</td>
292 <td>string</td>
293 <td></td>
294 </tr>
295 <tr>
296 <td>Timezone (+hrs)</td>
297 <td>f32</td>
298 <td>relative to 0:00 UTC, time zone where this map is.</td>
299 </tr>
300 </table>
301
302 <br><h2>CCmd</h2><pre>#17: ent_ccmd [<b>EMPTY</b>]</pre>
303 <table style="width:100%">
304 <tr>
305 <th>Field</th>
306 <th>Type</th>
307 <th>Range</th>
308 </tr>
309 <tr>
310 <td>Command Line</td>
311 <td>string</td>
312 <td>string to give to the command processor to run when triggered</td>
313 </tr>
314 </table>
315
316 </div>