Quote: "For the "declarations", I mean that in the C++ code for Dark GDK, some functions exist but there was no forward declaration made for them."
If there is a missing declaration, this can be easily added to the plugin's associated template '.gdt' file. Run a single bat file and all of the source code required for every supported language will be generated automatically.
PureGDK actually has a declaration and definition pair. So allowing this process to be automated is advisable over doing it by hand. None of the wrapper code is written by hand anymore.
Quote: "I also fixed the problems with dbMakeObjectPlain/Plane"
As it was redundant and grammatically incorrect, PureGDK only has "dbMakeObjectPlane", so this is not an issue per se.
http://public.wsu.edu/~brians/errors/plain.html
http://www.beedictionary.com/common-errors/plain_vs_plane
Quote: "Regarding the display mode changes, here's an example from CGfxC.cpp:"
This will not be an issue at all. The documentation provides source examples on how to do this. Also of note:
http://forum.thegamecreators.com/?m=forum_view&t=187939&b=38&p=0
Another difference that some of you might not be aware of is that PureGDK does NOT use "DarkGDK()/LoopGDK()". You can use whatever entry point you want, be it main(), WinMain(), _tWinMain(), etc:
#include <puregdk.h>
#include <initPureGDK.h>
#include <simpleWindow.h>
int __stdcall WinMain(HINSTANCE, HINSTANCE, LPSTR, int) {
HWND hWnd;
If (!initPureGDK("gdkengine.dll"))
Return 1;
hWnd = OpenWindow(0, 0, 640, 480, "DarkBasic Professional - PureGDK",
WS_OVERLAPPED | WS_CLIPSIBLINGS | WS_CAPTION | WS_SYSMENU |
WS_CLIPCHILDREN, true);
dbOpenScreen(hWnd, 0, 0, 640, 480);
ShowWindow(hWnd, SW_SHOW);
// Set the current directory
SetCurrentDirectory("media1");
..
return 0;
}
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.
Quote: "Also, I'm still not clear as to what your commercial license terms will be. Do I get free an unlimited use? Limited to a single workstation? Must pay you if my products sell for more than £50? Or...?"
The license will be for a single-user node-locked license which means one user and it can only be installed on one computer at a time (it can be moved). I won't be enforcing the node-locked part for indie users but not abiding by the single-user portion can have your license suspended.
Similar to TGC's certificates, there will be a way to register your software offline.
There may be logo requirements in the 2.0 release. I'll probably be asking for feedback on this. This requirement won't be enforced unless you're selling the product or giving it away in high volume.
Right now the software exists as $60 freeware if you pair with DBP freeware or ~$120 if you bundle with DBP commercial. The PureGDK half is always commercial if you buy the 'Upgrade' package (same as the beta). The final price *may* change but I would like to keep it around this.
There may be an additional requirement for commercial if the gross revenue from the sale of software exceeds something like $250,000.
You will have to also check to see if TGC has anything in their fine print. I don't think there is though, but don't quote me on that.
Does that explain everything?