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.

Work in Progress / Dark Basic Professional Plugin SDK (Coming for FreeBASIC!)

Author
Message
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 21st Jan 2009 02:16
DESCRIPTION
The DBPro Plugin SDK (For C++) allows you to easily write plugins for DarkBasic Pro and even provides a way to access all the commands in the language. When it was originally released it was only meant to be used with MinGW and the Dev-C++ IDE, but now it may be used with both MinGW and MSVC++. See the announcement below for what the new version will have.

ANNOUNCEMENT
I WILL BE RELEASING A NEW VERSION OF THE DBPRO PLUGIN SDK VERY SOON. It currently comes with a large set of C++ classes in it, and allows you to even import existing plugins so you can use them in your product. There are several other tools included (I may even create a plugin installer for you guys to use. ).

In addition, I will be adding support for FreeBASIC.

I posted this message in the Program Announcements as well, but I figured more people would pay attention here. Any feature requests? Go on and post.

Remember: This is FREE.

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.
Lucifer
18
Years of Service
User Offline
Joined: 26th Dec 2005
Location:
Posted: 21st Jan 2009 02:28
Sounds great! i will definitively try it out when you release it!

in Austrlia, there is a really red sun, u got a red sun in sky too?
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 28th Jan 2009 00:40
I've made a little bit of progress. Fixed a bug that was really annoying me (it was really obvious too... >_<. I would like to query the people who would use this though: Which would you prefer for the DBPro Plugin Installer? (see below).

* A .BAT file able to install plugins to the DBPro directory (it'd look something like this):
-- this file would be auto generated by some program I include. tool.getdbppath.exe is a program that would have to be included (It reads the registry for the DBPro installation path). All in all, it would be simple to use, and you could send it through GMAIL easily.

* A .EXE file -- basically the same as the above, but as a .EXE file

* A graphical .EXE file -- Provides a user interface, which actually slows down the process of installing the plugin, and makes it look not cool.

* Other? -- tell me.


Thanks

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.
Xenocythe
19
Years of Service
User Offline
Joined: 26th May 2005
Location: You Essay.
Posted: 28th Jan 2009 00:41
This is gonna be great! Though, you're killing the peeps who sell plugins


Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 28th Jan 2009 00:50
Hmm? How's that - it's a plugin development kit for C++ and FreeBASIC, it should help people sell plugins I believe (by letting them create it easier). Of course, I don't think I fully understand what you meant by that, lol.

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.
Xenocythe
19
Years of Service
User Offline
Joined: 26th May 2005
Location: You Essay.
Posted: 28th Jan 2009 01:21
That's the thing. Now all the noobs will be able to easily create the same plugins that people work so hard to make in days!

Then again, that also means your increasing potential for the plugin market, so overall this SDK is a great thing! I can't want for it's realease.


Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 28th Jan 2009 02:24
Thanks Xeno.

Releasing an SDK that works with a BASIC language, where both the SDK AND the language are free is a lot better than releasing it for a language that costs money, and having you pay to use the SDK as well, I think. Hence why I chose FreeBASIC as an additional language.

I hope other people will find this useful as well.

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 28th Jan 2009 20:01 Edited at: 28th Jan 2009 20:04
Make a wizard for Visual Studio

I made one for your other SDK, which let you pick all the different options using checkboxes, and even added pre-build commands to generate the keyword and string table files, and post-build commands to copy the compiled dll to the plugins-user directory, and the keywords to the keywords directory.

If you need any help making a wizard I can send you the code for that one.

Also, you could add options to include 'constructor', 'destructor', and dependency functions in the wizard, and make it so that the header file shows commented examples on how to make each type of command.

Also, you could make typedefs for each of DBPro's data types:


And don't forget to make the SDK work with multiple .cpp files

And fix the dbpstring function

edit:
Also, you could add an error function which shows an error message with a custom message, plus the current line number, and a function name which can be passed in.

[b]Yuor signutare was aresed by a deslyxic mud...
BOX2D V2 HAS HELP FILES! AND A WIKI!
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 29th Jan 2009 02:45
A wizard - sure. Keeping in mind I'm using MSVC++ 6.0, and the whole reason DGDK isn't compatible is the wizard systems are different. If you wanna help though, some source code would be nice.

The types - that's a good idea.


The SDK (current version, unreleased) currently does work with multiple .cpp files.

Also, returning strings works fine... Course that could just be me using the current version for so long that I must've forgotten about any old string return bugs. This is how you return a string, easily. (I'm sure there's a few other ways to use this class, but this is how I use it).

Not bad, me thinks.

Btw, Diggsey, I'm sorry I seemed to have lost that source code for that .INI thingy you made. If you just post the binary up over here (or send me a link to it) I'll just include it with the current package.

@everyone
OK, since no one has a preference on the installer, I'm making a simple console-based .EXE... MAYBE I'll make a graphical installer as well, but the current system I have works fine.

PS: I'll post a beta version up soon! Sorry for delay.

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 25th Feb 2009 03:37
Hey everybody. There's an update available. Go to my website to obtain it. Alternatively, you can download from here.

FreeBASIC support is not yet in it. It's currently in an ALPHA stage.

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.

Attachments

Login to view attachments
MoomanFL
19
Years of Service
User Offline
Joined: 12th Nov 2005
Location:
Posted: 11th Mar 2009 05:12
Aaron,

The Plugin SDK *CAN* be used with VC++2005 and 2008 with one modification. Out of the box you will get this error:

"fatal error LNK1104: cannot open file 'LIBC.lib'"

The problem is that the stuff included in LIBC.lib was moved to other libs after VC++2003. That isn't a major problem though since everything is still there in other libs. The problem is to get the compiler to stop looking for this specific lib. To do that just set the project to ignore that lib as follows:

Project Property -> Configuration Properties -> Linker -> Input -> Ignore Specific Library: LIBC.lib

On a separate issue, I got an error trying to use memblocks with v3 of the SDK in Dev-CPP, so I moved to this version using VC++. I am still getting the error. I don't know whether it is an SDK issue, or some other issue as I am using Vista.

Here is the plugin code:


It compiles fine, and DBP recognizes the command, but when it trys to run it the program crashes with an Access Violations on the memblock command. Yes, I included a dummy function with a memblock and an image command in it to make sure the DLLs are included.

I would appreciate any help to see where the problem lies with this.

Design documents?!? What design documents??? I thought we were just going to wing it!!!
Profit
18
Years of Service
User Offline
Joined: 19th Feb 2006
Location: United States
Posted: 11th Mar 2009 05:55
I like FreeBASIC.

Maybe I will try that part out once it's complete.


Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 12th Mar 2009 02:50
@MoomanFL
You didn't initialize the library.

Since you're using MSVC++, just add the following code:



If it says "InitPluginSDK" isn't a command, or there's no reference for it, look in the "DBProPluginSDK.h" file for the actual name.

@Profit
I'll try to get a FreeBASIC release out as soon as possible.

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.

Login to post a reply

Server time is: 2024-11-24 09:36:01
Your offset time is: 2024-11-24 09:36:01