also i think a problem with making the object creation return the object directly is with cross language compatibility.
For instance my swig wrapper (with which i can test and prototype pureGDK things in python) would be much more complex if i had to also wrap each objects class and its methods in a way other languages can use.
By simply having basic functions and letting PureGDK alter the objects internally wrapping it for other languages is very simple.
If you want objects in other languages you could create a class in that language that has the id number built into it and give it the methods that object would have and pass through to the pureGDK functions and give the object id that is defined in the class automatically.
Short inaccurate(not the actual function names etc.) example for python (although im sure this can be done in any language):
class Box:
def __init__(self):
self.id = PureGDK.create_box()
def move(self, x, y, z):
PureGDK.move_box(self.id, x, y, z)
So by not having pureGDK give off objects this type of class can be easily made for almost any language that supports OOP.
Wow sorry for going off on a tangent its late here.
The one thing i would love to see though is the ability to statically link the library because the problem with my wrapper at the moment is that i have had to turn each of the source and header files required to use the .dll into a dynamically linked module so i have multiple dynamically linked modules that exist purely to call a dynamically linked module (the puregdk dll) if that makes any sense. It would be a massive boost to wrapping to be able to statically link in the functions that each module for the functions in one module thus avoiding a dynamic module of functions that calls another dynamic module.
but meh it works atleast and im sure they have good reasons to keep it a dll.
EDIT:
Quote: "DarkGDK 2.0 will retain the current DirectX implementation to preserve legacy applications and to ensure prolonged stability"
Does this mean that DarkGDK 2.0 will only have the current DirectX implementation or is there a possibility of supporting something other then DX9 along side the current legacy implementation?
I swear to the programmers bible that I shall not harm the FPS.