pasting now ignores trailing newlines instead of erroring

This commit is contained in:
Eric 2024-07-31 16:33:07 -07:00
parent 121a8c5ae6
commit a57e0752ea
No known key found for this signature in database
GPG Key ID: 89C93F0F8D6D5A98
5 changed files with 49 additions and 31 deletions

56
.efrocachemap generated
View File

@ -4096,26 +4096,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": "f3045ecce09d6b02aa1143a63379f376",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "b2b23e2c86a0d8855047d39e4ce100f2",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "b0f07ceab1293255ba793bfcd8d9ce68",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "bf6c4be5753337a3a0ed32eac9081a41",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "a2b3ed524a6355287303b5775ff11334",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "4b90056bfa99a1816a56f9b53de33832",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "ca006356e178979499ce55f53c273218",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "dcf0f076fd0ea67540f43b4bd41e3060",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "b9cf3cacf64f9539c97ccdd08c6d9211",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "698c12289c1906613169297872b1e552",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "6ff0e52c7467d0f62bbee293fbb0ac65",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "c1bf97907381bd2e82d3c0290dfcbda1",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "e0874cef443a76f7fc7b33ab7801838a",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "c4542ae04345c472aeef9fa411cad2c1",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "d6bf17052772c041dda3a7d0048f5804",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "e0018525599f2e5b0ce9d3091799b6da",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "175db7f5d22fe1d8f1c80fef4f7679e9",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "d1817c7e638914e0362d598527fd0a04",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "2779fdf6b5968e55a2c056427dbce007",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "952860758eb4ccc9422b911a69ad9f7b",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "bf270e4b3ae3fdecff554052ab6b5b00",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "78116aab2b62c8ca18dfc534a3db829e",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "ef3f99b303627e36866d119950745815",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "d93df4793c2798d489a12d848af2daa0",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "e4ac642421fc80630950dc39b0d5b488",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "51ea783b32a84a10e97275c9163dc767",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "607c744559cf66f7cc565ad6c0f21d90",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "5d869b3cd51a85de3613f39d4180196e",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "d1c78f94885520e6ae8a7f3afe4d6162",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "58b78d9fbbd6c4b9515b35f9914ccd7e",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "1ee3373fb1f9a0fedc7f0f4bd574bac9",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "d3da9a35e807bc10f45f3aa38eea2a95",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "c26823caeca6398af29accbbebbb0159",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "cf58fa232755c64c71035dce8074707f",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "f077a737910c340fd42ce91e5249447e",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "37d37d17cb9878f630da859903fc8e47",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "dde17d5f07a4837ef331fe9012ed4976",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "53d938dd0541c62f5e31a871002c9291",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "2791119fd7b475228aa8cb02d6db7a96",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "bbcad92bb94abfe2dde3b568f6bb3595",
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "273ffd46a618fe347a570e6bd01d54a4",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "fa659b5d6119acba6570c92ce4d35ae2",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "273ffd46a618fe347a570e6bd01d54a4",
@ -4132,14 +4132,14 @@
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "3e5c5fd0a09f55ba7b05ce1e2ec7171e",
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "1659535e95e3047fda529543e265ac97",
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "3e5c5fd0a09f55ba7b05ce1e2ec7171e",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "7d60528bda9b3e6abc046462da6e3e96",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "bbbb1509630e43ed6d9f15a003369427",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "4f0d8de7fcc754e2443a1b52b476e5f7",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "448b0ef8b5b27a87f5993e9f75e93efa",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "130605828f3d97c90e195cccce392d4d",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "d548df51f78261788404040a1a2921b9",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "96fc6408bd113f219a2289c1f2829a8a",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "c57f7d3676b8c4abe9ee887dbbb0cc21",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "953223ec1a24ef6ba5cb7f883727af75",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "b390389ff9bb586326603b8b74f686d7",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "c8b6d94ac084539a7370c6528582cc2b",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "8e857d5edefbd2bd10837cd8224eb690",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "23d724d38988f6d41dc2c8fc818b74b1",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "b5011a047d8c23d20d1bc4405012ff1d",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "b524a2838f1d3c540afa2d63335bb036",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "e51f7a0643a02a6962c70bf884e0b8ae",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
"src/assets/ba_data/python/babase/_mgen/enums.py": "cb299985623bbcc86015cb103a424ae6",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "efa61468cf098f77cc6a234461d8b86d",

View File

@ -1,4 +1,4 @@
### 1.7.37 (build 21947, api 8, 2024-07-31)
### 1.7.37 (build 21949, api 8, 2024-07-31)
- Finally got things updated so language testing works again, and made it a bit
spiffier while at it. You now simply point the game at your test language and
it will update dynamically as you make edits; no need to download any files.
@ -11,6 +11,10 @@
doing more heavy downloading with Asset Packages coming online so its time to
upgrade to a more modern web client library than Python's basic built in
urllib stuff.
- Pasting a single line of text followed by newlines now works. Previously it
would complain that multiple lines of text aren't supported, but now it
just ignores the trailing newlines.
### 1.7.36 (build 21944, api 8, 2024-07-26)
- Wired up Tokens, BombSquad's new purchasable currency. The first thing these
can be used for is storage packs on ballistica.net, but this will expand to

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 = 21947
TARGET_BALLISTICA_BUILD = 21949
TARGET_BALLISTICA_VERSION = '1.7.37'

View File

@ -1444,6 +1444,20 @@ auto DevConsole::PasteFromClipboard() -> bool {
if (g_base->ClipboardIsSupported()) {
if (g_base->ClipboardHasText()) {
auto text = g_base->ClipboardGetText();
// Strip trailing newlines (if we have a single line ending with a
// newline we want to allow that).
// Find the position of the last character that is not a newline.
size_t endpos = text.find_last_not_of("\n\r");
if (std::string::npos != endpos) {
// Erase all characters after the last non-newline character.
text.erase(endpos + 1);
} else {
// The string is entirely newlines.
text.clear();
}
if (strstr(text.c_str(), "\n") || strstr(text.c_str(), "\r")) {
g_base->audio->SafePlaySysSound(SysSoundID::kErrorBeep);
ScreenMessage("Can only paste single lines of text.",

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 = 21947;
const int kEngineBuildNumber = 21949;
const char* kEngineVersion = "1.7.37";
const int kEngineApiVersion = 8;