1. 09 Apr, 2013 7 commits
    • DavidWyand-GG's avatar
      Game cam and eye banking, control schemes · 660250cc
      DavidWyand-GG authored
      - ShapeBaseData has two new properties.  cameraCanBank indicates that
      the game object may bank its eye/camera, if supported by the object.
      mountedImagesBank indicates that mounted images should bank with the
      eye/camera in first person view.  Both default to false.
      - Player supports 1st person eye and 3rd person camera banking when
      making use of the new ExtendedMove class.
      - Camera class supports banking when making use of the new ExtendedMove
      - GameConnection now has an idea of a control scheme.  This determines
      how game objects should respond to input events.  A control scheme may
      be set by either the server or client.  Current control schemes are:
      -- Absolute rotation (likely though the ExtendedMove class)
      -- Add relative yaw (from mouse or gamepad) to absolute rotation.
      -- Add relative pitch (from mouse or gamepad) to absolute rotation.
      - Player class supports the new control schemes when using the
      ExtendedMove class.
      - Camera class supports the new control scheme when using the
      ExtendedMove class.
    • DavidWyand-GG's avatar
      Side by side rendering · b32e7688
      DavidWyand-GG authored
      - Side by side rendering implemented throughout the graphics pipeline.
      - New GuiTSCtrl renderStyle property is set to "stereo side by side" to
      - You set an IDisplayDevice on the GameConnection to define any vertical
      FOV, projection offset, and stereo eye offset properties required for
      the stereo rendering (no display device included with this commit).
      - Full and Empty templates updated with correct scripts and shaders.
    • DavidWyand-GG's avatar
      ExtendedMove changes · f1099cba
      DavidWyand-GG authored
      - Support for three positions and rotations.
      - Increased the number of bits used to network rotations.
      - New Euler based rotation support, in addition to the existing
      quaternion support.
    • DavidWyand-GG's avatar
      Fix platforms that don't support PVI_NumAdapters · 4f4c496f
      DavidWyand-GG authored
      Not all platforms currently support the PVI_NumAdapters query from
      PlatformVideoInfo.  This fix puts in the assumption that there is always
      1 adapter if the PVI_NumAdapaters query returns false.  This was the
      behaviour prior to PVI_NumAdapters being put in place.
    • DavidWyand-GG's avatar
      GFX now handles non-default adapters · 0d77cdc2
      DavidWyand-GG authored
      The GFX (DirectX) pipeline did not respect the choice of adapter and
      always went for the default one.  Normally this isn't an issue unless
      you wish to target a particular adapter and display device combination.
      This has been corrected.
      The GFX initialize functions now attempt to find the best adapter that
      matches a given display device (i.e. monitor) if one has been passed in.
      To aid with choosing a display device some new monitor enumeration
      methods have been added to the platform window manager.  These methods
      have been exposed to the Canvas.
    • DavidWyand-GG's avatar
      zero() method added to all point classes · a40db9fa
      DavidWyand-GG authored
      Only some of the mPointX classes had the zero() method implemented.
      This commit adds the method to all point classes.
    • DavidWyand-GG's avatar
      Fix texture and object console paths · bfec2dfd
      DavidWyand-GG authored
      - Be sure to delete all prefs.cs files following this change.
      - Changes the console types of the missing, unavailable and warning
      texture paths.  The old type was causing string corruption when saving
      - Changes the console type of the TSShapeConstructor collision shapes.
      The old type was causing string corruption when saving preferences.
      - Changed missing texture reference in ProcessedMaterial from String to
      const char*.
  2. 28 Mar, 2013 2 commits
  3. 22 Mar, 2013 2 commits
  4. 21 Mar, 2013 1 commit
  5. 20 Mar, 2013 1 commit
    • Daniel Buckmaster's avatar
      Made the flipped y-axis on terrain import optional. · 6ff1db6c
      Daniel Buckmaster authored
      Pass a final boolean argument to TerrainBlock::import to control
      y-axis flipping. It is enabled by default, since this was the previous
      default behavior.
      This should be added as an option in the terrain import dialog - see
  6. 13 Mar, 2013 1 commit
  7. 09 Mar, 2013 1 commit
  8. 07 Mar, 2013 1 commit
  9. 04 Mar, 2013 1 commit
  10. 28 Feb, 2013 1 commit
  11. 25 Feb, 2013 3 commits
  12. 22 Feb, 2013 1 commit
    • DavidWyand-GG's avatar
      Change ShapeBase to only test if available meshes · 47787900
      DavidWyand-GG authored
      The ShapeBase class tests if all of its meshes are hidden and if so,
      then it doesn't render during that frame.  However, if there are no
      meshes in the ShapeBase and only nodes then rendering is also skipped.
      Unfortunately, this also skips the rendering of any mounted images.
      This change allows for a mesh-less skeleton to render any mounted
  13. 21 Feb, 2013 1 commit
  14. 01 Feb, 2013 1 commit
  15. 30 Jan, 2013 2 commits
  16. 23 Jan, 2013 3 commits
  17. 22 Jan, 2013 7 commits
    • DavidWyand-GG's avatar
      New RigidShape method to force client · 0e87a8b6
      DavidWyand-GG authored
      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.
    • DavidWyand-GG's avatar
      Input event changes · 539efcb1
      DavidWyand-GG authored
      - 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
      - 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
    • DavidWyand-GG's avatar
      New console type for Point3I · af7787b4
      DavidWyand-GG authored
    • DavidWyand-GG's avatar
      New ScriptTickObject · b56f8674
      DavidWyand-GG authored
      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
    • DavidWyand-GG's avatar
    • DavidWyand-GG's avatar
      Fix for Issue #214 · 35082e92
      DavidWyand-GG authored
      Changed two SI_DPOV references to read as SI_DPOV2
    • Scott Przybylski's avatar
      Fix for Issue_190 · 48c64db8
      Scott Przybylski authored
      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.
  18. 18 Jan, 2013 1 commit
    • bank's avatar
      Fix for issue #210 for ParticleData sends out-of-range data via BitStream · 9b2caeed
      bank authored
      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.
  19. 07 Jan, 2013 1 commit
  20. 15 Dec, 2012 2 commits