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,294 +1,991 @@
1
1
  declare module "xray16" {
2
2
  /**
3
+ * Metadata stored inside a recorded multiplayer demo.
4
+ *
3
5
  * @source C++ class demo_info
4
6
  * @customConstructor demo_info
5
7
  * @group xr_multiplayer
8
+ *
9
+ * @remarks
10
+ * Read-only metadata from a recorded multiplayer demo file.
6
11
  */
7
12
  export class demo_info {
13
+ /**
14
+ * Engine-created demo metadata.
15
+ */
8
16
  protected constructor();
9
17
 
18
+ /**
19
+ * @returns Demo author name.
20
+ */
10
21
  public get_author_name(): string;
22
+
23
+ /**
24
+ * @returns Saved game score string.
25
+ */
11
26
  public get_game_score(): string;
27
+
28
+ /**
29
+ * @returns Multiplayer game type name.
30
+ */
12
31
  public get_game_type(): string;
32
+
33
+ /**
34
+ * @returns Map name used by the demo.
35
+ */
13
36
  public get_map_name(): string;
37
+
38
+ /**
39
+ * @returns Map version string.
40
+ */
14
41
  public get_map_version(): string;
42
+
43
+ /**
44
+ * Get saved player stats by index.
45
+ *
46
+ * @remarks
47
+ * Index must be lower than {@link demo_info.get_players_count}.
48
+ *
49
+ * @param value - Zero-based player index.
50
+ * @returns Demo player info.
51
+ */
15
52
  public get_player(value: u32): demo_player_info;
53
+
54
+ /**
55
+ * @returns Number of saved players.
56
+ */
16
57
  public get_players_count(): u32;
17
58
  }
18
59
 
19
60
  /**
61
+ * Player stats saved inside a recorded multiplayer demo.
62
+ *
20
63
  * @source C++ class demo_player_info
21
64
  * @customConstructor demo_player_info
22
65
  * @group xr_multiplayer
23
66
  */
24
67
  export class demo_player_info {
68
+ /**
69
+ * @returns Captured artefact count.
70
+ */
25
71
  public get_artefacts(): u16;
72
+
73
+ /**
74
+ * @returns Death count.
75
+ */
26
76
  public get_deaths(): i16;
77
+
78
+ /**
79
+ * @returns Frag count.
80
+ */
27
81
  public get_frags(): i16;
82
+
83
+ /**
84
+ * @returns Player name.
85
+ */
28
86
  public get_name(): string;
87
+
88
+ /**
89
+ * @returns Player rank.
90
+ */
29
91
  public get_rank(): u8;
92
+
93
+ /**
94
+ * @returns Score points.
95
+ */
30
96
  public get_spots(): i16;
97
+
98
+ /**
99
+ * @returns Multiplayer team id.
100
+ */
31
101
  public get_team(): u8;
32
102
  }
33
103
 
34
104
  /**
105
+ * Server browser filters used by the multiplayer UI.
106
+ *
35
107
  * @source C++ class SServerFilters
36
108
  * @customConstructor SServerFilters
37
109
  * @group xr_multiplayer
38
110
  */
39
111
  export class SServerFilters {
112
+ /**
113
+ * Include empty servers.
114
+ */
40
115
  public empty: boolean;
116
+
117
+ /**
118
+ * Include full servers.
119
+ */
41
120
  public full: boolean;
121
+
122
+ /**
123
+ * Include listen servers.
124
+ */
42
125
  public listen_servers: boolean;
126
+
127
+ /**
128
+ * Include password-protected servers.
129
+ */
43
130
  public with_pass: boolean;
131
+
132
+ /**
133
+ * Include servers without friendly fire.
134
+ */
44
135
  public without_ff: boolean;
136
+
137
+ /**
138
+ * Include servers without a password.
139
+ */
45
140
  public without_pass: boolean;
46
141
 
142
+ /**
143
+ * Create default server browser filters.
144
+ */
47
145
  public constructor();
48
146
  }
49
147
 
50
148
  /**
149
+ * GameSpy profile returned by login operations.
150
+ *
51
151
  * @source C++ class profile
52
152
  * @customConstructor XR_profile
53
153
  * @group xr_multiplayer
54
154
  */
55
155
  export class profile {
156
+ /**
157
+ * @returns Unique GameSpy nick.
158
+ */
56
159
  public unique_nick(): string;
160
+
161
+ /**
162
+ * @returns Whether the profile is online.
163
+ */
57
164
  public online(): boolean;
58
165
  }
59
166
 
60
167
  /**
168
+ * GameSpy account operations used by multiplayer menus.
169
+ *
61
170
  * @source C++ class account_manager
62
171
  * @customConstructor account_manager
63
172
  * @group xr_multiplayer
173
+ *
174
+ * @remarks
175
+ * Main-menu GameSpy account service. Requests are asynchronous, but validation errors may call the callback
176
+ * immediately before any network work starts.
64
177
  */
65
178
  export class account_manager {
179
+ /**
180
+ * Engine-owned account manager singleton.
181
+ */
66
182
  private constructor();
67
183
 
184
+ /**
185
+ * Create a GameSpy profile.
186
+ *
187
+ * @remarks
188
+ * Validates nickname, unique nick, email, and password before sending the request. On validation failure the
189
+ * callback receives a translated status key and no profile is created.
190
+ *
191
+ * @param acc - Account name.
192
+ * @param nick - Public nickname.
193
+ * @param mail - Account email.
194
+ * @param password - Account password.
195
+ * @param cb - Completion callback.
196
+ */
68
197
  public create_profile(acc: string, nick: string, mail: string, password: string, cb: account_profiles_cb): void;
198
+
199
+ /**
200
+ * Delete the currently logged-in profile.
201
+ *
202
+ * @remarks
203
+ * Requires an online current profile. Without one, the callback reports a not-logged-in status.
204
+ *
205
+ * @param operation - Completion callback.
206
+ */
69
207
  public delete_profile(operation: account_operation_cb): void;
208
+
209
+ /**
210
+ * Fetch profiles registered for an account.
211
+ *
212
+ * @remarks
213
+ * Clears previous profile-search results before starting the request. Use
214
+ * {@link account_manager.get_found_profiles} after the completion callback.
215
+ *
216
+ * @param email - Account email.
217
+ * @param password - Account password.
218
+ * @param cb - Completion callback.
219
+ */
70
220
  public get_account_profiles(email: string, password: string, cb: account_profiles_cb): unknown;
221
+
222
+ /**
223
+ * Get profiles found by the last email search.
224
+ *
225
+ * @remarks
226
+ * Result list is replaced by each account-profile fetch.
227
+ *
228
+ * @returns Profiles found by the last email search.
229
+ */
71
230
  public get_found_profiles(): LuaIterable<string>;
231
+
232
+ /**
233
+ * Get unique nick suggestions from the last request.
234
+ *
235
+ * @remarks
236
+ * Result list is replaced by each suggestion request.
237
+ *
238
+ * @returns Unique nick suggestions from the last request.
239
+ */
72
240
  public get_suggested_unicks(): LuaIterable<string>;
241
+
242
+ /**
243
+ * @returns Description of the last validation failure.
244
+ */
73
245
  public get_verify_error_descr(): string;
246
+
247
+ /**
248
+ * Search for an account email.
249
+ *
250
+ * @remarks
251
+ * Empty emails are rejected immediately through the callback.
252
+ *
253
+ * @param email - Email to search.
254
+ * @param cb - Completion callback.
255
+ */
74
256
  public search_for_email(email: string, cb: found_email_cb): void;
257
+
258
+ /**
259
+ * Stop the active profile fetch request.
260
+ *
261
+ * @remarks
262
+ * Safe to call when no fetch is active.
263
+ */
75
264
  public stop_fetching_account_profiles(): void;
265
+
266
+ /**
267
+ * Stop the active email search request.
268
+ *
269
+ * @remarks
270
+ * Safe to call when no search is active.
271
+ */
76
272
  public stop_searching_email(): void;
273
+
274
+ /**
275
+ * Stop the active nick suggestion request.
276
+ *
277
+ * @remarks
278
+ * Safe to call when no suggestion request is active.
279
+ */
77
280
  public stop_suggest_unique_nicks(): void;
281
+
282
+ /**
283
+ * Request unique nick suggestions.
284
+ *
285
+ * @remarks
286
+ * Starts an asynchronous request and replaces the previous suggestion list when it completes.
287
+ *
288
+ * @param nick - Desired nick.
289
+ * @param b - Completion callback.
290
+ */
78
291
  public suggest_unique_nicks(nick: string, b: suggest_nicks_cb): void;
292
+
293
+ /**
294
+ * Validate email syntax.
295
+ *
296
+ * @param email - Email to validate.
297
+ * @returns Whether the email is accepted.
298
+ */
79
299
  public verify_email(email: string): boolean;
300
+
301
+ /**
302
+ * Validate password syntax.
303
+ *
304
+ * @param password - Password to validate.
305
+ * @returns Whether the password is accepted.
306
+ */
80
307
  public verify_password(password: string): boolean;
308
+
309
+ /**
310
+ * Validate unique nick syntax.
311
+ *
312
+ * @param nick - Nick to validate.
313
+ * @returns Whether the nick is accepted.
314
+ */
81
315
  public verify_unique_nick(nick: string): boolean;
316
+
317
+ /**
318
+ * @returns Whether profile fetching is active.
319
+ */
82
320
  public is_get_account_profiles_active(): boolean;
321
+
322
+ /**
323
+ * @returns Whether email search is active.
324
+ */
83
325
  public is_email_searching_active(): boolean;
84
326
  }
85
327
 
86
328
  /**
329
+ * Multiplayer login and saved credential operations.
330
+ *
87
331
  * @source C++ class login_manager
88
332
  * @customConstructor login_manager
89
333
  * @group xr_multiplayer
334
+ *
335
+ * @remarks
336
+ * Main-menu login service with one current profile. Log out before starting another online login.
90
337
  */
91
338
  export class login_manager {
339
+ /**
340
+ * Engine-owned login manager singleton.
341
+ */
92
342
  private constructor();
93
343
 
344
+ /**
345
+ * Open the password recovery URL through the engine.
346
+ *
347
+ * @param url - Recovery page URL.
348
+ */
94
349
  public forgot_password(url: string): void;
350
+
351
+ /**
352
+ * Get the current logged-in profile.
353
+ *
354
+ * @remarks
355
+ * Offline login also creates a profile object, but it is not an online GameSpy session.
356
+ *
357
+ * @returns Current logged-in profile, or null when offline.
358
+ */
95
359
  public get_current_profile(): profile | null;
360
+
361
+ /**
362
+ * @returns Saved email from registry.
363
+ */
96
364
  public get_email_from_registry(): string;
365
+
366
+ /**
367
+ * @returns Saved nick from registry.
368
+ */
97
369
  public get_nick_from_registry(): string;
370
+
371
+ /**
372
+ * @returns Saved password from registry.
373
+ */
98
374
  public get_password_from_registry(): string;
375
+
376
+ /**
377
+ * @returns Saved remember-me flag.
378
+ */
99
379
  public get_remember_me_from_registry(): boolean;
380
+
381
+ /**
382
+ * Log in to a GameSpy account.
383
+ *
384
+ * @remarks
385
+ * Starts an asynchronous login. If another profile is already active, native code reports that logout is needed
386
+ * first.
387
+ *
388
+ * @param mail - Account email.
389
+ * @param profile - Profile nick.
390
+ * @param password - Account password.
391
+ * @param cb - Completion callback.
392
+ */
100
393
  public login(mail: string, profile: string, password: string, cb: login_operation_cb): void;
394
+
395
+ /**
396
+ * Create an offline login profile.
397
+ *
398
+ * @remarks
399
+ * Rejects empty or whitespace-only nicknames. Does not contact GameSpy.
400
+ *
401
+ * @param nick - Offline nick.
402
+ * @param cb - Completion callback.
403
+ */
101
404
  public login_offline(nick: string, cb: login_operation_cb): void;
405
+
406
+ /**
407
+ * Log out and clear current profile state.
408
+ *
409
+ * @remarks
410
+ * Online profiles disconnect from GameSpy. Any account-manager requests tied to the session may need to be
411
+ * restarted afterward.
412
+ */
102
413
  public logout(): void;
414
+
415
+ /**
416
+ * Save account email to registry.
417
+ */
103
418
  public save_email_to_registry(email: string): void;
419
+
420
+ /**
421
+ * Save nick to registry.
422
+ */
104
423
  public save_nick_to_registry(nick: string): void;
424
+
425
+ /**
426
+ * Save password to registry.
427
+ */
105
428
  public save_password_to_registry(password: string): void;
429
+
430
+ /**
431
+ * Save remember-me flag to registry.
432
+ */
106
433
  public save_remember_me_to_registry(remember_me: boolean): void;
434
+
435
+ /**
436
+ * Change the unique nick for the current profile.
437
+ *
438
+ * @remarks
439
+ * Requires a current profile and a non-empty unique nick. Offline profiles update locally; online profiles send a
440
+ * GameSpy request.
441
+ *
442
+ * @param nick - New unique nick.
443
+ * @param cb - Completion callback.
444
+ */
107
445
  public set_unique_nick(nick: string, cb: login_operation_cb): void;
446
+
447
+ /**
448
+ * Stop the active login request.
449
+ *
450
+ * @remarks
451
+ * Safe to call when no login is active.
452
+ */
108
453
  public stop_login(): void;
454
+
455
+ /**
456
+ * Stop the active unique-nick change request.
457
+ *
458
+ * @remarks
459
+ * Safe to call when no unique-nick request is active.
460
+ */
109
461
  public stop_setting_unique_nick(): void;
110
462
  }
111
463
 
112
464
  /**
465
+ * Multiplayer data binding for `award_pair_t`.
466
+ *
113
467
  * @source C++ class award_pair_t
114
468
  * @customConstructor award_pair_t
115
469
  * @group xr_multiplayer
116
470
  */
117
471
  export class award_pair_t {
472
+ /**
473
+ * Award id and value for the pair key.
474
+ */
118
475
  public readonly first: award_data;
476
+
477
+ /**
478
+ * Award id and value for the pair payload.
479
+ */
119
480
  public readonly second: award_data;
120
481
  }
121
482
 
122
483
  /**
484
+ * Multiplayer data binding for `best_scores_pair_t`.
485
+ *
123
486
  * @source C++ class best_scores_pair_t
124
487
  * @customConstructor best_scores_pair_t
125
488
  * @group xr_multiplayer
126
489
  */
127
490
  export class best_scores_pair_t {
491
+ /**
492
+ * Best-score id and value for the pair key.
493
+ */
128
494
  public first: award_data;
495
+
496
+ /**
497
+ * Best-score id and value for the pair payload.
498
+ */
129
499
  public second: award_data;
130
500
  }
131
501
 
132
502
  /**
503
+ * Multiplayer callback binding for `account_profiles_cb`.
504
+ *
133
505
  * @source C++ class account_profiles_cb
134
506
  * @customConstructor account_profiles_cb
135
507
  * @group xr_multiplayer
508
+ *
509
+ * @remarks
510
+ * Keeps the Lua callback target and function together for asynchronous account requests.
136
511
  */
137
512
  export class account_profiles_cb {
513
+ /**
514
+ * @param object - Lua object used as callback `this`.
515
+ * @param cb - Called with profile count and status description.
516
+ */
138
517
  public constructor(object: object, cb: (this: object, code: number, description: string) => void);
139
518
 
519
+ /**
520
+ * Replace the bound callback.
521
+ *
522
+ * @param object - Lua object used as callback `this`.
523
+ * @param cb - Called with profile count and status description.
524
+ */
140
525
  public bind(object: object, cb: (this: object, code: number, description: string) => void): void;
526
+
527
+ /**
528
+ * Clear the bound callback.
529
+ *
530
+ * @remarks
531
+ * After clearing, native completion has no Lua function to call.
532
+ */
141
533
  public clear(): void;
142
534
  }
143
535
 
144
536
  /**
537
+ * Multiplayer callback binding for `login_operation_cb`.
538
+ *
145
539
  * @source C++ class login_operation_cb
146
540
  * @customConstructor login_operation_cb
147
541
  * @group xr_multiplayer
542
+ *
543
+ * @remarks
544
+ * Keeps the Lua callback target and function together for asynchronous login requests.
148
545
  */
149
546
  export class login_operation_cb {
547
+ /**
548
+ * @param object - Lua object used as callback `this`.
549
+ * @param cb - Called with login profile and status description.
550
+ */
150
551
  public constructor(object: object, cb: (this: object, profile: profile | null, description: string) => void);
151
552
 
553
+ /**
554
+ * Replace the bound callback.
555
+ *
556
+ * @param object - Lua object used as callback `this`.
557
+ * @param cb - Called with login profile and status description.
558
+ */
152
559
  public bind(object: object, cb: (this: object, profile: profile | null, description: string) => void): void;
560
+
561
+ /**
562
+ * Clear the bound callback.
563
+ *
564
+ * @remarks
565
+ * After clearing, native completion has no Lua function to call.
566
+ */
153
567
  public clear(): void;
154
568
  }
155
569
 
156
570
  /**
571
+ * Multiplayer callback binding for `connect_error_cb`.
572
+ *
157
573
  * @source C++ class connect_error_cb
158
574
  * @customConstructor connect_error_cb
159
575
  * @group xr_multiplayer
576
+ *
577
+ * @remarks
578
+ * Used by multiplayer server-list connection attempts.
160
579
  */
161
580
  export class connect_error_cb {
581
+ /**
582
+ * @param object - Lua object used as callback `this`.
583
+ * @param cb - Called with error code and status description.
584
+ */
162
585
  public constructor(object: object, cb: (this: object, code: number, description: string) => void);
163
586
 
587
+ /**
588
+ * Replace the bound callback.
589
+ *
590
+ * @param object - Lua object used as callback `this`.
591
+ * @param cb - Called with error code and status description.
592
+ */
164
593
  public bind(object: object, cb: (this: object, code: number, description: string) => void): void;
594
+
595
+ /**
596
+ * Clear the bound callback.
597
+ *
598
+ * @remarks
599
+ * After clearing, native connection errors have no Lua function to call.
600
+ */
165
601
  public clear(): void;
166
602
  }
167
603
 
168
604
  /**
605
+ * Multiplayer callback binding for `account_operation_cb`.
606
+ *
169
607
  * @source C++ class account_operation_cb
170
608
  * @customConstructor account_operation_cb
171
609
  * @group xr_multiplayer
610
+ *
611
+ * @remarks
612
+ * Keeps the Lua callback target and function together for account operations with a status code.
172
613
  */
173
614
  export class account_operation_cb {
615
+ /**
616
+ * @param object - Lua object used as callback `this`.
617
+ * @param cb - Called with result code and status description.
618
+ */
174
619
  public constructor(object: object, cb: (this: object, code: number, description: string) => void);
175
620
 
621
+ /**
622
+ * Replace the bound callback.
623
+ *
624
+ * @param object - Lua object used as callback `this`.
625
+ * @param cb - Called with result code and status description.
626
+ */
176
627
  public bind(object: object, cb: (this: object, code: number, description: string) => void): void;
628
+
629
+ /**
630
+ * Clear the bound callback.
631
+ *
632
+ * @remarks
633
+ * After clearing, native completion has no Lua function to call.
634
+ */
177
635
  public clear(): void;
178
636
  }
179
637
 
180
638
  /**
639
+ * Multiplayer callback binding for `found_email_cb`.
640
+ *
181
641
  * @source C++ class found_email_cb
182
642
  * @customConstructor found_email_cb
183
643
  * @group xr_multiplayer
644
+ *
645
+ * @remarks
646
+ * Used by account email lookup requests.
184
647
  */
185
648
  export class found_email_cb {
649
+ /**
650
+ * @param object - Lua object used as callback `this`.
651
+ * @param cb - Called with search result and user name or description.
652
+ */
186
653
  public constructor(object: object, cb: (this: object, found: boolean, description: string) => void);
187
654
 
655
+ /**
656
+ * Replace the bound callback.
657
+ *
658
+ * @param object - Lua object used as callback `this`.
659
+ * @param cb - Called with search result and user name or description.
660
+ */
188
661
  public bind(object: object, cb: (this: object, found: boolean, description: string) => void): void;
662
+
663
+ /**
664
+ * Clear the bound callback.
665
+ *
666
+ * @remarks
667
+ * After clearing, native completion has no Lua function to call.
668
+ */
189
669
  public clear(): void;
190
670
  }
191
671
 
192
672
  /**
673
+ * Multiplayer callback binding for `store_operation_cb`.
674
+ *
193
675
  * @source C++ class store_operation_cb
194
676
  * @customConstructor store_operation_cb
195
677
  * @group xr_multiplayer
678
+ *
679
+ * @remarks
680
+ * Used by profile-store operations. Completion can report either numeric progress/status or boolean success.
196
681
  */
197
682
  export class store_operation_cb {
683
+ /**
684
+ * @param object - Lua object used as callback `this`.
685
+ * @param cb - Called with progress/result code and status description.
686
+ */
198
687
  public constructor(object: object, cb: (this: object, code: number | boolean, description: string) => void);
199
688
 
689
+ /**
690
+ * Replace the bound callback.
691
+ *
692
+ * @param object - Lua object used as callback `this`.
693
+ * @param cb - Called with progress/result code and status description.
694
+ */
200
695
  public bind(object: object, cb: (this: object, code: number, description: string) => void): void;
696
+
697
+ /**
698
+ * Clear the bound callback.
699
+ *
700
+ * @remarks
701
+ * After clearing, native profile-store completion has no Lua function to call.
702
+ */
201
703
  public clear(): void;
202
704
  }
203
705
 
204
706
  /**
707
+ * Multiplayer callback binding for `suggest_nicks_cb`.
708
+ *
205
709
  * @source C++ class suggest_nicks_cb
206
710
  * @customConstructor suggest_nicks_cb
207
711
  * @group xr_multiplayer
712
+ *
713
+ * @remarks
714
+ * Used by unique-nick suggestion requests.
208
715
  */
209
716
  export class suggest_nicks_cb {
717
+ /**
718
+ * @param object - Lua object used as callback `this`.
719
+ * @param cb - Called with suggestion count and status description.
720
+ */
210
721
  public constructor(object: object, cb: (this: object, result: number, description: string) => void);
211
722
 
723
+ /**
724
+ * Replace the bound callback.
725
+ *
726
+ * @param object - Lua object used as callback `this`.
727
+ * @param cb - Called with suggestion count and status description.
728
+ */
212
729
  public bind(object: object, cb: (this: object, result: number, description: string) => void): void;
730
+
731
+ /**
732
+ * Clear the bound callback.
733
+ *
734
+ * @remarks
735
+ * After clearing, native completion has no Lua function to call.
736
+ */
213
737
  public clear(): void;
214
738
  }
215
739
 
216
740
  /**
741
+ * Multiplayer patch download progress.
742
+ *
217
743
  * @source C++ class Patch_Dawnload_Progress
218
744
  * @customConstructor Patch_Dawnload_Progress
219
745
  * @group xr_multiplayer
746
+ *
747
+ * @remarks
748
+ * Name and `GetFlieName` spelling are preserved from the engine binding.
220
749
  */
221
750
  export class Patch_Dawnload_Progress {
751
+ /**
752
+ * @returns Download progress in range used by the patcher.
753
+ */
222
754
  public GetProgress(): f32;
755
+
756
+ /**
757
+ * @returns Whether a patch download is active.
758
+ */
223
759
  public GetInProgress(): boolean;
760
+
761
+ /**
762
+ * @returns Current download status text.
763
+ */
224
764
  public GetStatus(): string;
765
+
766
+ /**
767
+ * @returns Current file name.
768
+ */
225
769
  public GetFlieName(): string;
226
770
  }
227
771
 
228
772
  /**
773
+ * GameSpy profile storage for awards and best scores.
774
+ *
229
775
  * @source C++ class profile_store
230
776
  * @customConstructor profile_store
231
777
  * @group xr_multiplayer
778
+ *
779
+ * @remarks
780
+ * Reads award and best-score data for the current online GameSpy profile.
232
781
  */
233
782
  export class profile_store {
783
+ /**
784
+ * Engine enum value for `profile_store.at_award_massacre`.
785
+ */
234
786
  public static readonly at_award_massacre: 0;
787
+ /**
788
+ * Engine enum value for `profile_store.at_awards_count`.
789
+ */
235
790
  public static readonly at_awards_count: 30;
791
+ /**
792
+ * Engine enum value for `profile_store.bst_backstabs_in_row`.
793
+ */
236
794
  public static readonly bst_backstabs_in_row: 2;
795
+ /**
796
+ * Engine enum value for `profile_store.bst_bleed_kills_in_row`.
797
+ */
237
798
  public static readonly bst_bleed_kills_in_row: 2;
799
+ /**
800
+ * Engine enum value for `profile_store.bst_explosive_kills_in_row`.
801
+ */
238
802
  public static readonly bst_explosive_kills_in_row: 3;
803
+ /**
804
+ * Engine enum value for `profile_store.bst_eye_kills_in_row`.
805
+ */
239
806
  public static readonly bst_eye_kills_in_row: 4;
807
+ /**
808
+ * Engine enum value for `profile_store.bst_head_shots_in_row`.
809
+ */
240
810
  public static readonly bst_head_shots_in_row: 3;
811
+ /**
812
+ * Engine enum value for `profile_store.bst_kills_in_row`.
813
+ */
241
814
  public static readonly bst_kills_in_row: 0;
815
+ /**
816
+ * Engine enum value for `profile_store.bst_kinife_kills_in_row`.
817
+ */
242
818
  public static readonly bst_kinife_kills_in_row: 1;
819
+ /**
820
+ * Engine enum value for `profile_store.bst_score_types_count`.
821
+ */
243
822
  public static readonly bst_score_types_count: 7;
244
823
 
824
+ /**
825
+ * Engine-created profile store.
826
+ */
245
827
  protected constructor();
246
828
 
829
+ /**
830
+ * Get award counters for the current profile.
831
+ *
832
+ * @remarks
833
+ * Values are meaningful after {@link profile_store.load_current_profile} completes successfully.
834
+ *
835
+ * @returns Award counters for the current profile.
836
+ */
247
837
  public get_awards(): LuaIterable<award_pair_t>;
838
+
839
+ /**
840
+ * Get best score counters for the current profile.
841
+ *
842
+ * @remarks
843
+ * Values are meaningful after {@link profile_store.load_current_profile} completes successfully.
844
+ *
845
+ * @returns Best score counters for the current profile.
846
+ */
248
847
  public get_best_scores(): LuaIterable<best_scores_pair_t>;
249
- public load_current_profile(onProgress: store_operation_cb, onComlete: store_operation_cb): void;
848
+
849
+ /**
850
+ * Load awards and best scores for the current profile.
851
+ *
852
+ * @remarks
853
+ * Requires a current online profile. The completion callback reports the final result; the progress callback is
854
+ * accepted by the binding for profile-store operations.
855
+ *
856
+ * @param onProgress - Progress callback.
857
+ * @param onComplete - Completion callback.
858
+ */
859
+ public load_current_profile(onProgress: store_operation_cb, onComplete: store_operation_cb): void;
860
+
861
+ /**
862
+ * Stop the active profile-store load request.
863
+ *
864
+ * @remarks
865
+ * Safe to call when no profile-store load is active.
866
+ */
250
867
  public stop_loading(): void;
251
868
  }
252
869
 
253
870
  /**
871
+ * Award or best-score value with the last reward date.
872
+ *
254
873
  * @source C++ class award_data
255
874
  * @customConstructor award_data
256
875
  * @group xr_multiplayer
257
876
  */
258
877
  export class award_data {
878
+ /**
879
+ * Award count or best-score value.
880
+ */
259
881
  public m_count: u16;
882
+
883
+ /**
884
+ * Last reward date as stored by GameSpy.
885
+ */
260
886
  public m_last_reward_date: u32;
261
887
  }
262
888
 
263
889
  /**
890
+ * Multiplayer game event ids sent through game state messaging.
891
+ *
264
892
  * @source C++ class game_messages
265
893
  * @customConstructor game_messages
266
894
  * @group xr_multiplayer
267
895
  */
268
896
  export class game_messages {
897
+ /**
898
+ * Engine enum value for `game_messages.GAME_EVENT_ARTEFACT_DESTROYED`.
899
+ */
269
900
  public static GAME_EVENT_ARTEFACT_DESTROYED: 17;
901
+ /**
902
+ * Engine enum value for `game_messages.GAME_EVENT_ARTEFACT_DROPPED`.
903
+ */
270
904
  public static GAME_EVENT_ARTEFACT_DROPPED: 19;
905
+ /**
906
+ * Engine enum value for `game_messages.GAME_EVENT_ARTEFACT_ONBASE`.
907
+ */
271
908
  public static GAME_EVENT_ARTEFACT_ONBASE: 20;
909
+ /**
910
+ * Engine enum value for `game_messages.GAME_EVENT_ARTEFACT_SPAWNED`.
911
+ */
272
912
  public static GAME_EVENT_ARTEFACT_SPAWNED: 16;
913
+ /**
914
+ * Engine enum value for `game_messages.GAME_EVENT_ARTEFACT_TAKEN`.
915
+ */
273
916
  public static GAME_EVENT_ARTEFACT_TAKEN: 18;
917
+ /**
918
+ * Engine enum value for `game_messages.GAME_EVENT_BUY_MENU_CLOSED`.
919
+ */
274
920
  public static GAME_EVENT_BUY_MENU_CLOSED: 23;
921
+ /**
922
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_BUY_FINISHED`.
923
+ */
275
924
  public static GAME_EVENT_PLAYER_BUY_FINISHED: 2;
925
+ /**
926
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_CHANGE_SKIN`.
927
+ */
276
928
  public static GAME_EVENT_PLAYER_CHANGE_SKIN: 6;
929
+ /**
930
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_CHANGE_TEAM`.
931
+ */
277
932
  public static GAME_EVENT_PLAYER_CHANGE_TEAM: 6;
933
+ /**
934
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_CONNECTED`.
935
+ */
278
936
  public static GAME_EVENT_PLAYER_CONNECTED: 8;
937
+ /**
938
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_DISCONNECTED`.
939
+ */
279
940
  public static GAME_EVENT_PLAYER_DISCONNECTED: 9;
941
+ /**
942
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_ENTER_TEAM_BASE`.
943
+ */
280
944
  public static GAME_EVENT_PLAYER_ENTER_TEAM_BASE: 21;
945
+ /**
946
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_JOIN_TEAM`.
947
+ */
281
948
  public static GAME_EVENT_PLAYER_JOIN_TEAM: 13;
949
+ /**
950
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_KILL`.
951
+ */
282
952
  public static GAME_EVENT_PLAYER_KILL: 1;
953
+ /**
954
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_KILLED`.
955
+ */
283
956
  public static GAME_EVENT_PLAYER_KILLED: 11;
957
+ /**
958
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_LEAVE_TEAM_BASE`.
959
+ */
284
960
  public static GAME_EVENT_PLAYER_LEAVE_TEAM_BASE: 22;
961
+ /**
962
+ * Engine enum value for `game_messages.GAME_EVENT_PLAYER_READY`.
963
+ */
285
964
  public static GAME_EVENT_PLAYER_READY: 0;
965
+ /**
966
+ * Engine enum value for `game_messages.GAME_EVENT_ROUND_END`.
967
+ */
286
968
  public static GAME_EVENT_ROUND_END: 15;
969
+ /**
970
+ * Engine enum value for `game_messages.GAME_EVENT_ROUND_STARTED`.
971
+ */
287
972
  public static GAME_EVENT_ROUND_STARTED: 14;
973
+ /**
974
+ * Engine enum value for `game_messages.GAME_EVENT_SCRIPT_BEGINS_FROM`.
975
+ */
288
976
  public static GAME_EVENT_SCRIPT_BEGINS_FROM: 46;
977
+ /**
978
+ * Engine enum value for `game_messages.GAME_EVENT_SKIN_MENU_CLOSED`.
979
+ */
289
980
  public static GAME_EVENT_SKIN_MENU_CLOSED: 25;
981
+ /**
982
+ * Engine enum value for `game_messages.GAME_EVENT_TEAM_MENU_CLOSED`.
983
+ */
290
984
  public static GAME_EVENT_TEAM_MENU_CLOSED: 24;
291
985
 
986
+ /**
987
+ * Engine-owned multiplayer event constants.
988
+ */
292
989
  protected constructor();
293
990
  }
294
991
 
@@ -298,23 +995,54 @@ declare module "xray16" {
298
995
  export type TXR_game_message = EnumeratedStaticsValues<game_messages>;
299
996
 
300
997
  /**
998
+ * Current multiplayer game state.
999
+ *
301
1000
  * @source C++ class game_GameState : DLL_Pure
302
1001
  * @customConstructor game_GameState
303
1002
  * @group xr_multiplayer
1003
+ *
1004
+ * @remarks
1005
+ * Multiplayer match state, not single-player task or story state. `type` uses raw engine `EGameIDs` values.
304
1006
  */
305
1007
  export class game_GameState extends DLL_Pure {
1008
+ /**
1009
+ * Current round number.
1010
+ */
306
1011
  public round: i32;
1012
+
1013
+ /**
1014
+ * Round or match start time.
1015
+ */
307
1016
  public start_time: u32;
1017
+
1018
+ /**
1019
+ * Multiplayer game type id.
1020
+ */
308
1021
  public type: number; /* EGameIDs */
309
1022
 
1023
+ /**
1024
+ * Create an empty multiplayer game state.
1025
+ */
310
1026
  public constructor();
311
1027
 
1028
+ /**
1029
+ * @returns Round or match start time.
1030
+ */
312
1031
  public StartTime(): u32;
313
1032
 
1033
+ /**
1034
+ * @returns Current round number.
1035
+ */
314
1036
  public Round(): i32;
315
1037
 
1038
+ /**
1039
+ * @returns Current game phase.
1040
+ */
316
1041
  public Phase(): u16;
317
1042
 
1043
+ /**
1044
+ * @returns Multiplayer game type id.
1045
+ */
318
1046
  public Type(): number; /* EGameIDs */
319
1047
  }
320
1048