Added advanced options to disable cam-shake or cam-gyro-motion

This commit is contained in:
Eric Froemling 2020-07-14 01:10:25 -07:00
parent 94380b83fd
commit 5fd7783b23
3 changed files with 57 additions and 55 deletions

View File

@ -420,7 +420,7 @@
"assets/build/ba_data/audio/zoeOw.ogg": "https://files.ballistica.net/cache/ba1/75/1d/868bb04cf691736035c917d02762",
"assets/build/ba_data/audio/zoePickup01.ogg": "https://files.ballistica.net/cache/ba1/44/2a/8535b446284235cb503947ece074",
"assets/build/ba_data/audio/zoeScream01.ogg": "https://files.ballistica.net/cache/ba1/f5/d3/8e941851c4310465646c4167afc1",
"assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/b5/5b/63af84997e9012c1917ea298ebbb",
"assets/build/ba_data/data/langdata.json": "https://files.ballistica.net/cache/ba1/12/d8/86ab6418b837b98ccdd60695c3f7",
"assets/build/ba_data/data/languages/arabic.json": "https://files.ballistica.net/cache/ba1/4c/ca/1e38748da251895ca11dcdc87107",
"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/bc/59/21bb0b4ef33c733022340c60aebf",
@ -429,13 +429,13 @@
"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/dutch.json": "https://files.ballistica.net/cache/ba1/5b/a3/a46a77f0cc498e1f1e369d772414",
"assets/build/ba_data/data/languages/english.json": "https://files.ballistica.net/cache/ba1/30/f3/4ef3bbaf1e5b7abe114c119ec106",
"assets/build/ba_data/data/languages/english.json": "https://files.ballistica.net/cache/ba1/e7/8e/3553965def02a0b2362a0ed8aebe",
"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/c7/63/f72f7f8b2004ff79b1606b040f8b",
"assets/build/ba_data/data/languages/german.json": "https://files.ballistica.net/cache/ba1/ef/92/4a602f11f6dd3d0310ce98cd5538",
"assets/build/ba_data/data/languages/gibberish.json": "https://files.ballistica.net/cache/ba1/8e/24/f070599beb7b09e1268569fa55b1",
"assets/build/ba_data/data/languages/gibberish.json": "https://files.ballistica.net/cache/ba1/43/ee/42cf5ad52de3d4f567ec04018655",
"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/30/e7/d36b1b1eeb2ec10633281855a34c",
"assets/build/ba_data/data/languages/hindi.json": "https://files.ballistica.net/cache/ba1/11/56/ed2b07866104596338f7ce582d64",
"assets/build/ba_data/data/languages/hungarian.json": "https://files.ballistica.net/cache/ba1/4d/4b/0790110201c9adb1b521e9a55e63",
"assets/build/ba_data/data/languages/indonesian.json": "https://files.ballistica.net/cache/ba1/e3/6f/df2600b658a163f80077bd6c8d78",
"assets/build/ba_data/data/languages/italian.json": "https://files.ballistica.net/cache/ba1/70/d0/36b0d655839c60c2a763bbe52332",
@ -443,7 +443,7 @@
"assets/build/ba_data/data/languages/persian.json": "https://files.ballistica.net/cache/ba1/8e/3f/41e12b96fc07a623d89153b10c38",
"assets/build/ba_data/data/languages/polish.json": "https://files.ballistica.net/cache/ba1/62/18/c2987e85c8ce48544cfa9c29d7bb",
"assets/build/ba_data/data/languages/portuguese.json": "https://files.ballistica.net/cache/ba1/66/0b/df2cd57be4eb505876d209a673d9",
"assets/build/ba_data/data/languages/romanian.json": "https://files.ballistica.net/cache/ba1/f6/d0/335b952306d211d56172b5c72d8c",
"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/33/82/be19758f3563ba6617db4736de74",
"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",
@ -4135,16 +4135,16 @@
"assets/build/windows/x64/vc_redist.x64.exe": "https://files.ballistica.net/cache/ba1/ea/19/8b8787d81abcdce158ba608cd24f",
"assets/build/windows/x64/vcruntime140_1d.dll": "https://files.ballistica.net/cache/ba1/11/d8/ff6344b429b00c24d9a1930d4338",
"assets/build/windows/x64/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/20/33/0825e11e6518f87ece3009309933",
"build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/18/b3/8ce3edf7899253523ca4052d6822",
"build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/5e/3b/93d65e405633a271b532c8b0c41a",
"build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/76/dc/51f5097955d8cf2fa7a90726ed94",
"build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/fb/92/90dd14d0476826f68b85979130c6",
"build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/9c/75/039bc1ef241286e04cae7cf7f741",
"build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/72/18/bcddf334f1236a356d1387e545e6",
"build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/b8/9d/986c79244ce3563899917bbe6b80",
"build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/f0/f0/55696477ef4ec8844e2dac651e76",
"build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/bc/9d/bd9670b2e4f6955089544d8cbefc",
"build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/e2/de/a49454db24304ac508d193feac2d",
"build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/d1/6c/ad012a25d04940733b69c88da29e",
"build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/c4/0a/21e32e240ab6ee416c098cc7520f"
"build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/a9/91/6f5f68ff311414a11f64291f5e5d",
"build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/df/da/500d5bfe62ba1dfb46fed74f1885",
"build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/1a/ad/dbfe0a1a79c08774dbb62d651f44",
"build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/2e/5c/0448f94d859f0c9aff6ac746484c",
"build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/53/53/499bd0581788ace12577ffa4e563",
"build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/09/5a/4e0aa4eee0945e6bcf03861ac74e",
"build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/03/81/48ac08db74f2593cc88ff75b1da9",
"build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/5d/a3/85b1ff72f83cef742b4eec6369c2",
"build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/1f/59/555b2d780d465032756e80f269ad",
"build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/c0/28/1ae99132dc301d9a57bf9dc73958",
"build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/30/41/19c5adcfe23cea006d0d07cecdc0",
"build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/41/ee/31a6d9e0a3dc5afdf9d94c726968"
}

View File

@ -1,5 +1,6 @@
### 1.5.21 (20136)
- Added a UI subsystem at ba.app.ui (containing globals/functionality that was previously directly under ba.app). And hopefully added a fix for rare state of two main menus appearing on-screen at once.
- Added options in the 'Advanced' section to disable camera shake and camera gyroscope motion.
### 1.5.20 (20126)
- The ba.Session.teams and ba.Session.players lists are now ba.Session.sessionteams and ba.Session.sessionplayers. This is to help keep it clear that a Team/Player and a SessionTeam/SessionPlayer are different things now.

View File

@ -82,11 +82,15 @@ class AdvancedSettingsWindow(ba.Window):
self._scroll_width = self._width - (100 + 2 * x_inset)
self._scroll_height = self._height - 115.0
self._sub_width = self._scroll_width * 0.95
self._sub_height = 740.0
self._sub_height = 724.0
if self._show_always_use_internal_keyboard:
self._sub_height += 62
self._show_disable_gyro = app.platform in {'ios', 'android'}
if self._show_disable_gyro:
self._sub_height += 42
self._do_vr_test_button = app.vr_mode
self._do_net_test_button = True
self._extra_button_spacing = self._spacing * 2.5
@ -359,6 +363,29 @@ class AdvancedSettingsWindow(ba.Window):
scale=1.0,
maxwidth=430)
v -= 42
self._disable_camera_shake_check_box = ConfigCheckBox(
parent=self._subcontainer,
position=(50, v),
size=(self._sub_width - 100, 30),
configkey='Disable Camera Shake',
displayname=ba.Lstr(resource=self._r + '.disableCameraShakeText'),
scale=1.0,
maxwidth=430)
self._disable_gyro_check_box: Optional[ConfigCheckBox] = None
if self._show_disable_gyro:
v -= 42
self._disable_gyro_check_box = ConfigCheckBox(
parent=self._subcontainer,
position=(50, v),
size=(self._sub_width - 100, 30),
configkey='Disable Camera Gyro',
displayname=ba.Lstr(resource=self._r +
'.disableCameraGyroscopeMotionText'),
scale=1.0,
maxwidth=430)
self._always_use_internal_keyboard_check_box: Optional[ConfigCheckBox]
if self._show_always_use_internal_keyboard:
v -= 42
@ -414,7 +441,7 @@ class AdvancedSettingsWindow(ba.Window):
v -= self._spacing * 2.0
btn = self._modding_guide_button = ba.buttonwidget(
self._modding_guide_button = ba.buttonwidget(
parent=self._subcontainer,
position=(self._sub_width / 2 - this_button_width / 2, v - 10),
size=(this_button_width, 60),
@ -425,33 +452,6 @@ class AdvancedSettingsWindow(ba.Window):
ba.open_url,
'http://www.froemling.net/docs/bombsquad-modding-guide'))
v -= self._spacing * 1.8
self._enable_package_mods_checkbox = ConfigCheckBox(
parent=self._subcontainer,
position=(80, v),
size=(self._sub_width - 100, 30),
configkey='Enable Package Mods',
autoselect=True,
value_change_call=ba.WeakCall(self._show_restart_needed),
displayname=ba.Lstr(resource=self._r + '.enablePackageModsText'),
scale=1.0,
maxwidth=400)
ccb = self._enable_package_mods_checkbox.widget
ba.widget(edit=btn, down_widget=ccb)
ba.widget(edit=ccb, up_widget=btn)
ba.textwidget(parent=self._subcontainer,
position=(90, v - 10),
size=(0, 0),
text=ba.Lstr(resource=self._r +
'.enablePackageModsDescriptionText'),
maxwidth=400,
flatness=1.0,
scale=0.65,
color=(0.4, 0.9, 0.4, 0.8),
h_align='left',
v_align='center')
v -= self._spacing * 0.6
self._vr_test_button: Optional[ba.Widget]
@ -492,11 +492,6 @@ class AdvancedSettingsWindow(ba.Window):
text_scale=1.0,
on_activate_call=self._on_benchmark_press)
ba.widget(edit=self._vr_test_button if self._vr_test_button is not None
else self._net_test_button if self._net_test_button
is not None else self._benchmarks_button,
up_widget=cbw)
for child in self._subcontainer.get_children():
ba.widget(edit=child, show_buffer_bottom=30, show_buffer_top=20)
@ -581,10 +576,15 @@ class AdvancedSettingsWindow(ba.Window):
sel_name = 'Benchmarks'
elif sel == self._kick_idle_players_check_box.widget:
sel_name = 'KickIdlePlayers'
elif sel == self._disable_camera_shake_check_box.widget:
sel_name = 'DisableCameraShake'
elif (self._always_use_internal_keyboard_check_box is not None
and sel
== self._always_use_internal_keyboard_check_box.widget):
sel_name = 'AlwaysUseInternalKeyboard'
elif (self._disable_gyro_check_box is not None
and sel == self._disable_gyro_check_box.widget):
sel_name = 'DisableGyro'
elif (self._language_popup is not None
and sel == self._language_popup.get_button()):
sel_name = 'Languages'
@ -594,8 +594,6 @@ class AdvancedSettingsWindow(ba.Window):
sel_name = 'ShowUserMods'
elif sel == self._modding_guide_button:
sel_name = 'ModdingGuide'
elif sel == self._enable_package_mods_checkbox.widget:
sel_name = 'PackageMods'
elif sel == self._language_inform_checkbox:
sel_name = 'LangInform'
else:
@ -630,10 +628,15 @@ class AdvancedSettingsWindow(ba.Window):
sel = self._benchmarks_button
elif sel_name == 'KickIdlePlayers':
sel = self._kick_idle_players_check_box.widget
elif sel_name == 'DisableCameraShake':
sel = self._disable_camera_shake_check_box.widget
elif (sel_name == 'AlwaysUseInternalKeyboard'
and self._always_use_internal_keyboard_check_box
is not None):
sel = self._always_use_internal_keyboard_check_box.widget
elif (sel_name == 'DisableGyro'
and self._disable_gyro_check_box is not None):
sel = self._disable_gyro_check_box.widget
elif (sel_name == 'Languages'
and self._language_popup is not None):
sel = self._language_popup.get_button()
@ -643,8 +646,6 @@ class AdvancedSettingsWindow(ba.Window):
sel = self._show_user_mods_button
elif sel_name == 'ModdingGuide':
sel = self._modding_guide_button
elif sel_name == 'PackageMods':
sel = self._enable_package_mods_checkbox.widget
elif sel_name == 'LangInform':
sel = self._language_inform_checkbox
else: