|
|
|
@ -573,6 +573,7 @@ void CLuaIHMRyzom::RegisterRyzomFunctions(NLGUI::CLuaState &ls)
|
|
|
|
|
LUABIND_FUNC(isDynStringAvailable),
|
|
|
|
|
LUABIND_FUNC(isFullyPatched),
|
|
|
|
|
LUABIND_FUNC(getSheetType),
|
|
|
|
|
LUABIND_FUNC(getSheetShape),
|
|
|
|
|
LUABIND_FUNC(getSheetFamily),
|
|
|
|
|
LUABIND_FUNC(getSheetName),
|
|
|
|
|
LUABIND_FUNC(getFameIndex),
|
|
|
|
@ -1273,7 +1274,7 @@ int CLuaIHMRyzom::getMousePos(CLuaState &ls)
|
|
|
|
|
CTool::getMousePos(x, y);
|
|
|
|
|
ls.push(x);
|
|
|
|
|
ls.push(y);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 2;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1285,7 +1286,7 @@ int CLuaIHMRyzom::getMouseDown(CLuaState &ls)
|
|
|
|
|
ls.push(down);
|
|
|
|
|
ls.push(x);
|
|
|
|
|
ls.push(y);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1294,11 +1295,11 @@ int CLuaIHMRyzom::getMouseMiddleDown(CLuaState &ls)
|
|
|
|
|
sint32 x, y;
|
|
|
|
|
bool down;
|
|
|
|
|
CTool::getMouseMiddleDown(down, x, y);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ls.push(down);
|
|
|
|
|
ls.push(x);
|
|
|
|
|
ls.push(y);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1307,11 +1308,11 @@ int CLuaIHMRyzom::getMouseRightDown(CLuaState &ls)
|
|
|
|
|
sint32 x, y;
|
|
|
|
|
bool down;
|
|
|
|
|
CTool::getMouseRightDown(down, x, y);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ls.push(down);
|
|
|
|
|
ls.push(x);
|
|
|
|
|
ls.push(y);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 3;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1322,10 +1323,10 @@ int CLuaIHMRyzom::getShapeIdAt(CLuaState &ls)
|
|
|
|
|
CLuaIHM::checkArgCount(ls, funcName, 2);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 2, LUA_TNUMBER);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 x = (uint32)ls.toInteger(1);
|
|
|
|
|
uint32 y = (uint32)ls.toInteger(2);
|
|
|
|
|
|
|
|
|
|
uint32 y = (uint32)ls.toInteger(2);
|
|
|
|
|
|
|
|
|
|
uint32 w, h;
|
|
|
|
|
CViewRenderer &viewRender = *CViewRenderer::getInstance();
|
|
|
|
|
viewRender.getScreenSize(w, h);
|
|
|
|
@ -1336,11 +1337,11 @@ int CLuaIHMRyzom::getShapeIdAt(CLuaState &ls)
|
|
|
|
|
|
|
|
|
|
float cursX = (float)x/(float)w;
|
|
|
|
|
float cursY = (float)y/(float)h;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
sint32 instance_idx;
|
|
|
|
|
EntitiesMngr.getShapeInstanceUnderPos(cursX, cursY, instance_idx);
|
|
|
|
|
ls.push(instance_idx);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1367,7 +1368,7 @@ int CLuaIHMRyzom::getGroundAtMouse(CLuaState &ls)
|
|
|
|
|
worldViewRay.Up = camMatrix.getK().normed();
|
|
|
|
|
CVector sceneInter;
|
|
|
|
|
CTool::TRayIntersectionType rayInterType = CTool::computeLandscapeRayIntersection(worldViewRay, sceneInter);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ls.push(sceneInter.x);
|
|
|
|
|
ls.push(sceneInter.y);
|
|
|
|
|
ls.push(sceneInter.z);
|
|
|
|
@ -1395,7 +1396,7 @@ int CLuaIHMRyzom::moveCam(CLuaState &ls)
|
|
|
|
|
float z = (float)ls.toNumber(3);
|
|
|
|
|
CVector moves(x, y, z);
|
|
|
|
|
UserEntity->setCameraMoves(moves);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 0;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -1569,7 +1570,7 @@ int CLuaIHMRyzom::moveToTarget(CLuaState &ls)
|
|
|
|
|
const std::string &url = ls.toString(1);
|
|
|
|
|
CEntityCL *target = getTargetEntity();
|
|
|
|
|
if (!target) return 0;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CLuaManager::getInstance().executeLuaScript("ArkTargetUrl = [["+url+"]]", 0);
|
|
|
|
|
UserEntity->moveTo(UserEntity->selection(), 1.0, CUserEntity::OpenArkUrl);
|
|
|
|
|
return 0;
|
|
|
|
@ -2218,7 +2219,7 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TSTRING);
|
|
|
|
|
|
|
|
|
|
sint32 idx = -1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!Scene)
|
|
|
|
|
{
|
|
|
|
|
nlwarning("No scene available");
|
|
|
|
@ -2227,7 +2228,7 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
string shape = ls.toString(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float x = 0.0f, y = 0.0f, z = 0.0f;
|
|
|
|
|
float scale = 1.0f;
|
|
|
|
|
string context, url, skeleton, texture;
|
|
|
|
@ -2235,7 +2236,7 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
bool transparency = false;
|
|
|
|
|
bool collision = true;
|
|
|
|
|
bool inIgZone = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 2)
|
|
|
|
|
{
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 2, LUA_TNUMBER);
|
|
|
|
@ -2261,14 +2262,14 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
y = UserEntity->pos().y;
|
|
|
|
|
z = UserEntity->pos().z;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CVector userDir = UserEntity->dir();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 5)
|
|
|
|
|
{
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 5, LUA_TSTRING);
|
|
|
|
|
string angle = ls.toString(5);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (angle != "user")
|
|
|
|
|
{
|
|
|
|
|
float a;
|
|
|
|
@ -2276,7 +2277,7 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
userDir = CVector(sin(a), cos(a), 0.f);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 6)
|
|
|
|
|
{
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 6, LUA_TNUMBER);
|
|
|
|
@ -2288,19 +2289,19 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 7, LUA_TBOOLEAN);
|
|
|
|
|
collision = ls.toBoolean(7);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 8)
|
|
|
|
|
{
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 8, LUA_TSTRING);
|
|
|
|
|
context = ls.toString(8);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 9)
|
|
|
|
|
{
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 9, LUA_TSTRING);
|
|
|
|
|
url = ls.toString(9);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 10)
|
|
|
|
|
{
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 10, LUA_TBOOLEAN);
|
|
|
|
@ -2312,25 +2313,25 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 11, LUA_TBOOLEAN);
|
|
|
|
|
transparency = ls.toBoolean(11);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 12)
|
|
|
|
|
{
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 12, LUA_TSTRING);
|
|
|
|
|
texture = ls.toString(12);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 13)
|
|
|
|
|
{
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 13, LUA_TSTRING);
|
|
|
|
|
skeleton = ls.toString(13);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 14)
|
|
|
|
|
{
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 14, LUA_TBOOLEAN);
|
|
|
|
|
inIgZone = ls.toBoolean(14);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CShapeInstanceReference instref = EntitiesMngr.createInstance(shape, CVector(x, y, z), context, url, collision, inIgZone, idx);
|
|
|
|
|
UInstance instance = instref.Instance;
|
|
|
|
|
|
|
|
|
@ -2411,9 +2412,9 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
instance.setPos(CVector(x, y, z));
|
|
|
|
|
instance.setRotQuat(dir.getRot());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
instance.setTransformMode(UTransformable::RotEuler);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// if the shape is a particle system, additionnal parameters are user params
|
|
|
|
|
UParticleSystemInstance psi;
|
|
|
|
|
psi.cast (instance);
|
|
|
|
@ -2436,7 +2437,7 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}*/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
UMovePrimitive *primitive = instref.Primitive;
|
|
|
|
|
if (primitive)
|
|
|
|
|
{
|
|
|
|
@ -2446,7 +2447,7 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
primitive->setReactionType(UMovePrimitive::Slide);
|
|
|
|
|
primitive->setTriggerType(UMovePrimitive::NotATrigger);
|
|
|
|
|
primitive->setAbsorbtion(0);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
primitive->setPrimitiveType(UMovePrimitive::_2DOrientedBox);
|
|
|
|
|
primitive->setSize((bbox.getMax().x - bbox.getMin().x)*scale, (bbox.getMax().y - bbox.getMin().y)*scale);
|
|
|
|
|
primitive->setHeight((bbox.getMax().z - bbox.getMin().z)*scale);
|
|
|
|
@ -2454,10 +2455,10 @@ int CLuaIHMRyzom::addShape(CLuaState &ls)
|
|
|
|
|
primitive->setCollisionMask(MaskColPlayer | MaskColNpc | MaskColDoor);
|
|
|
|
|
primitive->setOcclusionMask(MaskColPlayer | MaskColNpc | MaskColDoor);
|
|
|
|
|
primitive->setObstacle(true);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
primitive->setGlobalPosition(instance.getPos(), dynamicWI);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
primitive->insertInWorldImage(dynamicWI);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
@ -2472,9 +2473,9 @@ int CLuaIHMRyzom::setupShape(CLuaState &ls)
|
|
|
|
|
CLuaIHM::checkArgCount(ls, funcName, 2);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 2, LUA_TTABLE);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 idx = (uint32)ls.toInteger(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
std::vector<string> keys;
|
|
|
|
|
std::vector<string> values;
|
|
|
|
|
CLuaObject params;
|
|
|
|
@ -2497,12 +2498,12 @@ int CLuaIHMRyzom::setupShape(CLuaState &ls)
|
|
|
|
|
values.push_back(it.nextValue().toString());
|
|
|
|
|
keys.push_back(it.nextKey().toString());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (EntitiesMngr.setupInstance(idx, keys, values))
|
|
|
|
|
ls.push(1);
|
|
|
|
|
else
|
|
|
|
|
ls.pushNil();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2514,15 +2515,15 @@ int CLuaIHMRyzom::moveShape(CLuaState &ls)
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 2, LUA_TSTRING);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 3, LUA_TSTRING);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 4, LUA_TSTRING);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 idx = (uint32)ls.toInteger(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CVector pos = EntitiesMngr.getInstancePos(idx);
|
|
|
|
|
|
|
|
|
|
string x = ls.toString(2);
|
|
|
|
|
string y = ls.toString(3);
|
|
|
|
|
string z = ls.toString(4);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
float move_x = 0;
|
|
|
|
|
float move_y = 0;
|
|
|
|
|
float move_z = 0;
|
|
|
|
@ -2540,7 +2541,7 @@ int CLuaIHMRyzom::moveShape(CLuaState &ls)
|
|
|
|
|
pos.x = move_x;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!y.empty())
|
|
|
|
|
{
|
|
|
|
|
if (y[0] == '+')
|
|
|
|
@ -2554,7 +2555,7 @@ int CLuaIHMRyzom::moveShape(CLuaState &ls)
|
|
|
|
|
pos.y = move_y;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!z.empty())
|
|
|
|
|
{
|
|
|
|
|
if (z[0] == '+')
|
|
|
|
@ -2568,12 +2569,12 @@ int CLuaIHMRyzom::moveShape(CLuaState &ls)
|
|
|
|
|
pos.z = move_z;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (EntitiesMngr.setInstancePos(idx, pos))
|
|
|
|
|
ls.push(1);
|
|
|
|
|
else
|
|
|
|
|
ls.pushNil();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2585,9 +2586,9 @@ int CLuaIHMRyzom::rotateShape(CLuaState &ls)
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 2, LUA_TSTRING);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 3, LUA_TSTRING);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 4, LUA_TSTRING);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 idx = (uint32)ls.toInteger(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CVector rot = EntitiesMngr.getInstanceRot(idx);
|
|
|
|
|
|
|
|
|
|
string x = ls.toString(2);
|
|
|
|
@ -2611,7 +2612,7 @@ int CLuaIHMRyzom::rotateShape(CLuaState &ls)
|
|
|
|
|
rot.x = rot_x;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!y.empty())
|
|
|
|
|
{
|
|
|
|
|
if (y[0] == '+')
|
|
|
|
@ -2625,7 +2626,7 @@ int CLuaIHMRyzom::rotateShape(CLuaState &ls)
|
|
|
|
|
rot.y = rot_y;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!z.empty())
|
|
|
|
|
{
|
|
|
|
|
if (z[0] == '+')
|
|
|
|
@ -2639,12 +2640,12 @@ int CLuaIHMRyzom::rotateShape(CLuaState &ls)
|
|
|
|
|
rot.z = rot_z;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (EntitiesMngr.setInstanceRot(idx, rot))
|
|
|
|
|
ls.push(1);
|
|
|
|
|
else
|
|
|
|
|
ls.pushNil();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -2653,7 +2654,7 @@ int CLuaIHMRyzom::deleteShape(CLuaState &ls)
|
|
|
|
|
const char* funcName = "deleteShape";
|
|
|
|
|
CLuaIHM::checkArgCount(ls, funcName, 1);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (EntitiesMngr.deleteInstance((uint32)ls.toInteger(1)))
|
|
|
|
|
ls.push(1);
|
|
|
|
|
else
|
|
|
|
@ -2667,9 +2668,9 @@ int CLuaIHMRyzom::getShapePos(CLuaState &ls)
|
|
|
|
|
const char* funcName = "getShapePos";
|
|
|
|
|
CLuaIHM::checkArgCount(ls, funcName, 1);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 idx = (uint32)ls.toInteger(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CVector pos = EntitiesMngr.getInstancePos(idx);
|
|
|
|
|
|
|
|
|
|
ls.push(pos.x);
|
|
|
|
@ -2683,9 +2684,9 @@ int CLuaIHMRyzom::getShapeRot(CLuaState &ls)
|
|
|
|
|
const char* funcName = "getShapeRot";
|
|
|
|
|
CLuaIHM::checkArgCount(ls, funcName, 1);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 idx = (uint32)ls.toInteger(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CVector rot = EntitiesMngr.getInstanceRot(idx);
|
|
|
|
|
|
|
|
|
|
ls.push(rot.x);
|
|
|
|
@ -2699,11 +2700,11 @@ int CLuaIHMRyzom::getShapeScale(CLuaState &ls)
|
|
|
|
|
const char* funcName = "getShapeScale";
|
|
|
|
|
CLuaIHM::checkArgCount(ls, funcName, 1);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 idx = (uint32)ls.toInteger(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CVector scale = EntitiesMngr.getInstanceScale(idx);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ls.push(scale.x);
|
|
|
|
|
ls.push(scale.y);
|
|
|
|
|
ls.push(scale.z);
|
|
|
|
@ -2715,11 +2716,11 @@ int CLuaIHMRyzom::getShapeColPos(CLuaState &ls)
|
|
|
|
|
const char* funcName = "getShapeColPos";
|
|
|
|
|
CLuaIHM::checkArgCount(ls, funcName, 1);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 idx = (uint32)ls.toInteger(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CVector pos = EntitiesMngr.getInstanceColPos(idx);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ls.push(pos.x);
|
|
|
|
|
ls.push(pos.y);
|
|
|
|
|
ls.push(pos.z);
|
|
|
|
@ -2731,11 +2732,11 @@ int CLuaIHMRyzom::getShapeColScale(CLuaState &ls)
|
|
|
|
|
const char* funcName = "getShapeColScale";
|
|
|
|
|
CLuaIHM::checkArgCount(ls, funcName, 1);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 idx = (uint32)ls.toInteger(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CVector scale = EntitiesMngr.getInstanceColScale(idx);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ls.push(scale.x);
|
|
|
|
|
ls.push(scale.y);
|
|
|
|
|
ls.push(scale.z);
|
|
|
|
@ -2747,11 +2748,11 @@ int CLuaIHMRyzom::getShapeColOrient(CLuaState &ls)
|
|
|
|
|
const char* funcName = "getShapeColOrient";
|
|
|
|
|
CLuaIHM::checkArgCount(ls, funcName, 1);
|
|
|
|
|
CLuaIHM::checkArgType(ls, funcName, 1, LUA_TNUMBER);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
uint32 idx = (uint32)ls.toInteger(1);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
double orient = EntitiesMngr.getInstanceColOrient(idx);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ls.push(orient);
|
|
|
|
|
return 1;
|
|
|
|
|
}
|
|
|
|
@ -3598,6 +3599,30 @@ std::string CLuaIHMRyzom::getSheetType(const std::string &sheet)
|
|
|
|
|
return CEntitySheet::typeToString(sheetPtr->Type);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ***************************************************************************
|
|
|
|
|
std::string CLuaIHMRyzom::getSheetShape(const std::string &sheet)
|
|
|
|
|
{
|
|
|
|
|
//H_AUTO(Lua_CLuaIHM_getSheetType)
|
|
|
|
|
const CEntitySheet *sheetPtr = SheetMngr.get(CSheetId(sheet));
|
|
|
|
|
|
|
|
|
|
if (!sheetPtr)
|
|
|
|
|
return "";
|
|
|
|
|
|
|
|
|
|
if (sheetPtr->type() == CEntitySheet::ITEM)
|
|
|
|
|
{
|
|
|
|
|
CItemSheet *sheet = (CItemSheet*)sheetPtr;
|
|
|
|
|
return sheet->getShape();
|
|
|
|
|
}
|
|
|
|
|
else if (sheetPtr->type() == CEntitySheet::FAUNA)
|
|
|
|
|
{
|
|
|
|
|
CCharacterSheet *sheet = (CCharacterSheet*)(sheetPtr);
|
|
|
|
|
return sheet->Body.getItem();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// ***************************************************************************
|
|
|
|
|
std::string CLuaIHMRyzom::getSheetFamily(const std::string &sheet)
|
|
|
|
@ -3610,7 +3635,7 @@ std::string CLuaIHMRyzom::getSheetFamily(const std::string &sheet)
|
|
|
|
|
if (pIS)
|
|
|
|
|
return ITEMFAMILY::toString(pIS->Family);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return "";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -3841,7 +3866,7 @@ float CLuaIHMRyzom::setChar3dDBfromVPX(const std::string &branch, const std::str
|
|
|
|
|
cs.People = EGSPD::CPeople::fromString(people);
|
|
|
|
|
SCharacter3DSetup::setupDBFromCharacterSummary(branch, cs);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return cs.VisualPropC.PropertySubData.CharacterHeight;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -4032,42 +4057,42 @@ sint32 CLuaIHMRyzom::getPlayerLevel()
|
|
|
|
|
// ***************************************************************************
|
|
|
|
|
std::string CLuaIHMRyzom::getPlayerVpaHex()
|
|
|
|
|
{
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPA))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPA))->getValue64();
|
|
|
|
|
return NLMISC::toString("%X", prop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ***************************************************************************
|
|
|
|
|
std::string CLuaIHMRyzom::getPlayerVpbHex()
|
|
|
|
|
{
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
return NLMISC::toString("%X", prop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ***************************************************************************
|
|
|
|
|
std::string CLuaIHMRyzom::getPlayerVpcHex()
|
|
|
|
|
{
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPC))->getValue64();
|
|
|
|
|
return NLMISC::toString("%X", prop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ***************************************************************************
|
|
|
|
|
sint64 CLuaIHMRyzom::getPlayerVpa()
|
|
|
|
|
{
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPA))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPA))->getValue64();
|
|
|
|
|
return prop;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ***************************************************************************
|
|
|
|
|
sint64 CLuaIHMRyzom::getPlayerVpb()
|
|
|
|
|
{
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
return prop;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// ***************************************************************************
|
|
|
|
|
sint64 CLuaIHMRyzom::getPlayerVpc()
|
|
|
|
|
{
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E0:P" + toString("%d", CLFECOMMON::PROPERTY_VPC))->getValue64();
|
|
|
|
|
return prop;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -4127,7 +4152,7 @@ std::string CLuaIHMRyzom::getTargetVpaHex()
|
|
|
|
|
CEntityCL *target = getTargetEntity();
|
|
|
|
|
if (!target) return 0;
|
|
|
|
|
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPA))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPA))->getValue64();
|
|
|
|
|
return NLMISC::toString("%X", prop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -4137,7 +4162,7 @@ std::string CLuaIHMRyzom::getTargetVpbHex()
|
|
|
|
|
CEntityCL *target = getTargetEntity();
|
|
|
|
|
if (!target) return 0;
|
|
|
|
|
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
return NLMISC::toString("%X", prop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -4147,7 +4172,7 @@ std::string CLuaIHMRyzom::getTargetVpcHex()
|
|
|
|
|
CEntityCL *target = getTargetEntity();
|
|
|
|
|
if (!target) return 0;
|
|
|
|
|
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPC))->getValue64();
|
|
|
|
|
return NLMISC::toString("%X", prop);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -4157,7 +4182,7 @@ sint64 CLuaIHMRyzom::getTargetVpa()
|
|
|
|
|
CEntityCL *target = getTargetEntity();
|
|
|
|
|
if (!target) return 0;
|
|
|
|
|
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPA))->getValue64();
|
|
|
|
|
uint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPA))->getValue64();
|
|
|
|
|
|
|
|
|
|
return prop;
|
|
|
|
|
}
|
|
|
|
@ -4179,7 +4204,7 @@ sint64 CLuaIHMRyzom::getTargetVpc()
|
|
|
|
|
CEntityCL *target = getTargetEntity();
|
|
|
|
|
if (!target) return 0;
|
|
|
|
|
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPB))->getValue64();
|
|
|
|
|
sint64 prop = NLGUI::CDBManager::getInstance()->getDbProp("SERVER:Entities:E" + toString("%d", getTargetSlotNr()) + ":P" + toString("%d", CLFECOMMON::PROPERTY_VPC))->getValue64();
|
|
|
|
|
|
|
|
|
|
return prop;
|
|
|
|
|
}
|
|
|
|
@ -4335,12 +4360,12 @@ int CLuaIHMRyzom::addLandMark(CLuaState &ls)
|
|
|
|
|
point.LeftClickParam = ls.toString(6);
|
|
|
|
|
point.RightClickAction = ls.toString(7);
|
|
|
|
|
point.RightClickParam = ls.toString(8);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
point.Color = CRGBA(255,255,255,255);
|
|
|
|
|
|
|
|
|
|
if (ls.getTop() >= 9)
|
|
|
|
|
CLuaIHM::pop(ls, point.Color);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
CGroupMap *pMap = dynamic_cast<CGroupMap*>(CWidgetManager::getInstance()->getElementFromId("ui:interface:map:content:map_content:actual_map"));
|
|
|
|
|
if (pMap != NULL)
|
|
|
|
|
pMap->addArkPoint(point);
|
|
|
|
|