Quote: "This "new" DarkGDK is nothing like the first versions, which I found somewhat dissapointing."
The goals of DarkGDK 2.0 are different from the original. To support more users across different languages some sacrifices had to be made; namely the order of parameters. It would be even more of an issue if the parameters of DarkGDK were to change on a language-to-language basis rather than JUST between DarkGDK 1.0 and 2.0.
Command renaming for clarity is meant to remove much of the baggage gained from its DarkBasic roots. For example:
Quote: "
PERFORM CHECKLIST FOR CONTROL DEVICES"
Becomes:
Quote: "
dbControlDevicesChecklist"
Another example where a command might be different is "dbSetDisplayMode".
In DarkGDK 1.0 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 DarkGDK 2.0 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.
Quote: "The simplicity that DGDK once held has been haphazardly lost, and it seems that once this project takes off we will all be paying for a shiny, new PureGDK with no added benefits whatsoever"
Much of the improvements from DarkGDK 1.0 to 2.0 are described in the sticky "DarkGDK 2.0 Summary of Features":
http://forum.thegamecreators.com/?m=forum_view&t=196866&b=22
Highlights include.. new documentation, multithreading support, support for DBP plugins, 250 new commands (with documentation), superior C++ support (Visual Studio 2012, for example), etc..
Quote: "The "main.cpp" file is much too cluttered with functions that we shouldn't have to worry about in a high-level library, and needs to be modified in such a way that it emulates the "main.cpp" file from DGDK1.0. Great idea, poor form."
The elimination of "void DarkGDK" and "LoopGDK" was necessary to support other languages. Additionally, this allows DarkGDK to render to "any" window owned by the process and is not limited to any one implementation, for example: you can use DarkGDK with GLUT, Qt, Win32, wxWidgets, etc.
Quote: "Previous libraries, despite the misconceptions aroused by newbies, ALWAYS supported plugins"
DarkBasic Professional plugins are not compatible with DarkGDK 1.0. They are in DarkGDK 2.0.
DarkGDK uses structures to instead of IDs to pass vector and matrix data between functions. No more Vector3ID or Matrix4ID.
There is so much which has changed for the better, I promise you. Much of it simply isn't obvious from the surface.