25#include "agds/object.h"
26#include "agds/opcode.h"
27#include "agds/processExitCode.h"
28#include "common/debug.h"
29#include "common/language.h"
30#include "common/scummsys.h"
31#include "common/stack.h"
42 enum Status { kStatusActive,
55 unsigned _ip, _lastIp;
58 ProcessExitCode _exitCode;
60 int _exitIntArg1, _exitIntArg2;
61 int _tileWidth, _tileHeight;
72 bool _phaseVarControlled;
78 int _filmSubtitlesResource;
84 void debug(
const char *str, ...);
85 void error(
const char *str, ...);
102 return getString(pop());
107#define AGDS_PROCESS_METHOD(opcode, method) \
109#define AGDS_PROCESS_METHOD_C(opcode, method) \
111#define AGDS_PROCESS_METHOD_B(opcode, method) \
113#define AGDS_PROCESS_METHOD_W(opcode, method) \
115#define AGDS_PROCESS_METHOD_U(opcode, method) \
117#define AGDS_PROCESS_METHOD_UD(opcode, method) \
119#define AGDS_PROCESS_METHOD_UU(opcode, method) \
120 void method(uint16, uint16);
122 AGDS_OPCODE_LIST(AGDS_PROCESS_METHOD,
123 AGDS_PROCESS_METHOD_C, AGDS_PROCESS_METHOD_B, AGDS_PROCESS_METHOD_W,
124 AGDS_PROCESS_METHOD_U, AGDS_PROCESS_METHOD_UD, AGDS_PROCESS_METHOD_UU)
126 void moveCharacter(
bool usermove);
133 void suspend(ProcessExitCode exitCode,
int arg1 = 0,
int arg2 = 0);
135 ProcessExitCode resume();
136 void suspendIfPassive();
139 void attachInventoryObjectToMouse(
bool flag);
145 unsigned entryPoint()
const {
156 return _object->getName();
160 return _parentScreen;
163 Status status()
const {
167 bool active()
const {
168 return _status == kStatusActive;
170 bool passive()
const {
171 return _status == kStatusPassive;
178 bool finished()
const {
179 return _status == kStatusDone || _status == kStatusError;
184 ProcessExitCode getExitCode()
const {
192 int getExitIntArg1()
const {
200 int getExitIntArg2()
const {
205 _mousePosition = mousePosition;
207 void updateWithCurrentMousePosition();
214 return _processAnimation;
217 void removeProcessAnimation();
Language
Definition: language.h:45
Definition: atari-screen.h:58