PureGDK 2.0 - DarkBasic Professional for any language

Developed or developing a new product in PureBasic? Tell the world about it.
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

PureGDK 2.0 - DarkBasic Professional for any language

Post by Mistrel »

Image

The title may be slightly misleading but you can expect PureGDK to be compatible with most modern programming languages. If your favorite programming language can load a DLL and make C functions calls then it's compatible. :)

PureGDK 2.0 comes with support out of the box for the PureBasic language (building on previous PureGDK releases) as well as C++. It can generate headers to work with other languages by writing a simple plugin for the library builder tool.

http://forum.thegamecreators.com/?m=for ... 77817&b=38

Feature highlights:
Image All of DBP compressed down into a single DLL
Image Engine customization; basic 3D in less than 800 KB!
Image Future support is anticipated for additional programming languages.
Image Language agnostic interface; all exports are C function calls
Image Internal multithreading support. Go thread crazy!
Image Enhanced commands including true support for structured parameters
Image Potential support for rendering in a web browser
Image Rewritten, extremely fast 3D math library
Image New support for char, byte, word, quad, and pointer datatypes
Image New support for pragmatically defining constants and structures
Image Improved documentation for all DarkBasic Professional commands
Image Superior runtime error support that is thread-aware
Image Easy to use command line tools for automated compiling
Image Plugin-based parser. Adding support for your own language is a breeze!

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

The new engine is extremely lightweight and highly customizable. And best of all, it's fully compatible with DBP's plugins.

Now you can enjoy the power of DarkBasic Professional from your favorite language. And if you have multiple favorites-- no problem! :)

Program using your favorite IDE. Any IDE. Any language!

Screenshot of PureGDK and the PureBasic IDE:

Image

Screenshot of PureGDK and the Qt Creator C++ IDE:

Image

Here is a video of a C++ example project being run and debugged from the Qt Creator IDE. It also demos the flexibility of PureGDK by compiling from a UNIX (cygwin) command line using Make and the GNU g++ compiler. It should work with most any C/C++ compiler.

http://puregdk.com/files/upload/TGCForu ... o_xvid.avi
Last edited by Mistrel on Sun Jan 29, 2012 8:02 pm, edited 4 times in total.
Barney
User
User
Posts: 54
Joined: Wed Apr 26, 2006 12:01 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Barney »

Very interesting. I've just downloaded the 2.0 demo and am looking forward to test it with IWBasic as well as with PureBasic. So far it's looking very promising. Will probably purchase the package before the end of the year. Very good work

Barney
User avatar
Blue Steel
Enthusiast
Enthusiast
Posts: 132
Joined: Wed Aug 31, 2005 4:49 pm
Contact:

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Blue Steel »

installed with all default settings .. running DBPro u1.075 and purebasic 4.51
just tested compiling and running all examples and all seem to work as expected.
(yes i know that the "d3d device callbacks" example provided does not work. This is normal. as per your statement above)

here are my system specs

Mainboard : Intel DG41RQ
Chipset : Intel G41
Processor : Intel Core 2 Duo E6550 @ 2333MHz
Physical Memory : 4096MB (2 x 2048 DDR2-SDRAM )
Video Card : NVIDIA GeForce GTX 465
Hard Disk : SAMSUNG HD154UI ATA Device (1500GB)
Hard Disk : SAMSUNG HD203WI ATA Device (2000GB)
Hard Disk : SAMSUNG HD501LJ ATA Device (500GB)
Hard Disk : Seagate ST3500320AS ATA Device (500GB)
Hard Disk : Maxtor Basics Desktop (1000GB)
CD-Rom Drive : HL-DT-ST DVDRAM GSA-4167B ATA Device
Monitor Type : IBM IBM 6652 P275 - 20 inches
Monitor Type : Unspecified
Network Card : Realtek Semiconductor RTL8168/8111 PCIe Gigabit Ethernet Adapter
Operating System : Windows 7 Ultimate Professional Media Center 6.01.7600 (32-bit)
DirectX : Version 11.00
Windows Performance Index : 5.6 on 7.9
Currently using PureBasic 4.51(x86)

Image http://www.codingmonkeys.com
Covers many languages including PureBasic
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Mistrel »

Image

Here is a video of a C++ example project being run and debugged from the Qt Creator IDE. It also demos the flexibility of PureGDK by compiling from a UNIX (cygwin) command line using Make and the GNU g++ compiler. It should work with most any C/C++ compiler.

http://puregdk.com/files/upload/TGCForu ... o_xvid.avi
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Mistrel »

PureGDK 2.0 beta 2 is finally out, now with C++ support! Projects have been included for the following compilers to facilitate successful compiling "out of the box" with no additional setup required.

http://forum.thegamecreators.com/?m=for ... 77817&b=38

Please delete any files installed by a previous release of PureGDK 2.0 beta before installing a new one! The default user path is "%appdata%\PureGDK", the default install path is "..Program Files (x86)\PureGDK"

PureBasic users: You "must" uninstall any previous release of PureGDK 1.0 before installing PureGDK 2.0. Older releases are not compatible and you will not be able to compile.

C++ Projects supported by this release:

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

ChangeLog:
PureGDK 2.0 beta 2
------------------

Bug fixes:
- dbSetD3DDeviceCallback and all functions from the 3d math functions were using the wrong calling convention and corrupting the stack.
- Updated several templates which were passing the wrong type.
- Fixed dbSetEffectConstantVector, dbSetEffectConstantMatrix, dbSetVertexShaderVector, and dbSetVertexShaderMatrix which were not passing their vector and matrix parameters as expected.
- Fixed a memory leak for all functions which return a string.
- Fixed a bug where the beta can expire early if the computer spends a lot of time in hibernation.

Updates:
- Added a new C++ plugin to the library builder for header generation.
- Added C++ examples for make/g++, nmake/vc++, vs6, vs2002, vs2003, vs2005, vs2008, and vs2010.
- Added new supplemental typing to templates to add support for type strict languages like C++.
- Updated the library builder plugin specification. The new specification is incompatible with the one from beta 1.
- Added the command dbCloseScreen for instances where it is necessary to perform the cleanest possible program termination. Some compilers are less forgiving than others.
- Significantly increased the delay allowed for the engine to start up on slower processors.
User avatar
Blue Steel
Enthusiast
Enthusiast
Posts: 132
Joined: Wed Aug 31, 2005 4:49 pm
Contact:

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Blue Steel »

Grabbing it soon thanks.. just got friends over
Currently using PureBasic 4.51(x86)

Image http://www.codingmonkeys.com
Covers many languages including PureBasic
Swos2009
Enthusiast
Enthusiast
Posts: 112
Joined: Sat Nov 08, 2008 8:19 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Swos2009 »

Hiya,

How much is PureGDK 2.0 ?

Does it mean I need Darkbasicpro(which what I have but I dont used it) plugin for PureGDK?

Please let me know

:)
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Mistrel »

Swos2009 wrote:How much is PureGDK 2.0 ?

Does it mean I need Darkbasicpro(which what I have but I dont used it) plugin for PureGDK?
PureGDK is $59.99 USD and will work with the free version of DarkBasic Professional (see DBP licensing details):

http://www.thegamecreators.com/?m=view_ ... &page=free
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Mistrel »

PureGDK 2.0 beta 3 is out. Stability has been improved in this version and some commands which broke from the 7.5 update have been fixed. If you previously experienced crashes when running the example projects, please try them again.

http://forum.thegamecreators.com/?m=for ... 77817&b=38

Please delete any files installed by a previous release of PureGDK 2.0 beta before installing a new one! The default user path is "%appdata%\PureGDK", the default install path is "..Program Files (x86)\PureGDK"

PureBasic users: You "must" uninstall any previous release of PureGDK 1.0 before installing PureGDK 2.0. Older releases are not compatible and you will not be able to compile.

ChangeLog:
PureGDK 2.0 beta 3
------------------

Bug fixes:
- Updated the following commands to work with DBP 7.5:
* dbAddMeshToBuffer
* dbDeleteMeshFromBuffer
* dbGetBufferIndexCount
* dbGetBufferVertexCount
* dbGetVertexDiffuse
* dbGetVertexNormalsX
* dbGetVertexNormalsY
* dbGetVertexNormalsZ
* dbGetVertexPositionX
* dbGetVertexPositionY
* dbGetVertexPositionZ
* dbGetVertexU
* dbGetVertexV
* dbLockVertexBufferForLimb
* dbLockVertexBufferForMesh
* dbSetBufferDiffuse
* dbSetBufferIndexData
* dbSetBufferNormals
* dbSetBufferPosition
* dbSetBufferUV
* dbUnlockBuffer
- gdkc.exe will now report an appropriate error if an illegal command is used to specify a plugin.
- Fix a bug where functions returning a string would cause the program to become unstable.

Updates:
- Renamed dbSetIndexData to dbSetBufferIndexData.
- Updated gdkc.exe to support unix-style command line parameters. See gdkc.exe --help for a list of options.
- Added the parameter "-all" to gdkc.exe to support compiling the engine with existing plugins which have been properly configured. This is now the default behavior invoked by the installer.
- Added preliminary support for plugins. This feature will be enhanced in a future version to properly address default parameters.
- Added PureBasic example projects for cloth and advanced terrain and some TGC plugins.
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Mistrel »

PureGDK 2.0 beta 4 is out. This release should solidify the PureGDK plugin SDK specification. There is now full support for all DBP-compatible plugins where a template is available. PureGDK does not support DBP legacy types which may be present in some plugins but this is rare.

http://forum.thegamecreators.com/?m=for ... 77817&b=38

Please delete any files installed by a previous release of PureGDK 2.0 beta before installing a new one! The default user path is "%appdata%\PureGDK", the default install path is "..Program Files (x86)\PureGDK"

PureBasic users: You "must" uninstall any previous release of PureGDK 1.0 before installing PureGDK 2.0. Older releases are not compatible and you will not be able to compile.

ChangeLog:
PureGDK 2.0 beta 4
------------------
Updates:
- Major changes to the PureGDK plugin SDK specification which are incompatible with previous beta SDK releases.
- Completed full support for DBP-compatible plugins. The library builder is now capable of handling multiple instances of functions of the same name but with different parameters. Code generation is entirely dependent on the plugin's implementation.
- Minor changes to the template specification and buildlibs.exe parsing routines.
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Mistrel »

PureGDK 2.0 beta 5 is out. This release just adds some missing functionality.

http://forum.thegamecreators.com/?m=for ... 77817&b=38

Please delete any files installed by a previous release of PureGDK 2.0 beta before installing a new one! The default user path is "%appdata%\PureGDK", the default install path is "..Program Files (x86)\PureGDK"

PureBasic users: You "must" uninstall any previous release of PureGDK 1.0 before installing PureGDK 2.0. Older releases are not compatible and you will not be able to compile.

ChangeLog:
PureGDK 2.0 beta 5
------------------
Updates:
- Added an optional depth parameter to dbOpenScreen. If 0 is passed then it will default to the screen depth.
- Added dbSetDisplayMode. Somewhere it went messing in PureGDK 2.0 but it's back! If 0 is passed for the Depth parameter then it will default to the screen depth. If 0 is passed for the BackBufferWidth or BackBufferHeight parameter it will default to the specified width/height for the DBP screen resolution.
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Mistrel »

PureGDK 2.0 beta 6 is out. This release adds support for some DBP 7.7 internals to improve sync performance. Thread safety is now disabled by default (it can be reenabled) which boosts performance by 20% on average.

http://forum.thegamecreators.com/?m=for ... 77817&b=38

Please delete any files installed by a previous release of PureGDK 2.0 beta before installing a new one! The default user path is "%appdata%\PureGDK", the default install path is "..Program Files (x86)\PureGDK"

PureBasic users: You "must" uninstall any previous release of PureGDK 1.0 before installing PureGDK 2.0. Older releases are not compatible and you will not be able to compile.

ChangeLog:
PureGDK 2.0 beta 6
------------------
Updates:
- Removed legacy code required to support syncing in previous versions of DBP. The DBP 7.7 release candidate is now REQUIRED to be installed BEFORE installing PureGDK. Sync will NOT work without it!
- Thread safety code is now disabled by default providing performance improvement of up to 20%. To reenable thread safety, pass the #GDK_ThreadSafe flag to dbOpenScreen.
Poshu
Enthusiast
Enthusiast
Posts: 459
Joined: Tue Jan 25, 2005 7:01 pm
Location: Canada

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Poshu »

You are on a roll!Can't wait for the final version *_*
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by Mistrel »

This is just to give everyone a heads up on what's in store for beta 7. The next release will have some minor enhancements (D3D callbacks and automatic ID allocations are back!) but will be focus primarily on sorting out the new documentation.

Now, this isn't anything like your old school DBP documentation! There will be a plethora of internal cross-referencing that evaluates output from multiple sources to ensure that not one command exists without a docs page and no docs page will exist for any 'phantom' command. ;)

Each function will list all possible error codes which can be detected are caught at runtime by PureGDK for you to examine and respond to.

For example, dbMakeMatrix() can throw any of the following errors:

RUNTIMEERROR_B3DMATRIXNUMBERILLEGAL
RUNTIMEERROR_B3DMATRIXALREADYEXISTS
RUNTIMEERROR_B3DMATRIXSEGMENTWRONG
RUNTIMEERROR_B3DMATRIXDIMENSIONWRONG
RUNTIMEERROR_B3DMATRIXTOOLARGE

Additionally, this new documentation will provide function name and parameters with types which are specific to their supported language, courtesy of the PureGDK library builder's plugin SDK.

This means that the documentation for PureBasic will provide PureBasic-specific syntax, C++ documentation will be C++-specific, etc. Any languages added by you can also generate its own specially formatted documentation by adding the necessary support to the language plugin, by following the examples provided in the PureGDK SDK.

This should bring a lot of improvements for everyone who uses PureGDK 2.0. I understand that one of the biggest problems has been trying to understand how to use it. Because this has been such a massive rewrite, everything has been in an incredible state of flux. I hope this will provide a mark of stability and encourage more people to use PureGDK with its friendly and informative documentation!
alan_solis
User
User
Posts: 12
Joined: Thu Oct 23, 2008 5:19 pm
Location: Mexico

Re: PureGDK 2.0 - DarkBasic Professional for any language

Post by alan_solis »

Hi
how can i resolve the error "can not find gdkengine.dll"?
i search for it in the puregdk directory but i didnt find it.
thanks
Post Reply