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.

DLL Talk / Learning to develop Plugins and Wrappers

Author
Message
Neco
16
Years of Service
User Offline
Joined: 13th Jul 2008
Location: Waterloo, Wisconsin USA
Posted: 15th Dec 2010 01:01
I'm just wondering what the recommended reading on this topic would be? Sometimes I feel quite constrained by what DBP offers, and am not always satisfied with the user implementations (or complete lack of) that are available, or those that have become plain outdated and are no longer developed.

I also think it would be a neat learning experience for me, if I could manage to get started and keep going. I know there are quite a few things I might like to try and wrap for fun (and who knows might even be useful!), and taking a stab at writing my own personal tools would be an interesting experience too.

What is the required reading? I know there are a few documents out there, but I'm not sure where to find them? And being that DBP is written in C (If I recall correctly?) would it be best to stick to that and ignore C++ ? What is the recommended "minimum" fuss compiler/IDE to work with ?

I have some basic experience in several languages, and I would like to think I know some of the more important basic concepts. Hopefully working with C or C++ would only be a matter of adjusting to the new syntax, and unique quirks that may come with either language.

So where should I start with plugin development/wrapping ?

Sven B
19
Years of Service
User Offline
Joined: 5th Jan 2005
Location: Belgium
Posted: 15th Dec 2010 10:45
Well, first of all you'd need at least some knowledge of C++.

After that, try to find the dbpsh.h and globstruct.h files on this forum, and download the latest DirectX SDK.
Afterwards, you create a new project (use DLL option when creating the project) and include dbpsh.h, globstruct.h and d3d9.h. If you're using MSVC++ Express, then you'll have to specify the DirectX SDK include and library folder in the project properties. (Project > Properties > VC++ Directories and then add the directories in Include Directories and Library Directories). Those directories can be found where you installed the DirectX SDK and are called include and lib.

After that, read DBP's TECHNICAL DOCUMENTS > Third Party Commands for the specifics about creating a DLL for DBP. And also read this to build your stringtables if you're using MSVC++ Express.

I don't think there should be anything else you will need to make your own plugin. Try to keep it simple for starters, it will make it easier to debug.

Cheers!
Sven B

Neco
16
Years of Service
User Offline
Joined: 13th Jul 2008
Location: Waterloo, Wisconsin USA
Posted: 15th Dec 2010 16:21 Edited at: 15th Dec 2010 16:24
Yeah if I get to the point where I can start coding (that's a lot of setup, heh) I will probably just try some basic stuff like making a printing function, and move on from there, in order to get my "footing" as it were..

I may have VS2009 or 2010, I'm not sure (have to look through my vast collection of unused crap). Would it be better to use one of those, or just go download express?

I have a Teach Yourself C++ 6th Edition by Al Stevens (ISBN: 0-7645-4634-1), book, so hopefully that will help me out enough.

Sven B
19
Years of Service
User Offline
Joined: 5th Jan 2005
Location: Belgium
Posted: 15th Dec 2010 18:46
Quote: "I may have VS2009 or 2010, I'm not sure (have to look through my vast collection of unused crap). Would it be better to use one of those, or just go download express?"


Both are fine. I think there are some small differences, but I'm sure there are people using VS instead of VS Express.
As for C++, I got pretty much all my knowledge of the language from here. It might as well be a good extra reference. It also has a reference for standard C libraries which often comes in handy.

Cheers and good luck!
Sven B

Duffer
21
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 16th Jan 2011 11:21
@ Neco,

You could 'cheat' like I have, purchase PureBASIC and then the PurePLUGIN utility for DBPro. Create your new plugin commands/functions within PureBasic as Procedure CDLLs...?

I have also developed a utility to help with creating .rc resource files and keywords .ini file for PureBasic/PurePlugin projects:-

http://forum.thegamecreators.com/?m=forum_view&t=180153&b=8

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...

Login to post a reply

Server time is: 2024-11-21 14:49:07
Your offset time is: 2024-11-21 14:49:07