Sorry your browser is not supported!

You are using an outdated browser that does not support modern web technologies, in order to use this site please update to a new browser.

Browsers supported include Chrome, FireFox, Safari, Opera, Internet Explorer 10+ or Microsoft Edge.

Program Announcements / X/3DS to DBO Converter - Use for smaller exes & faster loading

Author
Message
Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 27th Dec 2003 23:45 Edited at: 27th Dec 2003 23:46
With Patch 4, the DarkBASIC developers introduced their own 3D model format internally, one which was more powerful than existing formats and could store details such as ghosting and so on. This format is known as DBO (DarkBASIC Object).

DBO files are smaller than most other 3D model formats (about half the size of X), they also load faster because they are a native format and don't require conversion.
If you use the DBO format, you can also remove the huge conversion DLLs and various other unnecessary DLLs in order to reduce the average exe size for a 3D app down from 5.5MB to 2.97MB (1.30MB compressed)

Until now there has been no way to actually create objects in DBO format.

The X/3DS to DBO converter takes standard X & 3DS models and exports them to the DBO format, keeping animation data intact.

X/3DS converter v1.0: http://www.robertknight.me.uk/files/darkbasic/convdbo.zip

The created DBO files are stored in the same directory as the original model with a .dbo extension.
You load DBO files using the standard LOAD OBJECT() command.

Once you have converted your models to DBO, you can delete the conversion files and a few others to reduce the size of your DBPro exes:

1. Open up your Compilerplugins folder (Usually located in C:\Program Files\Dark Basic Software\Dark Basic Professional\Compiler\plugins)

2. Back up the plugins folder before you continue!

3. Delete the following files from the plugins folder:

ConvX.DLL
Conv3DS.DLL
ConvMDL.DLL
ConvMD2.DLL
ConvMD3.DLL
DBProXObjectDebug.DLL
DBPro3DSObjectDebug.DLL
DBProMDLObjectDebug.DLL
DBProMD2ObjectDebug.DLL
DBProMD3ObjectDebug.DLL


BlueGUI Plugin:http://blue.robert-knight.net / BlueIDE http://blueide.sf.net-Free Replacement editor for DBPro
Preston C
20
Years of Service
User Offline
Joined: 16th May 2003
Location: Penn State University Park
Posted: 28th Dec 2003 02:03
Ah, very nice, thanks Rob. Already downloaded and tried it out. Converted my Alien Arena model from .x to .dbo, ran it in my intersect object engine, and it loaded almost immediately. Compared to the half a second for the .x

Cheers,
Preston


Intel Celeron 1.3 Ghrz 512MB Ram NVIDIA GeForceFX 5200 128MB
ReD_eYe
21
Years of Service
User Offline
Joined: 9th Mar 2003
Location: United Kingdom
Posted: 28th Dec 2003 11:23 Edited at: 28th Dec 2003 17:23
yup, thats cool me likey!
although, i'm using a model of a tree(2 cones and a cylinder) made in wings3d the .3ds file is 4kb, the .dbo is 5kb, and the .x i have of it is 12kb and i used the .3ds to convert to .dbo. so it didn't actually reduce the filesize


GO TO THE ETERNAL DESTINY FORUMS!!! http://forums.eternaldestinyonline.com
Do it now!!!
Preston C
20
Years of Service
User Offline
Joined: 16th May 2003
Location: Penn State University Park
Posted: 28th Dec 2003 15:35
And just think Rob,with this and your technique, you must be a godsend for many people entering the competition who just need to squeeze those last few MB in their zip (or rar or 7z).

Cheers,
Preston


Intel Celeron 1.3 Ghrz 512MB Ram NVIDIA GeForceFX 5200 128MB
Xanatus
21
Years of Service
User Offline
Joined: 15th Mar 2003
Location: Germany
Posted: 28th Dec 2003 17:28
Hi, is there any way to find out the structur of .dbo files? i ask in order to write an own import/export plugin for other editors eg. milkshape

Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 28th Dec 2003 18:24
Hi Xanatus,

Just email Mike for the DBO documentation: mike@thegamecreators.com


BlueGUI Plugin:http://blue.robert-knight.net / BlueIDE http://blueide.sf.net-Free Replacement editor for DBPro
Mattman
20
Years of Service
User Offline
Joined: 5th Jun 2003
Location: East Lansing
Posted: 28th Dec 2003 18:45
cool!

I am mischeivious
RoooooOoooooKoooooKoooooRoooooOoooooKoooooKooooo!
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 28th Dec 2003 20:34


At last - cant believe it's here! - will download now...

you mention you can use standard Load Object command and DBPro will recognise .dbo files...??? what about Append Object??????

Please say it will also work,
P.S. Moderators - why isnt this groundbreaking program centre stage on the main threads?
Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 29th Dec 2003 02:52
@Duffer

Yes, you can load and treat DBO objects just like X objects.


BlueGUI Plugin:http://blue.robert-knight.net / BlueIDE http://blueide.sf.net-Free Replacement editor for DBPro
Ian T
21
Years of Service
User Offline
Joined: 12th Sep 2002
Location: Around
Posted: 29th Dec 2003 06:12
Thanks Rob !

--Mouse: Famous (Avatarless) Fighting Furball

I am the chainsaw paladin.
jrowe
21
Years of Service
User Offline
Joined: 12th Oct 2002
Location: Here
Posted: 29th Dec 2003 21:31 Edited at: 29th Dec 2003 21:33
WOW! I will definitely download this.
One of TGC said a while back the file structure of DBO files may change with each new patch. This is why they're not releasing their own DBO converter until they're sure the DBO format will not change. Presumably you're going to update this with every patch until they release their own?

For Fathers and Sons who enjoy wholy spirits.
http://www.tinnedhead.tk
http://www.exor-mk1.tk
AlecM
21
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Concord, MA
Posted: 29th Dec 2003 22:49 Edited at: 30th Dec 2003 01:02
really nice work. Might not be the best time to release this though.

[P4 2.8C @ 3.03 with an 866mhz FSB:: MSI Neo-2LS running PAT:: 1gb Mushkin PC-3500 DDR High Perf level 2@ 2,2,2 :: ATI Radeon9800ProAIW :: 120Gb SeagateBarracuda 7,200RPM SATA HD :: Antec Plus1080AMG]
Philip 1337
21
Years of Service
User Offline
Joined: 27th Aug 2002
Location: United Kingdom
Posted: 29th Dec 2003 23:37
@Rob

Thanks, I've now added support for dbo files in 3D Viewer LOL

the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 30th Dec 2003 00:22 Edited at: 15th May 2004 18:55
You can easerly use this to move the dlls in and out of the plugins folder.
http://winch.dbspot.com/dll_move.php
Saves you having to delete/move/bakup them by hand.

[beat the machine that works in your head]
Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 30th Dec 2003 01:24
@jrowe

I can easily change this program to work with an updated DBO format.


BlueGUI Plugin:http://blue.robert-knight.net / BlueIDE http://blueide.sf.net-Free Replacement editor for DBPro
adr
20
Years of Service
User Offline
Joined: 21st May 2003
Location: Job Centre
Posted: 30th Dec 2003 12:24 Edited at: 30th Dec 2003 12:26
I read the suggestions over at LLRGT about specifying the DLLs for inclusion at compile-time. This makes a lot of sense, cheers to uwdesign ....

I've never actually used the compiler through the command line, but I'm pretty sure it wouldn't be too hard to pass a cmdline parameter like

--include-dll=Conv3DS.DLL,ConvX.DLL,ConvMDL.DLL.

How do we make these suggestions a bit more official?

---------------------------

Admittedly, such a thing would make the bundled IDE brokededed, so I guess it's best to make it require all dlls if none are specified.

Can I ask you a Question?
What is it?
It's an interrogative form of sentence, used to test knowledge. But that's not important right now.
Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 30th Dec 2003 15:37
@adr

It should be a parameter in the project file, not the commandline. The original editor tries to ammend files so entries such as

includedll=DBProBasic3DDebug.dll

will still stay there even if the editor doesn't know what it is for. The downside is that Guy's approach sometimes results in corrupted project files.


BlueGUI Plugin:http://blue.robert-knight.net / BlueIDE http://blueide.sf.net-Free Replacement editor for DBPro
adr
20
Years of Service
User Offline
Joined: 21st May 2003
Location: Job Centre
Posted: 30th Dec 2003 17:56
So even if I remove those dllinclude entries from the .dbpro file, the original IDE will put them back in?

I'm assuming your editor doesn't do that

Can I ask you a Question?
What is it?
It's an interrogative form of sentence, used to test knowledge. But that's not important right now.
Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 30th Dec 2003 20:16
No, no. What I am saying is that whereas my editor deletes and recreates the .dbpro file from scratch each time you save, the default one tries to edit the existing file, so entries like "dllinclude" won't be lost even if the editor doesn't recognise them.


BlueGUI Plugin:http://blue.robert-knight.net / BlueIDE http://blueide.sf.net-Free Replacement editor for DBPro
Andy Igoe
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: United Kingdom
Posted: 31st Dec 2003 17:00
Just before DBC was laid to rest it suddently started producing really big .exe files. We where told that DBP would only include commands used within our programs and give us smaller .exe's than classic did.

I always wondered where these small .exe's where supposed to be, now I finally know! It seems this feature was never properly implemented, but at least it is possible and now that I know how I have started just dragging unused .dll's into a seperate folder, it's a quick and easy solution.

On the subject of the object convertor i've used it on about 20 objects so far and it only crashed out on the 1 object - which eventually turned out to be a corrupt file but I didn't realise because the convertor crashed silently.

It works a treat and the converted objects seem to load faster which is sweet

It worries me though that I cannot use .dbo format natively in any other program yet so i'm wondering if a reverse conversion tool might be sensible too - because what happens if I loose the original media for an object? I cannot then make a fresh .x object from a .dbo file.

Is that perhaps a good idea for expanding this little tool?


God created the world in 7 days, but we're still waiting for the patch.
Surreal Studio IanG
20
Years of Service
User Offline
Joined: 21st Sep 2003
Location: Cyberspace...I think
Posted: 31st Dec 2003 18:53
I agree with andy.
Rob K get writing!!!

Flick that switch...*BANG*...Not that one!
Oryaaaaa
21
Years of Service
User Offline
Joined: 20th Mar 2003
Location: Aichi-ken, Japan
Posted: 1st Jan 2004 03:43
Great jobs

Thank you

Basic runs even if English is unskilled.
D Man
21
Years of Service
User Offline
Joined: 3rd Oct 2002
Location: Germany
Posted: 4th Jan 2004 14:36
@Andy Igoe: You could simply load it into DBP, make a mesh from the object and save the mesh as x-file.

God is real, unless declared integer.
Cliff 3degs network
20
Years of Service
User Offline
Joined: 23rd May 2003
Location: Sweden
Posted: 4th Jan 2004 14:54
iam downloading this right away to se if it can increase my speed on my game.
thanks rob.

Wannabe coder?
Cliff 3degs network
20
Years of Service
User Offline
Joined: 23rd May 2003
Location: Sweden
Posted: 4th Jan 2004 15:36
Not much but always something i increased the game speed with 1-2 fps
one step in my game optimisation.
decreased the loading with about 15-20 %.
didt notice that much as i use the clone object function and only loads each object once.

Wannabe coder?
Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 4th Jan 2004 20:44
@ Andy & Phoenix - think you're talking about a Save Object *.dbo (saving not just mesh data, but texture, shader, mapping, limb, ghost and animation data ie. outstandingly better than Save Mesh D Man!).

I understand that Save Object is on its way with Upgrade 6 @ mid February 2004. I think we may all have to wait til then. I've downloaded the .dbo documentation and certainly I wouldnt want to code the function to save a .dbo file in the meantime! ...

@ RobK... that is, unless you ALREADY HAVE a save object .dbo function Rob??? Do ya?

P.S. I have exported as .x and now saved as .dbo various frames for walking, running and jumping for a modified poser3 lowpolycount (although it's v high for dbpro!!!) as INDIVIDUAL .dbo files (ie. walk_01.dbo, walk_02.dbo etc etc).

When U6 and Save Object come in I was thinking of Appending walk_01.dbo, walk_02.dbo etc etc to the original low res 3d character (same limb data) by way of Append Object and then saving out the amalgamated 3d object as one .dbo file (ie. including running animation, walking animations etc) and then other 3d objects could steal the animation frames from that - Rob... will that be feasible under U6???
walaber
20
Years of Service
User Offline
Joined: 22nd Oct 2003
Location: Los Angeles, CA
Posted: 5th Jan 2004 11:23
I just downloaded the .dbo convertor, but my computer says the ZIP file is corrupt... any ideas?

Go Go Gadget DBPRO!
Ian T
21
Years of Service
User Offline
Joined: 12th Sep 2002
Location: Around
Posted: 5th Jan 2004 16:20
Andy-> DBP does make small .exe files. Compile a program with the commamd 'end' and you'll notice it's 200kb in size. Not very small, but not large. It's just the command sets tie into each other so much you often begin including all of them in your .exe just using some 3d. Obviously this removes a lot of bulk....

--Mouse: Famous (Avatarless) Fighting Furball

I am the chainsaw paladin.
Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 5th Jan 2004 18:16
@walaber

Try downloading the file again - it sometimes happens with my host.


BlueGUI Plugin:http://blue.robert-knight.net / BlueIDE http://blueide.sf.net-Free Replacement editor for DBPro
walaber
20
Years of Service
User Offline
Joined: 22nd Oct 2003
Location: Los Angeles, CA
Posted: 6th Jan 2004 01:49 Edited at: 6th Jan 2004 01:59
Rob K - downloaded fine this time- thanks!

[edit]
just tried it out, and whoah!! I made a simple test with loading the same object 50 times, comparing .X and .DBO files, the results are amazing!

.x model: 3255 milliseconds
.dbo model: 50 milliseconds

fantastic!!



can't wait for Update 6... looks like DBPro is just getting better and better!!!!

Go Go Gadget DBPRO!
Red general
21
Years of Service
User Offline
Joined: 19th Nov 2002
Location: United Kingdom
Posted: 12th Jan 2004 20:30
I have a problem, whenI try it on my XP machine, the program keeps crashing/freezing and will not convert. Any ideas?

RED GENERAL

My computer melts regulary - perhaps it likes being fondue
AlecM
21
Years of Service
User Offline
Joined: 26th Aug 2002
Location: Concord, MA
Posted: 12th Jan 2004 22:19
What exactly will this load from a .x model? Vertex colors, vertex alpha...?

[P4 2.8C @ 3.03 with an 866mhz FSB:: MSI Neo-2LS running PAT:: 1gb Mushkin PC-3500 DDR High Perf level 2@ 2,2,2 :: ATI Radeon9800ProAIW :: 120Gb SeagateBarracuda 7,200RPM SATA HD :: Antec Plus1080AMG]
Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 13th Jan 2004 00:11
It can load whatever DarkBASIC Pro U5.2 can load.

@Redgeneral

What OS are you running?


BlueGUI Plugin:http://blue.robert-knight.net / BlueIDE http://blueide.sf.net-Free Replacement editor for DBPro
Red general
21
Years of Service
User Offline
Joined: 19th Nov 2002
Location: United Kingdom
Posted: 13th Jan 2004 13:19
I am running windows xp on my machine and it allows you to start up the program and to select a file to convert and once selected it crashes.

On my windows 98 machine, it performs an illegal operation and closes down before anything can happen.

I have downloaded it more than once incase of there being an error in downloading but I am always faced with the same problem

RED GENERAL

My computer melts regulary - perhaps it likes being fondue
Andy Igoe
21
Years of Service
User Offline
Joined: 6th Oct 2002
Location: United Kingdom
Posted: 13th Jan 2004 19:35
Walaber, you should start any speed test with a 1-2 second pause because DBP apps tend to have a short pause just after they start executing and that can spoil a speed test if it is already underway. Or perhaps that is just my computer... ?


God created the world in 7 days, but we're still waiting for the patch.
walaber
20
Years of Service
User Offline
Joined: 22nd Oct 2003
Location: Los Angeles, CA
Posted: 14th Jan 2004 05:51
Andy- thanks for the tip... I'll try it when I get home, but the results are still amazing... I can't wait for update 6 and full implementation of the .dbo system... hopefully we will get vertex colors, and multiple UV coordinates!!

Go Go Gadget DBPRO!
Surreal Studio IanG
20
Years of Service
User Offline
Joined: 21st Sep 2003
Location: Cyberspace...I think
Posted: 30th Jan 2004 22:20
can u release the source code

Flick that switch...*BANG*...Not that one!
Rob K
Retired Moderator
21
Years of Service
User Offline
Joined: 10th Sep 2002
Location: Surrey, United Kingdom
Posted: 30th Jan 2004 22:29 Edited at: 30th Jan 2004 22:34
Sure.

Before you ask "HEY! - WHERE IS THE DBO SAVING CODE?" - the answer is that there isn't. ConvDBO is a fairly simple app I needed to knock up in a few minutes so it just uses the SAVE OBJECT command. (via a simple hack of the DLL stringtable)

To compile the code you will need:
(1) - BlueGUI
(2) - Hacked 3D DLL.


BlueGUI Plugin:http://blue.robert-knight.net / BlueIDE http://blueide.sf.net-Free Replacement editor for DBPro
HexFex
20
Years of Service
User Offline
Joined: 27th Oct 2003
Location: Germany
Posted: 31st Jan 2004 00:08
WooHoo! Thanks Rob!

phun...
Hex
The admiral
21
Years of Service
User Offline
Joined: 29th Aug 2002
Location:
Posted: 31st Jan 2004 06:33
How do you convert the programme just closes when i open it.

[href]www.vapournet.com/~flyer[/href]
Surreal Studio IanG
20
Years of Service
User Offline
Joined: 21st Sep 2003
Location: Cyberspace...I think
Posted: 31st Jan 2004 15:33
i'll try that - thanks

Flick that switch...*BANG*...Not that one!
Surreal Studio IanG
20
Years of Service
User Offline
Joined: 21st Sep 2003
Location: Cyberspace...I think
Posted: 31st Jan 2004 15:37
Quote: "(2) - Hacked 3D DLL"

where do u get this from? how do u do it?

Flick that switch...*BANG*...Not that one!
spygamer
20
Years of Service
User Offline
Joined: 17th Oct 2003
Location:
Posted: 31st Jan 2004 20:45
This is great, can't wait to download it! Thanks Rob K!

I trying to be a moderator. I'm nice and cool 24/7.
Marvey
21
Years of Service
User Offline
Joined: 15th Oct 2002
Location:
Posted: 31st Jan 2004 21:06
Great Work
the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 1st Feb 2004 02:18 Edited at: 1st Feb 2004 02:55
Quote: "where do u get this from? how do u do it?"


Add "SAVE OBJECT%SL%?Save@@YAXKH@Z%" to the string table of DBProBasic3DDebug.dll with a resource editor.
Surreal Studio IanG
20
Years of Service
User Offline
Joined: 21st Sep 2003
Location: Cyberspace...I think
Posted: 1st Feb 2004 13:27
thanks winch i'll try that

Flick that switch...*BANG*...Not that one!
the_winch
21
Years of Service
User Offline
Joined: 1st Feb 2003
Location: Oxford, UK
Posted: 1st Feb 2004 16:53
Actually just thought of what may be an easier way.
When dbpro exes run they create a dbpdata dir in your temp folder and extract all dlls/media there.
So if you find your temp dir and delete all the leftover dbpdata dirs. You should then be able to run robs convdbo.exe which will then create a dbpdata dir in your temp folder with the already modified dll in. Just copy it then use it to repace your dll in the compiler\plugins dir.
Proberly best to backup your dll first incase rob is using a different version than you are and it doesn't work.
Surreal Studio IanG
20
Years of Service
User Offline
Joined: 21st Sep 2003
Location: Cyberspace...I think
Posted: 1st Feb 2004 18:45
already done the previous winch (with resource hacker - I knew i had a reason for buying PCFormat)

thanks

Flick that switch...*BANG*...Not that one!
Xander
21
Years of Service
User Offline
Joined: 3rd Mar 2003
Location: In college...yeah!
Posted: 2nd Feb 2004 03:48
I assume this is DB Pro only... It will be useful when I convert Firewall to Pro anyway.

Thanks Rob, a great contribution to the DB community

Xander Moser of Bolt Software
Firewall: Your Computer's First Defense - Real Time Strategy game
[href][/href]
IanM
Retired Moderator
21
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 3rd Feb 2004 20:31
Rob, is it possible to get the converter to use a little less system time? While this is running it is impossible to run anything else

For free Plug-ins, source and the DBPro Interface library for Visual C++ 6 and .NET
http://www.matrix1.demon.co.uk

Login to post a reply

Server time is: 2024-05-08 00:41:39
Your offset time is: 2024-05-08 00:41:39