From 75a236c897474a7835e8228443acb506ac015e37 Mon Sep 17 00:00:00 2001 From: Eric Date: Thu, 8 Jun 2023 12:52:42 -0700 Subject: [PATCH] fixed crash drawing terrain node with no texture set --- .efrocachemap | 40 +++++++++---------- CHANGELOG.md | 3 +- src/assets/ba_data/python/baenv.py | 2 +- .../platform/windows/core_platform_windows.cc | 14 ------- src/ballistica/scene_v1/node/terrain_node.cc | 4 +- src/ballistica/shared/ballistica.cc | 2 +- 6 files changed, 27 insertions(+), 38 deletions(-) diff --git a/.efrocachemap b/.efrocachemap index 08a98c82..783083ad 100644 --- a/.efrocachemap +++ b/.efrocachemap @@ -4072,26 +4072,26 @@ "build/assets/workspace/ninjafightplug.py": "https://files.ballistica.net/cache/ba1/c5/09/4f10b8a21ba87aa5509cff7a164b", "build/assets/workspace/onslaughtplug.py": "https://files.ballistica.net/cache/ba1/ff/0a/a354984f9c074dab0676ac7e4877", "build/assets/workspace/runaroundplug.py": "https://files.ballistica.net/cache/ba1/2a/1c/9ee5db6d1bceca7fa6638fb8abde", - "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/1b/b8/532a6971b2fcde399db71380f199", - "build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/e1/c6/129b00c453204caf4b527a1e7bf5", - "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/ec/2c/9b26c894d69e4f78b29d3e7c14ca", - "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/26/f9/d6f77a2ed0a847b3cc3cbab51223", - "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/31/42/26c9e0ead4d1b17960834c0e9a17", - "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/7b/25/e55d4e007315295d9fbbc19ff3f1", - "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/91/c3/78db3cff1c37f2028f4cf1dbb435", - "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/76/34/c5e097bfddd0379b92d9aa1ef42e", - "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/11/c7/b8c4ce04f15b6ee2a8fe34ed9a8c", - "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/0c/15/6da0ded38e64fed5778b15a9dc58", - "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/1d/6d/e7e3ee414c73f2857531de2a362a", - "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/1d/76/b762b765eaf6c85ca7346cda68ed", - "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/1c/2b/da531e1c3f5a0778c97175a3ac84", - "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/da/c7/c2829f0e2aaf47ff706d6cfadb6a", - "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/ad/d0/51afd6f99890fb7a3dbb05ca9d14", - "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b9/29/d7e921e6239e27ecc39d2dfe9910", - "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/49/c8/cf436fc6e64192bfc5b23393eeab", - "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/34/b0/8592d685b1a2c85308ede3494746", - "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/41/d2/6923abda66b4b7f8c73e8a9ef78b", - "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/04/30/75863a1df70641893045cd4bf8af", + "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/76/e2/95ac7cceb6e94fd34acc7c350263", + "build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/54/b3/9c381ed5dda3c399c7b955fa8d50", + "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/a6/77/a0efaffa066d6b00bc996b56636b", + "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/ee/51/d753711059b5438da91fe1ac03db", + "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/07/5a/2cc7650c428543f5a33013bfceeb", + "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/1c/38/2665b9bd9bac14ad73ef4986acd7", + "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/fc/18/11baef9fa7f78211da59e1396fc9", + "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/5a/fc/fcf4c33bde143d92cfafbdf16ee3", + "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/83/02/b567d1fd06d21863ba125fd1ae22", + "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/fc/64/129a84c24ee5074d3b1a7c0d3440", + "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/ad/d2/87c0898b21b23d8d54a16e44a2fd", + "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/89/8f/27cd935153e755742f79753ce9a0", + "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/cb/46/21e3e231e46b9a694747bb060333", + "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/db/e8/73eb4dc951795c665c946c943ebb", + "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/e1/b6/941774ba089254534ac54612a842", + "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d0/86/9cb45fca207b9b43db1beee48514", + "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/21/a0/13b7bb057fc1d351427127f5b001", + "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/8d/63/657b92f76a646cb7cace9c467c26", + "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/9c/e0/ef535d0fc11b943eced693b1465d", + "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/86/f0/6a02c50487ba42a86f4bd173e54c", "build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/58/55/b6ae6dd4f3615fa87bb170a43233", "build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/b9/f8/37285d0ced7794a82534d13c33ac", "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/c7/cc/0c5f0afbfa0ddabaea8d5838562a", diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e62928f..608ae192 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,4 +1,4 @@ -### 1.7.20 (build 21072, api 8, 2023-06-08) +### 1.7.20 (build 21073, api 8, 2023-06-08) - This seems like a good time for a `refactoring` release in anticipation of changes coming in 1.8. Basically this means that a lot of things will be @@ -299,6 +299,7 @@ (thanks for the heads- up SEBASTIAN2059) - (build 21070) Fixed an issue where teams series would incorrectly end after 1 round (thanks for the heads up SEBASTIAN2059) +- (build 21072) Fixed a crash drawing a terrain node with no texture set. ### 1.7.19 (build 20997, api 7, 2023-01-19) diff --git a/src/assets/ba_data/python/baenv.py b/src/assets/ba_data/python/baenv.py index 016a6554..f4b21301 100644 --- a/src/assets/ba_data/python/baenv.py +++ b/src/assets/ba_data/python/baenv.py @@ -28,7 +28,7 @@ if TYPE_CHECKING: # Build number and version of the ballistica binary we expect to be # using. -TARGET_BALLISTICA_BUILD = 21072 +TARGET_BALLISTICA_BUILD = 21073 TARGET_BALLISTICA_VERSION = '1.7.20' _g_env_config: EnvConfig | None = None diff --git a/src/ballistica/core/platform/windows/core_platform_windows.cc b/src/ballistica/core/platform/windows/core_platform_windows.cc index 0cfaa3e7..1fca333f 100644 --- a/src/ballistica/core/platform/windows/core_platform_windows.cc +++ b/src/ballistica/core/platform/windows/core_platform_windows.cc @@ -704,20 +704,6 @@ void CorePlatformWindows::DisplayLog(const std::string& name, LogLevel level, OutputDebugString(UTF8Decode(msg).c_str()); } -// (The default SDL handler now covers us) -// bool CorePlatformWindows::BlockingFatalErrorDialog(const std::string& -// message) { -// if (HeadlessMode()) { -// return CorePlatform::BlockingFatalErrorDialog(message); -// } -// MessageBoxA(nullptr, (message.c_str()), "BallisticaKit", -// MB_ICONERROR | MB_OK); - -// // Our message-box call is blocking so we can return false here -// // and let the app self-terminate at this point. -// return false; -// } - auto CorePlatformWindows::DoGetDataDirectoryMonolithicDefault() -> std::string { wchar_t sz_file_name[MAX_PATH + 1]; GetModuleFileName(nullptr, sz_file_name, MAX_PATH + 1); diff --git a/src/ballistica/scene_v1/node/terrain_node.cc b/src/ballistica/scene_v1/node/terrain_node.cc index 06a2d009..ccf6f3ca 100644 --- a/src/ballistica/scene_v1/node/terrain_node.cc +++ b/src/ballistica/scene_v1/node/terrain_node.cc @@ -229,7 +229,9 @@ void TerrainNode::Draw(base::FrameDef* frame_def) { : background_ ? frame_def->beauty_pass_bg() : frame_def->beauty_pass()); c.SetWorldSpace(true); - c.SetTexture(color_texture_->texture_data()); + if (color_texture_.Exists()) { + c.SetTexture(color_texture_->texture_data()); + } if (lighting_) { c.SetLightShadow(base::LightShadowType::kTerrain); } else { diff --git a/src/ballistica/shared/ballistica.cc b/src/ballistica/shared/ballistica.cc index 0a6019df..5812a726 100644 --- a/src/ballistica/shared/ballistica.cc +++ b/src/ballistica/shared/ballistica.cc @@ -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 = 21072; +const int kEngineBuildNumber = 21073; const char* kEngineVersion = "1.7.20"; auto MonolithicMain(const core::CoreConfig& core_config) -> int {