xray16 1.3.4 → 1.4.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 (84) hide show
  1. package/LICENSE +21 -21
  2. package/README.md +112 -106
  3. package/package.json +45 -42
  4. package/plugins/built_at_info.d.ts +1 -1
  5. package/plugins/from_cast_utils.d.ts +1 -1
  6. package/plugins/global_declarations_transform.d.ts +1 -1
  7. package/plugins/inject_file_meta.d.ts +1 -1
  8. package/plugins/inject_tracy_zones.d.ts +1 -1
  9. package/plugins/inject_tracy_zones.js +2 -2
  10. package/plugins/strip_lua_logger.d.ts +1 -1
  11. package/plugins/strip_lua_logger.js +1 -1
  12. package/plugins/transform_luabind_class/plugin.d.ts +1 -1
  13. package/plugins/transform_luabind_class/transformation/class_declaration.d.ts +3 -3
  14. package/plugins/transform_luabind_class/transformation/decorators.d.ts +5 -2
  15. package/plugins/transform_luabind_class/transformation/decorators.js +3 -0
  16. package/plugins/transform_luabind_class/transformation/members/accessors.d.ts +1 -1
  17. package/plugins/transform_luabind_class/transformation/members/constructor.d.ts +2 -2
  18. package/plugins/transform_luabind_class/transformation/members/constructor.js +2 -2
  19. package/plugins/transform_luabind_class/transformation/members/fields.d.ts +5 -2
  20. package/plugins/transform_luabind_class/transformation/members/fields.js +5 -2
  21. package/plugins/transform_luabind_class/transformation/members/method.d.ts +6 -3
  22. package/plugins/transform_luabind_class/transformation/members/method.js +4 -1
  23. package/plugins/transform_luabind_class/transformation/new.d.ts +7 -3
  24. package/plugins/transform_luabind_class/transformation/new.js +5 -1
  25. package/plugins/transform_luabind_class/transformation/setup.d.ts +9 -3
  26. package/plugins/transform_luabind_class/transformation/setup.js +22 -6
  27. package/plugins/transform_luabind_class/transformation/super.d.ts +19 -3
  28. package/plugins/transform_luabind_class/transformation/super.js +17 -1
  29. package/plugins/transform_luabind_class/transformation/utils.d.ts +27 -4
  30. package/plugins/transform_luabind_class/transformation/utils.js +25 -2
  31. package/plugins/utils/ast.d.ts +1 -1
  32. package/plugins/utils/diagnostics.d.ts +9 -5
  33. package/plugins/utils/diagnostics.js +5 -1
  34. package/plugins/utils/tracy.d.ts +1 -1
  35. package/types/index.d.ts +55 -55
  36. package/types/xr_ai/xr_action.d.ts +510 -510
  37. package/types/xr_ai/xr_alife.d.ts +566 -566
  38. package/types/xr_ai/xr_enemy_evaluation.d.ts +41 -41
  39. package/types/xr_ai/xr_goap.d.ts +669 -668
  40. package/types/xr_ai/xr_graph.d.ts +47 -47
  41. package/types/xr_ai/xr_memory.d.ts +148 -148
  42. package/types/xr_lib/xr_animation.d.ts +81 -81
  43. package/types/xr_lib/xr_bitwise.d.ts +32 -21
  44. package/types/xr_lib/xr_color.d.ts +45 -40
  45. package/types/xr_lib/xr_debug.d.ts +83 -77
  46. package/types/xr_lib/xr_dialog.d.ts +40 -40
  47. package/types/xr_lib/xr_flags.d.ts +529 -148
  48. package/types/xr_lib/xr_fs.d.ts +149 -148
  49. package/types/xr_lib/xr_game.d.ts +261 -158
  50. package/types/xr_lib/xr_hit.d.ts +41 -41
  51. package/types/xr_lib/xr_ini.d.ts +415 -188
  52. package/types/xr_lib/xr_level.d.ts +652 -225
  53. package/types/xr_lib/xr_luabind.d.ts +64 -59
  54. package/types/xr_lib/xr_map.d.ts +61 -61
  55. package/types/xr_lib/xr_math.d.ts +815 -233
  56. package/types/xr_lib/xr_multiplayer.d.ts +351 -351
  57. package/types/xr_lib/xr_profile.d.ts +192 -160
  58. package/types/xr_lib/xr_properties.d.ts +455 -166
  59. package/types/xr_lib/xr_relation.d.ts +84 -84
  60. package/types/xr_lib/xr_render.d.ts +71 -69
  61. package/types/xr_lib/xr_save.d.ts +727 -223
  62. package/types/xr_lib/xr_sound.d.ts +151 -151
  63. package/types/xr_lib/xr_stats.ts +20 -20
  64. package/types/xr_lib/xr_task.d.ts +111 -111
  65. package/types/xr_lib/xr_time.d.ts +166 -61
  66. package/types/xr_lib/xr_type.d.ts +75 -75
  67. package/types/xr_object/client/xr_anomaly.d.ts +50 -50
  68. package/types/xr_object/client/xr_artefact.d.ts +98 -98
  69. package/types/xr_object/client/xr_client_object.d.ts +76 -76
  70. package/types/xr_object/client/xr_creature.d.ts +164 -164
  71. package/types/xr_object/client/xr_item.d.ts +264 -264
  72. package/types/xr_object/client/xr_level.d.ts +285 -285
  73. package/types/xr_object/client/xr_physic.d.ts +214 -214
  74. package/types/xr_object/client/xr_zone.d.ts +47 -47
  75. package/types/xr_object/script/xr_script_interface.d.ts +584 -584
  76. package/types/xr_object/script/xr_script_object.d.ts +2408 -1390
  77. package/types/xr_object/script/xr_script_trade.d.ts +41 -26
  78. package/types/xr_object/server/xr_server_object.d.ts +794 -792
  79. package/types/xr_ui/xr_ui_asset.d.ts +129 -123
  80. package/types/xr_ui/xr_ui_core.d.ts +106 -97
  81. package/types/xr_ui/xr_ui_event.d.ts +383 -381
  82. package/types/xr_ui/xr_ui_interface.d.ts +901 -903
  83. package/types/xr_ui/xr_ui_menu.d.ts +142 -142
  84. package/types/xrf_plugin.d.ts +59 -51
@@ -1,584 +1,584 @@
1
- declare module "xray16" {
2
- /**
3
- * @source C++ class cover_point
4
- * @customConstructor cover_point
5
- * @group xr_script_interface
6
- */
7
- export class cover_point {
8
- private constructor();
9
-
10
- public level_vertex_id(): u32;
11
-
12
- public is_smart_cover(): boolean;
13
-
14
- public position(): vector;
15
- }
16
-
17
- /**
18
- * @source C++ class MonsterHitInfo
19
- * @customConstructor MonsterHitInfo
20
- * @group xr_script_interface
21
- */
22
- export class MonsterHitInfo extends EngineBinding {
23
- private constructor();
24
-
25
- public direction: vector;
26
-
27
- public time: i32;
28
-
29
- public who: game_object;
30
- }
31
-
32
- /**
33
- * Visibility state of bloodsucker.
34
- * Possible values are:
35
- * - unset = -1,
36
- * - no_visibility = 0,
37
- * - partial_visibility = 1,
38
- * - full_visibility = 2
39
- *
40
- * @source C++ enum visibility_t
41
- * @group xr_script_interface
42
- */
43
- export type TXR_bloodsucker_visibility_state = -1 | 0 | 1 | 2;
44
-
45
- /**
46
- * @source C++ enum visibility_t
47
- * @group xr_script_interface
48
- */
49
- export type TXR_game_object_path = 0 | 1 | 2 | 3 | number;
50
-
51
- /**
52
- * @source C++ class callback
53
- * @customConstructor callback
54
- * @group xr_script_interface
55
- */
56
- export class callback {
57
- /**
58
- * Default x-ray 16 callbacks.
59
- */
60
- public static readonly trade_start: 0;
61
- public static readonly trade_stop: 1;
62
- public static readonly trade_sell_buy_item: 2;
63
- public static readonly trade_perform_operation: 3;
64
- public static readonly zone_enter: 4;
65
- public static readonly zone_exit: 5;
66
- public static readonly level_border_exit: 6;
67
- public static readonly level_border_enter: 7;
68
- public static readonly death: 8;
69
- public static readonly patrol_path_in_point: 9;
70
- public static readonly inventory_pda: 10;
71
- public static readonly inventory_info: 11;
72
- public static readonly article_info: 12;
73
- public static readonly task_state: 13;
74
- public static readonly map_location_added: 14;
75
- public static readonly use_object: 15;
76
- public static readonly hit: 16;
77
- public static readonly sound: 17;
78
- public static readonly action_movement: 18;
79
- public static readonly action_watch: 19;
80
- public static readonly action_removed: 20;
81
- public static readonly action_animation: 21;
82
- public static readonly action_sound: 22;
83
- public static readonly action_particle: 23;
84
- public static readonly action_object: 24;
85
- public static readonly actor_sleep: 25;
86
- public static readonly helicopter_on_point: 26;
87
- public static readonly helicopter_on_hit: 27;
88
- public static readonly on_item_take: 28;
89
- public static readonly on_item_drop: 29;
90
- public static readonly script_animation: 30;
91
- public static readonly trader_global_anim_request: 31;
92
- public static readonly trader_head_anim_request: 32;
93
- public static readonly trader_sound_end: 33;
94
- public static readonly take_item_from_box: 34;
95
- public static readonly weapon_no_ammo: 35;
96
- public static readonly hud_animation_end: 36;
97
-
98
- public static readonly key_press: 37;
99
- public static readonly key_release: 38;
100
- public static readonly key_hold: 39;
101
- public static readonly mouse_move: 40;
102
- public static readonly mouse_wheel: 41;
103
- public static readonly controller_press: 42;
104
- public static readonly controller_release: 43;
105
- public static readonly controller_hold: 44;
106
- // public static readonly controller_attitude_change: 45;
107
-
108
- public static readonly item_to_belt: 46;
109
- public static readonly item_to_slot: 47;
110
- public static readonly item_to_ruck: 48;
111
-
112
- public static readonly weapon_zoom_in: 49;
113
- public static readonly weapon_zoom_out: 50;
114
- public static readonly weapon_jammed: 51;
115
- public static readonly weapon_magazine_empty: 52;
116
-
117
- public static readonly actor_before_death: 53;
118
- public static readonly on_attach_vehicle: 54;
119
- public static readonly on_detach_vehicle: 55;
120
- public static readonly on_use_vehicle: 56;
121
- }
122
-
123
- /**
124
- * @group xr_script_interface
125
- */
126
- export type TXR_callbacks = typeof callback;
127
-
128
- /**
129
- * @group xr_script_interface
130
- */
131
- export type TXR_callback = EnumeratedStaticsValues<TXR_callbacks>;
132
-
133
- /**
134
- * Custom extension.
135
- * For reference: src/xrGame/script_game_object_script.cpp
136
- *
137
- * @group xr_script_interface
138
- */
139
- class game_object_callbacks_implementation_base {
140
- /**
141
- * Remove callback.
142
- *
143
- * @param type - type of callback
144
- * @param cb - null to reset
145
- */
146
- public set_callback(type: TXR_callback, cb: null): void;
147
-
148
- /**
149
- * 0 todo;
150
- */
151
- public set_callback<T extends AnyObject>(
152
- type: TXR_callbacks["trade_start"],
153
- cb?: ((this: void) => void) | null,
154
- object?: Maybe<T>
155
- ): void;
156
-
157
- /**
158
- * 1 todo;
159
- */
160
- public set_callback<T extends AnyObject>(
161
- type: TXR_callbacks["trade_stop"],
162
- cb?: ((this: void) => void) | null,
163
- object?: Maybe<T>
164
- ): void;
165
-
166
- /**
167
- * 2 todo;
168
- */
169
- public set_callback<T extends AnyObject>(
170
- type: TXR_callbacks["trade_sell_buy_item"],
171
- cb?: ((this: void, item: game_object, money_direction: boolean, money: number) => void) | null,
172
- object?: Maybe<T>
173
- ): void;
174
-
175
- /**
176
- * 3 todo;
177
- */
178
- public set_callback<T extends AnyObject>(
179
- type: TXR_callbacks["trade_perform_operation"],
180
- cb?: ((this: void, money_get: u32, money_put: u32) => void) | null,
181
- object?: Maybe<T>
182
- ): void;
183
-
184
- /**
185
- * 4 todo;
186
- *
187
- * Works with script_zone objects.
188
- */
189
- public set_callback<T extends AnyObject>(
190
- type: TXR_callbacks["zone_enter"],
191
- cb?: ((this: void, zone: game_object, object: game_object) => void) | null,
192
- object?: Maybe<T>
193
- ): void;
194
-
195
- /**
196
- * 5 todo;
197
- *
198
- * Works with script_zone objects.
199
- */
200
- public set_callback<T extends AnyObject>(
201
- type: TXR_callbacks["zone_exit"],
202
- cb?: ((this: void, zone: game_object, object: game_object) => void) | null,
203
- object?: Maybe<T>
204
- ): void;
205
-
206
- /**
207
- * 6 todo;
208
- */
209
- public set_callback<T extends AnyObject>(
210
- type: TXR_callbacks["level_border_exit"],
211
- cb?: ((this: void, xobject: game_object) => void) | null,
212
- object?: Maybe<T>
213
- ): void;
214
-
215
- /**
216
- * 7 todo;
217
- */
218
- public set_callback<T extends AnyObject>(
219
- type: TXR_callbacks["level_border_enter"],
220
- cb?: ((this: void, xobject: game_object) => void) | null,
221
- object?: Maybe<T>
222
- ): void;
223
-
224
- /**
225
- * 8 todo;
226
- */
227
- public set_callback<T extends AnyObject>(
228
- type: TXR_callbacks["death"],
229
- cb?: (this: void, target: game_object, killer: game_object) => void,
230
- object?: Maybe<T>
231
- ): void;
232
-
233
- /**
234
- * 9 todo;
235
- */
236
- public set_callback<T extends AnyObject>(
237
- type: TXR_callbacks["patrol_path_in_point"],
238
- cb?: ((this: void, object: game_object, action_type: number, point_index: number) => void) | null,
239
- object?: Maybe<T>
240
- ): void;
241
-
242
- // 10 todo: inventory_pda -> implement in game engine
243
-
244
- /**
245
- * 11 todo:
246
- */
247
- public set_callback<T extends AnyObject>(
248
- type: TXR_callbacks["inventory_info"],
249
- cb?: ((this: void, npc: game_object, info_id: string) => void) | null,
250
- object?: Maybe<T>
251
- ): void;
252
-
253
- // 12 todo: article_info -> implement in game engine
254
-
255
- /**
256
- * 13 todo;
257
- */
258
- public set_callback<T extends AnyObject>(
259
- type: TXR_callbacks["task_state"],
260
- cb?: ((this: void, task: CGameTask, state: TXR_TaskState) => void) | null,
261
- object?: Maybe<T>
262
- ): void;
263
-
264
- /**
265
- * 14 todo;
266
- */
267
- public set_callback<T extends AnyObject>(
268
- type: TXR_callbacks["map_location_added"],
269
- cb?: ((this: void, spot_type: string, id: u16) => void) | null,
270
- object?: Maybe<T>
271
- ): void;
272
-
273
- /**
274
- * 15 Use some object.
275
- */
276
- public set_callback<T extends AnyObject>(
277
- type: TXR_callbacks["use_object"],
278
- cb?: ((this: void, object: game_object) => void) | null,
279
- object?: Maybe<T>
280
- ): void;
281
- public set_callback<T extends AnyObject>(
282
- type: TXR_callbacks["use_object"],
283
- cb?: ((this: void, object: game_object, who: game_object) => void) | null,
284
- object?: Maybe<T>
285
- ): void;
286
-
287
- /**
288
- * 16 Entity got hit.
289
- */
290
- public set_callback<T extends AnyObject>(
291
- type: TXR_callbacks["hit"],
292
- cb?:
293
- | ((
294
- this: void,
295
- object: game_object,
296
- damage: number,
297
- direction: vector,
298
- who: game_object,
299
- bone_id: number
300
- ) => void)
301
- | null,
302
- object?: Maybe<T>
303
- ): void;
304
-
305
- /**
306
- * 17 todo;
307
- */
308
- public set_callback<T extends AnyObject>(
309
- type: TXR_callbacks["sound"],
310
- cb?:
311
- | ((
312
- this: void,
313
- object: game_object,
314
- source_id: number,
315
- sound_type: TXR_snd_type,
316
- position: vector,
317
- sound_power: number
318
- ) => void)
319
- | null,
320
- object?: Maybe<T>
321
- ): void;
322
-
323
- /**
324
- * 18 todo;
325
- */
326
- public set_callback<T extends AnyObject>(
327
- type: TXR_callbacks["action_movement"],
328
- cb?: ((this: void, object: game_object, movement_type: u32 /* EMovementType */, unknown: -1) => void) | null,
329
- object?: Maybe<T>
330
- ): void;
331
-
332
- // 19 todo: action_watch
333
-
334
- // 20 todo: action_removed
335
-
336
- // 21 todo: action_animation
337
-
338
- // 22 todo: action_sound
339
-
340
- // 23 todo: action_particle
341
-
342
- // 24 todo: action_object
343
-
344
- // 25 todo: actor_sleep -> implement in game engine
345
-
346
- /**
347
- * 26 todo;
348
- */
349
- public set_callback<T extends AnyObject>(
350
- type: TXR_callbacks["helicopter_on_point"],
351
- cb?: ((this: void, distance: number, current_position: vector, vertex_id: number) => void) | null,
352
- object?: Maybe<T>
353
- ): void;
354
-
355
- /**
356
- * 27 todo;
357
- */
358
- public set_callback<T extends AnyObject>(
359
- type: TXR_callbacks["helicopter_on_hit"],
360
- cb?: ((this: void, damage: number, impulse: number, hit_type: number, who_id: number) => void) | null,
361
- object?: Maybe<T>
362
- ): void;
363
-
364
- /**
365
- * 28 todo;
366
- */
367
- public set_callback<T extends AnyObject>(
368
- type: TXR_callbacks["on_item_take"],
369
- cb?: ((this: void, object: game_object, item: game_object) => void) | null,
370
- object?: Maybe<T>
371
- ): void;
372
-
373
- /**
374
- * 29 todo;
375
- */
376
- public set_callback<T extends AnyObject>(
377
- type: TXR_callbacks["on_item_drop"],
378
- cb?: ((this: void, object: game_object, item: game_object) => void) | null,
379
- object?: Maybe<T>
380
- ): void;
381
-
382
- /**
383
- * 30 todo;
384
- */
385
- public set_callback<T extends AnyObject>(
386
- type: TXR_callbacks["script_animation"],
387
- cb?: ((this: void, skip_multi_anim_check?: boolean) => void) | null,
388
- object?: object | null
389
- ): void;
390
-
391
- /**
392
- * 31 todo;
393
- */
394
- public set_callback<T extends AnyObject>(
395
- type: TXR_callbacks["trader_global_anim_request"],
396
- cb?: ((this: void) => void) | null,
397
- object?: Maybe<T>
398
- ): void;
399
-
400
- /**
401
- * 32 todo;
402
- */
403
- public set_callback<T extends AnyObject>(
404
- type: TXR_callbacks["trader_head_anim_request"],
405
- cb?: ((this: void) => void) | null,
406
- object?: Maybe<T>
407
- ): void;
408
-
409
- /**
410
- * 33 todo;
411
- */
412
- public set_callback<T extends AnyObject>(
413
- type: TXR_callbacks["trader_sound_end"],
414
- cb?: ((this: void) => void) | null,
415
- object?: Maybe<T>
416
- ): void;
417
-
418
- /**
419
- * 34 todo;
420
- */
421
- public set_callback<T extends AnyObject>(
422
- type: TXR_callbacks["take_item_from_box"],
423
- cb?: ((this: void, object: game_object, box: game_object, item: game_object) => void) | null,
424
- object?: Maybe<T>
425
- ): void;
426
-
427
- /**
428
- * 35 Callback executed when weapon has no ammo to fire.
429
- */
430
- public set_callback<T extends AnyObject>(
431
- type: TXR_callbacks["weapon_no_ammo"],
432
- cb?: ((this: void, object: game_object, suitable_ammo_total: i32) => void) | null,
433
- object?: Maybe<T>
434
- ): void;
435
-
436
- /**
437
- * 36 Callback executed on hud animation stop.
438
- * Called from CHudItem class internals.
439
- */
440
- public set_callback<T extends AnyObject>(
441
- type: TXR_callbacks["hud_animation_end"],
442
- cb?:
443
- | ((
444
- this: void,
445
- object: game_object,
446
- hud_section: string,
447
- current_motion: string,
448
- state: u32,
449
- animation_slot: u32
450
- ) => void)
451
- | null,
452
- object?: Maybe<T>
453
- ): void;
454
-
455
- /**
456
- * 37 todo;
457
- */
458
- public set_callback<T extends AnyObject>(
459
- type: TXR_callbacks["key_press"],
460
- cb?: ((this: void, key: i32) => void) | null,
461
- object?: Maybe<T>
462
- ): void;
463
-
464
- /**
465
- * 38 todo;
466
- */
467
- public set_callback<T extends AnyObject>(
468
- type: TXR_callbacks["key_release"],
469
- cb?: ((this: void, key: i32) => void) | null,
470
- object?: Maybe<T>
471
- ): void;
472
-
473
- /**
474
- * 39 todo;
475
- */
476
- public set_callback<T extends AnyObject>(
477
- type: TXR_callbacks["key_hold"],
478
- cb?: ((this: void, key: i32) => void) | null,
479
- object?: Maybe<T>
480
- ): void;
481
-
482
- // 40 todo: mouse_move
483
-
484
- // 41 todo: mouse_wheel
485
-
486
- // 42 todo: controller_press
487
-
488
- // 43 todo: controller_release
489
-
490
- // 44 todo: controller_hold
491
-
492
- // 45 todo: controller_attitude_change
493
-
494
- /**
495
- * 46 todo: item_to_belt
496
- */
497
- public set_callback<T extends AnyObject>(
498
- type: TXR_callbacks["item_to_belt"],
499
- cb?: ((this: void, object: game_object) => void) | null,
500
- object?: Maybe<T>
501
- ): void;
502
-
503
- /**
504
- * 47 todo: item_to_slot
505
- */
506
- public set_callback<T extends AnyObject>(
507
- type: TXR_callbacks["item_to_slot"],
508
- cb?: ((this: void, object: game_object) => void) | null,
509
- object?: Maybe<T>
510
- ): void;
511
-
512
- /**
513
- * 48 todo: item_to_ruck
514
- */
515
- public set_callback<T extends AnyObject>(
516
- type: TXR_callbacks["item_to_ruck"],
517
- cb?: ((this: void, object: game_object) => void) | null,
518
- object?: Maybe<T>
519
- ): void;
520
-
521
- /**
522
- * 49 Callback executed when weapon is zoomed in.
523
- */
524
- public set_callback<T extends AnyObject>(
525
- type: TXR_callbacks["weapon_zoom_in"],
526
- cb?: ((this: void, owner: game_object, weapon: game_object) => void) | null,
527
- object?: Maybe<T>
528
- ): void;
529
-
530
- /**
531
- * 50 Callback executed when weapon is zoomed out.
532
- */
533
- public set_callback<T extends AnyObject>(
534
- type: TXR_callbacks["weapon_zoom_out"],
535
- cb?: ((this: void, owner: game_object, weapon: game_object) => void) | null,
536
- object?: Maybe<T>
537
- ): void;
538
-
539
- /**
540
- * 51 Callback executed when magazine ammo is elapsed and empty.
541
- */
542
- public set_callback<T extends AnyObject>(
543
- type: TXR_callbacks["weapon_jammed"],
544
- cb?: ((this: void, owner: game_object, weapon: game_object) => void) | null,
545
- object?: Maybe<T>
546
- ): void;
547
-
548
- /**
549
- * 52 Callback executed when magazine ammo is elapsed and empty.
550
- */
551
- public set_callback<T extends AnyObject>(
552
- type: TXR_callbacks["weapon_magazine_empty"],
553
- cb?: ((this: void, object: game_object, suitable_ammo_total: i32) => void) | null,
554
- object?: Maybe<T>
555
- ): void;
556
-
557
- /**
558
- * 53 todo: actor_before_death
559
- */
560
- public set_callback<T extends AnyObject>(
561
- type: TXR_callbacks["actor_before_death"],
562
- cb?: ((this: void, killer_id: u16) => void) | null,
563
- object?: Maybe<T>
564
- ): void;
565
-
566
- // 54 todo: on_attach_vehicle
567
-
568
- // 55 todo: on_detach_vehicle
569
-
570
- // 56 todo: on_use_vehicle
571
-
572
- public clear_callbacks(): void;
573
-
574
- public set_enemy_callback(cb: null): void;
575
-
576
- public set_enemy_callback<T>(cb: (this: T, object: game_object, enemy: game_object) => boolean, object: T): void;
577
-
578
- public set_fastcall<T>(cb: (this: T) => boolean, context: T): void;
579
-
580
- public set_patrol_extrapolate_callback(cb?: ((cur_pt: number) => boolean) | null, object?: object): void;
581
-
582
- public set_smart_cover_target_selector(cb?: ((object: game_object) => void) | null, object?: object | null): void;
583
- }
584
- }
1
+ declare module "xray16" {
2
+ /**
3
+ * @source C++ class cover_point
4
+ * @customConstructor cover_point
5
+ * @group xr_script_interface
6
+ */
7
+ export class cover_point {
8
+ private constructor();
9
+
10
+ public level_vertex_id(): u32;
11
+
12
+ public is_smart_cover(): boolean;
13
+
14
+ public position(): vector;
15
+ }
16
+
17
+ /**
18
+ * @source C++ class MonsterHitInfo
19
+ * @customConstructor MonsterHitInfo
20
+ * @group xr_script_interface
21
+ */
22
+ export class MonsterHitInfo extends EngineBinding {
23
+ private constructor();
24
+
25
+ public direction: vector;
26
+
27
+ public time: i32;
28
+
29
+ public who: game_object;
30
+ }
31
+
32
+ /**
33
+ * Visibility state of bloodsucker.
34
+ * Possible values are:
35
+ * - unset = -1,
36
+ * - no_visibility = 0,
37
+ * - partial_visibility = 1,
38
+ * - full_visibility = 2.
39
+ *
40
+ * @source C++ enum visibility_t
41
+ * @group xr_script_interface
42
+ */
43
+ export type TXR_bloodsucker_visibility_state = -1 | 0 | 1 | 2;
44
+
45
+ /**
46
+ * @source C++ enum visibility_t
47
+ * @group xr_script_interface
48
+ */
49
+ export type TXR_game_object_path = 0 | 1 | 2 | 3 | number;
50
+
51
+ /**
52
+ * @source C++ class callback
53
+ * @customConstructor callback
54
+ * @group xr_script_interface
55
+ */
56
+ export class callback {
57
+ /**
58
+ * Default x-ray 16 callbacks.
59
+ */
60
+ public static readonly trade_start: 0;
61
+ public static readonly trade_stop: 1;
62
+ public static readonly trade_sell_buy_item: 2;
63
+ public static readonly trade_perform_operation: 3;
64
+ public static readonly zone_enter: 4;
65
+ public static readonly zone_exit: 5;
66
+ public static readonly level_border_exit: 6;
67
+ public static readonly level_border_enter: 7;
68
+ public static readonly death: 8;
69
+ public static readonly patrol_path_in_point: 9;
70
+ public static readonly inventory_pda: 10;
71
+ public static readonly inventory_info: 11;
72
+ public static readonly article_info: 12;
73
+ public static readonly task_state: 13;
74
+ public static readonly map_location_added: 14;
75
+ public static readonly use_object: 15;
76
+ public static readonly hit: 16;
77
+ public static readonly sound: 17;
78
+ public static readonly action_movement: 18;
79
+ public static readonly action_watch: 19;
80
+ public static readonly action_removed: 20;
81
+ public static readonly action_animation: 21;
82
+ public static readonly action_sound: 22;
83
+ public static readonly action_particle: 23;
84
+ public static readonly action_object: 24;
85
+ public static readonly actor_sleep: 25;
86
+ public static readonly helicopter_on_point: 26;
87
+ public static readonly helicopter_on_hit: 27;
88
+ public static readonly on_item_take: 28;
89
+ public static readonly on_item_drop: 29;
90
+ public static readonly script_animation: 30;
91
+ public static readonly trader_global_anim_request: 31;
92
+ public static readonly trader_head_anim_request: 32;
93
+ public static readonly trader_sound_end: 33;
94
+ public static readonly take_item_from_box: 34;
95
+ public static readonly weapon_no_ammo: 35;
96
+ public static readonly hud_animation_end: 36;
97
+
98
+ public static readonly key_press: 37;
99
+ public static readonly key_release: 38;
100
+ public static readonly key_hold: 39;
101
+ public static readonly mouse_move: 40;
102
+ public static readonly mouse_wheel: 41;
103
+ public static readonly controller_press: 42;
104
+ public static readonly controller_release: 43;
105
+ public static readonly controller_hold: 44;
106
+ // Public static readonly controller_attitude_change: 45;
107
+
108
+ public static readonly item_to_belt: 46;
109
+ public static readonly item_to_slot: 47;
110
+ public static readonly item_to_ruck: 48;
111
+
112
+ public static readonly weapon_zoom_in: 49;
113
+ public static readonly weapon_zoom_out: 50;
114
+ public static readonly weapon_jammed: 51;
115
+ public static readonly weapon_magazine_empty: 52;
116
+
117
+ public static readonly actor_before_death: 53;
118
+ public static readonly on_attach_vehicle: 54;
119
+ public static readonly on_detach_vehicle: 55;
120
+ public static readonly on_use_vehicle: 56;
121
+ }
122
+
123
+ /**
124
+ * @group xr_script_interface
125
+ */
126
+ export type TXR_callbacks = typeof callback;
127
+
128
+ /**
129
+ * @group xr_script_interface
130
+ */
131
+ export type TXR_callback = EnumeratedStaticsValues<TXR_callbacks>;
132
+
133
+ /**
134
+ * Custom extension.
135
+ * For reference: src/xrGame/script_game_object_script.cpp.
136
+ *
137
+ * @group xr_script_interface
138
+ */
139
+ class game_object_callbacks_implementation_base {
140
+ /**
141
+ * Remove callback.
142
+ *
143
+ * @param type - Type of callback.
144
+ * @param cb - Null to reset.
145
+ */
146
+ public set_callback(type: TXR_callback, cb: null): void;
147
+
148
+ /**
149
+ * 0 todo;.
150
+ */
151
+ public set_callback<T extends AnyObject>(
152
+ type: TXR_callbacks["trade_start"],
153
+ cb?: ((this: void) => void) | null,
154
+ object?: Maybe<T>
155
+ ): void;
156
+
157
+ /**
158
+ * 1 todo;.
159
+ */
160
+ public set_callback<T extends AnyObject>(
161
+ type: TXR_callbacks["trade_stop"],
162
+ cb?: ((this: void) => void) | null,
163
+ object?: Maybe<T>
164
+ ): void;
165
+
166
+ /**
167
+ * 2 todo;.
168
+ */
169
+ public set_callback<T extends AnyObject>(
170
+ type: TXR_callbacks["trade_sell_buy_item"],
171
+ cb?: ((this: void, item: game_object, money_direction: boolean, money: number) => void) | null,
172
+ object?: Maybe<T>
173
+ ): void;
174
+
175
+ /**
176
+ * 3 todo;.
177
+ */
178
+ public set_callback<T extends AnyObject>(
179
+ type: TXR_callbacks["trade_perform_operation"],
180
+ cb?: ((this: void, money_get: u32, money_put: u32) => void) | null,
181
+ object?: Maybe<T>
182
+ ): void;
183
+
184
+ /**
185
+ * 4 todo;
186
+ *
187
+ * Works with script_zone objects.
188
+ */
189
+ public set_callback<T extends AnyObject>(
190
+ type: TXR_callbacks["zone_enter"],
191
+ cb?: ((this: void, zone: game_object, object: game_object) => void) | null,
192
+ object?: Maybe<T>
193
+ ): void;
194
+
195
+ /**
196
+ * 5 todo;
197
+ *
198
+ * Works with script_zone objects.
199
+ */
200
+ public set_callback<T extends AnyObject>(
201
+ type: TXR_callbacks["zone_exit"],
202
+ cb?: ((this: void, zone: game_object, object: game_object) => void) | null,
203
+ object?: Maybe<T>
204
+ ): void;
205
+
206
+ /**
207
+ * 6 todo;.
208
+ */
209
+ public set_callback<T extends AnyObject>(
210
+ type: TXR_callbacks["level_border_exit"],
211
+ cb?: ((this: void, xobject: game_object) => void) | null,
212
+ object?: Maybe<T>
213
+ ): void;
214
+
215
+ /**
216
+ * 7 todo;.
217
+ */
218
+ public set_callback<T extends AnyObject>(
219
+ type: TXR_callbacks["level_border_enter"],
220
+ cb?: ((this: void, xobject: game_object) => void) | null,
221
+ object?: Maybe<T>
222
+ ): void;
223
+
224
+ /**
225
+ * 8 todo;.
226
+ */
227
+ public set_callback<T extends AnyObject>(
228
+ type: TXR_callbacks["death"],
229
+ cb?: (this: void, target: game_object, killer: game_object) => void,
230
+ object?: Maybe<T>
231
+ ): void;
232
+
233
+ /**
234
+ * 9 todo;.
235
+ */
236
+ public set_callback<T extends AnyObject>(
237
+ type: TXR_callbacks["patrol_path_in_point"],
238
+ cb?: ((this: void, object: game_object, action_type: number, point_index: number) => void) | null,
239
+ object?: Maybe<T>
240
+ ): void;
241
+
242
+ // 10 todo: inventory_pda -> implement in game engine
243
+
244
+ /**
245
+ * 11 todo:
246
+ */
247
+ public set_callback<T extends AnyObject>(
248
+ type: TXR_callbacks["inventory_info"],
249
+ cb?: ((this: void, npc: game_object, info_id: string) => void) | null,
250
+ object?: Maybe<T>
251
+ ): void;
252
+
253
+ // 12 todo: article_info -> implement in game engine
254
+
255
+ /**
256
+ * 13 todo;.
257
+ */
258
+ public set_callback<T extends AnyObject>(
259
+ type: TXR_callbacks["task_state"],
260
+ cb?: ((this: void, task: CGameTask, state: TXR_TaskState) => void) | null,
261
+ object?: Maybe<T>
262
+ ): void;
263
+
264
+ /**
265
+ * 14 todo;.
266
+ */
267
+ public set_callback<T extends AnyObject>(
268
+ type: TXR_callbacks["map_location_added"],
269
+ cb?: ((this: void, spot_type: string, id: u16) => void) | null,
270
+ object?: Maybe<T>
271
+ ): void;
272
+
273
+ /**
274
+ * 15 Use some object.
275
+ */
276
+ public set_callback<T extends AnyObject>(
277
+ type: TXR_callbacks["use_object"],
278
+ cb?: ((this: void, object: game_object) => void) | null,
279
+ object?: Maybe<T>
280
+ ): void;
281
+ public set_callback<T extends AnyObject>(
282
+ type: TXR_callbacks["use_object"],
283
+ cb?: ((this: void, object: game_object, who: game_object) => void) | null,
284
+ object?: Maybe<T>
285
+ ): void;
286
+
287
+ /**
288
+ * 16 Entity got hit.
289
+ */
290
+ public set_callback<T extends AnyObject>(
291
+ type: TXR_callbacks["hit"],
292
+ cb?:
293
+ | ((
294
+ this: void,
295
+ object: game_object,
296
+ damage: number,
297
+ direction: vector,
298
+ who: game_object,
299
+ bone_id: number
300
+ ) => void)
301
+ | null,
302
+ object?: Maybe<T>
303
+ ): void;
304
+
305
+ /**
306
+ * 17 todo;.
307
+ */
308
+ public set_callback<T extends AnyObject>(
309
+ type: TXR_callbacks["sound"],
310
+ cb?:
311
+ | ((
312
+ this: void,
313
+ object: game_object,
314
+ source_id: number,
315
+ sound_type: TXR_snd_type,
316
+ position: vector,
317
+ sound_power: number
318
+ ) => void)
319
+ | null,
320
+ object?: Maybe<T>
321
+ ): void;
322
+
323
+ /**
324
+ * 18 todo;.
325
+ */
326
+ public set_callback<T extends AnyObject>(
327
+ type: TXR_callbacks["action_movement"],
328
+ cb?: ((this: void, object: game_object, movement_type: u32 /* EMovementType */, unknown: -1) => void) | null,
329
+ object?: Maybe<T>
330
+ ): void;
331
+
332
+ // 19 todo: action_watch
333
+
334
+ // 20 todo: action_removed
335
+
336
+ // 21 todo: action_animation
337
+
338
+ // 22 todo: action_sound
339
+
340
+ // 23 todo: action_particle
341
+
342
+ // 24 todo: action_object
343
+
344
+ // 25 todo: actor_sleep -> implement in game engine
345
+
346
+ /**
347
+ * 26 todo;.
348
+ */
349
+ public set_callback<T extends AnyObject>(
350
+ type: TXR_callbacks["helicopter_on_point"],
351
+ cb?: ((this: void, distance: number, current_position: vector, vertex_id: number) => void) | null,
352
+ object?: Maybe<T>
353
+ ): void;
354
+
355
+ /**
356
+ * 27 todo;.
357
+ */
358
+ public set_callback<T extends AnyObject>(
359
+ type: TXR_callbacks["helicopter_on_hit"],
360
+ cb?: ((this: void, damage: number, impulse: number, hit_type: number, who_id: number) => void) | null,
361
+ object?: Maybe<T>
362
+ ): void;
363
+
364
+ /**
365
+ * 28 todo;.
366
+ */
367
+ public set_callback<T extends AnyObject>(
368
+ type: TXR_callbacks["on_item_take"],
369
+ cb?: ((this: void, object: game_object, item: game_object) => void) | null,
370
+ object?: Maybe<T>
371
+ ): void;
372
+
373
+ /**
374
+ * 29 todo;.
375
+ */
376
+ public set_callback<T extends AnyObject>(
377
+ type: TXR_callbacks["on_item_drop"],
378
+ cb?: ((this: void, object: game_object, item: game_object) => void) | null,
379
+ object?: Maybe<T>
380
+ ): void;
381
+
382
+ /**
383
+ * 30 todo;.
384
+ */
385
+ public set_callback<T extends AnyObject>(
386
+ type: TXR_callbacks["script_animation"],
387
+ cb?: ((this: void, skip_multi_anim_check?: boolean) => void) | null,
388
+ object?: object | null
389
+ ): void;
390
+
391
+ /**
392
+ * 31 todo;.
393
+ */
394
+ public set_callback<T extends AnyObject>(
395
+ type: TXR_callbacks["trader_global_anim_request"],
396
+ cb?: ((this: void) => void) | null,
397
+ object?: Maybe<T>
398
+ ): void;
399
+
400
+ /**
401
+ * 32 todo;.
402
+ */
403
+ public set_callback<T extends AnyObject>(
404
+ type: TXR_callbacks["trader_head_anim_request"],
405
+ cb?: ((this: void) => void) | null,
406
+ object?: Maybe<T>
407
+ ): void;
408
+
409
+ /**
410
+ * 33 todo;.
411
+ */
412
+ public set_callback<T extends AnyObject>(
413
+ type: TXR_callbacks["trader_sound_end"],
414
+ cb?: ((this: void) => void) | null,
415
+ object?: Maybe<T>
416
+ ): void;
417
+
418
+ /**
419
+ * 34 todo;.
420
+ */
421
+ public set_callback<T extends AnyObject>(
422
+ type: TXR_callbacks["take_item_from_box"],
423
+ cb?: ((this: void, object: game_object, box: game_object, item: game_object) => void) | null,
424
+ object?: Maybe<T>
425
+ ): void;
426
+
427
+ /**
428
+ * 35 Callback executed when weapon has no ammo to fire.
429
+ */
430
+ public set_callback<T extends AnyObject>(
431
+ type: TXR_callbacks["weapon_no_ammo"],
432
+ cb?: ((this: void, object: game_object, suitable_ammo_total: i32) => void) | null,
433
+ object?: Maybe<T>
434
+ ): void;
435
+
436
+ /**
437
+ * 36 Callback executed on hud animation stop.
438
+ * Called from CHudItem class internals.
439
+ */
440
+ public set_callback<T extends AnyObject>(
441
+ type: TXR_callbacks["hud_animation_end"],
442
+ cb?:
443
+ | ((
444
+ this: void,
445
+ object: game_object,
446
+ hud_section: string,
447
+ current_motion: string,
448
+ state: u32,
449
+ animation_slot: u32
450
+ ) => void)
451
+ | null,
452
+ object?: Maybe<T>
453
+ ): void;
454
+
455
+ /**
456
+ * 37 todo;.
457
+ */
458
+ public set_callback<T extends AnyObject>(
459
+ type: TXR_callbacks["key_press"],
460
+ cb?: ((this: void, key: i32) => void) | null,
461
+ object?: Maybe<T>
462
+ ): void;
463
+
464
+ /**
465
+ * 38 todo;.
466
+ */
467
+ public set_callback<T extends AnyObject>(
468
+ type: TXR_callbacks["key_release"],
469
+ cb?: ((this: void, key: i32) => void) | null,
470
+ object?: Maybe<T>
471
+ ): void;
472
+
473
+ /**
474
+ * 39 todo;.
475
+ */
476
+ public set_callback<T extends AnyObject>(
477
+ type: TXR_callbacks["key_hold"],
478
+ cb?: ((this: void, key: i32) => void) | null,
479
+ object?: Maybe<T>
480
+ ): void;
481
+
482
+ // 40 todo: mouse_move
483
+
484
+ // 41 todo: mouse_wheel
485
+
486
+ // 42 todo: controller_press
487
+
488
+ // 43 todo: controller_release
489
+
490
+ // 44 todo: controller_hold
491
+
492
+ // 45 todo: controller_attitude_change
493
+
494
+ /**
495
+ * 46 todo: item_to_belt.
496
+ */
497
+ public set_callback<T extends AnyObject>(
498
+ type: TXR_callbacks["item_to_belt"],
499
+ cb?: ((this: void, object: game_object) => void) | null,
500
+ object?: Maybe<T>
501
+ ): void;
502
+
503
+ /**
504
+ * 47 todo: item_to_slot.
505
+ */
506
+ public set_callback<T extends AnyObject>(
507
+ type: TXR_callbacks["item_to_slot"],
508
+ cb?: ((this: void, object: game_object) => void) | null,
509
+ object?: Maybe<T>
510
+ ): void;
511
+
512
+ /**
513
+ * 48 todo: item_to_ruck.
514
+ */
515
+ public set_callback<T extends AnyObject>(
516
+ type: TXR_callbacks["item_to_ruck"],
517
+ cb?: ((this: void, object: game_object) => void) | null,
518
+ object?: Maybe<T>
519
+ ): void;
520
+
521
+ /**
522
+ * 49 Callback executed when weapon is zoomed in.
523
+ */
524
+ public set_callback<T extends AnyObject>(
525
+ type: TXR_callbacks["weapon_zoom_in"],
526
+ cb?: ((this: void, owner: game_object, weapon: game_object) => void) | null,
527
+ object?: Maybe<T>
528
+ ): void;
529
+
530
+ /**
531
+ * 50 Callback executed when weapon is zoomed out.
532
+ */
533
+ public set_callback<T extends AnyObject>(
534
+ type: TXR_callbacks["weapon_zoom_out"],
535
+ cb?: ((this: void, owner: game_object, weapon: game_object) => void) | null,
536
+ object?: Maybe<T>
537
+ ): void;
538
+
539
+ /**
540
+ * 51 Callback executed when magazine ammo is elapsed and empty.
541
+ */
542
+ public set_callback<T extends AnyObject>(
543
+ type: TXR_callbacks["weapon_jammed"],
544
+ cb?: ((this: void, owner: game_object, weapon: game_object) => void) | null,
545
+ object?: Maybe<T>
546
+ ): void;
547
+
548
+ /**
549
+ * 52 Callback executed when magazine ammo is elapsed and empty.
550
+ */
551
+ public set_callback<T extends AnyObject>(
552
+ type: TXR_callbacks["weapon_magazine_empty"],
553
+ cb?: ((this: void, object: game_object, suitable_ammo_total: i32) => void) | null,
554
+ object?: Maybe<T>
555
+ ): void;
556
+
557
+ /**
558
+ * 53 todo: actor_before_death.
559
+ */
560
+ public set_callback<T extends AnyObject>(
561
+ type: TXR_callbacks["actor_before_death"],
562
+ cb?: ((this: void, killer_id: u16) => void) | null,
563
+ object?: Maybe<T>
564
+ ): void;
565
+
566
+ // 54 todo: on_attach_vehicle
567
+
568
+ // 55 todo: on_detach_vehicle
569
+
570
+ // 56 todo: on_use_vehicle
571
+
572
+ public clear_callbacks(): void;
573
+
574
+ public set_enemy_callback(cb: null): void;
575
+
576
+ public set_enemy_callback<T>(cb: (this: T, object: game_object, enemy: game_object) => boolean, object: T): void;
577
+
578
+ public set_fastcall<T>(cb: (this: T) => boolean, context: T): void;
579
+
580
+ public set_patrol_extrapolate_callback(cb?: ((cur_pt: number) => boolean) | null, object?: object): void;
581
+
582
+ public set_smart_cover_target_selector(cb?: ((object: game_object) => void) | null, object?: object | null): void;
583
+ }
584
+ }