[colobot] 310/390: Fixed NewScript
Didier Raboud
odyx at moszumanska.debian.org
Fri Jun 12 14:21:58 UTC 2015
This is an automated email from the git hooks/post-receive script.
odyx pushed a commit to branch upstream/latest
in repository colobot.
commit 66ea5fd92becc469ae9a54cb785519eb3fd81f29
Author: krzys-h <krzys_h at interia.pl>
Date: Mon Apr 6 16:41:05 2015 +0200
Fixed NewScript
---
src/object/auto/autofactory.cpp | 19 +++++++++++--------
src/object/brain.cpp | 22 ++++++++++++++--------
src/object/robotmain.cpp | 2 +-
3 files changed, 26 insertions(+), 17 deletions(-)
diff --git a/src/object/auto/autofactory.cpp b/src/object/auto/autofactory.cpp
index bd3ab83..720513a 100644
--- a/src/object/auto/autofactory.cpp
+++ b/src/object/auto/autofactory.cpp
@@ -644,6 +644,7 @@ bool CAutoFactory::CreateVehicle()
CPhysics* physics;
Math::Vector pos;
float angle;
+ char* name;
angle = m_object->GetAngleY(0);
@@ -678,16 +679,18 @@ bool CAutoFactory::CreateVehicle()
physics->SetFreeze(true); // it doesn't move
}
- /* ???
- char* name;
- int i;
- for ( i=0 ; i<10 ; i++ )
+ CBrain* brain = vehicle->GetBrain();
+ if(brain != nullptr)
{
- name = m_main->GetNewScriptName(m_type, i);
- if ( name == 0 ) break;
- vehicle->ReadProgram(i, name);
+ for ( int i=0 ; ; i++ )
+ {
+ name = m_main->GetNewScriptName(m_type, i);
+ if ( name == nullptr ) break;
+ Program* prog = brain->GetOrAddProgram(i);
+ vehicle->ReadProgram(prog, name);
+ prog->readOnly = true;
+ }
}
- */
return true;
}
diff --git a/src/object/brain.cpp b/src/object/brain.cpp
index 1f75dfa..e645dfa 100644
--- a/src/object/brain.cpp
+++ b/src/object/brain.cpp
@@ -3133,11 +3133,14 @@ bool CBrain::AddProgram(Program* program)
m_program.push_back(program);
- UpdateInterface();
- Ui::CWindow* pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0));
- if ( pw != 0 )
+ if(m_object->GetSelect())
{
- UpdateScript(pw);
+ UpdateInterface();
+ Ui::CWindow* pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0));
+ if ( pw != 0 )
+ {
+ UpdateScript(pw);
+ }
}
return true;
}
@@ -3153,11 +3156,14 @@ void CBrain::RemoveProgram(Program* program)
program->script = nullptr;
delete program;
- UpdateInterface();
- Ui::CWindow* pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0));
- if ( pw != 0 )
+ if(m_object->GetSelect())
{
- UpdateScript(pw);
+ UpdateInterface();
+ Ui::CWindow* pw = static_cast< Ui::CWindow* >(m_interface->SearchControl(EVENT_WINDOW0));
+ if ( pw != 0 )
+ {
+ UpdateScript(pw);
+ }
}
}
diff --git a/src/object/robotmain.cpp b/src/object/robotmain.cpp
index d5cc377..c0e3721 100644
--- a/src/object/robotmain.cpp
+++ b/src/object/robotmain.cpp
@@ -4831,7 +4831,7 @@ char* CRobotMain::GetNewScriptName(ObjectType type, int rank)
}
}
- return 0;
+ return nullptr;
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-games/colobot.git
More information about the Pkg-games-commits
mailing list