aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/hdb/ai-funcs.cpp16
-rw-r--r--engines/hdb/ai-init.cpp160
-rw-r--r--engines/hdb/ai.h2
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