Source code for bauiv1.builtinassets

# Released under the MIT License. See LICENSE for details.
#
# Auto-generated; do not edit by hand.
"""Asset-package wrapper for ``a-0.babuiltinassets.260730a`` (bauiv1).

Bare minimum assets always bundled with the engine.

These are loaded at launch and always available in the C++ layer.
"""

from __future__ import annotations  # Docs-generation hack.

# ba_meta require api 9
# ba_meta require asset-package a-0.babuiltinassets.260730a

# pylint: disable=useless-suppression
# pylint: disable=too-many-lines
# pylint: disable=too-few-public-methods, disallowed-name

__asset_package__ = 'a-0.babuiltinassets.260730a'

from typing import TYPE_CHECKING

from bauiv1._assetref import AssetGroup

from babase import LangStrDir

TYPE_CHECKING = True  # Docs-generation hack
if TYPE_CHECKING:
    from bauiv1._assetref import (
        MeshVerifiedSpec,
        SoundVerifiedSpec,
        TextureVerifiedSpec,
    )
    from babase import LangStr

[docs] class AudioGroup: """ :: Sounds needed during engine bootstrap and early UI (clicks, errors, and other always-available effects). See source for the full asset list. """ blank: SoundVerifiedSpec blip: SoundVerifiedSpec cash_register: SoundVerifiedSpec click01: SoundVerifiedSpec cork_pop: SoundVerifiedSpec deek: SoundVerifiedSpec ding: SoundVerifiedSpec error: SoundVerifiedSpec gun_cocking: SoundVerifiedSpec powerdown01: SoundVerifiedSpec punch01: SoundVerifiedSpec score_increase: SoundVerifiedSpec sparkle01: SoundVerifiedSpec sparkle02: SoundVerifiedSpec sparkle03: SoundVerifiedSpec swish: SoundVerifiedSpec swish2: SoundVerifiedSpec swish3: SoundVerifiedSpec tap: SoundVerifiedSpec ticking_crazy: SoundVerifiedSpec
[docs] class MeshesGroup: """ :: Meshes needed during engine bootstrap and early UI. See source for the full asset list. """ action_button_bottom: MeshVerifiedSpec action_button_left: MeshVerifiedSpec action_button_right: MeshVerifiedSpec action_button_top: MeshVerifiedSpec arrow_back: MeshVerifiedSpec arrow_front: MeshVerifiedSpec box: MeshVerifiedSpec boxing_glove: MeshVerifiedSpec button_back_opaque: MeshVerifiedSpec button_back_small_opaque: MeshVerifiedSpec button_back_small_transparent: MeshVerifiedSpec button_back_transparent: MeshVerifiedSpec button_large_opaque: MeshVerifiedSpec button_large_transparent: MeshVerifiedSpec button_larger_opaque: MeshVerifiedSpec button_larger_transparent: MeshVerifiedSpec button_medium_opaque: MeshVerifiedSpec button_medium_transparent: MeshVerifiedSpec button_small_opaque: MeshVerifiedSpec button_small_transparent: MeshVerifiedSpec button_square_opaque: MeshVerifiedSpec button_square_transparent: MeshVerifiedSpec button_tab_opaque: MeshVerifiedSpec button_tab_transparent: MeshVerifiedSpec check_transparent: MeshVerifiedSpec cross_out: MeshVerifiedSpec cylinder: MeshVerifiedSpec eye_ball: MeshVerifiedSpec eye_ball_iris: MeshVerifiedSpec eye_lid: MeshVerifiedSpec flag_pole: MeshVerifiedSpec flag_stand: MeshVerifiedSpec flash: MeshVerifiedSpec hair_tuft1: MeshVerifiedSpec hair_tuft1b: MeshVerifiedSpec hair_tuft2: MeshVerifiedSpec hair_tuft3: MeshVerifiedSpec hair_tuft4: MeshVerifiedSpec image16x1: MeshVerifiedSpec image1x1: MeshVerifiedSpec image1x1_full_screen: MeshVerifiedSpec image1x1_vrfull_screen: MeshVerifiedSpec image2x1: MeshVerifiedSpec image4x1: MeshVerifiedSpec locator: MeshVerifiedSpec locator_box: MeshVerifiedSpec locator_circle: MeshVerifiedSpec locator_circle_outline: MeshVerifiedSpec overlay_guide: MeshVerifiedSpec scorch: MeshVerifiedSpec scroll_bar_thumb_opaque: MeshVerifiedSpec scroll_bar_thumb_short_opaque: MeshVerifiedSpec scroll_bar_thumb_short_simple: MeshVerifiedSpec scroll_bar_thumb_short_transparent: MeshVerifiedSpec scroll_bar_thumb_simple: MeshVerifiedSpec scroll_bar_thumb_transparent: MeshVerifiedSpec scroll_bar_trough_transparent: MeshVerifiedSpec shield: MeshVerifiedSpec shock_wave: MeshVerifiedSpec shrapnel1: MeshVerifiedSpec shrapnel_board: MeshVerifiedSpec shrapnel_slime: MeshVerifiedSpec soft_edge_inside: MeshVerifiedSpec soft_edge_outside: MeshVerifiedSpec text_box_transparent: MeshVerifiedSpec vr_fade: MeshVerifiedSpec vr_overlay: MeshVerifiedSpec window_hsmall_vmed_opaque: MeshVerifiedSpec window_hsmall_vmed_transparent: MeshVerifiedSpec window_hsmall_vsmall_opaque: MeshVerifiedSpec window_hsmall_vsmall_transparent: MeshVerifiedSpec wing: MeshVerifiedSpec
[docs] class StringsAccountGroup: """ :: Account and sign-in vocabulary: status, error, and requirement messages about the player account. See source for the full asset list. """ #: :: #: #: Error screen-message shown to a player who attempts to join a #: party or server that requires account authentication while they #: are not signed in to an account. #: #: English: "You must sign in to do this." must_sign_in: LangStr
[docs] def not_using_account(self, *, service: str | LangStr) -> LangStr: """ :: Notice that a platform account is being ignored. English: "Note: Ignoring your {service} account. Go to Account > Sign in to use it." """
#: :: #: #: Error message shown when signing in fails. #: #: English: "Error signing in." sign_in_error: LangStr #: :: #: #: Notice that the account is being updated. #: #: English: "Updating your account..." updating_account: LangStr
[docs] class StringsAssetsGroup: """ :: Asset-system progress and error strings: boot-time (construct-mode) bring-up, package download/build progress dialogs, and the pre-main-menu sign-in gate. See source for the full asset list. """
[docs] def access_denied_guidance(self, *, detail: str | LangStr) -> LangStr: """ :: Wraps a server-supplied asset access-denial explanation with guidance for the user; shown on the boot-time asset dialog. English: "{detail} Remove these mods/changes and try again." """
#: :: #: #: Screen message shown when a resolve finally lands the requested #: asset quality after previously showing lower-quality fallbacks. #: Paired with requested_quality_assets_building. #: #: English: "All assets are now requested quality." all_assets_requested_quality: LangStr #: :: #: #: Status line in the boot-time asset dialog while waiting for #: account sign-in so restricted assets can load. #: #: English: "Authenticating…" authenticating: LangStr
[docs] def building_assets(self, *, count: int) -> LangStr: """ :: Progress-dialog line shown while the server builds assets; updates live as the remaining count drops. Spans every package being built, so it names no package. English: (one) "Building assets (# remaining)…" / (other) "Building assets (# remaining)…" """
#: :: #: #: Progress-dialog line shown once asset builds have started but #: before the total step count is known (some packages have not #: reported yet). Replaced by the counted line once it is. #: #: English: "Building assets…" building_assets_no_count: LangStr #: :: #: #: Error on the boot-time asset dialog when this app build is too #: old to load current assets (fallback wording when the server #: didn't supply its own). #: #: English: "This app version is too old to load current assets. #: Please update to continue." client_too_old: LangStr
[docs] def content_error_guidance(self, *, detail: str | LangStr) -> LangStr: """ :: Wraps a server-supplied asset build-failure explanation with guidance for the package author; shown on the boot-time asset dialog (this state is nearly always seen by the author, since dev/test versions only resolve for them). English: "{detail} Fix the file in the source workspace and try again." """
[docs] def downloading_assets(self, *, count: int) -> LangStr: """ :: Progress-dialog line shown while asset files download; updates live as the remaining count drops. English: (one) "Downloading assets (# remaining)…" / (other) "Downloading assets (# remaining)…" """
#: :: #: #: Generic error on the boot-time asset dialog when asset loading #: fails unexpectedly. #: #: English: "An error occurred loading assets; see log for details." load_error: LangStr #: :: #: #: Progress-dialog line shown while server-side asset builds are #: being prepared, before per-step progress is known. #: #: English: "Preparing to build assets…" preparing_build: LangStr #: :: #: #: Screen message shown after a resolve that had to serve #: lower-quality textures because the requested quality was still #: being built. Paired with all_assets_requested_quality, which #: announces the recovery. #: #: English: "Requested quality assets are still building; showing #: lower quality fallbacks." requested_quality_assets_building: LangStr #: :: #: #: Error on the boot-time asset dialog when a required sign-in was #: not completed (attempted and failed, or timed out); a Retry #: button sits below it. #: #: English: "You must sign in to an account with access to these #: assets to continue. Retry to sign in, or remove these #: mods/changes." sign_in_failed: LangStr
[docs] def sign_in_needed_browser(self, *, address: str | LangStr) -> LangStr: """ :: Message on the boot-time sign-in dialog when required assets need a signed-in account and a web browser is available; a Sign In button sits below it. English: "Sign-in is required to load these assets. Press the button below, or visit {address}" """
[docs] def sign_in_needed_other_device( self, *, address: str | LangStr ) -> LangStr: """ :: Message on the boot-time sign-in dialog when required assets need a signed-in account and this device has no web browser. English: "Sign-in is required to load these assets. On another device, visit {address}" """
#: :: #: #: Status line in the boot-time asset dialog after a browser sign-in #: completes, while the account finishes validating. #: #: English: "Signing in…" signing_in: LangStr
[docs] class StringsAudioGroup: """ :: Audio-related messages: music/custom-soundtrack playback errors. See source for the full asset list. """
[docs] def music_play_error(self, *, music: str | LangStr) -> LangStr: """ :: Error screen-message shown when a custom-soundtrack music file fails to play; the placeholder is the quoted filename. English: "Error playing music: {music}" """
[docs] class StringsInputGroup: """ :: Input-device strings: device display names and connect/disconnect notices. See source for the full asset list. """
[docs] def axis(self, *, number: str | LangStr) -> LangStr: """ :: Short lowercase label identifying a numbered joystick axis by index; used inline in axis-name displays such as the controls-configuration UI. The {number} placeholder is the axis index. English: "axis {number}" """
[docs] def button(self, *, number: str | LangStr) -> LangStr: """ :: Short lowercase label identifying a numbered controller button by index; used inline in button-name displays such as the controls-configuration UI. The {number} placeholder is the button index. English: "button {number}" """
[docs] def controller_connected(self, *, controller: str | LangStr) -> LangStr: """ :: Transient screen-message shown when a single game controller connects, naming the device (several connecting at once use a separate counted message). English: "{controller} connected." """
#: :: #: #: Transient screen-message shown at app startup when exactly one #: game controller is detected (multiple controllers at startup use #: a separate counted message). #: #: English: "1 controller detected." controller_detected: LangStr
[docs] def controller_disconnected( self, *, controller: str | LangStr ) -> LangStr: """ :: Transient screen-message shown when a single game controller disconnects, naming the device (several disconnecting at once use a separate counted message). English: "{controller} disconnected." """
#: :: #: #: Notice that a controller works only in menus. #: #: English: "This controller can not be used to play; only to #: navigate menus." controller_menus_only: LangStr
[docs] def controller_reconnected( self, *, controller: str | LangStr ) -> LangStr: """ :: Transient screen-message shown when a previously-connected game controller (e.g. a BombSquad Remote phone client) reconnects, naming the device. English: "{controller} reconnected." """
[docs] def controllers_connected(self, *, count: int) -> LangStr: """ :: Transient screen-message shown when multiple game controllers connect at the same time (a single controller connecting shows a different message naming that controller). English: (one) "# controller connected." / (other) "# controllers connected." """
[docs] def controllers_detected(self, *, count: int) -> LangStr: """ :: Transient screen-message shown at app startup when more than one game controller is detected at once (a single controller at startup uses a separate message). English: (one) "# controller detected." / (other) "# controllers detected." """
[docs] def controllers_disconnected(self, *, count: int) -> LangStr: """ :: Transient screen-message shown when multiple game controllers disconnect at the same time (a single controller disconnecting shows a different message naming that controller). English: (one) "# controller disconnected." / (other) "# controllers disconnected." """
#: :: #: #: Display name for the keyboard input device; shown in input-device #: lists, controls-configuration UI, and messages naming the device. #: #: English: "Keyboard" keyboard: LangStr #: :: #: #: Display name for the touch-screen input device; shown in #: input-device lists, controls-configuration UI, and messages #: naming the device. #: #: English: "TouchScreen" touch_screen: LangStr #: :: #: #: Warning screen-message shown when the touchscreen joins the game #: while physical controllers are already active (touch joins are #: often accidental then); tells the player how to back out. 'Menu' #: and 'Leave Game' refer to in-game menu items. #: #: English: "You have joined with the touchscreen. If this was a #: mistake, tap Menu -> Leave Game with it to back out." touch_screen_join_warning: LangStr
[docs] def unsupported_controller(self, *, name: str | LangStr) -> LangStr: """ :: Notice that a controller is not supported. English: "Sorry, the {name} controller is not supported." """
#: :: #: #: Confirmation screen-message shown in VR mode when the player #: resets the headset's forward orientation via their controller. #: #: English: "VR orientation reset." vr_orientation_reset: LangStr #: :: #: #: Explanation of the VR orientation reset on Cardboard. #: #: English: "Use this to reset the VR orientation. To play, you'll #: need an external controller." vr_orientation_reset_cardboard: LangStr
[docs] class StringsNetGroup: """ :: Networking error messages shown to the player. See source for the full asset list. """ #: :: #: #: Error screen-message shown to a player whose attempt to join a #: party or server was rejected because the host could not validate #: their account. #: #: English: "Your account was rejected. Are you signed in?" account_rejected: LangStr #: :: #: #: Generic error screen-message shown to a player whose attempt to #: join a party or server failed due to an authentication or server #: error (with no more-specific cause available). #: #: English: "An error has occurred." auth_error: LangStr #: :: #: #: Notice that connecting to a server failed. #: #: English: "Connection failed." connection_failed: LangStr #: :: #: #: Error screen-message shown to a player whose attempt to join a #: password-protected party or server was rejected for entering the #: wrong party password. #: #: English: "Incorrect password." incorrect_password: LangStr #: :: #: #: Error screen-message shown when the player enters a malformed #: network address trying to connect to a game party. #: #: English: "Error: invalid address." invalid_address: LangStr #: :: #: #: Error shown when something cannot be reached, most likely because #: there is no internet connection (dialog messages and #: screen-messages). #: #: English: "This is currently unavailable (no internet #: connection?)" unavailable_no_connection: LangStr
[docs] class StringsPluginsGroup: """ :: Messages about user-installed plugins being detected, removed, or failing to load. See source for the full asset list. """
[docs] def class_load_error( self, *, plugin: str | LangStr, error: str | LangStr ) -> LangStr: """ :: Error message for a plugin class that failed to load. English: "Error loading plugin class '{plugin}': {error}" """
#: :: #: #: Notice that new plugins were found. #: #: English: "New plugin(s) detected. Restart to activate them, or #: configure them in settings." detected: LangStr
[docs] def init_error( self, *, plugin: str | LangStr, error: str | LangStr ) -> LangStr: """ :: Error message for a plugin that failed to initialize. English: "Error initializing plugin {plugin}: {error}" """
[docs] def removed(self, *, count: int) -> LangStr: """ :: Notice that previously-present plugins are gone. English: (one) "# plugin no longer found." / (other) "# plugins no longer found." """
[docs] class StringsReplayGroup: """ :: Game-replay playback error messages. See source for the full asset list. """ #: :: #: #: Error screen-message shown when a game replay file can't be read #: (corrupt or truncated). #: #: English: "Error reading replay file." read_error: LangStr #: :: #: #: Error screen-message shown when a saved game replay was recorded #: by an incompatible game version and can't be played back. #: #: English: "Sorry, this replay was made in a different version of #: the game and can't be used." version_error: LangStr
[docs] class StringsScriptsGroup: """ :: Messages about scanning user script modules and reporting ones that need updating for the current script API. See source for the full asset list. """
[docs] def module_needs_update( self, *, path: str | LangStr, api: str | LangStr ) -> LangStr: """ :: Notice that one script module is out of date. English: "The module at {path} must be updated for API version {api}." """
[docs] def modules_need_update( self, *, path: str | LangStr, count: int, api: str | LangStr ) -> LangStr: """ :: Notice that several script modules are out of date. English: (one) "{path} and # other module must be updated for API {api}" / (other) "{path} and # other modules must be updated for API {api}" """
#: :: #: #: Notice that errors occurred scanning scripts. #: #: English: "Error(s) scanning scripts. See log for details." scan_error: LangStr
[docs] class StringsSessionGroup: """ :: Gameplay-session messages shown by the host: idle-player kick notices and similar. See source for the full asset list. """
[docs] def kick_idle_kicked(self, *, name: str | LangStr) -> LangStr: """ :: Screen-message shown on the host when a player is removed from the game for being idle too long (the kick-idle-players option). English: "Kicking {name} for being idle." """
[docs] def kick_idle_warning( self, *, seconds: int, name: str | LangStr ) -> LangStr: """ :: Screen-message warning shown on the host shortly before an idle player gets kicked (the kick-idle-players option); followed by the kick_idle_warning_settings note. English: (one) "{name} will be kicked in # second if still idle." / (other) "{name} will be kicked in # seconds if still idle." """
#: :: #: #: Parenthesized note shown right after the kick_idle_warning #: message, pointing at where the kick-idle-players behavior can be #: disabled. 'Settings' and 'Advanced' refer to the in-game settings #: menu sections. #: #: English: "(you can turn this off in Settings -> Advanced)" kick_idle_warning_settings: LangStr
[docs] class StringsStoreGroup: """ :: In-app-purchase and store transaction messages: purchase failures, restores, and availability notices. See source for the full asset list. """ #: :: #: #: Notice that Google Play purchases are unavailable. #: #: English: "Google Play purchases are not available. You may need #: to update your store app." google_play_purchases_unavailable: LangStr #: :: #: #: Notice that Google Play Services is unavailable. #: #: English: "Google Play Services is not available. Some app #: functionality may be disabled." google_play_services_unavailable: LangStr #: :: #: #: Notice that this item is already being purchased. #: #: English: "A purchase of this item is already in progress." purchase_already_in_progress: LangStr
[docs] def purchase_not_valid(self, *, email: str | LangStr) -> LangStr: """ :: Error message that a purchase was not valid. English: "Purchase not valid. Contact {email} if this is an error." """
#: :: #: #: Confirmation that past purchases were restored. #: #: English: "Purchases restored." purchases_restored: LangStr #: :: #: #: Limited-time offer to remove ads via a token pack. #: #: English: "LIMITED TIME OFFER: PURCHASE ANY TOKEN PACK TO REMOVE #: IN-GAME ADS." remove_ads_token_offer: LangStr #: :: #: #: Notice that a transaction is already underway. #: #: English: "A transaction is in progress; please try again in a #: moment." transaction_in_progress: LangStr #: :: #: #: Notice that a store item is not available. #: #: English: "Sorry, this is not available." unavailable: LangStr #: :: #: #: Notice that something is unavailable for now. #: #: English: "This is currently unavailable; please try again later." unavailable_temporarily: LangStr
[docs] class StringsTimeGroup: """ :: Compact unit suffixes and glue for formatted time values (the hours/minutes/seconds pieces babase.timestring assembles). See source for the full asset list. """
[docs] def suffix_hours(self, *, count: str | LangStr) -> LangStr: """ :: Compact hours suffix used in formatted time values. English: "{count}h" """
[docs] def suffix_minutes(self, *, count: str | LangStr) -> LangStr: """ :: Compact minutes suffix used in formatted time values. English: "{count}m" """
[docs] def suffix_seconds(self, *, count: str | LangStr) -> LangStr: """ :: Compact seconds suffix used in formatted time values. English: "{count}s" """
[docs] class StringsUiGroup: """ :: General UI strings: menu-control ownership messages and list-navigation hints. See source for the full asset list. """
[docs] def arrows_to_exit_list( self, *, left: str | LangStr, right: str | LangStr ) -> LangStr: """ :: Lowercase hint shown (with an error sound) when the player hits the edge of a UI list; tells them how to move focus out of it. The two placeholders are substituted with left/right arrow glyph characters. English: "press {left} or {right} to exit list" """
#: :: #: #: Generic Cancel button label (used by e.g. asset-download progress #: dialogs). #: #: English: "Cancel" cancel: LangStr #: :: #: #: Notice that the clipboard is unavailable in this build. #: #: English: "Clipboard not supported on this build." clipboard_not_supported: LangStr #: :: #: #: Confirmation that text was copied to the clipboard. #: #: English: "Copied to clipboard." copied_to_clipboard: LangStr #: :: #: #: Generic Error title used on error dialogs (e.g. the boot-time #: asset-update dialog when a load fails). #: #: English: "Error" error: LangStr #: :: #: #: Name label for the Apple Game Center service. #: #: English: "Game Center" game_center: LangStr #: :: #: #: Name label for the Google Play service. #: #: English: "Google Play" google_play: LangStr
[docs] def has_menu_control(self, *, name: str | LangStr) -> LangStr: """ :: Screen-message shown when an input device tries to use a menu another device currently controls; names the controlling device. A timeout suffix (menu_control_time_out or menu_control_will_time_out) is appended after it. English: "{name} has menu control." """
[docs] def menu_control_time_out(self, *, seconds: int) -> LangStr: """ :: Parenthesized suffix appended after the has_menu_control message once the controlling device's ownership is close to expiring; gives the remaining seconds. English: (one) "(times out in # second)" / (other) "(times out in # seconds)" """
#: :: #: #: Parenthesized suffix appended after the has_menu_control message #: while the controlling device's ownership is not yet close to #: expiring. #: #: English: "(will time out if idle)" menu_control_will_time_out: LangStr #: :: #: #: Generic label for a button acknowledging/dismissing a message #: (used by e.g. asset-update error dialogs). #: #: English: "OK" ok: LangStr #: :: #: #: Name label for the remote-control companion app. #: #: English: "BombSquad Remote" remote_app_name: LangStr #: :: #: #: Generic label for a button that retries a failed operation (used #: by e.g. the boot-time asset-update dialog). #: #: English: "Retry" retry: LangStr #: :: #: #: Generic Sign In label used for dialog titles and buttons (e.g. #: the boot-time asset gate's browser sign-in dialog). #: #: English: "Sign In" sign_in: LangStr
[docs] def spaced_pair( self, *, first: str | LangStr, second: str | LangStr ) -> LangStr: """ :: Pure-formatting template joining two labels with a space; substitution-only. English: "{first} {second}" """
#: :: #: #: Notice that storage access permission is required. #: #: English: "This requires storage access" storage_permission_needed: LangStr #: :: #: #: Confirmation label that an operation succeeded. #: #: English: "Success!" success: LangStr #: :: #: #: Generic title for progress dialogs applying updates: asset #: downloads/builds at boot, locale switches, pre-game package #: fetches. #: #: English: "Updating…" updating: LangStr
[docs] class StringsWorkspaceGroup: """ :: Messages about syncing and activating account workspaces. See source for the full asset list. """
[docs] def activated(self, *, thing: str | LangStr) -> LangStr: """ :: Confirmation that a workspace was activated. English: "{thing} activated." """
[docs] def sync_error(self, *, workspace: str | LangStr) -> LangStr: """ :: Error message that a workspace failed to sync. English: "Error syncing workspace {workspace}. See log for details." """
[docs] def sync_reuse(self, *, workspace: str | LangStr) -> LangStr: """ :: Notice that a previously synced workspace is being reused. English: "Unable to sync {workspace}. Reusing the last synced version." """
[docs] class StringsGroup: """ :: New-format engine strings needed early or accessed from the C++ layer via the builtin-strings API (see ballistica-internal strings-asset-migration decision D22). See source for the full asset list. """ account: StringsAccountGroup assets: StringsAssetsGroup audio: StringsAudioGroup input: StringsInputGroup net: StringsNetGroup plugins: StringsPluginsGroup replay: StringsReplayGroup scripts: StringsScriptsGroup session: StringsSessionGroup store: StringsStoreGroup time: StringsTimeGroup ui: StringsUiGroup workspace: StringsWorkspaceGroup
[docs] class TexturesGroup: """ :: Textures needed during engine bootstrap and early UI, including the reflection cube-maps. See source for the full asset list. """ action_buttons: TextureVerifiedSpec arrow: TextureVerifiedSpec back_icon: TextureVerifiedSpec black: TextureVerifiedSpec bomb_button: TextureVerifiedSpec boxing_gloves_color: TextureVerifiedSpec button_square: TextureVerifiedSpec button_square_wide: TextureVerifiedSpec character_icon_mask: TextureVerifiedSpec circle: TextureVerifiedSpec circle_no_alpha: TextureVerifiedSpec circle_outline: TextureVerifiedSpec circle_outline_no_alpha: TextureVerifiedSpec circle_shadow: TextureVerifiedSpec circle_soft: TextureVerifiedSpec cursor: TextureVerifiedSpec explosion: TextureVerifiedSpec eye_color: TextureVerifiedSpec eye_color_tint_mask: TextureVerifiedSpec flag_pole_color: TextureVerifiedSpec font_big: TextureVerifiedSpec font_extras: TextureVerifiedSpec font_extras2: TextureVerifiedSpec font_extras3: TextureVerifiedSpec font_extras4: TextureVerifiedSpec font_extras5: TextureVerifiedSpec font_small0: TextureVerifiedSpec font_small1: TextureVerifiedSpec font_small2: TextureVerifiedSpec font_small3: TextureVerifiedSpec font_small4: TextureVerifiedSpec font_small5: TextureVerifiedSpec font_small6: TextureVerifiedSpec font_small7: TextureVerifiedSpec fuse: TextureVerifiedSpec glow: TextureVerifiedSpec light: TextureVerifiedSpec light_sharp: TextureVerifiedSpec light_soft: TextureVerifiedSpec menu_button: TextureVerifiedSpec nub: TextureVerifiedSpec ouya_abutton: TextureVerifiedSpec page_left_right: TextureVerifiedSpec rgb_stripes: TextureVerifiedSpec scorch: TextureVerifiedSpec scorch_big: TextureVerifiedSpec scroll_widget: TextureVerifiedSpec scroll_widget_glow: TextureVerifiedSpec shadow: TextureVerifiedSpec shadow_sharp: TextureVerifiedSpec shadow_soft: TextureVerifiedSpec shield: TextureVerifiedSpec shrapnel1_color: TextureVerifiedSpec smoke: TextureVerifiedSpec soft_rect: TextureVerifiedSpec soft_rect2: TextureVerifiedSpec soft_rect_vertical: TextureVerifiedSpec sparks: TextureVerifiedSpec spinner: TextureVerifiedSpec spinner0: TextureVerifiedSpec spinner1: TextureVerifiedSpec spinner10: TextureVerifiedSpec spinner11: TextureVerifiedSpec spinner2: TextureVerifiedSpec spinner3: TextureVerifiedSpec spinner4: TextureVerifiedSpec spinner5: TextureVerifiedSpec spinner6: TextureVerifiedSpec spinner7: TextureVerifiedSpec spinner8: TextureVerifiedSpec spinner9: TextureVerifiedSpec start_button: TextureVerifiedSpec text_clear_button: TextureVerifiedSpec touch_arrows: TextureVerifiedSpec touch_arrows_actions: TextureVerifiedSpec ui_atlas: TextureVerifiedSpec ui_atlas2: TextureVerifiedSpec users_button: TextureVerifiedSpec white: TextureVerifiedSpec window_hsmall_vmed: TextureVerifiedSpec window_hsmall_vsmall: TextureVerifiedSpec wings: TextureVerifiedSpec
#: The ``audio`` group - 20 assets (``blank``, ``blip``, ``cash_register``, #: ``click01``, ``cork_pop``, and 15 more). Full list in source. audio: AudioGroup #: The ``meshes`` group - 72 assets (``action_button_bottom``, #: ``action_button_left``, ``action_button_right``, ``action_button_top``, #: ``arrow_back``, and 67 more). Full list in source. meshes: MeshesGroup #: The ``strings`` group - 87 strings (``account``, ``assets``, ``audio``, #: ``input``, ``net``, and 82 more). Full list in source. strings: StringsGroup #: The ``textures`` group - 82 assets (``action_buttons``, ``arrow``, #: ``back_icon``, ``black``, ``bomb_button``, and 77 more). Full list in #: source. textures: TexturesGroup _TREE = { 'audio': { 'blank': 's', 'blip': 's', 'cash_register': 's', 'click01': 's', 'cork_pop': 's', 'deek': 's', 'ding': 's', 'error': 's', 'gun_cocking': 's', 'powerdown01': 's', 'punch01': 's', 'score_increase': 's', 'sparkle01': 's', 'sparkle02': 's', 'sparkle03': 's', 'swish': 's', 'swish2': 's', 'swish3': 's', 'tap': 's', 'ticking_crazy': 's', }, 'meshes': { 'action_button_bottom': 'm', 'action_button_left': 'm', 'action_button_right': 'm', 'action_button_top': 'm', 'arrow_back': 'm', 'arrow_front': 'm', 'box': 'm', 'boxing_glove': 'm', 'button_back_opaque': 'm', 'button_back_small_opaque': 'm', 'button_back_small_transparent': 'm', 'button_back_transparent': 'm', 'button_large_opaque': 'm', 'button_large_transparent': 'm', 'button_larger_opaque': 'm', 'button_larger_transparent': 'm', 'button_medium_opaque': 'm', 'button_medium_transparent': 'm', 'button_small_opaque': 'm', 'button_small_transparent': 'm', 'button_square_opaque': 'm', 'button_square_transparent': 'm', 'button_tab_opaque': 'm', 'button_tab_transparent': 'm', 'check_transparent': 'm', 'cross_out': 'm', 'cylinder': 'm', 'eye_ball': 'm', 'eye_ball_iris': 'm', 'eye_lid': 'm', 'flag_pole': 'm', 'flag_stand': 'm', 'flash': 'm', 'hair_tuft1': 'm', 'hair_tuft1b': 'm', 'hair_tuft2': 'm', 'hair_tuft3': 'm', 'hair_tuft4': 'm', 'image16x1': 'm', 'image1x1': 'm', 'image1x1_full_screen': 'm', 'image1x1_vrfull_screen': 'm', 'image2x1': 'm', 'image4x1': 'm', 'locator': 'm', 'locator_box': 'm', 'locator_circle': 'm', 'locator_circle_outline': 'm', 'overlay_guide': 'm', 'scorch': 'm', 'scroll_bar_thumb_opaque': 'm', 'scroll_bar_thumb_short_opaque': 'm', 'scroll_bar_thumb_short_simple': 'm', 'scroll_bar_thumb_short_transparent': 'm', 'scroll_bar_thumb_simple': 'm', 'scroll_bar_thumb_transparent': 'm', 'scroll_bar_trough_transparent': 'm', 'shield': 'm', 'shock_wave': 'm', 'shrapnel1': 'm', 'shrapnel_board': 'm', 'shrapnel_slime': 'm', 'soft_edge_inside': 'm', 'soft_edge_outside': 'm', 'text_box_transparent': 'm', 'vr_fade': 'm', 'vr_overlay': 'm', 'window_hsmall_vmed_opaque': 'm', 'window_hsmall_vmed_transparent': 'm', 'window_hsmall_vsmall_opaque': 'm', 'window_hsmall_vsmall_transparent': 'm', 'wing': 'm', }, 'strings': { 'account': { 'must_sign_in': (), 'not_using_account': ('service',), 'sign_in_error': (), 'updating_account': (), }, 'assets': { 'access_denied_guidance': ('detail',), 'all_assets_requested_quality': (), 'authenticating': (), 'building_assets': ('count',), 'building_assets_no_count': (), 'client_too_old': (), 'content_error_guidance': ('detail',), 'downloading_assets': ('count',), 'load_error': (), 'preparing_build': (), 'requested_quality_assets_building': (), 'sign_in_failed': (), 'sign_in_needed_browser': ('address',), 'sign_in_needed_other_device': ('address',), 'signing_in': (), }, 'audio': {'music_play_error': ('music',)}, 'input': { 'axis': ('number',), 'button': ('number',), 'controller_connected': ('controller',), 'controller_detected': (), 'controller_disconnected': ('controller',), 'controller_menus_only': (), 'controller_reconnected': ('controller',), 'controllers_connected': ('count',), 'controllers_detected': ('count',), 'controllers_disconnected': ('count',), 'keyboard': (), 'touch_screen': (), 'touch_screen_join_warning': (), 'unsupported_controller': ('name',), 'vr_orientation_reset': (), 'vr_orientation_reset_cardboard': (), }, 'net': { 'account_rejected': (), 'auth_error': (), 'connection_failed': (), 'incorrect_password': (), 'invalid_address': (), 'unavailable_no_connection': (), }, 'plugins': { 'class_load_error': ('plugin', 'error'), 'detected': (), 'init_error': ('plugin', 'error'), 'removed': ('count',), }, 'replay': {'read_error': (), 'version_error': ()}, 'scripts': { 'module_needs_update': ('path', 'api'), 'modules_need_update': ('path', 'count', 'api'), 'scan_error': (), }, 'session': { 'kick_idle_kicked': ('name',), 'kick_idle_warning': ('seconds', 'name'), 'kick_idle_warning_settings': (), }, 'store': { 'google_play_purchases_unavailable': (), 'google_play_services_unavailable': (), 'purchase_already_in_progress': (), 'purchase_not_valid': ('email',), 'purchases_restored': (), 'remove_ads_token_offer': (), 'transaction_in_progress': (), 'unavailable': (), 'unavailable_temporarily': (), }, 'time': { 'suffix_hours': ('count',), 'suffix_minutes': ('count',), 'suffix_seconds': ('count',), }, 'ui': { 'arrows_to_exit_list': ('left', 'right'), 'cancel': (), 'clipboard_not_supported': (), 'copied_to_clipboard': (), 'error': (), 'game_center': (), 'google_play': (), 'has_menu_control': ('name',), 'menu_control_time_out': ('seconds',), 'menu_control_will_time_out': (), 'ok': (), 'remote_app_name': (), 'retry': (), 'sign_in': (), 'spaced_pair': ('first', 'second'), 'storage_permission_needed': (), 'success': (), 'updating': (), }, 'workspace': { 'activated': ('thing',), 'sync_error': ('workspace',), 'sync_reuse': ('workspace',), }, }, 'textures': { 'action_buttons': 't', 'arrow': 't', 'back_icon': 't', 'black': 't', 'bomb_button': 't', 'boxing_gloves_color': 't', 'button_square': 't', 'button_square_wide': 't', 'character_icon_mask': 't', 'circle': 't', 'circle_no_alpha': 't', 'circle_outline': 't', 'circle_outline_no_alpha': 't', 'circle_shadow': 't', 'circle_soft': 't', 'cursor': 't', 'explosion': 't', 'eye_color': 't', 'eye_color_tint_mask': 't', 'flag_pole_color': 't', 'font_big': 't', 'font_extras': 't', 'font_extras2': 't', 'font_extras3': 't', 'font_extras4': 't', 'font_extras5': 't', 'font_small0': 't', 'font_small1': 't', 'font_small2': 't', 'font_small3': 't', 'font_small4': 't', 'font_small5': 't', 'font_small6': 't', 'font_small7': 't', 'fuse': 't', 'glow': 't', 'light': 't', 'light_sharp': 't', 'light_soft': 't', 'menu_button': 't', 'nub': 't', 'ouya_abutton': 't', 'page_left_right': 't', 'rgb_stripes': 't', 'scorch': 't', 'scorch_big': 't', 'scroll_widget': 't', 'scroll_widget_glow': 't', 'shadow': 't', 'shadow_sharp': 't', 'shadow_soft': 't', 'shield': 't', 'shrapnel1_color': 't', 'smoke': 't', 'soft_rect': 't', 'soft_rect2': 't', 'soft_rect_vertical': 't', 'sparks': 't', 'spinner': 't', 'spinner0': 't', 'spinner1': 't', 'spinner10': 't', 'spinner11': 't', 'spinner2': 't', 'spinner3': 't', 'spinner4': 't', 'spinner5': 't', 'spinner6': 't', 'spinner7': 't', 'spinner8': 't', 'spinner9': 't', 'start_button': 't', 'text_clear_button': 't', 'touch_arrows': 't', 'touch_arrows_actions': 't', 'ui_atlas': 't', 'ui_atlas2': 't', 'users_button': 't', 'white': 't', 'window_hsmall_vmed': 't', 'window_hsmall_vsmall': 't', 'wings': 't', }, } if True: # Docs-generation hack; keep runtime tree live audio = AssetGroup(__asset_package__, _TREE['audio'], 'audio') meshes = AssetGroup(__asset_package__, _TREE['meshes'], 'meshes') strings = LangStrDir(__asset_package__, _TREE['strings'], 'strings') textures = AssetGroup(__asset_package__, _TREE['textures'], 'textures') # Docs-generation hack; import some stuff that we likely only forward-declared # in our actual source code so that docs tools can find it. from typing import (Coroutine, Any, Literal, Callable, Generator, Awaitable, Sequence, Self) import asyncio from concurrent.futures import Future from pathlib import Path from enum import Enum