diff options
-rw-r--r-- | engines/hdb/ai-funcs.cpp | 16 | ||||
-rw-r--r-- | engines/hdb/ai-init.cpp | 160 | ||||
-rw-r--r-- | engines/hdb/ai.h | 2 |
3 files changed, 176 insertions, 2 deletions
diff --git a/engines/hdb/ai-funcs.cpp b/engines/hdb/ai-funcs.cpp index 20d84fdd41..a04af9a677 100644 --- a/engines/hdb/ai-funcs.cpp +++ b/engines/hdb/ai-funcs.cpp @@ -1130,6 +1130,8 @@ void AI::drawEnts(int x, int y, int w, int h) { for (Common::Array<AIEntity *>::iterator it = _ents->begin(); it != _ents->end(); it++) { AIEntity *e = (*it); + debugN(5, "AI::drawEnts: enity %s(%d)...", AIType2Str(e->type), e->type); + if (e->type == AI_LASER || e->type == AI_DIVERTER) { if (e->aiDraw) { if (e->level == 2 && _numLevel2Ents < kMaxLevel2Ents) { @@ -1178,8 +1180,15 @@ void AI::drawEnts(int x, int y, int w, int h) { _entsLevel2[_numLevel2Ents].stunnedWait = e->stunnedWait; _numLevel2Ents++; } else { - if (e->draw) + debugN(5, "trying to draw..."); + + if (e->draw) { + debugN(5, "at %d %d", e->x, e->y); + e->draw->drawMasked(e->x - x + e->drawXOff, e->y - y + e->drawYOff); + } else { + debugN(5, "no draw function"); + } if (e->stunnedWait) g_hdb->_ai->_stunnedGfx[stunAnim]->drawMasked(e->x - x, e->y - y); @@ -1187,8 +1196,11 @@ void AI::drawEnts(int x, int y, int w, int h) { break; } e->onScreen = 1; - } else + } else { e->onScreen = 0; + debugN(5, "not on screen"); + } + debug(5, ""); // newline } if (stunTimer < g_hdb->getTimeSlice()) { diff --git a/engines/hdb/ai-init.cpp b/engines/hdb/ai-init.cpp index 32d45eff20..201c8fa05a 100644 --- a/engines/hdb/ai-init.cpp +++ b/engines/hdb/ai-init.cpp @@ -928,4 +928,164 @@ void AI::initAnimInfo() { if (g_hdb->_map->checkOneTileExistInRange(_kcHolderBlackOff, 2)) g_hdb->_drawMan->getTile(_kcHolderBlackOn); } + +const char *AITypeStr[] = { + "AI_NONE", + "AI_GUY", + "AI_DOLLY", + "AI_SPACEDUDE", + "AI_SERGEANT", + "AI_SCIENTIST", + "AI_WORKER", + "AI_DEADWORKER", + "AI_ACCOUNTANT", + "AI_RAILRIDER", + "AI_RAILRIDER_ON", + "AI_VORTEXIAN", + "AI_CHICKEN", + "AI_GEM_ATTACK", + "AI_SLUG_ATTACK", + + "AI_LASER", + "AI_LASERBEAM", + "AI_DIVERTER", + "AI_FOURFIRER", + "AI_OMNIBOT", + "AI_TURNBOT", + "AI_SHOCKBOT", + "AI_RIGHTBOT", + "AI_PUSHBOT", + "AI_LISTENBOT", + "AI_MAINTBOT", + "AI_OMNIBOT_MISSILE", + "AI_DEADEYE", + "AI_MEERKAT", + "AI_FATFROG", + "AI_GOODFAIRY", + "AI_BADFAIRY", + "AI_ICEPUFF", + "AI_BUZZFLY", + "AI_DRAGON", + "AI_GATEPUDDLE", + + "AI_CRATE", + "AI_LIGHTBARREL", + "AI_HEAVYBARREL", + "AI_BOOMBARREL", + "AI_FROGSTATUE", + + "AI_MAGIC_EGG", + "AI_ICE_BLOCK", + + "ITEM_CELL", + "ITEM_ENV_WHITE", + "ITEM_ENV_RED", + "ITEM_ENV_BLUE", + "ITEM_ENV_GREEN", + "ITEM_TRANSCEIVER", + "ITEM_CLUB", + "ITEM_ROBOSTUNNER", + "ITEM_SLUGSLINGER", + "ITEM_MONKEYSTONE", + "ITEM_GEM_WHITE", + "ITEM_GEM_BLUE", + "ITEM_GEM_RED", + "ITEM_GEM_GREEN", + "ITEM_GOO_CUP", + "ITEM_TEACUP", + "ITEM_COOKIE", + "ITEM_BURGER", + "ITEM_PDA", + "ITEM_BOOK", + "ITEM_CLIPBOARD", + "ITEM_NOTE", + "ITEM_KEYCARD_WHITE", + "ITEM_KEYCARD_BLUE", + "ITEM_KEYCARD_RED", + "ITEM_KEYCARD_GREEN", + "ITEM_KEYCARD_PURPLE", + "ITEM_KEYCARD_BLACK", + "ITEM_CABKEY", + "ITEM_DOLLYTOOL1", + "ITEM_DOLLYTOOL2", + "ITEM_DOLLYTOOL3", + "ITEM_DOLLYTOOL4", + "ITEM_SEED", + "ITEM_SODA", + "ITEM_ROUTER", + "ITEM_SLICER", + "ITEM_CHICKEN", + "ITEM_PACKAGE", + + "INFO_FAIRY_SRC", + "INFO_FAIRY_SRC2", + "INFO_FAIRY_SRC3", + "INFO_FAIRY_SRC4", + "INFO_FAIRY_SRC5", + "INFO_FAIRY_DEST", + "INFO_FAIRY_DEST2", + "INFO_FAIRY_DEST3", + "INFO_FAIRY_DEST4", + "INFO_FAIRY_DEST5", + "INFO_TRIGGER", + "INFO_SET_MUSIC", + "INFO_PROMOTE", + "INFO_DEMOTE", + "INFO_LUA", + "INFO_HERE", + "INFO_ARROW_TURN", + "INFO_ARROW_STOP", + "INFO_ARROW_4WAY", + "INFO_TELEPORTER1", + "INFO_TELEPORTER2", + "INFO_TELEPORTER3", + "INFO_TELEPORTER4", + "INFO_TELEPORTER5", + "INFO_TELEPORTER6", + "INFO_TELEPORTER7", + "INFO_TELEPORTER8", + "INFO_TELEPORTER9", + "INFO_TELEPORTER10", + "INFO_TELEPORTER11", + "INFO_TELEPORTER12", + "INFO_TELEPORTER13", + "INFO_TELEPORTER14", + "INFO_TELEPORTER15", + "INFO_TELEPORTER16", + "INFO_TELEPORTER17", + "INFO_TELEPORTER18", + "INFO_TELEPORTER19", + "INFO_TELEPORTER20", + "INFO_LEVELEXIT", + "INFO_ACTION1", + "INFO_ACTION2", + "INFO_ACTION3", + "INFO_ACTION4", + "INFO_ACTION5", + "INFO_ACTION6", + "INFO_ACTION7", + "INFO_ACTION8", + "INFO_ACTION9", + "INFO_ACTION10", + "INFO_ACTION11", + "INFO_ACTION12", + "INFO_ACTION13", + "INFO_ACTION14", + "INFO_ACTION15", + "INFO_ACTION16", + "INFO_ACTION17", + "INFO_ACTION18", + "INFO_ACTION19", + "INFO_ACTION20", + "INFO_ACTION_AUTO", + + "INFO_QMARK", + "INFO_DEBUG", + "END_AI_TYPES" +}; + +const char *AIType2Str(AIType v) { + return AITypeStr[v]; +} + } // End of Namespace diff --git a/engines/hdb/ai.h b/engines/hdb/ai.h index 6601df3c8e..db0869f0fd 100644 --- a/engines/hdb/ai.h +++ b/engines/hdb/ai.h @@ -952,6 +952,8 @@ private: }; +const char *AIType2Str(AIType v); + } // End of Namespace #endif // !HDB_AI_H |