25 #include "agds/object.h" 26 #include "agds/opcode.h" 27 #include "agds/processExitCode.h" 28 #include "common/debug.h" 29 #include "common/scummsys.h" 30 #include "common/stack.h" 41 enum Status { kStatusActive,
54 unsigned _ip, _lastIp;
57 ProcessExitCode _exitCode;
59 int _exitIntArg1, _exitIntArg2;
60 int _tileWidth, _tileHeight;
71 bool _phaseVarControlled;
77 int _filmSubtitlesResource;
82 void debug(
const char *str, ...);
83 void error(
const char *str, ...);
100 return getString(pop());
105 #define AGDS_PROCESS_METHOD(opcode, method) \ 107 #define AGDS_PROCESS_METHOD_C(opcode, method) \ 109 #define AGDS_PROCESS_METHOD_B(opcode, method) \ 111 #define AGDS_PROCESS_METHOD_W(opcode, method) \ 113 #define AGDS_PROCESS_METHOD_U(opcode, method) \ 115 #define AGDS_PROCESS_METHOD_UD(opcode, method) \ 117 #define AGDS_PROCESS_METHOD_UU(opcode, method) \ 118 void method(uint16, uint16); 120 AGDS_OPCODE_LIST(AGDS_PROCESS_METHOD,
121 AGDS_PROCESS_METHOD_C, AGDS_PROCESS_METHOD_B, AGDS_PROCESS_METHOD_W,
122 AGDS_PROCESS_METHOD_U, AGDS_PROCESS_METHOD_UD, AGDS_PROCESS_METHOD_UU)
124 void moveCharacter(
bool usermove);
131 void suspend(ProcessExitCode exitCode,
int arg1 = 0,
int arg2 = 0);
133 ProcessExitCode resume();
134 void suspendIfPassive();
137 void attachInventoryObjectToMouse(
bool flag);
143 unsigned entryPoint()
const {
154 return _object->getName();
158 return _parentScreen;
161 Status status()
const {
165 bool active()
const {
166 return _status == kStatusActive;
168 bool passive()
const {
169 return _status == kStatusPassive;
176 bool finished()
const {
177 return _status == kStatusDone || _status == kStatusError;
182 ProcessExitCode getExitCode()
const {
190 int getExitIntArg1()
const {
198 int getExitIntArg2()
const {
203 _mousePosition = mousePosition;
205 void updateWithCurrentMousePosition();
212 return _processAnimation;
215 void removeProcessAnimation();
Definition: atari-screen.h:58