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 / PureGDK - DarkBasic Programming for PureBasic

Author
Message
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 17th May 2008 13:27 Edited at: 4th Feb 2009 11:44


I'm pleased to announce that PureGDK is now ready for sale! The PureGDK Upgrade is available at http://puregdk.com now and will also be available on The Game Creators website as both an Upgrade and a Standalone package.

The difference between the 'Standalone' and the 'Upgrade' is that the Standalone does not require DarkBasic Professional to be installed prior to installing PureGDK. The necessary components are bundled with the installer.

The Game Creators is the exclusive distributor of the Standalone package so if you do not already own DarkBasic Professional and don't want to purchase it as an individual product (it will come bundled with the Standalone anyways) then you'll have to wait a little longer.

A demo of PureGDK is available for download at PureGDK.com. Because the trial of DarkBasic Professional is version 6.2 which is incompatible with PureGDK, the PureGDK demo is based off of the Upgrade version and requires DarkBasic Professional 6.7 or higher to be installed.

A standalone demo will be available once the trial version of DarkBasic Professional has been updated.

More information about PureGDK can be found in the official thread:

http://www.purebasic.fr/english/viewtopic.php?t=32366

Special thanks to all of the PureGDK beta testers. Everyone who participated was a great help squishing bugs!

Freddix
AGK Developer
17
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 28th May 2008 11:48 Edited at: 28th May 2008 11:48
great news

good work Mistrel.

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 1st Jun 2008 07:51
PureGDK is now available from The Game Creators store! Here you can purchase the PureGDK Complete which comes bundled with DarkBasic Professional. The PureGDK Complete installer is slightly different than the upgrade installer in that it does not require DarkBasic Professional to be pre-installed. Some people might consider that to be more convenient.

http://darkbasicpro.thegamecreators.com/?f=puregdk

PureGDK has also been featured in the June 2008 newsletter. Check it out!



http://www.thegamecreators.com/data/newsletter/newsletter_issue_65.html

http://3dfolio.com
Duffer
17
Years of Service
User Offline
Joined: 9th Feb 2003
Location: chair
Posted: 2nd Jun 2008 00:52
@ Mistrel & Freddix - how and in what ways does PureGDK differ from Pureplugin...?

a long time dabbler with DBC and DBPro with no actual talent but lots of enthusiasm...
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 2nd Jun 2008 03:40 Edited at: 2nd Jun 2008 04:13
PurePlugin simplifies the process of writing plugins for DBP in PureBasic. It's a great solution if you want to make plugins for your projects but you still program in DBP.

PureGDK is a replacement for DBP. It lets write everything in PureBasic just like you would in DBP but using the powerful PureBasic language instead. It's similar to DarkGDK but it differs in that it's compatible with all DBP plugins, it uses the same core as DBP so updates don't lag behind like DarkGDK, and because it's a BASIC dialect it's much easier to program.

I've also made improvements to certain characteristics of the DarkBasic Professional language. For example, I've eliminated vector and matrix IDs in favor of structure pointers, you now only need to call one command to retrieve the capabilities of the user's 3D hardware, all of the "Perform Checklist" command names have been shortened (yay!), and many useful commands that were hidden have been exposed and documented.

You can see most of the DBP and more compiled for PureGDK on the examples page:

http://puregdk.com/index.php?f=examples

Have a look at the fire demo (the first one on in the list). The demo demonstrates how to embed the DarkBasic render window into another and how to catch mouse input from the parent window using an API callback.

It also showcases several features of PureBasic including:

Threads
Window callbacks
Linked lists
Enumeration
MDI windows
Gadgets
Windows API

With Direct3D callbacks for a lost render device you can backup and restore important data in your game/application and prevent it from crashing if someone resets their screen resolution, changes desktops/workspaces, or if the screen saver pops up. With a DBP application your program would just crash when all of the data gets wiped from video memory.

PureGDK makes application programming using DarkBasic Professional realistic. It also has a complete GUI library that is superior to BlueGUI. You also have complete access to the Windows API for adding advanced functionality to your program.

PureGDK also comes with support for 21 plugins right out of the box:

Licensed Plugins:

2D Plugin Kit 1.1
3D Cloth & Particles Physics 6.2
Advanced Terrain
Dark Physics Beta 14-12-07
Dark AI 1.05
Dark Lights 1.02
Enhanced Animations 19-11-07
eXtends 1.4
EZ Rotate Enhanced 19-11-07
STYX 2.0
TextureMax 17-05-07
Unity 3.0

Free Plugins:

D3DFunc 3.6.6
DarkSide Starburst
DBP Collisions 2.04
DKAVM 12-07-06
DKSHOP 12-07-06
EZ Rotate Basic
Multisync 1.4.1
Newton Game Dynamics 1.3.2
zParticles 1.11

IanM has said that he will provide libraries for his Matrix Utils. I'm very happy to hear that.

If your favorite plugin isn't supported by PureGDK natively you can add support for it yourself using the plugin framework. Wrapping a plugin is a simple process and doesn't require any programming (except to compile!). You work with string tables similar to TPC DLLs so if you're familiar with that then you're already half way there.

Full documentation for PureGDK is included in a indexed, searchable help file. I've also gone through the trouble of cross-referencing all of the commands from the DBP core libraries so that it's now easier than ever to find the information you're looking for.

http://3dfolio.com
Freddix
AGK Developer
17
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 2nd Jun 2008 12:06
@Mistrel : You said exactly what was needed to

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
Cash Curtis II
14
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 13th Jun 2008 13:49
I can't wait to get my hands on this. The RPG Editor is going to be made with this.


Come see the WIP!
revenant chaos
Valued Member
12
Years of Service
User Offline
Joined: 21st Mar 2007
Location: Robbinsdale, MN
Posted: 14th Jun 2008 09:16
so, could this be used to compile purebasic dll's for use as DBpro TPC's?
Freddix
AGK Developer
17
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 15th Jun 2008 18:29
No,

If you want to compile PureBASIC DLL's to create DBPro TPC's, you must use PurePLUGIN.

Regards,
Fred
Odyssey-Creators

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
Prime_8
16
Years of Service
User Offline
Joined: 10th Apr 2003
Location: Canada
Posted: 22nd Jun 2008 08:25
I tired to run some of the sample binary files in the DL section of the PureGDK.com. The ones in the sample packs .

am i missing a step should not these .exe's just run ?
all fail to load/ run .

clean rig no DBP or PB or any DEV tools on it , i use it to check the protability of my code . (and play games )
Win XP Media center , AMD x2 dual core , 2 gigs of ram , ATI X1600pro
latest drivers for everything ..

Prime_8
16
Years of Service
User Offline
Joined: 10th Apr 2003
Location: Canada
Posted: 22nd Jun 2008 18:32
actually
Showcase of New U5 Commands
is the only one that runs ... all others silent crash , no error window or anything .

Freddix
AGK Developer
17
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 24th Jun 2008 09:41
Which DBPro Version do you have installed in your computer ?

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
wh1sp3r
16
Years of Service
User Offline
Joined: 28th Sep 2003
Location: Czech republic
Posted: 4th Sep 2008 13:16
I have tried demo, but I cant installl it. It says: Coulnt find the Purebasic application data folder. I changed path to another folder, same problem. Have Win XP.


PS: Real programmers aren't afraid of math!.
Cash Curtis II
14
Years of Service
User Offline
Joined: 8th Apr 2005
Location: Corpus Christi Texas
Posted: 7th Sep 2008 16:31
Do you have Purebasic installed?


Come see the WIP!
wh1sp3r
16
Years of Service
User Offline
Joined: 28th Sep 2003
Location: Czech republic
Posted: 7th Sep 2008 17:30
Yes, I have. On my deskpc, its working, but on my laptop, I have this problem,lol. (deskpc = Vista, laptop = xp)


PS: Real programmers aren't afraid of math!.
nrasool
16
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Surrey Area
Posted: 12th Sep 2008 21:17
Hi Mistrel, Please could you answer a pre-sale question from me, I have Purebasic 4.2 and it works fine. I just want to know on your product, PureGDK, the executable that Purebasic produces, if we use plugins, like DarkAI, does this get compiled into the executable - static library, or do you need to copy the necessary dll to the project folder?

Sorry if the question is newbie-ish. I like this, as I really want to molebox my project and you can't with normal DB Pro, so this seems perfect

Kind Regards

A Good Programmer never blames his tools
nrasool
16
Years of Service
User Offline
Joined: 22nd Sep 2003
Location: Surrey Area
Posted: 12th Sep 2008 21:54
Ah I see, it the same as DBPro, it unpacks itself in the temp folder

I just answered by own question.

A Good Programmer never blames his tools
DarkBasic Pro Guy
15
Years of Service
User Offline
Joined: 4th Jun 2004
Location: Broomfield, Colorado
Posted: 13th Sep 2008 19:39
So what makes PureBasic so powerful as you say? What makes it better than DarkBASIC Pro?

wh1sp3r
16
Years of Service
User Offline
Joined: 28th Sep 2003
Location: Czech republic
Posted: 14th Sep 2008 18:40
DarkBasic Pro Guy: I think, you can use Purebasic's commands, etc.


PS: Real programmers aren't afraid of math!.
Freddix
AGK Developer
17
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 16th Sep 2008 11:44
In Fact, you can use both PureBASIC and DarkBASIC Professional commands set ...
Personnaly, the interest I find in PureGDK is that you can combine both DarkBASIC Professional DirectX9 capabilities and PureBASIC calculations performances.

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 31st Oct 2008 01:07
PureGDK is being updated for DBP 7.1. If anyone has a bug they need fixed now is the time to say something.

Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 11th Nov 2008 22:35 Edited at: 11th Nov 2008 22:37
Someone on the PureBasic forums figured out that you can actually compile PureGDK commands to a DLL and call them from within your program.

This is a bug/feature that I hope to officially support.

http://www.purebasic.fr/english/viewtopic.php?p=266935#266935p

To be clear: you cannot use this method to compile a DBP 'plugin'. This is a DLL, a compiled module of code you can call from within your PureGDK program or share with others.

Olby
16
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 9th Jan 2009 12:13
I am planning on buying PureGDK. I wanted to know when will be the latest support of DBP u7.1 available in PGDK? Or maybe you have already updated it?

ACER Aspire 5920G: Core2Duo 2.2GHZ, 2GB Ram, GeForce 8600M GT 1280MB, Windows Vista Ultimate SP1, DirectX10, DBPro 7.1
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 10th Jan 2009 01:53
The PureBasic forum is really the best source of information for PureGDK. It will be released soon.

http://www.purebasic.fr/english/viewtopic.php?t=32366


Quote: "PureGDK is being worked on and will be released soon! There have been major improvements to large portions of the code base that have taken longer than expected. Most of the core portions of PureGDK have been completely re-written to provide a much more stable and verbose compile process. No more "Engine core not found." errors and so forth. Smile

A few highlights:

* New error handling routines
* All core DBP and GDK framework libraries are now 100% threadsafe with the debugger on or off, the new error handler will provide immediate information if a collision with the GDK libraries does occur
* Completely re-written compiler which is faster, more verbose, and command-line enabled
* Better integration with the PureBasic IDE (no more kill program button getting stuck)
* PureGDK rendering is now done in a screen rather than a window. Internal code changes now provide built-in support for interacting with the DBP window using native commands regardless of the parent window. Previously the DBP render window had to be subclassed to capture input.
* Process termination is now much more stable than it was before. Previously there were some stability issues while freeing resources."


Olby
16
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 10th Jan 2009 10:13
Thank you, for your information, last night I got rid of some money to buy PureGDK! Will be waiting for the latest release...

ACER Aspire 5920G: Core2Duo 2.2GHZ, 2GB Ram, GeForce 8600M GT 1280MB, Windows Vista Ultimate SP1, DirectX10, DBPro 7.1
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 10th Jan 2009 14:30
I'll update this thread once it's ready.

Bored of the Rings
15
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 14th Jan 2009 10:05 Edited at: 14th Jan 2009 10:06
I recently bought Purebasic version 4.3 and the current installation of PureGDK only works with 4.1/4.2. So If anyone only has 4.3 of Purebasic, I wouldn't bother buying PureGDK untill a new installation is available that actually works with 4.3. Sent Query to TGC support and was advised to contact Purebasic. Contacted Purebasic support twice and no replies.
Olby
16
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 15th Jan 2009 10:54 Edited at: 15th Jan 2009 11:05
Easy man,... just read the above posts and you will see that author of PureGDK is currently working on the latest release that will support PureBasic 4.30 and DBPro 7.1. He is somewhere in the process of finishing/releasing a beta version if I am correct.

And PureBasic has nothing to do with PureGDK, because it is a third-party extension that is not created by FANTAISIE Software (creators of PureBasic) so your best way to get the latest information is to contact Mistrel or go to www.puregdk.com

[EDIT]

By the way I did some tests with PureGDK compiled files and original DBPro demo executables and it's nice to see that using PureGDK we get somewhere from 20 to 60 FPS gain depending on what type of commands are used. Most performance gain as I noticed is in set of 3D commands. Combine this with powerful possibilities of PureBasic internal language and commands - you will get the most out of DarkBasic Professional.

ACER Aspire 5920G: Core2Duo 2.2GHZ, 2GB, GeForce 8600M GT 1280MB, Windows Vista Ultimate SP1, DirectX10, DBPro 7.1
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 18th Jan 2009 05:04
I apologize for the inconvenience. There seems to be an oversight with the information listed in The Game Creators store. The official PureGDK website clearly states the software requirements before purchase.

There is no malicious scheme here. PureBasic 4.30 was only recently released and it's Fantaisie Software's policy not to list previous versions of PureBasic for download. You'll have to request an earlier version through their support.

I'm sure TGC will be more than willing to offer a refund however you will be ineligible for the new release which does support 4.30.

Bored of the Rings
15
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 20th Jan 2009 09:42
Thanks Mistrel,

I will send another email to Purebasic support.

Mike
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 20th Jan 2009 22:21
I hope to get the beta out this week. See the PureBasic thread for more information:

http://www.purebasic.fr/english/viewtopic.php?p=275031#275031

Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 23rd Jan 2009 07:00
Here it is! PureGDK 1.1 Beta1, finally.

I am mirroring this post here but please make any support requests either to support@puregdk.com or in the official PureBasic thread:
http://www.purebasic.fr/english/viewtopic.php?p=275290#275290

This is an open beta so anyone who owns DarkBasic Professional 7.1. There is no nag screen like in the demo but it will expire after a couple of weeks.

http://PureGDK.com/files/upload/PureGDK_Upgrade-1.1b1-4.30.zip
http://PureGDK.com/files/upload/PureGDK-Examples-7_1.zip

This release of PureGDK does not contain any documentation for the new commands added since 6.7. Please refer to your DarkBasic Professional documentation and the status bar hints instead.

There have been a lot of fundamental changes. Projects will need to be tweaked before they will compile with the new release. Please refer to the PureGDK documentation and also the example projects provided here.

Please uninstall your existing version of PureGDK first! There ARE conflicting files which will most likely cause projects not to compile.

Quote: "PureGDK 1.1.0 Beta 1
====================

DarkBasic Professional 7.1 is the version officially supported by this release of PureGDK.

Bug Fixes:
- Several errors were corrected in the Styx framework library that prevented it from working properly.
- The PureGDK compiler will no longer get stuck due to an infinite include loop.
- Fixed a bug where a PureGDK application would fail to run on certain hardware configurations and crash silently at startup. This affects all previously compiled executables.
- Rewrote the PureGDK's cleanup routines to end more gracefully.
- Fixed a bug in dbHideMouse which caused it to fail.
- Runtime errors caused by PureGDK's internal functions will now call the PureBasic debugger or, if the debugger is off, identify the line number of the offending function in your PureBasic source code.
- Fixed a bug in GDKLib Builder.exe where it would build the function incorrectly if it returned a value and had only one parameter.
- Fixed bugs in various vector functions that caused problems when calling from threads and catching runtime errors.
- Updates have been made to GDKLib Builder.exe to support the new internal threadsafe functions. All third-party libraries must be rebuilt and recompiled using this new version to be compatible with PureGDK.
- Fixed a bug where commands with the parameters SSLL, SSL, and SS that returned a long would crash the executable.
- Fixed a bug where the PureGDK did not end cleanly, causing the PureBasic IDE to continue debugging after the program had already ended.
- Fixed a bug in dbSetObjectToObjectOrientation which caused it to fail. Also added missing parameter and updated documentation.
- dbMouseX() and dbMouseY() now work beyond the extents of the 3D screen. Some code may need to be modified to support the new values which can extend in the negative and positive outside the screen resolution.
- Fixed a bug in SyncRate which caused it to fail.
- Show/hide mouse will no longer lag when entering/exiting the client area of the render window.
- Fixed a bug which caused dbLightExist, dbLightType, and dbLightVisible to fail to return a value with the debugger off.

Updates:
- Removed redundant dbMessage command.
- The PureGDK functions for handling errors have changed. Please consult the 'How to... -> Reference Manual -> PureGDK' section of the documentation to see a list of revised commands.
- Most input commands for the keyboard and mouse are no longer limited to the client area of the render window. Some code may require changes to support this behavior.
- dbScanCode() is obsolete and has been removed. Use GetKeyState_() and MapVirtualKeyEx_() instead to obtain multiple scancodes asynchronously.
- dbCLS2 (Basic2D) has been renamed to dbCLSFill to prevent cross-library include conflicts with dbCLS from DBProCore.dll.
- PureGDK now supports changing the mouse using the SetCursor function of the Win32 API.
- The command dbSyncDelay has been removed to facilitate the changes made to OpenDBWnd which now require use of PureBasic's window event functions.
- Added missing command dbSetObjectMask
- DBP 6.9 Added new optional parameters to dbSetDisplayMode and dbCheckDisplayMode.
- DBP 6.9 Added new stereoscopic command dbSetCamerasStereoscopic.
- DBP 7.0 Added additional parameter Orientation to dbMakeObjectPlain
- DBP 7.0 Removed the obsolete commands dbTextureBackdrop and dbScrollBackdrop
- The compiler has been completely re-written and now includes a compile-time GUI
- Updated Newton Game Dynamics plugin commands for consistency where those that were preceded by NDB_Newton now begin with just NDB_
- DBP Added additional parameter SilentFail to dbLoadSound and dbLoad3DSound
- All PureGDK commands now use the same threadsafety code. Previously commands were only threadsafe while the debugger was off when compiling to a threadsafe executable.
- Added a new function dbGetActiveFunctions which will return the sum of all PureGDK functions currently waiting in queue. This is useful for debugging threadsafe executables that use PureGDK commands.
- Sounds are now loaded with the global flag set. This allows sounds to be played while the render window is a child of another window or changes parents during runtime. Unlike DBP's native command, this flag is not optional in PureGDK.
- Added mouse button 5 to dbMouseClick().
- dbSync functionality has been restored. It previously used only FastSync internally. Each Sync type should now function as expected.
- PureGDK no longer supports automatic thread cleanup. You must end all of your threads before ending the program or it will crash on exit. Additionally, exiting from within a user-defined thread is not supported by PureBasic and will also crash your executable.
- The following commands have been moved to the GameFX library:
* dbSetGlobalShadowsOn
* dbSetGlobalShadowsOff
* dbSetGlobalShadowColor
* dbSetShadowShades
* dbSetShadowPosition
* dbPerformCSGUnion
* dbPerformCSGDifference
* dbPerformCSGIntersection
* dbPerformCSGClip
- Revised command names (Commands moved to GameFX library included):
* dbPerformCSGUnion -> dbCSGUnion
* dbPerformCSGDifference -> dbCSGDifference
* dbPerformCSGIntersection -> dbCSGIntersection
* dbPerformCSGClip -> dbCSGClip
* dbPerformCSGUnionOnVertexData -> dbCSGUnionOnVertexData
* dbPerformCSGDifferenceOnVertexData -> dbCSGDifferenceOnVertexData
* dbPerformCSGIntersectionOnVertexData -> dbCSGIntersectionOnVertexData
* dbPerformCSGUnionOnVertexData -> dbCSGUnionOnVertexData
* dbPerformCSGDifferenceOnVertexData -> dbCSGDifferenceOnVertexData
* dbPerformCSGIntersectionOnVertexData -> dbCSGIntersectionOnVertexData
- New commands added for DBP 7.0
* dbMakeStaticObject
* dbMakeStaticLimb
* dbDeleteStaticObjects
* dbDeleteStaticObject
* dbSetStaticPortalsOn
* dbSetStaticPortalsOff
* dbBuildStaticPortals
* dbSetStaticObjectsWireframeOn
* dbSetStaticObjectsWireframeOff
* dbStaticLineOfSight
* dbGetStaticCollisionHit
* dbStaticRayCast
* dbStaticVolume
* dbGetStaticCollisionX
* dbGetStaticCollisionY
* dbGetStaticCollisionZ
* dbGetStaticCollisionCount
* dbGetStaticCollisionValue
* dbGetStaticCollisionFloor
* dbAddStaticObjectsToLightMapPool
* dbAddObjectToLightMapPool
* dbAddLightMapLight
* dbCreateLightMapS
* dbAddLimbToLightMapPool
* dbDeleteLightMapLightS
* dbAddStaticScorch
* dbLoadStaticObjects
* dbSetStaticScorch
* dbSetShadowLight
* dbReduceMesh
* dbAttachObjectToStatic
* dbDetachObjectFromStatic
* dbAddLODToObject
* dbSaveStaticObjects
* dbMakeStaticCollisionBox
* dbSetStaticUniverse
* dbFlushLightMaps
* dbCSGUnionOnVertexData
* dbCSGDifferenceOnVertexData
* dbCSGIntersectionOnVertexData

It is highly recommended that projects be recompiled with this update to ensure compatibility across all systems.

All plugins compiled by third-parties that utilized GDKLib Builder.exe should recompile using the new version to ensure that all functions are built properly."


Bored of the Rings
15
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 26th Jan 2009 10:31
many thanks for this Mistrel.

M
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 4th Feb 2009 11:27
PureGDK 1.1b2 is out!

The some of the examples have been revised to support changes in this in beta. Please replace your existing example source with the sources from beta 2 otherwise they might not compile or could produce unexpected results.

http://puregdk.com/files/upload/PureGDK_Upgrade-1.1b2-4.30.zip
http://puregdk.com/files/upload/PureGDK-Examples-7_1.zip

Changelog:

Quote: "PureGDK 1.1.0 Beta 2
====================

Bug fixes:
- Fixed a bug which caused executables to crash when ending the process on Windows Vista.
- Fixed a bug where an access violation would occur in ndb.dll when ending the process if the Newton Game Dynamics library was used.
- Fixed a bug where the PureGDK compiler would diplay both the GUI and the command-line window at the same time. The command line window is now hidden when compiling from the IDE as it was intended.
- The executable will no longer report an "active functions" notification when terminating on a runtime error if only one active function is locked.

Updates:
- dbKeyState now uses virtual-key codes to prevent scan code conflicts across multilingual keyboards. Please consult the documentation for more information.
- dbGetClipboardData and dbSetClipboard are obsolete and have been removed.
- dbCheckDisplayMode is obsolete. Use EnumDisplaySettings_() instead. Consult the documentation under "From DarkBasic to PureGDK -> Fundamental Differences" for more information on alternative solutions.
- Removed unsupported color depth parameter from dbSetDisplayMode. Use ChangeDisplaySettings_() instead.
- Added new commands from DBP 7.1 dbTextureScreen, dbSetScreenEffect, dbAddMemblockToObject, dbGetMemblockFromObject, and dbDeleteMemblockFromObject.
- Updated the documentation and added example sources to the "From DarkBasic to PureBasic" section of the help file."


Bored of the Rings
15
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 5th Feb 2009 07:17 Edited at: 5th Feb 2009 07:17
Unfortunately, when I compile using the beta version, I now get a message saying that it can't compile because the beta is out of date. I am using a fully licensed version of DBPro 7.1 and Purebasic 4.3. I get the same message for all of the examples too. Does anyone else have the same problem?

Please, please help.

Many thanks
Mike
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 5th Feb 2009 07:25 Edited at: 5th Feb 2009 07:29
The previous beta has expired. You'll need to download the new update (PureGDK 1.1b2) to continue using it. The condition for participating in the public beta is that the releases you download will expire.

I will always upload a new one before the current beta expires.

See my previous post in this thread for the links.

Bored of the Rings
15
Years of Service
User Offline
Joined: 25th Feb 2005
Location: Middle Earth
Posted: 6th Feb 2009 07:47
thanks again Mistrel, sorry I didn't see the update doh!!.

Mike
Siddy
11
Years of Service
User Offline
Joined: 16th Dec 2008
Location:
Posted: 12th Feb 2009 09:13 Edited at: 12th Feb 2009 09:15
Has anyone written up a comparison of DarkBASIC and PUREGDK?

The only difference i can see is that PureBASIC works on Linux and Mac, but can the functions of DBPro (direct x 9.0c) work on these systems?

What else is different? - can you used DBPro commands in the 64-bit vr. of pure basic?
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 12th Feb 2009 20:30 Edited at: 12th Feb 2009 21:21
DBP is DirectX 9 so it will not run on Mac/Linux, but it might work on WINE. DBP is 32-bit so PureBasic can only access it as a 32-bit executable.

PureGDK is a replacement for DBP. It lets you write everything in PureBasic just like you would in DBP but using the powerful PureBasic language instead. It's similar to DarkGDK but it differs in that it's compatible with all DBP plugins, it has an improved command library (many functions have been re-written/improved/replaced, and because it's a BASIC dialect it's much easier to program.

I've made many changes to several of the DarkBasic Professional libraries to add improvements. For example, I've eliminated vector and matrix IDs in favor of structure pointers, you now only need to call one command to retrieve the capabilities of the user's 3D hardware, all of the "Perform Checklist" command names have been shortened (yay!), and many useful commands that were hidden have been exposed and documented.

You can download DBP and PureGDK compiled examples with sources on the examples page of the PureGDK website:

http://puregdk.com/index.php?f=examples

Have a look at the fire demo (the first one on in the list). The demo demonstrates how to embed the DarkBasic render window into another and how to catch mouse input from the parent window using an API callback.

It also showcases several features of PureBasic including:

Threads
Window callbacks
Linked lists
Enumeration
MDI windows
Gadgets
Windows API

With Direct3D callbacks for a lost render device you can backup and restore important data in your game/application and prevent it from crashing if someone resets their screen resolution, changes desktops/workspaces, or if the screen saver pops up. With a DBP application your program would just crash when all of the data gets wiped from video memory.

PureGDK provides custom error handling so that you can capture and resolve runtime errors yourself. For example, if your program crashes you can prompt the user for information about the crash and send the data to yourself with the internal error number, line number, source file, and any other information that might allow you to locate the source of the problem. Or maybe you'll ask user's to optionally input their e-mail so you can follow-up.

PureGDK makes application programming using DarkBasic Professional realistic and easy. It also has a complete GUI library that is superior to BlueGUI. You also have complete access to the Windows API for adding advanced functionality to your program. With the addition of threads it's now possible to perform complex calculations in the background without the cursor lagging or mouse-clicks becoming lost.

On the topic of threads, PureGDK is 100% thread safe. That means you can run one thread for your rendering, one thread for input, and another thread for physics. PureGDK handles all of the additional code required for threaded programming using the DBP engine for you.

PureGDK comes with support for 21 plugins right out of the box:

Licensed Plugins:

2D Plugin Kit
3D Cloth & Particles Physics
Advanced Terrain
Dark Physics
Dark AI
Dark Lights
Enhanced Animations
eXtends
EZ Rotate Enhanced
STYX
TextureMax
Unity

Free Plugins:

D3DFunc
DarkSide Starburst
DBP Collisions
DKAVM
DKSHOP
EZ Rotate Basic
Multisync
Newton Game Dynamics
zParticles

The real advantage is the power of the PureBasic language. Things that would be cumbersome and in some cases impossible in DBP are easily done in PureBasic.

Some examples of useful things:

Structured linked lists:
http://www.purebasic.fr/english/viewtopic.php?t=34139

Loading icon resources:
http://www.purebasic.fr/english/viewtopic.php?t=35534

Changing the cursor at runtime:
http://www.purebasic.fr/english/viewtopic.php?t=35069

There are also a lot of fundamental changes to the way DBP works to make it easier to use. To highlight a few things:

Data structures to replace vector and matrix IDs

Quote: "PureGDK uses structures to instead of IDs to pass vector and matrix data between functions. To pass a vector to a function it must first be passed by address using the " @ " operator. The following example will create two variables with vector 2 structures and then add them together.

"


How to use optional flags

Quote: "PureBasic uses optional parameter flags in some functions like OpenWindow(). To use these optional flags simply use the bitwise OR operator " | " to separate each flag. This example will open the DarkBasic render window with a titlebar and center it on the screen by using a combination of the #PB_Window_SystemMenu and #PB_Window_ScreenCentered flags.

"


How to change the resolution:

Quote: "Unlike DBP, PureGDK does not stretch the resolution of the render window by default. If you want to use a lower resolution at a higher screen size then you can resize the window yourself:

"


Quote: "Identifying supported resolutions is also very easy using the Win32 API. Consider this example which lists all resolutions supported by the user's monitor that is of the same frequency and aspect ratio:

"


Function improvements:

Quote: "All of the functions for retrieving hardware capabilities have been reduced to a single function so you can now do call one function and check the user's hardware by transversing a structure (just like a DBP type):

"


Automatic ID association:

Quote: "PureGDK has automatic ID association when passing #GDK_Any or -1 as the ID. For example:



Where ObjectID is automatically assigned as the next free ID available. I've found this to be very convenient for keeping track of assets. You can do this, for example:



This way it's easy to capture IDs in your own lists for enumeration without all of those cumbersome FindFree..() functions."


Olby
16
Years of Service
User Offline
Joined: 21st Aug 2003
Location:
Posted: 12th Feb 2009 22:00 Edited at: 12th Feb 2009 22:03
And besides all above I wanted to tell that there is very good support for PureBasic. It has many libraries, lots of various code editors and such, so you will never experience any difficulties while coding with PGDK.

The best thing besides better coding techniques is the speed that PGDK gives you, on the one side it is easier and faster to develop extremely large and functional applications (excellent GUI support in PB is very helpful here) and on the other side you will still have a speed increase over applications compiled with DBPro.

My previous tests show that PureGDK is faster where your applications have to do many not Direct3D related things like list/array variable handling and such. So it is very great that you can have that much power and speed increase with this software.

Besides I see that Mistrel is dedicated to this project and keeps it updated so you will never miss anything!

I was planning to switch over to PGDK whole last year as soon as I saw PGDK release and have not regret it.

And last but not least if you look into PB commands you will see that all of them are extremely carefully planned and work very well together with other and also PureGDK command set unlike DBPro - where many commands are not working as expected or are very uncomfortable to integrate into your applications. This is not the case with PB and PGDK.

Over and out!

ACER Aspire 5920G: Core2Duo 2.2GHZ, 2GB, GeForce 8600M GT 1280MB, Windows Vista Ultimate SP1, DirectX10, DBPro 7.1
Siddy
11
Years of Service
User Offline
Joined: 16th Dec 2008
Location:
Posted: 13th Feb 2009 01:10
Thank you for the detailed reply.
I was going to email you to ask but i figured there would be others who would like to see a description of features. What intrigues me the most is the fact that PureBASIC seems to have fewer issues than DBPro.
Im still learning the basics of programming and getting the hang of DBPro, however i intend to make a program with simple graphics in the future and i think i will use PureGDK for it.
Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 13th Feb 2009 02:06 Edited at: 13th Feb 2009 02:08
A simplified way of looking at it is that PureBasic focuses on improving the language while DBP focuses on improving the engine.

Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 24th Feb 2009 11:08 Edited at: 24th Feb 2009 11:28
Here is an example of how to tie in recovery for an invalid render device with changing the display resolution. This is useful for windowed applications that want to reset the device resolution after resizing the window.

This example also demonstrates how to safely handle rendering in a thread and also how to maintain a given aspect ratio when altering the device resolution.

http://puregdk.com/files/upload/aspect-ratio.zip



Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 27th Feb 2009 05:47 Edited at: 27th Feb 2009 06:24
Here it is, PureGDK 1.1.0 Beta 3. Unless any new bugs crop up I think this will be the last beta.

This release includes all of the commands I could find that have been added since DBP 6.7 as well as their entries in the documentation. The Advanced Terrain library has also been added to the documentation, since the plugin now ships with the product.

http://puregdk.com/files/upload/PureGDK_Upgrade-1.1b3-4.30.zip
http://puregdk.com/files/upload/PureGDK-Examples-7_2-1.1b3.zip


Quote: "PureGDK 1.1.0 Beta 3
====================

Bug fixes:
- Fixed a bug where the PureGDK compiler would diplay both the GUI and the command-line window at the same time. The command line window is now hidden when compiling from the IDE as it was intended. This update was missing from 1.1.0 Beta 2.
- Fixed a bug where dbMouseMoveX and dbMouseMoveY calculated the first iteration incorrectly.
- Fixed a bug where the PureGDK compiler would not parse the include keyword correctly if it did not use parenthesis.
- Fixed a bug where the following commands would fail to return a value with the debugger on: dbLightExist, dbLightType, dbLightVisible, dbLightRange, dbLightPositionX, dbLightPositionY, dbLightPositionZ, dbLightDirectionX, dbLightDirectionY, dbLightDirectionZ.
- Removed old debug code in dbSetLightRotationVector that would cause a message box to be appear when called.
- Fixed a bug where dbMouseClick returned the wrong value for the right and middle mouse buttons. The value returned now matches the documentation.
- Fixed a bug where in dbIsIdentityMatrix could fail to recognize a matrix4 structure as an identity matrix.
- Fixed a bug in dbGetCameraPositionVector, dbGetCameraRotationVector, dbGetMatrixPositionVector, dbGetParticlePositionVector, and dbGetParticleRotationVector where they would failed to return the expected value.
- Fixed a bug where dbLoadEffect would cause an access violation error.
- Added all of the new GameFX commands which were missing from PureGDK 1.1.0 Beta 1.
- Added missing help documentaton to the System library.
- Fixed a bug where dbTextureScreen only accepted one parameter where it should have accepted two.

Updates:
- Swapped the parameter order of dbCloneSound to be consistent with other commands.
- DBP 7.0 Added new optional parameters to dbLoadEffect and dbSetCameraToImage
- DBP 7.0 Added new commands dbCheckListFValueA, dbCheckListFValueB, dbCheckListFValueC, and dbCheckListFValueD
- Removed the commands dbDisableSystemKeys, dbEnableSystemKeys, dbDisableEscapeKey and dbEnableEscapeKey. This functionality is obsolete in PureGDK 1.1.0 and can be handled through keyboard events.
- Added documentation to the help file for all of the new commands introduced since 6.7.
- Added the library Advanced Terrain to the core libraries. Refer to the documentation for a list of commands.
- The following commands will now automatically use and return the next free ID associated with the entity being created when passed an ID of #PB_Any or -1:
* dbLoadAnimation
* dbLoadDVDAnimation
* dbMakeLight
* dbLoadBitmap
* dbCreateBitmap
* dbLoadSound
* dbLoad3DSound
* dbCloneSound
* dbRecordSound
* dbLoadObject
* dbCloneObject
* dbInstanceObject
* dbMakeObject
* dbMakeObjectBox
* dbMakeObjectCone
* dbMakeObjectCube
* dbMakeObjectCylinder
* dbMakeObjectFromLimb
* dbMakeObjectPlain
* dbMakeObjectSphere
* dbMakeObjectTriangle
* dbLoadEffect
* dbLoadVertexShader
* dbLoadPixelShader
* dbLoadMesh
* dbMakeMeshFromObject
* dbLoadImage
* dbGetImage
* dbLoadMusic
* dbMakeMemblock
* dbMakeMemblockFromBitmap
* dbMakeMemblockFromImage
* dbMakeMemblockFromSound
* dbMakeMemblockFromMesh
* dbCopyMemblock
* dbMakeBitmapFromMemblock
* dbMakeImageFromMemblock
* dbMakeSoundFromMemblock
* dbMakeMeshFromMemblock
* dbChangeMeshFromMemblock
* dbMakeParticles
* dbMakeSnowParticles
* dbMakeFireParticles
* dbMakeCamera
* dbMakeMatrix
* dbMakeTerrain
* dbSprite
* dbCreateAnimatedSprite
* dbCloneSprite"


Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 27th Feb 2009 18:34
Be sure to uninstall any previous version of PureGDK that might be installed first, otherwise you'll get an error like this:



Functionality for this plugin has been merged into the core library GDKLib_Terrain and the framework library has been removed. If you try to start the PureBasic compiler without removing the duplicate library it will error.

Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 27th Feb 2009 19:58 Edited at: 27th Feb 2009 19:59
A small but important bug fix. Although I've been instructing people to uninstall PureGDK before reinstalling a new version since the start of this beta it would have helped if the uninstaller actually worked.

Quote: "PureGDK 1.1.0 Beta 4
====================

Bug fixes:
- Updated the uninstaller to be compatible with PureBasic 4.30."


http://puregdk.com/files/upload/PureGDK_Upgrade-1.1b4-4.30.zip

Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 17th Mar 2009 21:01 Edited at: 18th Mar 2009 02:30
It's out! As a special thank-you to everyone who participated as a beta tester, PureGDK is being discounted starting today until Tuesday of next week (March 24).

Existing users who purchased from PureGDK.com can log into their account immediately and download the official release. New users can purchase a copy from the order page here:

http://puregdk.com/index.php?f=purchase

Users who purchased through The Game Creators store will have to wait until links are updated by The Game Creators. I'll make an announcement when I have more information.

There have been a lot of changes and improvements! For those who are unfamiliar with what's different in the new version, here are the complete release notes since PureGDK 1.0.3:

Quote: "PureGDK 1.1.0
====================

DarkBasic Professional 7.2 is the version officially supported by this release of PureGDK.

Bug fixes:
- Fixed a bug where dbLoadMusic failed to return an ID with the debugger was off when passed #PB_Any.

Updates:
- Removed legacy code from dbLoadAnimation, dbLoadEffect, and dbLoadMusic. This will increase their responsiveness in tight loops with the debugger off.
- Updated the PureGDK framework library documentation.


PureGDK 1.1.0 Beta 4
====================

Bug fixes:
- Updated the uninstaller to be compatible with PureBasic 4.30.


PureGDK 1.1.0 Beta 3
====================

Bug fixes:
- Fixed a bug where the PureGDK compiler would display both the GUI and the command-line window at the same time. The command line window is now hidden when compiling from the IDE as it was intended. This update was missing from 1.1.0 Beta 2.
- Fixed a bug where dbMouseMoveX and dbMouseMoveY calculated the first iteration incorrectly.
- Fixed a bug where the PureGDK compiler would not parse the include keyword correctly if it did not use parenthesis.
- Fixed a bug where the following commands would fail to return a value with the debugger on: dbLightExist, dbLightType, dbLightVisible, dbLightRange, dbLightPositionX, dbLightPositionY, dbLightPositionZ, dbLightDirectionX, dbLightDirectionY, dbLightDirectionZ.
- Removed old debug code in dbSetLightRotationVector that would cause a message box to be appear when called.
- Fixed a bug where dbMouseClick returned the wrong value for the right and middle mouse buttons. The value returned now matches the documentation.
- Fixed a bug where in dbIsIdentityMatrix could fail to recognize a matrix4 structure as an identity matrix.
- Fixed a bug in dbGetCameraPositionVector, dbGetCameraRotationVector, dbGetMatrixPositionVector, dbGetParticlePositionVector, and dbGetParticleRotationVector where they would failed to return the expected value.
- Fixed a bug where dbLoadEffect would cause an access violation error.
- Added all of the new GameFX commands which were missing from PureGDK 1.1.0 Beta 1.
- Added missing help documentation to the System library.
- Fixed a bug where dbTextureScreen only accepted one parameter where it should have accepted two.

Updates:
- Swapped the parameter order of dbCloneSound to be consistent with other commands.
- DBP 7.0 Added new optional parameters to dbLoadEffect and dbSetCameraToImage
- DBP 7.0 Added new commands dbCheckListFValueA, dbCheckListFValueB, dbCheckListFValueC, and dbCheckListFValueD
- Removed the commands dbDisableSystemKeys, dbEnableSystemKeys, dbDisableEscapeKey and dbEnableEscapeKey. This functionality is obsolete in PureGDK 1.1.0 and can be handled through keyboard events.
- Added documentation to the help file for all of the new commands introduced since 6.7.
- Added the library Advanced Terrain to the core libraries. Refer to the documentation for a list of commands.
The following commands will now automatically use and return the next free ID associated with the entity being created when passed an ID of #PB_Any or -1:
* dbLoadAnimation
* dbLoadDVDAnimation
* dbMakeLight
* dbLoadBitmap
* dbCreateBitmap
* dbLoadSound
* dbLoad3DSound
* dbCloneSound
* dbRecordSound
* dbLoadObject
* dbCloneObject
* dbInstanceObject
* dbMakeObject
* dbMakeObjectBox
* dbMakeObjectCone
* dbMakeObjectCube
* dbMakeObjectCylinder
* dbMakeObjectFromLimb
* dbMakeObjectPlain
* dbMakeObjectSphere
* dbMakeObjectTriangle
* dbLoadEffect
* dbLoadVertexShader
* dbLoadPixelShader
* dbLoadMesh
* dbMakeMeshFromObject
* dbLoadImage
* dbGetImage
* dbLoadMusic
* dbMakeMemblock
* dbMakeMemblockFromBitmap
* dbMakeMemblockFromImage
* dbMakeMemblockFromSound
* dbMakeMemblockFromMesh
* dbCopyMemblock
* dbMakeBitmapFromMemblock
* dbMakeImageFromMemblock
* dbMakeSoundFromMemblock
* dbMakeMeshFromMemblock
* dbChangeMeshFromMemblock
* dbMakeParticles
* dbMakeSnowParticles
* dbMakeFireParticles
* dbMakeCamera
* dbMakeMatrix
* dbMakeTerrain
* dbSprite
* dbCreateAnimatedSprite
* dbCloneSprite


PureGDK 1.1.0 Beta 2
====================

Bug fixes:
- Fixed a bug which caused executables to crash when ending the process on Windows Vista.
- Fixed a bug where an access violation would occur in ndb.dll when ending the process if the Newton Game Dynamics library was used.
- Fixed a bug where the PureGDK compiler would display both the GUI and the command-line window at the same time. The command line window is now hidden when compiling from the IDE as it was intended.
- The executable will no longer report an "active functions" notification when terminating on a runtime error if only one active function is locked.

Updates:
- dbKeyState now uses virtual-key codes to prevent scan code conflicts across multilingual keyboards. Please consult the documentation for more information.
- dbGetClipboardData and dbSetClipboard are obsolete and have been removed.
- dbCheckDisplayMode is obsolete. Use EnumDisplaySettings_() instead. Consult the documentation under "From DarkBasic to PureGDK -> Fundamental Differences" for more information on alternative solutions.
- Removed unsupported color depth parameter from dbSetDisplayMode. Use ChangeDisplaySettings_() instead.
- Added new commands from DBP 7.1 dbTextureScreen, dbSetScreenEffect, dbAddMemblockToObject, dbGetMemblockFromObject, and dbDeleteMemblockFromObject.
- Updated the documentation and added example sources to the "From DarkBasic to PureBasic" section of the help file.


PureGDK 1.1.0 Beta 1
====================

DarkBasic Professional 7.1 is the version officially supported by this release of PureGDK.

Bug Fixes:
- Several errors were corrected in the Styx framework library that prevented it from working properly.
- The PureGDK compiler will no longer get stuck due to an infinite include loop.
- Fixed a bug where a PureGDK application would fail to run on certain hardware configurations and crash silently at startup. This affects all previously compiled executables.
- Rewrote the PureGDK's cleanup routines to end more gracefully.
- Fixed a bug in dbHideMouse which caused it to fail.
- Runtime errors caused by PureGDK's internal functions will now call the PureBasic debugger or, if the debugger is off, identify the line number of the offending function in your PureBasic source code.
- Fixed a bug in GDKLib Builder.exe where it would build the function incorrectly if it returned a value and had only one parameter.
- Fixed bugs in various vector functions that caused problems when calling from threads and catching runtime errors.
- Updates have been made to GDKLib Builder.exe to support the new internal threadsafe functions. All third-party libraries must be rebuilt and recompiled using this new version to be compatible with PureGDK.
- Fixed a bug where commands with the parameters SSLL, SSL, and SS that returned a long would crash the executable.
- Fixed a bug where the PureGDK did not end cleanly, causing the PureBasic IDE to continue debugging after the program had already ended.
- Fixed a bug in dbSetObjectToObjectOrientation which caused it to fail. Also added missing parameter and updated documentation.
- dbMouseX() and dbMouseY() now work beyond the extents of the 3D screen. Some code may need to be modified to support the new values which can extend in the negative and positive outside the screen resolution.
- Fixed a bug in SyncRate which caused it to fail.
- Show/hide mouse will no longer lag when entering/exiting the client area of the render window.
- Fixed a bug which caused dbLightExist, dbLightType, and dbLightVisible to fail to return a value with the debugger off.
- Fixed a bug where dbCSGClip would cause the executable to crash.

Updates:
- Removed redundant dbMessage command.
- The PureGDK functions for handling errors have changed. Please consult the 'How to... -> Reference Manual -> PureGDK' section of the documentation to see a list of revised commands.
- Most input commands for the keyboard and mouse are no longer limited to the client area of the render window. Some code may require changes to support this behavior.
- dbScanCode() is obsolete and has been removed. Use GetKeyState_() and MapVirtualKeyEx_() instead to obtain multiple scancodes asynchronously.
- dbCLS2 (Basic2D) has been renamed to dbCLSFill to prevent cross-library include conflicts with dbCLS from DBProCore.dll.
- PureGDK now supports changing the mouse using the SetCursor function of the Win32 API.
- The command dbSyncDelay has been removed to facilitate the changes made to OpenDBWnd which now require use of PureBasic's window event functions.
- Added missing command dbSetObjectMask
- DBP 6.9 Added new optional parameters to dbSetDisplayMode and dbCheckDisplayMode.
- DBP 6.9 Added new stereoscopic command dbSetCamerasStereoscopic.
- DBP 7.0 Added additional parameter Orientation to dbMakeObjectPlain
- DBP 7.0 Removed the obsolete commands dbTextureBackdrop and dbScrollBackdrop
- The compiler has been completely re-written and now includes a compile-time GUI
- Updated Newton Game Dynamics plugin commands for consistency where those that were preceded by NDB_Newton now begin with just NDB_
- DBP Added additional parameter SilentFail to dbLoadSound and dbLoad3DSound
- All PureGDK commands now use the same threadsafety code. Previously commands were only threadsafe while the debugger was off when compiling to a threadsafe executable.
- Added a new function dbGetActiveFunctions which will return the sum of all PureGDK functions currently waiting in queue. This is useful for debugging threadsafe executables that use PureGDK commands.
- Sounds are now loaded with the global flag set. This allows sounds to be played while the render window is a child of another window or changes parents during runtime. Unlike DBP's native command, this flag is not optional in PureGDK.
- Added mouse button 5 to dbMouseClick().
- dbSync functionality has been restored. It previously used only FastSync internally. Each Sync type should now function as expected.
- PureGDK no longer supports automatic thread cleanup. You must end all of your threads before ending the program or it will crash on exit. Additionally, exiting from within a user-defined thread is not supported by PureBasic and will also crash your executable.
- The following commands have been moved to the GameFX library:
* dbSetGlobalShadowsOn
* dbSetGlobalShadowsOff
* dbSetGlobalShadowColor
* dbSetShadowShades
* dbSetShadowPosition
* dbPerformCSGUnion
* dbPerformCSGDifference
* dbPerformCSGIntersection
* dbPerformCSGClip
- Revised command names (Commands moved to GameFX library included):
* dbPerformCSGUnion -> dbCSGUnion
* dbPerformCSGDifference -> dbCSGDifference
* dbPerformCSGIntersection -> dbCSGIntersection
* dbPerformCSGClip -> dbCSGClip
* dbPerformCSGUnionOnVertexData -> dbCSGUnionOnVertexData
* dbPerformCSGDifferenceOnVertexData -> dbCSGDifferenceOnVertexData
* dbPerformCSGIntersectionOnVertexData -> dbCSGIntersectionOnVertexData
* dbPerformCSGUnionOnVertexData -> dbCSGUnionOnVertexData
* dbPerformCSGDifferenceOnVertexData -> dbCSGDifferenceOnVertexData
* dbPerformCSGIntersectionOnVertexData -> dbCSGIntersectionOnVertexData
- New commands added for DBP 7.0
* dbMakeStaticObject
* dbMakeStaticLimb
* dbDeleteStaticObjects
* dbDeleteStaticObject
* dbSetStaticPortalsOn
* dbSetStaticPortalsOff
* dbBuildStaticPortals
* dbSetStaticObjectsWireframeOn
* dbSetStaticObjectsWireframeOff
* dbStaticLineOfSight
* dbGetStaticCollisionHit
* dbStaticRayCast
* dbStaticVolume
* dbGetStaticCollisionX
* dbGetStaticCollisionY
* dbGetStaticCollisionZ
* dbGetStaticCollisionCount
* dbGetStaticCollisionValue
* dbGetStaticCollisionFloor
* dbAddStaticObjectsToLightMapPool
* dbAddObjectToLightMapPool
* dbAddLightMapLight
* dbCreateLightMapS
* dbAddLimbToLightMapPool
* dbDeleteLightMapLightS
* dbAddStaticScorch
* dbLoadStaticObjects
* dbSetStaticScorch
* dbSetShadowLight
* dbReduceMesh
* dbAttachObjectToStatic
* dbDetachObjectFromStatic
* dbAddLODToObject
* dbSaveStaticObjects
* dbMakeStaticCollisionBox
* dbSetStaticUniverse
* dbFlushLightMaps
* dbCSGUnionOnVertexData
* dbCSGDifferenceOnVertexData
* dbCSGIntersectionOnVertexData

It is highly recommended that projects be recompiled with this update to ensure compatibility across all systems.

All plugins compiled by third-parties that utilized GDKLib Builder.exe should recompile using the new version to ensure that all functions are built properly."


Mistrel
Retired Moderator
14
Years of Service
User Offline
Joined: 9th Nov 2005
Location:
Posted: 18th Mar 2009 12:25 Edited at: 6th Oct 2009 06:22
PureGDK 1.1.0 is now available from The Game Creators store for those who have an account there.

Freddix
AGK Developer
17
Years of Service
User Offline
Joined: 19th Sep 2002
Location: France
Posted: 18th Mar 2009 13:42
Good news
Download'in progress
Bye

Gandalf said: "All we have to decide is what to do with the time that is given to us"
Odyssey-Creators - X-Quad Editor - 3DMapEditor

Login to post a reply

Server time is: 2020-02-29 07:10:38
Your offset time is: 2020-02-29 07:10:38