Fix save/load programs for insects from AlienEgg

fixes #1370
fix-squashed-planets
melex750 2021-06-25 18:47:25 -04:00
parent fabbdda964
commit ce450d1c00
2 changed files with 5 additions and 2 deletions

View File

@ -24,6 +24,7 @@
#include "graphics/engine/pyro_manager.h"
#include "level/parser/parser.h"
#include "level/parser/parserline.h"
#include "level/parser/parserparam.h"
@ -194,7 +195,9 @@ bool CAutoEgg::EventProcess(const Event &event)
CProgramStorageObject* programStorage = dynamic_cast<CProgramStorageObject*>(alien);
Program* program = programStorage->AddProgram();
programStorage->ReadProgram(program, m_alienProgramName.c_str());
programStorage->ReadProgram(program, InjectLevelPathsForCurrentLevel(m_alienProgramName, "ai"));
program->readOnly = true;
program->filename = m_alienProgramName;
programmable->RunProgram(program);
}
Init();

View File

@ -1226,7 +1226,7 @@ void COldObject::Read(CLevelParserLine* line)
std::string op = "autoValue" + boost::lexical_cast<std::string>(i+1); // autoValue1..autoValue5
m_auto->SetValue(i, line->GetParam(op)->AsFloat(0.0f));
}
m_auto->SetString(const_cast<char*>(line->GetParam("autoString")->AsPath("ai", "").c_str()));
m_auto->SetString(const_cast<char*>(line->GetParam("autoString")->AsString("").c_str()));
int i = line->GetParam("run")->AsInt(-1);
if (i != -1)