Fix for game crashing sometimes when using MissionController
parent
c7d289c00b
commit
5fd64624d3
|
@ -120,6 +120,7 @@ object/mainmovie.cpp
|
|||
object/motion/motion.cpp
|
||||
object/motion/motionant.cpp
|
||||
object/motion/motionbee.cpp
|
||||
object/motion/motiondummy.cpp
|
||||
object/motion/motionhuman.cpp
|
||||
object/motion/motionmother.cpp
|
||||
object/motion/motionspider.cpp
|
||||
|
|
|
@ -0,0 +1,62 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// *
|
||||
// * This program is free software: you can redistribute it and/or modify
|
||||
// * it under the terms of the GNU General Public License as published by
|
||||
// * the Free Software Foundation, either version 3 of the License, or
|
||||
// * (at your option) any later version.
|
||||
// *
|
||||
// * This program is distributed in the hope that it will be useful,
|
||||
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// * GNU General Public License for more details.
|
||||
// *
|
||||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
|
||||
#include "object/motion/motiondummy.h"
|
||||
|
||||
#include "graphics/engine/modelmanager.h"
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
// Object's constructor.
|
||||
|
||||
CMotionDummy::CMotionDummy(CObject* object) : CMotion(object)
|
||||
{
|
||||
}
|
||||
|
||||
// Object's destructor.
|
||||
|
||||
CMotionDummy::~CMotionDummy()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// Removes an object.
|
||||
|
||||
void CMotionDummy::DeleteObject(bool bAll)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
// Creates a Dummy traveling any lands on the ground.
|
||||
|
||||
bool CMotionDummy::Create(Math::Vector pos, float angle, ObjectType type,
|
||||
float power)
|
||||
{
|
||||
m_object->SetType(type);
|
||||
|
||||
// Creates the main base.
|
||||
int rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_VEHICULE); // this is a moving object
|
||||
m_object->SetObjectRank(0, rank);
|
||||
|
||||
return true;
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// *
|
||||
// * This program is free software: you can redistribute it and/or modify
|
||||
// * it under the terms of the GNU General Public License as published by
|
||||
// * the Free Software Foundation, either version 3 of the License, or
|
||||
// * (at your option) any later version.
|
||||
// *
|
||||
// * This program is distributed in the hope that it will be useful,
|
||||
// * but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// * GNU General Public License for more details.
|
||||
// *
|
||||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motiondummy.h
|
||||
|
||||
#pragma once
|
||||
|
||||
|
||||
#include "object/motion/motion.h"
|
||||
|
||||
class CMotionDummy : public CMotion
|
||||
{
|
||||
public:
|
||||
CMotionDummy(CObject* object);
|
||||
~CMotionDummy();
|
||||
|
||||
void DeleteObject(bool bAll=false);
|
||||
bool Create(Math::Vector pos, float angle, ObjectType type, float power);
|
||||
};
|
|
@ -64,6 +64,7 @@
|
|||
#include "object/motion/motion.h"
|
||||
#include "object/motion/motionant.h"
|
||||
#include "object/motion/motionbee.h"
|
||||
#include "object/motion/motiondummy.h"
|
||||
#include "object/motion/motionhuman.h"
|
||||
#include "object/motion/motionmother.h"
|
||||
#include "object/motion/motionspider.h"
|
||||
|
@ -2146,7 +2147,7 @@ bool CObject::CreateVehicle(Math::Vector pos, float angle, ObjectType type,
|
|||
m_motion = new CMotionHuman(this);
|
||||
}
|
||||
else if ( type == OBJECT_CONTROLLER ) {
|
||||
m_motion = new CMotion(this); //dummy object
|
||||
m_motion = new CMotionDummy(this); //dummy object
|
||||
}
|
||||
else {
|
||||
m_motion = new CMotionVehicle(this);
|
||||
|
|
Loading…
Reference in New Issue