Language updates

This commit is contained in:
Eric Froemling 2020-08-11 08:30:38 -07:00
parent 4b63f19a63
commit d58ba2f0dc
15 changed files with 71 additions and 66 deletions

View File

@ -420,36 +420,36 @@
"assets/build/ba_data/audio/zoeOw.ogg": "https://files.ballistica.net/cache/ba1/04/0a/c4f7d2794b018593ab0b2bcb07f0", "assets/build/ba_data/audio/zoeOw.ogg": "https://files.ballistica.net/cache/ba1/04/0a/c4f7d2794b018593ab0b2bcb07f0",
"assets/build/ba_data/audio/zoePickup01.ogg": "https://files.ballistica.net/cache/ba1/06/4d/18777c9a2eb2207a2891a2837a70", "assets/build/ba_data/audio/zoePickup01.ogg": "https://files.ballistica.net/cache/ba1/06/4d/18777c9a2eb2207a2891a2837a70",
"assets/build/ba_data/audio/zoeScream01.ogg": "https://files.ballistica.net/cache/ba1/81/90/23ab1ecc8c55267bd904a9c05344", "assets/build/ba_data/audio/zoeScream01.ogg": "https://files.ballistica.net/cache/ba1/81/90/23ab1ecc8c55267bd904a9c05344",
"assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/af/5d/5475c7fa4b5899788c5b3e241e01", "assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/06/dd/547243a95a0360ffb4b2ddcad13a",
"assets/build/ba_data/data/languages/arabic.json": "https://files.ballistica.net/cache/ba1/6a/11/c33066f52828a303d62613254148", "assets/build/ba_data/data/languages/arabic.json": "https://files.ballistica.net/cache/ba1/6a/11/c33066f52828a303d62613254148",
"assets/build/ba_data/data/languages/belarussian.json": "https://files.ballistica.net/cache/ba1/49/5f/b29bb65369040892fe6601801637", "assets/build/ba_data/data/languages/belarussian.json": "https://files.ballistica.net/cache/ba1/49/5f/b29bb65369040892fe6601801637",
"assets/build/ba_data/data/languages/chinese.json": "https://files.ballistica.net/cache/ba1/45/68/29dd2936391a747f99227423675b", "assets/build/ba_data/data/languages/chinese.json": "https://files.ballistica.net/cache/ba1/c3/3f/c37ac3c65ac65f171af9313a502a",
"assets/build/ba_data/data/languages/chinesetraditional.json": "https://files.ballistica.net/cache/ba1/d1/96/688ec16a817f34509e69109a431d", "assets/build/ba_data/data/languages/chinesetraditional.json": "https://files.ballistica.net/cache/ba1/5a/9e/e8cad6f08b2b19803ab20fdc80d0",
"assets/build/ba_data/data/languages/croatian.json": "https://files.ballistica.net/cache/ba1/c7/ea/7b4357666b328b991fe82ea9a3fb", "assets/build/ba_data/data/languages/croatian.json": "https://files.ballistica.net/cache/ba1/c7/ea/7b4357666b328b991fe82ea9a3fb",
"assets/build/ba_data/data/languages/czech.json": "https://files.ballistica.net/cache/ba1/dd/5a/14ca3ebb92a802315921e2b2b215", "assets/build/ba_data/data/languages/czech.json": "https://files.ballistica.net/cache/ba1/dd/5a/14ca3ebb92a802315921e2b2b215",
"assets/build/ba_data/data/languages/danish.json": "https://files.ballistica.net/cache/ba1/3f/46/e4da3c1d2b0ebf916df55c608b28", "assets/build/ba_data/data/languages/danish.json": "https://files.ballistica.net/cache/ba1/3f/46/e4da3c1d2b0ebf916df55c608b28",
"assets/build/ba_data/data/languages/dutch.json": "https://files.ballistica.net/cache/ba1/d1/07/37b7adc3dbec7328d26c5325f212", "assets/build/ba_data/data/languages/dutch.json": "https://files.ballistica.net/cache/ba1/d1/07/37b7adc3dbec7328d26c5325f212",
"assets/build/ba_data/data/languages/english.json": "https://files.ballistica.net/cache/ba1/56/1f/fe2912d87b3af510469dc40bdf85", "assets/build/ba_data/data/languages/english.json": "https://files.ballistica.net/cache/ba1/d4/5b/fbd64cf1846340db0606824568c2",
"assets/build/ba_data/data/languages/esperanto.json": "https://files.ballistica.net/cache/ba1/6e/fd/685a4e1da031474d47a1d9eb2731", "assets/build/ba_data/data/languages/esperanto.json": "https://files.ballistica.net/cache/ba1/6e/fd/685a4e1da031474d47a1d9eb2731",
"assets/build/ba_data/data/languages/french.json": "https://files.ballistica.net/cache/ba1/97/cc/8afdb842dbf284fc8bc60c72e2de", "assets/build/ba_data/data/languages/french.json": "https://files.ballistica.net/cache/ba1/e3/6d/63e78b12ae9d99e0929671f52c12",
"assets/build/ba_data/data/languages/german.json": "https://files.ballistica.net/cache/ba1/fe/33/cead18bf921903f8c6d922017892", "assets/build/ba_data/data/languages/german.json": "https://files.ballistica.net/cache/ba1/fe/33/cead18bf921903f8c6d922017892",
"assets/build/ba_data/data/languages/gibberish.json": "https://files.ballistica.net/cache/ba1/57/7d/e79791913a06c9c15fec75138e6a", "assets/build/ba_data/data/languages/gibberish.json": "https://files.ballistica.net/cache/ba1/97/3a/b6746b7f89af424584c794c4d11f",
"assets/build/ba_data/data/languages/greek.json": "https://files.ballistica.net/cache/ba1/17/78/3fd0dca40e632ce53d03a944e7fa", "assets/build/ba_data/data/languages/greek.json": "https://files.ballistica.net/cache/ba1/17/78/3fd0dca40e632ce53d03a944e7fa",
"assets/build/ba_data/data/languages/hindi.json": "https://files.ballistica.net/cache/ba1/11/56/ed2b07866104596338f7ce582d64", "assets/build/ba_data/data/languages/hindi.json": "https://files.ballistica.net/cache/ba1/d5/19/5e450e35b83fe68722330d03b896",
"assets/build/ba_data/data/languages/hungarian.json": "https://files.ballistica.net/cache/ba1/87/2d/027aa239eb66ea8f496562f4fd83", "assets/build/ba_data/data/languages/hungarian.json": "https://files.ballistica.net/cache/ba1/87/2d/027aa239eb66ea8f496562f4fd83",
"assets/build/ba_data/data/languages/indonesian.json": "https://files.ballistica.net/cache/ba1/a9/71/817446169ae436e6775f76cd5aec", "assets/build/ba_data/data/languages/indonesian.json": "https://files.ballistica.net/cache/ba1/a9/71/817446169ae436e6775f76cd5aec",
"assets/build/ba_data/data/languages/italian.json": "https://files.ballistica.net/cache/ba1/82/7b/fac54bd2911a93d3d50df3c25ee2", "assets/build/ba_data/data/languages/italian.json": "https://files.ballistica.net/cache/ba1/a8/b9/070b8151df9a1664d6b1b425f0b3",
"assets/build/ba_data/data/languages/korean.json": "https://files.ballistica.net/cache/ba1/0a/84/bbb6ed2abf66509406f534cbbb52", "assets/build/ba_data/data/languages/korean.json": "https://files.ballistica.net/cache/ba1/0a/84/bbb6ed2abf66509406f534cbbb52",
"assets/build/ba_data/data/languages/persian.json": "https://files.ballistica.net/cache/ba1/86/bf/284e1d1c6f07720828754b1ad4c9", "assets/build/ba_data/data/languages/persian.json": "https://files.ballistica.net/cache/ba1/86/bf/284e1d1c6f07720828754b1ad4c9",
"assets/build/ba_data/data/languages/polish.json": "https://files.ballistica.net/cache/ba1/1d/55/f8a3d9c1d8132527b1f273bdf7f7", "assets/build/ba_data/data/languages/polish.json": "https://files.ballistica.net/cache/ba1/88/4b/6745a1a58220772e259f0de51196",
"assets/build/ba_data/data/languages/portuguese.json": "https://files.ballistica.net/cache/ba1/b7/d8/4713322c35511a50e00b0aaead5a", "assets/build/ba_data/data/languages/portuguese.json": "https://files.ballistica.net/cache/ba1/42/b5/7612cce15fe4555889585108b3ef",
"assets/build/ba_data/data/languages/romanian.json": "https://files.ballistica.net/cache/ba1/44/3c/7cc06ca8d5475e1687d0ed05bdbf", "assets/build/ba_data/data/languages/romanian.json": "https://files.ballistica.net/cache/ba1/44/3c/7cc06ca8d5475e1687d0ed05bdbf",
"assets/build/ba_data/data/languages/russian.json": "https://files.ballistica.net/cache/ba1/61/97/8f5273183a2a0a5425bc6f4c3070", "assets/build/ba_data/data/languages/russian.json": "https://files.ballistica.net/cache/ba1/d4/bb/69c09648f60e36f35bd38be20cf8",
"assets/build/ba_data/data/languages/serbian.json": "https://files.ballistica.net/cache/ba1/e7/d8/ace32888249fc8b8cca0e2edb48b", "assets/build/ba_data/data/languages/serbian.json": "https://files.ballistica.net/cache/ba1/e7/d8/ace32888249fc8b8cca0e2edb48b",
"assets/build/ba_data/data/languages/slovak.json": "https://files.ballistica.net/cache/ba1/b7/0a/fab820b96e7aa587ee56427ecdc2", "assets/build/ba_data/data/languages/slovak.json": "https://files.ballistica.net/cache/ba1/b7/0a/fab820b96e7aa587ee56427ecdc2",
"assets/build/ba_data/data/languages/spanish.json": "https://files.ballistica.net/cache/ba1/c2/bc/a426b99c4fde5f1eeeac97cf3600", "assets/build/ba_data/data/languages/spanish.json": "https://files.ballistica.net/cache/ba1/b9/6b/adf28849d42f4c195dacf4f53902",
"assets/build/ba_data/data/languages/swedish.json": "https://files.ballistica.net/cache/ba1/50/9f/be006ba19be6a69a57837eb6dca0", "assets/build/ba_data/data/languages/swedish.json": "https://files.ballistica.net/cache/ba1/50/9f/be006ba19be6a69a57837eb6dca0",
"assets/build/ba_data/data/languages/turkish.json": "https://files.ballistica.net/cache/ba1/fc/68/afb751f913d8ae75effebc95f4a0", "assets/build/ba_data/data/languages/turkish.json": "https://files.ballistica.net/cache/ba1/9a/8a/f7b2521c1904ffc83262dff1e11b",
"assets/build/ba_data/data/languages/ukrainian.json": "https://files.ballistica.net/cache/ba1/b8/8c/ac972d1936acf2aaa1d06a4b5ce6", "assets/build/ba_data/data/languages/ukrainian.json": "https://files.ballistica.net/cache/ba1/b8/8c/ac972d1936acf2aaa1d06a4b5ce6",
"assets/build/ba_data/data/languages/venetian.json": "https://files.ballistica.net/cache/ba1/ae/ec/9335bf4749a979061be7b8e6d613", "assets/build/ba_data/data/languages/venetian.json": "https://files.ballistica.net/cache/ba1/ae/ec/9335bf4749a979061be7b8e6d613",
"assets/build/ba_data/data/languages/vietnamese.json": "https://files.ballistica.net/cache/ba1/04/52/683a27aaf9aa7c63e7e595f80d08", "assets/build/ba_data/data/languages/vietnamese.json": "https://files.ballistica.net/cache/ba1/04/52/683a27aaf9aa7c63e7e595f80d08",
@ -3928,16 +3928,16 @@
"assets/build/windows/Win32/ucrtbased.dll": "https://files.ballistica.net/cache/ba1/b5/85/f8b6d0558ddb87267f34254b1450", "assets/build/windows/Win32/ucrtbased.dll": "https://files.ballistica.net/cache/ba1/b5/85/f8b6d0558ddb87267f34254b1450",
"assets/build/windows/Win32/vc_redist.x86.exe": "https://files.ballistica.net/cache/ba1/1c/e1/4a1a2eddda2f4aebd5f8b64ab08e", "assets/build/windows/Win32/vc_redist.x86.exe": "https://files.ballistica.net/cache/ba1/1c/e1/4a1a2eddda2f4aebd5f8b64ab08e",
"assets/build/windows/Win32/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/50/8d/bc2600ac9491f1b14d659709451f", "assets/build/windows/Win32/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/50/8d/bc2600ac9491f1b14d659709451f",
"build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/fc/51/42cfaaf8101f604adbf7bdcb7c34", "build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/6e/f4/988128b2a38a8321ec354da5dcee",
"build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/a9/b6/2a886ca52b15e3c1a4ac7ca327f3", "build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/de/58/1aa87a7931c22de875911fd514d8",
"build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/c7/e5/cf5c585713f11c691047580a1f0c", "build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/a1/3b/70935fd69c8ee28b0e6a087b94fd",
"build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/59/7e/0fd8ce8fb147026004e8a6a313f4", "build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/b3/1b/5fc0ae2fc3fea72d1a44d76acced",
"build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ce/4b/75871cc1df9b1536818717a03714", "build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/88/3b/fbd18332d7c9eb9bb6d19dbfdcb6",
"build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/f0/94/bfb8f62d52af7a114e36f90a3f1c", "build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c3/d4/9253ba5d7f3e264333960a11821e",
"build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/77/3f/65c310bf29312f1fcb75f7d92fc9", "build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/bc/1f/17c118919f6b7d519652cfbc285e",
"build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/20/11/51e2583fbb531888d79559a0ff92", "build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/52/3c/0b153dc147c57263eb5e79c6f419",
"build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/20/f2/a60ad18026aaefb0261a595781d6", "build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/76/0c/1473b08573d227c76ebecd1248c6",
"build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/b6/ac/54d5bb63ee411bb0cc10ce76e5bf", "build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/89/b3/cf229fd1765296e8829cd7e877b7",
"build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/33/e7/4e471804132ec72ca1bf4229612b", "build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/2f/06/64b2cc506e0f32082fe8280cd294",
"build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/b8/1f/09cc97502db36973d70a9bbb42c9" "build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/54/8b/812d044be955463754ee378173f6"
} }

View File

@ -1,4 +1,4 @@
### 1.5.25 (20164) ### 1.5.25 (20165)
- Added Venetian language (thanks Federico!) - Added Venetian language (thanks Federico!)
### 1.5.24 (20163) ### 1.5.24 (20163)

View File

@ -301,8 +301,10 @@ class App:
assert isinstance(self.protocol_version, int) assert isinstance(self.protocol_version, int)
self.toolbar_test: bool = env['toolbar_test'] self.toolbar_test: bool = env['toolbar_test']
assert isinstance(self.toolbar_test, bool) assert isinstance(self.toolbar_test, bool)
self.kiosk_mode: bool = env['kiosk_mode'] self.demo_mode: bool = env['demo_mode']
assert isinstance(self.kiosk_mode, bool) assert isinstance(self.demo_mode, bool)
self.arcade_mode: bool = env['arcade_mode']
assert isinstance(self.arcade_mode, bool)
self.headless_build: bool = env['headless_build'] self.headless_build: bool = env['headless_build']
assert isinstance(self.headless_build, bool) assert isinstance(self.headless_build, bool)

View File

@ -64,7 +64,7 @@ class CoopGameActivity(GameActivity[PlayerType, TeamType]):
super().on_begin() super().on_begin()
# Show achievements remaining. # Show achievements remaining.
if not _ba.app.kiosk_mode: if not (_ba.app.demo_mode or _ba.app.arcade_mode):
_ba.timer(3.8, WeakCall(self._show_remaining_achievements)) _ba.timer(3.8, WeakCall(self._show_remaining_achievements))
# Preload achievement images in case we get some. # Preload achievement images in case we get some.

View File

@ -292,7 +292,7 @@ class CoopSession(Session):
# tutorial first. # tutorial first.
if (isinstance(activity, JoinActivity) if (isinstance(activity, JoinActivity)
and self.campaign_level_name == 'Onslaught Training' and self.campaign_level_name == 'Onslaught Training'
and not app.kiosk_mode): and not (app.demo_mode or app.arcade_mode)):
if self._tutorial_activity is None: if self._tutorial_activity is None:
raise RuntimeError('Tutorial not preloaded properly.') raise RuntimeError('Tutorial not preloaded properly.')
self.setactivity(self._tutorial_activity) self.setactivity(self._tutorial_activity)
@ -315,7 +315,7 @@ class CoopSession(Session):
# Now flip the current activity.. # Now flip the current activity..
self.setactivity(next_game) self.setactivity(next_game)
if not app.kiosk_mode: if not (app.demo_mode or app.arcade_mode):
if self.tournament_id is not None: if self.tournament_id is not None:
self._custom_menu_ui = [{ self._custom_menu_ui = [{
'label': 'label':

View File

@ -77,7 +77,7 @@ class JoinInfo:
'text': self._joinmsg 'text': self._joinmsg
})) }))
if _ba.app.kiosk_mode: if _ba.app.demo_mode or _ba.app.arcade_mode:
self._messages = [self._joinmsg] self._messages = [self._joinmsg]
else: else:
msg1 = Lstr(resource='pressToSelectProfileText', msg1 = Lstr(resource='pressToSelectProfileText',
@ -406,13 +406,14 @@ class Chooser:
self._profiles['_random'] = {} self._profiles['_random'] = {}
# In kiosk mode we disable account profiles to force random. # In kiosk mode we disable account profiles to force random.
if app.kiosk_mode: if app.demo_mode or app.arcade_mode:
if '__account__' in self._profiles: if '__account__' in self._profiles:
del self._profiles['__account__'] del self._profiles['__account__']
# For local devices, add it an 'edit' option which will pop up # For local devices, add it an 'edit' option which will pop up
# the profile window. # the profile window.
if not is_remote and not is_test_input and not app.kiosk_mode: if not is_remote and not is_test_input and not (app.demo_mode
or app.arcade_mode):
self._profiles['_edit'] = {} self._profiles['_edit'] = {}
# Build a sorted name list we can iterate through. # Build a sorted name list we can iterate through.

View File

@ -77,7 +77,7 @@ def get_player_profile_colors(
# Special case: when being asked for a random color in kiosk mode, # Special case: when being asked for a random color in kiosk mode,
# always return default purple. # always return default purple.
if _ba.app.kiosk_mode and profilename is None: if (_ba.app.demo_mode or _ba.app.arcade_mode) and profilename is None:
color = (0.5, 0.4, 1.0) color = (0.5, 0.4, 1.0)
highlight = (0.4, 0.4, 0.5) highlight = (0.4, 0.4, 0.5)
else: else:

View File

@ -173,7 +173,7 @@ class CoopJoinActivity(JoinActivity):
self.session.campaign_level_name) self.session.campaign_level_name)
ts_h_offs = 60 ts_h_offs = 60
if not ba.app.kiosk_mode: if not (ba.app.demo_mode or ba.app.arcade_mode):
achievements = [ achievements = [
a for a in get_achievements_for_coop_level(levelname) a for a in get_achievements_for_coop_level(levelname)
if not a.complete if not a.complete

View File

@ -389,7 +389,8 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
else: else:
pass pass
show_next_button = self._is_more_levels and not ba.app.kiosk_mode show_next_button = self._is_more_levels and not (ba.app.demo_mode
or ba.app.arcade_mode)
if not show_next_button: if not show_next_button:
h_offs += 70 h_offs += 70
@ -455,7 +456,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
self._corner_button_offs = (h_offs + 300.0 + 100.0 + x_offs_extra, self._corner_button_offs = (h_offs + 300.0 + 100.0 + x_offs_extra,
v_offs + 560.0) v_offs + 560.0)
if ba.app.kiosk_mode: if ba.app.demo_mode or ba.app.arcade_mode:
self._league_rank_button = None self._league_rank_button = None
self._store_button_instance = None self._store_button_instance = None
else: else:
@ -542,7 +543,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
ba.timer(1.0, ba.WeakCall(self.request_ui)) ba.timer(1.0, ba.WeakCall(self.request_ui))
if (self._is_complete and self._victory and self._is_more_levels if (self._is_complete and self._victory and self._is_more_levels
and not ba.app.kiosk_mode): and not (ba.app.demo_mode or ba.app.arcade_mode)):
Text(ba.Lstr(value='${A}:\n', Text(ba.Lstr(value='${A}:\n',
subs=[('${A}', ba.Lstr(resource='levelUnlockedText')) subs=[('${A}', ba.Lstr(resource='levelUnlockedText'))
]) if self._newly_complete else ]) if self._newly_complete else
@ -690,7 +691,7 @@ class CoopScoreScreen(ba.Activity[ba.Player, ba.Team]):
}) })
if _ba.get_account_state() != 'signed_in': if _ba.get_account_state() != 'signed_in':
# We expect this only in kiosk mode; complain otherwise. # We expect this only in kiosk mode; complain otherwise.
if not ba.app.kiosk_mode: if not (ba.app.demo_mode or ba.app.arcade_mode):
print('got not-signed-in at score-submit; unexpected') print('got not-signed-in at score-submit; unexpected')
if self._show_friend_scores: if self._show_friend_scores:
ba.pushcall(ba.WeakCall(self._got_friend_score_results, None)) ba.pushcall(ba.WeakCall(self._got_friend_score_results, None))

View File

@ -450,7 +450,7 @@ class FootballCoopGame(ba.CoopGameActivity[Player, Team]):
super().on_begin() super().on_begin()
# Show controls help in kiosk mode. # Show controls help in kiosk mode.
if ba.app.kiosk_mode: if ba.app.demo_mode or ba.app.arcade_mode:
controlsguide.ControlsGuide(delay=3.0, lifespan=10.0, controlsguide.ControlsGuide(delay=3.0, lifespan=10.0,
bright=True).autoretain() bright=True).autoretain()
assert self.initialplayerinfos is not None assert self.initialplayerinfos is not None

View File

@ -457,8 +457,8 @@ class OnslaughtGame(ba.CoopGameActivity[Player, Team]):
elif self._preset in {Preset.UBER, Preset.UBER_EASY}: elif self._preset in {Preset.UBER, Preset.UBER_EASY}:
# Show controls help in kiosk mode. # Show controls help in demo/arcade modes.
if ba.app.kiosk_mode: if ba.app.demo_mode or ba.app.arcade_mode:
ControlsGuide(delay=3.0, lifespan=10.0, ControlsGuide(delay=3.0, lifespan=10.0,
bright=True).autoretain() bright=True).autoretain()

View File

@ -150,8 +150,9 @@ class MainMenuActivity(ba.Activity[ba.Player, ba.Team]):
# Throw in test build info. # Throw in test build info.
self.beta_info = self.beta_info_2 = None self.beta_info = self.beta_info_2 = None
if app.test_build and not app.kiosk_mode: if app.test_build and not (app.demo_mode or app.arcade_mode):
pos = (230, 125) if app.kiosk_mode else (230, 35) pos = ((230, 125) if (app.demo_mode or app.arcade_mode) else
(230, 35))
self.beta_info = ba.NodeActor( self.beta_info = ba.NodeActor(
ba.newnode('text', ba.newnode('text',
attrs={ attrs={
@ -396,7 +397,7 @@ class MainMenuActivity(ba.Activity[ba.Player, ba.Team]):
})) }))
self._change_phrase() self._change_phrase()
if not app.kiosk_mode and not app.toolbar_test: if not (app.demo_mode or app.arcade_mode) and not app.toolbar_test:
self._news = News(self) self._news = News(self)
# Bring up the last place we were, or start at the main menu otherwise. # Bring up the last place we were, or start at the main menu otherwise.
@ -411,7 +412,7 @@ class MainMenuActivity(ba.Activity[ba.Player, ba.Team]):
# When coming back from a kiosk-mode game, jump to # When coming back from a kiosk-mode game, jump to
# the kiosk start screen. # the kiosk start screen.
if ba.app.kiosk_mode: if ba.app.demo_mode or ba.app.arcade_mode:
# pylint: disable=cyclic-import # pylint: disable=cyclic-import
from bastd.ui.kiosk import KioskWindow from bastd.ui.kiosk import KioskWindow
ba.app.ui.set_main_menu_window( ba.app.ui.set_main_menu_window(
@ -514,7 +515,7 @@ class MainMenuActivity(ba.Activity[ba.Player, ba.Team]):
base_x = -270.0 base_x = -270.0
x = base_x - 20.0 x = base_x - 20.0
spacing = 85.0 * base_scale spacing = 85.0 * base_scale
y_extra = 0.0 if app.kiosk_mode else 0.0 y_extra = 0.0 if (app.demo_mode or app.arcade_mode) else 0.0
self._make_logo(x - 110 + 50, self._make_logo(x - 110 + 50,
113 + y + 1.2 * y_extra, 113 + y + 1.2 * y_extra,
0.34 * base_scale, 0.34 * base_scale,
@ -567,7 +568,7 @@ class MainMenuActivity(ba.Activity[ba.Player, ba.Team]):
base_x = -170 base_x = -170
x = base_x - 20 x = base_x - 20
spacing = 55 * base_scale spacing = 55 * base_scale
y_extra = 0 if app.kiosk_mode else 0 y_extra = 0 if (app.demo_mode or app.arcade_mode) else 0
xv1 = x xv1 = x
delay1 = delay delay1 = delay
for shadow in (True, False): for shadow in (True, False):

View File

@ -99,8 +99,9 @@ class KioskWindow(ba.Window):
size=(0, 0), size=(0, 0),
position=(self._width * 0.5, self._height + y_extra - 34), position=(self._width * 0.5, self._height + y_extra - 34),
transition_delay=tdelay, transition_delay=tdelay,
text=ba.Lstr(resource='demoText', text=(ba.Lstr(resource='demoText',
fallback_resource='mainMenu.demoMenuText'), fallback_resource='mainMenu.demoMenuText')
if ba.app.demo_mode else 'ARCADE'),
flatness=1.0, flatness=1.0,
scale=1.2, scale=1.2,
h_align='center', h_align='center',
@ -311,8 +312,7 @@ class KioskWindow(ba.Window):
self._b4 = self._b5 = self._b6 = None self._b4 = self._b5 = self._b6 = None
self._b7: Optional[ba.Widget] self._b7: Optional[ba.Widget]
uiscale = ba.app.ui.uiscale if ba.app.arcade_mode:
if bool(False):
self._b7 = ba.buttonwidget( self._b7 = ba.buttonwidget(
parent=self._root_widget, parent=self._root_widget,
autoselect=True, autoselect=True,
@ -320,10 +320,7 @@ class KioskWindow(ba.Window):
color=(0.45, 0.55, 0.45), color=(0.45, 0.55, 0.45),
textcolor=(0.7, 0.8, 0.7), textcolor=(0.7, 0.8, 0.7),
scale=0.5, scale=0.5,
position=((self._width * 0.5 - 37.5, position=(self._width * 0.5 - 60.0, b_v - 70.0),
y_extra + 120) if not self._show_multiplayer else
(self._width + 100, y_extra +
(140 if uiscale is ba.UIScale.SMALL else 120))),
transition_delay=tdelay, transition_delay=tdelay,
label=ba.Lstr(resource=self._r + '.fullMenuText'), label=ba.Lstr(resource=self._r + '.fullMenuText'),
on_activate_call=self._do_full_menu) on_activate_call=self._do_full_menu)

View File

@ -56,7 +56,8 @@ class MainMenuWindow(ba.Window):
toolbar_visibility='menu_minimal_no_back' if self. toolbar_visibility='menu_minimal_no_back' if self.
_in_game else 'menu_minimal_no_back')) _in_game else 'menu_minimal_no_back'))
self._is_kiosk = ba.app.kiosk_mode self._is_demo = ba.app.demo_mode
self._is_arcade = ba.app.arcade_mode
self._tdelay = 0.0 self._tdelay = 0.0
self._t_delay_inc = 0.02 self._t_delay_inc = 0.02
self._t_delay_play = 1.7 self._t_delay_play = 1.7
@ -73,6 +74,7 @@ class MainMenuWindow(ba.Window):
self._gc_button: Optional[ba.Widget] = None self._gc_button: Optional[ba.Widget] = None
self._how_to_play_button: Optional[ba.Widget] = None self._how_to_play_button: Optional[ba.Widget] = None
self._credits_button: Optional[ba.Widget] = None self._credits_button: Optional[ba.Widget] = None
self._settings_button: Optional[ba.Widget] = None
self._store_char_tex = self._get_store_char_tex() self._store_char_tex = self._get_store_char_tex()
@ -193,9 +195,9 @@ class MainMenuWindow(ba.Window):
self._have_store_button = not self._in_game self._have_store_button = not self._in_game
self._have_settings_button = ((not self._in_game self._have_settings_button = (
or not app.toolbar_test) (not self._in_game or not app.toolbar_test)
and not self._is_kiosk) and not (self._is_demo or self._is_arcade))
self._input_device = input_device = _ba.get_ui_input_device() self._input_device = input_device = _ba.get_ui_input_device()
self._input_player = input_device.player if input_device else None self._input_player = input_device.player if input_device else None
@ -500,7 +502,7 @@ class MainMenuWindow(ba.Window):
(x_offs + spc * i - 1.0, button_y_offs + button_y_offs2, (x_offs + spc * i - 1.0, button_y_offs + button_y_offs2,
small_button_scale)) small_button_scale))
# In kiosk mode, provide a button to get back to the kiosk menu. # In kiosk mode, provide a button to get back to the kiosk menu.
if ba.app.kiosk_mode: if ba.app.demo_mode or ba.app.arcade_mode:
h, v, scale = positions[self._p_index] h, v, scale = positions[self._p_index]
this_b_width = self._button_width * 0.4 * scale this_b_width = self._button_width * 0.4 * scale
demo_menu_delay = 0.0 if self._t_delay_play == 0.0 else max( demo_menu_delay = 0.0 if self._t_delay_play == 0.0 else max(
@ -512,7 +514,8 @@ class MainMenuWindow(ba.Window):
autoselect=True, autoselect=True,
color=(0.45, 0.55, 0.45), color=(0.45, 0.55, 0.45),
textcolor=(0.7, 0.8, 0.7), textcolor=(0.7, 0.8, 0.7),
label=ba.Lstr(resource=self._r + '.demoMenuText'), label=ba.Lstr(resource='modeArcadeText' if ba.app.
arcade_mode else 'modeDemoText'),
transition_delay=demo_menu_delay, transition_delay=demo_menu_delay,
on_activate_call=self._demo_menu_press) on_activate_call=self._demo_menu_press)
else: else:
@ -707,7 +710,7 @@ class MainMenuWindow(ba.Window):
f'Error getting custom menu entries for {session}') f'Error getting custom menu entries for {session}')
self._width = 250.0 self._width = 250.0
self._height = 250.0 if self._input_player else 180.0 self._height = 250.0 if self._input_player else 180.0
if self._is_kiosk and self._input_player: if (self._is_demo or self._is_arcade) and self._input_player:
self._height -= 40 self._height -= 40
if not self._have_settings_button: if not self._have_settings_button:
self._height -= 50 self._height -= 50
@ -782,7 +785,7 @@ class MainMenuWindow(ba.Window):
autoselect=self._use_autoselect) autoselect=self._use_autoselect)
# Add a 'leave' button if the menu-owner has a player. # Add a 'leave' button if the menu-owner has a player.
if ((self._input_player or self._connected_to_remote_player) if ((self._input_player or self._connected_to_remote_player)
and not self._is_kiosk): and not (self._is_demo or self._is_arcade)):
h, v, scale = positions[self._p_index] h, v, scale = positions[self._p_index]
self._p_index += 1 self._p_index += 1
btn = ba.buttonwidget(parent=self._root_widget, btn = ba.buttonwidget(parent=self._root_widget,

View File

@ -1,5 +1,5 @@
<!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND --> <!-- THIS FILE IS AUTO GENERATED; DO NOT EDIT BY HAND -->
<h4><em>last updated on 2020-08-09 for Ballistica version 1.5.24 build 20164</em></h4> <h4><em>last updated on 2020-08-09 for Ballistica version 1.5.25 build 20166</em></h4>
<p>This page documents the Python classes and functions in the 'ba' module, <p>This page documents the Python classes and functions in the 'ba' module,
which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p> which are the ones most relevant to modding in Ballistica. If you come across something you feel should be included here or could be better explained, please <a href="mailto:support@froemling.net">let me know</a>. Happy modding!</p>
<hr> <hr>