# 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 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
#: ::
#:
#: 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