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.

Dark GDK / Can the Third Party commands be called directly from DGDK?

Author
Message
gameboy
20
Years of Service
User Offline
Joined: 13th Jul 2004
Location:
Posted: 2nd Mar 2007 14:11
All third party add-on packs for DB Pro are just DLL's that expose functions to DB Pro, aren't they?

If so, isn't it possible to just load the DLL's in DGDK and call their functions directly using DGDK commands?

If not, what must be done to make their functionality available to DGDK or DGDK.NET?
gameboy
20
Years of Service
User Offline
Joined: 13th Jul 2004
Location:
Posted: 2nd Mar 2007 19:29
What, no one knows?

Any TGC developers want to respond?
eagle scout 316
17
Years of Service
User Offline
Joined: 26th Feb 2007
Location: Northeast Ohio
Posted: 2nd Mar 2007 20:06
If i had to guess, and it's a big guess, i'd say it's possible but of course i haven't managed to produce even the tutorial in DGDK.NET yet. If the plugins ARE DLL files and there's nothing intricate between them and DB Pro, you should be able to call their functions same as any other DLL but you'll have to figure out what their true function names are, they could be named different from what DB Pro displays.
IanM
Retired Moderator
22
Years of Service
User Offline
Joined: 11th Sep 2002
Location: In my moon base
Posted: 2nd Mar 2007 20:10
As long as the DLL itself doesn't rely on DBPro DLL's then the answer is probably yes, as long as the core pointer is passed to the DLL correctly.

If the DLL does rely on the DBPro DLLs, then no because there are no DBPro DLL's with the GDK.

Mike Johnson
TGC Developer
22
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 2nd Mar 2007 20:19
Right now the TGC developed plugins rely on information coming from the DB Pro DLLs. They will need to be modified to work correctly with the GDK. This is something we are looking into.
gameboy
20
Years of Service
User Offline
Joined: 13th Jul 2004
Location:
Posted: 2nd Mar 2007 20:50 Edited at: 2nd Mar 2007 20:53
Thanks for the response, guys.

It sounds like the way things currently stand, functions in the add-ons that were written in DB Pro probably couldn't be called directly from the DGDK. I was afraid of that...

@Mike Johnson: Since DB Pro is written in C++, why can't its functionality be immediately available to DGDK users via a DLL at the same time a new version of DB Pro is released, usable by simply calling them from the DGDK (i.e. not needing to rely on DB Pro at all)?
Mike Johnson
TGC Developer
22
Years of Service
User Offline
Joined: 13th Sep 2002
Location: United Kingdom
Posted: 2nd Mar 2007 20:59
The source code for these expansion packs often rely on certain functionality within DB Pro. This is currently handled using function pointers and it will link into whatever DLLs it needs to. For the GDK we need to alter this so it links into a different set of functions. There are some other things to be sort out as well such as function return values and dealing with strings. In most cases this means a minor update to the source code so we can get things set up in the GDK. Then all we do is have an #ifdef block and when we compile for the DLL we use one set of function pointers and when compiling for the GDK user another set. We also have to consider getting documentation converted to show the GDK syntax and also examples and tutorials. This is probably where most of the time will end up being spent in converting these plugins.
gameboy
20
Years of Service
User Offline
Joined: 13th Jul 2004
Location:
Posted: 2nd Mar 2007 21:51 Edited at: 3rd Mar 2007 04:20
Thanks for the info, Mike. I haven't quite committed to purchasing the DGDK yet - I would like to, but I would also like to be able to use all the great functionality found in the add-ons with it as well (the latest being that cool Enhanced Animation DLL, among others, e.g. Styx, Dark Shader, etc.).

It sure would be nice if one of those automated documentation generators (which rely directly on source code) like doxygen could be used to help ease the burden of creating updated documentation. Of course, it may not help as much in creating examples and tutorials. [Edit] I came across this tool, called Understand for C++, which it says:
Quote: "Understand for C++ quickly documents Class inheritance hierarchies (Base Class and Derived Classes), Call and CallBy Trees, Include and Include By Trees, as well as where and how everything in your source code is used (cross reference). Understand for C++ creates detailed automatic documentation about your source code in HTML and text reports Using the PERL and C API you can write your own documentation generators."
It has a free download if you care to try it out.

In light of current development tools and methods, the DB Pro compiler is really starting to show its obsolescence (no object-orientedness, no incremental compiling or loading of pre-compiled modules to shorten compile times, etc.). Being able to use ALL the functionality that DB Pro and its add-ons offer from a modern IDE seems to be a more necessary thing to have, at least in order to produce larger programs needed for most serious commercial games. I was hoping the DGDK would answer these concerns, but for now it seems DB Pro itself is the stumbling block. Perhaps this could be addressed in the future, with either a more robust DB Pro X10 (complete with modern compiling features mentioned above), or a better way of "porting" DB Pro to DGDK (or just releasing DGDK as your flagship product) in the future.
Miguel Melo
19
Years of Service
User Offline
Joined: 8th Aug 2005
Location:
Posted: 2nd Mar 2007 23:01
I am sometimes accused of badmouthing every single thread I step into (which I feel is for the most part unfair ) but in this instance I wanted to take the opportunity to thank Mike for the degree of involvement in the GDK forums he's shown of late.

The sort of openness and willingness to "lift the veil" on how some of the things are done in the GDK is very refreshing and makes the DGDK users (or at least myself) feel respected and valued.

Thanks mate.

I have vague plans for World Domination
Zumwalt
17
Years of Service
User Offline
Joined: 1st Feb 2007
Location: Tampa, FL
Posted: 2nd Mar 2007 23:01
They are what they are, I own all of them.
If you want OOP, get either DGDK.Net or DGDK for C++.
DBPro might not be true OOP in the sense of classes and the like, but its easy enough to use.

I have written working applications now in DGDK C++, DGDK.Net using VB.Net 2003/2005, C# 2003/2005, so its now just a matter of time to get the updated (translated or whatever) plugins.
gameboy
20
Years of Service
User Offline
Joined: 13th Jul 2004
Location:
Posted: 2nd Mar 2007 23:34
Zum, I hear ya. I agree that DGDK.Net or DGDK.C++ is the way to go for serious development. It would be great if all the plug-ins get updated to work with the DGDK, but that will not necessarily happen. My original question in this post was to see if there was a way we could use them from DGDK apps, even if their authors never designed them to work specifically with the DGDK. It just seems that there is so much potential functionality already created that is unavailable to DGDK users. Well, perhaps things will change in the future. We'll see.

Login to post a reply

Server time is: 2024-09-28 23:14:33
Your offset time is: 2024-09-28 23:14:33