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 / Dark Clouds for Darkgdk?

Author
Message
Parry
AGK Developer
14
Years of Service
User Offline
Joined: 16th Dec 2009
Location: Swampstone
Posted: 28th May 2011 05:14
Any plans on making Dark clouds available for darkgdk?
Richaldo
14
Years of Service
User Offline
Joined: 12th Nov 2009
Location: Hertfordshire, England
Posted: 14th Jun 2011 22:47
I've been asking the same question for a long time, but never got a postiive response, so I can only assume there are no plans for this to happen.

It's such a shame, because it would be perfect for my project. I hope we get some good news on this one day
Michael P
18
Years of Service
User Offline
Joined: 6th Mar 2006
Location: London (UK)
Posted: 14th Jun 2011 23:36
Hey Richaldo, noticed your location is Hertfordshire. Without sounding like a stalker I'd like to ask where abouts? I'm from Rickmansworth which is near Watford.

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 15th Jun 2011 02:08 Edited at: 15th Jun 2011 02:10
PureGDK for C++ works great with Dark Clouds.

And any other DBP plugin for that matter.

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 15th Jun 2011 02:29 Edited at: 15th Jun 2011 02:29
@Mistrel: Why do I recognize "spam" in loads of your posts lately?

You can create your own Produceral Sky System, with 24 hours cycle. There are many ways to accomplish this. Green gandalf, evolved, and many others have shownd some tricks.

Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 15th Jun 2011 04:19 Edited at: 15th Jun 2011 04:24
Quote: "@Mistrel: Why do I recognize "spam" in loads of your posts lately?"


It's true.

A lot of people still don't know that PureGDK now works with C++ (it used to be for PureBasic only!) and that it can load DBP plugins. I'd hate to see a disgruntled DarkGDK user leave the TGC community over something as small as a plugin.

I don't have the raw advertising power of TGC so I let you guys know on the forum. I just want people to know they have another option.

I like to interject with you DarkGDK guys because, well, C++ to C++ is pretty easy to do. And if you ever become curious enough, maybe you'll give it a whirl.

I can't seem to get you guys to try it though.

Red Eye
15
Years of Service
User Offline
Joined: 15th Oct 2008
Location:
Posted: 15th Jun 2011 11:38
You are absolutely right. Keep up the good work!

TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 15th Jun 2011 20:24
Mistrel,

not sure if this is the right place to be asking this, but if I converted my projects from Dark GDK to PureGDK using C++, does it then overcome some of the very big problems I have with Dark GDK?

Specifically, that
1. switching (ALT - TAB) from a full-screen display to another window causes the GDK window to loose hold of the resources and then crash when I switch back. I have tried a couple of your demos and the certainly switch back and forth with no problems, but none of them were full screen.

2. Does it import/use any extra types of meshes/animated meshes that Dark GDK doesn't? (including the ones that Dark GDK is supposed to handle but in fact doesn't)?

Amazing Simulation
www.amazing-forum.com
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 15th Jun 2011 20:52 Edited at: 15th Jun 2011 21:28
Quote: "1. switching (ALT - TAB) from a full-screen display to another window causes the GDK window to loose hold of the resources and then crash when I switch back. I have tried a couple of your demos and the certainly switch back and forth with no problems, but none of them were full screen."


One of my favorite features of PureGDK. The answer is: YES! YES! YES! YES! And "no.." as this feature (from the 1.0 series) was removed from 2.0 during its reconstruction and was only just implemented in the as-yet-to-be-release next beta.

PureGDK implements Direct3D callbacks so that it can be hardened against crashing from a ctrl-alt-del, a 3D screensaver, locking the screen, or any other random ways it may become invalidated

See here:
http://forum.thegamecreators.com/?m=forum_view&t=185459&b=15

An example:



http://puregdk.com/files/upload/d3d-callbacks-matrix.zip

Also, example code for working full screen:
http://forum.thegamecreators.com/?m=forum_view&t=177817&b=38&msg=2201413#m2201413

Quote: "2. Does it import/use any extra types of meshes/animated meshes that Dark GDK doesn't? (including the ones that Dark GDK is supposed to handle but in fact doesn't)?"


PureGDK can load anything that DBP can load as it uses the exact same internal function.

Want to load an object from memory? No problem! Add the appropriate IanM's MatrixUtil (remember, any DBP plugin!) and you're good to go.

Getting the plugin to work with PureGDK does require some instruction. Updated documentation on how to do this will be in the next beta. The "documentation" release, as it finally nears release candidate status.

Some information in the help file is relevant. Additional information on getting plugins to work can be found here:
http://forum.thegamecreators.com/?m=forum_view&t=182736&b=38&msg=2174514#m2174514

An example PureGDK 2.0 .gdt file here:
http://forum.thegamecreators.com/?m=forum_view&t=185915&b=38

TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 15th Jun 2011 22:16
Thanks.

So, for me the important question is "when will the next vesion be available?" (best guess?).

One of my big ripes about Dark GDK is item 1. But Item 2 is also a big gripe. I switched to Irrlicht because of these problems.

I released a new demo sim last week on Amazing Forum, using Irrlicht. Irrlicht works well, but it has no Nvidia PhysX integrations that work and I don't have enough time to recreate them all.

But Dark GDK has a set that work wonderfully in Dark Physics.

I fixed a number of problems in the Dark GDK and recompiled it. Many functions that were faulty now work just fine. Except items 1 & 2!

Amazing Simulation
www.amazing-forum.com
TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 15th Jun 2011 22:16
*One of my big gripes about Dark GDK

Amazing Simulation
www.amazing-forum.com
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 16th Jun 2011 00:35
I've been working on getting the next release out whenever I get the chance. I've just been swamped with work lately so it may be a couple of weeks.

I've got some time off coming up soon and I'm hoping to use that to get PureGDK completely finished and out of beta.

TerryRussell
13
Years of Service
User Offline
Joined: 11th Dec 2010
Location: Chichester, UK
Posted: 16th Jun 2011 22:43
A couple of weeks is fine. So long as I have an idea of timescales, I can adjust my workload around it.

Thank you!

Amazing Simulation
www.amazing-forum.com
Richaldo
14
Years of Service
User Offline
Joined: 12th Nov 2009
Location: Hertfordshire, England
Posted: 7th Jul 2011 04:02
Quote: "Hey Richaldo, noticed your location is Hertfordshire. Without sounding like a stalker I'd like to ask where abouts? I'm from Rickmansworth which is near Watford."


Sorry for the delayed response... I live in Welwyn Garden City, so not too far away


Quote: "A lot of people still don't know that PureGDK now works with C++ (it used to be for PureBasic only!) and that it can load DBP plugins"


This interests me a lot. I'm developing a fairly large project in Visual Studio Express C++ with DarkGDK and have sometimes been frustrated about waiting for news on availability of certain plugins when I can see the DBP users having such fun with them!

I currently don't own PureGDK, DB Pro, or PureBasic.
To develop using PureGDK C++, do I need to own all three of those?
Is it easy to convert from DarkGDK C++ to PureGDK C++ (is there a tutorial anywhere)?
Does PureGDK work in VS Express?

Sorry if these questions are silly, but I knew nothing of PureGDK until I read your post.
This probably isn't the thread to discuss it in detail, but if you could point me in the right direction I'll definitely look into this in more detail and weigh up the cost of moving over to PureGDK with the potential benefits to my project.
Mistrel
Retired Moderator
18
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 7th Jul 2011 11:06 Edited at: 27th Jul 2011 13:59
Quote: "I currently don't own PureGDK, DB Pro, or PureBasic. To develop using PureGDK C++, do I need to own all three of those?"


DarkBasic Professional is required only during installation (the necessary files are copied), however it is compatible with the free version:

http://www.thegamecreators.com/?id=2000&m=view_product&page=free

Just make sure you upgrade it to the version which is compatible with PureGDK. Currently this is the 7.7 RC. Previous releases will not work.

PureGDK 1.0 was PureBasic-only. PureGDK 2.0 provides PureBasic and C++ headers but the SDK provides the source code for adding support for whatever language you want:

http://forum.thegamecreators.com/?m=forum_view&t=186644&b=38


Quote: "Is it easy to convert from DarkGDK C++ to PureGDK C++ (is there a tutorial anywhere)?"


There have been a lot of changes in PureGDK. Fortunately, you won't have to wait long for the documentation which will be release soon in the next beta. If you've ever read the DBP or DarkGDK documentation, I'm sure you'll LOVE what's in store for PureGDK!

Here is a look at the layout of a function in the new documentation being built for the next beta.

The documentation will come in the excellent .chm format with an index and full text search.

All source code and templates for the documentation builder will be available in the SDK for you to help extend the existing docs and also for you to apply to your own projects if you like.

The documentation for C++:



Many of the commands have been renamed for clarity and others have had their parameters reordered to support default parameters and function polymorphism.

Here is an example of a function which will have its parameters reordered for the next beta (beta 7!), which brings support for automatic ID allocation:

Quote: "
Result = dbLoadSound(string fileName[, int soundID])"


The "soundID" parameter is optional and therefore appears at the end of the function. If no ID is specified, one will be returned as the result.

For functions which take advantage of default parameters, the header might look like this:

Quote: "
dbLoadSound(string fileName, int soundID = -1)"


And for others which use function polymorphism, for example:

Quote: "
dbLoadSound(string fileName)
dbLoadSound(string fileName, int soundID)"


Another example where a command might be different is "dbSetDisplayMode".

In DarkGDK you can use these commands to change the resolution:

Quote: "
void dbSetDisplayMode (int iWidth, int iHeight, int iDepth)
bool dbSetDisplayModeEx(int iWidth, int iHeight)
bool dbSetDisplayModeEx(int iWidth, int iHeight, int iDepth)
bool dbSetDisplayModeEx(int iWidth, int iHeight, int iDepth, int iMode)
bool dbSetDisplayModeEx(int iWidth, int iHeight, int iDepth, int iMode, int iVertexProcessing)
bool dbSetDisplayModeEx(int iWidth, int iHeight, int iDepth, int iMode, int iVertexProcessing, int iLockable)
bool dbSetDisplayModeVSync(int iWidth, int iHeight, int iDepth, int iVSyncOn)
bool dbSetDisplayModeAntialias (int iWidth, int iHeight, int iDepth, int iVSyncOn, int iMultisamplingFactor, int iMultimonitorMode)"


In PureGDK the same command with optional parameters is:

Quote: "
dbSetDisplayMode(int width, int height[, int depth[, int vSync[, int multiSampling[, int multiMonitor[, int backBufferWidth[, int backBufferHeight[, int vrMode]]]]]]])"


In this function each parameter after width and height can be optionally specified.

PureGDK has built-in support for multithreading by providing function-level critical sections for your convenience behind the scenes as well as thread-aware error handling. Each function can have several possible error codes which can be detected are caught at runtime for you to examine and respond to.

For example, dbMakeMatrix() can throw any of the following errors for you to catch with dbGetLastError():

Quote: "
RUNTIMEERROR_B3DMATRIXNUMBERILLEGAL
RUNTIMEERROR_B3DMATRIXALREADYEXISTS
RUNTIMEERROR_B3DMATRIXSEGMENTWRONG
RUNTIMEERROR_B3DMATRIXDIMENSIONWRONG
RUNTIMEERROR_B3DMATRIXTOOLARGE"


dbGetLastError() will return the last error to occur in the current thread. It can safely and accurately be used accross multiple threads.

It's also important to understand that PureGDK, unlike DarkGDK, uses a customizable DLL engine based on the DarkBasic Professional plugin system. Everything is dynamically linked NOT statically linked by DarkGDK. See the example projects provided by the installer as well as here for additional information:

http://forum.thegamecreators.com/?m=forum_view&t=179245&b=22&msg=2200672#m2200672

The advantage to this is that it is compatible with ALL standards compliant C++ compilers. You can use any version of Visual Studio, g++, Borland, Watcom, Intel, Comeau, etc.

You can even use Visual C++ 6 if you really want to-- example projects are provided!

One major difference you must be aware of is that PureGDK does NOT use "DarkGDK()/LoopGDK()". It can use whatever entry point you want, be it main(), WinMain(), _tWinMain(), etc:



Additionally, unlike DBP and DarkGDK, in PureGDK the renderable area is separate from the actual window. As you can see from this example code, dbOpenScreen accepts a target window handle "hWnd" which tells it where to render the output. This allows PureGDK to render to "any" window owned by the process and is not limited to any one implementation.

For example, you can use PureGDK with GLUT, Qt, Win32, wxWidgets, etc.

There are a lot of changes compared to DBP/DarkGDK. It is not targeted as being 1:1 compatible with DarkGDK and there will be growing pains while you encounter the differences. However, the idea behind PureGDK is to bring evolution to the engine to streamline it and in the end make it easier to use as well as being portable to other languages.

Don't forget! PureGDK is also compatible with all DarkBasic Professional plugins and includes many headers to provide support out-of-the-box. An SDK is also provided which allows anyone to add support for additional languages!!

PureGDK is designed such that whenever you decide to move to a different language, you can take the engine with you. You could say that compared to DarkGDK, that's even revolutionary!

At some point I hope to even provide a way of swapping the engine out for OpenGL to make the PureGDK cross-platform as well. :o

Never have to use a vector or matrix "ID" again! PureGDK supports vector and matrix datatypes as structures. This means that you can access any part of this data and they can be written to and read from memory:




Quote: "Does PureGDK work in VS Express?"


C++ Projects supported by PureGDK out of the box:

GNU make/g++ (gcc compiling may require setup)
nmake/vc++ (vcvars32.bat compiling should work out of the box)
Visual Studio 6
Visual Studio .NET
Visual Studio .NET 2003
Visual Studio 2005
Visual Studio 2008
Visual Studio 2010

This list is not finite! PureGDK will "just work" with any standards-compliant C++ compiler. This includes any version of Visual Studio Express.

Login to post a reply

Server time is: 2024-05-18 09:07:33
Your offset time is: 2024-05-18 09:07:33