TSE Update - Milestone 3 release
by Brian Ramage · in Torque Game Engine Advanced · 04/06/2006 (5:53 pm) · 123 replies
It's all checked in, here's what you get:
TGE 1.4 merge!!
Marble Blast Ultra merge!!
Skinned meshes no longer re-calculate tangent space matrices constantly
Fixed misc tangent space generation problems on curved .dts shapes
D3D now running a Pure Device
LOD's now work for .dts objects
Optional D3D Lib check - makes sure user updates to latest D3D libs for shipping builds
Precipitation bounty in place
Materials have double sided rendering option
Fixed glow offset in editor
Interior debug rendering bounty in place
FXSunlight and FXFoliageReplicator bounties in place
Fixed WaterBlock creation in editor
Fixed misc world and Gui editor crashes / broken functionality
Fixed render target stack issues - made more efficient
Fixed misc D3D render state initialization issues
Added unicode support
Sun color affects procedural materials
... many bug fixes...
OK, so this is not everything that was posted in my blog, some features got pushed to MS4 because we have some extra development bandwidth coming. I think you guys will be happy when you hear what we are doing with the lighting there. The render batching did not make it into this build, but that is a high priority for MS4, so there is still a lot of performance work coming that will make TSE run much faster. I expect there to be more updates with MS4 as well, so hopefully you won't be waiting so long between updates.
There are a _LOT_ of changes in this update, so please download a CLEAN copy from CVS before you report any build problems, thanks.
TGE 1.4 merge!!
Marble Blast Ultra merge!!
Skinned meshes no longer re-calculate tangent space matrices constantly
Fixed misc tangent space generation problems on curved .dts shapes
D3D now running a Pure Device
LOD's now work for .dts objects
Optional D3D Lib check - makes sure user updates to latest D3D libs for shipping builds
Precipitation bounty in place
Materials have double sided rendering option
Fixed glow offset in editor
Interior debug rendering bounty in place
FXSunlight and FXFoliageReplicator bounties in place
Fixed WaterBlock creation in editor
Fixed misc world and Gui editor crashes / broken functionality
Fixed render target stack issues - made more efficient
Fixed misc D3D render state initialization issues
Added unicode support
Sun color affects procedural materials
... many bug fixes...
OK, so this is not everything that was posted in my blog, some features got pushed to MS4 because we have some extra development bandwidth coming. I think you guys will be happy when you hear what we are doing with the lighting there. The render batching did not make it into this build, but that is a high priority for MS4, so there is still a lot of performance work coming that will make TSE run much faster. I expect there to be more updates with MS4 as well, so hopefully you won't be waiting so long between updates.
There are a _LOT_ of changes in this update, so please download a CLEAN copy from CVS before you report any build problems, thanks.
About the author
I have over 16 years of professional game development experience at both AAA studios like Dynamix, to indie studios like GarageGames and my own Black Jacket Games. I worked for 5 years at GarageGames as the lead developer on TGEA (precursor to T3D).
#102
04/11/2006 (8:47 am)
Splashes are not particles, they are a seperate effect class. My guess is that GG doesn't want to port it over to TSE, or just deemed it unworthy(I'd agree..).
#103
For your FPS etc, it's just a nice touch I suppose, but we're using the effect for wake effects, cannonballs dropping in the water etc. etc. so is key to gameplay. We'll just have to stick to TGE for now and find a workaround later on for our TSE version.
Still great to see it reach MS3 though. Congrats to all involved etc. 8)
harv.
04/11/2006 (8:57 am)
Yeah, I suppose in the great scheme of things it's pretty low /no priority. For your FPS etc, it's just a nice touch I suppose, but we're using the effect for wake effects, cannonballs dropping in the water etc. etc. so is key to gameplay. We'll just have to stick to TGE for now and find a workaround later on for our TSE version.
Still great to see it reach MS3 though. Congrats to all involved etc. 8)
harv.
#104
04/11/2006 (8:59 am)
You can still use particle splashes, but not actual Splash effects(the 3D ripple/ring effect that only a handfull of people even use).
#105
Whats the point in upgrading one part of the engine and downgrading another part?
04/11/2006 (3:33 pm)
Yes but it was still used.....Whats the point in upgrading one part of the engine and downgrading another part?
#106
Ben Curley sent me his vc2005 project files and I've checked them in. I have not personally tested them, so hopefully they will work for you 2005 users, or at least offer a solid starting point.
Latest head is now tagged as Release_0_4_0.
04/12/2006 (4:46 pm)
The vc6 directory has been removed to reduce confusion as to why those files don't work (vc6 is no longer supported).Ben Curley sent me his vc2005 project files and I've checked them in. I have not personally tested them, so hopefully they will work for you 2005 users, or at least offer a solid starting point.
Latest head is now tagged as Release_0_4_0.
#107
04/12/2006 (4:57 pm)
If anyone has any problems with the vc2005 project I sent to Brian then shoot me an email (see my profile) and I will try to help. Will be away from the forums for a few days (work deadlines suck!) so email is best way to reach me.
#108
04/15/2006 (4:37 am)
I have always a missing XINPUT in my compilation results? What do i need to install for this? i had installed the April 2005 DirectX SDK. Do i need a newer one?
#109
04/15/2006 (4:37 am)
OK forget about, i missed the post before about the missing xinput stuff. i download the latest sdk right now. sorry for the post
#110
Replace the line:
Additionally, there are two backward jet nodes defined called "JetNozzleX", but all other jet nodes have different identifiers like JetNozzle0, JetNozzle1, JetNozzle2 etc. Maybe I overlooked something, but to make it consistent I always rename the second JetNozzleX to JetNozzleY and have so two independent backward jet nodes just in the manner like the other jet nodes. As said, for me this change makes sense, but I may have overlooked something.
Regards,
Martin
04/21/2006 (12:37 pm)
@Brian: By the way - could you put in the fix from Gonzo T. Clown for the createHoverHeight in FlyingVehicle.cpp line 524?Replace the line:
if (!mContainer->castRay(sp,ep,0,&collision))with
if(!mContainer->castRay(sp, ep, sClientCollisionMask, &collision) == true)and the flying vehicle will start to hover again at the defined height as set in the datablock.
Additionally, there are two backward jet nodes defined called "JetNozzleX", but all other jet nodes have different identifiers like JetNozzle0, JetNozzle1, JetNozzle2 etc. Maybe I overlooked something, but to make it consistent I always rename the second JetNozzleX to JetNozzleY and have so two independent backward jet nodes just in the manner like the other jet nodes. As said, for me this change makes sense, but I may have overlooked something.
Regards,
Martin
#111
04/25/2006 (5:22 pm)
@Martin - checked in the first issue. From cursory glace at second issue, it looks like you are correct.
#112
Not at all a wasted effort. Just not 100% effective, which nothing ever is. Better to stop some cheaters than no cheaters.
On the other hand, if you do some visibility tests on important objects like player characters, and just don't draw things that are hidden behind a wall, they can mess with D3D all they way and still not be able to cheat that way.
04/26/2006 (2:52 pm)
"Even if people cant change the material, theres a way of modifying any D3D device render states, system wide, trying to stop people from cheating is a wasted effort."Not at all a wasted effort. Just not 100% effective, which nothing ever is. Better to stop some cheaters than no cheaters.
On the other hand, if you do some visibility tests on important objects like player characters, and just don't draw things that are hidden behind a wall, they can mess with D3D all they way and still not be able to cheat that way.
#113
04/30/2006 (4:18 pm)
In the long run, if I was to create my game entirely within TGE, by the completion of TSE would I be able to 'rather easily' 'port' my entire TGE project to TSE then add my few graphical (shader..) enchancements and call it done?
#114
04/30/2006 (11:41 pm)
You'd have to redo all your maps unless you were using the old terrain, and you wouldn't be able to design any shaders of course, but it's doable. If you did do that though a suggestion: Document every single C++ file that you change and when you get ready to merge, then use the latest version of TSE as a bas and just merge in the files that you changed. If you do it that way it isn't too painful, if you do a diff on the entire project your looking at a long and painful port.
#115
05/01/2006 (7:03 am)
Well, porting isn't too painful. The difs need to be changed and terrain if you want to use atlas. Other than that I've been able to port projects over in an hour or so.
#116
05/04/2006 (6:12 pm)
Anyone else having trouble with preferences saving/loading/exporting correctly? I'll set my name in the prefs.cs file or in-game, and upon exit it sets it back to "" rather than "Player1".
#117
05/04/2006 (10:15 pm)
@C2: Yes, same to me. Seems like a new bug in MS3.
#118
05/04/2006 (11:21 pm)
There is a bug report on that one somewhere + a fix
#119
replace the setText() function in guiTextEditCtrl.cpp with this:
05/05/2006 (1:15 am)
Yeah, thats a bug in TGE, too...replace the setText() function in guiTextEditCtrl.cpp with this:
void GuiTextEditCtrl::setText( const char *txt )
{
if(txt && txt[0] != 0)
{
Parent::setText( txt );
mTextBuffer.set( txt );
}
else
mTextBuffer.set( "" );
mCursorPos = mTextBuffer.length();
}
#120
05/05/2006 (1:22 am)
Thanks Stefan :-)
Harvey Greensall
*sniff* blimey..
arv.