bc-stubs 107.0.0 → 108.0.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 (31) hide show
  1. package/bc/NativeDeclarations/Typedef.d.ts +79 -30
  2. package/bc/Screens/Character/Appearance/Appearance.d.ts +17 -0
  3. package/bc/Screens/Character/OnlineProfile/OnlineProfile.d.ts +4 -0
  4. package/bc/Screens/Character/Preference/Arousal.d.ts +79 -0
  5. package/bc/Screens/Character/Preference/Audio.d.ts +19 -0
  6. package/bc/Screens/Character/Preference/CensoredWords.d.ts +22 -0
  7. package/bc/Screens/Character/Preference/Chat.d.ts +38 -0
  8. package/bc/Screens/Character/Preference/Controller.d.ts +19 -0
  9. package/bc/Screens/Character/Preference/Difficulty.d.ts +13 -0
  10. package/bc/Screens/Character/Preference/Extensions.d.ts +27 -0
  11. package/bc/Screens/Character/Preference/Gender.d.ts +29 -0
  12. package/bc/Screens/Character/Preference/General.d.ts +23 -0
  13. package/bc/Screens/Character/Preference/Graphics.d.ts +38 -0
  14. package/bc/Screens/Character/Preference/Immersion.d.ts +14 -0
  15. package/bc/Screens/Character/Preference/Main.d.ts +5 -0
  16. package/bc/Screens/Character/Preference/Notifications.d.ts +45 -0
  17. package/bc/Screens/Character/Preference/Online.d.ts +11 -0
  18. package/bc/Screens/Character/Preference/Preference.d.ts +29 -632
  19. package/bc/Screens/Character/Preference/Restriction.d.ts +10 -0
  20. package/bc/Screens/Character/Preference/Scripts.d.ts +32 -0
  21. package/bc/Screens/Character/Preference/Security.d.ts +20 -0
  22. package/bc/Screens/Character/Preference/Visibility.d.ts +61 -0
  23. package/bc/Screens/Inventory/ItemDevices/LuckyWheel/LuckyWheel.d.ts +1 -0
  24. package/bc/Screens/MiniGame/WheelFortune/WheelFortune.d.ts +7 -1
  25. package/bc/Screens/Online/ChatRoom/ChatRoomCharacterView.d.ts +1 -2
  26. package/bc/Screens/Room/Crafting/Crafting.d.ts +81 -22
  27. package/bc/Screens/Room/Private/Private.d.ts +5 -0
  28. package/bc/Scripts/Element.d.ts +24 -3
  29. package/bc/Scripts/Preference.d.ts +134 -0
  30. package/bc/Scripts/Speech.d.ts +45 -45
  31. package/package.json +1 -1
@@ -76,6 +76,13 @@ interface RGBAColor extends RGBColor {
76
76
  a: number;
77
77
  }
78
78
 
79
+ /**
80
+ * A singleton for explicitly signifying to {@link ElementCreate} that it should have no parent element.
81
+ *
82
+ * Can be used for overriding any function that would otherwise default to {@link document.body} when a nullish value is provided as parent.
83
+ */
84
+ type ElementNoParent = 0;
85
+
79
86
  /**
80
87
  * A {@link HTMLElementTagNameMap} subtype with all non-scalar properties removed from the HTML elements
81
88
  *
@@ -100,11 +107,11 @@ type HTMLOptions<T extends keyof HTMLElementTagNameMap> = {
100
107
  /** Event listeners that will be attached to the HTML element (see {@link HTMLElement.addEventListener}). */
101
108
  eventListeners?: { [k in keyof HTMLElementEventMap]?: (this: HTMLElementTagNameMap[T], event: HTMLElementEventMap[k]) => any };
102
109
  /** The elements parent (if any) to which it will be attached (see {@link HTMLElement.parentElement}). */
103
- parent?: Node;
110
+ parent?: ElementNoParent | Node;
104
111
  /** A list of CSS classes to-be assigned to the element (see {@link HTMLElement.classList}). */
105
112
  classList?: readonly (null | undefined | string)[];
106
113
  /** Any to-be added child elements. */
107
- children?: (null | undefined | string | Node | HTMLOptions<keyof HTMLElementTagNameMap>)[];
114
+ children?: readonly (null | undefined | string | Node | HTMLOptions<keyof HTMLElementTagNameMap>)[];
108
115
  /** The {@link HTMLElement.innerHTML} of the element; will be assigned before appending children */
109
116
  innerHTML?: string;
110
117
  };
@@ -199,7 +206,7 @@ type DialogMenuButton = "Activity" |
199
206
  "Remote" | "RemoteDisabled" | `RemoteDisabledFor${VibratorRemoteAvailability}` |
200
207
  "Unlock" | "Use" | "UseDisabled" | "Struggle" | "TightenLoosen" |
201
208
  // Wardrobe buttons
202
- "Wardrobe" | "WardrobeDisabled" | "Reset" | "WearRandom" | "Random" | "Naked" | "Accept" | "Cancel" | "Character"
209
+ "Wardrobe" | "WardrobeDisabled" | "Reset" | "WearRandom" | "Random" | "Copy" | "Paste" | "Naked" | "Accept" | "Cancel" | "Character"
203
210
  ;
204
211
 
205
212
  type DialogSortOrder = | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10;
@@ -440,9 +447,27 @@ type GraphicsFontName =
440
447
  type PreferenceSubscreenName =
441
448
  "General" | "Difficulty" | "Restriction" | "Chat" | "CensoredWords" | "Audio" | "Arousal" |
442
449
  "Security" | "Online" | "Visibility" | "Immersion" | "Graphics" | "Controller" | "Notifications" |
443
- "Gender" | "Scripts" | "Extensions"
450
+ "Gender" | "Scripts" | "Extensions" | "Main"
444
451
  ;
445
452
 
453
+ interface PreferenceSubscreen {
454
+ name: PreferenceSubscreenName;
455
+ description?: string;
456
+ icon?: string;
457
+ hidden?: boolean;
458
+ load?: () => void;
459
+ run: () => void;
460
+ click: () => void;
461
+ exit?: () => boolean;
462
+ }
463
+
464
+ interface PreferenceGenderSetting {
465
+ /** Whether the setting is active for female cases */
466
+ Female: boolean;
467
+ /** Whether the setting is active for male cases */
468
+ Male: boolean;
469
+ }
470
+
446
471
  type FetishName =
447
472
  "Bondage" | "Gagged" | "Blindness" | "Deafness" | "Chastity" | "Exhibitionist" | "Masochism" |
448
473
  "Sadism" | "Rope" | "Latex" | "Leather" | "Metal" | "Tape" | "Nylon" | "Lingerie" | "Pet" |
@@ -1521,7 +1546,7 @@ interface Character {
1521
1546
  AppearanceFull?: Item[];
1522
1547
  // Online character properties
1523
1548
  Title?: TitleName;
1524
- LabelColor?: string;
1549
+ LabelColor?: HexColor;
1525
1550
  Creation?: number;
1526
1551
  Description?: string;
1527
1552
  OnlineSharedSettings?: CharacterOnlineSharedSettings;
@@ -1814,6 +1839,10 @@ interface ImmersionSettingsType {
1814
1839
  ChatRoomMuffle: boolean;
1815
1840
  BlindAdjacent: boolean;
1816
1841
  AllowTints: boolean;
1842
+ /**
1843
+ * Whether garbled messages that have a non-garbled variant will be decoded.
1844
+ */
1845
+ ShowUngarbledMessages: boolean;
1817
1846
  }
1818
1847
 
1819
1848
  type ControllerButton = typeof ControllerButton[keyof typeof ControllerButton];
@@ -1858,6 +1887,7 @@ interface ChatSettingsType {
1858
1887
  CensoredWordsLevel: number;
1859
1888
  /** Whether to preserve the chat log when switching rooms */
1860
1889
  PreserveChat: boolean;
1890
+ OOCAutoClose: boolean;
1861
1891
  }
1862
1892
 
1863
1893
  interface GameplaySettingsType {
@@ -3574,7 +3604,10 @@ interface PandoraBaseRoom {
3574
3604
  //#region Crafting items
3575
3605
 
3576
3606
  type CraftingMode = (
3577
- "Slot" | "Item" | "Property" | "Lock" | "Name" | "Color" | "Extended"
3607
+ "Slot"
3608
+ | "Name"
3609
+ | "Color"
3610
+ | "Extended"
3578
3611
  | "OverridePriority"
3579
3612
  );
3580
3613
 
@@ -3951,21 +3984,22 @@ interface ArousalSettingsType {
3951
3984
  interface PreferenceExtensionsSettingItem {
3952
3985
  /**
3953
3986
  * The identifier of the extension.
3954
- * This is used to identify the extension and should be unique.
3987
+ * This is used to identify the extension and must be unique.
3955
3988
  */
3956
3989
  Identifier: string;
3957
3990
 
3958
3991
  /**
3959
- * The button text for the button of extension.
3992
+ * The label for the extension button.
3960
3993
  * If it's a Function, it will be called once when entering
3961
3994
  * the extension setting menu. Use the return value as button text.
3962
3995
  */
3963
3996
  ButtonText: string | (()=>string);
3964
3997
 
3965
3998
  /**
3966
- * The image path of the extension, and is passed
3967
- * into {@link DrawButton} for creating the HTMLImageElement
3968
- * that is needed for drawing the Button image.
3999
+ * The image path of the extension.
4000
+ *
4001
+ * This is passed to {@link DrawButton} directly. You can use a `data` URL here.
4002
+ *
3969
4003
  * If it's a Function, it will be called once when entering
3970
4004
  * the extension setting menu. Use the return value as image
3971
4005
  * path.
@@ -3973,36 +4007,51 @@ interface PreferenceExtensionsSettingItem {
3973
4007
  */
3974
4008
  Image?: string | (()=>string);
3975
4009
 
3976
- /** Handles loading on entering the extension setting */
4010
+ /**
4011
+ * Called when the extension screen is about to be displayed.
4012
+ *
4013
+ * You can create your own HTML elements in here, or load your data.
4014
+ *
4015
+ * Note that HTML elements with the `HideOnPopup` class will be hidden
4016
+ * automatically when a popup is shown.
4017
+ */
3977
4018
  load?: () => void;
3978
4019
 
3979
- /** Handles the clicks of the extension setting */
4020
+ /**
4021
+ * Called when a click happens on the extension screen.
4022
+ *
4023
+ * Note: your exit button handling *must* call {@link PreferenceSubscreenExit};
4024
+ */
3980
4025
  click: () => void;
3981
4026
 
3982
- /** Handles the run and draws of the extension setting */
4027
+ /**
4028
+ * Called every frame while the extension screen is shown.
4029
+ */
3983
4030
  run: () => void;
3984
4031
 
3985
4032
  /**
3986
- * Handles the unloading of the extension setting, typically
3987
- * from {@link CommonSetScreen}, when the player is disconnected.
3988
- * If it's undefined, there will be no unloading for the extension
3989
- * setting.
3990
- * Remind to check those HTML elements that are created in the
3991
- * extension setting, and hide/remove them from the DOM.
3992
- * Note that HTML elements with `HideOnPopup` class will be hidden
3993
- * automatically when a popup is shown.
4033
+ * Called when the extension screen is about to be closed.
4034
+ *
4035
+ * Handles the unloading of the extension setting, usually when the user clicks the exit button,
4036
+ * but it can also be called by the relog screen being triggered because of a disconnect.
4037
+ *
4038
+ * If you created any HTML elements in {@link PreferenceExtensionsSettingItem.load}, this is a good place to remove them.
3994
4039
  */
3995
4040
  unload?: () => void;
3996
4041
 
3997
4042
  /**
3998
- * Handles the exits of the extension setting, typically when
3999
- * user press `Esc` key.
4000
- * If a extension wants to exit the menu by itself
4001
- * (clicking `exit` button, etc.), the extension should call
4002
- * `PreferenceSubscreenExtensionsClear`.
4003
- * @returns If it returns `true`, the extension setting will be unload.
4004
- * And `unload` will be called once if it's defined and then main extension
4005
- * setting page is shown.
4043
+ * Called when the extension screen is about to exit.
4044
+ *
4045
+ * Happens either through a click of the exit button, or the ESC key.
4046
+ *
4047
+ * @returns {boolean | void} If you have some validation that needs to happen
4048
+ * (for example, ensuring that a textfield contains a valid color code), return false;
4049
+ * this will stop the subscreen from exiting.
4050
+ * You might want to show a message to the user explaining why "nothing is happening" in that case,
4051
+ * either through your own means or by setting `PreferenceMessage` to a string.
4052
+ *
4053
+ * If you return true or nothing, your screen's {@link PreferenceExtensionsSettingItem.unload} handler
4054
+ * will be called afterward.
4006
4055
  */
4007
4056
  exit: () => boolean | void;
4008
4057
  }
@@ -348,6 +348,23 @@ declare function CharacterAppearanceResolveSync(C: Character, currentAppearance:
348
348
  * @param {Asset} asset
349
349
  */
350
350
  declare function CharacterAppearanceGenderAllowed(asset: Asset): boolean;
351
+ /**
352
+ * If the player is in the chat room, we display a local message for him/her
353
+ * @param {string} Msg
354
+ */
355
+ declare function CharacterAppearanceChatRoomMessage(Msg: string): void;
356
+ /**
357
+ * Creates a compressed string of a character appearance and saves it to the clipboard
358
+ * @param {Character} C - The character to copy from
359
+ */
360
+ declare function CharacterAppearanceCopyToClipboard(C: Character): void;
361
+ /**
362
+ * Uncompress a string containing an appearance, then applies that appearance data to the character
363
+ * @param {Character} C - The character that loads its new appearance
364
+ * @param {string} CompApp - The compressed string of appaearance data
365
+ * @param {boolean} ChatRoomRefresh - TRUE if the character should be refreshed online
366
+ */
367
+ declare function CharacterAppearancePaste(C: Character, CompApp: string, ChatRoomRefresh: boolean): void;
351
368
  declare var AppearanceBackground: string;
352
369
  /** Offset for the group view */
353
370
  declare var CharacterAppearanceOffset: number;
@@ -3,6 +3,10 @@
3
3
  * @returns {void} - Nothing
4
4
  */
5
5
  declare function OnlineProfileLoad(): void;
6
+ /**
7
+ * Handles unloading the online profile screen
8
+ */
9
+ declare function OnlineProfileUnload(): void;
6
10
  /**
7
11
  * Runs and draws the online profile screen
8
12
  * @returns {void} - Nothing
@@ -0,0 +1,79 @@
1
+ declare function PreferenceSubscreenArousalLoad(): void;
2
+ /**
3
+ * Sets the arousal preferences for a player. Redirected to from the main Run function if the player is in the arousal
4
+ * settings subscreen
5
+ * @returns {void} - Nothing
6
+ */
7
+ declare function PreferenceSubscreenArousalRun(): void;
8
+ /**
9
+ * Gets a color code for a given arousal factor
10
+ * @param {number} Factor - The factor that should be translated in a color code
11
+ * @returns {string} - The color for the given factor in the format "#rrggbbaa"
12
+ */
13
+ declare function PreferenceGetFactorColor(Factor: number): string;
14
+ /**
15
+ * Handles the click events for the arousal settings. Redirected from the main Click function.
16
+ * @returns {void} - Nothing
17
+ */
18
+ declare function PreferenceSubscreenArousalClick(): void;
19
+ /**
20
+ * Loads the activity factor combo boxes based on the current activity selected
21
+ * @returns {void} - Nothing
22
+ */
23
+ declare function PreferenceLoadActivityFactor(): void;
24
+ /**
25
+ * Loads the fetish factor combo boxes based on the current fetish selected
26
+ * @returns {void} - Nothing
27
+ */
28
+ declare function PreferenceLoadFetishFactor(): void;
29
+ /**
30
+ * Increment the passed arousal factor.
31
+ * @param {ArousalFactor} factor
32
+ * @returns {ArousalFactor}
33
+ */
34
+ declare function PreferenceIncrementArousalFactor(factor: ArousalFactor): ArousalFactor;
35
+ /**
36
+ * Decrement the passed arousal factor.
37
+ * @param {ArousalFactor} factor
38
+ * @returns {ArousalFactor}
39
+ */
40
+ declare function PreferenceDecrementArousalFactor(factor: ArousalFactor): ArousalFactor;
41
+ /**
42
+ * Exits the preference screen
43
+ */
44
+ declare function PreferenceSubscreenArousalExit(): boolean;
45
+ /** @type {ArousalActiveName[]} */
46
+ declare var PreferenceArousalActiveList: ArousalActiveName[];
47
+ declare var PreferenceArousalActiveIndex: number;
48
+ /** @type {ArousalVisibleName[]} */
49
+ declare var PreferenceArousalVisibleList: ArousalVisibleName[];
50
+ declare var PreferenceArousalVisibleIndex: number;
51
+ /** @type {ArousalAffectStutterName[]} */
52
+ declare var PreferenceArousalAffectStutterList: ArousalAffectStutterName[];
53
+ declare var PreferenceArousalAffectStutterIndex: number;
54
+ /** @type {null | ActivityName[]} */
55
+ declare var PreferenceArousalActivityList: null | ActivityName[];
56
+ declare var PreferenceArousalActivityIndex: number;
57
+ /** @type {ArousalFactor} */
58
+ declare var PreferenceArousalActivityFactorSelf: ArousalFactor;
59
+ /** @type {ArousalFactor} */
60
+ declare var PreferenceArousalActivityFactorOther: ArousalFactor;
61
+ /** @type {ArousalFactor} */
62
+ declare var PreferenceArousalZoneFactor: ArousalFactor;
63
+ /** @type {null | FetishName[]} */
64
+ declare var PreferenceArousalFetishList: null | FetishName[];
65
+ declare var PreferenceArousalFetishIndex: number;
66
+ /** @type {ArousalFactor} */
67
+ declare var PreferenceArousalFetishFactor: ArousalFactor;
68
+ /**
69
+ * By default on new characters, all activities are neutral on self and others
70
+ * */
71
+ declare var PreferenceArousalActivityDefaultCompressedString: string;
72
+ /**
73
+ * By default on new characters, all zones are of neutral preference and vulva/clit/butt can trigger an orgasm
74
+ */
75
+ declare var PreferenceArousalZoneDefaultCompressedString: string;
76
+ /**
77
+ * By default on new characters, all festishes are of neutral preference
78
+ */
79
+ declare var PreferenceArousalFetishDefaultCompressedString: string;
@@ -0,0 +1,19 @@
1
+ declare function PreferenceSubscreenAudioLoad(): void;
2
+ /**
3
+ * Sets the audio preferences for the player. Redirected to from the main Run function if the player is in the audio
4
+ * settings subscreen
5
+ * @returns {void} - Nothing
6
+ */
7
+ declare function PreferenceSubscreenAudioRun(): void;
8
+ /**
9
+ * Handles click events for the audio preference settings. Redirected from the main Click function.
10
+ * @returns {void} - Nothing
11
+ */
12
+ declare function PreferenceSubscreenAudioClick(): void;
13
+ /**
14
+ * Exits the preference screen.
15
+ */
16
+ declare function PreferenceSubscreenAudioExit(): boolean;
17
+ declare var PreferenceSettingsVolumeList: number[];
18
+ declare var PreferenceSettingsVolumeIndex: number;
19
+ declare var PreferenceSettingsMusicVolumeIndex: number;
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Loads the preference censored words screen.
3
+ * @returns {void} - Nothing
4
+ */
5
+ declare function PreferenceSubscreenCensoredWordsLoad(): void;
6
+ /**
7
+ * Sets the censored words for the player. Redirected to from the main Run function.
8
+ * @returns {void} - Nothing
9
+ */
10
+ declare function PreferenceSubscreenCensoredWordsRun(): void;
11
+ /**
12
+ * Handles click events for the censored words preference settings. Redirected from the main Click function.
13
+ * @returns {void} - Nothing
14
+ */
15
+ declare function PreferenceSubscreenCensoredWordsClick(): void;
16
+ /**
17
+ * Exits the preference screen
18
+ */
19
+ declare function PreferenceSubscreenCensoredWordsExit(): boolean;
20
+ /** @type {string[]} */
21
+ declare var PreferenceCensoredWordsList: string[];
22
+ declare var PreferenceCensoredWordsOffset: number;
@@ -0,0 +1,38 @@
1
+ declare function PreferenceSubscreenChatLoad(): void;
2
+ /**
3
+ * Sets the chat preferences for the player. Redirected to from the main Run function if the player is in the chat
4
+ * settings subscreen.
5
+ * @returns {void} - Nothing
6
+ */
7
+ declare function PreferenceSubscreenChatRun(): void;
8
+ /**
9
+ * Handles the click events for the chat settings of a player. Redirected from the main Click function.
10
+ * @returns {void} - Nothing
11
+ */
12
+ declare function PreferenceSubscreenChatClick(): void;
13
+ /**
14
+ * Exits the preference screen
15
+ */
16
+ declare function PreferenceSubscreenChatExit(): boolean;
17
+ /** @type {ChatColorThemeType[]} */
18
+ declare var PreferenceChatColorThemeList: ChatColorThemeType[];
19
+ declare var PreferenceChatColorThemeIndex: number;
20
+ /** @type {ChatEnterLeaveType[]} */
21
+ declare var PreferenceChatEnterLeaveList: ChatEnterLeaveType[];
22
+ declare var PreferenceChatEnterLeaveIndex: number;
23
+ /** @type {ChatMemberNumbersType[]} */
24
+ declare var PreferenceChatMemberNumbersList: ChatMemberNumbersType[];
25
+ declare var PreferenceChatMemberNumbersIndex: number;
26
+ /** @type {ChatFontSizeType[]} */
27
+ declare var PreferenceChatFontSizeList: ChatFontSizeType[];
28
+ declare var PreferenceChatFontSizeIndex: number;
29
+ declare var PreferenceChatPageIndex: number;
30
+ declare var PreferenceChatPageList: number[];
31
+ /** @type {{label: string, check: () => boolean, click: () => void}[]} */
32
+ declare const PreferenceSubscreenChatCheckboxes: {
33
+ label: string;
34
+ check: () => boolean;
35
+ click: () => void;
36
+ }[];
37
+ /** @type {CommonGenerateGridParameters} */
38
+ declare const PreferenceSubscreenChatCheckboxGrid: CommonGenerateGridParameters;
@@ -0,0 +1,19 @@
1
+ /**
2
+ * Sets the controller preferences for the player. Redirected to from the main Run function.
3
+ * @returns {void} - Nothing
4
+ */
5
+ declare function PreferenceSubscreenControllerRun(): void;
6
+ /**
7
+ * Handles click events for the controller preference settings. Redirected from the main Click function.
8
+ * @returns {void} - Nothing
9
+ */
10
+ declare function PreferenceSubscreenControllerClick(): void;
11
+ /**
12
+ * Exits the preference screen
13
+ */
14
+ declare function PreferenceSubscreenControllerExit(): boolean;
15
+ declare var PreferenceSettingsSensitivityList: number[];
16
+ declare var PreferenceSettingsSensitivityIndex: number;
17
+ declare var PreferenceSettingsDeadZoneList: number[];
18
+ declare var PreferenceSettingsDeadZoneIndex: number;
19
+ declare var PreferenceCalibrationStage: number;
@@ -0,0 +1,13 @@
1
+ /**
2
+ * Runs and draw the preference screen, difficulty subscreen
3
+ * @returns {void} - Nothing
4
+ */
5
+ declare function PreferenceSubscreenDifficultyRun(): void;
6
+ /**
7
+ * Handles the click events in the preference screen, difficulty sub-screen, propagated from CommonClick()
8
+ * @returns {void} - Nothing
9
+ */
10
+ declare function PreferenceSubscreenDifficultyClick(): void;
11
+ /** @type {null | number} */
12
+ declare var PreferenceDifficultyLevel: null | number;
13
+ declare var PreferenceDifficultyAccept: boolean;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Handles the loading of the preference subscreen for extensions
3
+ * @returns {void} - Nothing
4
+ */
5
+ declare function PreferenceSubscreenExtensionsLoad(): void;
6
+ /**
7
+ * Runs and draws the preference subscreen for extensions
8
+ * @returns {void} - Nothing
9
+ */
10
+ declare function PreferenceSubscreenExtensionsRun(): void;
11
+ /**
12
+ * Handles clicks in the preference subscreen for extensions
13
+ * @returns {void} - Nothing
14
+ */
15
+ declare function PreferenceSubscreenExtensionsClick(): void;
16
+ declare function PreferenceSubscreenExtensionsUnload(): void;
17
+ declare function PreferenceSubscreenExtensionsExit(): boolean;
18
+ /**
19
+ * Exit the preference subscreen for extensions, should be called when
20
+ * leaving custom menu of extensions if the extension exits the menu from itself.
21
+ * @returns {void} - Nothing
22
+ */
23
+ declare function PreferenceSubscreenExtensionsClear(): void;
24
+ /** @type {PreferenceExtensionsMenuButtonInfo[]} */
25
+ declare let PreferenceExtensionsDisplay: PreferenceExtensionsMenuButtonInfo[];
26
+ /** @type {PreferenceExtensionsSettingItem | null}*/
27
+ declare let PreferenceExtensionsCurrent: PreferenceExtensionsSettingItem | null;
@@ -0,0 +1,29 @@
1
+ /**
2
+ * Sets the gender preferences for a player. Redirected to from the main Run function if the player is in the
3
+ * gender settings subscreen
4
+ * @returns {void} - Nothing
5
+ */
6
+ declare function PreferenceSubscreenGenderRun(): void;
7
+ /**
8
+ * Draws the two checkbox row for a gender setting
9
+ * @param {number} Left - The X co-ordinate the row starts on
10
+ * @param {number} Top - The Y co-ordinate the row starts on
11
+ * @param {string} Text - The text for the setting's description
12
+ * @param {PreferenceGenderSetting} Setting - The player setting the row corresponds to
13
+ * @returns {void} - Nothing
14
+ */
15
+ declare function PreferenceGenderDrawSetting(Left: number, Top: number, Text: string, Setting: PreferenceGenderSetting): void;
16
+ /**
17
+ * Handles the click events for the notifications settings of a player. Redirected from the main Click function.
18
+ * @returns {void} - Nothing
19
+ */
20
+ declare function PreferenceSubscreenGenderClick(): void;
21
+ /**
22
+ * Handles the click for a gender setting row
23
+ * @param {number} Left - The X co-ordinate the row starts on
24
+ * @param {number} Top - The Y co-ordinate the row starts on
25
+ * @param {PreferenceGenderSetting} Setting - The player setting the row corresponds to
26
+ * @param {boolean} MutuallyExclusive - Whether only one option can be enabled at a time
27
+ * @returns {void} - Nothing
28
+ */
29
+ declare function PreferenceGenderClickSetting(Left: number, Top: number, Setting: PreferenceGenderSetting, MutuallyExclusive: boolean): void;
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Loads the Preferences screen.
3
+ * @returns {void} - Nothing
4
+ */
5
+ declare function PreferenceSubscreenGeneralLoad(): void;
6
+ /**
7
+ * Handles click events in the preference screen that are propagated from CommonClick()
8
+ * @returns {void} - Nothing
9
+ */
10
+ declare function PreferenceSubscreenGeneralRun(): void;
11
+ /**
12
+ * Handles the click events in the preference screen, general sub-screen, propagated from CommonClick()
13
+ * @returns {void} - Nothing
14
+ */
15
+ declare function PreferenceSubscreenGeneralClick(): void;
16
+ /**
17
+ * Exits the preference screen. Cleans up elements that are not needed anymore
18
+ * If the selected color is invalid, the player cannot leave the screen.
19
+ */
20
+ declare function PreferenceSubscreenGeneralExit(): boolean;
21
+ /** @type {boolean} */
22
+ declare var PreferenceSubscreenGeneralColorPicker: boolean;
23
+ declare var PreferenceSafewordConfirm: boolean;
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Prepares the graphics settings subscreen
3
+ */
4
+ declare function PreferenceSubscreenGraphicsLoad(): void;
5
+ /**
6
+ * Sets the graphical preferences for a player. Redirected to from the main Run function if the player is in the
7
+ * visibility settings subscreen
8
+ * @returns {void} - Nothing
9
+ */
10
+ declare function PreferenceSubscreenGraphicsRun(): void;
11
+ /**
12
+ * Handles click events for the audio preference settings. Redirected from the main Click function.
13
+ * @returns {void} - Nothing
14
+ */
15
+ declare function PreferenceSubscreenGraphicsClick(): void;
16
+ declare function PreferenceSubscreenGraphicsExit(): boolean;
17
+ /** @type {SettingsVFXName[]} */
18
+ declare var PreferenceSettingsVFXList: SettingsVFXName[];
19
+ declare var PreferenceSettingsVFXIndex: number;
20
+ /** @type {SettingsVFXVibratorName[]} */
21
+ declare var PreferenceSettingsVFXVibratorList: SettingsVFXVibratorName[];
22
+ declare var PreferenceSettingsVFXVibratorIndex: number;
23
+ /** @type {SettingsVFXFilterName[]} */
24
+ declare var PreferenceSettingsVFXFilterList: SettingsVFXFilterName[];
25
+ declare var PreferenceSettingsVFXFilterIndex: number;
26
+ /** @type {GraphicsFontName[]} */
27
+ declare var PreferenceGraphicsFontList: GraphicsFontName[];
28
+ /** @type {WebGLPowerPreference[]} */
29
+ declare var PreferenceGraphicsPowerModes: WebGLPowerPreference[];
30
+ declare var PreferenceGraphicsFontIndex: number;
31
+ /** @type {null | number} */
32
+ declare var PreferenceGraphicsAnimationQualityIndex: null | number;
33
+ /** @type {null | number} */
34
+ declare var PreferenceGraphicsPowerModeIndex: null | number;
35
+ /** @type {null | WebGLContextAttributes} */
36
+ declare var PreferenceGraphicsWebGLOptions: null | WebGLContextAttributes;
37
+ declare var PreferenceGraphicsAnimationQualityList: number[];
38
+ declare var PreferenceGraphicsFrameLimit: number[];
@@ -0,0 +1,14 @@
1
+ declare function PreferenceSubscreenImmersionLoad(): void;
2
+ /**
3
+ * Runs and draws the preference screen, immersion sub-screen
4
+ * @returns {void} - Nothing
5
+ */
6
+ declare function PreferenceSubscreenImmersionRun(): void;
7
+ /**
8
+ * Handles the click events in the preference screen, immersion sub-screen, propagated from CommonClick()
9
+ * @returns {void} - Nothing
10
+ */
11
+ declare function PreferenceSubscreenImmersionClick(): void;
12
+ /** @type {SettingsSensDepName[]} */
13
+ declare var PreferenceSettingsSensDepList: SettingsSensDepName[];
14
+ declare var PreferenceSettingsSensDepIndex: number;
@@ -0,0 +1,5 @@
1
+ declare function PreferenceSubscreenMainLoad(): void;
2
+ declare function PreferenceSubscreenMainRun(): void;
3
+ declare function PreferenceSubscreenMainClick(): void;
4
+ /** @type {CommonGenerateGridParameters} */
5
+ declare const PreferenceSubscreenMainGrid: CommonGenerateGridParameters;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Loads the preference screen. This function is called dynamically, when the character enters the preference screen
3
+ * for the first time
4
+ * @returns {void} - Nothing
5
+ */
6
+ declare function PreferenceSubscreenNotificationsLoad(): void;
7
+ /**
8
+ * If the setting's alert type is not allowed for this session, e.g. from using a new device/browser, reset it to 'None'
9
+ * @param {NotificationSetting} setting - The notifications setting to check
10
+ * @returns {void} - Nothing
11
+ */
12
+ declare function PreferenceNotificationsCheckSetting(setting: NotificationSetting): void;
13
+ /**
14
+ * Sets the notifications preferences for a player. Redirected to from the main Run function if the player is in the
15
+ * notifications settings subscreen
16
+ * @returns {void} - Nothing
17
+ */
18
+ declare function PreferenceSubscreenNotificationsRun(): void;
19
+ /**
20
+ * Draws the two checkbox row for a notifications setting
21
+ * @param {number} Left - The X co-ordinate the row starts on
22
+ * @param {number} Top - The Y co-ordinate the row starts on
23
+ * @param {string} Text - The text for the setting's description
24
+ * @param {NotificationSetting} Setting - The player setting the row corresponds to
25
+ * @returns {void} - Nothing
26
+ */
27
+ declare function PreferenceNotificationsDrawSetting(Left: number, Top: number, Text: string, Setting: NotificationSetting): void;
28
+ /**
29
+ * Handles the click events for the notifications settings of a player. Redirected from the main Click function.
30
+ * @returns {void} - Nothing
31
+ */
32
+ declare function PreferenceSubscreenNotificationsClick(): void;
33
+ /**
34
+ * Handles the click events within a multi-checkbox settings row.
35
+ * @param {number} Left - The X co-ordinate the row starts on
36
+ * @param {number} Top - The Y co-ordinate the row starts on
37
+ * @param {NotificationSetting} Setting - The player setting the row corresponds to
38
+ * @param {NotificationEventType} EventType - The event type the setting corresponds to
39
+ * @returns {void} - Nothing
40
+ */
41
+ declare function PreferenceNotificationsClickSetting(Left: number, Top: number, Setting: NotificationSetting, EventType: NotificationEventType): void;
42
+ /**
43
+ * Exits the preference screen. Resets the test notifications.
44
+ */
45
+ declare function PreferenceSubscreenNotificationsExit(): boolean;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Sets the online preferences for the player. Redirected to from the main Run function if the player is in the online
3
+ * settings subscreen.
4
+ * @returns {void} - Nothing
5
+ */
6
+ declare function PreferenceSubscreenOnlineRun(): void;
7
+ /**
8
+ * Handles the click events for the online settings. Redirected from the main Click function.
9
+ * @returns {void} - Nothing
10
+ */
11
+ declare function PreferenceSubscreenOnlineClick(): void;