Starting to build what I think is going to be a relatively simple plugin, a re-write of my bitmap font engine... I want to have bitmap fonts referred to in the same way as objects, using a vector.
//datatypes
class letter
{
public:
letter( ) { }
letter( const char inA, const int iLeft,
const int iWidth, const int iHeight, const int iImg )
{
Character = inA;
left = iLeft;
width = iWidth;
height = iHeight;
imgID = iImg;
}
letter& operator = ( const letter& inLetter )
{
Character = inLetter.Character;
left = inLetter.left;
width = inLetter.width;
height = inLetter.height;
imgID = inLetter.imgID;
return *this;
}
char Character;
int left,width,height,imgID;
};
//globals
std::vector<std::vector<letter>> Characters;
By using a nested vector I can just refer to an entire charset with a number, just like an object, but the thing is when I delete one all the others after it move back one slot to fill the gap. I'm thinking this would affect what variables refer to what fonts—let's say you have TimesNewRoman = 1 and Courier = 2, delete TimesNewRoman and now Courier points to an unavailable slot.
So how, in theory, do DBP object numbers work? why is it that when I delete one object, the other object numbers aren't affected? o.O
My second question is rather simple... Can I load the DBProFileDebug.dll library and do this:
type void (*LS_fp)(int,LPSTR);
type void (*L_fp)(int);
hModule dbpFileDebug = LoadLibrary("DBProFileDebug.dll");
LS_fp loadFile = (LS_fp)GetProcAddres( dbpFileDebug, "address of Open To Read" );
LS_fp readString = (LS_fp)GetProcAddress( dbpFileDebug, "address of Read String" );
L_fp closeFile = (L_fp)GetProcAddress( dbpFileDebug, "address of Close File" );
loadFile( 1, "mystring.txt" );
//can i do this
LPSTR rString;
readString( 1, rString );
closeFile( 1 );
Would that work or should I just learn how to open/read files with standard C++?

Remember those old guys? They made epic renders, I think one of them was called DaVinci, and all they used was MS Paint. Sometimes it's just skill....