Пример #1
0
/*
 *  セレクト
 */
BOOL SelectSch(void)
{
	/*
	 * スレッド生成
	 */
	AG_ThreadCreate(&SchThread, &ThreadSch, NULL);
	return TRUE;
}
Пример #2
0
Файл: anim.c Проект: adsr/agar
int
AG_AnimPlay(AG_AnimState *ast)
{
	int rv = 0;

	AG_MutexLock(&ast->lock);
	ast->play = 1;
#ifdef AG_THREADS
	if (AG_ThreadCreate(&ast->th, AnimProc, ast) != 0) {
		AG_SetError("Failed to create playback thread");
		rv = -1;
		ast->play = 0;
	}
#else
	AG_SetError("AG_AnimPlay() requires threads support");
	rv = -1;
#endif
	AG_MutexUnlock(&ast->lock);
	return (rv);
}
Пример #3
0
void	InitDraw(void)
{
		/*
		 * ワークエリア初期化
		 */
#if XM7_VER >= 3
		bMode = SCR_200LINE;
                bModeOld = bMode;
#else				/*  */
		bAnalog = FALSE;

#endif				/*  */
		bNowBPP = 24;
                pVirtualVramBuilder = NULL;
                _prefetch_data_write_permanent(&rgbTTLGDI, sizeof(rgbTTLGDI));
                memset(rgbTTLGDI, 0, sizeof(rgbTTLGDI));
                _prefetch_data_write_permanent(&rgbAnalogGDI, sizeof(rgbAnalogGDI));
		memset(rgbAnalogGDI, 0, sizeof(rgbAnalogGDI));
                _prefetch_data_write_permanent(&SDLDrawFlag, sizeof(SDLDrawFlag));
		memset((void *)&SDLDrawFlag, 0, sizeof(SDLDrawFlag));
   
		nDrawTop = 0;
		nDrawBottom = 400;
		nDrawLeft = 0;
		nDrawRight = 640;
		nOldDrawHeight = 480;
		nOldDrawWidth = 640;
		nDrawHeight = 480;
		nDrawWidth = 640;
		nDrawFPS = 25;
		nEmuFPS = 20;
		bSyncToVSYNC = TRUE;
		bSmoosing = FALSE;

		bFullScan = TRUE;
		bPaletFlag = FALSE;
		bOldFullScan = bFullScan;
#if XM7_VER >= 3
		nOldVideoMode = SCR_200LINE;
#else
		nOldVideoMode = FALSE;
#endif
	        bFullScanFS = FALSE;
	        bDoubleSize = FALSE;
#if XM7_VER == 1
	        bGreenMonitor = FALSE;
#endif
                bRasterRendering = FALSE;
                bNextFrameRender = FALSE;
                
                _prefetch_data_write_permanent(bDirtyLine, sizeof(bDirtyLine));
                memset(bDirtyLine, 0, sizeof(bDirtyLine));
                _prefetch_data_write_permanent(bDrawLine, sizeof(bDrawLine));
                memset(bDrawLine, 0, sizeof(bDrawLine));
		SetDrawFlag(FALSE);
		nDrawTick1D = 0;
		nDrawTick1E = 0;
		newResize = FALSE;
                old_crtflag = 1;

#if XM7_VER >= 3
		bWindowOpen = FALSE;
		nWindowDx1 = 640;
		nWindowDy1 = 400;
		nWindowDx2 = 0;
		nWindowDy2 = 0;
#endif				/*  */
		bDirectDraw = TRUE;
		DrawINGFlag = FALSE;
		DrawSHUTDOWN = FALSE;
		DrawWaitFlag = FALSE;
//		bUseOpenGL = TRUE;

		/*
		 * 直接書き込み→間接書き込み
		 */

		AG_ThreadCreate(&DrawThread, DrawThreadMain, NULL);
		if(!DrawInitSem) {
			DrawInitSem = SDL_CreateSemaphore(1);
			SDL_SemPost(DrawInitSem);
		}
		/*
		 *  VRAMテクスチャ生成
		 */
#ifdef USE_OPENGL
   uVramTextureID = 0;
#endif /* USE_OPENGL */
   initvramtbl_4096_vec();
   Select640();
}