Point3F | #ifndef _MPOINT3_H_ #include "math/mPoint3.h" #endif |
#include "util/safeDelete.h" | #include "core/util/safeDelete.h" |
Container | SceneContainer |
ConsoleMethod(BasicGrid,init, void, 4, 4, "param: area: x y w h, F32 SquareSize") |
#include "console/engineAPI.h"
|
Con::executef(this, 2, "onAdd", Con::getIntArg(getId())); | Con::executef(this, "onAdd",getId()); |
dglSetBitmapModulation | GFX->getDrawUtil->setBitmapModulation |
InputEvent | InputEventInfo |
TextureHandle | GFXTexHandle |
TextureObject | GFXTextureObject |
GBitmap::RGB | GFXFormatR8G8B8A8 |
scriptThis() | getId() |
(player) delta | mDelta |
ConsoleFunction | DefineEngineFunction DefineEngineStringlyVariadicFunction |
Also take a look at IMPLEMENT_CALLBACK. It will be defined once and showup on dump for example - make the life easier. Once defined you call is like that:
mDatablock->onLaunch_callback(this, mCaster, mTarget, mMissile);
While it's defined like that:
IMPLEMENT_CALLBACK( afxMagicSpellData, onLaunch, void,
(afxMagicSpell* spell, ShapeBase* caster, SceneObject* target, afxMagicMissile* missile),
(spell, caster, target, missile),
"Called when the spell's casting stage ends and the delivery stage begins.\n"
"@param spell the spell object\n" );
Compile Test FreeBSD:
set CC=/usr/bin/clang
set CXX=/usr/bin/clang++
mkdir -p /opt/OGE3D/Projects/BaseGame
cd /opt/OGE3D/Projects/BaseGame
cmake ../../ -DTORQUE_APP_NAME=BaseGame -DCMAKE_BUILD_TYPE=Debug -DVIDEO_WAYLAND=OFF
Engine Changes:
TerrainEditor.cpp:
if (!collide(event, pos))
{
//XXTH Con::errorf("XXTH mMouseBrush RESET!!! collide failed!");
//XXTH This is a very bad move!!! terrain change get painted on 0 0 0
//XXTH sucks: mMouseBrush->reset(); instead:
return;
}
}
GameBase.h:
after:
virtual WaterObject* getCurrentWaterObject() { return mCurrentWaterObject; }
add:
//XXTH added for compat with ohmtal/ai
virtual float getMaxForwardVelocity() { return 0.f; }
player.h:
after:
bool renderFirstPerson;
add:
//XXTH rendering to ground for animals !
bool conformToGround;
player.ccp:
before:
shadowEnable = true;
add:
//XXTH
conformToGround = false;
after:
Parent::packData(stream);
add:
//XXTH
stream->write(conformToGround);
after:
void PlayerData::initPersistFields()
add:
//XXTH
addField("conformToGround", TypeBool, Offset(conformToGround, PlayerData),
"@brief Render a shape more natural with terrain. "
);
after:
Parent::unpackData(stream);
add:
//XXTH
stream->read(&conformToGround);
CMAKE :
in \Tools\CMake\torque3d.cmake
after addPath("${srcDir}/math/test")
# XXTH
addPath("${srcDir}/ohmtal/app")
addPath("${srcDir}/ohmtal/2d")
addPath("${srcDir}/ohmtal/ai")
addPath("${srcDir}/ohmtal/ai/fsm")
#addPath("${srcDir}/ohmtal/ai/graph")
addPath("${srcDir}/ohmtal/grid")
addPath("${srcDir}/ohmtal/misc")
addPath("${srcDir}/ohmtal/path")
#addPath("${srcDir}/ohmtal/gui")
addPath("${srcDir}/ohmtal/fx")
addPath("${srcDir}/ohmtal/clientobjects")