Example #1
0
sdword lodAutoSave(lodinfo *LOD)
{
    sdword level;
    FILE *fp;
    char *filePath;
    real32 baseScalar = 1.0f, stripeScalar = 1.0f;

    fp = fopen(LOD->fileName, "wt");
    if (fp == NULL)
    {
        dbgWarningf(DBG_Loc, "Cannot open '%s' for writing - not checked out?", LOD->fileName);
        return(ERROR);
    }
    fprintf(fp, "[Auto-Saved LOD file]\n");
    fprintf(fp, "pointColor                  %d,%d,%d\n\n", colRed(LOD->pointColor), colGreen(LOD->pointColor), colBlue(LOD->pointColor));

    for (level = 0; level < LOD->nLevels; level++)
    {
        fprintf(fp, "\n");
        if (LOD->level[level].baseScalar != baseScalar)
        {
            baseScalar = LOD->level[level].baseScalar;
            fprintf(fp, "baseScalar                  %.2f\n", baseScalar == 0.0f ? 1.0f : baseScalar);
        }
        if (LOD->level[level].stripeScalar != stripeScalar)
        {
            stripeScalar = LOD->level[level].stripeScalar;
            fprintf(fp, "stripeScalar                %.2f\n", stripeScalar == 0.0f ? 1.0f : stripeScalar);
        }
        fprintf(fp, "type%d                       %s\n", level, lodTypeStrings[LOD->level[level].flags & LM_LODType]);
        if ((LOD->level[level].flags & LM_LODType) == LT_Mesh)
        {
            filePath = strchr(((meshdata *)LOD->level[level].pData)->fileName, '\\') + 1;
#if LOD_ERROR_CHECKING
            if (*filePath == 0)
            {
                dbgFatalf(DBG_Loc, "Could not find '\\' in '%s'", ((meshdata *)LOD->level[level].pData)->fileName);
            }
#endif
            fprintf(fp, "pMeshFile%d                  %s\n", level, filePath);
        }
        fprintf(fp, "mOn%d                        %.1f\n", level, LOD->level[level].mOn);
        fprintf(fp, "bOn%d                        %.0f\n", level, LOD->level[level].bOn);
        fprintf(fp, "mOff%d                       %.1f\n", level, LOD->level[level].mOff);
        fprintf(fp, "bOff%d                       %.0f\n", level, LOD->level[level].bOff);
    }
    fclose(fp);
    return(0);
}
Example #2
0
/*-----------------------------------------------------------------------------
    Name        : liLayerFindByName
    Description : Find a named layer in the specified image.
    Inputs      : image - image to search for name in.
                  name - name of layer to search for.
    Outputs     : ..
    Return      : Pointer to named layer, or NULL if it doesn't exist.
----------------------------------------------------------------------------*/
lilayer *liLayerFindByName(layerimage *image, char *name)
{
    sdword index;

    for (index = 0; index < image->nLayers; index++)
    {                                                       //for all layers
        if (!strcmp(name, (char *)image->layers[index].name))
        {                                                   //if layer names match
            return(&image->layers[index]);                  //return pointer to layer
        }
    }
#if LI_NAMED_LAYER_WARNINGS
    dbgWarningf(DBG_Loc, "Layer '%s' does not exist in layered image '%s'.", name,
#if LI_RETAIN_NAME
        image->fileName);
#else
        "<no name available>");
#endif //LI_RETAIN_NAME
#endif //LI_NAMED_LAYER_WARNINGS
    return(NULL);                                           //no names layer found
}
Example #3
0
/*-----------------------------------------------------------------------------
    Name        : primErrorMessagePrint
    Description : Print any errors generated by rendering system
    Inputs      : line, file - location function called from
    Outputs     : checks error messages and prints out any errors found
    Return      :
----------------------------------------------------------------------------*/
void primErrorMessagePrintFunction(char *file, sdword line)
{
    GLenum errorEnum;
    //there can be multiple errors simultaneously.  detect them all
    //in one call to this fn for debugging simplicity
    for (;;)
    {
        errorEnum = glGetError();
        if (errorEnum == GL_NO_ERROR)
        {
            return;
        }
        else
        {
//#ifndef khentschel
            if (RGLtype != GLtype)
//#endif
            {
                dbgWarningf(file, line, "glGetError returned '%s'", rgluErrorString(errorEnum));
			}
        }
    }
}