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.

PureGDK / DarkCLOUDS

Author
Message
aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 9th Dec 2009 21:52
Is it possible that this plugin for DBPro works with PB or the PureGDK? If not, any future ideas for inclusion with PureGDK?

Russell B. Davis/aerostudios
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 10th Dec 2009 01:16 Edited at: 10th Dec 2009 01:17
If you purchased "PureGDK - Upgrade" then the compiler should be compatible if you use it with the latest version of DBP. There is no built-in support for this library so you will have to compile it yourself using TailBite (a tool for PureBasic).

The process is simple, requires no programming knowledge (you just edit a text file). The instructions on how to do this are in the PureGDK help file.

aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 15th Jan 2010 22:19 Edited at: 15th Jan 2010 22:19
Hey Mistrel, I did explore the example for creating plugins for PureGDK. DarkCLOUDS.DLL looks to be a very different animal. There appear to be numerous DLLs involved in that plugin. I don't think I want to attempt at creating that. So any help you or someone else could provide would be very much appreciated. Heck, I'd even pay for a version compatible for PureBasic, if it was to be created. That is the only remaining plugin for my DBPro that I am unable to use at the moment with PB.

Russell B. Davis/aerostudios
azzido
12
Years of Service
User Offline
Joined: 16th May 2008
Location:
Posted: 16th Jan 2010 00:06
sorry but i donĀ“t have the clouds plugin yet - maybe to a later time - so i have a need for die lib also
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 16th Jan 2010 02:45
I haven't looked at DarkClouds but if it's multiple DLLs in the same way Extends is, you just have to convert them one at a time. Try doing that.

Try and see if you can get it working at all. If not, send me what you've done and I'll take a look at it.

aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 18th Jan 2010 16:59 Edited at: 18th Jan 2010 17:02
If I use the Resource Hacker, following the AdvanceTerrain example and open the DarkCLOUDS.DLL, here is what I find in the String Table:



There are also entries for

RCData
Version Info
and then something labeled '24'

Russell B. Davis/aerostudios
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 21st Jan 2010 02:39 Edited at: 21st Jan 2010 02:39
Drop it into something like Notepad++ to see the string tables. The licensed plugins don't have normal dll resources.

aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 21st Jan 2010 04:22
hmm..I'm not sure what you mean, but I'll take a look at it. Thanks.

Russell B. Davis/aerostudios
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 21st Jan 2010 04:24
The string tables are encoded as a binary resource which Resource Hacker can't understand. So in this case you have to dump it into a text editor and extract the information you need that way.

aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 21st Jan 2010 04:40
okay, maybe I'm getting somewhere. I did locate this in the DarkCLOUDS.DLL



Russell B. Davis/aerostudios
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 21st Jan 2010 04:44
That's it. You mentioned several DLLs. Is that all there is for the commands or are there more? You may only need to wrap just DarkCLOUDS.dll.

aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 21st Jan 2010 04:54
as far as I know, that is all of the commands that are available with that plugin. Now, translating those, I will have to read up more about the process, or ask for more guidance on your part. I really appreciate your help so far.

Russell B. Davis/aerostudios
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 21st Jan 2010 05:06 Edited at: 21st Jan 2010 05:07
I'm more than happy to help answer any questions. It's impossible for me to keep up with everyone's favorite plugin or when something new comes out; which is why I wrote the plugin framework in the first place.

That's why I ask people to try to get as far as they can before I'll look at the problem.

aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 21st Jan 2010 05:24
okay, it's getting late here (10:30 PM), and I will explore this tomorrow and see how far I can get. I know the values that should be passed to each function call, so it shouldn't be that difficult. Thanks for pointing me in the right direction.

Russell B. Davis/aerostudios
aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 22nd Jan 2010 18:12
Mistrel,

Okay, I've almost got this converted for PB. But, this one line on my .gdt file is giving me problems.

dcSETAUTOBRIGHTNESS%D%?DCSetAutoBrightness@@YAXE@Z%Auto.d

the value to be passed to this function is a True/False. I'm not sure a '.d' variable type is the proper value here.

For now, I am just remarking out this line and the rest of it is compiling okay.

What are your thoughts? Thanks.

Russell B. Davis/aerostudios
aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 22nd Jan 2010 19:29 Edited at: 22nd Jan 2010 19:30
Another question concerning the 'texture backdrop' command in DBPro vs. PureGDK.

Is there no equivalent in the PureGDK for this command? like dbTextureBackDrop(image #)? In trying to convert the DarkCLOUDS plugin for PureBasic, this command is being used in the DarkCLOUDS DBPro example, and I am trying to use it as a test for my converted plugin.

Russell B. Davis/aerostudios
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 22nd Jan 2010 19:37 Edited at: 22nd Jan 2010 19:45
The dbTextureBackdrop command was noted in the help files as obsolete and to be removed in a future version. So I didn't implement it.

Then it was instead put back as an official command. The next version of PureGDK will have it added back.

In the meantime, you can use the same method for plugin wrapping to create a dbTextureBackdrop command. This is the same method PureGDK will be using internally for all future versions.

The string table entries can be found in "DBProCameraDebug.dll":

TEXTURE BACKDROP%L%?BackdropTexture@@YAXH@Z%Image Number
TEXTURE BACKDROP%LL%?BackdropTexture@@YAXHH@Z%Camera Number, Image Number

So it would be:

dbTextureBackdrop%L%?BackdropTexture@@YAXH@Z%ImageID.l
dbTextureBackdrop2%LL%?BackdropTexture@@YAXHH@Z%CameraID.l, ImageID.l%ImageID.l, CameraID.l

Remember, parameters must be reordered so that optional parameters are always at the end.

aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 22nd Jan 2010 19:45
Does that mean I would have recompile the DB plugin using Tailbite as I have been doing for DarkCLOUDS?

Also, I just wrote to the people who create the DarkCLOUDS plugin to get clarification about the SET AUTO BRIGHTNESS function. I don't think a 'Double' variable can be used for a True/False parameter. I tried using an integer, but GDKBuilder didn't like that either.

Russell B. Davis/aerostudios
aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 22nd Jan 2010 19:46
ah..okay, great. I'll work on it.

Russell B. Davis/aerostudios
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 22nd Jan 2010 19:59 Edited at: 22nd Jan 2010 20:05
Ok, I wasn't thinking hard enough with your last question.

Notice the parameter list for the that function: "%D%".

Yes.. the documentation I wrote is conveniently missing this one, isn't it? "D" is short for DWORD or a 32-bit integer. Use ".l" in this case.

The supported parameters are:

L/D = .l (32-bit integer)
F = .f (32-bit float)
S = .s (string)
O = .d (64-bit double)
R = .q (64-bit integer)

The R parameter is new and hasn't been thoroughly tested in any plugin other than a few test cases.

aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 22nd Jan 2010 20:11
well, I've tried to compile using the following;

.i and .I or integer
.l and .L or long
.d or double

it's not liking any of them.

I did write to the Simul SDK folks for clarification about the value to be passed. In DBPro, the command is simply;

DC SET AUTO BRIGHTNESS True or False (which is 0 or non-zero)

Russell B. Davis/aerostudios
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 22nd Jan 2010 20:14
Check your e-mail.

aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 22nd Jan 2010 21:05 Edited at: 22nd Jan 2010 21:16
Okay, done.

Russell B. Davis/aerostudios
aerostudios
11
Years of Service
User Offline
Joined: 20th May 2009
Location: Oklahoma City OK (USA)
Posted: 22nd Jan 2010 21:18
Another question, since it appears the DarkCLOUDS.DLL is a wrapper for the other DLLs being used, where should all of these DLLs reside for Purebasic to properly find them?

Russell B. Davis/aerostudios
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 22nd Jan 2010 22:24
The PureGDK application data is usually located in %appdata%\PureGDK. However, this can be changed in the PureGDK.ini file in the PureBasic directory for portability.

Licensed plugins are located in %appdata%\PureGDK\plugins-licensed and user plugins in %appdata%\PureGDK\plugins-user.

Because DarkClounds is a licensed plugin all of the dlls should go in the plugins-licensed folder, unless the documentation suggests otherwise. Have a look at where it is in your DBP installation folder for comparison.

Login to post a reply

Server time is: 2020-10-27 15:13:01
Your offset time is: 2020-10-27 15:13:01