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.pvr": "dff3f6c04a8c7b0bb937001640b42c8d",
"build/assets/ba_data/textures/fontBig_preview.png": "f8b15cb04f0deca7774def335a72f053",
"build/assets/ba_data/textures/fontExtras.dds": "0a5a39028853c443cd88bc2492cb6ad9",
"build/assets/ba_data/textures/fontExtras.ktx": "5b14075ce3d1d29c6d5635602e2176d8",
"build/assets/ba_data/textures/fontExtras.pvr": "8cc68ca85ba327c20c45bad73b000d8c",
"build/assets/ba_data/textures/fontExtras.dds": "d2d20fdde7c6114925ba626ade35151f",
"build/assets/ba_data/textures/fontExtras.ktx": "2dde1a343493a9329792d7042116d301",
"build/assets/ba_data/textures/fontExtras.pvr": "80ab1f61fafba22ce0259177944beabf",
"build/assets/ba_data/textures/fontExtras2.dds": "18063a12912dadc9528afd90d1cf2369",
"build/assets/ba_data/textures/fontExtras2.ktx": "36da7f6cfbfb8d32fb14371de0a8f660",
"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.pvr": "6a0a0a1a8bbbc3ee9d6b8b914e7aa697",
"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.ktx": "7e6058f37e6c5a4ea628f35b5f92c227",
"build/assets/ba_data/textures/fontSmall0.pvr": "c66e3d6aa1f7def83aaacd8a6c9185e5",
@ -4060,26 +4060,26 @@
"build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1",
"build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae",
"build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "deab05678a29cc97b3735fe9f672f701",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "a78b8a42c3b38bf50f64883fb813e157",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "1a71f94d2c0b7d81cb1a94ec63a4740d",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "bab33040650b0b5cd6a51be0408a7eb5",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "1fdd1c91c11c00ad414cfae5b2ed8e7f",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "2562f6a76d2509727fac5e4d9dba6024",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "790e3e9dc274f62208bb4d5d9a1c5d8a",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "7edb44bdc8f02041fce95b9ef58e914f",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "31446a8bba8454055ede15de93aa3959",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "02bb6a1791ea69af7a0d3472b2fdaf00",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "0d566139dece0e13a1055f1e1718b8ee",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "7d4338020172447cca0a956b97577b52",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "e4a746112f5ec92e9d4ba63ae17a42fa",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "d81e70b56bd623ece8529ad97fb56f48",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "a9a12b47a247ff57ff70ce8188cd7eac",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "7c84daa6aaec505f4ee584d1ba81fc8e",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "0cb7e1e9f509d798b95d5111827165f5",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "40ce2fb11630bb58a33af0f6eb2b322a",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "6a396a487dcc0aef42914c6a920935fe",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "f6cc0bd1decf1acc1c7cc5cfe8ca6ed3",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "a7db473017fa13d1212e9587b4bda76a",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "8ce62f899f97c32ca7352512d130c94d",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "20a42bb622efc117843164631209a38a",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "09ef551b00bda642f2e9ffd3df829528",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "f95382d735042cacc0a9b9169898eef6",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "034c45f3d8475443e3f08a8804d50c54",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "9a5a758e249512689c2636eb95c800da",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "5b35fd7bd9478df81bea9ae933f6626c",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "9b07d0576ef0210932802834ffd1e906",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "4909af00548787703b22c9378c5d55c4",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "c3015bdc3c96b6113fcd8b788de2e8f1",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "e9346722a61a9235689cd4a7584fd3f4",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "50553482d627914284738077865bba4e",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "433684a6d7a9c6d3e1e34fb7fde85233",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "2ae2760397e99d9f559cb5b9001f99ee",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "77005ff5b5551959f3666ce463b0c26e",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "86f40d9912c007bdcb422de528b79a6a",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "aafe6d208f5cbfd751ade57e434771e4",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "e7fe163c28bbc62ecf211a670cd63a0e",
"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/release/libballisticaplus.a": "97d51afca996ae15b61fd9f409a00459",
"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_server/debug/libballisticaplus.a": "ca49b32ed573feea11613d62cd89840c",
"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.pdb": "54322d4265553cc935840cb2b966c18c",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "50254a1075a671d50fbb1a86aac86cb9",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "fe1eb9d9b16128058c38c46646e37a79",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "b7095b4bdeba71cb04dba2765e8d497c",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "06303398d77e04dc56badaf9f8480132",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "61f5d7b685ab8948995c4eba78b2bf3b",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "45df75b7cbfba620aa63a23a47ecd42b",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "e9494cd7208333dc6bd5cbac2e0aefc0",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "394ac61c479969f32f907202bc86015a",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "fb19dd72fc79a208fd55a5ab01fe978f",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "b1280e359206f6e626ceb33df18d1f84",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "4bd91c11238f1d135285c22c0ff68644",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "a0aaf79bb595d8449f46421f5e86f04e",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "cb0974645afa59e96d690844361514df",
"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/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_app.inc": "97efb93f4bfd8e8b09f2db24398e29fc",
"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
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
@ -6,6 +6,7 @@
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
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)
- 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
# using.
TARGET_BALLISTICA_BUILD = 21753
TARGET_BALLISTICA_BUILD = 21754
TARGET_BALLISTICA_VERSION = '1.7.33'

View File

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

View File

@ -174,11 +174,6 @@ void ClientSession::Update(int time_advance_millisecs, double time_advance) {
if (shutting_down_) {
return;
}
if (auto* appmode = SceneV1AppMode::GetActiveOrThrow()) {
if (appmode->is_replay_paused()) {
return;
}
}
// Allow replays to modulate speed, etc.
// 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(
double base_advance_millisecs) -> double {
auto* appmode = SceneV1AppMode::GetActiveOrFatal();
if (appmode->is_replay_paused()) {
return 0.0;
}
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 {
// 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 int kEngineApiVersion = 8;

View File

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