22 #ifndef ALCACHOFA_GAME_H 23 #define ALCACHOFA_GAME_H 25 #include "alcachofa/script.h" 27 #include "common/textconsole.h" 28 #include "common/file.h" 38 struct ScriptInstruction;
48 typedef void (*Message)(
const char *s, ...);
53 virtual void onLoadedGameFiles();
60 virtual void updateScriptVariables() = 0;
61 virtual void drawScreenStates();
62 virtual const char *getDialogFileName() = 0;
63 virtual const char *getObjectFileName() = 0;
64 virtual char getTextFileKey() = 0;
66 virtual const char *getMenuRoom() = 0;
67 virtual const char *getInitScriptName() = 0;
68 virtual int32 getKernelTaskArgCount(int32 kernelTaskI);
72 virtual int32 getCharacterJingle(MainCharacterKind kind) = 0;
73 virtual bool shouldFilterTexturesByDefault() = 0;
74 virtual bool shouldClipCamera() = 0;
75 virtual bool isAllowedToInteract() = 0;
77 virtual bool shouldScriptLockInteraction() = 0;
78 virtual bool shouldChangeCharacterUseGameLock() = 0;
79 virtual bool shouldAvoidCollisions() = 0;
82 virtual bool doesRoomHaveBackground(
const Room *room);
88 virtual void invalidDialogLine(uint index);
89 virtual void tooManyDialogLines(uint lineCount, uint maxLineCount);
90 virtual void tooManyDrawRequests(
int order);
92 virtual bool shouldCharacterTrigger(
const Character *character,
const char *action);
93 virtual bool shouldTriggerDoor(
const Door *door);
94 virtual bool hasMortadeloVoice(
const Character *character);
95 virtual void onUserChangedCharacter();
97 virtual void unknownCamSetInactiveAttribute(
int attribute);
98 virtual void unknownFadeType(
int fadeType);
99 virtual void unknownSerializedObject(
const char *
object,
const char *owner,
const char *room);
100 virtual void unknownPickupItem(
const char *name);
101 virtual void unknownDropItem(
const char *name);
102 virtual void unknownVariable(
const char *name);
104 virtual void unknownAnimateObject(
const char *name);
105 virtual void unknownScriptCharacter(
const char *action,
const char *name);
107 virtual void unknownChangeCharacterRoom(
const char *name);
108 virtual void unknownAnimateCharacterObject(
const char *name);
109 virtual Character *unknownSayTextCharacter(
const char *name, int32 dialogId);
110 virtual void unknownAnimateTalkingObject(
const char *name);
111 virtual void unknownClearInventoryTarget(
int characterKind);
112 virtual PointObject *unknownCamLerpTarget(
const char *action,
const char *name);
113 virtual void unknownKernelTask(
int task);
114 virtual void unknownScriptProcedure(
const Common::String &procedure);
115 virtual void unknownMenuAction(int32 actionId);
119 virtual void invalidSNDFormat(uint format, uint channels, uint freq, uint bps);
120 virtual void notEnoughRoomDataRead(
const char *path, int64 filePos, int64 objectEnd);
121 virtual void notEnoughObjectDataRead(
const char *room, int64 filePos, int64 objectEnd);
122 virtual bool isKnownBadVideo(int32 videoId);
123 virtual void invalidVideo(int32 videoId,
const char *context);
125 static Game *create();
126 static Game *createForMovieAdventureSpecial();
127 static Game *createForMovieAdventureOriginal();
128 static Game *createForTerror();
129 static Game *createForVaqueros();
130 static Game *createForSecta();
132 const Message _message;
137 #endif // ALCACHOFA_GAME_H Definition: alcachofa.h:45
virtual Common::String getSoundPath(const char *filename)=0
Without file-extension.
Definition: scheduler.h:164
virtual PointObject * unknownGoPutTarget(const Process &process, const char *action, const char *name)
May return an alternative target to use.
virtual bool isAllowedToOpenMenu()=0
only the game-specific condition
Definition: objects.h:463
virtual Common::String getMusicPath(int32 trackId)=0
Without file-extension.
References a game file either as path or as embedded byte range.
Definition: common.h:197
Provides functionality specific to a game title / engine version. Also includes all exemptions to inc...
Definition: game.h:47
Definition: objects.h:443
virtual const char *const * getMapFiles()=0
Returns a nullptr-terminated list.