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/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": "f3045ecce09d6b02aa1143a63379f376", "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "bf270e4b3ae3fdecff554052ab6b5b00",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "b2b23e2c86a0d8855047d39e4ce100f2", "build/prefab/full/linux_arm64_gui/release/ballisticakit": "78116aab2b62c8ca18dfc534a3db829e",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "b0f07ceab1293255ba793bfcd8d9ce68", "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "ef3f99b303627e36866d119950745815",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "bf6c4be5753337a3a0ed32eac9081a41", "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "d93df4793c2798d489a12d848af2daa0",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "a2b3ed524a6355287303b5775ff11334", "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "e4ac642421fc80630950dc39b0d5b488",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "4b90056bfa99a1816a56f9b53de33832", "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "51ea783b32a84a10e97275c9163dc767",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "ca006356e178979499ce55f53c273218", "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "607c744559cf66f7cc565ad6c0f21d90",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "dcf0f076fd0ea67540f43b4bd41e3060", "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "5d869b3cd51a85de3613f39d4180196e",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "b9cf3cacf64f9539c97ccdd08c6d9211", "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "d1c78f94885520e6ae8a7f3afe4d6162",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "698c12289c1906613169297872b1e552", "build/prefab/full/mac_arm64_gui/release/ballisticakit": "58b78d9fbbd6c4b9515b35f9914ccd7e",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "6ff0e52c7467d0f62bbee293fbb0ac65", "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "1ee3373fb1f9a0fedc7f0f4bd574bac9",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "c1bf97907381bd2e82d3c0290dfcbda1", "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "d3da9a35e807bc10f45f3aa38eea2a95",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "e0874cef443a76f7fc7b33ab7801838a", "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "c26823caeca6398af29accbbebbb0159",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "c4542ae04345c472aeef9fa411cad2c1", "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "cf58fa232755c64c71035dce8074707f",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "d6bf17052772c041dda3a7d0048f5804", "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "f077a737910c340fd42ce91e5249447e",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "e0018525599f2e5b0ce9d3091799b6da", "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "37d37d17cb9878f630da859903fc8e47",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "175db7f5d22fe1d8f1c80fef4f7679e9", "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "dde17d5f07a4837ef331fe9012ed4976",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "d1817c7e638914e0362d598527fd0a04", "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "53d938dd0541c62f5e31a871002c9291",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "2779fdf6b5968e55a2c056427dbce007", "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "2791119fd7b475228aa8cb02d6db7a96",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "952860758eb4ccc9422b911a69ad9f7b", "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/debug/libballisticaplus.a": "273ffd46a618fe347a570e6bd01d54a4",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "fa659b5d6119acba6570c92ce4d35ae2", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "fa659b5d6119acba6570c92ce4d35ae2",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "273ffd46a618fe347a570e6bd01d54a4", "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_gui/release/libballisticaplus.a": "3e5c5fd0a09f55ba7b05ce1e2ec7171e",
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "1659535e95e3047fda529543e265ac97", "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/mac_x86_64_server/release/libballisticaplus.a": "3e5c5fd0a09f55ba7b05ce1e2ec7171e",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "7d60528bda9b3e6abc046462da6e3e96", "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "953223ec1a24ef6ba5cb7f883727af75",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "bbbb1509630e43ed6d9f15a003369427", "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "b390389ff9bb586326603b8b74f686d7",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "4f0d8de7fcc754e2443a1b52b476e5f7", "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "c8b6d94ac084539a7370c6528582cc2b",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "448b0ef8b5b27a87f5993e9f75e93efa", "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "8e857d5edefbd2bd10837cd8224eb690",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "130605828f3d97c90e195cccce392d4d", "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "23d724d38988f6d41dc2c8fc818b74b1",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "d548df51f78261788404040a1a2921b9", "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "b5011a047d8c23d20d1bc4405012ff1d",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "96fc6408bd113f219a2289c1f2829a8a", "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "b524a2838f1d3c540afa2d63335bb036",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "c57f7d3676b8c4abe9ee887dbbb0cc21", "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/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
"src/assets/ba_data/python/babase/_mgen/enums.py": "cb299985623bbcc86015cb103a424ae6", "src/assets/ba_data/python/babase/_mgen/enums.py": "cb299985623bbcc86015cb103a424ae6",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "efa61468cf098f77cc6a234461d8b86d", "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 - 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 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. 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 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 upgrade to a more modern web client library than Python's basic built in
urllib stuff. 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) ### 1.7.36 (build 21944, api 8, 2024-07-26)
- Wired up Tokens, BombSquad's new purchasable currency. The first thing these - 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 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 # Build number and version of the ballistica binary we expect to be
# using. # using.
TARGET_BALLISTICA_BUILD = 21947 TARGET_BALLISTICA_BUILD = 21949
TARGET_BALLISTICA_VERSION = '1.7.37' TARGET_BALLISTICA_VERSION = '1.7.37'

View File

@ -1444,6 +1444,20 @@ auto DevConsole::PasteFromClipboard() -> bool {
if (g_base->ClipboardIsSupported()) { if (g_base->ClipboardIsSupported()) {
if (g_base->ClipboardHasText()) { if (g_base->ClipboardHasText()) {
auto text = g_base->ClipboardGetText(); 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")) { if (strstr(text.c_str(), "\n") || strstr(text.c_str(), "\r")) {
g_base->audio->SafePlaySysSound(SysSoundID::kErrorBeep); g_base->audio->SafePlaySysSound(SysSoundID::kErrorBeep);
ScreenMessage("Can only paste single lines of text.", ScreenMessage("Can only paste single lines of text.",

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