Ok, good question, and I'll endevour to answer.
The good news is, that projects using the original version should still work. This will require rereffing a new Class Library, and a couple of minor changes to namespacing, but the function names should be compatable. The COM interop library of the toolkit had to be completely rebuilt due to Intellisence(tm) requirements for Visual Studio 2008.
What will be different is that it is now fully Object Oriented. Although the original underlying interfaces remain, the new toolkit will allow you to create and manage your game using Objects and classes.
A typical example of the template project:
Imports DarkGDK
Imports DarkGDK.Engine
Imports DarkGDK.Core
Imports DarkGDK.Basic2D
Imports DarkGDK.Basic2D.Sprite
Imports DarkGDK.Basic3D
Imports DarkGDK.Basic3D.Object3D
''' <summary>
''' Our main application's form. The form contains a DarkGDK ctlDarkDGKViewport
''' control which is responsible for initializing the DarkGDK.NET toolkit for you
''' To change any of the default settings for DarkGDK.NET, modify the control's
''' properties within the Windows Form Designer.
''' </summary>
''' <remarks></remarks>
Public Class fMain
Private Sub GameLoop()
Dim oCube As New Cube(10)
While DarkGDK.Engine.LoopGDK()
' Rotate our cube along it's Y axis
DarkGDK.Camera.ControlUsingArrowKeys(1, 1)
' Refresh the 3D display so we may see our cube
'If DarkGDK.IO.Keyboard.Escape() = True Then
' DarkGDK.Engine.StopGDKLoop()
'End If
Sync()
End While
End Sub
''' <summary>
''' This event is called once the form has been shown. We use this opportunity
''' to call our GameLoop method for processing.
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub fMain_Shown(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Shown
GameLoop()
End Sub
''' <summary>
''' Called when our form is closed. We use this event to tell DarkGDK.NET
''' to complete any processing and terminate the engine. This will also
''' allow the GameLoop to exit cleanly and terminate our application.
''' </summary>
''' <param name="sender"></param>
''' <param name="e"></param>
''' <remarks></remarks>
Private Sub fMain_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
DarkGDK.Engine.StopGDKLoop()
End Sub
Public Sub New()
' This call is required by the Windows Form Designer.
InitializeComponent()
' Add any initialization after the InitializeComponent() call.
End Sub
End Class
The new version will contain extended tutorials to emphasize specific functional areas as well, including the DarkInvaders sample that was originally distributed with the C++ version.
As for some cool extras, IO functions now work on DarkGDK window controls. If you want a winform situation where your 3D view appears on the form, you only have to draw the control onto the form, set it's properties for refresh speed and video mode. The toolkit takes care of initializing and managing the library for you.
Everything will be ultra cool, and easy to use.
Not long now folks, and I appreciate your patience.
Paul.
DarkGDK.NET Developer