reman3/Rayman_X/cpa/tempgrp/SIF/sifloadsCB.c

102 lines
2.4 KiB
C

#include "SCR.h"
#include "SND.H"
#include "SIF.h"
#include "SifLoadS.h"
#include "ldt.h"
extern enum _SIF_eInfoTypeId
{
ENVIRONMENT_INFO,
MATERIAL_INFO,
NB_INFO_TYPES,
} SIF_eInfoTypeId;
extern SIF_tdstInfoType SIF_ga_stInfoDescr[NB_INFO_TYPES];
/*****************************************************************
Function name : fn_iLoadInfoType
Description :
Author : Ovidiu Scripa (oscripa@ubisoft.ro) - ROMTEAM
Creation Date : 14-Oct-98
Modified :
Return type : int
Argument : LDT_tdst_Link *pLink
*****************************************************************/
int fn_iLoadInfoType( LDT_tdst_Link *pLink )
{
LDT_tdeParseResult result=ParseResult_BeginSection;
char* szAction = LDT_szGetSectionName();
if (strcmp(szAction,"Material")==0)
{
pLink->pObject = (void*)MATERIAL_INFO;
}
else if (strcmp(szAction,"Environment")==0)
{
pLink->pObject = (void*)ENVIRONMENT_INFO;
}
else
{
SND_fn_vDisplayError(E_uwSndInvalidTypeOfResource,"SIF:Unknown Sound Info Type found in scrip");
return 1;
}
while( result!=ParseResult_EndSection )
{
result=LDT_GetNextEntry();
switch( result )
{
case ParseResult_BeginSection: /* a subsection - CreateNewState*/
{
LDT_LoadSection( NULL );
}
break;
}
}
return 0;
}
/*****************************************************************
Function name : fn_iLoadInfoValue
Description :
Author : Ovidiu Scripa (oscripa@ubisoft.ro) - ROMTEAM
Creation Date : 14-Oct-98
Modified :
Return type : int
Argument : LDT_tdst_Link *pLink
*****************************************************************/
int fn_iLoadInfoValue( LDT_tdst_Link *pLink )
{
LDT_tdeParseResult result=ParseResult_BeginSection;
int iInfoType = (int)pLink->pParent->pObject;
char szSectionName[_MAX_PATH];
/* char szValueName[_MAX_PATH], szFile[_MAX_PATH], szParent[MAX_PATH], szType[_MAX_PATH];*/
while( result!=ParseResult_EndSection )
{
result=LDT_GetNextEntry();
switch( result )
{
case ParseResult_Entry: /* an entry : SetValue*/
{
int iLen = LDT_ComputeSectionName( pLink, szSectionName );
SCR_fnp_st_Link_SetValue(&SIF_ga_stInfoDescr[iInfoType].m_Table,/* Link table*/
szSectionName + iLen, /* Section name*/
(unsigned long)(pLink->pObject = (void*)(atoi(LDT_szGetParam(1)))) );/* value*/
}
}
}
return 0;
}