reman3/Rayman_X/cpa/tempgrp/GAM/Actions/msPrtSrcCB.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 */