Exemplo n.º 1
0
dd_bool DD_Unix_Init(void)
{
    dd_bool failed = true;

    memset(&app, 0, sizeof(app));

    // We wish to use U.S. English formatting for time and numbers.
    setlocale(LC_ALL, "en_US.UTF-8");

    DD_InitCommandLine();

    Library_Init();

    // Determine our basedir and other global paths.
    determineGlobalPaths(&app);

    if(!DD_EarlyInit())
    {
        Sys_MessageBox(MBT_ERROR, DOOMSDAY_NICENAME, "Error during early init.", 0);
    }
#ifdef __CLIENT__
    else if(!initDGL())
    {
        Sys_MessageBox(MBT_ERROR, DOOMSDAY_NICENAME, "Error initializing DGL.", 0);
    }
#endif
    else
    {
        // Everything okay so far.
        failed = false;
    }

    return !failed;
}
Exemplo n.º 2
0
static LIB_BASE_T *LibOpen(void)
{
	LIB_BASE_T *LibBase = (LIB_BASE_T *) REG_A6;
	LIB_BASE_T *result = LibBase;
	ObtainSemaphore(&LibBase->LockSemaphore);
	LibBase->LibNode.lib_Flags &= ~LIBF_DELEXP;
	if (++LibBase->LibNode.lib_OpenCnt == 1)
	{
		if (!Library_Init(LibBase))
		{
			Library_Exit(LibBase);
			LibBase->LibNode.lib_OpenCnt--;
			result = NULL;
		}
	}
	ReleaseSemaphore(&LibBase->LockSemaphore);
	return result;
}