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 / Dev-C++ DarkBASIC Professional Plugin Template

Author
Message
darkdomy
21
Years of Service
User Offline
Joined: 6th Apr 2003
Location: Italy
Posted: 1st Nov 2007 22:11 Edited at: 3rd Nov 2007 16:04
hello all
help

I want the last template for dev cpp

With practical examples

help use the http://www.nuclearfusion3d.com/ajm/files/free/DBPPluginSDK.zip

in dev cpp 4.9.9.2

plese send the examples for devcpp



To me the file plugindev3.rar me is corrupt

I need ing and that was expecting something outside for dev cpp
plese help download plugindev3.rar plese send in my E-mail

hello

Anxiously awaiting BlueGUI v2

it informs to me when and ended BlueGUI v2
Eevil Weevil
16
Years of Service
User Offline
Joined: 1st Aug 2007
Location: Wherever you are, I wil follow
Posted: 4th Nov 2007 13:29
So, erm, what does this plugin do??????

Impossible? Anything is impossible. Of course it's impossible, you just have to believe in it.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 5th Nov 2007 03:15
It's not a plugin. It's meant to develop plugins for DBP. This simply provides a "software development kit" for developing plugins (I guess "Plugin Development Kit" would be more appropriate).

@darkdomy
I'm afraid I have no copy of plugindev3.rar on my hard drive, perhaps someone else has it and can send it to you.



Cheers,

-naota

"I'd newbie slap here, but I've no idea how far I'd need slap before they'd come back with a clue." - VanB
Aex.Uni forums
darkdomy
21
Years of Service
User Offline
Joined: 6th Apr 2003
Location: Italy
Posted: 5th Nov 2007 14:10 Edited at: 7th Nov 2007 11:37
Hello world

I hope that someone has the file plugindev3.rar

Alive! Send it to me and I mail via Email Or Download From Another Server, More Stable.

Hello! I look forward to more news soon!

Anxiously awaiting BlueGUI v2

it informs to me when and ended BlueGUI v2
n008
17
Years of Service
User Offline
Joined: 18th Apr 2007
Location: Chernarus
Posted: 14th Nov 2007 04:22
Whenever i try to use this, i get a stuct undefined error. And i don't have the time to sift through the header files to figure that out .

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 14th Nov 2007 08:30
a) What error do you get exactly?
b) He who cannot help himself cannot be helped by others.


Cheers,

-naota

"I'd newbie slap here, but I've no idea how far I'd need slap before they'd come back with a clue." - VanB
Aex.Uni forums
n008
17
Years of Service
User Offline
Joined: 18th Apr 2007
Location: Chernarus
Posted: 14th Nov 2007 21:47 Edited at: 14th Nov 2007 21:47
It says that all of the structures you used were not defined apparently, and what i meant was: I can't go define the struct, as i do not know how this PDK works.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 14th Nov 2007 23:15
Please show the code you used. In addition, I usually only help on my forums.

Cheers,

-naota

"I'd newbie slap here, but I've no idea how far I'd need slap before they'd come back with a clue." - VanB
Aex.Uni forums
Gamers for sale
18
Years of Service
User Offline
Joined: 19th Nov 2005
Location: Some where beneath the elements
Posted: 10th Mar 2008 02:39 Edited at: 10th Mar 2008 04:03
Is polymorphism possible using your template?

Example:

Message Box "Hello World"

and

Message Box "Hello World","Message"

How would you do it in your plugin?

Edit:
Example:
(I get an error when I do this. It should work because polymorphism is possible is c++)

DLLCMDC void Message(LPSTR message)
{

}

DLLCMDC void Message(LPSTR message, LPSTR caption)
{

}

Thanks in advance for any help.

Dark World Website Launched! http://www.darkworldengine.co.nr
[/href]Blog with updates of Dark World Launched! http://www.darkworldengine.blogspot.com
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 11th Mar 2008 22:01
Quote: "Message Box "Hello World"

and

Message Box "Hello World","Message"

How would you do it in your plugin?"

This isn't polymorphism, this is called function overloading.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 13th Mar 2008 20:53
And the problem in your example is the "DLLCMDC" modifier causes C exports versus C++ exports causing the two functions to export the same. You must use "DLLCMD" for this.

Cheers,

-naota

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Diggsey
18
Years of Service
User Offline
Joined: 24th Apr 2006
Location: On this web page.
Posted: 15th Mar 2008 12:14 Edited at: 15th Mar 2008 12:27
Or you can put a number at the end of the function, and when you create the string table, map those functions to the function name without the number

edit:
I have this really cool utility called 'StringTableMaker' and guess what it does for you

It creates both the keywords file, and a .txt file containing the string table. It automatically recognises that functions with numbers on the end where the original function has already been declared are overloads, and it even writes the keywords file so they all get written in the same line, and you get a drop down list in the IDE with all the possible functions It is very fast and will do about 100 functions in a couple of seconds. It also tells you how many functions were found, and of those, which ones were overloads

I have attached it in case you want to include it as part of your plugin template

Attachments

Login to view attachments
Gamers for sale
18
Years of Service
User Offline
Joined: 19th Nov 2005
Location: Some where beneath the elements
Posted: 20th Mar 2008 08:34
I am having problems using DirectX using your template. I defined Include DirectX and I used the device pointer you have. It crashes when I use the command in DB Pro.

Here is the source of the cls command:



Is there a way to fix these crashes?

Thanks for your help in advance!

GFS

Dark World Website Launched! http://www.darkworldengine.co.nr
[/href]Blog with updates of Dark World Launched! http://www.darkworldengine.blogspot.com
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 21st Mar 2008 02:05
What version of the template are you using?

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Gamers for sale
18
Years of Service
User Offline
Joined: 19th Nov 2005
Location: Some where beneath the elements
Posted: 21st Mar 2008 05:55
I am using the third version of the template.

What may help address my problem is an example of using some DirectX commands.

Thanks for your help in advance!

GFS

Dark World Website Launched! http://www.darkworldengine.co.nr
[/href]Blog with updates of Dark World Launched! http://www.darkworldengine.blogspot.com
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 22nd Mar 2008 22:59
Try using the fourth version, it's available at my website.

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Gamers for sale
18
Years of Service
User Offline
Joined: 19th Nov 2005
Location: Some where beneath the elements
Posted: 26th Mar 2008 20:39
I tried the forth version and no change.

Do you have an example using the DirectX device? (Not returning it as a command)

I am trying to figure out if it has anything to do with the DirectX device you returned. I have another example seperate from my DirectX command and I know it works. I moved it over to create this command and it doesn't work. I ignored the code that is needed to be setup to create the DirectX device because it is already created.

Try finding the source for the DirectX plugin (D3D). I forgot who made it.

Thanks for your help!

GFS

Dark World Website Launched! http://www.darkworldengine.co.nr
[/href]Blog with updates of Dark World Launched! http://www.darkworldengine.blogspot.com
Gamers for sale
18
Years of Service
User Offline
Joined: 19th Nov 2005
Location: Some where beneath the elements
Posted: 27th Mar 2008 20:59
I found something about the device for Dark Basic Pro update 6.7:

Quote: "Setup
-----

* Added CALLBACK code so when DBP app loses device and regains device, '?D3DDeviceLost@@YAXXZ' and '?D3DDeviceNotReset@@YAXXZ' are called
* Added CALLBACK code so when DBP app successfully resets device, then '?D3DDeviceReset@@YAXXZ' is called
* Above addition can be used by TPC DLL authors to instantly detect when the user ALT+TAB out of a full screen exclusive application
* Below code can be added to an existing TPC DLL code to export the 3 decorated functions required for the new callback system:

#define MYDLL __declspec ( dllexport )
MYDLL void D3DDeviceLost ( void );
MYDLL void D3DDeviceNotReset ( void );
MYDLL void D3DDeviceReset ( void );"


I am thinking that the device was set to null somehow. It might has lost the device at some point and it wasn't reset. Another case may be that it was lost and refound, but your plugin didn't try to reget the device.

These may be some fixes that you would need to add in your plugin to get DirectX to work.

GFS

Dark World Website Launched! http://www.darkworldengine.co.nr
[/href]Blog with updates of Dark World Launched! http://www.darkworldengine.blogspot.com
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 29th Mar 2008 02:31
To test your theory, I'd suggest using the D3D plugin. If it works, then there's something wrong in your code. If it doesn't work, then there's something wrong in my code or how my code was set up.


Cheers,

-naota

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Gamers for sale
18
Years of Service
User Offline
Joined: 19th Nov 2005
Location: Some where beneath the elements
Posted: 11th Apr 2008 22:19
How do you use your template with MCVC++? I think I got it to work although I do get one error:

LINK : fatal error LNK1561: entry point must be defined

Is there something I have to add to get it to work in MCVC++?

Thanks,

GFS

Dark World Website Launched! http://www.darkworldengine.co.nr
[/href]Blog with updates of Dark World Launched! http://www.darkworldengine.blogspot.com
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 13th Apr 2008 02:01
Make sure you're compiling a DLL, not a GUI or Console application. That's the only thing I can think of.

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 16th Apr 2008 03:17
Hey all.

I just wanted to mention that the DBP Plugin SDK version 5 is on it's way. It even features a string class, and new and improved layout. PLUS quicker compiling AND running times for those people using the "DBPCommands.h" file (By specifying "IncludeCommands") - as now all the functions in there (that are able to be) are inlined functions, so it's like calling the commands directly from DBPro which means better performance. And since they're inlined, smaller DLLs. Also, some problems in the fourth version have been fixed. Expect a release soon.

Cheers,

-naota

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 22nd Apr 2008 14:32
Quote: "And since they're inlined, smaller DLLs."

Care to explain your logic on this?

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 22nd Apr 2008 21:59
Yeah, a lot of functions end up NOT being included. Plus since their simply calling other functions, at most you're DLL will be smaller by the amount of functions there are.

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 23rd Apr 2008 07:32
Quote: "Yeah, a lot of functions end up NOT being included."

If you have optimization turned on then functions that don't get referenced are never included anyway, you don't need the inline keyword for this.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 23rd Apr 2008 21:23
-- not everyone has optimization turned on, sometimes optimization can break code --

Besides, with the inline keyword (__forceinline if MSVC++ is in use) the code doesn't get included regardless. The code for the functions in the old one are just wrappers to call the appropriate functions. So there's a performance increase in that too.

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 23rd Apr 2008 22:04
Both keywords inline and __forceinline are merely hints, and the compiler may not necessarily inline them. With MSVC++ if you don't turn optimization on it will not inline anything.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 23rd Apr 2008 22:26
http://www.gamedev.net/community/forums/topic.asp?topic_id=69377
Quote: "__forceinline basically tells the compiler to inline the function even if the compiler thinks that that is a bad idea...
The good thing is that you _know_ which functions are inlined, and which are not. If a function cannot be inlined, the compiler generates a warning, in contrast to the usual inline keyword."


I wasn't able to find anything about optimization on or off with the __forceinline keyword - I'm not at my computer so I don't have the VC++ documentation handy - except over MSDN which in all honesty is too much research for a simple post.

Cheers,

-naota

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Benjamin
21
Years of Service
User Offline
Joined: 24th Nov 2002
Location: France
Posted: 23rd Apr 2008 23:04 Edited at: 23rd Apr 2008 23:06
Well it does say something similar here: http://msdn2.microsoft.com/en-us/library/z8y1yy88(VS.80).aspx. Although still in VC++ without optimization turned on it won't do any inlining.

Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 25th Apr 2008 00:40
Are you sure about __forceinline? I'm sure it won't on inline, but still. <reads link now>

Cheers,

-naota

My email actually IS "nocannedmeat@gmail.com". Why? I don't know.
Aex.Uni forums
Gamers for sale
18
Years of Service
User Offline
Joined: 19th Nov 2005
Location: Some where beneath the elements
Posted: 14th Jun 2008 01:49
@Aaron Miller -

I have a great idea! Since, Dark Basic(DGK) is now free for c++ you can use that as a testing environment for your plugins.

If you were to create a tool for converting the code you are testing, to the code for the plugin, and generate the resource file, it would be extremely helpful!

This may be a great thing to add to version 5. Let me know when version 5 comes out!

GFS

Dark World Website Launched! http://www.darkworldengine.co.nr
[/href]Blog with updates of Dark World Launched! http://www.darkworldengine.blogspot.com
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 14th Jun 2008 02:31
I think I forgot about version 5. It's done. I just never rewrote how the string library for it works, and didn't want to.

I'll prepare the package when I get home, and next time I'm here, I'll upload it.

Can you explain what you mean a little more though, please?

Cheers,

-naota

"I used to do a lot of time travelling when I was younger. I called it 'ta-kwee-la' You would drink this potion and wake up 3 days in the future!" - Craig Ferguson
Gamers for sale
18
Years of Service
User Offline
Joined: 19th Nov 2005
Location: Some where beneath the elements
Posted: 14th Jun 2008 03:07 Edited at: 14th Jun 2008 03:08
@ Aaron Miller -

What I meant is that in Dark Basic(DGK) you could test your dll function. This would make it easier for debugging. I was just suggesting making a tool to convert DGK code to a project with the functions converted to dll functions.

For instance:


to



It would be nice to setup an environment that would allow you to test and create a dll. The converter was just an idea, so you don't have to create two projects.

I had the idea of using DGK for testing your plugin and your template to create them. I was just trying to find a way to integrate them together into one environment and one project.


Also, I was having another problem with your plugin. I was trying to return a float (from the dll into DB Pro) and it crashed. If I use and int it doesn't.

DB Pro Code:


C++ Plugin Code:


I think there was a way of returning floats using a function you created, but I haven't used it before and I don't know where to look for the documentation.

Thanks,

GFS

Dark World Website Launched! http://www.darkworldengine.co.nr
[/href]Blog with updates of Dark World Launched! http://www.darkworldengine.blogspot.com
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 14th Jun 2008 03:23
Okay, I get what you're saying now.



Should be:



Cheers,

-naota

"I used to do a lot of time travelling when I was younger. I called it 'ta-kwee-la' You would drink this potion and wake up 3 days in the future!" - Craig Ferguson
Gamers for sale
18
Years of Service
User Offline
Joined: 19th Nov 2005
Location: Some where beneath the elements
Posted: 14th Jun 2008 05:43 Edited at: 20th Jun 2008 20:33
Edit: Fixed first problem, but still have one more!

Also, directx device pointer equals null!!!!

I tried this test and the device was set to null!


It wasn't set.

I used this preprocessor: #define INCLUDE_DIRECTX

GFS

Dark World Website Launched! http://www.darkworldengine.co.nr
[/href]Blog with updates of Dark World Launched! http://www.darkworldengine.blogspot.com
Xarshi
18
Years of Service
User Offline
Joined: 25th Dec 2005
Location: Ohio
Posted: 24th Jun 2008 00:20 Edited at: 24th Jun 2008 00:32
@Aaron - I'll get this working in the MSVC++ environment if you'd like. Talk to me on aim about it if you'd like it to happen, haha, assuming of course if someone hasn't done this already.

Actual, should be fully usable in MSVC++ right now XD

WC Physics - PhysX wrapper for Dark GDK.
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 24th Jun 2008 01:32
Indeed. Version 5! Sorry it took so long, I kept on forgetting to grab it.

Cheers,

-naota

"I used to do a lot of time travelling when I was younger. I called it 'ta-kwee-la' You would drink this potion and wake up 3 days in the future!" - Craig Ferguson

Attachments

Login to view attachments
Lancewrath
21
Years of Service
User Offline
Joined: 30th Dec 2002
Location:
Posted: 13th Aug 2008 23:22
any idea why dbBitmapexist is crashing my program.



i switched dbBitmapExist with dbImageExist and it works fine, just to make sure it wasnt some syntax error or something bad on my side.

LIKE OMFG IM TEH KING OF TEH INTARWEB!
Lancewrath
21
Years of Service
User Offline
Joined: 30th Dec 2002
Location:
Posted: 13th Aug 2008 23:23
or is it maybe because i need to download that newer version you posted there?

LIKE OMFG IM TEH KING OF TEH INTARWEB!
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 14th Aug 2008 02:12
You should always download the newest version.

dbBitmapExist will fail if the DBProBitmapDebug.dll isn't included in the DBPro EXE. To ensure it's included, put this somewhere in your source code (But never call it):


If that still fails make sure that the plugin IS indeed crashing at dbBitmapExist and not at code before or after it.

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.
Lancewrath
21
Years of Service
User Offline
Joined: 30th Dec 2002
Location:
Posted: 14th Aug 2008 04:03
ah now i see why you added that line in your examples.

i didnt realize dbpro only includes whats called. heh guess im still use to blitz that includes everything unless specified otherwise.

but ya that fixed the problem. im more of a noob to dbpro than i am to c++ i sorta forgot how to make a game without OOP lol

LIKE OMFG IM TEH KING OF TEH INTARWEB!
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 14th Aug 2008 10:19
np, glad I could help.

I'll be releasing (In the next upgrade to this) some high-level classes for C++ programmers and some extra utilities too - so that should help ya out if you upgrade.

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.
Todd Riggins
19
Years of Service
User Offline
Joined: 29th Oct 2004
Location: Texas, USA
Posted: 17th Aug 2008 05:50 Edited at: 17th Aug 2008 07:27
Hi, I really want to delve into working with DBPro via MS C++ with this plugin template. I looked through the version 5 DBPCommands.h files and noticed it's not up to par with dbpro version 6.9+ commands. For example, with the SET DISPLAY MODE, DBPro takes five paramenters for it as the version 5 DBPCommands.h shows it only has 3 in one declaration and 4 parameters in another.

My question is, what's the version of DBPro will this Version 5 of the DBPro Plugin Template made for? Also, will I be able to work with the plugin template for DBPro 6.9 and up?

Thanks for any info...

Inspirational Music: Descent ][ Redbook Audio CD Soundtrack
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 17th Aug 2008 09:25
I'll release an update for the new commands as soon as possible.

It works with 6.7 and 6.8 I believe - currently.


Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.
Dark Fire
15
Years of Service
User Offline
Joined: 23rd Jun 2008
Location: In the code you write
Posted: 13th Oct 2008 03:16
I am having trouble setting up a template in MSVC++ because I have never used it before. Could you create a basic template project? It would be extremly helpful!

Thanks in advance!

Dark Fire
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 15th Oct 2008 03:09
I could if my hard drive didn't crash and I didn't lose everything. ^_^

I still have MSVC++ 6.0 and an experimental version of the latest DBP Plugin SDK if you'd like that.

Cheers,

-naota

I'm not a dictator to those that do stuff for me by will. Only those who don't.
Dark Fire
15
Years of Service
User Offline
Joined: 23rd Jun 2008
Location: In the code you write
Posted: 15th Oct 2008 09:28
@Aaron Miller - Your HD crashed! Wow. I don't know what I would do if that happened. I would lose a commercial project and other projects that I created over the years. Did you back anything up?

The experimental version would be fine. I just have no clue how to use MSVC++ and I have given up trying.

You should have my email or aim name to contact me.

Thanks,

Dark Fire
Aaron Miller
18
Years of Service
User Offline
Joined: 25th Feb 2006
Playing: osu!
Posted: 16th Oct 2008 02:57
Yup, my HD crashed, about a week ago. I've been rebuilding everything. Anything I had backed up was to my 4GB USB. Needless to say, in terms of data, that's not much. Luckily, Windows XP was installed on my 10-year old HD (from Windows 98) so it wasn't a complete loss - I had DBPro installed, MSVC++ 6.0, etc, etc. (I was more concerned about MSVC++ 6.0 to be honest).

I'll upload an MSVC++ project tomorrow if I get a chance.

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: 19th Oct 2008 17:14
Aaron, could you separate this into .cpp files and .h files please. It is a bit of a hassle if you want to use multiple .cpp files for the commands (I have too many to fit in one source file!)
Just make sure everything is 'extern' in the .h files, and that there is no actual code.

[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: 19th Oct 2008 22:26 Edited at: 20th Oct 2008 02:16
I've been planning to do that for a while, never got around to it. I know how annoying it can be, trust me. :/

Download attached for your MSVC++ 6.0 project.

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

Login to post a reply

Server time is: 2024-04-26 18:01:34
Your offset time is: 2024-04-26 18:01:34