diff --git a/engines/nancy/action/actionmanager.cpp b/engines/nancy/action/actionmanager.cpp index 29e8bbe6bd9..5e74523b1de 100644 --- a/engines/nancy/action/actionmanager.cpp +++ b/engines/nancy/action/actionmanager.cpp @@ -186,7 +186,7 @@ void ActionManager::processActionRecords() { } break; - case DependencyType::kEventFlag: + case DependencyType::kEvent: if (NancySceneState.getEventFlag(dep.label, dep.condition)) { // nancy1 has code for some timer array that never gets used // and is discarded from nancy2 onward @@ -194,7 +194,7 @@ void ActionManager::processActionRecords() { } break; - case DependencyType::kLogicCondition: + case DependencyType::kLogic: if (NancySceneState._flags.logicConditions[dep.label].flag == dep.condition) { // Wait for specified time before satisfying dependency condition Time elapsed = NancySceneState._timers.lastTotalTime - NancySceneState._flags.logicConditions[dep.label].timestamp; @@ -205,30 +205,24 @@ void ActionManager::processActionRecords() { } break; - case DependencyType::kTotalTime: + case DependencyType::kElapsedGameTime: if (NancySceneState._timers.lastTotalTime >= dep.timeData) { dep.satisfied = true; } break; - case DependencyType::kSceneTime: + case DependencyType::kElapsedSceneTime: if (NancySceneState._timers.sceneTime >= dep.timeData) { dep.satisfied = true; } break; - case DependencyType::kPlayerTime: + case DependencyType::kElapsedPlayerTime: // TODO almost definitely wrong, as the original engine treats player time differently if (NancySceneState._timers.playerTime >= dep.timeData) { dep.satisfied = true; } - break; - case DependencyType::kUnknownType7: - warning("Unknown Dependency type 7"); - break; - case DependencyType::kUnknownType8: - warning("Unknown Dependency type 8"); break; case DependencyType::kSceneCount: // This dependency type keeps its data in the time variables @@ -255,7 +249,7 @@ void ActionManager::processActionRecords() { } break; - case DependencyType::kResetOnNewDay: + case DependencyType::kElapsedPlayerDay: if (record->_days == -1) { record->_days = NancySceneState._timers.playerTime.getDays(); dep.satisfied = true; @@ -265,14 +259,14 @@ void ActionManager::processActionRecords() { if (record->_days < NancySceneState._timers.playerTime.getDays()) { record->_days = NancySceneState._timers.playerTime.getDays(); for (uint j = 0; j < record->_dependencies.size(); ++j) { - if (record->_dependencies[j].type == DependencyType::kPlayerTime) { + if (record->_dependencies[j].type == DependencyType::kElapsedPlayerTime) { record->_dependencies[j].satisfied = false; } } } break; - case DependencyType::kUseItem: { + case DependencyType::kCursorType: { bool hasUnsatisfiedDeps = false; for (uint j = 0; j < record->_dependencies.size(); ++j) { if (j != i && record->_dependencies[j].satisfied == false) { @@ -293,19 +287,19 @@ void ActionManager::processActionRecords() { dep.satisfied = true; break; } - case DependencyType::kTimeOfDay: + case DependencyType::kPlayerTOD: if (dep.label == NancySceneState._timers.timeOfDay) { dep.satisfied = true; } break; - case DependencyType::kTimerNotDone: + case DependencyType::kTimerLessThanDependencyTime: if (NancySceneState._timers.timerTime <= dep.timeData) { dep.satisfied = true; } break; - case DependencyType::kTimerDone: + case DependencyType::kTimerGreaterThanDependencyTime: if (NancySceneState._timers.timerTime > dep.timeData) { dep.satisfied = true; } @@ -318,7 +312,7 @@ void ActionManager::processActionRecords() { break; default: - warning("Unknown Dependency type %i", (int)dep.type); + warning("Unimplemented Dependency type %i", (int)dep.type); break; } } diff --git a/engines/nancy/action/actionrecord.h b/engines/nancy/action/actionrecord.h index a9e75ccad34..6521db83c7b 100644 --- a/engines/nancy/action/actionrecord.h +++ b/engines/nancy/action/actionrecord.h @@ -39,22 +39,26 @@ struct NancyInput; namespace Action { enum struct DependencyType : byte { - kNone = 0, - kInventory = 1, - kEventFlag = 2, - kLogicCondition = 3, - kTotalTime = 4, - kSceneTime = 5, - kPlayerTime = 6, - kUnknownType7 = 7, - kUnknownType8 = 8, - kSceneCount = 9, - kResetOnNewDay = 10, - kUseItem = 11, - kTimeOfDay = 12, - kTimerNotDone = 13, - kTimerDone = 14, - kDifficultyLevel = 15 + kNone = 0, + kInventory = 1, + kEvent = 2, + kLogic = 3, + kElapsedGameTime = 4, + kElapsedSceneTime = 5, + kElapsedPlayerTime = 6, + kSamsSight = 7, // Not implemented + kSamsSound = 8, // Not implemented + kSceneCount = 9, + kElapsedPlayerDay = 10, + kCursorType = 11, + kPlayerTOD = 12, + kTimerLessThanDependencyTime = 13, + kTimerGreaterThanDependencyTime = 14, + kDifficultyLevel = 15, + kClosedCaptioning = 16, // Not implemented + kSound = 17, // Not implemented + kOpenParentheses = 18, // Not implemented + kCloseParentheses = 19 // Not implemented }; // Describes a condition that needs to be fulfilled before the diff --git a/engines/nancy/console.cpp b/engines/nancy/console.cpp index 422a609b71a..40f070db6fe 100644 --- a/engines/nancy/console.cpp +++ b/engines/nancy/console.cpp @@ -419,32 +419,32 @@ bool NancyConsole::Cmd_listAcionRecords(int argc, const char **argv) { g_nancy->getStaticData().itemNames[dep.label].c_str(), dep.condition == kInvHolding ? "kInvHolding" : "kInvEmpty"); break; - case DependencyType::kEventFlag : - debugPrintf("kEventFlag, flag %u, %s, %s", + case DependencyType::kEvent : + debugPrintf("kEvent, flag %u, %s, %s", dep.label, g_nancy->getStaticData().eventFlagNames[dep.label].c_str(), dep.condition == kEvOccurred ? "kEvOccurred" : "kEvNotOccurred"); break; - case DependencyType::kLogicCondition : - debugPrintf("kLogicCondition, flag %u, %s", + case DependencyType::kLogic : + debugPrintf("kLogic, flag %u, %s", dep.label, dep.condition == kLogUsed ? "kLogUsed" : "kLogNotUsed"); break; - case DependencyType::kTotalTime : - debugPrintf("kTotalTime, %i hours, %i minutes, %i seconds, %i milliseconds", + case DependencyType::kElapsedGameTime : + debugPrintf("kElapsedGameTime, %i hours, %i minutes, %i seconds, %i milliseconds", dep.hours, dep.minutes, dep.seconds, dep.milliseconds); break; - case DependencyType::kSceneTime : - debugPrintf("kSceneTime, %i hours, %i minutes, %i seconds, %i milliseconds", + case DependencyType::kElapsedSceneTime : + debugPrintf("kElapsedSceneTime, %i hours, %i minutes, %i seconds, %i milliseconds", dep.hours, dep.minutes, dep.seconds, dep.milliseconds); break; - case DependencyType::kPlayerTime : + case DependencyType::kElapsedPlayerTime : debugPrintf("kPlayerTime, %i hours, %i minutes, %i seconds, %i milliseconds", dep.hours, dep.minutes, @@ -457,24 +457,24 @@ bool NancyConsole::Cmd_listAcionRecords(int argc, const char **argv) { dep.milliseconds == 1 ? ">" : dep.milliseconds == 2 ? "<" : "==", dep.seconds); break; - case DependencyType::kResetOnNewDay : - debugPrintf("kResetOnNewDay"); + case DependencyType::kElapsedPlayerDay : + debugPrintf("kElapsedPlayerDay"); break; - case DependencyType::kUseItem : - debugPrintf("kUseItem, item %u, %s, %s", + case DependencyType::kCursorType : + debugPrintf("kCursorType, item %u, %s, %s", dep.label, g_nancy->getStaticData().itemNames[dep.label].c_str(), dep.condition == ActionManager::kCursInvHolding ? "kCursInvHolding" : "kCursInvNotHolding"); break; - case DependencyType::kTimeOfDay : - debugPrintf("kTimeOfDay, %s", + case DependencyType::kPlayerTOD : + debugPrintf("kPlayerTOD, %s", dep.label == 0 ? "kPlayerDay" : dep.label == 1 ? "kPLayerNight" : "kPLayerDuskDawn"); break; - case DependencyType::kTimerNotDone : - debugPrintf("kTimerNotDone"); + case DependencyType::kTimerLessThanDependencyTime : + debugPrintf("kTimerLessThanDependencyTime"); break; - case DependencyType::kTimerDone : - debugPrintf("kTimerDone"); + case DependencyType::kTimerGreaterThanDependencyTime : + debugPrintf("kTimerGreaterThanDependencyTime"); break; case DependencyType::kDifficultyLevel : debugPrintf("kDifficultyLevel, level %i", dep.condition);