Torque Game Builder 1.7.5 Released!
by Matt Fairfax · 04/30/2010 (6:06 pm) · 38 comments

I know it is a photo finish but we have delivered on our promise to deliver TGB 1.7.5 by the end of April and TGB owners can now download it from their account pages.
As Eric mentioned earlier this week, this release was primarily focused on stability and compatibility. Early in the process we enlisted the help of one of the leaders in the TGB community, William Lee Sims, to help us merge in the various bugfixes the community has posted (mostly centered around Windows Vista and Win7 compatibility). We also got a hand from LUMA to merge in the various fixes and improvements they have made to the base engine for iTGB over the last year as well as helping to bring our OS X compatibility up-to-date. Rene Damm also stepped in and contributed a variety of fixes from his personal work in TGB and Melv May even managed to slip in a few fixes earlier this year when no one was looking. Last, but not least, we merged in a number of extremely useful stability fixes from a few of our Commercial level customers.
Everyone who contributed to TGB 1.7.5 made a critical difference but I do want to particularily call out the efforts of Scott Burns and the new Fullsail QA department. These guys put some long hours into what I know had to be tedius work at times and their attention to detail really helped to make this release polished. Not only that, they managed to do it while gathering hardware and software and putting together a new compatibility lab. I am really looking forward to working with them more and I think it is going to make a big difference in all of our products!
I am excited to see what people do with a more stable and up-to-date TGB =) Enjoy!
The nitty, gritty details!
Improvements:
- Added Visual Studio 2008 projects and solution
- Made Con::evaluatef() safer
- Upgraded all Xiph libs to latest releases (Ogg, Theora, Vorbis)
- Upgraded audio system to use OpenAL 1.1
- Console now resets the function offset so the stack doesn't continue to grow unnecessarily
- Added Source Rect support to t2dScroller and t2dStaticSprite objects
- Added AlertYesNo dialog box support
- Added support ping-pong animations
- Added animation direction controls (ie. forward or backward playback)
- Support for non-unicode string buffers / t2dTextObjects
- Support for bilinear filtering on t2dTextObjects
- Support for integer pixel snapping on t2dTextObjects
- Support for 16bit image maps / textures
- Better checks / logic on particle saving in the editor
- Added outputting of bitmap name when a t2dImageMapDatablock is destroyed but still has references in order to help track down the other references
- SimSets can now have a class and superclass
- Added pointInRect() to RectF and RectD
- Minor modification to destroy resources rather than unloading textures during texture zombification
- Modified image-map so that it removes any bitmaps created during frame compilation
- randI and randF handle degenerate and inverted intervals
- TorqueGameBuilder.exe and TGBGame.exe are now DPI aware. (Per msdn.microsoft.com/en-us/library/dd464660(VS.85).aspx, manifest warnings can be safely ignored)
- Made the TGB window smaller on the Mac so that it won't be hidden by the top menubar
- Polish/cleanup pass on the documentation to make sure it is up-to-date

Fixes:
- Made ResManager::isValidWriteFileName() handle blank/empty filenames properly
- Updated all references to www.garagegames.com to www.torquepowered.com and removed any defunct links
- CodeBlock::exec() now protects against a NULL currentNewObject in OP_ADD_OBJECT
- AbstractClassRep no longer leaks field validators during initialization
- Made sure that the line buffer is terminated before using it in a string function in TelnetDebugger::processLineBuffer()
- Fixed a potential infinite loop in TSShape::fixupOldSkins()
- Made sure that Torque defines a proper set of delete operators to match its overridden new operators
- TiXmlDocument::Parse() now correctly handles a null result for LinkEndChild()
- GuiParticleGraphCtrl and GuiGraphCtrl ConsoleMethod's now correctly check against the MaxPlots constant when determining if a plotID is valid
- GuiMLTextEditCtrl::handleMoveKeys() no longer skips the final line when pressing the down or end key
- Zip entries are properly deleted if they are unable to be inserted into a ZipArchive
- Telnet debugger and console now properly protect against trying to use an invalid socket
- Unicode Win32 API handling fixed (affects all file I/O involving non-ANSI characters in file names)
- Several Theora video playback problems fixed
- Made sure all va_start()'s are properly matched with a corresponding va_end()
- Fixed memory leak in LangFile
- Added code to handle a NULL return from getOwner() in many of BehaviorInterface's functions
- Namespace::~Namespace() now properly uses dFree() for mUsage
- Fixed bogus delete/memory leak in loadObjectStream()
- Removed extra printf parameters from GFont::dumpInfo()
- TextureManager::loadBitmapInstance() now correctly checks to make sure the ResourceManager returned a GBitmap
- handleMasterServerListResponse() no longer leaks PacketStatus's
- GuiControlArrayControl::resize() no longer leaks memory in the form of the sizes and offsets arrays
- CTRL-Z no longer unintentionally deletes the contents of a GuiTextEditCtrl if it is done while dragging a mouse
- The UNIX version of Platform::isSubDirectory() now properly closes the directory in case a subdirectory doesn't exist
- Added better protection/tests for uses of dynamic_cast's
- Fixed several SnowLeopard/GCC4.2/XCode/OSX Build errors and issues.
- Fixing osx framework linking issues with OGG
- OpenAL OSX Framework issues with compiling linking *Broken Symlinks
- GFont destroying now decrement texture handles correctly
- Scripts are now correctly informed that no master server is found if that is the case
- Fixed a potential crash in the t2dSceneWindow picker
- Fixed a crash in GuiTextCtrl::setText() if the font is NULL
- Added missing PROFILE_END() in GuiCanvas::renderFrame()
- Fixed possible endless loop in the Windows FileDialog::setDefaultPath()
- Text in a GuiMLTextCtrl now correctly reformats itself on a resize.
- Memory is now freed when an audio profile deleted and streaming OGG stopped (torquepowered.com/community/forums/viewthread/96713 and torquepowered.com/community/forums/viewthread/53220)
- The mouse over graphic no longer used when the button is inactive
- Case is preserved when setting text on a button
- Fixed various collision-detection issues
- Fixed issue with referenced textures when image-maps were resurrected
- EventManager's isRegisteredEvent ConsoleMethod calls the matching C++ function
- GetScheduleDuration() and GetTimeSinceStart() now return the expected values
- GuiTextEditCtrl's selectAllText function correctly selects all text
- TGB more stable in regards to all window switching operations
- We now process the world-limits earlier during the update phase to make sure that tick-destination gets correctly updated when a world-limit collision occurrs
- Removed the problematic _WIN32_WINNT define so that TGB will compile cleanly on Visual Studio 2008
- Reordered the Xcode architectures so that it will default to i386 instead of ppc out of the box
- Made sure we aren't leaking memory from the dynamic_cast fix in DynamicConsoleMethodComponent::_callMethod()

Notes:
- Changed Xcode projects to use system OpenAL; dropped pre-configured support for OSX 10.4 in Xcode project (OAL does not ship with 10.4)
- Game Builder Torsion project renamed, and uses proper version of TGB 1.7.5 Tools.Torsion
- Dropped Windows 98 support
- Removed support for Visual Studio 2003
- Installers now remove the TGB AppData info since it was causing issues
- Removed the old collision-time separation clamping
Known Issues:
- Reloading a project may cause the toolbar to render improperly (restarting should fix this)
- Drag and drop for asset importing does not function on Macs
- Compiling in Xcode under ppc fails from time to time
- Selecting a config datablock does not fill in class fields
- Script-based File I/O outputs the to the GaragGames folder in the user's Roaming AppData
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.
#22
05/02/2010 (3:44 am)
Awesome job guys!
#23
As a massive fan of the engine I'm really happy it got some lovin'
Thanks guys
05/02/2010 (4:25 am)
Great great news.As a massive fan of the engine I'm really happy it got some lovin'
Thanks guys
#24
05/02/2010 (7:53 am)
Nice, thanks for the great job guys ;)
#25
sourceRect, yay!
I do not look forward to hand-merging this with my build. :(
05/02/2010 (9:15 am)
Congrats on the release!sourceRect, yay!
I do not look forward to hand-merging this with my build. :(
#26
(Not that I ever had the trouble with that...I'm building T3D on Win7 just to see if I can make it build, and took a few minutes to test TGB at the same time. Otherwise I'm on the Mac.)
05/02/2010 (10:01 am)
Great release - compiles cleanly in VStudio 2008 Pro, runs on Win7 :)(Not that I ever had the trouble with that...I'm building T3D on Win7 just to see if I can make it build, and took a few minutes to test TGB at the same time. Otherwise I'm on the Mac.)
#27
05/02/2010 (10:10 am)
Thanks for the release!
#28
05/02/2010 (1:38 pm)
This is awesome guys. Thanks and congrats!
#29
So hats off to everyone involved in making this happen...I have a huge appreciation for the successful culmination of a significant technology project.
Congrats to everyone involved!
--RB
05/03/2010 (4:55 am)
I'm not a TGB owner, and I don't have any immediate plans to purchase (my build focuses are mainly on Xbox 360 right now), but nonetheless it sounds like this was just an amazing effort from several different groups and individuals.So hats off to everyone involved in making this happen...I have a huge appreciation for the successful culmination of a significant technology project.
Congrats to everyone involved!
--RB
#30
# Upgraded all Xiph libs to latest releases (Ogg, Theora, Vorbis)
# Upgraded audio system to use OpenAL 1.1
They were things I was planning to do by myself...you saved my time! ^^
Thanks to GG and to all community contributors,
05/03/2010 (6:05 am)
Wow, very good news! I love especially these improvements:# Upgraded all Xiph libs to latest releases (Ogg, Theora, Vorbis)
# Upgraded audio system to use OpenAL 1.1
They were things I was planning to do by myself...you saved my time! ^^
Thanks to GG and to all community contributors,
#31
05/03/2010 (10:29 am)
Congrats,great job guys ;)
#32
05/03/2010 (11:12 am)
Nice!
#33
05/03/2010 (3:14 pm)
Thanks a bunch! It's sad that this is likely to be the final release of TGB... but I'm looking forward to "T2D" =)
#34
05/04/2010 (1:28 pm)
Looks very interesting :)
#35
05/04/2010 (2:27 pm)
Woot, OpenGL/ATI rendering issue is fixed. Kinda. :D
#36
I just wanted to update everyone here. With our guys being heads down on TorqueX, iTorque 1.4, and Torque 3D Beta 2 ( and impending release ), and other projects, we don't have a lot of spare management/resources to fix the TGB bugs found from 1.7.5.
Good news:
We verified the bugs and put them into Jira for tracking. I used the bug report to build a request for quotation that I will put on the associates forum as soon as I get the proper paperwork back from legal. Hopefully we will have the bugs fixed and QA the code and release a 1.7.6 in the next month or so.
05/19/2010 (7:29 am)
@Joe - It's likely NOT the last release. :)I just wanted to update everyone here. With our guys being heads down on TorqueX, iTorque 1.4, and Torque 3D Beta 2 ( and impending release ), and other projects, we don't have a lot of spare management/resources to fix the TGB bugs found from 1.7.5.
Good news:
We verified the bugs and put them into Jira for tracking. I used the bug report to build a request for quotation that I will put on the associates forum as soon as I get the proper paperwork back from legal. Hopefully we will have the bugs fixed and QA the code and release a 1.7.6 in the next month or so.
#37
Do you know any third party programs that will extract/install this new type of packages?
I'm sitting on a Powerbook g4 with os x 10.4.11.
05/30/2010 (9:06 am)
So this isn't running on os x Tiger? I downloaded the update (1.7.5) a couple of days ago, deleted my tgb 1.7.4 files to get a clean install, then it turns out my operating system can't open the .pkg installer file. The dialog box said some thing like "this pkg file needs mac os x leopard's installer."Do you know any third party programs that will extract/install this new type of packages?
I'm sitting on a Powerbook g4 with os x 10.4.11.
#38
As far as an extractor, I'm unaware of any third party app that does that and I can't guarantee everything will work properly with Tiger even if you could get it extracted.
06/01/2010 (10:41 am)
@Love - TGB 1.7.5 does not support Tiger. It supports Leopard and Snow Leopard. TGB 1.7.4 should still be available under the Previous Versions tab in your download.As far as an extractor, I'm unaware of any third party app that does that and I can't guarantee everything will work properly with Tiger even if you could get it extracted.

Torque Owner David Dougher
Pariah Games