Game Development Community

TGEA 1.8.2 Released

by Matt Fairfax · in Torque Game Engine Advanced · 10/18/2009 (6:02 pm) · 44 replies

Features

  • SFX can now stream playback of sounds
  • Theora video playback

Behavior Changes

  • Material now has alpha testing disabled by default
  • Files Changed:
    engine/source/materials/materialDefinition.cpp
  • SimGroup::clear() now deletes all owned SimObjects
  • Files Changed:
    engine/source/console/simSet.h
    engine/source/console/simSet.cpp
  • mipLODBias on GFXSamplerStateData is now TypeF32 instead of TypeS32
  • Files Changed:
    engine/source/gfx/sim/gfxStateBlockData.cpp
  • Default world editor mouse move scale is now 0.2 instead of 1.0
  • Files Changed:
    tools/missionEditor/scripts/editorPrefs.ed.cs
  • CustomMaterial will now fail to load if it's specified shader could not be loaded
  • Files Changed:
    engine/source/materials/customMaterialDefinition.cpp
  • DXT5 normal maps no longer assume that they are swizzled. Set swizzledNormalMap to true if your normal maps are swizzled
  • [i]Files Changed:

    engine/source/materials/materialDefinition.h
    engine/source/materials/materialDefinition.cpp
    engine/source/materials/processedShaderMaterial.cpp
  • Thread constructor no longer takes a start_thread parameter, and threads must be started by calling Thread::start()
  • Files Changed:
    engine/source/atlas/core/atlasDeferredFile.cpp
    engine/source/atlas/core/atlasFile.cpp
    engine/source/platform/test/testThreading.cpp
    engine/source/platform/threads/thread.h
    engine/source/platformMac/macCarbAsync.cpp
    engine/source/platformMac/macCarbThread.cpp
    engine/source/platformMac/macCocoaPlatform.mm
    engine/source/platformWin32/threads/thread.cpp
    engine/source/platformWin32/winAsync.cpp

Improvements

  • Trimmed extraneous #defines from Xcode project template
  • Files Changed:
    engine/bin/projectGenerator/templates/Xcode.tpl
  • Added Optimized configuration to Xcode template
  • Files Changed:
    engine/bin/projectGenerator/templates/Xcode.tpl
  • Mac: Enabled GCC warnings
  • Files Changed:
    engine/bin/projectGenerator/templates/Xcode.tpl
  • Mac: Compile with GCC 4.2 against Mac OS 10.5 SDK
  • Files Changed:
    engine/bin/projectGenerator/templates/Xcode.tpl
  • commonMaterialData.cs is now in common/clientScripts
  • Water skybox is now in common/data/water
  • loadMaterials and reloadMaterials are now in common/clientScripts/loadMeterials.cs and properly handle dsos
  • Files Changed:
    common/clientScripts/client.cs
    common/clientScripts/loadMaterials.cs
    scriptsAndAssets/client/init.cs
  • Mac FMod load error message is now "FMod provider unavailable" instead of the incorrect "You will not have sound"
  • Files Changed:
    engine/source/sfx/fmod/sfxFModProvider.mac.cpp
  • GBitmap now supports image sizes up to 4096x4096
  • Files Changed:
    engine/source/gfx/bitmap/gBitmap.h
  • Standardized on Torque::List instead of LList for our linked list needs
  • Files Changed:
    engine/source/T3D/fx/cameraFXMgr.h
    engine/source/T3D/fx/cameraFXMgr.cpp
    engine/source/T3D/fx/lightning.h
    engine/source/T3D/fx/lightning.cpp
    engine/source/T3D/fx/splash.h
    engine/source/T3D/fx/splash.cpp
  • Removed long deprecated AmbientAudioManager
  • Files Changed:
    engine/source/T3D/ambientAudioManager.h
    engine/source/T3D/ambientAudioManager.cpp
  • Added SimObject::logMessage, logWarning, and logError. See simObject.h for more information
  • Files Changed:
    engine/source/console/simObject.h
    engine/source/console/simObject.cpp
  • GlowBuffer blur texture size can now be changed at runtime
  • Files Changed:
    engine/source/T3D/fx/glowBuffer.h
    engine/source/T3D/fx/glowBuffer.cpp
  • CustomMaterial will now warn if its given shader lacks a modelview parameter
  • Files Changed:
    engine/source/materials/processedCustomMaterial.cpp
  • WaterBlock now extends to its full scale, regardless of its gridSize
  • Files Changed:
    engine/source/terrain/waterBlock.cpp
  • WaterBlock depth visiblity can now be updated without a mission reload
  • Files Changed:
    engine/source/windowManager/terrain/waterBlock.cpp
  • TSSortedMessh::assemble now warns as sorted meshes are deprecated in TGEA
  • Files Changed:
    engine/source/ts/tsSortedMesh.cpp
  • Processed*Material now logs a warning if it failed to load a texture
  • Files Changed:
    engine/source/materials/processedFFMaterial.cpp
    engine/source/materials/processedCustomMaterial.cpp
    engine/source/materials/processedShaderMaterial.cpp
  • ShapeBase images can now have a configurable number of simultaneously playing sounds. Use maxConcurrentSounds to set.
  • Files Changed:
    engine/source/T3D/shapeBase.h
    engine/source/T3D/shapeImage.cpp
  • String class now threadsafe
  • Files Changed:
    engine/source/core/strings/stringFunctions.h
    engine/source/core/strings/stringFunctions.cpp
    engine/source/core/util/str.h
    engine/source/core/util/str.cpp
  • Mac now supports bold and italic fonts
  • Files Changed:
    engine/source/platformMac/macCarbFont.cpp
  • Mac now uses SSE matrix multiplication
  • Files Changed:
    engine/source/math/mMathSSE.cpp
    engine/source/platformMac/macCarbMath.cpp
  • Mac now properly detects CPU and memory information
  • Files Changed:
    engine/source/platform/platform.h
    engine/source/platformMac/macCarbCPUInfo.cpp

Fixes

  • Mac: Fixed shadow rendering on GeForce 7300 and 9400
  • Files Changed:
    engine/source/gfx/gl/gfxGLEnumTranslate.cpp
  • Fixed CameraFX memory leaks
  • Files Changed:
    engine/source/T3D/fx/cameraFXMgr.cpp
  • Fixed player ground shake
  • Files Changed:
    engine/source/T3D/player.cpp
  • Particle emitters no longer erroneously accumulate during a mission
  • Files Changed:
    engine/source/T3D/fx/particleEmitter.cpp
  • Fixed crash when adding a waterblock to Template
  • Files Changed:
    Projects/Template/game/scriptsAndAssets/data/water/materials.cs
  • Fixed x/y flipping of imported terrain heightmaps
  • Files Changed:
    engine/source/gui/missionEditor/terraformer.cpp
  • "Double extension" dds textures (e.g. base.normal.dds) now load correctly
  • Files Changed:
    engine/source/gfx/gfxTextureManager.cpp
  • Fixed enumeration of D3D9 adapters
  • Files Changed:
    engine/source/gfx/D3D9/pc/gfxPCD3D9Device.cpp
  • Default world editor image paths are now correct
  • Files Changed:
    engine/source/gui/missionEditor/worldEditor.cpp
  • Fix NULL stateblock assert in TSShapeInstance::snapshot_softblend
  • Files Changed:
    engine/source/ts/tShapeInstance.cpp
  • Fixed addMaterialMapping console function
  • Files Changed:
    engine/source/materials/materialManager.cpp
  • atlasGenerateTextureTOCFromTiles now writes bitmap properly
  • Files Changed:
    engine/source/atlas/atlasImportTiles.cpp
  • ProcessedShaderMaterial::setEyePos now sets the proper position for scaled objects
  • Files Changed:
    engine/source/materials/processedShaderMaterial.cpp
  • GFXD3D9TextureObject::copyToBmp no longer requires that the texture be a render target
  • Files Changed:
    engine/source/gfx/D3D9/gfxD3D9TextureObject.cpp
  • Mac: Ensure that a file is created when opening with ReadWrite access
  • Files Changed:
    engine/source/platformPOSIX/posixVolume.cpp
  • Fix memory leak in PlatformFont
  • Files Changed:
    engine/source/platform/platformFont.h
  • Fix memory leak in ActionMap::processBindCmd
  • Files Changed:
    engine/source/sim/actionMap.cpp
  • Document that Dynamic and KeepBitmap texture profile flags are mutually exclusive
  • Files Changed:
    engine/source/gfx/gfxTextureProfile.h
  • Assert when Dynamic and KeepBitmap texture profile flags are both specified
  • Files Changed:
    engine/source/gfx/gfxTextureProfile.cpp
  • Mac: Threads now properly unregister themselves if they were not set to autodelete
  • Files Changed:
    engine/source/platformMac/macCarbThread.cpp
  • Mac: Menu items no longer remain in a 'selected' state
  • Files Changed:
    engine/source/platformMac/menus/popupMenu.cpp
  • GFont now functions properly when Torque is run in a folder where it does not have write access
  • Files Changed:
    engine/source/core/resource.h
    engine/source/core/resource.cpp
    engine/source/gfx/gFont.cpp
  • Con::executef now functions properly when called with 7 arguments
  • Files Changed:
    engine/source/console/console.cpp
  • Missions now cycle properly
  • Files Changed:
    scriptsAndAssets/server/scripts/game.cs
  • Mac: Directory creation now properly reports success
  • Files Changed:
    engine/source/platformPOSIX/posixVolume.cpp
  • GuiTextCtrl now renders its border
  • Files Changed:
    engine/source/gui/controls/guiTextCtrl.cpp
  • Fix memory leak in NetStringTable
  • Files Changed:
    engine/source/sim/netStringTable.cpp
  • Win32 thread constructor no longer ignores the autodelete parameter
  • Files Changed:
    engine/source/platformWin32/threads/thread.cpp
  • TSMesh now releases Opcode collision data
  • Files Changed:
    engine/source/ts/tsMesh.h
    engine/source/ts/tsMesh.cpp
  • Calling a script function on a mission object no longer sets %this to 0
  • Files Changed:
    engine/source/console/compiledEval.cpp
  • Fix precision and overflow bugs in Move::clamp()
  • Files Changed:
    engine/source/T3D/moveManager.cpp
  • Frustum::getProjectionMatrix() now gives a correct projection matrix
  • Files Changed:
    engine/source/math/frustum.cpp
  • Remove unnecessary call to GFX->clear() from WaterBlock::updateReflection()
  • Files Changed:
    engine/source/terrain/waterBlock.cpp
  • Vector::merge() now copyconstructs copied objects
  • Files Changed:
    engine/source/core/util/tVector.h
  • Win32: Fix stack corruption in osGetTemporaryDirectory()
  • Files Changed:
    engine/source/platformWin32/wineFileio.cpp
  • Fix out of bounds array access in guiPopUpCtrlEx
  • Files Changed:
    engine/source/platformWin32/threads/thread.cpp
  • FileStream::open() now properly reports failure
  • Files Changed:
    engine/source/core/stream/fileStream.cpp
  • FileStream::setStatus() now properly reports sharing violations
  • Files Changed:
    engine/source/core/stream/fileStream.cpp
  • GFXD3D9TextureTarget now protects against NULL DepthStencil targets
  • Files Changed:
    engine/source/gfx/D3D9/gfxD3D9Target.cpp
  • GuiTSControl constructor now initializes all member variables
  • Files Changed:
    engine/source/gui/3d/guiTSControl.cpp
  • Mac Fullscreen now functions properly
  • Files Changed:
    engine/source/gfx/gl/gfxGLDevice.mac.mm
    engine/source/gfx/gl/gfxGLWindowTarget.cpp
    engine/source/windowManager/mac/macWindow.h
    engine/source/winodwManager/mac/macWindow.mm
    engine/source/windowManager/mac/macWindowManager.mm
  • Win32: Command line arguments are now parsed properly
  • Files Changed:
    engine/source/platformWin32/winWindow.cpp
  • mRound now works for values outside the 0-1 range
  • Files Changed:
    engine/source/math/mConsoleFunctions.cpp
  • Mac: Compressed textures now load properly
  • Files Changed:
    engine/source/gfx/gl/gfxGLEnumTranslate.cpp
  • GuiWindowCtrl::findHitEdges now works properly when the GuiWindowCtrl is a child of another control
  • Files Changed:
    engine/source/gui/containers/guiWindowCtrl.cpp
  • Mac: World editor gizmo now renders circle and cube handles when it should
  • Files Changed:
    engine/source/windowManager/mac/macView.mm
  • Fix off by 1 error in String::substr
  • Files Changed:
    engine/source/core/util/str.h
    engine/source/core/util/str.cpp
  • Fix off by 1 error in Path::CompressPath
  • Files Changed:
    engine/source/core/util/path.cpp
  • Path::AppendPath now ensures that the path will be updated when necessary
  • Files Changed:
    engine/source/core/util/path.cpp
  • ProcessedFFMaterial::setLightInfo now protects against NULL lightinfos
  • Files Changed:
    engine/source/materials/processedFFMaterial.cpp
  • WaterBlock now protects against invalid materials
  • Files Changed:
    engine/source/terrain/waterBlock.cpp
  • Removed stubbed out WaterBlock::isPointSubmerged
  • Files Changed:
    engine/source/terrain/waterBlock.h
  • Fix minimum argument count for MessageVector::pushBackLine console method
  • Files Changed:
    engine/source/gui/utility/messageVector.cpp
  • Fix GuiSpeedometerCtrl rendering
  • Files Changed:
    engine/source/T3D/vehicles/guiSpeedometer.cpp
  • GFont::getStrNWidthPrecise now more precise values
  • Files Changed:
    engine/source/gfx/gFont.cpp
  • GFXDevice::getFrustum now protects against NULL parameter inputs
  • Files Changed:
    engine/source/gfx/gfxDevice.cpp
  • GuiContainer::resize() no longer calls parentResized on its children multiple times
  • Files Changed:
    engine/source/gui/containers/guiContainer.cpp
  • GuiEditCtrl::onMosue down no longer crashes when shift clicking a single selected control
  • Files Changed:
    engine/source/gui/editor/guiEditCtrl.cpp
  • SFXXAudioVoice destructor now protects against mVoice being NULL
  • Files Changed:
    engine/source/sfx/xaudio/sfxXAudioVoice.cpp
  • Water reflection and refraction now clamps
  • Files Changed:
    scriptsAndAssets/data/water/materials.cs
  • GroundCover now only updates its cells in non-reflection passes
  • Files Changed:
    engine/source/T3D/fx/groundCover.cpp
  • Interior debug render modes all render properly now
  • Files Changed:
    engine/source/interior/interiorDebug.cpp
  • ParticleEmitter::prepBatchRender now provides a sorting key even if it has a NULL texture
  • Files Changed:
    engine/source/T3D/fx/particleEmitter.cpp
  • Console parser list is now cleared on shutdown
  • Files Changed:
    engine/source/console/console.cpp
  • Console Namespace destructors are now called on shutdown
  • Files Changed:
    engine/source/console/consoleInternal.cpp
  • Console class tables are now freed on shutdown
  • Files Changed:
    engine/source/console/console.cpp
    engine/source/console/consoleObject.h
    engine/source/console/consoleObject.cpp
  • MemStream constructor now properly allows a NULL buffer parameter
  • Files Changed:
    engine/source/core/stream/memStream.cpp
  • Win32: LightNormMap feature now works properly if the diffuse normal map is swizzled
  • Files Changed:
    engine/source/shaderGen/HLSL/shaderFeatureHLSL.cpp
  • Skinned meshes now protect against a crash when polysoup collision is enabled
  • Files Changed:
    engine/source/ts/tsShapeInstance.h
    engine/source/ts/tsShapeInstance.cpp
  • WinFont::create now properly parses bold and italic modifier names
  • Files Changed:
    engine/source/platformWin32/winFont.cpp
  • Mac: Platform::AlertOKCancel and Platform::AlertRetry now return a boolean
  • Files Changed:
    engine/source/platformMac/macMsgBox.mm
  • Mac: On 10.5.x, warn if a file will be overwritten even if the user did not specify an extension in the save dialog
  • Files Changed:
    engine/source/platformMac/macCocoaDialogs.mm
  • setSkinName works properly now and can be used multiple times
  • Files Changed:
    engine/source/T3D/shapeBase.h
    engine/source/T3D/shapeBase.cpp
    engine/source/T3D/shapeImage.cpp
    engine/source/ts/tsShapeInstance.h
    engine/source/ts/tsShapeInstance.cpp
  • GuiCanvas get/setCursorPos now properly operate in screen space
  • Files Changed:
    engine/source/gui/core/guiCanvas.h
    engine/source/gui/core/guiCanvas.cpp
    engine/source/windowManager/mac/macWindow.h
    engine/source/windowManager/mac/macWindow.cpp
    engine/source/windowManager/win32/win32Window.h
    engine/source/windowManager/win32/win32Window.cpp
  • All GUI callbacks now properly set $ThisControl before executing
  • Files Changed:
    engine/source/gui/controls/guiTextEditSliderCtrl.cpp
    engine/source/gui/buttons/guiButtonBaseCtrl.cpp
    engine/source/gui/buttons/guiCheckBoxCtrl.cpp
    engine/source/gui/controls/guiColorPicker.cpp
    engine/source/gui/controls/guiListBoxCtrl.cpp
    engine/source/gui/controls/guiPopUpCtrl.cpp
    engine/source/gui/controls/guiPopUpCtrlEx.cpp
    engine/source/gui/controls/guiTextEditCtrl.cpp
    engine/source/gui/controls/guiTextListCtrl.cpp
    engine/source/gui/controls/guiTreeViewCtrl.cpp
    engine/source/gui/core/guiArrayCtrl.cpp
  • Can now compile against the August 09 DirectX SDK
  • Files Changed:
    engine/bin/projectGenerator/templates/vc2k3_proj.tpl
    engine/bin/projectGenerator/templates/vc2k5_proj.tpl
    engine/bin/projectGenerator/templates/vc2k8_proj.tpl
    engine/source/gfx/D3D9/gfxD3D9Device.h
    engine/source/gfx/D3D9/gfxD3D9Shader.cpp

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.

Page «Previous 1 2 3 Last »
#1
10/18/2009 (6:08 pm)
Wow. A TGEA update? What will people have to complain about, apart from prices?!
#2
10/18/2009 (6:34 pm)
Awesome!
#3
10/18/2009 (6:52 pm)
That's an awesome fix.
#4
10/18/2009 (7:30 pm)
Nice guys, way to go.
#5
10/18/2009 (8:30 pm)
That's a great update - can I please ask that you make the source code to the map2dif code available again, it's still bugged with the lightmaps missing border sizes and therefore leaking when difs are scaled in game.

Impossible to fix without the map2dif source code.
#6
10/18/2009 (8:39 pm)
This is very encouraging to me, even though I don't use TGEA anymore. Good to see GG taking the high road.
#7
10/18/2009 (9:05 pm)
Good news for those of us that still want to update to TGEA!
#9
10/18/2009 (9:48 pm)
Thanks, this is great! And with theora video playback!!!
#10
10/19/2009 (2:19 am)
Noooooo ... just as I upgrade a project to TGEA 1.8.1 you release 1.8.2 ... unfair. :)

No seriously ... thanks for the update. Awesome job. :)
#11
10/19/2009 (4:25 am)
Impressive update for a dead product !

Thank you very much GG.

Nicolas Buquet
www.buquet-net.com/cv/
#12
10/19/2009 (9:09 am)
Very cool. Thank you.
#13
10/19/2009 (10:01 am)
On Mac, the template project crash when playing some sounds.
I had the same issue with one of my projects, ported from TGEA 1.8.1.

In fact, problematic sounds are ogg vorbis sounds (".ogg" files).

The base project includes the vorbis libs but a #define is missing :
#define TORQUE_OGGVORBIS

I think it is missing from the project config file.

So I added a line
addProjectDefine( 'TORQUE_OGGVORBIS' );
to the project.mac.conf file, and then regenerated the project.

My project can now play ogg files as before.

The same seems to be missing from the Windows conf file project.conf.

Nicolas Buquet
www.buquet-net.com/cv/
#14
10/19/2009 (12:15 pm)
Great update but without map2dif source the interior border bugs will never get fixed. Can you at least make the source available so the community can have a go at fixing it.
#15
10/19/2009 (12:35 pm)
Thanks a ton for this update!
#16
10/19/2009 (1:18 pm)
..glad to see your hardwork being put to use, Alex & whoever else did work on this.

//I'm with Ando on the map2dif source release.

#17
10/19/2009 (3:21 pm)
The problem with the map2dif source is that it has never been brought up to compatibility with engine code in TGEA 1.7.x or TGEA 1.8.x which is dramatically different from the code in TGEA 1.0.3 (there isn't even the concept of a Torque "lib" for map2dif to link against in TGEA 1.7+).

We briefly looked into what it would take to make map2dif compatible with the current (as in almost 2 years old) codebase and it was definitely going to be a fair chunk of work.

It may be possible for us to send a copy of TGEA 1.0.3 to whoever is willing to take on the task of fixing map2dif and then replace the map2dif executable that is in 1.8.2 with the fixed one.
#18
10/19/2009 (5:38 pm)
@All: Thank you for your patience and for your feedback. I know TSE/TGEA has had a long and not always happy development history, but I hope the past few releases have proven to everyone that while we're far from perfect, we're working hard to improve.

@Matt: Thanks for posting the changelog. I meant to, but I wound up busy with other things.

@Nicolas: Oh man, sorry about that. I'm glad it's an easy fix.

@eb: Rene Damm helped out quite a bit. In fact, you can thank him for streaming SFX and Theora playback, along with a fair few of those improvements and bug fixes. I heartily recommend thanking him with beer.
#19
10/19/2009 (6:23 pm)
This is good news, and shows that TGEA still has some mileage, even now that T3D has been released.

Great work, Alex. Thanks for the effort.
#20
10/19/2009 (6:37 pm)
Definitely have to give huge props to Alex and Rene! This update might not have happened without their tireless efforts.
Page «Previous 1 2 3 Last »