Hacking Blaxxun multiuser VRML for offline use: Difference between revisions
No edit summary |
No edit summary |
||
Line 2: | Line 2: | ||
This page will hopefully explain how to hack VRML that uses Blaxxun multiuser features to work properly while offline. | This page will hopefully explain how to hack VRML that uses Blaxxun multiuser features to work properly while offline. | ||
Any world that uses Blaxxun multiuser features will have a node named <code>SharedZone</code>, and hence have <code>DEF SharedZone</code> somewhere. The <code>SharedZone</code> will usually contain one or more <code>SharedEvent</code>s. While this is not strictly necessary, it is the case most of the time, and anything outside of that is out-of-scope for this document. | |||
Worlds will often define on their own what a <code>SharedEvent</code> is, using code copied-and-pasted. The definition begins with <code>PROTO SharedZone</code>. | |||
If the definition defines <code>local</code>, you're in luck, and you just need to change it as follows | |||
<code> | |||
<pre> | |||
PROTO SharedEvent [ | |||
field SFBool local FALSE | |||
field SFBool debug FALSE | |||
</pre> | |||
</code> | |||
change <code>local FALSE</code> to <code>local TRUE</code>, so it reads as follows: | |||
<code> | |||
<pre> | |||
PROTO SharedEvent [ | |||
field SFBool local TRUE | |||
field SFBool debug FALSE | |||
</pre> | |||
</code> | |||
and make sure the <code>SharedZone</code> doesn't have <code>local FALSE</code> in its <code>SharedEvent</code> usages. | |||
If the <code>SharedEvent</code> doesn't contain <code>local</code>, you will need to add it yourself. |
Revision as of 06:06, 18 March 2021
VRML worlds designed for Blaxxun Contact were often intended to be used in a multiuser context. Without the Blaxxun server running, some things might not work as expected. Light switches might not toggle, minigames might not work properly, pool covers might not open. In their original context, the buttons to trigger these would send off events to the server, which would send a message back to everyone connected to the world at the time (or sometimes later), including the original person.
This page will hopefully explain how to hack VRML that uses Blaxxun multiuser features to work properly while offline.
Any world that uses Blaxxun multiuser features will have a node named SharedZone
, and hence have DEF SharedZone
somewhere. The SharedZone
will usually contain one or more SharedEvent
s. While this is not strictly necessary, it is the case most of the time, and anything outside of that is out-of-scope for this document.
Worlds will often define on their own what a SharedEvent
is, using code copied-and-pasted. The definition begins with PROTO SharedZone
.
If the definition defines local
, you're in luck, and you just need to change it as follows
PROTO SharedEvent [
field SFBool local FALSE
field SFBool debug FALSE
change local FALSE
to local TRUE
, so it reads as follows:
PROTO SharedEvent [
field SFBool local TRUE
field SFBool debug FALSE
and make sure the SharedZone
doesn't have local FALSE
in its SharedEvent
usages.
If the SharedEvent
doesn't contain local
, you will need to add it yourself.