openvibers/source.openvibe.games Commits
Console cleanup + client-JS crash diagnostics (/Od + eval probe)
Changes
@@@ -8,7 +8,8 @@ echo "==== OpenVibe Proton stability cfg loaded ===="mat_queue_mode 0// Disable threaded animation / leaf-system paths that crash under Proton.--cl_threaded_bone_setup 0++// (cl_threaded_bone_setup doesn't exist in this engine build — omitted to++// avoid an "Unknown command" console line.)cl_threaded_client_leaf_system 0r_threaded_client_shadow_manager 0r_queued_ropes 0@@@ -22,6 +23,11 @@ snd_mute_losefocus 0mat_dxlevel 90r_3dsky 0++// Local dev listen server: sv_lan 1 stops master-server heartbeats, which++// silences the repeated "Your server is out of date. Please update and++// restart." (MasterRequestRestart) spam from the older engine build.++sv_lan 1++// Auto-open the custom HTML menu so it covers the stock HL2 main menu (which// freezes) — this is the menu override. The menu only joins a server on an// explicit user click, so it won't auto-connect on its own.@@@ -295,6 +295,11 @@ OVJSCore *ovjs_create(const OVJSHost *host, int isServerRealm, const char *mode)OVJS_RegisterBindings(c);OVJS_Trace(host, "core: bindings registered");++ /* Probe: does ANY eval work? Distinguishes an interpreter miscompile from a++ * hook.js-specific problem. */++ OVJS_Trace(host, "core: probe eval begin");++ ovjs_eval(c, "var __ovjs_probe = 1 + 1;", "<probe>");++ OVJS_Trace(host, "core: probe eval done");if (!OVJS_LoadCoreFiles(c)) { OVJS_Trace(host, "core: LoadCoreFiles FAILED"); ovjs_destroy(c); return NULL; }OVJS_Trace(host, "core: core files loaded");OVJS_LoadGamemode(c);@@@ -250,7 +250,10 @@ if ($ClangCl) {$Common = @('/nologo','/TC',-- '/O2',++ # Diagnostic: no optimization. QuickJS's interpreter crashed on the first++ # JS_Eval under clang-cl /O2 despite -fno-strict-aliasing/-fwrapv and switch++ # dispatch. /Od isolates whether it's an optimizer miscompile.++ '/Od','/MT','/W3','/D_CRT_SECURE_NO_WARNINGS',
@@ -8,7 +8,8 @@ echo "==== OpenVibe Proton stability cfg loaded ===="
@@ -8,7 +8,8 @@ echo "==== OpenVibe Proton stability cfg loaded ===="
mat_queue_mode 0
mat_queue_mode 0
// Disable threaded animation / leaf-system paths that crash under Proton.
// Disable threaded animation / leaf-system paths that crash under Proton.
-cl_threaded_bone_setup 0
+// (cl_threaded_bone_setup doesn't exist in this engine build — omitted to
+// avoid an "Unknown command" console line.)
cl_threaded_client_leaf_system 0
cl_threaded_client_leaf_system 0
r_threaded_client_shadow_manager 0
r_threaded_client_shadow_manager 0
r_queued_ropes 0
r_queued_ropes 0
@@ -22,6 +23,11 @@ snd_mute_losefocus 0
@@ -22,6 +23,11 @@ snd_mute_losefocus 0
mat_dxlevel 90
mat_dxlevel 90
r_3dsky 0
r_3dsky 0
+// Local dev listen server: sv_lan 1 stops master-server heartbeats, which
+// silences the repeated "Your server is out of date. Please update and
+// restart." (MasterRequestRestart) spam from the older engine build.
+sv_lan 1
+
// Auto-open the custom HTML menu so it covers the stock HL2 main menu (which
// Auto-open the custom HTML menu so it covers the stock HL2 main menu (which
// freezes) — this is the menu override. The menu only joins a server on an
// freezes) — this is the menu override. The menu only joins a server on an
// explicit user click, so it won't auto-connect on its own.
// explicit user click, so it won't auto-connect on its own.
@@ -295,6 +295,11 @@ OVJSCore *ovjs_create(const OVJSHost *host, int isServerRealm, const char *mode)
@@ -295,6 +295,11 @@ OVJSCore *ovjs_create(const OVJSHost *host, int isServerRealm, const char *mode)
OVJS_RegisterBindings(c);
OVJS_RegisterBindings(c);
OVJS_Trace(host, "core: bindings registered");
OVJS_Trace(host, "core: bindings registered");
+ /* Probe: does ANY eval work? Distinguishes an interpreter miscompile from a
+ * hook.js-specific problem. */
+ OVJS_Trace(host, "core: probe eval begin");
+ ovjs_eval(c, "var __ovjs_probe = 1 + 1;", "<probe>");
+ OVJS_Trace(host, "core: probe eval done");
if (!OVJS_LoadCoreFiles(c)) { OVJS_Trace(host, "core: LoadCoreFiles FAILED"); ovjs_destroy(c); return NULL; }
if (!OVJS_LoadCoreFiles(c)) { OVJS_Trace(host, "core: LoadCoreFiles FAILED"); ovjs_destroy(c); return NULL; }
OVJS_Trace(host, "core: core files loaded");
OVJS_Trace(host, "core: core files loaded");
OVJS_LoadGamemode(c);
OVJS_LoadGamemode(c);
@@ -250,7 +250,10 @@ if ($ClangCl) {
@@ -250,7 +250,10 @@ if ($ClangCl) {
$Common = @(
$Common = @(
'/nologo',
'/nologo',
'/TC',
'/TC',
- '/O2',
+ # Diagnostic: no optimization. QuickJS's interpreter crashed on the first
+ # JS_Eval under clang-cl /O2 despite -fno-strict-aliasing/-fwrapv and switch
+ # dispatch. /Od isolates whether it's an optimizer miscompile.
+ '/Od',
'/MT',
'/MT',
'/W3',
'/W3',
'/D_CRT_SECURE_NO_WARNINGS',
'/D_CRT_SECURE_NO_WARNINGS',