Updated Project Generator to allow adding different Release/Debug libraries.
Also added ability to specify libraries for Ignore Default Libraries field.
Only Visual Studio templates have been updated.
The ExtendedMove class can optionally replace the standard Move class to
allow the passing of absolute position and rotation information from the
client's input device to the server. It is enabled by changing
$TORQUE_EXTENDED_MOVE to true in buildFiles/config/project.conf and
re-running the project generator.
New forceClientTransform() console method to force a RigidShape's
transform on the client. This is used when you transform a RigidShape
on the server and want the client to immediately transform rather than
interpolate to the transform.
- New InputEventManager class. It will be used by 3rd party input
devices to generate Torque 3D input events.
- Expanded the input event signal to include three new floats and a new
integer.
- Expanded the number of joystick buttons to 48.
- The input virtual map is now extendable rather than hard coded.
- The input devices types are now extendable rather than hard coded.
- New SI_POS, SI_ROT, SI_INT, and SI_FLOAT input event types.
- New SI_VALUE input action type.
- ActionMap has been updated to work with these changes.
- Removed unnecessary references to platform/event.h
ScriptTickObject is a ScriptObject that adds callbacks for tick and
frame events. Use setProcessTicks() to enable or disable the
onInterpolateTick() and onProcessTick() callbacks. The
callOnAdvanceTime property determines if the onAdvanceTime() callback is
called.
Fix for Issue_190:
Without having DI8DEVTYPE_DRIVING here, many steering wheel's will show
up as "unknown" and cannot be mapped to actions. Driving and gamepad
both map to joystick for consistency, since they all can have buttons,
axes, sliders, and pov hat's.
1. When addProtectedField used with custom setters, we need to return false, or it will set the value via regular routine after the method exists (change ParticleData::protectedSetTimes() to return false instead of true).
2. The ParticleData::sizes[] needs a custom setter, so the value is clamped in a range of 0.f and MaxParticleSize.
3. The spinRadnomMin and spinRandomMax ParticleData fields need a FRangeValidator, so it auto-clamped in a range of -1000 to 1000, as we are writing data trying to fit the values in 11 bits (as UInt upto 2048 max).
* The description for those fields needs to be updated to use 1000 instead of 10000.
* ParticleData::onAdd() should check for values to be in a correct range too.
The Cheetah's turret fire sound datablock happened to be named the same
as the player's turret weapon's datablock. This caused the sound
profile's description to be NULL on the dedicated server.
Pull Request #125 was to fix Issue #124. However, as reported by a
user, this fix broke the water. This is a partial reversion of those
changes to get the water working again. The fix from Pull #125 will
need to be examined.
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.