xray16 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/package.json +1 -1
  2. package/types/xr_ai/xr_action.d.ts +1321 -29
  3. package/types/xr_ai/xr_alife.d.ts +1336 -32
  4. package/types/xr_ai/xr_enemy_evaluation.d.ts +112 -19
  5. package/types/xr_ai/xr_goap.d.ts +450 -3
  6. package/types/xr_ai/xr_graph.d.ts +94 -6
  7. package/types/xr_ai/xr_memory.d.ts +240 -6
  8. package/types/xr_lib/xr_animation.d.ts +185 -14
  9. package/types/xr_lib/xr_bitwise.d.ts +20 -8
  10. package/types/xr_lib/xr_color.d.ts +103 -6
  11. package/types/xr_lib/xr_debug.d.ts +110 -12
  12. package/types/xr_lib/xr_dialog.d.ts +99 -7
  13. package/types/xr_lib/xr_flags.d.ts +78 -15
  14. package/types/xr_lib/xr_fs.d.ts +395 -5
  15. package/types/xr_lib/xr_game.d.ts +101 -0
  16. package/types/xr_lib/xr_hit.d.ts +84 -0
  17. package/types/xr_lib/xr_ini.d.ts +60 -2
  18. package/types/xr_lib/xr_level.d.ts +182 -39
  19. package/types/xr_lib/xr_luabind.d.ts +37 -11
  20. package/types/xr_lib/xr_map.d.ts +137 -6
  21. package/types/xr_lib/xr_math.d.ts +56 -0
  22. package/types/xr_lib/xr_multiplayer.d.ts +729 -1
  23. package/types/xr_lib/xr_profile.d.ts +80 -0
  24. package/types/xr_lib/xr_properties.d.ts +159 -4
  25. package/types/xr_lib/xr_relation.d.ts +147 -0
  26. package/types/xr_lib/xr_render.d.ts +99 -3
  27. package/types/xr_lib/xr_save.d.ts +110 -4
  28. package/types/xr_lib/xr_sound.d.ts +373 -9
  29. package/types/xr_lib/xr_stats.ts +33 -4
  30. package/types/xr_lib/xr_task.d.ts +277 -0
  31. package/types/xr_lib/xr_time.d.ts +11 -0
  32. package/types/xr_object/client/xr_anomaly.d.ts +20 -0
  33. package/types/xr_object/client/xr_artefact.d.ts +57 -2
  34. package/types/xr_object/client/xr_client_object.d.ts +131 -0
  35. package/types/xr_object/client/xr_creature.d.ts +79 -0
  36. package/types/xr_object/client/xr_item.d.ts +108 -2
  37. package/types/xr_object/client/xr_level.d.ts +482 -14
  38. package/types/xr_object/client/xr_physic.d.ts +459 -29
  39. package/types/xr_object/client/xr_zone.d.ts +38 -0
  40. package/types/xr_object/script/xr_script_interface.d.ts +236 -1
  41. package/types/xr_object/script/xr_script_object.d.ts +3402 -82
  42. package/types/xr_object/script/xr_script_trade.d.ts +25 -15
  43. package/types/xr_object/server/xr_server_object.d.ts +707 -15
  44. package/types/xr_ui/xr_ui_asset.d.ts +241 -6
  45. package/types/xr_ui/xr_ui_core.d.ts +327 -9
  46. package/types/xr_ui/xr_ui_event.d.ts +1067 -1
  47. package/types/xr_ui/xr_ui_interface.d.ts +1563 -17
  48. package/types/xr_ui/xr_ui_menu.d.ts +259 -16
  49. package/types/xrf_plugin.d.ts +44 -14
@@ -1,140 +1,530 @@
1
1
  declare module "xray16" {
2
2
  /**
3
+ * File list returned by the engine filesystem.
4
+ *
3
5
  * @source C++ class FS_file_list
4
6
  * @customConstructor FS_file_list
5
7
  * @group xr_fs
8
+ *
9
+ * @remarks
10
+ * This wraps a native list allocated by the filesystem. Call `Free` when you are done and do not use the list after
11
+ * freeing it.
6
12
  */
7
13
  export class FS_file_list {
14
+ /**
15
+ * Release the native file list.
16
+ */
8
17
  public Free(): void;
9
18
 
10
- public GetAt(number: u32): FS_item;
19
+ /**
20
+ * Get file item by index.
21
+ *
22
+ * @remarks
23
+ * The binding does not clamp the index. Use `Size` before indexing.
24
+ *
25
+ * @param index - Zero-based item index.
26
+ * @returns File item.
27
+ */
28
+ public GetAt(index: u32): FS_item;
11
29
 
30
+ /**
31
+ * Get number of items in the list.
32
+ *
33
+ * @returns Item count.
34
+ */
12
35
  public Size(): u32;
13
36
  }
14
37
 
15
38
  /**
39
+ * Sortable file list returned by extended filesystem queries.
40
+ *
16
41
  * @source C++ class FS_file_list_ex
17
42
  * @customConstructor FS_file_list_ex
18
43
  * @group xr_fs
44
+ *
45
+ * @remarks
46
+ * Extended lists copy file entries into script-owned storage and force a rescan of the queried path when created.
19
47
  */
20
48
  export class FS_file_list_ex {
21
- public Sort(number: u32): void;
49
+ /**
50
+ * Sort the list with an `FS_sort_by_*` mode.
51
+ *
52
+ * @remarks
53
+ * Unknown sort modes are ignored.
54
+ *
55
+ * @param mode - Sort mode.
56
+ */
57
+ public Sort(mode: u32): void;
22
58
 
59
+ /**
60
+ * Get file item by index.
61
+ *
62
+ * @remarks
63
+ * The binding does not clamp the index. Use `Size` before indexing.
64
+ *
65
+ * @param index - Zero-based item index.
66
+ * @returns File item.
67
+ */
23
68
  public GetAt(index: u32): FS_item;
24
69
 
70
+ /**
71
+ * Get number of items in the list.
72
+ *
73
+ * @returns Item count.
74
+ */
25
75
  public Size(): u32;
26
76
  }
27
77
 
28
78
  /**
79
+ * File item from an engine file list.
80
+ *
29
81
  * @source C++ class FS_item
30
82
  * @customConstructor FS_item
31
83
  * @group xr_fs
32
84
  */
33
85
  export class FS_item {
86
+ /**
87
+ * Get modification time as display text.
88
+ *
89
+ * @returns Modification time text.
90
+ */
34
91
  public Modif(): string;
35
92
 
93
+ /**
94
+ * Get full file name.
95
+ *
96
+ * @returns Full file name.
97
+ */
36
98
  public NameFull(): string;
37
99
 
100
+ /**
101
+ * Get short file name.
102
+ *
103
+ * @returns Short file name.
104
+ */
38
105
  public NameShort(): string;
39
106
 
107
+ /**
108
+ * Get numeric-only modification time text.
109
+ *
110
+ * @returns Modification time digits.
111
+ */
40
112
  public ModifDigitOnly(): string;
41
113
 
114
+ /**
115
+ * Get file size.
116
+ *
117
+ * @returns File size in bytes.
118
+ */
42
119
  public Size(): u32;
43
120
  }
44
121
 
45
122
  /**
123
+ * File descriptor exposed by the filesystem.
124
+ *
46
125
  * @source C++ class fs_file
47
126
  * @customConstructor fs_file
48
127
  * @group xr_fs
49
128
  */
50
129
  export class fs_file {
130
+ /**
131
+ * Modification timestamp.
132
+ */
51
133
  public modif: u32;
134
+
135
+ /**
136
+ * File name.
137
+ */
52
138
  public name: string;
139
+
140
+ /**
141
+ * Native file pointer.
142
+ */
53
143
  public ptr: u32;
144
+
145
+ /**
146
+ * Compressed file size.
147
+ */
54
148
  public size_compressed: u32;
149
+
150
+ /**
151
+ * Real file size.
152
+ */
55
153
  public size_real: u32;
56
154
  }
57
155
 
58
156
  /**
157
+ * Result of an `FS.exist` query that checks virtual and/or external files.
158
+ *
159
+ * @source C++ class FileStatus
160
+ * @customConstructor FileStatus
161
+ * @group xr_fs
162
+ *
163
+ * @remarks
164
+ * The object can be used as a boolean in Lua. `External` means the file was found outside registered virtual archives.
165
+ */
166
+ export class FileStatus {
167
+ /**
168
+ * Whether the file exists.
169
+ */
170
+ public readonly Exists: boolean;
171
+
172
+ /**
173
+ * Whether the match came from the external filesystem.
174
+ */
175
+ public readonly External: boolean;
176
+
177
+ /**
178
+ * Engine-created file status.
179
+ */
180
+ private constructor();
181
+ }
182
+
183
+ /**
184
+ * Engine filesystem facade.
185
+ *
186
+ * Path aliases such as `$game_config$` and `$logs$` are resolved by this object.
187
+ *
59
188
  * @source C++ class FS
60
189
  * @customConstructor FS
61
190
  * @group xr_fs
191
+ *
192
+ * @remarks
193
+ * Mutating methods operate on real files or engine path aliases. Prefer `exist`, `path_exist`, and `update_path`
194
+ * before destructive operations.
62
195
  */
63
196
  export class FS {
197
+ /**
198
+ * Clamp listed paths by extension.
199
+ */
64
200
  public static FS_ClampExt: 4;
201
+
202
+ /**
203
+ * List files.
204
+ */
65
205
  public static FS_ListFiles: 1;
206
+
207
+ /**
208
+ * List folders.
209
+ */
66
210
  public static FS_ListFolders: 2;
211
+
212
+ /**
213
+ * Do not recurse into subfolders.
214
+ */
67
215
  public static FS_RootOnly: 8;
216
+
217
+ /**
218
+ * Sort by modification time, newest first.
219
+ */
68
220
  public static FS_sort_by_modif_down: 5;
221
+
222
+ /**
223
+ * Sort by modification time, oldest first.
224
+ */
69
225
  public static FS_sort_by_modif_up: 4;
226
+
227
+ /**
228
+ * Sort by name descending.
229
+ */
70
230
  public static FS_sort_by_name_down: 1;
231
+
232
+ /**
233
+ * Sort by name ascending.
234
+ */
71
235
  public static FS_sort_by_name_up: 0;
236
+
237
+ /**
238
+ * Sort by size descending.
239
+ */
72
240
  public static FS_sort_by_size_down: 3;
241
+
242
+ /**
243
+ * Sort by size ascending.
244
+ */
73
245
  public static FS_sort_by_size_up: 2;
74
246
 
247
+ /**
248
+ * Search virtual registered files only.
249
+ */
250
+ public static FSType_Virtual: 1;
251
+
252
+ /**
253
+ * Search external files only.
254
+ */
255
+ public static FSType_External: 2;
256
+
257
+ /**
258
+ * Search virtual and external files.
259
+ */
260
+ public static FSType_Any: 3;
261
+
262
+ /**
263
+ * Delete a directory below a path alias.
264
+ *
265
+ * @param path - Path alias or root path.
266
+ * @param filename - Directory name.
267
+ * @param remove_files - Whether files inside should be removed.
268
+ */
75
269
  public dir_delete(path: string, filename: string, remove_files: boolean): void;
76
270
 
271
+ /**
272
+ * Delete a directory.
273
+ *
274
+ * @param path - Directory path.
275
+ * @param remove_files - Whether files inside should be removed.
276
+ */
77
277
  public dir_delete(path: string, remove_files: boolean): void;
78
278
 
279
+ /**
280
+ * Open a file list below a path alias and folder.
281
+ *
282
+ * @param alias - Filesystem path alias.
283
+ * @param folder - Folder inside the alias.
284
+ * @param flags - Listing flags.
285
+ * @returns File list.
286
+ */
79
287
  public file_list_open(alias: string, folder: string, flags: u32): FS_file_list;
80
288
 
289
+ /**
290
+ * Open a file list for a resolved path or alias.
291
+ *
292
+ * @param path - Path or path alias.
293
+ * @param flags - Listing flags.
294
+ * @returns File list.
295
+ */
81
296
  public file_list_open(path: string, flags: u32): FS_file_list;
82
297
 
298
+ /**
299
+ * Open a sortable filtered file list.
300
+ *
301
+ * @remarks
302
+ * Forces the path to be rescanned before collecting matching entries.
303
+ *
304
+ * @param path - Path or path alias.
305
+ * @param flags - Listing flags.
306
+ * @param mask - File mask.
307
+ * @returns Sortable file list.
308
+ */
83
309
  public file_list_open_ex(path: string, flags: u32, mask: string): FS_file_list_ex;
84
310
 
311
+ /**
312
+ * Copy a file.
313
+ *
314
+ * @param source - Source file path.
315
+ * @param destination - Destination file path.
316
+ */
85
317
  public file_copy(source: string, destination: string): void;
86
318
 
319
+ /**
320
+ * Get file length.
321
+ *
322
+ * @param path - File path.
323
+ * @returns File length in bytes, or engine error value.
324
+ */
87
325
  public file_length(path: string): i32;
88
326
 
327
+ /**
328
+ * Rename or move a file.
329
+ *
330
+ * @param path - Source file path.
331
+ * @param destination - Destination file path.
332
+ * @param overwrite - Whether an existing destination may be overwritten.
333
+ */
89
334
  public file_rename(path: string, destination: string, overwrite: boolean): void;
90
335
 
336
+ /**
337
+ * Get file modification timestamp.
338
+ *
339
+ * @param path - File path.
340
+ * @returns Modification timestamp.
341
+ */
91
342
  public get_file_age(path: string): u32;
92
343
 
344
+ /**
345
+ * Get file modification timestamp as packed display value.
346
+ *
347
+ * @param path - File path.
348
+ * @returns Modification timestamp value.
349
+ */
93
350
  public get_file_age_str(path: string): u32;
94
351
 
352
+ /**
353
+ * Delete a file below a path alias.
354
+ *
355
+ * @param path - Path alias or root path.
356
+ * @param filename - File name.
357
+ */
95
358
  public file_delete(path: string, filename: string): void;
96
359
 
360
+ /**
361
+ * Delete a file.
362
+ *
363
+ * @param path - File path.
364
+ */
97
365
  public file_delete(path: string): void;
98
366
 
99
- public exist(alias: string, filename: string, fs_type: TXR_fs_type): i32 | null;
367
+ /**
368
+ * Check whether a file exists below a path alias.
369
+ *
370
+ * @remarks
371
+ * This overload checks virtual and/or external files and returns a status object.
372
+ *
373
+ * @param alias - Filesystem path alias.
374
+ * @param filename - File name.
375
+ * @param fs_type - Filesystem source to search.
376
+ * @returns File status.
377
+ */
378
+ public exist(alias: string, filename: string, fs_type: TXR_fs_type): FileStatus;
100
379
 
380
+ /**
381
+ * Check whether a file exists below a path alias.
382
+ *
383
+ * @remarks
384
+ * This overload resolves `alias` and `filename`, then returns a registered file descriptor when found.
385
+ *
386
+ * @param alias - Filesystem path alias.
387
+ * @param filename - File name.
388
+ * @returns File descriptor pointer or `null`.
389
+ */
101
390
  public exist(alias: string, filename: string): i32 | null;
102
391
 
392
+ /**
393
+ * Check whether a file exists.
394
+ *
395
+ * @remarks
396
+ * This overload returns a registered file descriptor when found.
397
+ *
398
+ * @param path - File path.
399
+ * @returns File descriptor pointer or `null`.
400
+ */
103
401
  public exist(path: string): i32 | null;
104
402
 
403
+ /**
404
+ * Check whether a file exists.
405
+ *
406
+ * @remarks
407
+ * This overload checks virtual and/or external files and returns a status object.
408
+ *
409
+ * @param path - File path.
410
+ * @param fs_type - Filesystem source to search.
411
+ * @returns File status.
412
+ */
413
+ public exist(path: string, fs_type: TXR_fs_type): FileStatus;
414
+
415
+ /**
416
+ * Add a path alias.
417
+ *
418
+ * @param alias - Alias name.
419
+ * @param root - Root path.
420
+ * @param path - Relative path.
421
+ * @param recursive - Whether subfolders should be scanned.
422
+ * @returns Native filesystem path descriptor.
423
+ */
105
424
  public append_path(alias: string, root: string, path: string, recursive: boolean): unknown; /* FS_Path */
106
425
 
426
+ /**
427
+ * Check whether a path alias exists.
428
+ *
429
+ * @param path - Path alias.
430
+ * @returns Whether the path exists.
431
+ */
107
432
  public path_exist(path: string): boolean;
108
433
 
434
+ /**
435
+ * Resolve path alias and suffix into a real path.
436
+ *
437
+ * @remarks
438
+ * Non-Windows builds normalize path separators before returning the string.
439
+ *
440
+ * @param alias - Filesystem path alias.
441
+ * @param add - Relative path to append.
442
+ * @returns Resolved path.
443
+ */
109
444
  public update_path(alias: string, add: string): string;
110
445
 
446
+ /**
447
+ * Rescan a path alias.
448
+ *
449
+ * @since OpenXRay 2015-07-07, 6e703b4c
450
+ *
451
+ * @remarks
452
+ * Marks the alias as needing a rescan. The next filesystem check refreshes cached entries.
453
+ *
454
+ * @param path - Path alias.
455
+ */
111
456
  public rescan_path(path: string): void;
112
457
 
113
458
  /**
114
- * Not registered in LUA, will throw.
459
+ * Get native path descriptor for an alias.
460
+ *
461
+ * @param alias - Filesystem path alias.
462
+ * @returns Native filesystem path descriptor.
115
463
  */
116
464
  public get_path(alias: string): unknown;
117
465
 
466
+ /**
467
+ * Close a binary reader.
468
+ *
469
+ * @param reader - Reader returned by `r_open`.
470
+ */
118
471
  public r_close(reader: reader): void;
119
472
 
473
+ /**
474
+ * Open a binary reader.
475
+ *
476
+ * @param path - File path.
477
+ * @returns Binary reader.
478
+ */
120
479
  public r_open(path: string): reader;
121
480
 
481
+ /**
482
+ * Open a binary reader below a path alias.
483
+ *
484
+ * @param alias - Filesystem path alias.
485
+ * @param path - Relative file path.
486
+ * @returns Binary reader.
487
+ */
122
488
  public r_open(alias: string, path: string): reader;
123
489
 
490
+ /**
491
+ * Close a binary writer.
492
+ *
493
+ * @param writer - Writer returned by `w_open`.
494
+ */
124
495
  public w_close(writer: unknown /* IWriter */): void;
125
496
 
497
+ /**
498
+ * Open a binary writer below a path alias.
499
+ *
500
+ * @param path - Filesystem path alias.
501
+ * @param filename - Relative file path.
502
+ * @returns Binary writer.
503
+ */
126
504
  public w_open(path: string, filename: string): unknown; /* IWriter */
127
505
 
506
+ /**
507
+ * Open a binary writer.
508
+ *
509
+ * @param path - File path.
510
+ * @returns Binary writer.
511
+ */
128
512
  public w_open(path: string): unknown; /* IWriter */
129
513
  }
130
514
 
131
515
  /**
516
+ * Filesystem enum value accepted by filesystem queries.
517
+ *
132
518
  * @group xr_fs
133
519
  */
134
- export type TXR_fs_type = EnumeratedStaticsValues<typeof FS>;
520
+ export type TXR_fs_type = typeof FS.FSType_Virtual | typeof FS.FSType_External | typeof FS.FSType_Any;
135
521
 
136
522
  /**
523
+ * Get the global filesystem facade.
524
+ *
137
525
  * @group xr_fs
526
+ *
527
+ * @returns Filesystem facade.
138
528
  */
139
529
  export function getFS(this: void): FS;
140
530