diff options
| -rw-r--r-- | engines/hdb/ai-funcs.cpp | 23 | ||||
| -rw-r--r-- | engines/hdb/ai.h | 1 | 
2 files changed, 14 insertions, 10 deletions
diff --git a/engines/hdb/ai-funcs.cpp b/engines/hdb/ai-funcs.cpp index ff336bc6bf..a59e468b95 100644 --- a/engines/hdb/ai-funcs.cpp +++ b/engines/hdb/ai-funcs.cpp @@ -1619,16 +1619,6 @@ void AI::animEntFrames(AIEntity *e) {  	}  } -void AI::animLuaEntity(const char *initName, AIState st) { -	for (Common::Array<AIEntity *>::iterator it = _ents->begin(); it != _ents->end(); it++) { -		if (Common::matchString((*it)->entityName, initName)) { -			(*it)->state = st; -			(*it)->animFrame = 0; -			(*it)->animDelay = (*it)->animCycle; -		} -	} -} -  void AI::drawEnts(int x, int y, int w, int h) {  	static int stunAnim = 0; @@ -1814,6 +1804,19 @@ void AI::animGrabbing() {  	_player->animFrame = 5;  } +void AI::entityFace(const char *luaName, int dir) { +	AIEntity *e = locateEntity(luaName); +	e->dir = (AIDir)dir; + +	switch (e->dir) { +	case DIR_UP: e->state = STATE_STANDUP; break; +	case DIR_DOWN: e->state = STATE_STANDDOWN; break; +	case DIR_LEFT: e->state = STATE_STANDLEFT; break; +	case DIR_RIGHT: e->state = STATE_STANDRIGHT; break; +	case DIR_NONE: break; +	} +} +  void AI::moveEnts() {  	static int frameDelay = kAnimFrameDelay;  	AIEntity *e; diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h index ccd9aed42d..4e424870e9 100644 --- a/engines/hdb/ai.h +++ b/engines/hdb/ai.h @@ -760,6 +760,7 @@ public:  	void drawEnts(int x, int y, int w, int h);  	void drawLevel2Ents();  	void animGrabbing(); +	void entityFace(const char *luaName, int dir);  	void moveEnts();  | 
