Docs for writing a .dts exporter - Do they exist?
by Christopher Lohman · in Technical Issues · 03/14/2002 (12:58 pm) · 19 replies
I didn't quite know where to post this so if I have posted in the wrong forum I apologize.
I work for a company that produces a 3d modeling product. We currently export facet geometry into many other formats such as .obj, .3ds, .raw, etc. I have in fact used our product to create models, export them to Milkshape, then export from Milkshape to a .dts.
I want to ask some of our developers to write a translator for the .dts format; initially export, ultimately import. I am trying to find documentation on the .dts format that I could take to them and say "here, can you write an exporter for this".
Are there documents out there that detail everything the .dts format handles that a developer could use to write an exporter (and/or importer) for?
I don't even know what to call a document such as this so I don't know what to key in on a search engine.
I work for a company that produces a 3d modeling product. We currently export facet geometry into many other formats such as .obj, .3ds, .raw, etc. I have in fact used our product to create models, export them to Milkshape, then export from Milkshape to a .dts.
I want to ask some of our developers to write a translator for the .dts format; initially export, ultimately import. I am trying to find documentation on the .dts format that I could take to them and say "here, can you write an exporter for this".
Are there documents out there that detail everything the .dts format handles that a developer could use to write an exporter (and/or importer) for?
I don't even know what to call a document such as this so I don't know what to key in on a search engine.
#2
Is your modeling tool Open Source ? Can you tell us more about your company? GG may just (read: "will") want to speak to you !
03/15/2002 (6:47 am)
Like Dave said, the source code for the current exporters (MS & 3dMax) would be best place to start. Buy the Torque license and you will get the sources to the exporters with it.Is your modeling tool Open Source ? Can you tell us more about your company? GG may just (read: "will") want to speak to you !
#3
Our long term goal is to move to a more neutral text (or XML) format which would be much easier to export. We'd then start with the MS exporter to write a converter (or have the engine load this new format directly), and eventually migrate all tools. A bit of work :)
Anway, good luck, and don't hesitate to ask questions :)
03/15/2002 (8:16 am)
Well, yes we are interested :) And David's right, the best place to start is the MilkShape exporter. DTS is a binary format closely tied to the run-time implementation (not a good thing) which causes the exporters to do a fair amount of work. Starting with MS shouldn't be too bad though.Our long term goal is to move to a more neutral text (or XML) format which would be much easier to export. We'd then start with the MS exporter to write a converter (or have the engine load this new format directly), and eventually migrate all tools. A bit of work :)
Anway, good luck, and don't hesitate to ask questions :)
#4
03/16/2002 (2:14 pm)
Thankyou for your responses. It appears my pitch to our dev team will be a little more involved then I had thought, but some of these guys reverse engineer file formats and write exporters for them fun in their spare time so it shouldn't be that difficult. I'll let you know if anything happens.
#5
Does a document exist for the other map entity format? what is it...I forget...something like "dif"?
08/08/2003 (7:29 am)
Has anything new been written (I was prompted to write this due to the new sdk documentation) that would fulfill my need for a document that I could hand to one of my developers and ask them to write a translator that fits those needs?Does a document exist for the other map entity format? what is it...I forget...something like "dif"?
#6
08/08/2003 (9:05 am)
Sorry Chris, we still don't have anything geared towards writing dts exporters. There may be some out in the community, but I don't know of any off hand.
#7
08/08/2003 (11:33 am)
See Dave Moore...
#8
As much as I love this engine, the tedious rounds of format exchanges and trials and erros is just too much time wasted. Everything is "we are hoping and we are interested in". But where is the effort? If Garagegames don't want to waste time writing converters, or even to deal with us, then please move or bridge the file format to a text based format so it is at least possible for us in the community to write a convertor our selves. A convertor that we can really use and share and change as it fits. I really do hope this protest can make some diference, and have garagegames take the initiative in showing the community that they care.
04/26/2004 (4:54 am)
A clearly, and completely listed specification is essential, and an XML format interface for data would definetly lift us out of this dts generation and map to dif conversion hell and straight to heaven. Or even an "bridge" format that is text based is fine with me, also. An engine with an unspecified binary format, even worse, that provides no efforts in assisting and easing users' argonizing process of format exchange from the company, and no error-proof documentation, no complete tutorial is just unacceptable attitude. As much as I love this engine, the tedious rounds of format exchanges and trials and erros is just too much time wasted. Everything is "we are hoping and we are interested in". But where is the effort? If Garagegames don't want to waste time writing converters, or even to deal with us, then please move or bridge the file format to a text based format so it is at least possible for us in the community to write a convertor our selves. A convertor that we can really use and share and change as it fits. I really do hope this protest can make some diference, and have garagegames take the initiative in showing the community that they care.
#9
www.knie-pfaffenhofen.de/DTS-FileFormat.pdf
I don't think it is even in resources. I wasn't able to find it in there.
04/26/2004 (6:00 am)
If you type in "dts" for a forum search you will get seven pages to hunt through for info. It is a pain and a lot of those posts ask for .dts specs, but get no real answers. I got lucky and on the last page came across this for the author of ToolBox who is trying to finish up a .dts exporter.www.knie-pfaffenhofen.de/DTS-FileFormat.pdf
I don't think it is even in resources. I wasn't able to find it in there.
#10
We just released a Maya exporter and a Blender exporter. As part of the Maya exporter, a new DTS exporter SDK was written, dtsSDKPlus. It makes life a LOT easier for exporter writers. Are you using that? If so, how is it not meeting your needs?
If not, I'm not sure I can really have any sympathy for you. :) DTS was never designed to have people write it out directly, like XML was, so if you're trying to do that instead of using the SDK we've provided, you're probably doing the wrong thing. There are people, like James, that have written exporters in completely different languages, without special help from GG, and without using the lib, and they seem to have done just fine. (James' is good enough that we're pretty much officialy supporting it!)
In addition, Matthew Fairfax has written several classes that load non-DTS format files directly into Torque - he has a 3ds object loader and a Quake 3 BSP loader, among (no doubt) others. I don't think either took him very long to get up and running - a few months at most. He spent most of his time learning how to get stuff to work in Torque, and he was kind enough to make tutorials available on what he learned.
So the material is there for you to either integrate DTS into the modelling tool of your choice, or to load the format of your choice into Torque. It's possible to write out directly to DTS, too, as there are format docs available - and people like James who did it without any docs at all.
Obviously, if the DTS+ SDK is broken in some way, we should fix it. But it seems like everything you need to write an exporter is available, and everything you need to write an importer into Torque is also available. We could make it better but it's good enough, and I think the community would prefer we get TSE out the door first (and maybe rewrite Map2Dif while we're at it ;).
04/26/2004 (9:25 am)
James,We just released a Maya exporter and a Blender exporter. As part of the Maya exporter, a new DTS exporter SDK was written, dtsSDKPlus. It makes life a LOT easier for exporter writers. Are you using that? If so, how is it not meeting your needs?
If not, I'm not sure I can really have any sympathy for you. :) DTS was never designed to have people write it out directly, like XML was, so if you're trying to do that instead of using the SDK we've provided, you're probably doing the wrong thing. There are people, like James, that have written exporters in completely different languages, without special help from GG, and without using the lib, and they seem to have done just fine. (James' is good enough that we're pretty much officialy supporting it!)
In addition, Matthew Fairfax has written several classes that load non-DTS format files directly into Torque - he has a 3ds object loader and a Quake 3 BSP loader, among (no doubt) others. I don't think either took him very long to get up and running - a few months at most. He spent most of his time learning how to get stuff to work in Torque, and he was kind enough to make tutorials available on what he learned.
So the material is there for you to either integrate DTS into the modelling tool of your choice, or to load the format of your choice into Torque. It's possible to write out directly to DTS, too, as there are format docs available - and people like James who did it without any docs at all.
Obviously, if the DTS+ SDK is broken in some way, we should fix it. But it seems like everything you need to write an exporter is available, and everything you need to write an importer into Torque is also available. We could make it better but it's good enough, and I think the community would prefer we get TSE out the door first (and maybe rewrite Map2Dif while we're at it ;).
#11
I have to say these two words bother me a bit. If artists wanted you to be able to modify their work, they would release the original files.
04/26/2004 (10:13 am)
Quote:ultimately import
I have to say these two words bother me a bit. If artists wanted you to be able to modify their work, they would release the original files.
#12
well you get my point, import isn't solely useful for nefarious purposes...
05/09/2004 (11:21 pm)
Ah, but if you've ever worked with artists in training, heck even some pros can lose their work (or have in their up and coming days), and all they have left is the 'exported' product they've given the rest of the dev team.. (no I'm not speaking from experience :p).well you get my point, import isn't solely useful for nefarious purposes...
#13
05/10/2004 (11:00 am)
That is what CVS is for. It seems to me that the potential for abuse is greater than the potential of an artist losing their work. How many programmers do you know who need a decompiler because they keep accidentally losing their source code??
#14
05/10/2004 (11:53 am)
Good point Alex. Usually when I lose my source code (twice that I can recall so far, in several decades of software engineering) what I need is not a decompiler, but a good stiff drink.
#15
AIUI, .max files are original files, but I can't import them into anyting unless I shell out $$$$ for 3DS Max (at least, I haven't found any other solution so far) -- so for things like the buggy, being able to import would be very fine.
05/18/2004 (11:06 am)
Quote:I have to say these two words bother me a bit. If artists wanted you to be able to modify their work, they would release the original files.
AIUI, .max files are original files, but I can't import them into anyting unless I shell out $$$$ for 3DS Max (at least, I haven't found any other solution so far) -- so for things like the buggy, being able to import would be very fine.
#16
That said, we aren't setting out to alienate people who don't have every modelling package. They are really expensive and thus out of reach for a lot of casual (or starving ;) developers. Eventually we should have sample vehicles/players/items in each of the major modelling packages. Until then you can try to puzzle it out or ask a friend with max to send you screenshots of the model hierarchy so you know how to set it up in your modelling tool...
05/18/2004 (8:49 pm)
Sometimes shelling out the cash for tools is the price of doing business. :)That said, we aren't setting out to alienate people who don't have every modelling package. They are really expensive and thus out of reach for a lot of casual (or starving ;) developers. Eventually we should have sample vehicles/players/items in each of the major modelling packages. Until then you can try to puzzle it out or ask a friend with max to send you screenshots of the model hierarchy so you know how to set it up in your modelling tool...
#17
"Anway, good luck, and don't hesitate to ask questions :)"
But then:
"...I'm not sure I can really have any sympathy for you. :) "
"Sometimes shelling out the cash for tools is the price of doing business. :)"
"I don't think either took him very long to get up and running - a few months at most."
I have gotten through most of the MS3D exporter documentation and the TS, and after months of effort, I almost have an exporter working. I could understand if GG's budget didn't allow full support of this critical development issue, but the mind-numbing arrogance with which GG employees address us whenever we bring up this subject is beyond infuriating. Looks like some of these guys need a good caning before they're allowed back on the forum to work with customers.
05/29/2004 (6:56 pm)
Here's where the problem is, guys:"Anway, good luck, and don't hesitate to ask questions :)"
But then:
"...I'm not sure I can really have any sympathy for you. :) "
"Sometimes shelling out the cash for tools is the price of doing business. :)"
"I don't think either took him very long to get up and running - a few months at most."
I have gotten through most of the MS3D exporter documentation and the TS, and after months of effort, I almost have an exporter working. I could understand if GG's budget didn't allow full support of this critical development issue, but the mind-numbing arrogance with which GG employees address us whenever we bring up this subject is beyond infuriating. Looks like some of these guys need a good caning before they're allowed back on the forum to work with customers.
#18
06/18/2004 (5:11 pm)
www.garagegames.com/mg/forums/result.thread.php?qt=14219 contains some further discussion on JJ's post and the matter of exporters in general.
#19
07/01/2004 (12:13 am)
Joe Bird, thanks!
Associate David Wyand
Gnometech Inc.
I'm not aware of any docs on the DTS format, especially to the extent that you are looking for. I suspect that it will take someone in the community to write one.
In the creation of my LightWave to DTS exporter, I'm using the MilkShape code as a base. This is a good start as it covers the basic operations (geometry, textures, nodes, and animations). Then I'll have to dive into the MAX exporter and the Torque Engine code if I wish to add features that are not included in the MilkShape version.
I figure that if I can do it, then someone who is used to translating to other 3D formats should have an even better time...
- LightWave Dave