示例#1
0
void D3DLog()
{
	if (g_pD3D == NULL) return;

#ifndef _PUBLISH
	mlog("D3D_SDK_VERSION = %d \n", D3D_SDK_VERSION);
#endif

	char szDesc[512]="";
	sprintf(szDesc, "Device = %s ( vendor=%x device=%x subsys=%x revision=%x )\n", RGetAdapterID()->Description,
		RGetAdapterID()->VendorId,RGetAdapterID()->DeviceId,RGetAdapterID()->SubSysId,RGetAdapterID()->Revision);
	mlog(szDesc);

	sprintf(szDesc, "Driver Version = %d.%d.%04d.%04d\n",
		RGetAdapterID()->DriverVersion.HighPart >> 16 , RGetAdapterID()->DriverVersion.HighPart & 0xffff,
		RGetAdapterID()->DriverVersion.LowPart >> 16 , RGetAdapterID()->DriverVersion.LowPart & 0xffff );
	mlog(szDesc);
}
RRESULT OnError(void *pParam)
{
	cclog("RealSpace::OnError(%d) \n", RGetLastError());

	switch (RGetLastError())
	{
	case RERROR_INVALID_DEVICE:
		{
			D3DADAPTER_IDENTIFIER9 *ai=RGetAdapterID();
			char szLog[512];
			ZTransMsg( szLog, MSG_DONOTSUPPORT_GPCARD, 1, ai->Description);

			int ret=MessageBox(NULL, szLog, ZMsg( MSG_WARNING), MB_YESNO);
			if(ret!=IDYES)
				return R_UNKNOWN;
		}
		break;
	case RERROR_CANNOT_CREATE_D3D:
		{
			ShowCursor(TRUE);

			char szLog[512];
			sprintf(szLog, ZMsg( MSG_DIRECTX_NOT_INSTALL));

			int ret=MessageBox(NULL, szLog, ZMsg( MSG_WARNING), MB_YESNO);
			if(ret==IDYES)
			{
				ShellExecute(g_hWnd, "open", ZMsg( MSG_DIRECTX_DOWNLOAD_URL), NULL, NULL, SW_SHOWNORMAL); 
			}
		}
		break;

	};

	return R_OK;
}