Latest updates
by Brian Ramage · in Torque Game Engine Advanced · 07/23/2004 (3:35 pm) · 76 replies
I just checked in a bunch of particle changes. They are cleaned up and ported over from the TGE. It's somewhat legible now, so hopefully you won't go into convulsions anymore trying to make sense of it. It is currently implemented in fixed function. I got rid of the linked list(!) of particles and replaced it with dynamic lists in each emitter. More changes coming soon including using shaders to transform the particles, drawing each emitter in a single draw call, and some other good stuff.
We've also got winWindow cleaned up a bit and DirectInput is working now.
We've also got winWindow cleaned up a bit and DirectInput is working now.
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).
#2
07/24/2004 (12:46 pm)
Good news.
#3
07/24/2004 (5:45 pm)
Groovy. You know, I really think updates like this (via post) are fantastic. I'm used to doing diffs and reading CVS logs but actual posts are so much more friendly. =D
#4
We are all very excited by the new engine and wish to give everyone at GarageGames a good pat on the back for all their hard work!
07/26/2004 (7:33 am)
I was wondering what the best way is to tell the progress that has been made on the Roadmap, or other features enhancements. It would be helpful to know what has been add to the code so we can use CVS to get the latest version.We are all very excited by the new engine and wish to give everyone at GarageGames a good pat on the back for all their hard work!
#5
Aaanyway, can anyone fill me in why the audio code is disabled? Do I smell something like upcoming SDL_Mixer support or did I just forget to shower yesterday?
08/13/2004 (11:59 pm)
Meh.. looks like TSE doesn't compile anymore since the latest changes as of 14. August... GFXHandle takes 1 parameter but is supplied with 2 - and it looks like GFXHAndle hasn't been updated to reflect these changes. Am I mistaken? STFU?Aaanyway, can anyone fill me in why the audio code is disabled? Do I smell something like upcoming SDL_Mixer support or did I just forget to shower yesterday?
#6
@Josef: GFXHandle? I don't recall there being a class of that name in TSE...
08/14/2004 (10:02 am)
@John: We try to post in the forums when we do major changes.@Josef: GFXHandle? I don't recall there being a class of that name in TSE...
#7
engine\ts\tsShapeInstance.cpp(498) : error C2665: 'GFXTexHandle::GFXTexHandle' : none of the 6 overloads can convert parameter 2 from type 'enum GFXTextureType'
A quick look into the header file reveals this:
GFXTexHandle( StringTableEntry texName, GFXTextureProfile *profile );
08/14/2004 (10:04 am)
Oops, I meant GFXTexHandle...engine\ts\tsShapeInstance.cpp(498) : error C2665: 'GFXTexHandle::GFXTexHandle' : none of the 6 overloads can convert parameter 2 from type 'enum GFXTextureType'
A quick look into the header file reveals this:
GFXTexHandle( StringTableEntry texName, GFXTextureProfile *profile );
#8
Ok, time to come clean, as it were.
Just checked in a rewrite of the texture manager. The only way to allocate textures is now through a GFXTextureHandle. This is paired with a texture profile system (implemented primarily in GFXTextureProfile) which describes how textures are used. Basically, every texture created is associated with a texture profile which describes how it is stored, if it can be scaled down, if so by how much, if mipmaps should be created, if it's a diffuse map/luminosity map/alpha map/normal map/etc.
This replaces the previous type system, which was based on pure IDs. The new system is much easier to extend and work with.
See gfxTextureProfile.h and gfxTextureManager.h for more documentation.
08/14/2004 (11:37 pm)
Grand. Are gfxTextureProfile.cpp and gfxTextureProfile.h in your project?Ok, time to come clean, as it were.
Just checked in a rewrite of the texture manager. The only way to allocate textures is now through a GFXTextureHandle. This is paired with a texture profile system (implemented primarily in GFXTextureProfile) which describes how textures are used. Basically, every texture created is associated with a texture profile which describes how it is stored, if it can be scaled down, if so by how much, if mipmaps should be created, if it's a diffuse map/luminosity map/alpha map/normal map/etc.
This replaces the previous type system, which was based on pure IDs. The new system is much easier to extend and work with.
See gfxTextureProfile.h and gfxTextureManager.h for more documentation.
#9
08/15/2004 (2:53 am)
The files are already in my project. And the scary thing is: The error went away without me touching any file. VisualC never ceases to irritate me...
#10
08/15/2004 (11:45 am)
Maybe you needed to do a clean rebuild?
#11
08/15/2004 (12:08 pm)
I did that 5 times before initially posting here. But thanks - it works now, even though I really have no clue why. Maybe clean failed to delete some stuff, who knows.
#12
08/16/2004 (12:51 am)
That's pretty odd. :-/
#13
08/16/2004 (10:02 am)
It'll come back when you least expect it. :)
#14
Anyway, about that audio thingy... anyone know why it's "disabled for now"?
08/16/2004 (10:39 am)
I know. Most certainly right when I'm doing an official release build of my game -.-Anyway, about that audio thingy... anyone know why it's "disabled for now"?
#15
in gfxD3DCardProfiler.h, change this...
...to...
...if you experience compile errors in gfxD3DCardProfiler.cc - I don't really see why the Vendor string is supposed to be a const while VersionString and CardString are not. CVS state was that of 28. August 2004.
And don't hurt me if what I wrote was BS - I have to admit that those last years with Java made me quite a little rusty in C/C++ ;)
08/28/2004 (10:47 am)
I'm back, this time with a minor one:in gfxD3DCardProfiler.h, change this...
const char * mVendorString;
...to...
char * mVendorString;
...if you experience compile errors in gfxD3DCardProfiler.cc - I don't really see why the Vendor string is supposed to be a const while VersionString and CardString are not. CVS state was that of 28. August 2004.
And don't hurt me if what I wrote was BS - I have to admit that those last years with Java made me quite a little rusty in C/C++ ;)
#16
08/30/2004 (2:47 pm)
Yeah, that's a hiccup from a exit crash fix. It's currently not quite working for VC6, Ben is on it.
#17
09/03/2004 (1:45 pm)
Should all be good now.
#18
Some bugs were fixed that were found when we ported the new particles to the XBox, so that's good - TSE benifited a bit from my short absence.
We're going to be making a change to the Milestone 1 schedule in order to get some flashy stuff going for IGC. That means that the OpenGL eveluation will be pushed to Milestone 2 while we get transparency, planar reflections, and hopefully parallax mapping going before IGC. I'll also be fixing bugs, and I haven't forgot about porting the vehicles over from TGE, I want to get that done this week.
09/13/2004 (4:59 pm)
OK, I'm back from working on Xbox stuff. I've checked in a screenshot module, so screenshots are working again. Hit ctrl-p to take your shots. It even supports antialiasing if you have it turned on. Never mind things don't quite render properly with FAAA just yet ;)Some bugs were fixed that were found when we ported the new particles to the XBox, so that's good - TSE benifited a bit from my short absence.
We're going to be making a change to the Milestone 1 schedule in order to get some flashy stuff going for IGC. That means that the OpenGL eveluation will be pushed to Milestone 2 while we get transparency, planar reflections, and hopefully parallax mapping going before IGC. I'll also be fixing bugs, and I haven't forgot about porting the vehicles over from TGE, I want to get that done this week.
#19
If you didn't already know, translucency is in, you just have to set translucent = true in the material definition to make something translucent. You can also set the translucentBlendOp to Add, Mul, or LerpAlpha to control the blending.
There's a couple of nasty bugs that have been fixed, one was a refcount problem with textures causing an intermittent exit crash. The other was a tsMesh transform bug that John Quigley found while working on Think Tanks XBox - thanks John.
Ben put in a sky glow effect and ported the precipitation for IGC, check them out, they're nifty.
Once the planar reflections are checked in, we're at milestone 1. The docs will be updated to reflect the current state of TSE. The milestone schedule will be updated with a whole bunch of changes, I'll post something when that's up.
EDIT:
Forgot to mention, the interior format will BREAK when I check in the new changes. You'll need to re-export your interiors.
10/20/2004 (10:15 am)
The planar reflections are almost ready to check in. I'll update the docs on how to set them up and use them. Unfortunately the technique I'm using only works on ps 1.4 cards and above. This situation will be remedied when I do the water code hopefully. If you didn't already know, translucency is in, you just have to set translucent = true in the material definition to make something translucent. You can also set the translucentBlendOp to Add, Mul, or LerpAlpha to control the blending.
There's a couple of nasty bugs that have been fixed, one was a refcount problem with textures causing an intermittent exit crash. The other was a tsMesh transform bug that John Quigley found while working on Think Tanks XBox - thanks John.
Ben put in a sky glow effect and ported the precipitation for IGC, check them out, they're nifty.
Once the planar reflections are checked in, we're at milestone 1. The docs will be updated to reflect the current state of TSE. The milestone schedule will be updated with a whole bunch of changes, I'll post something when that's up.
EDIT:
Forgot to mention, the interior format will BREAK when I check in the new changes. You'll need to re-export your interiors.
#20
IF you get chnace, could you post again when the planar reflections are checked in ? Thanks. :p
10/20/2004 (1:05 pm)
Transparency works great :)IF you get chnace, could you post again when the planar reflections are checked in ? Thanks. :p
Torque Owner Stefan Lundmark