132 lines
3.9 KiB
C
132 lines
3.9 KiB
C
#ifndef D_THROW_PRT
|
|
/*******************************************************/
|
|
/**** For the structures and variables declarations ****/
|
|
/*******************************************************/
|
|
#define D_MSPrtSrc_StructureDefine
|
|
#define D_MSPrtSrc_VariableDefine
|
|
|
|
#include "ToolsCPA.h"
|
|
|
|
#include "Options/Options.h"
|
|
#include "Macros.h"
|
|
|
|
#include "Actions/AllActs.h"
|
|
|
|
#include "Structur/MemGame.h"
|
|
#include "Structur/ErrGame.h"
|
|
#include "Structur/Objects.h"
|
|
#include "Structur/GameScpt.h"
|
|
#include "Structur/StdObjSt.h"
|
|
#include "Structur/EngMode.h"
|
|
|
|
#include "Basic.h"
|
|
#include "ObjInit.h"
|
|
#include "ZeMem.h"
|
|
#include "MainChar.h"
|
|
#include "Effect.h"
|
|
|
|
#include "ldt.h"
|
|
|
|
#define lTagGeneratorActivation 'eneG'
|
|
#define lTagParticleGenerator 'traP'
|
|
#define lTagWaterStreakGenerator 'etaW'
|
|
#define lTagFootPathEffect 'tooF'
|
|
|
|
/*OS NOTE : these callbacks were not tested because there is no 'MSPrtSrc' section in data files*/
|
|
|
|
|
|
/*****************************************************************
|
|
Function name : fn_iCreateMSPrtSrc
|
|
Description :
|
|
Author : Ovidiu Scripa (oscripa@ubisoft.ro) - ROMTEAM
|
|
Creation Date : 13-Oct-98
|
|
Modified :
|
|
Return type : int
|
|
Argument : LDT_tdst_Link *pLink
|
|
*****************************************************************/
|
|
int fn_iCreateMSPrtSrc( LDT_tdst_Link *pLink )
|
|
{
|
|
MS_tdxHandleToMSPrtSrc h_MSPrtSrc;
|
|
struct tdstEngineObject_ *p_stEngineObject = (struct tdstEngineObject_ *)pLink->pParent->pObject;
|
|
|
|
MMG_fn_vBeginMemoryInfo (MMG_C_lTypeMiniStructure , MMG_C_lSubTypePrtSrc , p_stEngineObject);
|
|
h_MSPrtSrc = fn_h_MSPrtSrcRealAlloc();
|
|
MMG_fn_vEndMemoryInfo ();
|
|
p_stEngineObject->h_MSPrtSrc=h_MSPrtSrc;
|
|
h_MSPrtSrc->ucGeneratorActivation = 1;
|
|
pLink->pObject = (void*)h_MSPrtSrc;
|
|
|
|
return 0;
|
|
}
|
|
|
|
|
|
|
|
/*****************************************************************
|
|
Function name : fn_iLoadMSPrtSrc
|
|
Description :
|
|
Author : Ovidiu Scripa (oscripa@ubisoft.ro) - ROMTEAM
|
|
Creation Date : 13-Oct-98
|
|
Modified :
|
|
Return type : int
|
|
Argument : LDT_tdst_Link *pLink
|
|
*****************************************************************/
|
|
int fn_iLoadMSPrtSrc( LDT_tdst_Link *pLink )
|
|
{
|
|
LDT_tdeParseResult result=ParseResult_BeginSection;
|
|
MS_tdxHandleToMSPrtSrc h_MSPrtSrc = (MS_tdxHandleToMSPrtSrc)pLink->pObject;
|
|
SCR_tdst_Cxt_Values * p_stValues;
|
|
|
|
|
|
while( result!=ParseResult_EndSection )
|
|
{
|
|
result=LDT_GetNextEntry();
|
|
switch( result )
|
|
{
|
|
case ParseResult_Entry: /* an entry */
|
|
{
|
|
char *szEntry=LDT_szGetEntryName();
|
|
switch (*(long*)szEntry)
|
|
{
|
|
|
|
case lTagGeneratorActivation : /* */
|
|
{
|
|
h_MSPrtSrc->ucGeneratorActivation = (unsigned char) ((strcmp(LDT_szGetParam(1), "OFF") == 0) ? 0 : 1);
|
|
}
|
|
break;
|
|
case lTagParticleGenerator : /* */
|
|
{
|
|
/* -> OS : THIS CODE SHOULD BE CHANGED 01-Sep-98*/
|
|
p_stValues=SCR_fnp_st_RdL0_AnalyseSection(LDT_szGetParam(1), SCR_CDF_uw_Anl_Normal);
|
|
/* <- OS : THIS CODE SHOULD BE CHANGED 01-Sep-98*/
|
|
h_MSPrtSrc->p_stParticleGenerator = (tdstParticleGenerator *)(p_stValues->a_ulValues[0]);
|
|
|
|
}
|
|
break;
|
|
case lTagWaterStreakGenerator : /* */
|
|
{
|
|
/* -> OS : THIS CODE SHOULD BE CHANGED 01-Sep-98*/
|
|
p_stValues=SCR_fnp_st_RdL0_AnalyseSection(LDT_szGetParam(1), SCR_CDF_uw_Anl_Normal);
|
|
/* <- OS : THIS CODE SHOULD BE CHANGED 01-Sep-98*/
|
|
h_MSPrtSrc->hWaterStreakGenerator = (GAM_tdxHandleToWaterStreakEffect)(p_stValues->a_ulValues[0]);
|
|
}
|
|
break;
|
|
case lTagFootPathEffect : /* */
|
|
{
|
|
/* -> OS : THIS CODE SHOULD BE CHANGED 01-Sep-98*/
|
|
p_stValues = SCR_fnp_st_RdL0_AnalyseSection( LDT_szGetParam(1), SCR_CDF_uw_Anl_Normal );
|
|
/* <- OS : THIS CODE SHOULD BE CHANGED 01-Sep-98*/
|
|
h_MSPrtSrc->hFootPath = (GAM_tdxHandleToFootPathEffect) ( p_stValues->a_ulValues[0] );
|
|
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
return 0;
|
|
}
|
|
|
|
#endif /* D_THROW_PRT */
|