mirror of
https://github.com/libretro/scummvm.git
synced 2025-05-13 09:36:21 +00:00
NANCY: Rename action record dependency types
Renamed the dependency types for ActionRecords to match their official ones. Also added the dependency types found in nancy3.
This commit is contained in:
parent
8190f09acc
commit
1fa1de39b6
@ -186,7 +186,7 @@ void ActionManager::processActionRecords() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kEventFlag:
|
case DependencyType::kEvent:
|
||||||
if (NancySceneState.getEventFlag(dep.label, dep.condition)) {
|
if (NancySceneState.getEventFlag(dep.label, dep.condition)) {
|
||||||
// nancy1 has code for some timer array that never gets used
|
// nancy1 has code for some timer array that never gets used
|
||||||
// and is discarded from nancy2 onward
|
// and is discarded from nancy2 onward
|
||||||
@ -194,7 +194,7 @@ void ActionManager::processActionRecords() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kLogicCondition:
|
case DependencyType::kLogic:
|
||||||
if (NancySceneState._flags.logicConditions[dep.label].flag == dep.condition) {
|
if (NancySceneState._flags.logicConditions[dep.label].flag == dep.condition) {
|
||||||
// Wait for specified time before satisfying dependency condition
|
// Wait for specified time before satisfying dependency condition
|
||||||
Time elapsed = NancySceneState._timers.lastTotalTime - NancySceneState._flags.logicConditions[dep.label].timestamp;
|
Time elapsed = NancySceneState._timers.lastTotalTime - NancySceneState._flags.logicConditions[dep.label].timestamp;
|
||||||
@ -205,30 +205,24 @@ void ActionManager::processActionRecords() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kTotalTime:
|
case DependencyType::kElapsedGameTime:
|
||||||
if (NancySceneState._timers.lastTotalTime >= dep.timeData) {
|
if (NancySceneState._timers.lastTotalTime >= dep.timeData) {
|
||||||
dep.satisfied = true;
|
dep.satisfied = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kSceneTime:
|
case DependencyType::kElapsedSceneTime:
|
||||||
if (NancySceneState._timers.sceneTime >= dep.timeData) {
|
if (NancySceneState._timers.sceneTime >= dep.timeData) {
|
||||||
dep.satisfied = true;
|
dep.satisfied = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kPlayerTime:
|
case DependencyType::kElapsedPlayerTime:
|
||||||
// TODO almost definitely wrong, as the original engine treats player time differently
|
// TODO almost definitely wrong, as the original engine treats player time differently
|
||||||
if (NancySceneState._timers.playerTime >= dep.timeData) {
|
if (NancySceneState._timers.playerTime >= dep.timeData) {
|
||||||
dep.satisfied = true;
|
dep.satisfied = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
|
||||||
case DependencyType::kUnknownType7:
|
|
||||||
warning("Unknown Dependency type 7");
|
|
||||||
break;
|
|
||||||
case DependencyType::kUnknownType8:
|
|
||||||
warning("Unknown Dependency type 8");
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kSceneCount:
|
case DependencyType::kSceneCount:
|
||||||
// This dependency type keeps its data in the time variables
|
// This dependency type keeps its data in the time variables
|
||||||
@ -255,7 +249,7 @@ void ActionManager::processActionRecords() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kResetOnNewDay:
|
case DependencyType::kElapsedPlayerDay:
|
||||||
if (record->_days == -1) {
|
if (record->_days == -1) {
|
||||||
record->_days = NancySceneState._timers.playerTime.getDays();
|
record->_days = NancySceneState._timers.playerTime.getDays();
|
||||||
dep.satisfied = true;
|
dep.satisfied = true;
|
||||||
@ -265,14 +259,14 @@ void ActionManager::processActionRecords() {
|
|||||||
if (record->_days < NancySceneState._timers.playerTime.getDays()) {
|
if (record->_days < NancySceneState._timers.playerTime.getDays()) {
|
||||||
record->_days = NancySceneState._timers.playerTime.getDays();
|
record->_days = NancySceneState._timers.playerTime.getDays();
|
||||||
for (uint j = 0; j < record->_dependencies.size(); ++j) {
|
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;
|
record->_dependencies[j].satisfied = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kUseItem: {
|
case DependencyType::kCursorType: {
|
||||||
bool hasUnsatisfiedDeps = false;
|
bool hasUnsatisfiedDeps = false;
|
||||||
for (uint j = 0; j < record->_dependencies.size(); ++j) {
|
for (uint j = 0; j < record->_dependencies.size(); ++j) {
|
||||||
if (j != i && record->_dependencies[j].satisfied == false) {
|
if (j != i && record->_dependencies[j].satisfied == false) {
|
||||||
@ -293,19 +287,19 @@ void ActionManager::processActionRecords() {
|
|||||||
dep.satisfied = true;
|
dep.satisfied = true;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DependencyType::kTimeOfDay:
|
case DependencyType::kPlayerTOD:
|
||||||
if (dep.label == NancySceneState._timers.timeOfDay) {
|
if (dep.label == NancySceneState._timers.timeOfDay) {
|
||||||
dep.satisfied = true;
|
dep.satisfied = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kTimerNotDone:
|
case DependencyType::kTimerLessThanDependencyTime:
|
||||||
if (NancySceneState._timers.timerTime <= dep.timeData) {
|
if (NancySceneState._timers.timerTime <= dep.timeData) {
|
||||||
dep.satisfied = true;
|
dep.satisfied = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
break;
|
break;
|
||||||
case DependencyType::kTimerDone:
|
case DependencyType::kTimerGreaterThanDependencyTime:
|
||||||
if (NancySceneState._timers.timerTime > dep.timeData) {
|
if (NancySceneState._timers.timerTime > dep.timeData) {
|
||||||
dep.satisfied = true;
|
dep.satisfied = true;
|
||||||
}
|
}
|
||||||
@ -318,7 +312,7 @@ void ActionManager::processActionRecords() {
|
|||||||
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
warning("Unknown Dependency type %i", (int)dep.type);
|
warning("Unimplemented Dependency type %i", (int)dep.type);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -39,22 +39,26 @@ struct NancyInput;
|
|||||||
namespace Action {
|
namespace Action {
|
||||||
|
|
||||||
enum struct DependencyType : byte {
|
enum struct DependencyType : byte {
|
||||||
kNone = 0,
|
kNone = 0,
|
||||||
kInventory = 1,
|
kInventory = 1,
|
||||||
kEventFlag = 2,
|
kEvent = 2,
|
||||||
kLogicCondition = 3,
|
kLogic = 3,
|
||||||
kTotalTime = 4,
|
kElapsedGameTime = 4,
|
||||||
kSceneTime = 5,
|
kElapsedSceneTime = 5,
|
||||||
kPlayerTime = 6,
|
kElapsedPlayerTime = 6,
|
||||||
kUnknownType7 = 7,
|
kSamsSight = 7, // Not implemented
|
||||||
kUnknownType8 = 8,
|
kSamsSound = 8, // Not implemented
|
||||||
kSceneCount = 9,
|
kSceneCount = 9,
|
||||||
kResetOnNewDay = 10,
|
kElapsedPlayerDay = 10,
|
||||||
kUseItem = 11,
|
kCursorType = 11,
|
||||||
kTimeOfDay = 12,
|
kPlayerTOD = 12,
|
||||||
kTimerNotDone = 13,
|
kTimerLessThanDependencyTime = 13,
|
||||||
kTimerDone = 14,
|
kTimerGreaterThanDependencyTime = 14,
|
||||||
kDifficultyLevel = 15
|
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
|
// Describes a condition that needs to be fulfilled before the
|
||||||
|
@ -419,32 +419,32 @@ bool NancyConsole::Cmd_listAcionRecords(int argc, const char **argv) {
|
|||||||
g_nancy->getStaticData().itemNames[dep.label].c_str(),
|
g_nancy->getStaticData().itemNames[dep.label].c_str(),
|
||||||
dep.condition == kInvHolding ? "kInvHolding" : "kInvEmpty");
|
dep.condition == kInvHolding ? "kInvHolding" : "kInvEmpty");
|
||||||
break;
|
break;
|
||||||
case DependencyType::kEventFlag :
|
case DependencyType::kEvent :
|
||||||
debugPrintf("kEventFlag, flag %u, %s, %s",
|
debugPrintf("kEvent, flag %u, %s, %s",
|
||||||
dep.label,
|
dep.label,
|
||||||
g_nancy->getStaticData().eventFlagNames[dep.label].c_str(),
|
g_nancy->getStaticData().eventFlagNames[dep.label].c_str(),
|
||||||
dep.condition == kEvOccurred ? "kEvOccurred" : "kEvNotOccurred");
|
dep.condition == kEvOccurred ? "kEvOccurred" : "kEvNotOccurred");
|
||||||
break;
|
break;
|
||||||
case DependencyType::kLogicCondition :
|
case DependencyType::kLogic :
|
||||||
debugPrintf("kLogicCondition, flag %u, %s",
|
debugPrintf("kLogic, flag %u, %s",
|
||||||
dep.label,
|
dep.label,
|
||||||
dep.condition == kLogUsed ? "kLogUsed" : "kLogNotUsed");
|
dep.condition == kLogUsed ? "kLogUsed" : "kLogNotUsed");
|
||||||
break;
|
break;
|
||||||
case DependencyType::kTotalTime :
|
case DependencyType::kElapsedGameTime :
|
||||||
debugPrintf("kTotalTime, %i hours, %i minutes, %i seconds, %i milliseconds",
|
debugPrintf("kElapsedGameTime, %i hours, %i minutes, %i seconds, %i milliseconds",
|
||||||
dep.hours,
|
dep.hours,
|
||||||
dep.minutes,
|
dep.minutes,
|
||||||
dep.seconds,
|
dep.seconds,
|
||||||
dep.milliseconds);
|
dep.milliseconds);
|
||||||
break;
|
break;
|
||||||
case DependencyType::kSceneTime :
|
case DependencyType::kElapsedSceneTime :
|
||||||
debugPrintf("kSceneTime, %i hours, %i minutes, %i seconds, %i milliseconds",
|
debugPrintf("kElapsedSceneTime, %i hours, %i minutes, %i seconds, %i milliseconds",
|
||||||
dep.hours,
|
dep.hours,
|
||||||
dep.minutes,
|
dep.minutes,
|
||||||
dep.seconds,
|
dep.seconds,
|
||||||
dep.milliseconds);
|
dep.milliseconds);
|
||||||
break;
|
break;
|
||||||
case DependencyType::kPlayerTime :
|
case DependencyType::kElapsedPlayerTime :
|
||||||
debugPrintf("kPlayerTime, %i hours, %i minutes, %i seconds, %i milliseconds",
|
debugPrintf("kPlayerTime, %i hours, %i minutes, %i seconds, %i milliseconds",
|
||||||
dep.hours,
|
dep.hours,
|
||||||
dep.minutes,
|
dep.minutes,
|
||||||
@ -457,24 +457,24 @@ bool NancyConsole::Cmd_listAcionRecords(int argc, const char **argv) {
|
|||||||
dep.milliseconds == 1 ? ">" : dep.milliseconds == 2 ? "<" : "==",
|
dep.milliseconds == 1 ? ">" : dep.milliseconds == 2 ? "<" : "==",
|
||||||
dep.seconds);
|
dep.seconds);
|
||||||
break;
|
break;
|
||||||
case DependencyType::kResetOnNewDay :
|
case DependencyType::kElapsedPlayerDay :
|
||||||
debugPrintf("kResetOnNewDay");
|
debugPrintf("kElapsedPlayerDay");
|
||||||
break;
|
break;
|
||||||
case DependencyType::kUseItem :
|
case DependencyType::kCursorType :
|
||||||
debugPrintf("kUseItem, item %u, %s, %s",
|
debugPrintf("kCursorType, item %u, %s, %s",
|
||||||
dep.label,
|
dep.label,
|
||||||
g_nancy->getStaticData().itemNames[dep.label].c_str(),
|
g_nancy->getStaticData().itemNames[dep.label].c_str(),
|
||||||
dep.condition == ActionManager::kCursInvHolding ? "kCursInvHolding" : "kCursInvNotHolding");
|
dep.condition == ActionManager::kCursInvHolding ? "kCursInvHolding" : "kCursInvNotHolding");
|
||||||
break;
|
break;
|
||||||
case DependencyType::kTimeOfDay :
|
case DependencyType::kPlayerTOD :
|
||||||
debugPrintf("kTimeOfDay, %s",
|
debugPrintf("kPlayerTOD, %s",
|
||||||
dep.label == 0 ? "kPlayerDay" : dep.label == 1 ? "kPLayerNight" : "kPLayerDuskDawn");
|
dep.label == 0 ? "kPlayerDay" : dep.label == 1 ? "kPLayerNight" : "kPLayerDuskDawn");
|
||||||
break;
|
break;
|
||||||
case DependencyType::kTimerNotDone :
|
case DependencyType::kTimerLessThanDependencyTime :
|
||||||
debugPrintf("kTimerNotDone");
|
debugPrintf("kTimerLessThanDependencyTime");
|
||||||
break;
|
break;
|
||||||
case DependencyType::kTimerDone :
|
case DependencyType::kTimerGreaterThanDependencyTime :
|
||||||
debugPrintf("kTimerDone");
|
debugPrintf("kTimerGreaterThanDependencyTime");
|
||||||
break;
|
break;
|
||||||
case DependencyType::kDifficultyLevel :
|
case DependencyType::kDifficultyLevel :
|
||||||
debugPrintf("kDifficultyLevel, level %i", dep.condition);
|
debugPrintf("kDifficultyLevel, level %i", dep.condition);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user