mirror of
https://github.com/AquariaOSE/Aquaria.git
synced 2024-12-25 14:15:46 +00:00
Merge branch 'master' of /home/fg/fgone/Aquaria_fg_clean
This commit is contained in:
commit
3fb9e41349
19 changed files with 112 additions and 239 deletions
|
@ -4664,8 +4664,6 @@ Avatar::Avatar() : Entity(), ActionMapper()
|
||||||
|
|
||||||
text = 0;
|
text = 0;
|
||||||
|
|
||||||
burstBar = 0;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
chargeGraphic = new Particle;
|
chargeGraphic = new Particle;
|
||||||
{
|
{
|
||||||
|
@ -9286,15 +9284,6 @@ void Avatar::onUpdate(float dt)
|
||||||
if (ignoreInputDelay < 0)
|
if (ignoreInputDelay < 0)
|
||||||
ignoreInputDelay = 0;
|
ignoreInputDelay = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (burstBar && burstBar->alpha == 1)
|
|
||||||
{
|
|
||||||
float amount = burst;
|
|
||||||
if (amount > 1) amount = 1;
|
|
||||||
if (amount < 0) amount = 0;
|
|
||||||
burstBar->frame = (19-(amount*19));
|
|
||||||
}
|
|
||||||
//checkSpecial();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//fuuugly
|
//fuuugly
|
||||||
|
|
|
@ -22,7 +22,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
#include "../BBGE/Particles.h"
|
#include "../BBGE/Particles.h"
|
||||||
#include "../BBGE/BitmapFont.h"
|
#include "../BBGE/BitmapFont.h"
|
||||||
#include "../BBGE/DFSprite.h"
|
|
||||||
|
|
||||||
#include "DSQ.h"
|
#include "DSQ.h"
|
||||||
#include "Hair.h"
|
#include "Hair.h"
|
||||||
|
@ -156,7 +155,6 @@ public:
|
||||||
bool isCharging();
|
bool isCharging();
|
||||||
void slowToRest();
|
void slowToRest();
|
||||||
void debugMsg(const std::string &msg);
|
void debugMsg(const std::string &msg);
|
||||||
DFSprite *burstBar;
|
|
||||||
void setBlind(float time);
|
void setBlind(float time);
|
||||||
void onBlindTest();
|
void onBlindTest();
|
||||||
|
|
||||||
|
|
|
@ -125,12 +125,10 @@ static void Linux_CopyTree(const char *src, const char *dst)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
float titTimer = 0;
|
|
||||||
|
|
||||||
const int saveSlotPageSize = 4;
|
const int saveSlotPageSize = 4;
|
||||||
int maxPages = 15;
|
int maxPages = 15;
|
||||||
#ifdef AQUARIA_BUILD_CONSOLE
|
#ifdef AQUARIA_BUILD_CONSOLE
|
||||||
const int MAX_CONSOLELINES = 14;
|
const int MAX_CONSOLELINES = 18;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
DSQ *dsq = 0;
|
DSQ *dsq = 0;
|
||||||
|
@ -2476,7 +2474,7 @@ void DSQ::clickRingEffect(Vector pos, int type, Vector color, float ut)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Entity *DSQ::getEntityByName(std::string name)
|
Entity *DSQ::getEntityByName(const std::string& name)
|
||||||
{
|
{
|
||||||
Entity *e = 0;
|
Entity *e = 0;
|
||||||
FOR_ENTITIES(i)
|
FOR_ENTITIES(i)
|
||||||
|
@ -4737,61 +4735,6 @@ void DSQ::playVisualEffect(int vfx, Vector position, Entity *target)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// get the closest, active, in range element to the vector
|
|
||||||
/*
|
|
||||||
Element *DSQ::getElementAtVector(const Vector &vec)
|
|
||||||
{
|
|
||||||
Element *returnElement = 0;
|
|
||||||
int smallestDistance = 9999;
|
|
||||||
for (int i = 0; i < elements.size(); i++)
|
|
||||||
{
|
|
||||||
if (elements[i]->isActive() && elements[i]->getTotalInteractions() > 0)
|
|
||||||
{
|
|
||||||
int distanceToElementI = elements[i]->getFakeDistanceFromCenterToVector(vec);
|
|
||||||
if (elements[i]->isVectorInActivationRange(vec) && distanceToElementI < smallestDistance)
|
|
||||||
{
|
|
||||||
smallestDistance = distanceToElementI;
|
|
||||||
returnElement = elements[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return returnElement;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
Element *DSQ::getElementWithType(Element::Type type)
|
|
||||||
{
|
|
||||||
for (int i = 0; i < elements.size(); i++)
|
|
||||||
{
|
|
||||||
if (elements[i]->getElementType() == type)
|
|
||||||
{
|
|
||||||
return elements[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
|
||||||
Element *DSQ::getClosestElementWithType(Element::Type type, Element *e)
|
|
||||||
{
|
|
||||||
Element *returnElement = 0;
|
|
||||||
long smallestDistance = 999999;
|
|
||||||
for (int i = 0; i < elements.size(); i++)
|
|
||||||
{
|
|
||||||
if (elements[i]->isActive() && elements[i]->getElementType() == type)
|
|
||||||
{
|
|
||||||
long distanceToElementI = elements[i]->getFakeDistanceFromCenterToVector(e->position);
|
|
||||||
if (distanceToElementI < smallestDistance)
|
|
||||||
{
|
|
||||||
smallestDistance = distanceToElementI;
|
|
||||||
returnElement = elements[i];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return returnElement;
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
void DSQ::addElement(Element *e)
|
void DSQ::addElement(Element *e)
|
||||||
{
|
{
|
||||||
elements.push_back(e);
|
elements.push_back(e);
|
||||||
|
|
|
@ -1307,7 +1307,6 @@ public:
|
||||||
int getNumElements() const {return elements.size();}
|
int getNumElements() const {return elements.size();}
|
||||||
Element *getElement(int idx) const {return elements[idx];}
|
Element *getElement(int idx) const {return elements[idx];}
|
||||||
Element *getFirstElementOnLayer(int layer) const {return layer<0 || layer>15 ? 0 : firstElementOnLayer[layer];}
|
Element *getFirstElementOnLayer(int layer) const {return layer<0 || layer>15 ? 0 : firstElementOnLayer[layer];}
|
||||||
Element *getElementWithType(Element::Type type);
|
|
||||||
void clearElements();
|
void clearElements();
|
||||||
// Used only by scene editor:
|
// Used only by scene editor:
|
||||||
void removeElement(int idx);
|
void removeElement(int idx);
|
||||||
|
@ -1353,7 +1352,7 @@ public:
|
||||||
void toggleInputMode();
|
void toggleInputMode();
|
||||||
void shakeCamera(float mag, float time);
|
void shakeCamera(float mag, float time);
|
||||||
Vector avStart;
|
Vector avStart;
|
||||||
Entity *getEntityByName(std::string name);
|
Entity *getEntityByName(const std::string &name);
|
||||||
Entity *getEntityByNameNoCase(std::string name);
|
Entity *getEntityByNameNoCase(std::string name);
|
||||||
|
|
||||||
void doSavePoint(const Vector &position);
|
void doSavePoint(const Vector &position);
|
||||||
|
|
|
@ -22,25 +22,13 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
#include "Game.h"
|
#include "Game.h"
|
||||||
#include "Avatar.h"
|
#include "Avatar.h"
|
||||||
|
|
||||||
ElementActivationRange::ElementActivationRange() : radius(64), type(CIRCLE)
|
Element::Element() : Quad()
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
ElementActivationRange::Type ElementActivationRange::getType()
|
|
||||||
{
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
Element::Element(Element::Type elementType) : Quad(), type(elementType)
|
|
||||||
{
|
{
|
||||||
elementFlag = EF_NONE;
|
elementFlag = EF_NONE;
|
||||||
angleFromGroupCenter = distFromGroupCenter = 0;
|
|
||||||
wavyFlip = false;
|
wavyFlip = false;
|
||||||
parallax = 1;
|
|
||||||
elementEffectIndex = -1;
|
elementEffectIndex = -1;
|
||||||
elementActive = true;
|
elementActive = true;
|
||||||
bgLayer = 0;
|
bgLayer = 0;
|
||||||
dontSave = false;
|
|
||||||
|
|
||||||
wavyAngleOffset=0;
|
wavyAngleOffset=0;
|
||||||
wavyMagnitude=0;
|
wavyMagnitude=0;
|
||||||
|
@ -52,7 +40,6 @@ Element::Element(Element::Type elementType) : Quad(), type(elementType)
|
||||||
wavyRadius = 0;
|
wavyRadius = 0;
|
||||||
wavyMin = 0;
|
wavyMin = 0;
|
||||||
wavyMax = 0;
|
wavyMax = 0;
|
||||||
oldRotation = 0;
|
|
||||||
templateIdx = -1;
|
templateIdx = -1;
|
||||||
|
|
||||||
setStatic(true);
|
setStatic(true);
|
||||||
|
@ -429,11 +416,6 @@ void Element::fillGrid()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
Element::Type Element::getElementType()
|
|
||||||
{
|
|
||||||
return type;
|
|
||||||
}
|
|
||||||
|
|
||||||
// override this functionality as needed
|
// override this functionality as needed
|
||||||
bool Element::canSeeAvatar(Avatar *avatar)
|
bool Element::canSeeAvatar(Avatar *avatar)
|
||||||
{
|
{
|
||||||
|
|
|
@ -25,22 +25,6 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
|
|
||||||
class Avatar;
|
class Avatar;
|
||||||
|
|
||||||
class ElementActivationRange
|
|
||||||
{
|
|
||||||
public:
|
|
||||||
ElementActivationRange();
|
|
||||||
void isVectorInRange();
|
|
||||||
enum Type
|
|
||||||
{
|
|
||||||
CIRCLE,
|
|
||||||
RECT
|
|
||||||
};
|
|
||||||
float radius;
|
|
||||||
Type getType();
|
|
||||||
protected:
|
|
||||||
Type type;
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
enum ElementFlag
|
enum ElementFlag
|
||||||
{
|
{
|
||||||
|
@ -61,26 +45,18 @@ enum ElementFlag
|
||||||
class Element : public Quad
|
class Element : public Quad
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
enum Type
|
Element();
|
||||||
{
|
|
||||||
UNDEFINED,
|
|
||||||
BOX
|
|
||||||
};
|
|
||||||
|
|
||||||
Element(Type elementType);
|
|
||||||
~Element();
|
~Element();
|
||||||
void destroy();
|
void destroy();
|
||||||
//void interact(Interaction::Type interactionType, Avatar *avatar);
|
//void interact(Interaction::Type interactionType, Avatar *avatar);
|
||||||
bool canSeeAvatar(Avatar *avatar);
|
bool canSeeAvatar(Avatar *avatar);
|
||||||
void update(float dt);
|
void update(float dt);
|
||||||
bool isActive();
|
bool isActive();
|
||||||
Type getElementType();
|
|
||||||
//InteractionContainer interactions;
|
//InteractionContainer interactions;
|
||||||
int templateIdx;
|
int templateIdx;
|
||||||
int bgLayer;
|
int bgLayer;
|
||||||
Element *bgLayerNext;
|
Element *bgLayerNext;
|
||||||
float getSortDepth();
|
float getSortDepth();
|
||||||
bool dontSave;
|
|
||||||
void render();
|
void render();
|
||||||
//Flags elementFlags;
|
//Flags elementFlags;
|
||||||
ElementFlag elementFlag;
|
ElementFlag elementFlag;
|
||||||
|
@ -89,8 +65,6 @@ public:
|
||||||
int getElementEffectIndex();
|
int getElementEffectIndex();
|
||||||
void setElementEffectByIndex(int e);
|
void setElementEffectByIndex(int e);
|
||||||
void setElementActive(bool v) { elementActive = v; }
|
void setElementActive(bool v) { elementActive = v; }
|
||||||
float parallax;
|
|
||||||
float angleFromGroupCenter, distFromGroupCenter, oldRotation;
|
|
||||||
protected:
|
protected:
|
||||||
void setGridFromWavy();
|
void setGridFromWavy();
|
||||||
float wavyAngleOffset, wavyMagnitude, wavyLerpIn;
|
float wavyAngleOffset, wavyMagnitude, wavyLerpIn;
|
||||||
|
@ -101,10 +75,8 @@ protected:
|
||||||
void updateEffects(float dt);
|
void updateEffects(float dt);
|
||||||
int elementEffectIndex, elementEffectType;
|
int elementEffectIndex, elementEffectType;
|
||||||
bool elementActive;
|
bool elementActive;
|
||||||
ElementActivationRange activationRange;
|
|
||||||
Type type;
|
|
||||||
};
|
};
|
||||||
|
/*
|
||||||
class BoxElement : public Element
|
class BoxElement : public Element
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
@ -113,6 +85,7 @@ public:
|
||||||
protected:
|
protected:
|
||||||
int ww,hh;
|
int ww,hh;
|
||||||
};
|
};
|
||||||
|
*/
|
||||||
|
|
||||||
typedef std::vector<Element*> ElementContainer;
|
typedef std::vector<Element*> ElementContainer;
|
||||||
|
|
||||||
|
|
|
@ -165,7 +165,7 @@ bool Entity::canSetBoneLock()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
Entity::Entity() : StateMachine(), DFSprite()
|
Entity::Entity()
|
||||||
{
|
{
|
||||||
addType(SCO_ENTITY);
|
addType(SCO_ENTITY);
|
||||||
poison = 0.0f;
|
poison = 0.0f;
|
||||||
|
@ -1266,7 +1266,7 @@ void Entity::update(float dt)
|
||||||
//skeletalSprite.setFreeze(true);
|
//skeletalSprite.setFreeze(true);
|
||||||
|
|
||||||
if (frozenTimer == 0 || getState() == STATE_PUSH)
|
if (frozenTimer == 0 || getState() == STATE_PUSH)
|
||||||
DFSprite::update(dt);
|
AnimatedSprite::update(dt);
|
||||||
onAlwaysUpdate(dt);
|
onAlwaysUpdate(dt);
|
||||||
|
|
||||||
// always, always update:
|
// always, always update:
|
||||||
|
@ -1873,7 +1873,7 @@ void Entity::onUpdate(float dt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
DFSprite::onUpdate(dt);
|
AnimatedSprite::onUpdate(dt);
|
||||||
|
|
||||||
Vector v = position - lastPos;
|
Vector v = position - lastPos;
|
||||||
lastMove = v;
|
lastMove = v;
|
||||||
|
@ -2971,7 +2971,7 @@ void Entity::render()
|
||||||
blurShader.bind();
|
blurShader.bind();
|
||||||
set = true;
|
set = true;
|
||||||
}
|
}
|
||||||
DFSprite::render();
|
AnimatedSprite::render();
|
||||||
//if (beautyFlip && blurShader.isLoaded() && flipScale.isInterpolating())
|
//if (beautyFlip && blurShader.isLoaded() && flipScale.isInterpolating())
|
||||||
if (set)
|
if (set)
|
||||||
blurShader.unbind();
|
blurShader.unbind();
|
||||||
|
|
|
@ -20,7 +20,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
#include "../BBGE/DFSprite.h"
|
#include "../BBGE/AnimatedSprite.h"
|
||||||
#include "../BBGE/StateMachine.h"
|
#include "../BBGE/StateMachine.h"
|
||||||
#include "../ExternalLibs/tinyxml.h"
|
#include "../ExternalLibs/tinyxml.h"
|
||||||
#include "../BBGE/SkeletalSprite.h"
|
#include "../BBGE/SkeletalSprite.h"
|
||||||
|
@ -194,7 +194,7 @@ enum BounceType
|
||||||
BOUNCE_REAL = 1
|
BOUNCE_REAL = 1
|
||||||
};
|
};
|
||||||
|
|
||||||
class Entity : public DFSprite, public StateMachine
|
class Entity : public AnimatedSprite, public StateMachine
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
Entity();
|
Entity();
|
||||||
|
@ -234,7 +234,7 @@ public:
|
||||||
bool canSetState(int state);
|
bool canSetState(int state);
|
||||||
|
|
||||||
virtual void message(const std::string &msg, int v) {}
|
virtual void message(const std::string &msg, int v) {}
|
||||||
virtual void messageVariadic(lua_State *L, int nparams) {}
|
virtual int messageVariadic(lua_State *L, int nparams) { return 0; }
|
||||||
|
|
||||||
bool isUnderWater(const Vector &o=Vector());
|
bool isUnderWater(const Vector &o=Vector());
|
||||||
|
|
||||||
|
|
|
@ -1898,7 +1898,7 @@ Element* Game::createElement(int idx, Vector position, int bgLayer, RenderObject
|
||||||
if (!et)
|
if (!et)
|
||||||
et = this->getElementTemplateByIdx(idx);
|
et = this->getElementTemplateByIdx(idx);
|
||||||
|
|
||||||
Element *element = new Element(Element::UNDEFINED);
|
Element *element = new Element();
|
||||||
if (et)
|
if (et)
|
||||||
{
|
{
|
||||||
element->setTexture(et->gfx);
|
element->setTexture(et->gfx);
|
||||||
|
@ -4951,7 +4951,7 @@ bool Game::loadSceneXML(std::string scene)
|
||||||
|
|
||||||
saveFile->InsertEndChild(newSF);
|
saveFile->InsertEndChild(newSF);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
TiXmlElement *boxElement = doc.FirstChildElement("BoxElement");
|
TiXmlElement *boxElement = doc.FirstChildElement("BoxElement");
|
||||||
while (boxElement)
|
while (boxElement)
|
||||||
{
|
{
|
||||||
|
@ -4962,7 +4962,7 @@ bool Game::loadSceneXML(std::string scene)
|
||||||
dsq->addElement(b);
|
dsq->addElement(b);
|
||||||
boxElement = boxElement->NextSiblingElement("BoxElement");
|
boxElement = boxElement->NextSiblingElement("BoxElement");
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
TiXmlElement *simpleElements = doc.FirstChildElement("SE");
|
TiXmlElement *simpleElements = doc.FirstChildElement("SE");
|
||||||
while (simpleElements)
|
while (simpleElements)
|
||||||
{
|
{
|
||||||
|
@ -5620,12 +5620,7 @@ void Game::saveScene(std::string scene)
|
||||||
for (i = 0; i < dsq->getNumElements(); i++)
|
for (i = 0; i < dsq->getNumElements(); i++)
|
||||||
{
|
{
|
||||||
Element *e = dsq->getElement(i);
|
Element *e = dsq->getElement(i);
|
||||||
if (!e->dontSave)
|
simpleElements[e->bgLayer] << e->templateIdx << " " << int(e->position.x) << " " << int(e->position.y) << " " << int(e->rotation.z) << " " << e->scale.x << " " << e->scale.y << " " << int(e->isfh()) << " " << int(e->isfv()) << " " << e->elementFlag << " " << e->getElementEffectIndex() << " " << e->isRepeatingTextureToFill() << " ";
|
||||||
{
|
|
||||||
if (e->getElementType() == Element::BOX) {}
|
|
||||||
else
|
|
||||||
simpleElements[e->bgLayer] << e->templateIdx << " " << int(e->position.x) << " " << int(e->position.y) << " " << int(e->rotation.z) << " " << e->scale.x << " " << e->scale.y << " " << int(e->isfh()) << " " << int(e->isfv()) << " " << e->elementFlag << " " << e->getElementEffectIndex() << " " << e->isRepeatingTextureToFill() << " ";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dsq->game->entitySaveData.size() > 0)
|
if (dsq->game->entitySaveData.size() > 0)
|
||||||
|
|
|
@ -525,8 +525,8 @@ Bone *bone(lua_State *L, int slot = 1)
|
||||||
static inline
|
static inline
|
||||||
Path *pathFromName(lua_State *L, int slot = 1)
|
Path *pathFromName(lua_State *L, int slot = 1)
|
||||||
{
|
{
|
||||||
std::string s = lua_tostring(L, slot);
|
std::string s = getString(L, slot);
|
||||||
stringToLowerUserData(s);
|
stringToLower(s);
|
||||||
Path *p = dsq->game->getPathByName(s);
|
Path *p = dsq->game->getPathByName(s);
|
||||||
if (!p)
|
if (!p)
|
||||||
{
|
{
|
||||||
|
@ -1568,7 +1568,7 @@ luaFunc(cureAllStatus)
|
||||||
luaFunc(setMusicToPlay)
|
luaFunc(setMusicToPlay)
|
||||||
{
|
{
|
||||||
if (lua_isstring(L, 1))
|
if (lua_isstring(L, 1))
|
||||||
dsq->game->setMusicToPlay(lua_tostring(L, 1));
|
dsq->game->setMusicToPlay(getString(L, 1));
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2210,8 +2210,6 @@ luaFunc(debugLog)
|
||||||
const char *s = lua_tostring(L, 1);
|
const char *s = lua_tostring(L, 1);
|
||||||
if(s)
|
if(s)
|
||||||
debugLog(s);
|
debugLog(s);
|
||||||
else
|
|
||||||
scriptError("debugLog() not a string");
|
|
||||||
luaReturnStr(s);
|
luaReturnStr(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2220,8 +2218,6 @@ luaFunc(errorLog)
|
||||||
const char *s = lua_tostring(L, 1);
|
const char *s = lua_tostring(L, 1);
|
||||||
if(s)
|
if(s)
|
||||||
errorLog(s);
|
errorLog(s);
|
||||||
else
|
|
||||||
scriptError("errorLog() not a string");
|
|
||||||
luaReturnStr(s);
|
luaReturnStr(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2256,7 +2252,7 @@ luaFunc(entity_setSegmentTexture)
|
||||||
RenderObject *ro = e->getSegment(lua_tonumber(L, 2));
|
RenderObject *ro = e->getSegment(lua_tonumber(L, 2));
|
||||||
if (ro)
|
if (ro)
|
||||||
{
|
{
|
||||||
ro->setTexture(lua_tostring(L, 3));
|
ro->setTexture(getString(L, 3));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
|
@ -2295,7 +2291,6 @@ luaFunc(entity_findNearestEntityOfType)
|
||||||
|
|
||||||
luaFunc(createShot)
|
luaFunc(createShot)
|
||||||
{
|
{
|
||||||
std::string shotData = lua_tostring(L, 1);
|
|
||||||
Entity *e = entity(L,2);
|
Entity *e = entity(L,2);
|
||||||
Entity *t = 0;
|
Entity *t = 0;
|
||||||
if (lua_touserdata(L, 3) != NULL)
|
if (lua_touserdata(L, 3) != NULL)
|
||||||
|
@ -2308,7 +2303,7 @@ luaFunc(createShot)
|
||||||
aim.y = lua_tonumber(L, 7);
|
aim.y = lua_tonumber(L, 7);
|
||||||
|
|
||||||
|
|
||||||
s = dsq->game->fireShot(shotData, e, t, pos, aim);
|
s = dsq->game->fireShot(getString(L, 1), e, t, pos, aim);
|
||||||
|
|
||||||
luaReturnPtr(s);
|
luaReturnPtr(s);
|
||||||
}
|
}
|
||||||
|
@ -2325,7 +2320,7 @@ luaFunc(entity_sound)
|
||||||
// so a cheap hack like this fixes it without changing older scripts. -- FG
|
// so a cheap hack like this fixes it without changing older scripts. -- FG
|
||||||
if (freq >= 100)
|
if (freq >= 100)
|
||||||
freq *= 0.001f;
|
freq *= 0.001f;
|
||||||
e->sound(lua_tostring(L, 2), freq, lua_tonumber(L, 4));
|
e->sound(getString(L, 2), freq, lua_tonumber(L, 4));
|
||||||
}
|
}
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
@ -2337,7 +2332,7 @@ luaFunc(entity_playSfx)
|
||||||
if (e && !dsq->isSkippingCutscene())
|
if (e && !dsq->isSkippingCutscene())
|
||||||
{
|
{
|
||||||
PlaySfx sfx = dsq->calcPositionalSfx(e->position, lua_tonumber(L, 7));
|
PlaySfx sfx = dsq->calcPositionalSfx(e->position, lua_tonumber(L, 7));
|
||||||
sfx.name = lua_tostring(L, 2);
|
sfx.name = getString(L, 2);
|
||||||
sfx.freq = lua_tonumber(L, 3);
|
sfx.freq = lua_tonumber(L, 3);
|
||||||
float vol = lua_tonumber(L, 4);
|
float vol = lua_tonumber(L, 4);
|
||||||
sfx.loops = lua_tonumber(L, 5);
|
sfx.loops = lua_tonumber(L, 5);
|
||||||
|
@ -2572,7 +2567,7 @@ luaFunc(avatar_getSpellCharge)
|
||||||
|
|
||||||
luaFunc(jumpState)
|
luaFunc(jumpState)
|
||||||
{
|
{
|
||||||
dsq->enqueueJumpState(lua_tostring(L, 1), getBool(L, 2));
|
dsq->enqueueJumpState(getString(L, 1), getBool(L, 2));
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2855,7 +2850,7 @@ luaFunc(entity_createEntity)
|
||||||
Entity *e = entity(L);
|
Entity *e = entity(L);
|
||||||
Entity *ret = NULL;
|
Entity *ret = NULL;
|
||||||
if (e)
|
if (e)
|
||||||
ret = dsq->game->createEntity(dsq->getEntityTypeIndexByName(lua_tostring(L, 2)), 0, e->position, 0, false, "", ET_ENEMY, 0, 0, true);
|
ret = dsq->game->createEntity(dsq->getEntityTypeIndexByName(getString(L, 2)), 0, e->position, 0, false, "", ET_ENEMY, 0, 0, true);
|
||||||
luaReturnPtr(ret);
|
luaReturnPtr(ret);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2894,8 +2889,8 @@ luaFunc(entity_isBeingPulled)
|
||||||
luaFunc(avatar_setPullTarget)
|
luaFunc(avatar_setPullTarget)
|
||||||
{
|
{
|
||||||
Entity *e = 0;
|
Entity *e = 0;
|
||||||
if (lua_tonumber(L, 1) != 0)
|
if (lua_isuserdata(L, 1))
|
||||||
e = entity(L);
|
e = entity(L, 1);
|
||||||
|
|
||||||
if (dsq->game->avatar->pullTarget != 0)
|
if (dsq->game->avatar->pullTarget != 0)
|
||||||
dsq->game->avatar->pullTarget->stopPull();
|
dsq->game->avatar->pullTarget->stopPull();
|
||||||
|
@ -3241,15 +3236,10 @@ luaFunc(entity_initSkeletal)
|
||||||
ScriptedEntity *e = scriptedEntity(L);
|
ScriptedEntity *e = scriptedEntity(L);
|
||||||
e->renderQuad = false;
|
e->renderQuad = false;
|
||||||
e->setWidthHeight(128, 128);
|
e->setWidthHeight(128, 128);
|
||||||
e->skeletalSprite.loadSkeletal(lua_tostring(L, 2));
|
e->skeletalSprite.loadSkeletal(getString(L, 2));
|
||||||
if (lua_isstring(L, 3))
|
const char *s = lua_tostring(L, 3);
|
||||||
{
|
if (s && *s)
|
||||||
std::string s = lua_tostring(L, 3);
|
e->skeletalSprite.loadSkin(s);
|
||||||
if (!s.empty())
|
|
||||||
{
|
|
||||||
e->skeletalSprite.loadSkin(s);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3301,7 +3291,7 @@ luaFunc(entity_animate)
|
||||||
transition = 0;
|
transition = 0;
|
||||||
else if (transition == 0)
|
else if (transition == 0)
|
||||||
transition = 0.2;
|
transition = 0.2;
|
||||||
ret = skel->transitionAnimate(lua_tostring(L, 2), transition, lua_tointeger(L, 3), lua_tointeger(L, 4));
|
ret = skel->transitionAnimate(getString(L, 2), transition, lua_tointeger(L, 3), lua_tointeger(L, 4));
|
||||||
}
|
}
|
||||||
luaReturnNum(ret);
|
luaReturnNum(ret);
|
||||||
}
|
}
|
||||||
|
@ -3334,8 +3324,8 @@ luaFunc(spawnAroundEntity)
|
||||||
Entity *e = entity(L);
|
Entity *e = entity(L);
|
||||||
int num = lua_tonumber(L, 2);
|
int num = lua_tonumber(L, 2);
|
||||||
int radius = lua_tonumber(L, 3);
|
int radius = lua_tonumber(L, 3);
|
||||||
std::string entType = lua_tostring(L, 4);
|
std::string entType = getString(L, 4);
|
||||||
std::string name = lua_tostring(L, 5);
|
std::string name = getString(L, 5);
|
||||||
int idx = dsq->game->getIdxForEntityType(entType);
|
int idx = dsq->game->getIdxForEntityType(entType);
|
||||||
if (e)
|
if (e)
|
||||||
{
|
{
|
||||||
|
@ -3424,7 +3414,7 @@ luaFunc(isPlat)
|
||||||
|
|
||||||
luaFunc(createEntity)
|
luaFunc(createEntity)
|
||||||
{
|
{
|
||||||
std::string type = lua_tostring(L, 1);
|
std::string type = getString(L, 1);
|
||||||
std::string name;
|
std::string name;
|
||||||
if (lua_isstring(L, 2))
|
if (lua_isstring(L, 2))
|
||||||
name = lua_tostring(L, 2);
|
name = lua_tostring(L, 2);
|
||||||
|
@ -3483,7 +3473,7 @@ luaFunc(setCameraLerpDelay)
|
||||||
|
|
||||||
luaFunc(setControlHint)
|
luaFunc(setControlHint)
|
||||||
{
|
{
|
||||||
std::string str = lua_tostring(L, 1);
|
std::string str = getString(L, 1);
|
||||||
bool left = getBool(L, 2);
|
bool left = getBool(L, 2);
|
||||||
bool right = getBool(L, 3);
|
bool right = getBool(L, 3);
|
||||||
bool middle = getBool(L, 4);
|
bool middle = getBool(L, 4);
|
||||||
|
@ -3657,7 +3647,7 @@ luaFunc(getWallNormal)
|
||||||
|
|
||||||
luaFunc(incrFlag)
|
luaFunc(incrFlag)
|
||||||
{
|
{
|
||||||
std::string f = lua_tostring(L, 1);
|
std::string f = getString(L, 1);
|
||||||
int v = 1;
|
int v = 1;
|
||||||
if (lua_isnumber(L, 2))
|
if (lua_isnumber(L, 2))
|
||||||
v = lua_tointeger(L, 2);
|
v = lua_tointeger(L, 2);
|
||||||
|
@ -3667,7 +3657,7 @@ luaFunc(incrFlag)
|
||||||
|
|
||||||
luaFunc(decrFlag)
|
luaFunc(decrFlag)
|
||||||
{
|
{
|
||||||
std::string f = lua_tostring(L, 1);
|
std::string f = getString(L, 1);
|
||||||
int v = 1;
|
int v = 1;
|
||||||
if (lua_isnumber(L, 2))
|
if (lua_isnumber(L, 2))
|
||||||
v = lua_tointeger(L, 2);
|
v = lua_tointeger(L, 2);
|
||||||
|
@ -4129,7 +4119,7 @@ luaFunc(entity_initSegments)
|
||||||
{
|
{
|
||||||
ScriptedEntity *se = scriptedEntity(L);
|
ScriptedEntity *se = scriptedEntity(L);
|
||||||
if (se)
|
if (se)
|
||||||
se->initSegments(lua_tointeger(L, 2), lua_tointeger(L, 3), lua_tointeger(L, 4), lua_tostring(L, 5), lua_tostring(L, 6), lua_tointeger(L, 7), lua_tointeger(L, 8), lua_tonumber(L, 9), lua_tointeger(L, 10));
|
se->initSegments(lua_tointeger(L, 2), lua_tointeger(L, 3), lua_tointeger(L, 4), getString(L, 5), getString(L, 6), lua_tointeger(L, 7), lua_tointeger(L, 8), lua_tonumber(L, 9), lua_tointeger(L, 10));
|
||||||
|
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
@ -4212,10 +4202,10 @@ luaFunc(entity_msg)
|
||||||
Entity *e = entity(L);
|
Entity *e = entity(L);
|
||||||
if (e)
|
if (e)
|
||||||
{
|
{
|
||||||
int top = lua_gettop(L);
|
|
||||||
// pass everything on the stack except the entity pointer
|
// pass everything on the stack except the entity pointer
|
||||||
e->messageVariadic(L, top - 1);
|
int res = e->messageVariadic(L, lua_gettop(L) - 1);
|
||||||
return lua_gettop(L) - top; // return everything that was pushed on our stack
|
if (res >= 0)
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
@ -4304,7 +4294,7 @@ luaFunc(setNaijaHeadTexture)
|
||||||
Avatar *a = dsq->game->avatar;
|
Avatar *a = dsq->game->avatar;
|
||||||
if (a)
|
if (a)
|
||||||
{
|
{
|
||||||
a->setHeadTexture(lua_tostring(L, 1), lua_tonumber(L, 2));
|
a->setHeadTexture(getString(L, 1), lua_tonumber(L, 2));
|
||||||
}
|
}
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
@ -4459,7 +4449,7 @@ luaFunc(setupBasicEntity)
|
||||||
ScriptedEntity *se = scriptedEntity(L);
|
ScriptedEntity *se = scriptedEntity(L);
|
||||||
//-- texture, health, manaballamount, exp, money, collideRadius, initState
|
//-- texture, health, manaballamount, exp, money, collideRadius, initState
|
||||||
if (se)
|
if (se)
|
||||||
se->setupBasicEntity(lua_tostring(L, 2), lua_tointeger(L, 3), lua_tointeger(L, 4), lua_tointeger(L, 5), lua_tointeger(L, 6), lua_tointeger(L, 7), lua_tointeger(L, 8), lua_tointeger(L, 9), lua_tointeger(L, 10), lua_tointeger(L, 11), lua_tointeger(L, 12), lua_tointeger(L, 13), lua_tointeger(L, 14));
|
se->setupBasicEntity(getString(L, 2), lua_tointeger(L, 3), lua_tointeger(L, 4), lua_tointeger(L, 5), lua_tointeger(L, 6), lua_tointeger(L, 7), lua_tointeger(L, 8), lua_tointeger(L, 9), lua_tointeger(L, 10), lua_tointeger(L, 11), lua_tointeger(L, 12), lua_tointeger(L, 13), lua_tointeger(L, 14));
|
||||||
|
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
@ -4497,7 +4487,7 @@ luaFunc(entity_setDeathSound)
|
||||||
Entity *e = entity(L);
|
Entity *e = entity(L);
|
||||||
if (e)
|
if (e)
|
||||||
{
|
{
|
||||||
e->deathSound = lua_tostring(L, 2);
|
e->deathSound = getString(L, 2);
|
||||||
}
|
}
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
@ -4767,7 +4757,7 @@ luaFunc(entity_getBoneByIdx)
|
||||||
luaFunc(entity_getBoneByName)
|
luaFunc(entity_getBoneByName)
|
||||||
{
|
{
|
||||||
Entity *e = entity(L);
|
Entity *e = entity(L);
|
||||||
luaReturnPtr(e ? e->skeletalSprite.getBoneByName(lua_tostring(L, 2)) : NULL);
|
luaReturnPtr(e ? e->skeletalSprite.getBoneByName(getString(L, 2)) : NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
luaFunc(bone_getIndex)
|
luaFunc(bone_getIndex)
|
||||||
|
@ -4794,9 +4784,10 @@ luaFunc(bone_isName)
|
||||||
{
|
{
|
||||||
Bone *b = bone(L);
|
Bone *b = bone(L);
|
||||||
bool v = false;
|
bool v = false;
|
||||||
if (b)
|
const char *s = lua_tostring(L, 2);
|
||||||
|
if (b && s)
|
||||||
{
|
{
|
||||||
v = b->name == lua_tostring(L, 2);
|
v = b->name == s;
|
||||||
}
|
}
|
||||||
luaReturnBool(v);
|
luaReturnBool(v);
|
||||||
}
|
}
|
||||||
|
@ -4911,7 +4902,7 @@ luaFunc(entity_setCurrentTarget)
|
||||||
|
|
||||||
luaFunc(setMiniMapHint)
|
luaFunc(setMiniMapHint)
|
||||||
{
|
{
|
||||||
std::istringstream is(lua_tostring(L, 1));
|
std::istringstream is(getString(L, 1));
|
||||||
is >> dsq->game->miniMapHint.scene >> dsq->game->miniMapHint.warpAreaType;
|
is >> dsq->game->miniMapHint.scene >> dsq->game->miniMapHint.warpAreaType;
|
||||||
dsq->game->updateMiniMapHintPosition();
|
dsq->game->updateMiniMapHintPosition();
|
||||||
|
|
||||||
|
@ -4920,10 +4911,10 @@ luaFunc(setMiniMapHint)
|
||||||
|
|
||||||
luaFunc(entityFollowEntity)
|
luaFunc(entityFollowEntity)
|
||||||
{
|
{
|
||||||
Entity *e = dsq->getEntityByName(lua_tostring(L, 1));
|
Entity *e = dsq->getEntityByName(getString(L, 1));
|
||||||
if (e)
|
if (e)
|
||||||
{
|
{
|
||||||
e->followEntity = dsq->getEntityByName(lua_tostring(L, 2));
|
e->followEntity = dsq->getEntityByName(getString(L, 2));
|
||||||
}
|
}
|
||||||
|
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
|
@ -4967,7 +4958,7 @@ luaFunc(toggleInput)
|
||||||
luaFunc(warpAvatar)
|
luaFunc(warpAvatar)
|
||||||
{
|
{
|
||||||
dsq->game->positionToAvatar = Vector(lua_tointeger(L, 2),lua_tointeger(L, 3));
|
dsq->game->positionToAvatar = Vector(lua_tointeger(L, 2),lua_tointeger(L, 3));
|
||||||
dsq->game->transitionToScene(lua_tostring(L, 1));
|
dsq->game->transitionToScene(getString(L, 1));
|
||||||
|
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
@ -5165,7 +5156,7 @@ luaFunc(stopMusic)
|
||||||
luaFunc(playMusic)
|
luaFunc(playMusic)
|
||||||
{
|
{
|
||||||
float crossfadeTime = 0.8;
|
float crossfadeTime = 0.8;
|
||||||
dsq->sound->playMusic(std::string(lua_tostring(L, 1)), SLT_LOOP, SFT_CROSS, crossfadeTime);
|
dsq->sound->playMusic(getString(L, 1), SLT_LOOP, SFT_CROSS, crossfadeTime);
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5179,7 +5170,7 @@ luaFunc(playMusicStraight)
|
||||||
luaFunc(playMusicOnce)
|
luaFunc(playMusicOnce)
|
||||||
{
|
{
|
||||||
float crossfadeTime = 0.8;
|
float crossfadeTime = 0.8;
|
||||||
dsq->sound->playMusic(std::string(lua_tostring(L, 1)), SLT_NONE, SFT_CROSS, crossfadeTime);
|
dsq->sound->playMusic(getString(L, 1), SLT_NONE, SFT_CROSS, crossfadeTime);
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -5618,7 +5609,7 @@ luaFunc(wait)
|
||||||
|
|
||||||
luaFunc(warpNaijaToEntity)
|
luaFunc(warpNaijaToEntity)
|
||||||
{
|
{
|
||||||
Entity *e = dsq->getEntityByName(lua_tostring(L, 1));
|
Entity *e = dsq->getEntityByName(getString(L, 1));
|
||||||
if (e)
|
if (e)
|
||||||
{
|
{
|
||||||
dsq->overlay->alpha.interpolateTo(1, 1);
|
dsq->overlay->alpha.interpolateTo(1, 1);
|
||||||
|
@ -5914,7 +5905,7 @@ luaFunc(entity_rotateToTarget)
|
||||||
luaFunc(entity_partWidthHeight)
|
luaFunc(entity_partWidthHeight)
|
||||||
{
|
{
|
||||||
ScriptedEntity *e = scriptedEntity(L);
|
ScriptedEntity *e = scriptedEntity(L);
|
||||||
Quad *r = (Quad*)e->partMap[lua_tostring(L, 2)];
|
Quad *r = (Quad*)e->partMap[getString(L, 2)];
|
||||||
if (r)
|
if (r)
|
||||||
{
|
{
|
||||||
int w = lua_tointeger(L, 3);
|
int w = lua_tointeger(L, 3);
|
||||||
|
@ -5927,7 +5918,7 @@ luaFunc(entity_partWidthHeight)
|
||||||
luaFunc(entity_partSetSegs)
|
luaFunc(entity_partSetSegs)
|
||||||
{
|
{
|
||||||
ScriptedEntity *e = scriptedEntity(L);
|
ScriptedEntity *e = scriptedEntity(L);
|
||||||
Quad *r = (Quad*)e->partMap[lua_tostring(L, 2)];
|
Quad *r = (Quad*)e->partMap[getString(L, 2)];
|
||||||
if (r)
|
if (r)
|
||||||
{
|
{
|
||||||
r->setSegs(lua_tointeger(L, 3), lua_tointeger(L, 4), lua_tonumber(L, 5), lua_tonumber(L, 6), lua_tonumber(L, 7), lua_tonumber(L, 8), lua_tonumber(L, 9), lua_tointeger(L, 10));
|
r->setSegs(lua_tointeger(L, 3), lua_tointeger(L, 4), lua_tonumber(L, 5), lua_tonumber(L, 6), lua_tonumber(L, 7), lua_tonumber(L, 8), lua_tonumber(L, 9), lua_tointeger(L, 10));
|
||||||
|
@ -6011,7 +6002,7 @@ luaFunc(node_setEffectOn)
|
||||||
Path *p = path(L, 1);
|
Path *p = path(L, 1);
|
||||||
if (p)
|
if (p)
|
||||||
p->setEffectOn(getBool(L, 2));
|
p->setEffectOn(getBool(L, 2));
|
||||||
luaReturnNum(0);
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
luaFunc(node_activate)
|
luaFunc(node_activate)
|
||||||
|
@ -6038,12 +6029,11 @@ luaFunc(node_setElementsInLayerActive)
|
||||||
{
|
{
|
||||||
if (e && p->isCoordinateInside(e->position))
|
if (e && p->isCoordinateInside(e->position))
|
||||||
{
|
{
|
||||||
debugLog("setting an element to the value");
|
|
||||||
e->setElementActive(v);
|
e->setElementActive(v);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
luaReturnNum(0);
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
luaFunc(node_getNumEntitiesIn)
|
luaFunc(node_getNumEntitiesIn)
|
||||||
|
@ -6312,7 +6302,7 @@ luaFunc(entity_partAlpha)
|
||||||
ScriptedEntity *e = scriptedEntity(L);
|
ScriptedEntity *e = scriptedEntity(L);
|
||||||
if (e)
|
if (e)
|
||||||
{
|
{
|
||||||
RenderObject *r = e->partMap[lua_tostring(L, 2)];
|
RenderObject *r = e->partMap[getString(L, 2)];
|
||||||
if (r)
|
if (r)
|
||||||
{
|
{
|
||||||
float start = lua_tonumber(L, 3);
|
float start = lua_tonumber(L, 3);
|
||||||
|
@ -6329,7 +6319,7 @@ luaFunc(entity_partBlendType)
|
||||||
{
|
{
|
||||||
ScriptedEntity *e = scriptedEntity(L);
|
ScriptedEntity *e = scriptedEntity(L);
|
||||||
if (e)
|
if (e)
|
||||||
e->partMap[lua_tostring(L, 2)]->setBlendType(lua_tointeger(L, 3));
|
e->partMap[getString(L, 2)]->setBlendType(lua_tointeger(L, 3));
|
||||||
luaReturnInt(0);
|
luaReturnInt(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6338,7 +6328,7 @@ luaFunc(entity_partRotate)
|
||||||
ScriptedEntity *e = scriptedEntity(L);
|
ScriptedEntity *e = scriptedEntity(L);
|
||||||
if (e)
|
if (e)
|
||||||
{
|
{
|
||||||
RenderObject *r = e->partMap[lua_tostring(L, 2)];
|
RenderObject *r = e->partMap[getString(L, 2)];
|
||||||
if (r)
|
if (r)
|
||||||
{
|
{
|
||||||
r->rotation.interpolateTo(Vector(0,0,lua_tointeger(L, 3)), lua_tonumber(L, 4), lua_tointeger(L, 5), lua_tointeger(L, 6), lua_tointeger(L, 7));
|
r->rotation.interpolateTo(Vector(0,0,lua_tointeger(L, 3)), lua_tonumber(L, 4), lua_tointeger(L, 5), lua_tointeger(L, 6), lua_tointeger(L, 7));
|
||||||
|
@ -6405,7 +6395,7 @@ luaFunc(entity_initHair)
|
||||||
ScriptedEntity *se = scriptedEntity(L);
|
ScriptedEntity *se = scriptedEntity(L);
|
||||||
if (se)
|
if (se)
|
||||||
{
|
{
|
||||||
se->initHair(lua_tonumber(L, 2), lua_tonumber(L, 3), lua_tonumber(L, 4), lua_tostring(L, 5));
|
se->initHair(lua_tonumber(L, 2), lua_tonumber(L, 3), lua_tonumber(L, 4), getString(L, 5));
|
||||||
}
|
}
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
@ -6463,8 +6453,8 @@ luaFunc(entity_exertHairForce)
|
||||||
|
|
||||||
luaFunc(entity_initPart)
|
luaFunc(entity_initPart)
|
||||||
{
|
{
|
||||||
std::string partName(lua_tostring(L, 2));
|
std::string partName(getString(L, 2));
|
||||||
std::string partTex(lua_tostring(L, 3));
|
std::string partTex(getString(L, 3));
|
||||||
Vector partPosition(lua_tointeger(L, 4), lua_tointeger(L, 5));
|
Vector partPosition(lua_tointeger(L, 4), lua_tointeger(L, 5));
|
||||||
int renderAfter = lua_tointeger(L, 6);
|
int renderAfter = lua_tointeger(L, 6);
|
||||||
bool partFlipH = lua_tointeger(L, 7);
|
bool partFlipH = lua_tointeger(L, 7);
|
||||||
|
@ -6612,7 +6602,7 @@ luaFunc(entity_fireGas)
|
||||||
int radius = lua_tointeger(L, 2);
|
int radius = lua_tointeger(L, 2);
|
||||||
float life = lua_tonumber(L, 3);
|
float life = lua_tonumber(L, 3);
|
||||||
float damage = lua_tonumber(L, 4);
|
float damage = lua_tonumber(L, 4);
|
||||||
std::string gfx = lua_tostring(L, 5);
|
std::string gfx = getString(L, 5);
|
||||||
float colorx = lua_tonumber(L, 6);
|
float colorx = lua_tonumber(L, 6);
|
||||||
float colory = lua_tonumber(L, 7);
|
float colory = lua_tonumber(L, 7);
|
||||||
float colorz = lua_tonumber(L, 8);
|
float colorz = lua_tonumber(L, 8);
|
||||||
|
@ -6730,7 +6720,7 @@ luaFunc(fade3)
|
||||||
|
|
||||||
luaFunc(vision)
|
luaFunc(vision)
|
||||||
{
|
{
|
||||||
dsq->vision(lua_tostring(L, 1), lua_tonumber(L, 2), getBool(L, 3));
|
dsq->vision(getString(L, 1), lua_tonumber(L, 2), getBool(L, 3));
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -6747,19 +6737,19 @@ luaFunc(voice)
|
||||||
vmod = -1;
|
vmod = -1;
|
||||||
else if (vmod == -1)
|
else if (vmod == -1)
|
||||||
vmod = 0;
|
vmod = 0;
|
||||||
dsq->voice(lua_tostring(L, 1), vmod);
|
dsq->voice(getString(L, 1), vmod);
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
luaFunc(voiceOnce)
|
luaFunc(voiceOnce)
|
||||||
{
|
{
|
||||||
dsq->voiceOnce(lua_tostring(L, 1));
|
dsq->voiceOnce(getString(L, 1));
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
luaFunc(voiceInterupt)
|
luaFunc(voiceInterupt)
|
||||||
{
|
{
|
||||||
dsq->voiceInterupt(lua_tostring(L, 1));
|
dsq->voiceInterupt(getString(L, 1));
|
||||||
luaReturnNil();
|
luaReturnNil();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -9046,6 +9036,9 @@ bool Script::doCall(int nparams, int nrets)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
lastError = lua_tostring(L, -1);
|
lastError = lua_tostring(L, -1);
|
||||||
|
lastError += " [";
|
||||||
|
lastError += luaFormatStackInfo(L);
|
||||||
|
lastError += "]";
|
||||||
lua_pop(L, 1);
|
lua_pop(L, 1);
|
||||||
result = false;
|
result = false;
|
||||||
}
|
}
|
||||||
|
@ -9184,32 +9177,27 @@ bool Script::call(const char *name, void *param1, void *param2, void *param3, fl
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Script::callVariadic(const char *name, lua_State *fromL, int nparams, void *param)
|
int Script::callVariadic(const char *name, lua_State *fromL, int nparams, void *param)
|
||||||
{
|
{
|
||||||
// clone topmost nparams elements, they will be popped by xmove
|
int oldtop = lua_gettop(L);
|
||||||
|
|
||||||
|
lookupFunc(name);
|
||||||
|
luaPushPointer(L, param);
|
||||||
|
|
||||||
|
// If both stacks are the same, we already pushed 2 more entries to the stack.
|
||||||
|
int pos = (L == fromL) ? -(nparams+2) : -nparams;
|
||||||
for (int i = 0; i < nparams; ++i)
|
for (int i = 0; i < nparams; ++i)
|
||||||
lua_pushvalue(fromL, -nparams);
|
lua_pushvalue(fromL, pos);
|
||||||
|
|
||||||
lookupFunc(name); // [f]
|
// Move them to the other stack. Ignored if L == fromL.
|
||||||
luaPushPointer(L, param); // [f, p]
|
lua_xmove(fromL, L, nparams);
|
||||||
|
|
||||||
// Move them to the other stack
|
|
||||||
lua_xmove(fromL, L, nparams); // [f, p, ...]
|
|
||||||
|
|
||||||
// Do the call
|
// Do the call
|
||||||
bool success = doCall(nparams + 1, LUA_MULTRET);
|
if (!doCall(nparams + 1, LUA_MULTRET))
|
||||||
|
return -1;
|
||||||
|
|
||||||
// after returning from the call, push everything that is left on the stack
|
nparams = lua_gettop(L) - oldtop;
|
||||||
// (= what the function returned) back onto the caller's stack.
|
lua_xmove(L, fromL, nparams);
|
||||||
if (success)
|
|
||||||
{
|
|
||||||
// clone elements again
|
|
||||||
int count = lua_gettop(L);
|
|
||||||
for (int i = 0; i < count; ++i)
|
|
||||||
lua_pushvalue(L, -count);
|
|
||||||
|
|
||||||
lua_xmove(L, fromL, count);
|
return nparams;
|
||||||
}
|
|
||||||
|
|
||||||
return success;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -60,7 +60,8 @@ public:
|
||||||
// boolean = function(pointer, pointer, pointer, number, number, number, number, pointer)
|
// boolean = function(pointer, pointer, pointer, number, number, number, number, pointer)
|
||||||
bool call(const char *name, void *param1, void *param2, void *param3, float param4, float param5, float param6, float param7, void *param8, bool *ret1);
|
bool call(const char *name, void *param1, void *param2, void *param3, float param4, float param5, float param6, float param7, void *param8, bool *ret1);
|
||||||
// function(pointer, ...) - anything that is already on the stack is forwarded. Results are left on the stack.
|
// function(pointer, ...) - anything that is already on the stack is forwarded. Results are left on the stack.
|
||||||
bool callVariadic(const char *name, lua_State *L, int nparams, void *param);
|
// Returns how many values the called function returned, or -1 in case of error.
|
||||||
|
int callVariadic(const char *name, lua_State *L, int nparams, void *param);
|
||||||
|
|
||||||
lua_State *getLuaState() {return L;}
|
lua_State *getLuaState() {return L;}
|
||||||
const std::string &getFile() {return file;}
|
const std::string &getFile() {return file;}
|
||||||
|
|
|
@ -96,14 +96,17 @@ void ScriptedEntity::message(const std::string &msg, int v)
|
||||||
Entity::message(msg, v);
|
Entity::message(msg, v);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScriptedEntity::messageVariadic(lua_State *L, int nparams)
|
int ScriptedEntity::messageVariadic(lua_State *L, int nparams)
|
||||||
{
|
{
|
||||||
if (script)
|
if (script)
|
||||||
{
|
{
|
||||||
if (!script->callVariadic("msg", L, nparams, this))
|
int res = script->callVariadic("msg", L, nparams, this);
|
||||||
|
if (res < 0)
|
||||||
luaDebugMsg("msg", script->getLastError());
|
luaDebugMsg("msg", script->getLastError());
|
||||||
|
else
|
||||||
|
return res;
|
||||||
}
|
}
|
||||||
Entity::messageVariadic(L, nparams);
|
return Entity::messageVariadic(L, nparams);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScriptedEntity::warpSegments()
|
void ScriptedEntity::warpSegments()
|
||||||
|
@ -250,7 +253,7 @@ void ScriptedEntity::setupEntity(const std::string &tex, int lcode)
|
||||||
this->layer = dsq->getEntityLayerToLayer(lcode);
|
this->layer = dsq->getEntityLayerToLayer(lcode);
|
||||||
}
|
}
|
||||||
|
|
||||||
void ScriptedEntity::setupBasicEntity(std::string texture, int health, int manaBall, int exp, int money, int collideRadius, int state, int w, int h, int expType, bool hitEntity, int updateCull, int layer)
|
void ScriptedEntity::setupBasicEntity(const std::string& texture, int health, int manaBall, int exp, int money, int collideRadius, int state, int w, int h, int expType, bool hitEntity, int updateCull, int layer)
|
||||||
{
|
{
|
||||||
//this->updateCull = updateCull;
|
//this->updateCull = updateCull;
|
||||||
updateCull = -1;
|
updateCull = -1;
|
||||||
|
|
|
@ -35,7 +35,7 @@ public:
|
||||||
void resetTimer(float t);
|
void resetTimer(float t);
|
||||||
void setEntityLayer(int layer);
|
void setEntityLayer(int layer);
|
||||||
void setupEntity(const std::string &tex, int layer=0);
|
void setupEntity(const std::string &tex, int layer=0);
|
||||||
void setupBasicEntity(std::string texture, int health, int manaBall, int exp, int money, int collideRadius, int state, int w, int h, int expType, bool hitEntity, int updateCull, int layer);
|
void setupBasicEntity(const std::string& texture, int health, int manaBall, int exp, int money, int collideRadius, int state, int w, int h, int expType, bool hitEntity, int updateCull, int layer);
|
||||||
void initHair(int numSegments, int segmentLength, int width, const std::string &tex);
|
void initHair(int numSegments, int segmentLength, int width, const std::string &tex);
|
||||||
void initSegments(int numSegments, int minDist, int maxDist, std::string bodyTex, std::string tailTex, int w, int h, float taper, bool reverseSegments);
|
void initSegments(int numSegments, int minDist, int maxDist, std::string bodyTex, std::string tailTex, int w, int h, float taper, bool reverseSegments);
|
||||||
void registerNewPart(RenderObject *r, const std::string &name);
|
void registerNewPart(RenderObject *r, const std::string &name);
|
||||||
|
@ -47,7 +47,7 @@ public:
|
||||||
void lightFlare();
|
void lightFlare();
|
||||||
void entityDied(Entity *e);
|
void entityDied(Entity *e);
|
||||||
void message(const std::string &msg, int v);
|
void message(const std::string &msg, int v);
|
||||||
void messageVariadic(lua_State *L, int nparams);
|
int messageVariadic(lua_State *L, int nparams);
|
||||||
|
|
||||||
static bool runningActivation;
|
static bool runningActivation;
|
||||||
|
|
||||||
|
|
|
@ -740,7 +740,7 @@ void SkeletalSprite::animate(const std::string &animation, int loop, int layer)
|
||||||
animLayers[layer].animate(animation, loop);
|
animLayers[layer].animate(animation, loop);
|
||||||
}
|
}
|
||||||
|
|
||||||
float SkeletalSprite::transitionAnimate(std::string anim, float time, int loop, int layer)
|
float SkeletalSprite::transitionAnimate(const std::string& anim, float time, int loop, int layer)
|
||||||
{
|
{
|
||||||
AnimationLayer *animLayer = getAnimationLayer(layer);
|
AnimationLayer *animLayer = getAnimationLayer(layer);
|
||||||
if (animLayer)
|
if (animLayer)
|
||||||
|
|
|
@ -217,7 +217,7 @@ public:
|
||||||
void stopAnimation(int layer=0);
|
void stopAnimation(int layer=0);
|
||||||
void stopAllAnimations();
|
void stopAllAnimations();
|
||||||
|
|
||||||
float transitionAnimate(std::string anim, float time, int loop=0, int layer=0);
|
float transitionAnimate(const std::string& anim, float time, int loop=0, int layer=0);
|
||||||
|
|
||||||
bool isAnimating(int layer=0);
|
bool isAnimating(int layer=0);
|
||||||
|
|
||||||
|
|
|
@ -294,7 +294,6 @@ SET(AQUARIA_SRCS
|
||||||
${SRCDIR}/Avatar.cpp
|
${SRCDIR}/Avatar.cpp
|
||||||
${SRCDIR}/Beam.cpp
|
${SRCDIR}/Beam.cpp
|
||||||
${SRCDIR}/BitBlotLogo.cpp
|
${SRCDIR}/BitBlotLogo.cpp
|
||||||
${SRCDIR}/BoxElement.cpp
|
|
||||||
${SRCDIR}/CollideEntity.cpp
|
${SRCDIR}/CollideEntity.cpp
|
||||||
${SRCDIR}/Continuity.cpp
|
${SRCDIR}/Continuity.cpp
|
||||||
${SRCDIR}/Credits.cpp
|
${SRCDIR}/Credits.cpp
|
||||||
|
@ -348,6 +347,7 @@ SET(AQUARIA_SRCS
|
||||||
|
|
||||||
# Apparently not used at the moment. Listed here just for completeness.
|
# Apparently not used at the moment. Listed here just for completeness.
|
||||||
SET(AQUARIA_SRCS_UNUSED
|
SET(AQUARIA_SRCS_UNUSED
|
||||||
|
${SRCDIR}/BoxElement.cpp
|
||||||
${SRCDIR}/BubbleRender.cpp
|
${SRCDIR}/BubbleRender.cpp
|
||||||
${SRCDIR}/FFTNotes.cpp
|
${SRCDIR}/FFTNotes.cpp
|
||||||
${SRCDIR}/StarRenderer.cpp
|
${SRCDIR}/StarRenderer.cpp
|
||||||
|
@ -370,10 +370,8 @@ SET(BBGE_SRCS
|
||||||
${BBGEDIR}/Core.cpp
|
${BBGEDIR}/Core.cpp
|
||||||
${BBGEDIR}/Cube.cpp
|
${BBGEDIR}/Cube.cpp
|
||||||
${BBGEDIR}/DarkLayer.cpp
|
${BBGEDIR}/DarkLayer.cpp
|
||||||
${BBGEDIR}/Datafile.cpp
|
|
||||||
${BBGEDIR}/DebugFont.cpp
|
${BBGEDIR}/DebugFont.cpp
|
||||||
${BBGEDIR}/DeflateCompressor.cpp
|
${BBGEDIR}/DeflateCompressor.cpp
|
||||||
${BBGEDIR}/DFSprite.cpp
|
|
||||||
${BBGEDIR}/Effects.cpp
|
${BBGEDIR}/Effects.cpp
|
||||||
${BBGEDIR}/Emitter.cpp
|
${BBGEDIR}/Emitter.cpp
|
||||||
${BBGEDIR}/Event.cpp
|
${BBGEDIR}/Event.cpp
|
||||||
|
@ -450,6 +448,8 @@ SET(BBGE_SRCS_UNUSED
|
||||||
${BBGEDIR}/BloomEffect.cpp
|
${BBGEDIR}/BloomEffect.cpp
|
||||||
${BBGEDIR}/CShim.cpp
|
${BBGEDIR}/CShim.cpp
|
||||||
${BBGEDIR}/Cutscene.cpp
|
${BBGEDIR}/Cutscene.cpp
|
||||||
|
${BBGEDIR}/Datafile.cpp
|
||||||
|
${BBGEDIR}/DFSprite.cpp
|
||||||
${BBGEDIR}/FileVars.cpp
|
${BBGEDIR}/FileVars.cpp
|
||||||
${BBGEDIR}/Light.cpp
|
${BBGEDIR}/Light.cpp
|
||||||
${BBGEDIR}/LightCone.cpp
|
${BBGEDIR}/LightCone.cpp
|
||||||
|
|
|
@ -174,7 +174,7 @@ function hitSurface(me)
|
||||||
end
|
end
|
||||||
|
|
||||||
function damage(me, attacker, bone, damageType, dmg)
|
function damage(me, attacker, bone, damageType, dmg)
|
||||||
if v.parasite and bone_isName(bone,"Parasite") then
|
if v.parasite and bone ~= 0 and bone_isName(bone,"Parasite") then
|
||||||
bone_damageFlash(bone)
|
bone_damageFlash(bone)
|
||||||
v.paraHits = v.paraHits - dmg
|
v.paraHits = v.paraHits - dmg
|
||||||
if v.paraHits <= 0 then
|
if v.paraHits <= 0 then
|
||||||
|
|
|
@ -123,7 +123,7 @@ function update(me, dt)
|
||||||
v.grabbedEnt = v.n
|
v.grabbedEnt = v.n
|
||||||
entity_setState(me, STATE_TRAP)
|
entity_setState(me, STATE_TRAP)
|
||||||
|
|
||||||
elseif entity_isEntityInRange(me, v.li, grabRange) then
|
elseif v.li ~= 0 and entity_isEntityInRange(me, v.li, grabRange) then
|
||||||
v.grabbedEnt = v.li
|
v.grabbedEnt = v.li
|
||||||
entity_setState(me, STATE_TRAP)
|
entity_setState(me, STATE_TRAP)
|
||||||
|
|
||||||
|
|
|
@ -206,11 +206,13 @@ function enterState(me)
|
||||||
esetv(me, EV_LOOKAT,1)
|
esetv(me, EV_LOOKAT,1)
|
||||||
entity_animate(me, "idle", LOOP_INF)
|
entity_animate(me, "idle", LOOP_INF)
|
||||||
entity_setMaxSpeed(me, 400)
|
entity_setMaxSpeed(me, 400)
|
||||||
|
entity_setUpdateCull(me, 1500)
|
||||||
|
|
||||||
elseif entity_getState(me)==STATE_ATTACHED then
|
elseif entity_getState(me)==STATE_ATTACHED then
|
||||||
entity_setEntityType(me, ET_NEUTRAL)
|
entity_setEntityType(me, ET_NEUTRAL)
|
||||||
esetv(me, EV_LOOKAT,0)
|
esetv(me, EV_LOOKAT,0)
|
||||||
entity_setMaxSpeed(me, 0)
|
entity_setMaxSpeed(me, 0)
|
||||||
|
entity_setUpdateCull(me, -1)
|
||||||
entity_animate(me, "attached", LOOP_INF)
|
entity_animate(me, "attached", LOOP_INF)
|
||||||
entity_sound(me, "Leach")
|
entity_sound(me, "Leach")
|
||||||
v.attachBone = entity_getNearestBoneToPosition(entity_getTarget(me), entity_getPosition(me))
|
v.attachBone = entity_getNearestBoneToPosition(entity_getTarget(me), entity_getPosition(me))
|
||||||
|
|
Loading…
Reference in a new issue