Hey, this will be awesome when its done. I dont know open gl or directx, but i guess you are planning to sync it using the "flip" function where the buffer with the new image replaces the old image. Im not even sure if that function exists lol, thats just what the old calculators i used to program called it. Anyway, if you do that shouldnt you theoretically be able to instead of using opengl/directx draw routines just use tibias. That would, to me anyway, seem alot more useful especially if you added functionality additional functionality to hook some of tibias draw routines, like the draw menus and draw text. Anyway, anything of this sort would be great.
Im also going to add a snippet of code which launches tibia from within its working directory ie it solves the problem of copying the tibia.dat ect files. It uses the windows api, i dont know what ur using but maybe it will be useful, its just that it took me a while to figure out so you may as well be spared it .
Code:
//look up these two structures as they contain some useful info like PiD and a handle to the new process if you want it. If u do want it, set handle inheritance to true.
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
ZeroMemory( &pi, sizeof(pi) );
// Start the child process.
if(CreateProcess( NULL, // No module name (use command line)
(char *)com,//"\"C:\\Program Files\\Tibia\\Tibia.exe\"", // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
0, // No creation flags
NULL, // Use parent's environment block
(char *)dir,//"C:\\Program Files\\Tibia", // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi ) // Pointer to PROCESS_INFORMATION structure
)