Level state loading via CLevelParser
parent
3dade17f89
commit
8c84f012c6
|
@ -440,13 +440,13 @@ bool CAuto::Write(CLevelParserLine* line)
|
|||
|
||||
// Return all settings to the controller.
|
||||
|
||||
bool CAuto::Read(char *line)
|
||||
bool CAuto::Read(CLevelParserLine* line)
|
||||
{
|
||||
m_type = static_cast<ObjectType>(OpInt(line, "aType", OBJECT_NULL));
|
||||
m_bBusy = OpInt(line, "aBusy", 0);
|
||||
m_time = OpFloat(line, "aTime", 0.0f);
|
||||
m_progressTime = OpFloat(line, "aProgressTime", 0.0f);
|
||||
m_progressTotal = OpFloat(line, "aProgressTotal", 0.0f);
|
||||
m_type = line->GetParam("aType")->AsObjectType();
|
||||
m_bBusy = line->GetParam("aBusy")->AsBool();
|
||||
m_time = line->GetParam("aTime")->AsFloat();
|
||||
m_progressTime = line->GetParam("aProgressTime")->AsFloat();
|
||||
m_progressTotal = line->GetParam("aProgressTotal")->AsFloat();
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ public:
|
|||
virtual void SetMotor(bool bMotor);
|
||||
|
||||
virtual bool Write(CLevelParserLine* line);
|
||||
virtual bool Read(char *line);
|
||||
virtual bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
void CheckInterface(Ui::CWindow *pw, EventType event, bool bState);
|
||||
|
|
|
@ -380,15 +380,14 @@ bool CAutoConvert::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoConvert::Read(char *line)
|
||||
bool CAutoConvert::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoConvertPhase >(OpInt(line, "aPhase", ACP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoConvertPhase >(line->GetParam("aPhase")->AsInt(ACP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
CObject* SearchStone(ObjectType type);
|
||||
|
|
|
@ -446,15 +446,14 @@ bool CAutoDerrick::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoDerrick::Read(char *line)
|
||||
bool CAutoDerrick::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoDerrickPhase >(OpInt(line, "aPhase", ADP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoDerrickPhase >(line->GetParam("aPhase")->AsInt(ADP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
CObject* SearchFret();
|
||||
|
|
|
@ -375,15 +375,14 @@ bool CAutoDestroyer::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoDestroyer::Read(char *line)
|
||||
bool CAutoDestroyer::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoDestroyerPhase >(OpInt(line, "aPhase", ADEP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoDestroyerPhase >(line->GetParam("aPhase")->AsInt(ADEP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
CObject* SearchPlastic();
|
||||
|
|
|
@ -331,18 +331,17 @@ bool CAutoEgg::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoEgg::Read(char *line)
|
||||
bool CAutoEgg::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoEggPhase >(OpInt(line, "aPhase", AEP_NULL));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_type = OpTypeObject(line, "aParamType", OBJECT_NULL);
|
||||
m_value = OpFloat(line, "aParamValue1", 0.0f);
|
||||
OpString(line, "aParamString", m_string);
|
||||
m_phase = static_cast< AutoEggPhase >(line->GetParam("aPhase")->AsInt(AEP_NULL));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
m_type = line->GetParam("aParamType")->AsObjectType(OBJECT_NULL);
|
||||
m_value = line->GetParam("aParamValue1")->AsFloat(0.0f);
|
||||
strcpy(m_string, line->GetParam("aParamString")->AsString("").c_str());
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ public:
|
|||
bool SetString(char *string);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
CObject* SearchAlien();
|
||||
|
|
|
@ -628,15 +628,14 @@ bool CAutoEnergy::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoEnergy::Read(char *line)
|
||||
bool CAutoEnergy::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoEnergyPhase >(OpInt(line, "aPhase", AENP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoEnergyPhase >(line->GetParam("aPhase")->AsInt(AENP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastUpdateTime = 0.0f;
|
||||
m_lastParticle = 0.0f;
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
void UpdateInterface(float rTime);
|
||||
|
|
|
@ -532,15 +532,14 @@ bool CAutoFactory::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller
|
||||
|
||||
bool CAutoFactory::Read(char *line)
|
||||
bool CAutoFactory::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoFactoryPhase >(OpInt(line, "aPhase", AFP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoFactoryPhase >(line->GetParam("aPhase")->AsInt(AFP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
m_fretPos = m_object->GetPosition(0);
|
||||
|
|
|
@ -56,7 +56,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
void UpdateInterface();
|
||||
|
|
|
@ -495,15 +495,14 @@ bool CAutoInfo::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoInfo::Read(char *line)
|
||||
bool CAutoInfo::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoInfoPhase > (OpInt(line, "aPhase", AIP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoInfoPhase >(line->GetParam("aPhase")->AsInt(AIP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
void UpdateInterface(float rTime);
|
||||
|
|
|
@ -604,16 +604,15 @@ bool CAutoLabo::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoLabo::Read(char *line)
|
||||
bool CAutoLabo::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoLaboPhase >(OpInt(line, "aPhase", ALAP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_research = static_cast< ResearchType >(OpInt(line, "aResearch", 0));
|
||||
m_phase = static_cast< AutoLaboPhase >(line->GetParam("aPhase")->AsInt(ALAP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
m_research = static_cast< ResearchType >(line->GetParam("aResearch")->AsInt(0));
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -56,7 +56,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
void UpdateInterface();
|
||||
|
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
// Object's constructor.
|
||||
|
||||
CAutoMush::CAutoMush(CObject* object) : CAuto(object)
|
||||
CAutoMush::CAutoMush(CObject* object) : CAuto(object)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
@ -319,15 +319,14 @@ bool CAutoMush::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoMush::Read(char *line)
|
||||
bool CAutoMush::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoMushPhase >(OpInt(line, "aPhase", AMP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoMushPhase >(line->GetParam("aPhase")->AsInt(AMP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ public:
|
|||
Error GetError();
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
bool SearchTarget();
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
// Object's constructor.
|
||||
|
||||
CAutoNest::CAutoNest(CObject* object) : CAuto(object)
|
||||
CAutoNest::CAutoNest(CObject* object) : CAuto(object)
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
@ -250,15 +250,14 @@ bool CAutoNest::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoNest::Read(char *line)
|
||||
bool CAutoNest::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoNestPhase >(OpInt(line, "aPhase", ANP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoNestPhase >(line->GetParam("aPhase")->AsInt(ANP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ public:
|
|||
Error GetError();
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
bool SearchFree(Math::Vector pos);
|
||||
|
|
|
@ -463,15 +463,14 @@ bool CAutoNuclear::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoNuclear::Read(char *line)
|
||||
bool CAutoNuclear::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoNuclearPhase >(OpInt(line, "aPhase", ANUP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoNuclearPhase >(line->GetParam("aPhase")->AsInt(ANUP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
CObject* SearchUranium();
|
||||
|
|
|
@ -307,15 +307,14 @@ bool CAutoPara::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoPara::Read(char *line)
|
||||
bool CAutoPara::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoParaPhase >(OpInt(line, "aPhase", APAP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoParaPhase >(line->GetParam("aPhase")->AsInt(APAP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -51,7 +51,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
void ChargeObject(float rTime);
|
||||
|
|
|
@ -320,15 +320,14 @@ bool CAutoRepair::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoRepair::Read(char *line)
|
||||
bool CAutoRepair::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoRepairPhase >(OpInt(line, "aPhase", ARP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoRepairPhase >(line->GetParam("aPhase")->AsInt(ARP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
CObject* SearchVehicle();
|
||||
|
|
|
@ -581,16 +581,15 @@ bool CAutoResearch::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoResearch::Read(char *line)
|
||||
bool CAutoResearch::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoResearchPhase >(OpInt(line, "aPhase", ALP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_research = static_cast< ResearchType >(OpInt(line, "aResearch", 0));
|
||||
m_phase = static_cast< AutoResearchPhase >(line->GetParam("aPhase")->AsInt(ALP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
m_research = static_cast< ResearchType >(line->GetParam("aResearch")->AsInt(0));
|
||||
|
||||
m_lastUpdateTime = 0.0f;
|
||||
m_lastParticle = 0.0f;
|
||||
|
|
|
@ -50,7 +50,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
void UpdateInterface();
|
||||
|
|
|
@ -370,15 +370,14 @@ bool CAutoSafe::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoSafe::Read(char *line)
|
||||
bool CAutoSafe::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoSafePhase >(OpInt(line, "aPhase", ASAP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_phase = static_cast< AutoSafePhase >(line->GetParam("aPhase")->AsInt(ASAP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
|
||||
m_lastParticle = 0.0f;
|
||||
|
||||
|
|
|
@ -50,7 +50,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
int CountKeys();
|
||||
|
|
|
@ -508,20 +508,19 @@ bool CAutoTower::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the controller.
|
||||
|
||||
bool CAutoTower::Read(char *line)
|
||||
bool CAutoTower::Read(CLevelParserLine* line)
|
||||
{
|
||||
if ( OpInt(line, "aExist", 0) == 0 ) return false;
|
||||
if ( !line->GetParam("aExist")->AsBool(false) ) return false;
|
||||
|
||||
CAuto::Read(line);
|
||||
|
||||
m_phase = static_cast< AutoTowerPhase >(OpInt(line, "aPhase", ATP_WAIT));
|
||||
m_progress = OpFloat(line, "aProgress", 0.0f);
|
||||
m_speed = OpFloat(line, "aSpeed", 1.0f);
|
||||
m_targetPos = OpDir(line, "aTargetPos");
|
||||
m_angleYactual = OpFloat(line, "aAngleYactual", 0.0f);
|
||||
m_angleZactual = OpFloat(line, "aAngleZactual", 0.0f);
|
||||
m_angleYfinal = OpFloat(line, "aAngleYfinal", 0.0f);
|
||||
m_angleZfinal = OpFloat(line, "aAngleZfinal", 0.0f);
|
||||
m_phase = static_cast< AutoTowerPhase >(line->GetParam("aPhase")->AsInt(ATP_WAIT));
|
||||
m_progress = line->GetParam("aProgress")->AsFloat(0.0f);
|
||||
m_speed = line->GetParam("aSpeed")->AsFloat(1.0f);
|
||||
m_targetPos = line->GetParam("aTargetPos")->AsPoint(Math::Vector());
|
||||
m_angleYactual = line->GetParam("aAngleYactual")->AsFloat(0.0f);
|
||||
m_angleZactual = line->GetParam("aAngleZactual")->AsFloat(0.0f);
|
||||
m_angleYfinal = line->GetParam("aAngleYfinal")->AsFloat(0.0f);
|
||||
m_angleZfinal = line->GetParam("aAngleZfinal")->AsFloat(0.0f);
|
||||
|
||||
m_lastUpdateTime = 0.0f;
|
||||
|
||||
|
|
|
@ -52,7 +52,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
protected:
|
||||
void UpdateInterface(float rTime);
|
||||
|
|
|
@ -180,9 +180,9 @@ bool CBrain::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the object.
|
||||
|
||||
bool CBrain::Read(char *line)
|
||||
bool CBrain::Read(CLevelParserLine* line)
|
||||
{
|
||||
m_bActiveVirus = OpInt(line, "bVirusActive", 0);
|
||||
m_bActiveVirus = line->GetParam("bVirusActive")->AsBool(false);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -94,7 +94,7 @@ public:
|
|||
bool CreateInterface(bool bSelect);
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
bool IsBusy();
|
||||
void SetActivity(bool bMode);
|
||||
|
|
|
@ -186,11 +186,11 @@ bool CMotion::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the object.
|
||||
|
||||
bool CMotion::Read(char *line)
|
||||
bool CMotion::Read(CLevelParserLine* line)
|
||||
{
|
||||
m_actionType = OpInt(line, "mType", -1);
|
||||
m_actionTime = OpFloat(line, "mTime", 0.0f);
|
||||
m_progress = OpFloat(line, "mProgress", 0.0f);
|
||||
m_actionType = line->GetParam("mType")->AsInt(-1);
|
||||
m_actionTime = line->GetParam("mTime")->AsFloat(0.0f);
|
||||
m_progress = line->GetParam("mProgress")->AsFloat(0.0f);
|
||||
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -64,7 +64,7 @@ public:
|
|||
virtual float GetParam(int rank);
|
||||
|
||||
virtual bool Write(CLevelParserLine* line);
|
||||
virtual bool Read(char *line);
|
||||
virtual bool Read(CLevelParserLine* line);
|
||||
|
||||
virtual void SetLinVibration(Math::Vector dir);
|
||||
virtual Math::Vector GetLinVibration();
|
||||
|
|
|
@ -78,6 +78,7 @@
|
|||
#include "object/objman.h"
|
||||
#include "object/level/parserline.h"
|
||||
#include "object/level/parserparam.h"
|
||||
#include "object/level/parserexceptions.h"
|
||||
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
@ -1084,29 +1085,29 @@ bool CObject::Write(CLevelParserLine* line)
|
|||
for ( i=0 ; i<OBJECTMAXCMDLINE ; i++ )
|
||||
{
|
||||
value = GetCmdLine(i);
|
||||
if ( value == NAN ) break;
|
||||
if ( isnan(value) ) break;
|
||||
|
||||
cmdline.push_back(new CLevelParserParam(value));
|
||||
}
|
||||
if(cmdline.size() > 0)
|
||||
line->AddParam("cmdline", new CLevelParserParam(cmdline));
|
||||
|
||||
if ( m_motion != 0 )
|
||||
if ( m_motion != nullptr )
|
||||
{
|
||||
m_motion->Write(line);
|
||||
}
|
||||
|
||||
if ( m_brain != 0 )
|
||||
if ( m_brain != nullptr )
|
||||
{
|
||||
m_brain->Write(line);
|
||||
}
|
||||
|
||||
if ( m_physics != 0 )
|
||||
if ( m_physics != nullptr )
|
||||
{
|
||||
m_physics->Write(line);
|
||||
}
|
||||
|
||||
if ( m_auto != 0 )
|
||||
if ( m_auto != nullptr )
|
||||
{
|
||||
m_auto->Write(line);
|
||||
}
|
||||
|
@ -1116,87 +1117,91 @@ bool CObject::Write(CLevelParserLine* line)
|
|||
|
||||
// Returns all parameters of the object.
|
||||
|
||||
bool CObject::Read(char *line)
|
||||
bool CObject::Read(CLevelParserLine* line)
|
||||
{
|
||||
Math::Vector pos, dir;
|
||||
Info info;
|
||||
Gfx::CameraType cType;
|
||||
char op[20];
|
||||
char text[100];
|
||||
char* p;
|
||||
float value;
|
||||
int i;
|
||||
|
||||
cType = OpCamera(line, "camera");
|
||||
cType = line->GetParam("camera")->AsCameraType(Gfx::CAM_TYPE_NULL);
|
||||
if ( cType != Gfx::CAM_TYPE_NULL )
|
||||
{
|
||||
SetCameraType(cType);
|
||||
}
|
||||
|
||||
SetCameraLock(OpInt(line, "cameraLock", 0));
|
||||
SetEnergy(OpFloat(line, "energy", 0.0f));
|
||||
SetCapacity(OpFloat(line, "capacity", 1.0f));
|
||||
SetShield(OpFloat(line, "shield", 1.0f));
|
||||
SetRange(OpFloat(line, "range", 1.0f));
|
||||
SetSelectable(OpInt(line, "selectable", 1));
|
||||
SetEnable(OpInt(line, "enable", 1));
|
||||
SetFixed(OpInt(line, "fixed", 0));
|
||||
SetClip(OpInt(line, "clip", 1));
|
||||
SetLock(OpInt(line, "lock", 0));
|
||||
SetProxyActivate(OpInt(line, "proxyActivate", 0));
|
||||
SetProxyDistance(OpFloat(line, "proxyDistance", 15.0f)*g_unit);
|
||||
SetRange(OpFloat(line, "range", 30.0f));
|
||||
SetMagnifyDamage(OpFloat(line, "magnifyDamage", 1.0f));
|
||||
SetGunGoalV(OpFloat(line, "aimV", 0.0f));
|
||||
SetGunGoalH(OpFloat(line, "aimH", 0.0f));
|
||||
SetParam(OpFloat(line, "param", 0.0f));
|
||||
SetResetCap(static_cast<ResetCap>(OpInt(line, "resetCap", 0)));
|
||||
SetResetPosition(OpDir(line, "resetPos")*g_unit);
|
||||
SetResetAngle(OpDir(line, "resetAngle")*(Math::PI/180.0f));
|
||||
SetResetRun(OpInt(line, "resetRun", 0));
|
||||
m_bBurn = OpInt(line, "burnMode", 0);
|
||||
m_bVirusMode = OpInt(line, "virusMode", 0);
|
||||
m_virusTime = OpFloat(line, "virusTime", 0.0f);
|
||||
SetCameraLock(line->GetParam("cameraLock")->AsBool(false));
|
||||
SetEnergy(line->GetParam("energy")->AsFloat(0.0f));
|
||||
SetCapacity(line->GetParam("capacity")->AsFloat(1.0f));
|
||||
SetShield(line->GetParam("shield")->AsFloat(1.0f));
|
||||
SetRange(line->GetParam("range")->AsFloat(1.0f));
|
||||
SetSelectable(line->GetParam("selectable")->AsBool(true));
|
||||
SetEnable(line->GetParam("enable")->AsBool(true));
|
||||
SetFixed(line->GetParam("fixed")->AsBool(false));
|
||||
SetClip(line->GetParam("clip")->AsBool(true));
|
||||
SetLock(line->GetParam("lock")->AsBool(false));
|
||||
SetProxyActivate(line->GetParam("proxyActivate")->AsBool(false));
|
||||
SetProxyDistance(line->GetParam("proxyDistance")->AsFloat(15.0f)*g_unit);
|
||||
SetRange(line->GetParam("range")->AsFloat(30.0f));
|
||||
SetMagnifyDamage(line->GetParam("magnifyDamage")->AsFloat(1.0f));
|
||||
SetGunGoalV(line->GetParam("aimV")->AsFloat(0.0f));
|
||||
SetGunGoalH(line->GetParam("aimH")->AsFloat(0.0f));
|
||||
SetParam(line->GetParam("param")->AsFloat(0.0f));
|
||||
SetResetCap(static_cast<ResetCap>(line->GetParam("resetCap")->AsInt(0)));
|
||||
SetResetPosition(line->GetParam("resetPos")->AsPoint(Math::Vector())*g_unit);
|
||||
SetResetAngle(line->GetParam("resetAngle")->AsPoint(Math::Vector())*(Math::PI/180.0f));
|
||||
SetResetRun(line->GetParam("resetRun")->AsInt(0));
|
||||
m_bBurn = line->GetParam("burnMode")->AsBool(false);
|
||||
m_bVirusMode = line->GetParam("virusMode")->AsBool(false);
|
||||
m_virusTime = line->GetParam("virusTime")->AsFloat(0.0f);
|
||||
|
||||
// Puts information in terminal (OBJECT_INFO).
|
||||
for ( i=0 ; i<OBJECTMAXINFO ; i++ )
|
||||
{
|
||||
sprintf(op, "info%d", i+1);
|
||||
OpString(line, op, text);
|
||||
if ( text[0] == 0 ) break;
|
||||
p = strchr(text, '=');
|
||||
if ( p == 0 ) break;
|
||||
*p = 0;
|
||||
strcpy(info.name, text);
|
||||
sscanf(p+1, "%f", &info.value);
|
||||
std::string op = std::string("info")+boost::lexical_cast<std::string>(i+1);
|
||||
if(!line->GetParam(op)->IsDefined()) break;
|
||||
std::string text = line->GetParam(op)->AsString();
|
||||
|
||||
std::size_t p = text.find_first_of("=");
|
||||
if(p == std::string::npos)
|
||||
throw CLevelParserExceptionBadParam(line->GetParam(op), "info");
|
||||
Info info;
|
||||
strcpy(info.name, text.substr(0, p).c_str());
|
||||
try {
|
||||
info.value = boost::lexical_cast<float>(text.substr(p+1).c_str());
|
||||
}
|
||||
catch(...)
|
||||
{
|
||||
throw CLevelParserExceptionBadParam(line->GetParam(op), "info.value (float)");
|
||||
}
|
||||
|
||||
SetInfo(i, info);
|
||||
}
|
||||
|
||||
// Sets the parameters of the command line.
|
||||
p = SearchOp(line, "cmdline");
|
||||
for ( i=0 ; i<OBJECTMAXCMDLINE ; i++ )
|
||||
{
|
||||
value = GetFloat(p, i, NAN);
|
||||
if ( value == NAN ) break;
|
||||
SetCmdLine(i, value);
|
||||
i = 0;
|
||||
if(line->GetParam("cmdline")->IsDefined()) {
|
||||
for(auto& p : line->GetParam("cmdline")->AsArray()) {
|
||||
if(i >= OBJECTMAXCMDLINE) break;
|
||||
SetCmdLine(i, p->AsFloat());
|
||||
}
|
||||
}
|
||||
|
||||
if ( m_motion != 0 )
|
||||
if ( m_motion != nullptr )
|
||||
{
|
||||
m_motion->Read(line);
|
||||
}
|
||||
|
||||
if ( m_brain != 0 )
|
||||
if ( m_brain != nullptr )
|
||||
{
|
||||
m_brain->Read(line);
|
||||
}
|
||||
|
||||
if ( m_physics != 0 )
|
||||
if ( m_physics != nullptr )
|
||||
{
|
||||
m_physics->Read(line);
|
||||
}
|
||||
|
||||
if ( m_auto != 0 )
|
||||
if ( m_auto != nullptr )
|
||||
{
|
||||
m_auto->Read(line);
|
||||
}
|
||||
|
|
|
@ -381,7 +381,7 @@ public:
|
|||
int GetID();
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
void SetDrawWorld(bool bDraw);
|
||||
void SetDrawFront(bool bDraw);
|
||||
|
|
|
@ -5848,26 +5848,24 @@ bool CRobotMain::IOWriteScene(const char *filename, const char *filecbot, char *
|
|||
}
|
||||
|
||||
//! Resumes the game
|
||||
CObject* CRobotMain::IOReadObject(char *line, const char* filename, int objRank)
|
||||
CObject* CRobotMain::IOReadObject(CLevelParserLine *line, const char* filename, int objRank)
|
||||
{
|
||||
Math::Vector pos = OpDir(line, "pos")*g_unit;
|
||||
Math::Vector dir = OpDir(line, "angle")*(Math::PI/180.0f);
|
||||
Math::Vector zoom = OpDir(line, "zoom");
|
||||
Math::Vector pos = line->GetParam("pos")->AsPoint()*g_unit;
|
||||
Math::Vector dir = line->GetParam("angle")->AsPoint()*(Math::PI/180.0f);
|
||||
Math::Vector zoom = line->GetParam("zoom")->AsPoint();
|
||||
|
||||
ObjectType type = OpTypeObject(line, "type", OBJECT_NULL);
|
||||
int id = OpInt(line, "id", 0);
|
||||
if (type == OBJECT_NULL)
|
||||
return nullptr;
|
||||
ObjectType type = line->GetParam("type")->AsObjectType();
|
||||
int id = line->GetParam("id")->AsInt();
|
||||
|
||||
int trainer = OpInt(line, "trainer", 0);
|
||||
int toy = OpInt(line, "toy", 0);
|
||||
int option = OpInt(line, "option", 0);
|
||||
bool trainer = line->GetParam("trainer")->AsBool(false);
|
||||
bool toy = line->GetParam("toy")->AsBool(false);
|
||||
int option = line->GetParam("option")->AsInt(0);
|
||||
|
||||
CObject* obj = CObjectManager::GetInstancePointer()->CreateObject(pos, dir.y, type, 0.0f, 1.0f, 0.0f, trainer, toy, option);
|
||||
obj->SetDefRank(objRank);
|
||||
obj->SetPosition(0, pos);
|
||||
obj->SetAngle(0, dir);
|
||||
obj->SetIgnoreBuildCheck(OpInt(line, "ignoreBuildCheck", 0));
|
||||
obj->SetIgnoreBuildCheck(line->GetParam("ignoreBuildCheck")->AsBool(false));
|
||||
obj->SetID(id);
|
||||
if (g_id < id) g_id = id;
|
||||
|
||||
|
@ -5878,23 +5876,19 @@ CObject* CRobotMain::IOReadObject(char *line, const char* filename, int objRank)
|
|||
{
|
||||
if (obj->GetObjectRank(i) == -1) continue;
|
||||
|
||||
char op[10];
|
||||
sprintf(op, "p%d", i);
|
||||
pos = OpDir(line, op);
|
||||
pos = line->GetParam(std::string("p")+boost::lexical_cast<std::string>(i))->AsPoint(Math::Vector());
|
||||
if (pos.x != 0.0f || pos.y != 0.0f || pos.z != 0.0f)
|
||||
{
|
||||
obj->SetPosition(i, pos*g_unit);
|
||||
}
|
||||
|
||||
sprintf(op, "a%d", i);
|
||||
dir = OpDir(line, op);
|
||||
|
||||
dir = line->GetParam(std::string("a")+boost::lexical_cast<std::string>(i))->AsPoint(Math::Vector());
|
||||
if (dir.x != 0.0f || dir.y != 0.0f || dir.z != 0.0f)
|
||||
{
|
||||
obj->SetAngle(i, dir*(Math::PI/180.0f));
|
||||
}
|
||||
|
||||
sprintf(op, "z%d", i);
|
||||
zoom = OpDir(line, op);
|
||||
|
||||
zoom = line->GetParam(std::string("z")+boost::lexical_cast<std::string>(i))->AsPoint(Math::Vector());
|
||||
if (zoom.x != 0.0f || zoom.y != 0.0f || zoom.z != 0.0f)
|
||||
{
|
||||
obj->SetZoom(i, zoom);
|
||||
|
@ -5910,7 +5904,7 @@ CObject* CRobotMain::IOReadObject(char *line, const char* filename, int objRank)
|
|||
LoadFileScript(obj, filename, objRank, i);
|
||||
#endif
|
||||
|
||||
int run = OpInt(line, "run", -1);
|
||||
int run = line->GetParam("run")->AsInt(-1);
|
||||
if (run != -1)
|
||||
{
|
||||
#if CBOT_STACK
|
||||
|
@ -5931,54 +5925,48 @@ CObject* CRobotMain::IOReadObject(char *line, const char* filename, int objRank)
|
|||
//! Resumes some part of the game
|
||||
CObject* CRobotMain::IOReadScene(const char *filename, const char *filecbot)
|
||||
{
|
||||
std::string fnstr = filename;
|
||||
std::string savedir = CResourceManager::GetSaveLocation()+"/";
|
||||
boost::replace_all(fnstr, "\\", "/");
|
||||
boost::replace_all(savedir, "\\", "/");
|
||||
boost::replace_all(fnstr, savedir, ""); //TODO: Refactor to get physfs path here
|
||||
|
||||
CLevelParser* level = new CLevelParser(fnstr);
|
||||
level->Load();
|
||||
|
||||
m_base = nullptr;
|
||||
|
||||
FILE* file = fopen(filename, "r");
|
||||
if (file == NULL) return 0;
|
||||
|
||||
CObject* fret = nullptr;
|
||||
CObject* power = nullptr;
|
||||
CObject* sel = nullptr;
|
||||
int objRank = 0;
|
||||
char line[3000];
|
||||
while (fgets(line, 3000, file) != NULL)
|
||||
for(auto& line : level->GetLines())
|
||||
{
|
||||
for (int i = 0; i < 3000; i++)
|
||||
if (line->GetCommand() == "Map")
|
||||
m_map->ZoomMap(line->GetParam("zoom")->AsFloat());
|
||||
|
||||
if (line->GetCommand() == "DoneResearch")
|
||||
g_researchDone = line->GetParam("bits")->AsInt();
|
||||
|
||||
if (line->GetCommand() == "BlitzMode")
|
||||
{
|
||||
if (line[i] == '\t') line[i] = ' '; // replace tab by space
|
||||
if (line[i] == '/' && line[i+1] == '/')
|
||||
{
|
||||
line[i] = 0;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (Cmd(line, "Map"))
|
||||
m_map->ZoomMap(OpFloat(line, "zoom", 1.0f));
|
||||
|
||||
if (Cmd(line, "DoneResearch"))
|
||||
g_researchDone = OpInt(line, "bits", 0);
|
||||
|
||||
if (Cmd(line, "BlitzMode"))
|
||||
{
|
||||
float sleep = OpFloat(line, "sleep", 0.0f);
|
||||
float delay = OpFloat(line, "delay", 3.0f);
|
||||
float magnetic = OpFloat(line, "magnetic", 50.0f)*g_unit;
|
||||
float progress = OpFloat(line, "progress", 0.0f);
|
||||
float sleep = line->GetParam("sleep")->AsFloat();
|
||||
float delay = line->GetParam("delay")->AsFloat();
|
||||
float magnetic = line->GetParam("magnetic")->AsFloat()*g_unit;
|
||||
float progress = line->GetParam("progress")->AsFloat();
|
||||
m_lightning->SetStatus(sleep, delay, magnetic, progress);
|
||||
}
|
||||
|
||||
if (Cmd(line, "CreateFret"))
|
||||
if (line->GetCommand() == "CreateFret")
|
||||
fret = IOReadObject(line, filename, -1);
|
||||
|
||||
if (Cmd(line, "CreatePower"))
|
||||
if (line->GetCommand() == "CreatePower")
|
||||
power = IOReadObject(line, filename, -1);
|
||||
|
||||
if (Cmd(line, "CreateObject"))
|
||||
if (line->GetCommand() == "CreateObject")
|
||||
{
|
||||
CObject* obj = IOReadObject(line, filename, objRank++);
|
||||
|
||||
if (OpInt(line, "select", 0))
|
||||
if (line->GetParam("select")->AsBool(false))
|
||||
sel = obj;
|
||||
|
||||
if (fret != nullptr)
|
||||
|
@ -5999,7 +5987,7 @@ CObject* CRobotMain::IOReadScene(const char *filename, const char *filecbot)
|
|||
power = nullptr;
|
||||
}
|
||||
}
|
||||
fclose(file);
|
||||
delete level;
|
||||
|
||||
#if CBOT_STACK
|
||||
CInstanceManager* iMan = CInstanceManager::GetInstancePointer();
|
||||
|
@ -6026,7 +6014,7 @@ CObject* CRobotMain::IOReadScene(const char *filename, const char *filecbot)
|
|||
while (nbError > 0 && nbError != lastError);
|
||||
|
||||
// Reads the file of stacks of execution.
|
||||
file = fOpen(filecbot, "rb");
|
||||
FILE* file = fOpen(filecbot, "rb");
|
||||
if (file != NULL)
|
||||
{
|
||||
long version;
|
||||
|
|
|
@ -384,8 +384,8 @@ public:
|
|||
bool IsBusy();
|
||||
bool IOWriteScene(const char *filename, const char *filecbot, char *info);
|
||||
CObject* IOReadScene(const char *filename, const char *filecbot);
|
||||
void IOWriteObject(CLevelParserLine *file, CObject* pObj);
|
||||
CObject* IOReadObject(char *line, const char* filename, int objRank);
|
||||
void IOWriteObject(CLevelParserLine *line, CObject* obj);
|
||||
CObject* IOReadObject(CLevelParserLine *line, const char* filename, int objRank);
|
||||
|
||||
int CreateSpot(Math::Vector pos, Gfx::Color color);
|
||||
|
||||
|
|
|
@ -188,14 +188,14 @@ bool CPhysics::Write(CLevelParserLine* line)
|
|||
|
||||
// Restores all parameters of the object.
|
||||
|
||||
bool CPhysics::Read(char *line)
|
||||
bool CPhysics::Read(CLevelParserLine* line)
|
||||
{
|
||||
m_motorSpeed = OpDir(line, "motor");
|
||||
m_motorSpeed = line->GetParam("motor")->AsPoint();
|
||||
|
||||
if ( m_type == TYPE_FLYING )
|
||||
{
|
||||
SetReactorRange(OpFloat(line, "reactorRange", 0.0f));
|
||||
SetLand(OpInt(line, "land", 0));
|
||||
SetReactorRange(line->GetParam("reactorRange")->AsFloat());
|
||||
SetLand(line->GetParam("land")->AsBool());
|
||||
}
|
||||
|
||||
return true;
|
||||
|
|
|
@ -112,7 +112,7 @@ public:
|
|||
PhysicsType GetType();
|
||||
|
||||
bool Write(CLevelParserLine* line);
|
||||
bool Read(char *line);
|
||||
bool Read(CLevelParserLine* line);
|
||||
|
||||
void SetGravity(float value);
|
||||
float GetGravity();
|
||||
|
|
Loading…
Reference in New Issue