Original PR broke class-type visibility toggles in the editor, so this adjustment on the same setup keeps the optimized path, but also enables the original class-based render toggle if the editor is open.
(Also adds TORQUE_TOOLS check to have it be even leaner if the project doesn't have tool support at all)
is-camera -- Adds a test for determining if object is a camera.
cam-speed -- added method for getting the camera movement speed.
zoned-in -- connection is flagged as "zoned-in" when client is fully connected and user can interact with it.
Added a check to SceneObject::setProcessTick() to prevent objects that have mounts from being removed from the process list so the processAfter chain of the mounted objects is not broken.
For some reason returning true/false rather that 1/0 from
_getRenderEnabled would cause errors in some comparison cases to see if
it was true or not (would treat it as if it was a string/word rather
than a bool or int).
* Removed #defines
* Fall back to using visible distance if ghost distance is not used
* Removed ghost distance from level files as it will default
* Renamed mConnectionVisibleDistance for consistency
By default it is not included in the build, you must #define GHOSTSCOPING in the torqueConfig.h to enable it.
The distance can be set via the mission file by adding
visibleGhostDistance = "1000";
Or if it is not set in the mission file it will default to what is defined in torqueConfig.h #defined as GHOSTSCOPING_DEFAULT_DISTANCE_IF_NOT_IN_MISSION
The mission default distance can be overridden on a per connection basis by using gameconnection:setVisibleGhostDistance and gameconnection:getVisibleGhostDistance
The logic for setting the scoping distance was moved from shapebase in the original design to SceneObject so that it will affect cameras, players, etc.