Previously, dAtoi would be called on arbitrary strings delimited
only by the / character. Now, Sim::findObject actually checks that
object handles (strings starting with a digit) actually only contain
digits or slashes.
Specifically:
* Made update bits constants protected so that derived classes can
use them - especially NextFreeMask! IIRC, most classes make these
constants public, though there's no real reason to.
* Made potentialEnterObject virtual so that derived classes can
substitute their own logic.
Before this function would iterate through every server-side object to
find a MissionArea. Now, it stores the server object in a static member
smServerObject. This member is updated in onAdd and onRemove, and returned
by getServerObject.
screenScale represents the current zoom factor, but may need some
revision because I'm not sure if what it's doing is technically correct.
It is used to multiply the culling distance for cells, as well as the
fading distance.
IMPROVEMENT: By default we stop rendering all Player shadows when in
first person and 'renderFirstPerson' is disabled. Added flag
'firstPersonShadows' to disable this behavior.
- Prevent stack corruption in a few places
- Use correct type in printfs
- Reduce type conversions in EngineApi & dAto*
- Fix compilation on GCC
- Tidy up code
- ConsoleValue class is now the base value class.
- ConsoleValueRef is now used to supply function parameters. Values are disposable.
- Script functions return values instead of just strings where possible.
- Variables can be disposable strings
- Bytecode changed
Fix the issues with console method parameters and fields which prevented missions from loading.
steeringReturn is the main control for the amount of return in
the steering. Setting it to 0 (the default) disables steering return
completely.
steeringReturnSpeedScale is a multiplier on the amount of effect that
the vehicle's velocity has on its steering return.
powerSteering can be set to eliminate the effect of steering return on
user input. Without this flag set, the user will have a harder time
steering, because the wheels try to return as they steer. If this flag
is set, steering return will not be applied while the user is actually
steering, only when they release.
Looks like GCC (4.4.x) on RHEL is built with some optimization flags, which caused crash inside assembler code (when using inline-cast: uint->uchar->uint from GetNzbSubID down to find_maskwidth).
Tested this change on 7 different distros, so far - everything seems to be working.
The FMOD include files are now assumed to be located outside of the
Torque 3D directory structure. See
Tools/projectGenerator/modules/fmod.inc for the various methods to tell
the Project Generator how to find FMOD. If FMOD is installed in its
default location then nothing special is required.