Game Development Community

Torque 3D 1.1 Beta 3 Changelog

by Matt Fairfax · in Torque 3D Professional · 09/20/2010 (7:29 am) · 14 replies

Features:

  • Added Visual Studio 2010 support to the Project Generator (note that the Torque Toolbox does not support VS2010 yet)

Improvements:

  • Removed unnessasary output registers and clip() on scatterSkyP.hlsl.
  • We now early out of Forest::getLocalWindTrees when the element doesn't need wind effects.
  • Exposed AIObjectType to console ($TypeMasks::AIObjectType) (www.torquepowered.com/community/forums/viewthread/110821)
  • Better distribution of point cloud rendering for SFXEmitter distance attenuation in World Editor
  • We now select SM 2.0b and 2.0a on SM2 devices that support it. (www.torquepowered.com/community/forums/viewthread/116139
  • DecalData field for controlling distance/lod fade renamed to fadeStartPixelSize and fadeEndPixelSize. Some DecalData documentation has also been improved.
  • Decal rendering optimized.
  • - Only reassigns the vert color/alpha for a decal if it has changed since the last render.
    - Combines decal verts into a batch in system memory prior to copying it to the real vertex buffer in one memcpy.
  • Moved TerrainEditor SetHeight value to toolbar (from settings gui) and added shortcut (ALT + Left mouse) to sample height at current mouse position (www.torquepowered.com/community/forums/viewthread/119171)
  • Now render GuiListBoxCtrl item text using the item color, and allow optional rendering of the item bullet rectangle.
  • Added Detail Normal Map feature for GLSL
  • Removed build-time dependency on dos2unix by replacing it with another use of tr (better because tr ships with Mac OSX)
  • Now generate warning when loading a DTS mesh with un-addressable mesh indices (ie. a v25 DTS file with more than 2^16 vertices in a single mesh) (www.torquepowered.com/community/forums/viewthread/103421)
  • Slider controls now close themselves when either mouse button is clicked outside of the control.
  • Updated the functionality of the GuiStackCtrl: all 4 types of stacking (top-to-bottom, bottom-to-top, left-to-right, right-to-left) are now fully supported. Stacks can also be configured to grow up for vertical stacking, or grow left for horizontal stacking (instead of the usual grow down and grown right behavior).
  • Removed unnecessary instanced wind parameters for Forest trees.
  • Now allow dae2dts to use TSShapeConstructor to modify DAE models in-memory prior to saving to DTS.
  • Grouping of SFXSources now retains the playback state of child sources
  • Added support for live updates of ParticleEmitterNode properties: active, emitter, velocity (www.torquepowered.com/community/forums/viewthread/118879)
  • RenderPassManager now directly adds render instances to bins using signals.
  • Signal<> now has removeAll(), merge(), and assignment operator.
  • Optimized TSShapeInstance::setDetailFromDistance() to use a lookup table for LOD.
  • Forest 'meshes' metric no longer reports LOD culled shapes.
  • Optimized away sqrt in TSLastDetail::render() by letting the imposter vertex shader generate the scale from the orientation vectors.
  • We now get a tighter cull in the PSSM splits reducing draw calls 20% to 50% on dense scenes.
  • Exposed lightMapSize field to TerrainBlock (www.torquepowered.com/community/forums/viewthread/110835)
  • PxCloth now behaves properly when used from the editor obeying property changes and positioning accurately.
  • Cleaned up how pxCloth allocates materials.
  • Moved DirectSound+XAudio into its own project generator module.
  • NetGraph now says 'Bytes sent' and 'Bytes received' instead of 'Bits'.
  • Easier to place decals now, extended the raycast distance from 300 to 3000 when clicking in the editor.
  • Raycast against terrain in the DecalRoad editor extended, was previously only 1000 meter.
  • Removed unused function GuiBitmapButtonCtrl::setBitmapHandles from codebase.
  • Removed assignment of Stringtable->EmptyString object to String.
  • DecalEditor can now render the pixelSize of the currently selected decal if $DecalEditor::renderPixelSize is true.
  • GFXGLDevice now returns a dummy shared static vertex declaration to keep the GFX layer from thinking it needs to reallocate it all the time.
  • Removed unnecessary references to strreplace in MaterialEditorGui::setMaterialNotDirty().
  • Removed unused variable disableParallaxMaps from TerrainCellMaterial::_createPass().
  • Added GLSL version of addOutDetailTexCoord
  • Tweaked GLSL getVertTexCoord() failure behaviour to match HLSL
  • Added assert to Gizmo::setProfile to insure it is not set to NULL. Gizmo should always have a profile.
  • We now get the vertex declaration before we copy it in GFXVertexBuffer which removes almost all per-frame calls to GFXVertexFormat::_updateDecl().
  • ForestCells now default to 32 items per cell which gives us much better culling. Also enabled origin sort on Forest items to save some CPU on TSShapes.
  • Removed unnecessary setting of smCaseSensitive in ArrayObject
  • Moved ForestWindAccumulator into its own source file and header.
  • Removed unneeded calls to "isMethod" before invoking callbacks implemented using the IMPLEMENT_CALLBACK macro.
  • Inlined MaterialList::getMaterialInst().
  • Increased the maximum allowed flare size scale as you approach it, allowing the flare to maintain a more believable world-size at close distances.
  • We now use the standard console function to generate unique internal material name
  • Enhanced Torque::FS::MakeUniquePath to perform a psuedo-binary search for the name instead of a linear search.
  • Swapped EditTSCtrl console methods to DefineEngineMethod form.
  • Further optimizations to TSMesh::innerRender().
  • $Stats::netGhostUpdates is now reset every ghost read removing the difference in behavior it had if the net graph was visible or not. Docs were updated to match.
  • Cleaned up old remnants server side support in PxCloth... cloth is client side only.
  • Clamped the density of a WaterObject to 1000 to prevent the player being uncontrollably launched out.

Fixes:

Docs:

  • Added documentation for ScatterSky::fogScale field to note that it overrides LevelInfo.fogColor (www.torquepowered.com/community/forums/viewthread/118533)
  • Updated CHM to have SimObject and some variable definitions
  • Update HTML to resolve around 40 issues including broken links, missing images, and misleading statements.
  • Added artist guide for vertex painting objects
  • Updated the ParticleData::animTexTiling field description
  • Documented SimObject class
  • Documented $cameraFOV variable
  • Fixed the documentation on $Stats::netBitsSent and $Stats::netBitsReceived to reflect that its actually 'BYTES'.
  • Updated ArrayObject description and console methods.
  • Fixed a typo in doc comment of SimPersistSet.resolvePersistentIds
  • Updated broken documentation links in Gui Editor.
  • Removed normalForce, restorativeForce, rollForce, and pitchForce from the DocClass. All references to TriggerDustHeight also removed.

Notes:

  • Specularity and Normal mapping is disabled on pure 2.0 devices to fit under the instruction count. All versions greater than 2.0, including 2.0a and 2.0b will have normal/specular enabled.
  • Upped size of StringUnit built-in buffer to 2kb
  • Maximum velocity for items now defaults to 25 in order to stop them from generating massive amounts of collision data under high velocities.
  • A long standing bug in the script function disconnectedCleanup() was fixed but it will cause sounds to not play correctly in your old project unless you mirror the changes you will see in scriptsclientserverConnection.cs

Resolved Bugs:

About the author

I am a Game Designer at PopCap who has worked on PvZ Adventures, PvZ2, Peggle Blast, and Bejeweled Skies. I am an ex-GarageGames employee who helped ship TGE, TGEA, Torque 3D, and Constructor.


#1
09/20/2010 (7:50 am)
Great work -- Thanks for the update, I am really glad to see frequent updates and change logs. It makes us feel much better about investing time working on our project when we know the engine is being looked after.
#2
09/20/2010 (9:09 am)
Completely agree with Chris, thanks for frequent posting about the Torque3D progress and new versions.
#3
09/20/2010 (5:31 pm)
totally agree with Chris. Great job!
#4
09/20/2010 (5:36 pm)
Yeah, I always feel warm and fuzzy reading these massive fix logs, good to know you guys have our backs :)
#5
09/20/2010 (7:04 pm)
Official release blog can be found here!
#6
09/20/2010 (8:18 pm)
Great work! :salute:
#7
09/21/2010 (1:40 am)
What is the status of the critical bugs from beta 2? More specifically the one where the game locks up and the graphics go all crazy when there is water and particles?

Also, is the South Pacific demo still planned to be released with beta 3 sometime soon?
#8
09/21/2010 (2:23 am)
If it's not in the changelog then it's still an active bug. That one in particular I know is still being worked on.

As for the South Pacific demo, it will be released separately from the engine but it wasn't in a releasable state when Beta 3 was ready.
#9
09/21/2010 (2:31 am)
$dense_particles + $full_reflection !$= "resolved";

Still get that split second lock on dense particle reflections.

Just to mention, has anyone thought it might be useful to have a lower/LOD version of particles available? I can think of a few games that have a low-res version of their particles at distance.
#10
09/22/2010 (10:28 am)
Great work !
#11
09/23/2010 (7:27 pm)
Incidentally ...

... what are we supposed to do with bugs alreday reported in previous beta? Spam them into 1.1 beta 3 forum? Or just let things be?
#12
09/23/2010 (8:34 pm)
For the time being, please leave them in the Beta 2 forum so that we can more easily track the initial burst of bug reports.

In a couple of weeks, feel free to retag them for the Beta 3 forum.

Thanks!
#13
10/31/2010 (12:55 pm)
When can release T3D 1.1 final version?
#14
10/31/2010 (2:00 pm)
I don't know that we are quite ready for a final, incremental beta builds are a huge improvement and we should be pretty happy with as many beta cycles as it takes to complete the 1.1 stable

e: Are there any specific issues that you are being plagued with in the current release?