DBPro has a feature call types which are similar to classes except more limited. They only support basic data types integers, floats etc. DBPro doesn't support arrays within types and I don't think you can have type specific functions. So basically classes without arrays and functions. But DBPro does support types within types.
Type in DBPro:
type mytype
x as integer
y as integer
z as integer
endtype
type myobject
pos as mytype
id as integer
endtype
a as mytype
dim b(10) as myobject
wait key
end
Class in c++
#include <iostream>
using namespace std;
class myclass {
public:
int x;
int y;
int z;
int myarray[10]; // illegal in DBPro
void myfunc();
};
/* this would have to be created as a separate
function and called separately in DBPro */
void myclass::myfunc() {
cout << "Hello World" << endl;
}
int main()
{
myclass var;
var.myarray[1] = 1; // illegal in dbpro
var.myfunc(); // illegal in dbpro
var.x = 8; // fine in dbpro
return 0;
}
If you really wanted to use classes then I suggest DarkGDK and it is supposed to support Dark ai, physics (roll your mouse over the DGDK option in the drop down menu).
Hope that makes sense and helps