reman3/Rayman_X/cpa/tempgrp/TME/Src/EMECSave.cpp

432 lines
11 KiB
C++

// Saving functions
//////////////////////////////
// Mechanics Editor
/////////////////////////////////////////
#include "StdAfx.h"
#include "_MecCard.hpp"
#include "EMECCrdT.hpp"
#include "EMECStrg.hpp"
#include "EMECFlds.hpp"
//External Modules
#include "ErO.h"
//End of External Modules
//*******************************************************************************************
// Will call one of the specific saving functions
void CPA_Meca_Card::m_fn_vSaveMecaCard(SCR_tdst_File_Description *p_tdstFile,
SCR_tde_Ntfy_Action _eAction)
{
ERROR_ASSERT( m_fn_pclGetCardType()->m_p_fn_vSave != NULL );
//Moves to the End of File
if ( _eAction == SCR_EA_Ntfy_AddSection )
SCR_fn_v_SvL1_ToEndSection(p_tdstFile);
m_fn_pclGetCardType()->m_p_fn_vSave(p_tdstFile, this);
SCR_M_SvL0_SaveBlankLine(p_tdstFile);
}
//*******************************************************************************************
void fn_vSaveCard6(SCR_tdst_File_Description *p_tdstFile, CPA_Meca_Card *pclCard)
{
CString csCurrentLine;
csCurrentLine.Format("%s:%s", C_SectionIdCardCamera,
pclCard->GetName());
SCR_M_SvL0_SaveBeginSection(p_tdstFile,
M_MAKECHAR(csCurrentLine),
SCR_CC_C_Cfg_EOL);
//Gets Base structure
DNM_stMecCameraIdCard * pStruct = (DNM_stMecCameraIdCard *)pclCard->m_fn_pvGetBaseAddress();
//Angular Speed
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryAngularSpeed,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%f",
DNM_M_xCameraIdCardGetAngularSpeed(pStruct));
//Linear Speed
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryLinearSpeed,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%f",
DNM_M_xCameraIdCardGetLinearSpeed(pStruct));
//Speeding Up
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntrySpeedingUp,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%f",
DNM_M_xCameraIdCardGetSpeedingUp(pStruct));
//Closes file's main section
SCR_M_SvL0_SaveEndSection(p_tdstFile, SCR_CC_C_Cfg_EOL);
}
//*******************************************************************************************
void fn_vSaveCardRay2Egypte1(SCR_tdst_File_Description *p_tdstFile, CPA_Meca_Card *pclCard)
{
CString csCurrentLine;
csCurrentLine.Format("%s:%s", C_SectionIdCardBase,
pclCard->GetName());
SCR_M_SvL0_SaveBeginSection(p_tdstFile,
M_MAKECHAR(csCurrentLine),
SCR_CC_C_Cfg_EOL);
//Gets Base structure
DNM_tdstMecBaseIdCard *pStruct = (DNM_tdstMecBaseIdCard *)pclCard->m_fn_pvGetBaseAddress();
// Animation
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseAnimation,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsAnimation(pStruct));
// Collide
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseCollide,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsCollide(pStruct));
// Gravity
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseGravity,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsGravity(pStruct));
// Tilt
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseTilt,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsTilt(pStruct));
// Gi
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseGi,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsGi(pStruct));
// Climb
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseClimb,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsClimb(pStruct));
// On ground
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseOnGround,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsOnGround(pStruct));
// Spider
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseSpider,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsSpider(pStruct));
// Shoot
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseShoot,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsShoot(pStruct));
// Swim
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseSwim,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsSwim(pStruct));
// Collision control
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseCollisionControl,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsCollisionControl(pStruct));
// Keep speed.z
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseKeepWallSpeedZ,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsKeepWallSpeedZ(pStruct));
// Speed limit
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseSpeedLimit,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsSpeedLimit(pStruct));
// Inertia
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseInertia,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsInertia(pStruct));
// Stream
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseStream,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsStream(pStruct));
// Stick on platform
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseStickOnPlatform,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsStickOnPlatform(pStruct));
// scale
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseUseScale,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%i",
DNM_M_bBaseIdCardIsScale(pStruct));
// Gravity factor
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseGravityFactor,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
DNM_M_xBaseIdCardGetGravityFactor(pStruct));
// slide
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseSlide,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
DNM_M_xBaseIdCardGetSlide(pStruct));
// rebound
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseRebound,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
DNM_M_xBaseIdCardGetRebound(pStruct));
// slope limit
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseSlopeLimit,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
MTH_M_xTan (MTH_M_xDegToRad (DNM_M_xBaseIdCardGetSlopeLimit(pStruct))) );
// inertia x
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseInertiaFactorX,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
DNM_M_xBaseIdCardGetInertiaFactorX(pStruct) );
// inertia y
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseInertiaFactorY,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
DNM_M_xBaseIdCardGetInertiaFactorY(pStruct) );
// inertia z
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseInertiaFactorZ,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
DNM_M_xBaseIdCardGetInertiaFactorZ(pStruct) );
// tilt intensity
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseTiltIntensity,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
DNM_M_xBaseIdCardGetTiltIntensity(pStruct) );
// tilt inertia
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseTiltInertia,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
DNM_M_xBaseIdCardGetTiltInertia(pStruct) );
// tilt origin
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseTiltOrigin,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
2,
"%lf",
DNM_M_xBaseIdCardGetTiltOrigin(pStruct) );
// max speed
SCR_M_SvL0_SaveEntry( p_tdstFile,
C_EntryBaseMaxSpeed,
SCR_CC_C_Cfg_NoChar);
SCR_fn_v_SvL0_SaveParameters_MP(p_tdstFile,
SCR_EF_SvL0_Scanf,
4,
"%lf,%lf,%lf",
MTH3D_M_xGetXofVector(DNM_M_pBaseIdCardGetMaxSpeed(pStruct)),
MTH3D_M_xGetYofVector(DNM_M_pBaseIdCardGetMaxSpeed(pStruct)),
MTH3D_M_xGetZofVector(DNM_M_pBaseIdCardGetMaxSpeed(pStruct))
);
//Closes file's main section
SCR_M_SvL0_SaveEndSection(p_tdstFile, SCR_CC_C_Cfg_EOL);
}
//ENDANNECY jt }