Data dir paths
- changed access to paths in data directory in CApplication - models now load from data directorydev-ui
parent
37e7c73f43
commit
fd09071c29
|
@ -132,6 +132,20 @@ CApplication::CApplication()
|
|||
m_language = LANG_ENGLISH;
|
||||
|
||||
m_lowCPU = true;
|
||||
|
||||
for (int i = 0; i < DIR_MAX; ++i)
|
||||
m_dataDirs[i] = nullptr;
|
||||
|
||||
m_dataDirs[DIR_AI] = "ai";
|
||||
m_dataDirs[DIR_FONT] = "fonts";
|
||||
m_dataDirs[DIR_HELP] = "help";
|
||||
m_dataDirs[DIR_I18N] = "i18n";
|
||||
m_dataDirs[DIR_ICON] = "icons";
|
||||
m_dataDirs[DIR_LEVEL] = "levels";
|
||||
m_dataDirs[DIR_MODEL] = "models";
|
||||
m_dataDirs[DIR_MUSIC] = "music";
|
||||
m_dataDirs[DIR_SOUND] = "sounds";
|
||||
m_dataDirs[DIR_TEXTURE] = "textures";
|
||||
}
|
||||
|
||||
CApplication::~CApplication()
|
||||
|
@ -299,7 +313,7 @@ bool CApplication::Create()
|
|||
putenv(S_LANGUAGE);
|
||||
setlocale(LC_ALL, locale.c_str());
|
||||
|
||||
std::string trPath = m_dataPath + std::string("/i18n");
|
||||
std::string trPath = m_dataPath + "/" + m_dataDirs[DIR_I18N];
|
||||
bindtextdomain("colobot", trPath.c_str());
|
||||
bind_textdomain_codeset("colobot", "UTF-8");
|
||||
textdomain("colobot");
|
||||
|
@ -1345,9 +1359,31 @@ bool CApplication::GetJoystickEnabled()
|
|||
return m_joystickEnabled;
|
||||
}
|
||||
|
||||
std::string CApplication::GetDataFilePath(const std::string& dirName, const std::string& fileName)
|
||||
std::string CApplication::GetDataDirPath()
|
||||
{
|
||||
return m_dataPath + "/" + dirName + "/" + fileName;
|
||||
return m_dataPath;
|
||||
}
|
||||
|
||||
std::string CApplication::GetDataFilePath(DataDir dataDir, const std::string& subpath)
|
||||
{
|
||||
int index = static_cast<int>(dataDir);
|
||||
assert(index >= 0 && index < DIR_MAX);
|
||||
std::stringstream str;
|
||||
str << m_dataPath;
|
||||
str << "/";
|
||||
str << m_dataDirs[index];
|
||||
str << "/";
|
||||
str << subpath;
|
||||
return str.str();
|
||||
}
|
||||
|
||||
std::string CApplication::GetDataFilePath(const std::string& subpath)
|
||||
{
|
||||
std::stringstream str;
|
||||
str << m_dataPath;
|
||||
str << "/";
|
||||
str << subpath;
|
||||
return str.str();
|
||||
}
|
||||
|
||||
Language CApplication::GetLanguage()
|
||||
|
|
|
@ -283,8 +283,14 @@ public:
|
|||
bool GetDebugMode();
|
||||
//@}
|
||||
|
||||
//! Returns the full path to a file in data directory
|
||||
std::string GetDataFilePath(const std::string &dirName, const std::string &fileName);
|
||||
//! Returns the full path to data directory
|
||||
std::string GetDataDirPath();
|
||||
|
||||
//! Returns the full path to a file in data directory given standard dir and subpath
|
||||
std::string GetDataFilePath(DataDir dir, const std::string &subpath);
|
||||
|
||||
//! Returns the full path to a file in data directory given custom subpath in data dir
|
||||
std::string GetDataFilePath(const std::string &subpath);
|
||||
|
||||
//! Management of language
|
||||
//@{
|
||||
|
@ -397,6 +403,8 @@ protected:
|
|||
//! Path to directory with data files
|
||||
std::string m_dataPath;
|
||||
|
||||
const char* m_dataDirs[DIR_MAX];
|
||||
|
||||
//! Application language
|
||||
Language m_language;
|
||||
|
||||
|
|
|
@ -35,6 +35,26 @@ enum Language
|
|||
LANG_POLISH = 3
|
||||
};
|
||||
|
||||
/**
|
||||
* \enum DataDir
|
||||
* \brief Directories in data directory
|
||||
*/
|
||||
enum DataDir
|
||||
{
|
||||
DIR_AI, //! < ai scripts
|
||||
DIR_FONT, //! < fonts
|
||||
DIR_HELP, //! < help files
|
||||
DIR_I18N, //! < translations
|
||||
DIR_ICON, //! < icons & images
|
||||
DIR_LEVEL, //! < levels
|
||||
DIR_MODEL, //! < models
|
||||
DIR_MUSIC, //! < music
|
||||
DIR_SOUND, //! < sounds
|
||||
DIR_TEXTURE, //! < textures
|
||||
|
||||
DIR_MAX //! < number of dirs
|
||||
};
|
||||
|
||||
/**
|
||||
* \enum BuildType
|
||||
* \brief Construction actions (buildings, etc.) available to user
|
||||
|
|
|
@ -210,7 +210,6 @@ CEngine::CEngine(CInstanceManager *iMan, CApplication *app)
|
|||
m_lastFrameTime = CreateTimeStamp();
|
||||
m_currentFrameTime = CreateTimeStamp();
|
||||
|
||||
m_texPath = "textures/";
|
||||
m_defaultTexParams.format = TEX_IMG_AUTO;
|
||||
m_defaultTexParams.mipmap = true;
|
||||
m_defaultTexParams.minFilter = TEX_MIN_FILTER_LINEAR_MIPMAP_LINEAR;
|
||||
|
@ -497,11 +496,6 @@ Math::IntPoint CEngine::InterfaceToWindowSize(Math::Point size)
|
|||
static_cast<int>(size.y * m_size.y));
|
||||
}
|
||||
|
||||
std::string CEngine::GetTextureDir()
|
||||
{
|
||||
return m_texPath;
|
||||
}
|
||||
|
||||
void CEngine::AddStatisticTriangle(int count)
|
||||
{
|
||||
m_statisticTriangle += count;
|
||||
|
@ -2108,7 +2102,7 @@ Texture CEngine::CreateTexture(const std::string& texName, const TextureCreatePa
|
|||
// TODO: detect alpha channel?
|
||||
|
||||
CImage img;
|
||||
if (! img.Load(m_app->GetDataFilePath(m_texPath, texName)))
|
||||
if (! img.Load(m_app->GetDataFilePath(DIR_TEXTURE, texName)))
|
||||
{
|
||||
std::string error = img.GetError();
|
||||
GetLogger()->Error("Couldn't load texture '%s': %s, blacklisting\n", texName.c_str(), error.c_str());
|
||||
|
|
|
@ -738,9 +738,6 @@ public:
|
|||
Math::IntPoint InterfaceToWindowSize(Math::Point size);
|
||||
//@}
|
||||
|
||||
//! Returns the name of directory with textures
|
||||
std::string GetTextureDir();
|
||||
|
||||
//! Increments the triangle counter for the current frame
|
||||
void AddStatisticTriangle(int nb);
|
||||
//! Returns the number of triangles in current frame
|
||||
|
@ -1349,8 +1346,6 @@ protected:
|
|||
Math::Point m_highlightP2;
|
||||
//@}
|
||||
|
||||
//! Texture directory name
|
||||
std::string m_texPath;
|
||||
//! Default texture create params
|
||||
TextureCreateParams m_defaultTexParams;
|
||||
|
||||
|
|
|
@ -197,7 +197,7 @@ void CTerrain::AddMaterial(int id, const std::string& texName, const Math::Point
|
|||
bool CTerrain::LoadResources(const std::string& fileName)
|
||||
{
|
||||
CImage img;
|
||||
if (! img.Load(CApplication::GetInstance().GetDataFilePath(m_engine->GetTextureDir(), fileName)))
|
||||
if (! img.Load(CApplication::GetInstance().GetDataFilePath(DIR_TEXTURE, fileName)))
|
||||
return false;
|
||||
|
||||
ImageData *data = img.GetData();
|
||||
|
@ -268,7 +268,7 @@ bool CTerrain::LoadRelief(const std::string &fileName, float scaleRelief,
|
|||
m_scaleRelief = scaleRelief;
|
||||
|
||||
CImage img;
|
||||
if (! img.Load(CApplication::GetInstance().GetDataFilePath(m_engine->GetTextureDir(), fileName)))
|
||||
if (! img.Load(CApplication::GetInstance().GetDataFilePath(DIR_TEXTURE, fileName)))
|
||||
return false;
|
||||
|
||||
ImageData *data = img.GetData();
|
||||
|
|
|
@ -58,7 +58,6 @@ CText::CText(CInstanceManager *iMan, CEngine* engine)
|
|||
m_engine = engine;
|
||||
|
||||
m_defaultSize = 12.0f;
|
||||
m_fontPath = "fonts";
|
||||
|
||||
m_lastFontType = FONT_COLOBOT;
|
||||
m_lastFontSize = 0;
|
||||
|
@ -738,7 +737,7 @@ CachedFont* CText::GetOrOpenFont(FontType font, float size)
|
|||
return m_lastCachedFont;
|
||||
}
|
||||
|
||||
std::string path = CApplication::GetInstance().GetDataFilePath(m_fontPath, mf->fileName);
|
||||
std::string path = CApplication::GetInstance().GetDataFilePath(DIR_FONT, mf->fileName);
|
||||
|
||||
m_lastCachedFont = new CachedFont();
|
||||
m_lastCachedFont->font = TTF_OpenFont(path.c_str(), pointSize);
|
||||
|
|
|
@ -301,7 +301,6 @@ protected:
|
|||
|
||||
std::string m_error;
|
||||
float m_defaultSize;
|
||||
std::string m_fontPath;
|
||||
|
||||
std::map<FontType, MultisizeFont*> m_fonts;
|
||||
|
||||
|
|
|
@ -14,14 +14,16 @@
|
|||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motion.cpp
|
||||
|
||||
|
||||
#include "object/motion/motion.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "common/iman.h"
|
||||
|
||||
#include "script/cmdtoken.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
|
@ -33,9 +35,10 @@ CMotion::CMotion(CInstanceManager* iMan, CObject* object)
|
|||
m_iMan = iMan;
|
||||
m_iMan->AddInstance(CLASS_MOTION, this, 100);
|
||||
|
||||
m_app = CApplication::GetInstancePointer();
|
||||
m_engine = static_cast< Gfx::CEngine* >(m_iMan->SearchInstance(CLASS_ENGINE));
|
||||
m_light = static_cast< Gfx::CLight* >(m_iMan->SearchInstance(CLASS_LIGHT));
|
||||
m_particle = static_cast< Gfx::CParticle* >(m_iMan->SearchInstance(CLASS_PARTICULE));
|
||||
m_particle = static_cast< Gfx::CParticle* >(m_iMan->SearchInstance(CLASS_PARTICULE));
|
||||
m_terrain = static_cast< Gfx::CTerrain* >(m_iMan->SearchInstance(CLASS_TERRAIN));
|
||||
m_water = static_cast< Gfx::CWater* >(m_iMan->SearchInstance(CLASS_WATER));
|
||||
m_camera = static_cast< Gfx::CCamera* >(m_iMan->SearchInstance(CLASS_CAMERA));
|
||||
|
|
|
@ -21,11 +21,10 @@
|
|||
|
||||
#include "common/event.h"
|
||||
#include "common/global.h"
|
||||
|
||||
#include "object/object.h"
|
||||
|
||||
|
||||
class CInstanceManager;
|
||||
|
||||
namespace Gfx {
|
||||
class CEngine;
|
||||
class CLight;
|
||||
|
@ -35,6 +34,8 @@ class CWater;
|
|||
class CCamera;
|
||||
}
|
||||
|
||||
class CInstanceManager;
|
||||
class CApplication;
|
||||
class CBrain;
|
||||
class CPhysics;
|
||||
class CObject;
|
||||
|
@ -74,6 +75,7 @@ protected:
|
|||
|
||||
protected:
|
||||
CInstanceManager* m_iMan;
|
||||
CApplication* m_app;
|
||||
Gfx::CEngine* m_engine;
|
||||
Gfx::CLight* m_light;
|
||||
Gfx::CParticle* m_particle;
|
||||
|
|
|
@ -14,18 +14,19 @@
|
|||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motionant.cpp
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "object/motion/motionant.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "graphics/engine/modelfile.h"
|
||||
#include "graphics/engine/particle.h"
|
||||
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
#define ADJUST_ANGLE false // true -> adjusts the angles of the members
|
||||
const float START_TIME = 1000.0f; // beginning of the relative time
|
||||
|
@ -82,7 +83,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_VEHICULE); // this is a moving object
|
||||
m_object->SetObjectRank(0, rank);
|
||||
|
||||
pModFile->ReadModel("data/models/ant1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant1.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
|
||||
m_object->SetPosition(0, pos);
|
||||
|
@ -98,7 +99,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/ant2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(2.0f, 0.0f, 0.0f));
|
||||
|
||||
|
@ -107,7 +108,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/ant3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(-1.0f, 0.0f, 0.0f));
|
||||
|
||||
|
@ -116,7 +117,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(-0.4f, -0.1f, -0.3f));
|
||||
|
||||
|
@ -125,7 +126,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 3);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(4, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
|
||||
|
@ -134,7 +135,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(5, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
|
||||
|
@ -143,7 +144,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(0.1f, -0.1f, -0.4f));
|
||||
|
||||
|
@ -152,7 +153,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 6);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
|
||||
|
@ -161,7 +162,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 7);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(8, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
|
||||
|
@ -170,7 +171,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(9, Math::Vector(1.4f, -0.1f, -0.6f));
|
||||
|
||||
|
@ -179,7 +180,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 9);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(10, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
|
||||
|
@ -188,7 +189,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 10);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(11, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
|
||||
|
@ -197,7 +198,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(12, Math::Vector(-0.4f, -0.1f, 0.3f));
|
||||
|
@ -207,7 +208,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 12);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(13, Math::Vector(0.0f, 0.0f, 1.0f));
|
||||
|
@ -217,7 +218,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(14, rank);
|
||||
m_object->SetObjectParent(14, 13);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(14, Math::Vector(0.0f, 0.0f, 2.0f));
|
||||
|
@ -227,7 +228,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(15, rank);
|
||||
m_object->SetObjectParent(15, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(15, Math::Vector(0.1f, -0.1f, 0.4f));
|
||||
|
@ -237,7 +238,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(16, rank);
|
||||
m_object->SetObjectParent(16, 15);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(16, Math::Vector(0.0f, 0.0f, 1.0f));
|
||||
|
@ -247,7 +248,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(17, rank);
|
||||
m_object->SetObjectParent(17, 16);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(17, Math::Vector(0.0f, 0.0f, 2.0f));
|
||||
|
@ -257,7 +258,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(18, rank);
|
||||
m_object->SetObjectParent(18, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(18, Math::Vector(1.4f, -0.1f, 0.6f));
|
||||
|
@ -267,7 +268,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(19, rank);
|
||||
m_object->SetObjectParent(19, 18);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(19, Math::Vector(0.0f, 0.0f, 1.0f));
|
||||
|
@ -277,7 +278,7 @@ bool CMotionAnt::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank,Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(20, rank);
|
||||
m_object->SetObjectParent(20, 19);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(20, Math::Vector(0.0f, 0.0f, 2.0f));
|
||||
|
|
|
@ -14,17 +14,18 @@
|
|||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motionbee.cpp
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "object/motion/motionbee.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "graphics/engine/modelfile.h"
|
||||
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
#define ADJUST_ANGLE false // true -> adjusts the angles of the members
|
||||
const float START_TIME = 1000.0f; // beginning of the relative time
|
||||
|
@ -80,7 +81,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_VEHICULE); // this is a moving object
|
||||
m_object->SetObjectRank(0, rank);
|
||||
|
||||
pModFile->ReadModel("data/models/bee1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "bee1.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
|
||||
m_object->SetPosition(0, pos);
|
||||
|
@ -96,7 +97,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/bee2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "bee2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(1.6f, 0.3f, 0.0f));
|
||||
|
||||
|
@ -105,7 +106,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/bee3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "bee3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(-0.8f, 0.0f, 0.0f));
|
||||
|
||||
|
@ -114,7 +115,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(-0.3f, -0.1f, -0.2f));
|
||||
|
||||
|
@ -123,7 +124,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 3);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(4, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
|
||||
|
@ -132,7 +133,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(5, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
|
||||
|
@ -141,7 +142,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(0.3f, -0.1f, -0.4f));
|
||||
|
||||
|
@ -150,7 +151,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 6);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
|
||||
|
@ -159,7 +160,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 7);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(8, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
|
||||
|
@ -168,7 +169,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(9, Math::Vector(1.0f, -0.1f, -0.7f));
|
||||
|
||||
|
@ -177,7 +178,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 9);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(10, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
|
||||
|
@ -186,7 +187,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 10);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(11, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
|
||||
|
@ -195,7 +196,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(12, Math::Vector(-0.3f, -0.1f, 0.2f));
|
||||
m_object->SetAngleY(12, Math::PI);
|
||||
|
@ -205,7 +206,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 12);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(13, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
|
||||
|
@ -214,7 +215,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(14, rank);
|
||||
m_object->SetObjectParent(14, 13);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(14, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
|
||||
|
@ -223,7 +224,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(15, rank);
|
||||
m_object->SetObjectParent(15, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(15, Math::Vector(0.3f, -0.1f, 0.4f));
|
||||
m_object->SetAngleY(15, Math::PI);
|
||||
|
@ -233,7 +234,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(16, rank);
|
||||
m_object->SetObjectParent(16, 15);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(16, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
|
||||
|
@ -242,7 +243,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(17, rank);
|
||||
m_object->SetObjectParent(17, 16);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(17, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
|
||||
|
@ -251,7 +252,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(18, rank);
|
||||
m_object->SetObjectParent(18, 0);
|
||||
pModFile->ReadModel("data/models/ant4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(18, Math::Vector(1.0f, -0.1f, 0.7f));
|
||||
m_object->SetAngleY(18, Math::PI);
|
||||
|
@ -261,7 +262,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(19, rank);
|
||||
m_object->SetObjectParent(19, 18);
|
||||
pModFile->ReadModel("data/models/ant5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(19, Math::Vector(0.0f, 0.0f, -1.0f));
|
||||
|
||||
|
@ -270,7 +271,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(20, rank);
|
||||
m_object->SetObjectParent(20, 19);
|
||||
pModFile->ReadModel("data/models/ant6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "ant6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(20, Math::Vector(0.0f, 0.0f, -2.0f));
|
||||
|
||||
|
@ -279,7 +280,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(21, rank);
|
||||
m_object->SetObjectParent(21, 0);
|
||||
pModFile->ReadModel("data/models/bee7.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "bee7.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(21, Math::Vector(0.8f, 0.4f, -0.5f));
|
||||
|
||||
|
@ -288,7 +289,7 @@ bool CMotionBee::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(22, rank);
|
||||
m_object->SetObjectParent(22, 0);
|
||||
pModFile->ReadModel("data/models/bee7.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "bee7.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(22, Math::Vector(0.8f, 0.4f, 0.5f));
|
||||
|
|
|
@ -14,21 +14,25 @@
|
|||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motionhuman.cpp
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "object/motion/motionhuman.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "graphics/engine/modelfile.h"
|
||||
#include "graphics/engine/terrain.h"
|
||||
#include "graphics/engine/water.h"
|
||||
|
||||
#include "math/geometry.h"
|
||||
|
||||
#include "object/robotmain.h"
|
||||
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
|
||||
#define ADJUST_ANGLE false // true -> adjusts the angles of the members
|
||||
const int ADJUST_ACTION = (3*3*3*3*MH_SPEC+3*3*3*MHS_SATCOM);
|
||||
|
@ -99,18 +103,22 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
|
||||
// if ( m_engine->GetRestCreate() < 16 ) return false;
|
||||
|
||||
|
||||
pModFile = new Gfx::CModelFile(m_iMan);
|
||||
|
||||
m_object->SetType(type);
|
||||
option = m_object->GetOption();
|
||||
|
||||
std::string baseName;
|
||||
|
||||
if ( m_main->GetGamerOnlyHead() )
|
||||
{
|
||||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_VEHICULE); // this is a moving object
|
||||
m_object->SetObjectRank(0, rank);
|
||||
face = m_main->GetGamerFace();
|
||||
sprintf(filename, "data/models/human2h%d.mod", face+1);
|
||||
baseName = m_app->GetDataFilePath(DIR_MODEL, "human2h%d.mod");
|
||||
sprintf(filename, baseName.c_str(), face+1);
|
||||
pModFile->ReadModel(filename);
|
||||
pModFile->CreateEngineObject(rank);
|
||||
|
||||
|
@ -121,7 +129,8 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
sprintf(filename, "data/models/human2g%d.mod", glasses);
|
||||
baseName = m_app->GetDataFilePath(DIR_MODEL, "human2g%d.mod");
|
||||
sprintf(filename, baseName.c_str(), glasses);
|
||||
pModFile->ReadModel(filename);
|
||||
pModFile->CreateEngineObject(rank);
|
||||
}
|
||||
|
@ -142,15 +151,15 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
|
||||
if ( option == 0 ) // head in helmet?
|
||||
{
|
||||
pModFile->ReadModel("data/models/human1c.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human1c.mod"));
|
||||
}
|
||||
if ( option == 1 ) // head without helmet?
|
||||
{
|
||||
pModFile->ReadModel("data/models/human1h.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human1h.mod"));
|
||||
}
|
||||
if ( option == 2 ) // without a backpack?
|
||||
{
|
||||
pModFile->ReadModel("data/models/human1v.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human1v.mod"));
|
||||
}
|
||||
pModFile->CreateEngineObject(rank);
|
||||
|
||||
|
@ -172,20 +181,22 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
if ( option == 0 ) // head in helmet?
|
||||
{
|
||||
face = m_main->GetGamerFace();
|
||||
sprintf(filename, "data/models/human2c%d.mod", face+1);
|
||||
baseName = m_app->GetDataFilePath(DIR_MODEL, "human2c%d.mod");
|
||||
sprintf(filename, baseName.c_str(), face+1);
|
||||
pModFile->ReadModel(filename);
|
||||
}
|
||||
if ( option == 1 || // head without helmet?
|
||||
option == 2 ) // without a backpack?
|
||||
{
|
||||
face = m_main->GetGamerFace();
|
||||
sprintf(filename, "data/models/human2h%d.mod", face+1);
|
||||
baseName = m_app->GetDataFilePath(DIR_MODEL, "human2h%d.mod");
|
||||
sprintf(filename, baseName.c_str(), face+1);
|
||||
pModFile->ReadModel(filename);
|
||||
}
|
||||
}
|
||||
if ( type == OBJECT_TECH )
|
||||
{
|
||||
pModFile->ReadModel("data/models/human2t.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human2t.mod"));
|
||||
}
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(0.0f, 2.7f, 0.0f));
|
||||
|
@ -203,7 +214,8 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(15, rank);
|
||||
m_object->SetObjectParent(15, 1);
|
||||
sprintf(filename, "data/models/human2g%d.mod", glasses);
|
||||
baseName = m_app->GetDataFilePath(DIR_MODEL, "human2g%d.mod");
|
||||
sprintf(filename, baseName.c_str(), glasses);
|
||||
pModFile->ReadModel(filename);
|
||||
pModFile->CreateEngineObject(rank);
|
||||
}
|
||||
|
@ -213,7 +225,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/human3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(0.0f, 2.3f, -1.2f));
|
||||
m_object->SetAngle(2, Math::Vector(90.0f*Math::PI/180.0f, 90.0f*Math::PI/180.0f, -50.0f*Math::PI/180.0f));
|
||||
|
@ -223,7 +235,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
pModFile->ReadModel("data/models/human4r.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human4r.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(1.3f, 0.0f, 0.0f));
|
||||
m_object->SetAngle(3, Math::Vector(0.0f*Math::PI/180.0f, -20.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f));
|
||||
|
@ -233,7 +245,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 3);
|
||||
pModFile->ReadModel("data/models/human5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(4, Math::Vector(1.2f, 0.0f, 0.0f));
|
||||
|
||||
|
@ -242,7 +254,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 0);
|
||||
pModFile->ReadModel("data/models/human6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(5, Math::Vector(0.0f, 0.0f, -0.7f));
|
||||
m_object->SetAngle(5, Math::Vector(10.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
|
@ -252,7 +264,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 5);
|
||||
pModFile->ReadModel("data/models/human7.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human7.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetAngle(6, Math::Vector(0.0f*Math::PI/180.0f, 0.0f*Math::PI/180.0f, -10.0f*Math::PI/180.0f));
|
||||
|
@ -262,7 +274,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 6);
|
||||
pModFile->ReadModel("data/models/human8.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human8.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(0.0f, -1.5f, 0.0f));
|
||||
m_object->SetAngle(7, Math::Vector(-10.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f, 5.0f*Math::PI/180.0f));
|
||||
|
@ -272,7 +284,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
pModFile->ReadModel("data/models/human3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human3.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(8, Math::Vector(0.0f, 2.3f, 1.2f));
|
||||
|
@ -283,7 +295,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 8);
|
||||
pModFile->ReadModel("data/models/human4l.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human4l.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(9, Math::Vector(1.3f, 0.0f, 0.0f));
|
||||
|
@ -294,7 +306,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 9);
|
||||
pModFile->ReadModel("data/models/human5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human5.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(10, Math::Vector(1.2f, 0.0f, 0.0f));
|
||||
|
@ -304,7 +316,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 0);
|
||||
pModFile->ReadModel("data/models/human6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human6.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(11, Math::Vector(0.0f, 0.0f, 0.7f));
|
||||
|
@ -315,7 +327,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 11);
|
||||
pModFile->ReadModel("data/models/human7.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human7.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(12, Math::Vector(0.0f, -1.5f, 0.0f));
|
||||
|
@ -326,7 +338,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 12);
|
||||
pModFile->ReadModel("data/models/human8.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human8.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(13, Math::Vector(0.0f, -1.5f, 0.0f));
|
||||
|
@ -339,7 +351,7 @@ bool CMotionHuman::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(14, rank);
|
||||
m_object->SetObjectParent(14, 0);
|
||||
pModFile->ReadModel("data/models/human9.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "human9.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(14, Math::Vector(-1.5f, 0.3f, -1.35f));
|
||||
m_object->SetAngleZ(14, Math::PI);
|
||||
|
|
|
@ -14,17 +14,18 @@
|
|||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motionmother.cpp
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "object/motion/motionmother.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "graphics/engine/modelfile.h"
|
||||
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
#define ADJUST_ANGLE false // true -> adjusts the angles of the members
|
||||
const float START_TIME = 1000.0f; // beginning of the relative time
|
||||
|
@ -81,7 +82,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_VEHICULE); // this is a moving object
|
||||
m_object->SetObjectRank(0, rank);
|
||||
|
||||
pModFile->ReadModel("data/models/mother1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother1.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
|
||||
m_object->SetPosition(0, pos);
|
||||
|
@ -97,7 +98,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/mother2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(16.0f, 3.0f, 0.0f));
|
||||
|
||||
|
@ -106,7 +107,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/mother3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(-5.0f, -1.0f, -12.0f));
|
||||
|
||||
|
@ -115,7 +116,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
pModFile->ReadModel("data/models/mother4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
|
||||
|
@ -124,7 +125,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 0);
|
||||
pModFile->ReadModel("data/models/mother3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(4, Math::Vector(3.5f, -1.0f, -12.0f));
|
||||
|
||||
|
@ -133,7 +134,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
pModFile->ReadModel("data/models/mother4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(5, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
|
||||
|
@ -142,7 +143,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/mother3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(10.0f, -1.0f, -10.0f));
|
||||
|
||||
|
@ -151,7 +152,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 6);
|
||||
pModFile->ReadModel("data/models/mother4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
|
||||
|
@ -160,7 +161,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
pModFile->ReadModel("data/models/mother3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(8, Math::Vector(-5.0f, -1.0f, 12.0f));
|
||||
m_object->SetAngleY(8, Math::PI);
|
||||
|
@ -170,7 +171,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 8);
|
||||
pModFile->ReadModel("data/models/mother4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(9, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
|
||||
|
@ -179,7 +180,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 0);
|
||||
pModFile->ReadModel("data/models/mother3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(10, Math::Vector(3.5f, -1.0f, 12.0f));
|
||||
m_object->SetAngleY(10, Math::PI);
|
||||
|
@ -189,7 +190,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 10);
|
||||
pModFile->ReadModel("data/models/mother4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(11, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
|
||||
|
@ -198,7 +199,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 0);
|
||||
pModFile->ReadModel("data/models/mother3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(12, Math::Vector(10.0f, -1.0f, 10.0f));
|
||||
m_object->SetAngleY(12, Math::PI);
|
||||
|
@ -208,7 +209,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 12);
|
||||
pModFile->ReadModel("data/models/mother4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(13, Math::Vector(0.0f, 0.0f, -8.5f));
|
||||
|
||||
|
@ -217,7 +218,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(14, rank);
|
||||
m_object->SetObjectParent(14, 1);
|
||||
pModFile->ReadModel("data/models/mother5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(14, Math::Vector(6.0f, 1.0f, -2.5f));
|
||||
|
||||
|
@ -225,7 +226,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(15, rank);
|
||||
m_object->SetObjectParent(15, 14);
|
||||
pModFile->ReadModel("data/models/mother6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(15, Math::Vector(8.0f, 0.0f, 0.0f));
|
||||
|
||||
|
@ -234,7 +235,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(16, rank);
|
||||
m_object->SetObjectParent(16, 1);
|
||||
pModFile->ReadModel("data/models/mother5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(16, Math::Vector(6.0f, 1.0f, 2.5f));
|
||||
|
||||
|
@ -242,7 +243,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(17, rank);
|
||||
m_object->SetObjectParent(17, 16);
|
||||
pModFile->ReadModel("data/models/mother6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(17, Math::Vector(8.0f, 0.0f, 0.0f));
|
||||
|
||||
|
@ -251,7 +252,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(18, rank);
|
||||
m_object->SetObjectParent(18, 1);
|
||||
pModFile->ReadModel("data/models/mother7.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother7.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(18, Math::Vector(-4.0f, -3.5f, -8.0f));
|
||||
m_object->SetZoomX(18, 1.2f);
|
||||
|
@ -261,7 +262,7 @@ bool CMotionMother::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(19, rank);
|
||||
m_object->SetObjectParent(19, 1);
|
||||
pModFile->ReadModel("data/models/mother7.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "mother7.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(19, Math::Vector(-4.0f, -3.5f, 8.0f));
|
||||
|
|
|
@ -14,17 +14,18 @@
|
|||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motionspider.cpp
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "object/motion/motionspider.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "graphics/engine/modelfile.h"
|
||||
#include "graphics/engine/particle.h"
|
||||
|
||||
#include "physics/physics.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
|
||||
#define ADJUST_ANGLE false // true -> adjusts the angles of the members
|
||||
|
@ -72,6 +73,8 @@ bool CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
int rank, i, j, parent;
|
||||
char name[50];
|
||||
|
||||
std::string baseName;
|
||||
|
||||
float table[] =
|
||||
{
|
||||
// x y z
|
||||
|
@ -106,7 +109,7 @@ bool CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_VEHICULE); // this is a moving object
|
||||
m_object->SetObjectRank(0, rank);
|
||||
pModFile->ReadModel("data/models/spider0.mod"); // doesn't exist
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "spider0.mod")); // doesn't exist
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(0, pos);
|
||||
m_object->SetAngleY(0, angle);
|
||||
|
@ -121,7 +124,7 @@ bool CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/spider1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "spider1.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(1.0f, 0.0f, 0.0f));
|
||||
|
||||
|
@ -130,7 +133,7 @@ bool CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/spider2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "spider2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(1.0f, 0.0f, 0.0f));
|
||||
|
||||
|
@ -139,7 +142,8 @@ bool CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
{
|
||||
for ( j=0 ; j<4 ; j++ )
|
||||
{
|
||||
sprintf(name, "data/models/spider%d.mod", j+3); // 3..6
|
||||
baseName = m_app->GetDataFilePath(DIR_MODEL, "spider%d.mod");
|
||||
sprintf(name, baseName.c_str(), j+3); // 3..6
|
||||
|
||||
// Creates the right leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -177,7 +181,7 @@ bool CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(35, rank);
|
||||
m_object->SetObjectParent(35, 1);
|
||||
pModFile->ReadModel("data/models/spider7.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "spider7.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(35, Math::Vector(0.0f, 0.0f, -0.3f));
|
||||
|
||||
|
@ -186,7 +190,7 @@ bool CMotionSpider::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(36, rank);
|
||||
m_object->SetObjectParent(36, 1);
|
||||
pModFile->ReadModel("data/models/spider7.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "spider7.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(36, Math::Vector(0.0f, 0.0f, 0.3f));
|
||||
|
|
|
@ -14,20 +14,23 @@
|
|||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motiontoto.cpp
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "object/motion/motiontoto.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "math/geometry.h"
|
||||
|
||||
#include "graphics/engine/terrain.h"
|
||||
#include "graphics/engine/water.h"
|
||||
#include "graphics/engine/modelfile.h"
|
||||
|
||||
#include "object/robotmain.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
|
||||
const float START_TIME = 1000.0f; // beginning of the relative time
|
||||
|
||||
|
@ -91,7 +94,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_VEHICULE); // this is a moving object
|
||||
m_object->SetObjectRank(0, rank);
|
||||
pModFile->ReadModel("data/models/toto1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto1.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(0, pos);
|
||||
m_object->SetAngleY(0, angle);
|
||||
|
@ -101,7 +104,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/toto2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(1.00f, 0.17f, 0.00f));
|
||||
|
||||
|
@ -110,7 +113,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/toto3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto3.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(0.85f, 1.04f, 0.25f));
|
||||
|
@ -121,7 +124,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 0);
|
||||
pModFile->ReadModel("data/models/toto3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(0.85f, 1.04f, -0.25f));
|
||||
m_object->SetAngleY(3, 20.0f*Math::PI/180.0f);
|
||||
|
@ -131,7 +134,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 0);
|
||||
pModFile->ReadModel("data/models/toto4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(4, Math::Vector(0.0f, 1.9f, 0.3f));
|
||||
m_object->SetAngleX(4, 30.0f*Math::PI/180.0f);
|
||||
|
@ -140,7 +143,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
pModFile->ReadModel("data/models/toto4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(5, Math::Vector(0.0f, 0.67f, 0.0f));
|
||||
m_object->SetAngleX(5, 30.0f*Math::PI/180.0f);
|
||||
|
@ -149,7 +152,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 5);
|
||||
pModFile->ReadModel("data/models/toto5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(0.0f, 0.70f, 0.0f));
|
||||
m_object->SetAngleX(6, 30.0f*Math::PI/180.0f);
|
||||
|
@ -159,7 +162,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
pModFile->ReadModel("data/models/toto4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(0.0f, 1.9f, -0.3f));
|
||||
m_object->SetAngleX(7, -30.0f*Math::PI/180.0f);
|
||||
|
@ -168,7 +171,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 7);
|
||||
pModFile->ReadModel("data/models/toto4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(8, Math::Vector(0.0f, 0.67f, 0.0f));
|
||||
m_object->SetAngleX(8, -30.0f*Math::PI/180.0f);
|
||||
|
@ -177,7 +180,7 @@ bool CMotionToto::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 8);
|
||||
pModFile->ReadModel("data/models/toto5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "toto5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(9, Math::Vector(0.0f, 0.70f, 0.0f));
|
||||
m_object->SetAngleX(9, -30.0f*Math::PI/180.0f);
|
||||
|
|
|
@ -14,16 +14,19 @@
|
|||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motionvehicle.cpp
|
||||
|
||||
|
||||
#include "object/motion/motionvehicle.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "graphics/engine/modelfile.h"
|
||||
#include "graphics/engine/particle.h"
|
||||
#include "graphics/engine/terrain.h"
|
||||
|
||||
#include "math/geometry.h"
|
||||
|
||||
#include "object/brain.h"
|
||||
|
||||
#include "physics/physics.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
@ -111,14 +114,14 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
type == OBJECT_MOBILEfi ||
|
||||
type == OBJECT_MOBILEfs )
|
||||
{
|
||||
pModFile->ReadModel("data/models/lem1f.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem1f.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILEta ||
|
||||
type == OBJECT_MOBILEtc ||
|
||||
type == OBJECT_MOBILEti ||
|
||||
type == OBJECT_MOBILEts )
|
||||
{
|
||||
pModFile->ReadModel("data/models/lem1t.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem1t.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILEwa ||
|
||||
type == OBJECT_MOBILEwc ||
|
||||
|
@ -127,11 +130,11 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
{
|
||||
if ( m_object->GetTrainer() )
|
||||
{
|
||||
pModFile->ReadModel("data/models/lem1wt.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem1wt.mod"));
|
||||
}
|
||||
else
|
||||
{
|
||||
pModFile->ReadModel("data/models/lem1w.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem1w.mod"));
|
||||
}
|
||||
}
|
||||
if ( type == OBJECT_MOBILEia ||
|
||||
|
@ -139,46 +142,46 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
type == OBJECT_MOBILEii ||
|
||||
type == OBJECT_MOBILEis )
|
||||
{
|
||||
pModFile->ReadModel("data/models/lem1i.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem1i.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILErt ||
|
||||
type == OBJECT_MOBILErc ||
|
||||
type == OBJECT_MOBILErr ||
|
||||
type == OBJECT_MOBILErs )
|
||||
{
|
||||
pModFile->ReadModel("data/models/roller1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller1.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILEsa )
|
||||
{
|
||||
pModFile->ReadModel("data/models/subm1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "subm1.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILEtg )
|
||||
{
|
||||
pModFile->ReadModel("data/models/target.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "target.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILEwt )
|
||||
{
|
||||
pModFile->ReadModel("data/models/trainerw.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "trainerw.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILEft )
|
||||
{
|
||||
pModFile->ReadModel("data/models/trainerf.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "trainerf.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILEtt )
|
||||
{
|
||||
pModFile->ReadModel("data/models/trainert.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "trainert.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILEit )
|
||||
{
|
||||
pModFile->ReadModel("data/models/traineri.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "traineri.mod"));
|
||||
}
|
||||
if ( type == OBJECT_MOBILEdr )
|
||||
{
|
||||
pModFile->ReadModel("data/models/drawer1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "drawer1.mod"));
|
||||
}
|
||||
if ( type == OBJECT_APOLLO2 )
|
||||
{
|
||||
pModFile->ReadModel("data/models/apolloj1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj1.mod"));
|
||||
}
|
||||
pModFile->CreateEngineObject(rank);
|
||||
|
||||
|
@ -225,7 +228,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/lem2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetAngleZ(1, ARM_NEUTRAL_ANGLE1);
|
||||
|
@ -235,7 +238,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
pModFile->ReadModel("data/models/lem3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(5.0f, 0.0f, 0.0f));
|
||||
m_object->SetAngleZ(2, ARM_NEUTRAL_ANGLE2);
|
||||
|
@ -245,7 +248,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
pModFile->ReadModel("data/models/lem4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(3.5f, 0.0f, 0.0f));
|
||||
m_object->SetAngleZ(3, ARM_NEUTRAL_ANGLE3);
|
||||
|
@ -256,7 +259,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 3);
|
||||
pModFile->ReadModel("data/models/lem5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(4, Math::Vector(1.5f, 0.0f, 0.0f));
|
||||
m_object->SetAngleZ(4, -Math::PI*0.10f);
|
||||
|
@ -266,7 +269,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 3);
|
||||
pModFile->ReadModel("data/models/lem6.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem6.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(5, Math::Vector(1.5f, 0.0f, 0.0f));
|
||||
m_object->SetAngleZ(5, Math::PI*0.10f);
|
||||
|
@ -282,7 +285,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/lem2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetAngleZ(1, 110.0f*Math::PI/180.0f);
|
||||
|
@ -292,7 +295,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
pModFile->ReadModel("data/models/lem3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(5.0f, 0.0f, 0.0f));
|
||||
m_object->SetAngleZ(2, -110.0f*Math::PI/180.0f);
|
||||
|
@ -302,7 +305,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
pModFile->ReadModel("data/models/lem4s.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem4s.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(3.5f, 0.0f, 0.0f));
|
||||
m_object->SetAngleZ(3, -65.0f*Math::PI/180.0f);
|
||||
|
@ -318,7 +321,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/canon.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "canon.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
//? m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
|
@ -335,7 +338,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/canoni1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "canoni1.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(0.0f, 5.3f, 0.0f));
|
||||
m_object->SetAngleZ(1, 0.0f);
|
||||
|
@ -344,7 +347,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
pModFile->ReadModel("data/models/canoni2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "canoni2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(0.0f, 2.5f, 0.0f));
|
||||
m_object->SetAngleZ(2, 0.0f);
|
||||
|
@ -361,7 +364,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/lem2w.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2w.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(-3.0f, 1.0f, -3.0f));
|
||||
|
||||
|
@ -370,7 +373,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
pModFile->ReadModel("data/models/lem2w.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2w.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(-3.0f, 1.0f, 3.0f));
|
||||
m_object->SetAngleY(7, Math::PI);
|
||||
|
@ -380,7 +383,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
pModFile->ReadModel("data/models/lem2w.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2w.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(8, Math::Vector(2.0f, 1.0f, -3.0f));
|
||||
|
||||
|
@ -389,7 +392,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
pModFile->ReadModel("data/models/lem2w.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2w.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(9, Math::Vector(2.0f, 1.0f, 3.0f));
|
||||
m_object->SetAngleY(9, Math::PI);
|
||||
|
@ -402,7 +405,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/lem2w.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2w.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(-2.0f, 1.0f, -3.0f));
|
||||
|
||||
|
@ -411,7 +414,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
pModFile->ReadModel("data/models/lem2w.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2w.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(-2.0f, 1.0f, 3.0f));
|
||||
m_object->SetAngleY(7, Math::PI);
|
||||
|
@ -421,7 +424,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
pModFile->ReadModel("data/models/lem2w.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2w.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(8, Math::Vector(3.0f, 1.0f, -3.0f));
|
||||
|
||||
|
@ -430,7 +433,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
pModFile->ReadModel("data/models/lem2w.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2w.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(9, Math::Vector(3.0f, 1.0f, 3.0f));
|
||||
m_object->SetAngleY(9, Math::PI);
|
||||
|
@ -446,7 +449,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/lem2t.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2t.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(0.0f, 2.0f, -3.0f));
|
||||
|
||||
|
@ -455,7 +458,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
pModFile->ReadModel("data/models/lem3t.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem3t.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(0.0f, 2.0f, 3.0f));
|
||||
}
|
||||
|
@ -470,7 +473,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/roller2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(0.0f, 2.0f, -3.0f));
|
||||
|
||||
|
@ -479,7 +482,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
pModFile->ReadModel("data/models/roller3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(0.0f, 2.0f, 3.0f));
|
||||
}
|
||||
|
@ -491,7 +494,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/subm4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "subm4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(0.0f, 1.0f, -3.0f));
|
||||
|
||||
|
@ -500,7 +503,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
pModFile->ReadModel("data/models/subm5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "subm5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(0.0f, 1.0f, 3.0f));
|
||||
}
|
||||
|
@ -512,7 +515,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/drawer2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "drawer2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(0.0f, 1.0f, -3.0f));
|
||||
|
||||
|
@ -521,7 +524,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
pModFile->ReadModel("data/models/drawer3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "drawer3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(0.0f, 1.0f, 3.0f));
|
||||
}
|
||||
|
@ -537,7 +540,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/lem2f.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2f.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(1.7f, 3.0f, 0.0f));
|
||||
|
||||
|
@ -546,7 +549,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
pModFile->ReadModel("data/models/lem2f.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2f.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(-1.8f, 3.0f, -1.5f));
|
||||
m_object->SetAngleY(7, 120.0f*Math::PI/180.0f);
|
||||
|
@ -556,7 +559,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
pModFile->ReadModel("data/models/lem2f.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "lem2f.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(8, Math::Vector(-1.8f, 3.0f, 1.5f));
|
||||
m_object->SetAngleY(8, -120.0f*Math::PI/180.0f);
|
||||
|
@ -587,7 +590,8 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
{
|
||||
for ( j=0 ; j<3 ; j++ )
|
||||
{
|
||||
sprintf(name, "data/models/ant%d.mod", j+4); // 4..6
|
||||
std::string baseName = m_app->GetDataFilePath(DIR_MODEL, "ant%d.mod");
|
||||
sprintf(name, baseName.c_str(), j+4); // 4..6
|
||||
|
||||
// Creates the right leg.
|
||||
rank = m_engine->CreateObject();
|
||||
|
@ -628,7 +632,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/roller2t.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller2t.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
m_object->SetAngleZ(1, 0.0f);
|
||||
|
@ -638,7 +642,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/roller3t.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller3t.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(9.0f, 4.0f, 0.0f));
|
||||
m_object->SetAngleZ(2, 0.0f);
|
||||
|
@ -651,7 +655,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/roller2c.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller2c.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(3.0f, 4.6f, 0.0f));
|
||||
m_object->SetAngleZ(1, Math::PI/8.0f);
|
||||
|
@ -661,7 +665,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/roller3p.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller3p.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(7.0f, 6.5f, 0.0f));
|
||||
m_object->SetAngleZ(2, 0.0f);
|
||||
|
@ -674,7 +678,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/recover1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "recover1.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(2.0f, 5.0f, 0.0f));
|
||||
|
||||
|
@ -683,7 +687,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
pModFile->ReadModel("data/models/recover2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "recover2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(0.1f, 0.0f, -5.0f));
|
||||
m_object->SetAngleZ(2, 126.0f*Math::PI/180.0f);
|
||||
|
@ -693,7 +697,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
pModFile->ReadModel("data/models/recover3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "recover3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(5.0f, 0.0f, -0.5f));
|
||||
m_object->SetAngleZ(3, -144.0f*Math::PI/180.0f);
|
||||
|
@ -703,7 +707,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(4, rank);
|
||||
m_object->SetObjectParent(4, 1);
|
||||
pModFile->ReadModel("data/models/recover2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "recover2.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(4, Math::Vector(0.1f, 0.0f, 5.0f));
|
||||
|
@ -714,7 +718,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(5, rank);
|
||||
m_object->SetObjectParent(5, 4);
|
||||
pModFile->ReadModel("data/models/recover3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "recover3.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(5, Math::Vector(5.0f, 0.0f, 0.5f));
|
||||
|
@ -728,7 +732,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/roller2s.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller2s.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
m_object->SetAngleZ(1, 0.0f);
|
||||
|
@ -738,7 +742,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
pModFile->ReadModel("data/models/roller3s.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller3s.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(7.0f, 4.5f, 0.0f));
|
||||
m_object->SetAngleZ(2, 0.0f);
|
||||
|
@ -748,7 +752,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 2);
|
||||
pModFile->ReadModel("data/models/roller4s.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "roller4s.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(0.0f, 1.0f, 0.0f));
|
||||
m_object->SetAngleZ(3, 0.0f);
|
||||
|
@ -761,7 +765,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/subm2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "subm2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(4.2f, 3.0f, 0.0f));
|
||||
|
||||
|
@ -770,7 +774,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 1);
|
||||
pModFile->ReadModel("data/models/subm3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "subm3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(0.5f, 0.0f, -1.5f));
|
||||
|
||||
|
@ -779,7 +783,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(3, rank);
|
||||
m_object->SetObjectParent(3, 1);
|
||||
pModFile->ReadModel("data/models/subm3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "subm3.mod"));
|
||||
pModFile->Mirror();
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(3, Math::Vector(0.5f, 0.0f, 1.5f));
|
||||
|
@ -792,7 +796,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/drawer4.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "drawer4.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(-3.0f, 3.0f, 0.0f));
|
||||
|
||||
|
@ -803,7 +807,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/drawer5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "drawer5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_posKey = Math::Vector(3.0f, 5.7f, 0.0f);
|
||||
m_object->SetPosition(2, m_posKey);
|
||||
|
@ -817,7 +821,8 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(10+i, rank);
|
||||
m_object->SetObjectParent(10+i, 1);
|
||||
sprintf(name, "data/models/drawer%d.mod", 10+i);
|
||||
std::string baseName = m_app->GetDataFilePath(DIR_MODEL, "drawer%d.mod");
|
||||
sprintf(name, baseName.c_str(), 10+i);
|
||||
pModFile->ReadModel(name);
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(10+i, Math::Vector(0.0f, 0.0f, 0.0f));
|
||||
|
@ -834,7 +839,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/drawer5.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "drawer5.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_posKey = Math::Vector(0.2f, 4.1f, 0.0f);
|
||||
m_object->SetPosition(2, m_posKey);
|
||||
|
@ -849,7 +854,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/apolloj2.mod"); // antenna
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj2.mod")); // antenna
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(5.5f, 8.8f, 2.0f));
|
||||
m_object->SetAngleY(1, -120.0f*Math::PI/180.0f);
|
||||
|
@ -859,7 +864,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2, rank);
|
||||
m_object->SetObjectParent(2, 0);
|
||||
pModFile->ReadModel("data/models/apolloj3.mod"); // camera
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj3.mod")); // camera
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2, Math::Vector(5.5f, 2.8f, -2.0f));
|
||||
m_object->SetAngleY(2, 30.0f*Math::PI/180.0f);
|
||||
|
@ -869,7 +874,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(6, rank);
|
||||
m_object->SetObjectParent(6, 0);
|
||||
pModFile->ReadModel("data/models/apolloj4.mod"); // wheel
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj4.mod")); // wheel
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(6, Math::Vector(-5.75f, 1.65f, -5.0f));
|
||||
|
||||
|
@ -877,7 +882,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(7, rank);
|
||||
m_object->SetObjectParent(7, 0);
|
||||
pModFile->ReadModel("data/models/apolloj4.mod"); // wheel
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj4.mod")); // wheel
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(7, Math::Vector(-5.75f, 1.65f, 5.0f));
|
||||
|
||||
|
@ -885,7 +890,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(8, rank);
|
||||
m_object->SetObjectParent(8, 0);
|
||||
pModFile->ReadModel("data/models/apolloj4.mod"); // wheel
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj4.mod")); // wheel
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(8, Math::Vector(5.75f, 1.65f, -5.0f));
|
||||
|
||||
|
@ -893,7 +898,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(9, rank);
|
||||
m_object->SetObjectParent(9, 0);
|
||||
pModFile->ReadModel("data/models/apolloj4.mod"); // wheel
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj4.mod")); // wheel
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(9, Math::Vector(5.75f, 1.65f, 5.00f));
|
||||
|
||||
|
@ -902,7 +907,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(10, rank);
|
||||
m_object->SetObjectParent(10, 0);
|
||||
pModFile->ReadModel("data/models/apolloj6.mod"); // wheel
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj6.mod")); // wheel
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(10, Math::Vector(-5.75f, 1.65f, -5.0f));
|
||||
|
||||
|
@ -910,7 +915,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(11, rank);
|
||||
m_object->SetObjectParent(11, 0);
|
||||
pModFile->ReadModel("data/models/apolloj6.mod"); // wheel
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj6.mod")); // wheel
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(11, Math::Vector(-5.75f, 1.65f, 5.0f));
|
||||
|
||||
|
@ -918,7 +923,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(12, rank);
|
||||
m_object->SetObjectParent(12, 0);
|
||||
pModFile->ReadModel("data/models/apolloj5.mod"); // wheel
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj5.mod")); // wheel
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(12, Math::Vector(5.75f, 1.65f, -5.0f));
|
||||
|
||||
|
@ -926,7 +931,7 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(13, rank);
|
||||
m_object->SetObjectParent(13, 0);
|
||||
pModFile->ReadModel("data/models/apolloj5.mod"); // wheel
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "apolloj5.mod")); // wheel
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(13, Math::Vector(5.75f, 1.65f, 5.00f));
|
||||
}
|
||||
|
@ -1038,8 +1043,8 @@ bool CMotionVehicle::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_FIX);
|
||||
pPower->SetObjectRank(0, rank);
|
||||
|
||||
if ( power <= 1.0f ) pModFile->ReadModel("data/models/power.mod");
|
||||
else pModFile->ReadModel("data/models/atomic.mod");
|
||||
if ( power <= 1.0f ) pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "power.mod"));
|
||||
else pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "atomic.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
|
||||
pPower->SetPosition(0, m_object->GetCharacter()->posPower);
|
||||
|
|
|
@ -14,20 +14,23 @@
|
|||
// * You should have received a copy of the GNU General Public License
|
||||
// * along with this program. If not, see http://www.gnu.org/licenses/.
|
||||
|
||||
// motionworm.cpp
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
#include "object/motion/motionworm.h"
|
||||
|
||||
#include "app/app.h"
|
||||
|
||||
#include "graphics/engine/modelfile.h"
|
||||
#include "graphics/engine/particle.h"
|
||||
#include "graphics/engine/terrain.h"
|
||||
|
||||
#include "math/geometry.h"
|
||||
|
||||
#include "physics/physics.h"
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
|
||||
|
||||
|
||||
const float START_TIME = 1000.0f; // beginning of the relative time
|
||||
|
@ -92,7 +95,7 @@ bool CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
rank = m_engine->CreateObject();
|
||||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_VEHICULE); // this is a moving object
|
||||
m_object->SetObjectRank(0, rank);
|
||||
pModFile->ReadModel("data/models/worm0.mod"); // there is no purpose!
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "worm0.mod")); // there is no purpose!
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(0, pos);
|
||||
m_object->SetAngleY(0, angle);
|
||||
|
@ -108,7 +111,7 @@ bool CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(1, rank);
|
||||
m_object->SetObjectParent(1, 0);
|
||||
pModFile->ReadModel("data/models/worm1.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "worm1.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(1, Math::Vector(px, 0.0f, 0.0f));
|
||||
px -= 1.0f;
|
||||
|
@ -120,7 +123,7 @@ bool CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2+i, rank);
|
||||
m_object->SetObjectParent(2+i, 0);
|
||||
pModFile->ReadModel("data/models/worm2.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "worm2.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2+i, Math::Vector(px, 0.0f, 0.0f));
|
||||
px -= 1.0f;
|
||||
|
@ -131,7 +134,7 @@ bool CMotionWorm::Create(Math::Vector pos, float angle, ObjectType type,
|
|||
m_engine->SetObjectType(rank, Gfx::ENG_OBJTYPE_DESCENDANT);
|
||||
m_object->SetObjectRank(2+WORM_PART, rank);
|
||||
m_object->SetObjectParent(2+WORM_PART, 0);
|
||||
pModFile->ReadModel("data/models/worm3.mod");
|
||||
pModFile->ReadModel(m_app->GetDataFilePath(DIR_MODEL, "worm3.mod"));
|
||||
pModFile->CreateEngineObject(rank);
|
||||
m_object->SetPosition(2+WORM_PART, Math::Vector(px, 0.0f, 0.0f));
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -21,11 +21,14 @@
|
|||
|
||||
#include "graphics/engine/engine.h"
|
||||
#include "graphics/engine/camera.h"
|
||||
#include "sound/sound.h"
|
||||
|
||||
#include "object/object_ids.h"
|
||||
|
||||
#include "sound/sound.h"
|
||||
|
||||
|
||||
class CInstanceManager;
|
||||
class CApplication;
|
||||
class CPhysics;
|
||||
class CBrain;
|
||||
class CMotion;
|
||||
|
@ -407,6 +410,8 @@ public:
|
|||
float GetTraceWidth();
|
||||
void SetTraceWidth(float width);
|
||||
|
||||
std::string GetModelDirName();
|
||||
|
||||
protected:
|
||||
bool EventFrame(const Event &event);
|
||||
void VirusFrame(float rTime);
|
||||
|
@ -422,6 +427,7 @@ protected:
|
|||
|
||||
protected:
|
||||
CInstanceManager* m_iMan;
|
||||
CApplication* m_app;
|
||||
Gfx::CEngine* m_engine;
|
||||
Gfx::CLightManager* m_lightMan;
|
||||
Gfx::CTerrain* m_terrain;
|
||||
|
|
|
@ -117,7 +117,7 @@ static char* m_filesDir;
|
|||
|
||||
void PrepareFilename(CBotString &filename)
|
||||
{
|
||||
int pos = filename.ReverseFind('\\');
|
||||
int pos = filename.ReverseFind('/');
|
||||
if ( pos > 0 )
|
||||
{
|
||||
filename = filename.Mid(pos+1); // Remove files with
|
||||
|
@ -135,7 +135,7 @@ void PrepareFilename(CBotString &filename)
|
|||
filename = filename.Mid(pos+1); // also removes the drive letter C:
|
||||
}
|
||||
|
||||
filename = CBotString(m_filesDir) + CBotString("\\") + filename;
|
||||
filename = CBotString(m_filesDir) + CBotString("/") + filename;
|
||||
}
|
||||
|
||||
|
||||
|
@ -1153,7 +1153,7 @@ void CRobotMain::ChangePhase(Phase phase)
|
|||
pe->SetFontType(FONT_COLOBOT);
|
||||
pe->SetEditCap(false);
|
||||
pe->SetHiliteCap(false);
|
||||
pe->ReadText("help\\teenw.txt");
|
||||
pe->ReadText("help/teenw.txt");
|
||||
#else*/
|
||||
|
||||
pos.x = ox+sx*3; pos.y = oy+sy*0.2f;
|
||||
|
@ -1163,7 +1163,7 @@ void CRobotMain::ChangePhase(Phase phase)
|
|||
pe->SetFontType(Gfx::FONT_COLOBOT);
|
||||
pe->SetEditCap(false);
|
||||
pe->SetHiliteCap(false);
|
||||
pe->ReadText("help\\win.txt");
|
||||
pe->ReadText("help/win.txt");
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -1387,7 +1387,7 @@ bool CRobotMain::EventProcess(Event &event)
|
|||
HiliteClear();
|
||||
if (event.key.key == KEY(F11))
|
||||
{
|
||||
m_particle->WriteWheelTrace("Savegame\\t.png", 256, 256, Math::Vector(16.0f, 0.0f, -368.0f), Math::Vector(140.0f, 0.0f, -248.0f));
|
||||
m_particle->WriteWheelTrace("Savegame/t.png", 256, 256, Math::Vector(16.0f, 0.0f, -368.0f), Math::Vector(140.0f, 0.0f, -248.0f));
|
||||
return false;
|
||||
}
|
||||
if (m_editLock) // current edition?
|
||||
|
@ -1961,7 +1961,7 @@ void CRobotMain::FlushDisplayInfo()
|
|||
m_infoFilename[i][0] = 0;
|
||||
m_infoPos[i] = 0;
|
||||
}
|
||||
strcpy(m_infoFilename[SATCOM_OBJECT], "help\\objects.txt");
|
||||
strcpy(m_infoFilename[SATCOM_OBJECT], "help/objects.txt");
|
||||
m_infoIndex = 0;
|
||||
}
|
||||
|
||||
|
@ -5391,7 +5391,7 @@ char* SearchLastDir(char *filename)
|
|||
|
||||
while (p != filename)
|
||||
{
|
||||
if (*(--p) == '\\') return p;
|
||||
if (*(--p) == '/') return p;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -5493,7 +5493,7 @@ void CRobotMain::LoadOneScript(CObject *obj, int &nbError)
|
|||
if (brain->GetCompile(i)) continue;
|
||||
|
||||
char filename[MAX_FNAME];
|
||||
sprintf(filename, "%s\\%s\\%c%.3d%.3d%.1d.txt",
|
||||
sprintf(filename, "%s/%s/%c%.3d%.3d%.1d.txt",
|
||||
GetSavegameDir(), m_gamerName, name[0], rank, objRank, i);
|
||||
brain->ReadProgram(i, filename);
|
||||
if (!brain->GetCompile(i)) nbError++;
|
||||
|
@ -5522,7 +5522,7 @@ void CRobotMain::LoadFileScript(CObject *obj, char* filename, int objRank,
|
|||
{
|
||||
if (brain->GetCompile(i)) continue;
|
||||
|
||||
sprintf(ldir, "\\prog%.3d%.1d.txt", objRank, i);
|
||||
sprintf(ldir, "/prog%.3d%.1d.txt", objRank, i);
|
||||
brain->ReadProgram(i, fn);
|
||||
if (!brain->GetCompile(i)) nbError++;
|
||||
}
|
||||
|
@ -5561,7 +5561,7 @@ void CRobotMain::SaveOneScript(CObject *obj)
|
|||
for (int i = 0; i < BRAINMAXSCRIPT; i++)
|
||||
{
|
||||
char filename[MAX_FNAME];
|
||||
sprintf(filename, "%s\\%s\\%c%.3d%.3d%.1d.txt",
|
||||
sprintf(filename, "%s/%s/%c%.3d%.3d%.1d.txt",
|
||||
GetSavegameDir(), m_gamerName, name[0], rank, objRank, i);
|
||||
brain->WriteProgram(i, filename);
|
||||
}
|
||||
|
@ -5586,7 +5586,7 @@ void CRobotMain::SaveFileScript(CObject *obj, char* filename, int objRank)
|
|||
|
||||
for (int i = 0; i < BRAINMAXSCRIPT; i++)
|
||||
{
|
||||
sprintf(ldir, "\\prog%.3d%.1d.txt", objRank, i);
|
||||
sprintf(ldir, "/prog%.3d%.1d.txt", objRank, i);
|
||||
brain->WriteProgram(i, fn);
|
||||
}
|
||||
}
|
||||
|
@ -6093,7 +6093,7 @@ void CRobotMain::WriteFreeParam()
|
|||
if (m_gamerName[0] == 0) return;
|
||||
|
||||
char filename[MAX_FNAME];
|
||||
sprintf(filename, "%s\\%s\\research.gam", GetSavegameDir(), m_gamerName);
|
||||
sprintf(filename, "%s/%s/research.gam", GetSavegameDir(), m_gamerName);
|
||||
FILE* file = fopen(filename, "w");
|
||||
if (file == NULL) return;
|
||||
|
||||
|
@ -6112,7 +6112,7 @@ void CRobotMain::ReadFreeParam()
|
|||
if (m_gamerName[0] == 0) return;
|
||||
|
||||
char filename[MAX_FNAME];
|
||||
sprintf(filename, "%s\\%s\\research.gam", GetSavegameDir(), m_gamerName);
|
||||
sprintf(filename, "%s/%s/research.gam", GetSavegameDir(), m_gamerName);
|
||||
FILE* file = fopen(filename, "r");
|
||||
if (file == NULL) return;
|
||||
|
||||
|
|
|
@ -169,7 +169,7 @@ CMainDialog::CMainDialog(CInstanceManager* iMan)
|
|||
m_partiTime[i] = 0.0f;
|
||||
}
|
||||
|
||||
strcpy(m_sceneDir, "data/levels");
|
||||
strcpy(m_sceneDir, "levels");
|
||||
strcpy(m_savegameDir, "savegame");
|
||||
strcpy(m_publicDir, "program");
|
||||
strcpy(m_userDir, "user");
|
||||
|
@ -3586,13 +3586,15 @@ void CMainDialog::SetUserDir(char *base, int rank)
|
|||
|
||||
void CMainDialog::BuildSceneName(char *filename, char *base, int rank)
|
||||
{
|
||||
std::string dataDir = m_app->GetDataDirPath();
|
||||
|
||||
if ( strcmp(base, "user") == 0 )
|
||||
{
|
||||
sprintf(filename, "%s/%s/scene%.2d.txt", m_userDir, m_userList[rank/100-1], rank%100);
|
||||
sprintf(filename, "%s/%s/%s/scene%.2d.txt", dataDir.c_str(), m_userDir, m_userList[rank/100-1], rank%100);
|
||||
}
|
||||
else
|
||||
{
|
||||
sprintf(filename, "%s/%s%.3d.txt", m_sceneDir, base, rank);
|
||||
sprintf(filename, "%s/%s/%s%.3d.txt", dataDir.c_str(), m_sceneDir, base, rank);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue