assets and tidying for replay-play-pause PR

This commit is contained in:
Eric 2024-01-05 15:21:09 -08:00
parent f23bc6c7da
commit 6261ea2dde
No known key found for this signature in database
GPG Key ID: 89C93F0F8D6D5A98
9 changed files with 75 additions and 58 deletions

66
.efrocachemap generated
View File

@ -1528,9 +1528,9 @@
"build/assets/ba_data/textures/fontBig.ktx": "94b56c2488d6c9ebabfbbb740eca07dd", "build/assets/ba_data/textures/fontBig.ktx": "94b56c2488d6c9ebabfbbb740eca07dd",
"build/assets/ba_data/textures/fontBig.pvr": "dff3f6c04a8c7b0bb937001640b42c8d", "build/assets/ba_data/textures/fontBig.pvr": "dff3f6c04a8c7b0bb937001640b42c8d",
"build/assets/ba_data/textures/fontBig_preview.png": "f8b15cb04f0deca7774def335a72f053", "build/assets/ba_data/textures/fontBig_preview.png": "f8b15cb04f0deca7774def335a72f053",
"build/assets/ba_data/textures/fontExtras.dds": "0a5a39028853c443cd88bc2492cb6ad9", "build/assets/ba_data/textures/fontExtras.dds": "d2d20fdde7c6114925ba626ade35151f",
"build/assets/ba_data/textures/fontExtras.ktx": "5b14075ce3d1d29c6d5635602e2176d8", "build/assets/ba_data/textures/fontExtras.ktx": "2dde1a343493a9329792d7042116d301",
"build/assets/ba_data/textures/fontExtras.pvr": "8cc68ca85ba327c20c45bad73b000d8c", "build/assets/ba_data/textures/fontExtras.pvr": "80ab1f61fafba22ce0259177944beabf",
"build/assets/ba_data/textures/fontExtras2.dds": "18063a12912dadc9528afd90d1cf2369", "build/assets/ba_data/textures/fontExtras2.dds": "18063a12912dadc9528afd90d1cf2369",
"build/assets/ba_data/textures/fontExtras2.ktx": "36da7f6cfbfb8d32fb14371de0a8f660", "build/assets/ba_data/textures/fontExtras2.ktx": "36da7f6cfbfb8d32fb14371de0a8f660",
"build/assets/ba_data/textures/fontExtras2.pvr": "7a4e8e64ac05313b1782fb5b958150d0", "build/assets/ba_data/textures/fontExtras2.pvr": "7a4e8e64ac05313b1782fb5b958150d0",
@ -1543,7 +1543,7 @@
"build/assets/ba_data/textures/fontExtras4.ktx": "6d872ac15e2e874c1252f63b4584722b", "build/assets/ba_data/textures/fontExtras4.ktx": "6d872ac15e2e874c1252f63b4584722b",
"build/assets/ba_data/textures/fontExtras4.pvr": "6a0a0a1a8bbbc3ee9d6b8b914e7aa697", "build/assets/ba_data/textures/fontExtras4.pvr": "6a0a0a1a8bbbc3ee9d6b8b914e7aa697",
"build/assets/ba_data/textures/fontExtras4_preview.png": "363e2647621917b3821c9068267d2516", "build/assets/ba_data/textures/fontExtras4_preview.png": "363e2647621917b3821c9068267d2516",
"build/assets/ba_data/textures/fontExtras_preview.png": "b6503267cc15e9e2524f41fabd94e773", "build/assets/ba_data/textures/fontExtras_preview.png": "182e41ed4042207404a95e17efbdcee7",
"build/assets/ba_data/textures/fontSmall0.dds": "b30bfe5f9e436be7be8b5eae6e8490c3", "build/assets/ba_data/textures/fontSmall0.dds": "b30bfe5f9e436be7be8b5eae6e8490c3",
"build/assets/ba_data/textures/fontSmall0.ktx": "7e6058f37e6c5a4ea628f35b5f92c227", "build/assets/ba_data/textures/fontSmall0.ktx": "7e6058f37e6c5a4ea628f35b5f92c227",
"build/assets/ba_data/textures/fontSmall0.pvr": "c66e3d6aa1f7def83aaacd8a6c9185e5", "build/assets/ba_data/textures/fontSmall0.pvr": "c66e3d6aa1f7def83aaacd8a6c9185e5",
@ -4060,26 +4060,26 @@
"build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1", "build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1",
"build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae", "build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae",
"build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599", "build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "deab05678a29cc97b3735fe9f672f701", "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "a7db473017fa13d1212e9587b4bda76a",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "a78b8a42c3b38bf50f64883fb813e157", "build/prefab/full/linux_arm64_gui/release/ballisticakit": "8ce62f899f97c32ca7352512d130c94d",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "1a71f94d2c0b7d81cb1a94ec63a4740d", "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "20a42bb622efc117843164631209a38a",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "bab33040650b0b5cd6a51be0408a7eb5", "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "09ef551b00bda642f2e9ffd3df829528",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "1fdd1c91c11c00ad414cfae5b2ed8e7f", "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "f95382d735042cacc0a9b9169898eef6",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "2562f6a76d2509727fac5e4d9dba6024", "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "034c45f3d8475443e3f08a8804d50c54",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "790e3e9dc274f62208bb4d5d9a1c5d8a", "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "9a5a758e249512689c2636eb95c800da",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "7edb44bdc8f02041fce95b9ef58e914f", "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "5b35fd7bd9478df81bea9ae933f6626c",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "31446a8bba8454055ede15de93aa3959", "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "9b07d0576ef0210932802834ffd1e906",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "02bb6a1791ea69af7a0d3472b2fdaf00", "build/prefab/full/mac_arm64_gui/release/ballisticakit": "4909af00548787703b22c9378c5d55c4",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "0d566139dece0e13a1055f1e1718b8ee", "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "c3015bdc3c96b6113fcd8b788de2e8f1",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "7d4338020172447cca0a956b97577b52", "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "e9346722a61a9235689cd4a7584fd3f4",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "e4a746112f5ec92e9d4ba63ae17a42fa", "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "50553482d627914284738077865bba4e",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "d81e70b56bd623ece8529ad97fb56f48", "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "433684a6d7a9c6d3e1e34fb7fde85233",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "a9a12b47a247ff57ff70ce8188cd7eac", "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "2ae2760397e99d9f559cb5b9001f99ee",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "7c84daa6aaec505f4ee584d1ba81fc8e", "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "77005ff5b5551959f3666ce463b0c26e",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "0cb7e1e9f509d798b95d5111827165f5", "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "86f40d9912c007bdcb422de528b79a6a",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "40ce2fb11630bb58a33af0f6eb2b322a", "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "aafe6d208f5cbfd751ade57e434771e4",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "6a396a487dcc0aef42914c6a920935fe", "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "e7fe163c28bbc62ecf211a670cd63a0e",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "f6cc0bd1decf1acc1c7cc5cfe8ca6ed3", "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "02c785d636aec2bf65250f3cb7f28f85",
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "db535f0ca1e01af825f75f204fbc8928", "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "db535f0ca1e01af825f75f204fbc8928",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "97d51afca996ae15b61fd9f409a00459", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "97d51afca996ae15b61fd9f409a00459",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "db535f0ca1e01af825f75f204fbc8928", "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "db535f0ca1e01af825f75f204fbc8928",
@ -4096,16 +4096,16 @@
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "452623f0495dd4375e5b5d9b80d643d5", "build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "452623f0495dd4375e5b5d9b80d643d5",
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "ca49b32ed573feea11613d62cd89840c", "build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "ca49b32ed573feea11613d62cd89840c",
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "452623f0495dd4375e5b5d9b80d643d5", "build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "452623f0495dd4375e5b5d9b80d643d5",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "8d7a27873efa3595c3209a19de05ff9d", "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "e9494cd7208333dc6bd5cbac2e0aefc0",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "54322d4265553cc935840cb2b966c18c", "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "394ac61c479969f32f907202bc86015a",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "50254a1075a671d50fbb1a86aac86cb9", "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "fb19dd72fc79a208fd55a5ab01fe978f",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "fe1eb9d9b16128058c38c46646e37a79", "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "b1280e359206f6e626ceb33df18d1f84",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "b7095b4bdeba71cb04dba2765e8d497c", "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "4bd91c11238f1d135285c22c0ff68644",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "06303398d77e04dc56badaf9f8480132", "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "a0aaf79bb595d8449f46421f5e86f04e",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "61f5d7b685ab8948995c4eba78b2bf3b", "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "cb0974645afa59e96d690844361514df",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "45df75b7cbfba620aa63a23a47ecd42b", "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "55285a142b79b7b5643b749864d64aae",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c", "src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
"src/assets/ba_data/python/babase/_mgen/enums.py": "28323912b56ec07701eda3d41a6a4101", "src/assets/ba_data/python/babase/_mgen/enums.py": "b611c090513a21e2fe90e56582724e9d",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "72bfed2cce8ff19741989dec28302f3f", "src/ballistica/base/mgen/pyembed/binding_base.inc": "72bfed2cce8ff19741989dec28302f3f",
"src/ballistica/base/mgen/pyembed/binding_base_app.inc": "97efb93f4bfd8e8b09f2db24398e29fc", "src/ballistica/base/mgen/pyembed/binding_base_app.inc": "97efb93f4bfd8e8b09f2db24398e29fc",
"src/ballistica/classic/mgen/pyembed/binding_classic.inc": "3ceb412513963f0818ab39c58bf292e3", "src/ballistica/classic/mgen/pyembed/binding_classic.inc": "3ceb412513963f0818ab39c58bf292e3",

View File

@ -1,4 +1,4 @@
### 1.7.33 (build 21753, api 8, 2024-01-05) ### 1.7.33 (build 21754, api 8, 2024-01-05)
- Stress test input-devices are now a bit smarter; they won't press any buttons - Stress test input-devices are now a bit smarter; they won't press any buttons
while UIs are up (this could cause lots of chaos if it happened). while UIs are up (this could cause lots of chaos if it happened).
- Added a 'Show Demos When Idle' option in advanced settings. If enabled, the - Added a 'Show Demos When Idle' option in advanced settings. If enabled, the
@ -6,6 +6,7 @@
periodically after sitting idle at the main menu for a bit. Like an old arcade periodically after sitting idle at the main menu for a bit. Like an old arcade
game. I added this for an upcoming conference appearance but though people game. I added this for an upcoming conference appearance but though people
might like to enable it in other cases. might like to enable it in other cases.
- Replays now have a play/pause button alongside the speed adjustment buttons (Thanks vishal332008!)
### 1.7.32 (build 21741, api 8, 2023-12-20) ### 1.7.32 (build 21741, api 8, 2023-12-20)
- Fixed a screen message that no one will ever see (Thanks vishal332008?...) - Fixed a screen message that no one will ever see (Thanks vishal332008?...)

View File

@ -52,7 +52,7 @@ if TYPE_CHECKING:
# Build number and version of the ballistica binary we expect to be # Build number and version of the ballistica binary we expect to be
# using. # using.
TARGET_BALLISTICA_BUILD = 21753 TARGET_BALLISTICA_BUILD = 21754
TARGET_BALLISTICA_VERSION = '1.7.33' TARGET_BALLISTICA_VERSION = '1.7.33'

View File

@ -514,24 +514,29 @@ class MainMenuWindow(bui.Window):
size=(0, 0), size=(0, 0),
scale=3.0 * t_scale, scale=3.0 * t_scale,
) )
btn = bui.buttonwidget( self._pause_resume_button = btn = bui.buttonwidget(
parent=self._root_widget, parent=self._root_widget,
position=(h - b_size * 0.5, v - b_size - b_buffer_2 + v_offs), position=(h - b_size * 0.5, v - b_size - b_buffer_2 + v_offs),
button_type='square', button_type='square',
size=(b_size, b_size), size=(b_size, b_size),
label='', label=bui.charstr(
bui.SpecialChar.PLAY_BUTTON
if bs.is_replay_paused()
else bui.SpecialChar.PAUSE_BUTTON
),
autoselect=True, autoselect=True,
on_activate_call=bui.Call(self._pause_or_resume_replay), on_activate_call=bui.Call(self._pause_or_resume_replay),
) )
self._pause_and_resume_image = bui.imagewidget( # self._pause_and_resume_image = bui.imagewidget(
parent=self._root_widget, # parent=self._root_widget,
size=(b_size, b_size), # size=(b_size, b_size),
draw_controller=btn, # draw_controller=btn,
position=(h - b_size * 0.47, v - b_size - b_buffer_2 + v_offs), # position=(h - b_size * 0.47,
texture=bui.gettexture( # v - b_size - b_buffer_2 + v_offs),
'pauseIcon' if bs.is_replay_paused() else 'resumeIcon' # texture=bui.gettexture(
), # 'pauseIcon' if bs.is_replay_paused() else 'resumeIcon'
) # ),
# )
def _refresh_not_in_game( def _refresh_not_in_game(
self, positions: list[tuple[float, float, float]] self, positions: list[tuple[float, float, float]]
@ -1058,15 +1063,15 @@ class MainMenuWindow(bui.Window):
def _pause_or_resume_replay(self) -> None: def _pause_or_resume_replay(self) -> None:
if bs.is_replay_paused(): if bs.is_replay_paused():
bs.resume_replay() bs.resume_replay()
bui.imagewidget( bui.buttonwidget(
edit=self._pause_and_resume_image, edit=self._pause_resume_button,
texture=bui.gettexture('resumeIcon'), label=bui.charstr(bui.SpecialChar.PAUSE_BUTTON),
) )
else: else:
bs.pause_replay() bs.pause_replay()
bui.imagewidget( bui.buttonwidget(
edit=self._pause_and_resume_image, edit=self._pause_resume_button,
texture=bui.gettexture('pauseIcon'), label=bui.charstr(bui.SpecialChar.PLAY_BUTTON),
) )
def _quit(self) -> None: def _quit(self) -> None:

View File

@ -1238,6 +1238,13 @@ void Assets::InitSpecialChars() {
special_char_strings_[SpecialChar::kPlayPauseButton] = "\xee\x80\x8E"; special_char_strings_[SpecialChar::kPlayPauseButton] = "\xee\x80\x8E";
special_char_strings_[SpecialChar::kFastForwardButton] = "\xee\x80\x8F"; special_char_strings_[SpecialChar::kFastForwardButton] = "\xee\x80\x8F";
special_char_strings_[SpecialChar::kDpadCenterButton] = "\xee\x80\x90"; special_char_strings_[SpecialChar::kDpadCenterButton] = "\xee\x80\x90";
special_char_strings_[SpecialChar::kPlayStationCrossButton] = "\xee\x80\x91";
special_char_strings_[SpecialChar::kPlayStationCircleButton] = "\xee\x80\x92";
special_char_strings_[SpecialChar::kPlayStationTriangleButton] =
"\xee\x80\x93";
special_char_strings_[SpecialChar::kPlayStationSquareButton] = "\xee\x80\x94";
special_char_strings_[SpecialChar::kPlayButton] = "\xee\x80\x95";
special_char_strings_[SpecialChar::kPauseButton] = "\xee\x80\x96";
special_char_strings_[SpecialChar::kOuyaButtonO] = "\xee\x80\x99"; special_char_strings_[SpecialChar::kOuyaButtonO] = "\xee\x80\x99";
special_char_strings_[SpecialChar::kOuyaButtonU] = "\xee\x80\x9A"; special_char_strings_[SpecialChar::kOuyaButtonU] = "\xee\x80\x9A";

View File

@ -174,11 +174,6 @@ void ClientSession::Update(int time_advance_millisecs, double time_advance) {
if (shutting_down_) { if (shutting_down_) {
return; return;
} }
if (auto* appmode = SceneV1AppMode::GetActiveOrThrow()) {
if (appmode->is_replay_paused()) {
return;
}
}
// Allow replays to modulate speed, etc. // Allow replays to modulate speed, etc.
// Also plug in our more exact time-advance here instead of the old int one. // Also plug in our more exact time-advance here instead of the old int one.

View File

@ -17,6 +17,9 @@ namespace ballistica::scene_v1 {
auto ClientSessionReplay::GetActualTimeAdvanceMillisecs( auto ClientSessionReplay::GetActualTimeAdvanceMillisecs(
double base_advance_millisecs) -> double { double base_advance_millisecs) -> double {
auto* appmode = SceneV1AppMode::GetActiveOrFatal(); auto* appmode = SceneV1AppMode::GetActiveOrFatal();
if (appmode->is_replay_paused()) {
return 0.0;
}
return base_advance_millisecs * pow(2.0f, appmode->replay_speed_exponent()); return base_advance_millisecs * pow(2.0f, appmode->replay_speed_exponent());
} }

View File

@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int {
namespace ballistica { namespace ballistica {
// These are set automatically via script; don't modify them here. // These are set automatically via script; don't modify them here.
const int kEngineBuildNumber = 21753; const int kEngineBuildNumber = 21754;
const char* kEngineVersion = "1.7.33"; const char* kEngineVersion = "1.7.33";
const int kEngineApiVersion = 8; const int kEngineApiVersion = 8;

View File

@ -211,6 +211,12 @@ enum class SpecialChar : uint8_t {
kPlayPauseButton, kPlayPauseButton,
kFastForwardButton, kFastForwardButton,
kDpadCenterButton, kDpadCenterButton,
kPlayStationCrossButton,
kPlayStationCircleButton,
kPlayStationTriangleButton,
kPlayStationSquareButton,
kPlayButton,
kPauseButton,
kOuyaButtonO, kOuyaButtonO,
kOuyaButtonU, kOuyaButtonU,
kOuyaButtonY, kOuyaButtonY,