This commit is contained in:
Eric 2023-07-16 11:42:31 -07:00
parent 9aa73cd209
commit 15d9d1c7ce
No known key found for this signature in database
GPG Key ID: 89C93F0F8D6D5A98
6 changed files with 95 additions and 57 deletions

56
.efrocachemap generated
View File

@ -4068,26 +4068,26 @@
"build/assets/windows/Win32/ucrtbased.dll": "https://files.ballistica.net/cache/ba1/2d/ef/5335207d41b21b9823f6805997f1", "build/assets/windows/Win32/ucrtbased.dll": "https://files.ballistica.net/cache/ba1/2d/ef/5335207d41b21b9823f6805997f1",
"build/assets/windows/Win32/vc_redist.x86.exe": "https://files.ballistica.net/cache/ba1/b0/8a/55e2e77623fe657bea24f223a3ae", "build/assets/windows/Win32/vc_redist.x86.exe": "https://files.ballistica.net/cache/ba1/b0/8a/55e2e77623fe657bea24f223a3ae",
"build/assets/windows/Win32/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/86/5b/2af4d1e26a1a8073c89acb06e599", "build/assets/windows/Win32/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/86/5b/2af4d1e26a1a8073c89acb06e599",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/99/22/5edc8e3ab710bd45726c15dfecbd", "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/a8/5e/e644cd4120304fba4d4dbd9762e2",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/ce/77/0674ace0d25118717c7f3137c619", "build/prefab/full/linux_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/92/73/0a1325df721b51d0c9f2e0f6f075",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b3/5e/4795e49ba007c80d4d3d02e41605", "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/24/f8/b372c8e02345a5540bd976069de8",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/de/f3/f8694fa9ce2d3ac24f851f060068", "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/81/5d/8368c53554a9b997f0a1d38c0ced",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/9a/28/5c215f7054450e783f4d6bbaada5", "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/cb/90/6f74ab7d83e5ff9db887f391664a",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/e2/5b/eb646a7f85fbecb170909c36e396", "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/cd/51/6639bbf611e918b21c1676b25764",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/30/40/38ccf00d716141837bd9f5c80955", "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/d1/4b/5f2cb963955fd973bd7498c57519",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b7/d1/257d573c1ac4bd819131697549f2", "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/9b/9f/1e1d79b604749c2033e7fad06394",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/83/c0/4ca3860b2acad24ca006b5bed38b", "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/97/f6/2f0e7dba9be2437f43dc4af5e449",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/e1/f5/722d2b66926941cfd7cd23047c2b", "build/prefab/full/mac_arm64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/2e/22/297bedb0cbfb169fb9ba607bff1b",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/1e/2c/fce598b734a5cc6651f026bf148c", "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/c6/3e/6b09e07290a01483186b2ca44f8b",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/10/68/a2f0705f92da098f979d0b83ca63", "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/9e/c9/89f8f396ba8597453d81542f6ff6",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/0d/13/ccf5a83588a2fd67e4da968e7025", "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "https://files.ballistica.net/cache/ba1/0b/d8/4b6df9ec36d59a5560615c763bbf",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/26/0e/9d7b75f68ef46658d36b08e97ca4", "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "https://files.ballistica.net/cache/ba1/2d/5e/f6e1619a73c21c886425d878b96a",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/30/78/b49e48e81107774a02c0f70087db", "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/b6/4b/c7e9a14a16d69b20313f7007662c",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/ff/5a/ec26a662dc58862fca2180aac807", "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "https://files.ballistica.net/cache/ba1/2c/00/fe4d13eb53c0d825da2750b30cec",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/05/70/ce0c0e49428f5a39fc5bd736a6da", "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/69/19/13f59849fe2a31eac8a350db2e12",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/a0/10/2161276835beb6c638cd98ebcef7", "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "https://files.ballistica.net/cache/ba1/01/ab/f243ffaa211fd9463cc7ede10f29",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/70/84/b89c19db1a09f691fa6398ad6850", "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/87/d3/88a28894dc15e511f3ba56f44267",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/d3/28/3351f3a14277dc1f755cb6a90e19", "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "https://files.ballistica.net/cache/ba1/b5/1e/bb7075104c420ca1c0663d24768c",
"build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/84/aa/534f35b6499762739646ea173382", "build/prefab/lib/linux_arm64_gui/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/84/aa/534f35b6499762739646ea173382",
"build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/25/2f/3bd787d6debb2c4073fd6c2e8098", "build/prefab/lib/linux_arm64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/25/2f/3bd787d6debb2c4073fd6c2e8098",
"build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/84/aa/534f35b6499762739646ea173382", "build/prefab/lib/linux_arm64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/84/aa/534f35b6499762739646ea173382",
@ -4104,14 +4104,14 @@
"build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/47/61/eca0961c54b2eae2cf65fac7848d", "build/prefab/lib/mac_x86_64_gui/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/47/61/eca0961c54b2eae2cf65fac7848d",
"build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/06/5c/90c3a49e16a004e2db71909af919", "build/prefab/lib/mac_x86_64_server/debug/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/06/5c/90c3a49e16a004e2db71909af919",
"build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/47/61/eca0961c54b2eae2cf65fac7848d", "build/prefab/lib/mac_x86_64_server/release/libballistica_plus.a": "https://files.ballistica.net/cache/ba1/47/61/eca0961c54b2eae2cf65fac7848d",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/24/51/e35d1ebf519aecaed8bc345b9714", "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/d3/34/d2fa72d15a085424bad4157a6f2e",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/d3/1f/6c10b7cde22b523833ed456a0e58", "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/56/5f/6cde7712eebd76bcd9081b1d063a",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/c8/2c/a0688e3edeac37ec252f9e4ee68a", "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/8e/bb/cde5d48031a147358f49372348fc",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/7a/48/da9923cdcb9d3865d74eb83cdaf9", "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/82/e5/7d8d72481b84b81a3ec2b85cddf1",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/3a/7c/48e67a2aa61e8bceeada113795ed", "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "https://files.ballistica.net/cache/ba1/74/11/5059d262beb03fda192c967760ea",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/58/74/8cf519b8516cfb866877c6fa6aca", "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "https://files.ballistica.net/cache/ba1/bf/57/94af76a5f7f51c10e9725730469e",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/84/a6/fbf13c8e367d333de19d18c20070", "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "https://files.ballistica.net/cache/ba1/fc/56/19374bffec117190ae9c132cff68",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/a2/7f/7ce8adcc84c5fe8e3b228f17c3d3", "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "https://files.ballistica.net/cache/ba1/c6/c9/b6828fe5295e6d5df08fad9ebf3f",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/f8/85/fed7f2ed98ff2ba271f9dbe3391c", "src/assets/ba_data/python/babase/_mgen/__init__.py": "https://files.ballistica.net/cache/ba1/f8/85/fed7f2ed98ff2ba271f9dbe3391c",
"src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/f8/cd/3af311ac63147882590123b78318", "src/assets/ba_data/python/babase/_mgen/enums.py": "https://files.ballistica.net/cache/ba1/f8/cd/3af311ac63147882590123b78318",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/3e/7a/203e2a5d2b5bb42cfe3fd2fe16c2", "src/ballistica/base/mgen/pyembed/binding_base.inc": "https://files.ballistica.net/cache/ba1/3e/7a/203e2a5d2b5bb42cfe3fd2fe16c2",

View File

@ -1,7 +1,7 @@
### 1.7.23 (build 21169, api 8, 2023-07-12) ### 1.7.23 (build 21171, api 8, 2023-07-16)
- Network security improvements. (Thanks Dliwk!) - Network security improvements. (Thanks Dliwk!)
- You can now double click a chat message to copy it (Thanks Vishal332008!) - You can now double click a chat message to copy it. (Thanks Vishal332008!)
- Android's audio library has been updated to the latest version (and is now - Android's audio library has been updated to the latest version (and is now
much easier for me to keep up to date). Please holler if you run into anything much easier for me to keep up to date). Please holler if you run into anything
wonky related to audio. wonky related to audio.

View File

@ -28,7 +28,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 = 21169 TARGET_BALLISTICA_BUILD = 21171
TARGET_BALLISTICA_VERSION = '1.7.23' TARGET_BALLISTICA_VERSION = '1.7.23'
_g_env_config: EnvConfig | None = None _g_env_config: EnvConfig | None = None

View File

@ -10,7 +10,7 @@
namespace ballistica::core { namespace ballistica::core {
static void LowLevelPythonDebugLog(const char* msg) { void LowLevelPythonDebugLog(const char* msg) {
assert(g_core); assert(g_core);
g_core->platform->DebugLog(msg); g_core->platform->DebugLog(msg);
} }
@ -70,38 +70,53 @@ void CorePython::InitPython() {
PyConfig_InitPythonConfig(&config); PyConfig_InitPythonConfig(&config);
} }
config.dev_mode = dev_mode; config.dev_mode = dev_mode;
if (!g_buildconfig.debug_build()) { config.optimization_level = g_buildconfig.debug_build() ? 0 : 1;
config.optimization_level = 1;
}
// In cases where we bundle Python, set up all paths explicitly. // In cases where we bundle Python, set up all paths explicitly.
// https://docs.python.org/3/c-api/init_config.html#path-configuration // https://docs.python.org/3/c-api/init_config.html#path-configuration
if (g_buildconfig.contains_python_dist()) { if (g_buildconfig.contains_python_dist()) {
std::string root = g_buildconfig.ostype_windows() ? "C:\\" : "/";
// In our embedded case, none of these paths are really meaningful, but
// we want to explicitly provide them so Python doesn't try to calc its
// own. So let's set them to obvious dummy ones so its clear if they
// show up anywhere important.
CheckPyInitStatus(
"pyconfig home set",
PyConfig_SetBytesString(&config, &config.home,
(root + "dummy_py_home").c_str()));
CheckPyInitStatus( CheckPyInitStatus(
"pyconfig base_exec_prefix set", "pyconfig base_exec_prefix set",
PyConfig_SetBytesString(&config, &config.base_exec_prefix, "")); PyConfig_SetBytesString(&config, &config.base_exec_prefix,
(root + "dummy_py_base_exec_prefix").c_str()));
CheckPyInitStatus( CheckPyInitStatus(
"pyconfig base_executable set", "pyconfig base_executable set",
PyConfig_SetBytesString(&config, &config.base_executable, "")); PyConfig_SetBytesString(&config, &config.base_executable,
(root + "dummy_py_base_executable").c_str()));
CheckPyInitStatus( CheckPyInitStatus(
"pyconfig base_prefix set", "pyconfig base_prefix set",
PyConfig_SetBytesString(&config, &config.base_prefix, "")); PyConfig_SetBytesString(&config, &config.base_prefix,
(root + "dummy_py_base_prefix").c_str()));
CheckPyInitStatus( CheckPyInitStatus(
"pyconfig exec_prefix set", "pyconfig exec_prefix set",
PyConfig_SetBytesString(&config, &config.exec_prefix, "")); PyConfig_SetBytesString(&config, &config.exec_prefix,
CheckPyInitStatus("pyconfig executable set", (root + "dummy_py_exec_prefix").c_str()));
PyConfig_SetBytesString(&config, &config.executable, "")); CheckPyInitStatus(
CheckPyInitStatus("pyconfig prefix set", "pyconfig executable set",
PyConfig_SetBytesString(&config, &config.prefix, "")); PyConfig_SetBytesString(&config, &config.executable,
(root + "dummy_py_executable").c_str()));
CheckPyInitStatus(
"pyconfig prefix set",
PyConfig_SetBytesString(&config, &config.prefix,
(root + "dummy_py_prefix").c_str()));
// Note: we're using utf-8 mode above so Py_DecodeLocale will convert // Note: we're using utf-8 mode above so Py_DecodeLocale will convert
// from utf-8. // from utf-8.
// Interesting note: it seems we can pass relative paths here but // Interesting note: it seems we can pass relative paths here but they
// they wind up in sys.path as absolute paths (unlike entries we add // wind up in sys.path as absolute paths (unlike entries we add to
// to sys.path *after* things are up and running). // sys.path *after* things are up and running). Though nowadays we want
// Though nowadays we want to use abs paths anyway to avoid doing chdir // to use abs paths anyway to avoid needing chdir so its a moot point.
// so its a moot point.
if (g_buildconfig.ostype_windows()) { if (g_buildconfig.ostype_windows()) {
// Windows Python looks for Lib and DLLs dirs by default, along with // Windows Python looks for Lib and DLLs dirs by default, along with
// some others, but we want to be more explicit in limiting to these. It // some others, but we want to be more explicit in limiting to these. It
@ -128,12 +143,11 @@ void CorePython::InitPython() {
config.module_search_paths_set = 1; config.module_search_paths_set = 1;
} }
// In monolithic builds, let Python know how to import all our built in // In monolithic builds, let Python know how to import all our built-in
// modules. // modules. In other builds, everything will be expected to live on disk
// as .so files (or symlinks to them).
if (g_buildconfig.monolithic_build()) { if (g_buildconfig.monolithic_build()) {
MonolithicRegisterPythonModules(); MonolithicRegisterPythonModules();
} else {
FatalError("FIXME UNIMPLEMENTED");
} }
// Init Python. // Init Python.

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 = 21169; const int kEngineBuildNumber = 21171;
const char* kEngineVersion = "1.7.23"; const char* kEngineVersion = "1.7.23";
auto MonolithicMain(const core::CoreConfig& core_config) -> int { auto MonolithicMain(const core::CoreConfig& core_config) -> int {

View File

@ -713,15 +713,39 @@ def android_patch_ssl() -> None:
def _patch_py_wreadlink_test() -> None: def _patch_py_wreadlink_test() -> None:
fname = 'Python/fileutils.c' fname = 'Python/fileutils.c'
txt = readfile(fname) txt = readfile(fname)
txt = replace_exact(
txt,
' res = readlink(cpath, cbuf, cbuf_len);\n',
(
' res = readlink(cpath, cbuf, cbuf_len);\n'
' const wchar_t *path2 = path;\n'
' int path2len = 0;\n'
' while (*path2) {\n'
' path2++;\n'
' path2len++;\n'
' }\n'
' char dlog1[512];\n'
' if (res >= 0) {\n'
' snprintf(dlog1, sizeof(dlog1), "ValsA1 pathlen=%d slen=%d'
' path=\'%s\'", path2len, strlen(cpath), cpath);\n'
' } else {\n'
' snprintf(dlog1, sizeof(dlog1), "ValsA2 pathlen=%d",'
' path2len);\n'
' }\n'
' Py_BallisticaLowLevelDebugLog(dlog1);\n'
),
)
txt = replace_exact( txt = replace_exact(
txt, txt,
" cbuf[res] = '\\0'; /* buf will be null terminated */", " cbuf[res] = '\\0'; /* buf will be null terminated */",
( (
' char dlog[512];\n' ' char dlog[512];\n'
' snprintf(dlog, sizeof(dlog), "hello world1 res=%d mpl=%d' ' snprintf(dlog, sizeof(dlog), "ValsB res=%d resx=%X'
' eq1=%d eq2=%d slen=%d path=\'%s\'",' ' eq1=%d eq2=%d",'
' (int)res, (int)MAXPATHLEN, (int)(res == -1),' ' (int)res, res, (int)(res == -1),'
' (int)((size_t)res == cbuf_len), strlen(cpath), cpath);\n' ' (int)((size_t)res == cbuf_len));\n'
' Py_BallisticaLowLevelDebugLog(dlog);\n' ' Py_BallisticaLowLevelDebugLog(dlog);\n'
" cbuf[res] = '\\0'; /* buf will be null terminated */" " cbuf[res] = '\\0'; /* buf will be null terminated */"
), ),