int main(int argc, char *argv[]) { if(argc < 3) { printf("Please provide exact number of arguments\n"); return 0; } InitConfiguration(argv[1]); clnt = TryConnection(); registerDevice(clnt); if(pthread_create(&tid,NULL,InitParams,(void*)argv[2]) != 0) { perror("Thread creation failed"); } if(pthread_create(&tid,NULL,setTimeInterval,(void*)argv[2])!=0) { perror("Thread creation failed"); } pthread_join(tid, NULL); return 0; }
BOOL APIENTRY DllMain(HINSTANCE hinstDLL, // DLL module handle uint32 fdwReason, // reason called LPVOID lpvReserved) // reserved { windowSetting.myhInst = hinstDLL; switch (fdwReason) { case DLL_PROCESS_ATTACH: InitConfiguration(); break; case DLL_THREAD_ATTACH: break; case DLL_THREAD_DETACH: break; case DLL_PROCESS_DETACH: if (bIniIsChanged) { WriteIniFile(); TRACE0("Write back INI file"); } break; } return TRUE; }
EXPORT void CALL RomOpen(void) { #ifdef DEBUGON // _break(); #endif InitConfiguration(); if( g_CritialSection.IsLocked() ) { g_CritialSection.Unlock(); TRACE0("g_CritialSection is locked when game is starting, unlock it now."); } status.bDisableFPS=false; #if defined(__GX__) # ifdef USE_EXPANSION g_dwRamSize = 0x800000; # else g_dwRamSize = 0x400000; # endif #else //__GX__ g_dwRamSize = 0x800000; #endif //!__GX__ #ifdef _DEBUG if( debuggerPause ) { debuggerPause = FALSE; usleep(100 * 1000); } #endif #ifdef USING_THREAD uint32 threadID; for(int i = 0; i < 5; i++) { threadMsg[i] = CreateEvent( NULL, FALSE, FALSE, NULL ); if (threadMsg[i] == NULL) { ErrorMsg( "Error creating thread message events"); return; } } threadFinished = CreateEvent( NULL, FALSE, FALSE, NULL ); if (threadFinished == NULL) { ErrorMsg( "Error creating video thread finished event"); return; } videoThread = CreateThread( NULL, 4096, VideoThreadProc, NULL, NULL, &threadID ); #else StartVideo(); #endif #ifdef __GX__ VIDEO_SetPreRetraceCallback(VI_GX_PreRetraceCallback); #endif // __GX__ }
/* Mupen64Plus plugin functions */ m64p_error ricePluginStartup(m64p_dynlib_handle CoreLibHandle, void *Context, void (*DebugCallback)(void *, int, const char *)) { if (l_PluginInit) return M64ERR_ALREADY_INIT; /* first thing is to set the callback function for debug info */ l_DebugCallback = DebugCallback; l_DebugCallContext = Context; /* open config section handles and set parameter default values */ if (!InitConfiguration()) return M64ERR_INTERNAL; l_PluginInit = 1; return M64ERR_SUCCESS; }
EXPORT m64p_error CALL PluginStartup(m64p_dynlib_handle CoreLibHandle, void *Context, void (*DebugCallback)(void *, int, const char *)) { /* Get the core config function pointers from the library handle */ ConfigOpenSection = (ptr_ConfigOpenSection) osal_dynlib_getproc(CoreLibHandle, "ConfigOpenSection"); ConfigSetParameter = (ptr_ConfigSetParameter) osal_dynlib_getproc(CoreLibHandle, "ConfigSetParameter"); ConfigGetParameter = (ptr_ConfigGetParameter) osal_dynlib_getproc(CoreLibHandle, "ConfigGetParameter"); ConfigSetDefaultInt = (ptr_ConfigSetDefaultInt) osal_dynlib_getproc(CoreLibHandle, "ConfigSetDefaultInt"); ConfigSetDefaultFloat = (ptr_ConfigSetDefaultFloat) osal_dynlib_getproc(CoreLibHandle, "ConfigSetDefaultFloat"); ConfigSetDefaultBool = (ptr_ConfigSetDefaultBool) osal_dynlib_getproc(CoreLibHandle, "ConfigSetDefaultBool"); ConfigSetDefaultString = (ptr_ConfigSetDefaultString) osal_dynlib_getproc(CoreLibHandle, "ConfigSetDefaultString"); ConfigGetParamInt = (ptr_ConfigGetParamInt) osal_dynlib_getproc(CoreLibHandle, "ConfigGetParamInt"); ConfigGetParamFloat = (ptr_ConfigGetParamFloat) osal_dynlib_getproc(CoreLibHandle, "ConfigGetParamFloat"); ConfigGetParamBool = (ptr_ConfigGetParamBool) osal_dynlib_getproc(CoreLibHandle, "ConfigGetParamBool"); ConfigGetParamString = (ptr_ConfigGetParamString) osal_dynlib_getproc(CoreLibHandle, "ConfigGetParamString"); ConfigGetSharedDataFilepath = (ptr_ConfigGetSharedDataFilepath) osal_dynlib_getproc(CoreLibHandle, "ConfigGetSharedDataFilepath"); ConfigGetUserConfigPath = (ptr_ConfigGetUserConfigPath) osal_dynlib_getproc(CoreLibHandle, "ConfigGetUserConfigPath"); ConfigGetUserDataPath = (ptr_ConfigGetUserDataPath) osal_dynlib_getproc(CoreLibHandle, "ConfigGetUserDataPath"); ConfigGetUserCachePath = (ptr_ConfigGetUserCachePath) osal_dynlib_getproc(CoreLibHandle, "ConfigGetUserCachePath"); if (!ConfigOpenSection || !ConfigSetParameter || !ConfigGetParameter || !ConfigSetDefaultInt || !ConfigSetDefaultFloat || !ConfigSetDefaultBool || !ConfigSetDefaultString || !ConfigGetParamInt || !ConfigGetParamFloat || !ConfigGetParamBool || !ConfigGetParamString || !ConfigGetSharedDataFilepath || !ConfigGetUserConfigPath || !ConfigGetUserDataPath || !ConfigGetUserCachePath) { //DebugMessage(M64MSG_ERROR, "Couldn't connect to Core configuration functions"); return M64ERR_INCOMPATIBLE; } #ifdef __NEON_OPT //if (android_getCpuFamily() == ANDROID_CPU_FAMILY_ARM && // (android_getCpuFeatures() & ANDROID_CPU_ARM_FEATURE_NEON) != 0) { // MathInitNeon(); // gSPInitNeon(); //} #endif InitConfiguration(); return M64ERR_SUCCESS; }
int riceInitiateGFX(GFX_INFO Gfx_Info) { memset(&status, 0, sizeof(status)); windowSetting.fViWidth = 320; windowSetting.fViHeight = 240; status.ToResize = false; status.bDisableFPS=false; if (!InitConfiguration()) { DebugMessage(M64MSG_ERROR, "Failed to read configuration data"); return false; } CGraphicsContext::InitWindowInfo(); CGraphicsContext::InitDeviceParameters(); return true; }