// ********************************************************************************** // * "inifile.c" * // * Written by : Carlos Torres * // * Tabulations : 4 char * // ********************************************************************************** // ********************************************************************************** // Included files #include #include #include #include #include "SCR.h" #include "a3x_glob.h" #include "makeanim.h" #include "l_global_v6.h" // ********************************************************************************** // SCRIPT FORMAT // ********************************************************************************** #define KEY_UNCOMPRESS "Uncompactable" #define KEY_PRECISION "Precision" #define KEY_DEFAULT_EPS "DefaultPrecision" // ********************************************************************************** fn_eFamilyCallBack // FAMILY CALLBACK // ********************************************************************************** SCR_tde_Anl_ReturnValue fn_eFamilyCallBack( SCR_tdst_File_Description *_p_stFile, char *_p_szName, char *_ap_SzParam[], SCR_tde_Anl_Action _eAction ) { if (_eAction == SCR_EA_Anl_BeginSection) { // Nothing to do } else if (_eAction == SCR_EA_Anl_Entry) { // force uncompress for that family if (!stricmp(_p_szName,KEY_UNCOMPRESS) ) { bCompactTbl = FALSE; } // set default precision for all anim else if (!stricmp(_p_szName,KEY_DEFAULT_EPS) ) { int i; SEB_xReal xPrecision; // check and set epsilon xPrecision = ReadDouble(0); if ((xPrecision > 0) && (xPrecision < 0.1)) { xDefaultEps = xPrecision; for (i=0;i 0) && (xPrecision < 0.1)) xPrecision(p_stCurrAnim) = xPrecision; else { fprintf(ErrorFile,"Bad epsilon specify in %s file %f for anim %s\n",MAKEANIM_OPTIONS_FILE,xPrecision,_ap_SzParam[0]); } break; } } } else { fprintf( ErrorFile, "Unknown field in %s File (%s)\n",MAKEANIM_OPTIONS_FILE,_p_szName); } } else if (_eAction == SCR_EA_Anl_EndSection) { // Nothing to do } return SCR_ERV_Anl_NormalReturn; } // ********************************************************************************** fn_v_IniFileInit // // ********************************************************************************** void fn_v_IniFileInit(char * szFamilyName) { // Register CallBack for the family to load SCR_fn_v_RdL0_RegisterCallback(szFamilyName,fn_eFamilyCallBack,SCR_CRC_c_RdL0_ForSection); } // **********************************************************************************