示例#1
0
文件: maingl.cpp 项目: cxd4/z64
EXPORT void CALL UpdateScreen (void)
{
#ifdef THREADED
  if (rglSettings.threaded) {
    rdpPostCommand();
  } else
#endif
  {
    rglUpdateStatus();
    rglUpdate();
  }
}
示例#2
0
文件: maingl.cpp 项目: cxd4/z64
EXPORT void CALL RomOpen (void)
{
	no_dlists = true;
	if (!b_fullscreen)
		rglNextStatus = RGL_STATUS_WINDOWED;
	else
		rglNextStatus = RGL_STATUS_FULLSCREEN;
#ifdef THREADED
  if (rglSettings.threaded) {
    rdpCreateThread();
  }
  else
#endif
	rglUpdateStatus();
}
示例#3
0
int rdpThreadFunc(void * dummy)
{
    while (1) {
        SDL_SemWait(rdpCommandSema);
        waiting = 1;
        if (rglNextStatus == RGL_STATUS_CLOSED)
            rglUpdateStatus();
        else
            rdp_process_list();
        if (!rglSettings.async)
            SDL_SemPost(rdpCommandCompleteSema);

        if (rglStatus == RGL_STATUS_CLOSED) {
            rdpThread = NULL;
            return 0;
        }
    }
    return 0;
}
示例#4
0
文件: maingl.cpp 项目: cxd4/z64
EXPORT void CALL RomClosed (void)
{
#ifdef THREADED
  if (rglSettings.threaded) {
#ifdef WIN32
    fflush(stdout); fflush(stderr);
    //while (waiting); // temporary hack
#endif
    rglNextStatus = RGL_STATUS_CLOSED;
#ifndef WIN32
    do
      rdpPostCommand();
    while (rglStatus != RGL_STATUS_CLOSED);
#else
    void rglWin32Windowed();
    rglWin32Windowed();
#endif
  } else
#endif
  {
    rglNextStatus = RGL_STATUS_CLOSED;
	rglUpdateStatus();
  }
}