This is an automated email from the git hooks/post-receive script. odyx pushed a commit to branch upstream/latest in repository colobot.
commit 9bc7c47d77f2fc6b419c81d2a98b88a17eb36bc9 Author: krzys-h <krzy...@interia.pl> Date: Tue Apr 7 13:27:11 2015 +0200 Fixed saving readonly attribute (#454) --- src/object/robotmain.cpp | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp index 08e4c96..65a7d29 100644 --- a/src/object/robotmain.cpp +++ b/src/object/robotmain.cpp @@ -4911,6 +4911,15 @@ void CRobotMain::IOWriteObject(CLevelParserLine* line, CObject* obj) { line->AddParam("run", new CLevelParserParam(run+1)); } + + auto programs = brain->GetPrograms(); + for(unsigned int i = 0; i < programs.size(); i++) + { + if(programs[i]->readOnly) + { + line->AddParam("scriptReadOnly"+boost::lexical_cast<std::string>(i+1), new CLevelParserParam(true)); + } + } } } @@ -5092,13 +5101,25 @@ CObject* CRobotMain::IOReadObject(CLevelParserLine *line, const char* filename, CAuto* automat = obj->GetAuto(); if (automat != nullptr) automat->Start(run); // starts the film + } - CBrain* brain = obj->GetBrain(); - if (brain != nullptr) + CBrain* brain = obj->GetBrain(); + if (brain != nullptr) + { + if(run != -1) { Program* program = brain->GetOrAddProgram(run-1); brain->SetScriptRun(program); // marks the program to be started } + + for(unsigned int i = 0; i <= 999; i++) + { + if(line->GetParam("scriptReadOnly"+boost::lexical_cast<std::string>(i+1))->AsBool(false)) + { + Program* prog = brain->GetOrAddProgram(i); + prog->readOnly = true; + } + } } return obj; -- Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git _______________________________________________ Pkg-games-commits mailing list Pkg-games-commits@lists.alioth.debian.org http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-games-commits