aboutsummaryrefslogtreecommitdiff
path: root/saga/saga.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'saga/saga.cpp')
-rw-r--r--saga/saga.cpp47
1 files changed, 47 insertions, 0 deletions
diff --git a/saga/saga.cpp b/saga/saga.cpp
index e9b8a8c5db..1d934a2752 100644
--- a/saga/saga.cpp
+++ b/saga/saga.cpp
@@ -357,6 +357,27 @@ const char *SagaEngine::getObjectName(uint16 objectId) {
return NULL;
}
+int SagaEngine::getObjectScriptEntrypointNumber(uint16 objectId) {
+ ActorData *actor;
+ switch (objectIdType(objectId)) {
+ case kGameObjectActor:
+ actor = _vm->_actor->getActor(objectId);
+ return actor->scriptEntrypointNumber;
+ break;
+ }
+ //todo: object name & etc
+ return 0;
+}
+
+int SagaEngine::getObjectFlags(uint16 objectId) {
+ ActorData *actor;
+ if (objectIdType(objectId) == kGameObjectActor) {
+ actor = _vm->_actor->getActor(objectId);
+ return actor->flags;
+ }
+ return 0;
+}
+
const char *SagaEngine::getTextString(int textStringId) {
const char *string;
int lang = _vm->getFeatures() & GF_LANG_DE ? 1 : 0;
@@ -368,4 +389,30 @@ const char *SagaEngine::getTextString(int textStringId) {
return string;
}
+void SagaEngine::getExcuseInfo(int verb, const char *&textString, int &soundResourceId) {
+ textString = NULL; // TODO: i18n it !
+ switch (verb) {
+ case kVerbPickUp:
+ textString = "I can't pick that up.";
+ soundResourceId = RID_BOAR_VOICE_007;
+ break;
+ case kVerbLookAt:
+ textString = "I see nothing special about it.";
+ soundResourceId = RID_BOAR_VOICE_006;
+ break;
+ case kVerbOpen:
+ textString = "There's no place to open it.";
+ soundResourceId = RID_BOAR_VOICE_000;
+ break;
+ case kVerbClose:
+ textString = "There's no opening to close.";
+ soundResourceId = RID_BOAR_VOICE_002;
+ break;
+ case kVerbUse:
+ textString = "I don't know how to do that.";
+ soundResourceId = RID_BOAR_VOICE_005;
+ break;
+ }
+}
+
} // End of namespace Saga