Hey HeelX,

1)I guess this should do:
Code:
void RockInit(void);
void RockDestroy(void);
void RockUpdate(void);

void main()
{
	level_load(NULL);
}

function on_k_event()
{
	RockInit();
	
	wait(1);
	while(1)
	{
		RockUpdate();
		wait(1);
	}
}



2) Yes, I've used regular win32 style of exporting but both are actually the same:

DLLFUNC is defined as:
Code:
#define DLLFUNC extern "C" __declspec(dllexport)



And my code uses this and also extern "C" at the declarations:
Code:
#define ALIBROCKET_API __declspec(dllexport)



3) I didn't know about these render_ events, I will try to experiment with them.

4) Yes the I've gotten rid of every error and it loads up fine. I added diag()s to various places and confirmed that they are being called. libRocket calls my DLL's RenderCompiledGeometry function with many triangles(which I've confirmed non-zero with diag_var()s)

P.S: I even used procmon and confirmed that the application is reading and loading the resource files, they are all fine.