aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm/he/logic_he.h
diff options
context:
space:
mode:
authorMatthew Hoops2011-04-26 17:12:25 -0400
committerMatthew Hoops2011-04-26 17:13:35 -0400
commit78725365c50805b06fe627a7d23be70e26518c78 (patch)
tree196793cfd460344bee8af6d56a7cdaf08a8ea79b /engines/scumm/he/logic_he.h
parent14865cbf9c2ffd56a450f941bcecee43dfd70d93 (diff)
downloadscummvm-rg350-78725365c50805b06fe627a7d23be70e26518c78.tar.gz
scummvm-rg350-78725365c50805b06fe627a7d23be70e26518c78.tar.bz2
scummvm-rg350-78725365c50805b06fe627a7d23be70e26518c78.zip
SCUMM: Begin work on the soccer u32 code
Players no longer appear in the upper-left corner of the screen and play can actually hault now (ie. the ball can go out of play). The players/ball do not move from their positions yet, but it's a start.
Diffstat (limited to 'engines/scumm/he/logic_he.h')
-rw-r--r--engines/scumm/he/logic_he.h22
1 files changed, 18 insertions, 4 deletions
diff --git a/engines/scumm/he/logic_he.h b/engines/scumm/he/logic_he.h
index ab952abd5e..c2ea2b8ec6 100644
--- a/engines/scumm/he/logic_he.h
+++ b/engines/scumm/he/logic_he.h
@@ -41,9 +41,9 @@ public:
int getFromArray(int arg0, int idx2, int idx1);
void putInArray(int arg0, int idx2, int idx1, int val);
- void beforeBootScript() {}
- void initOnce() {}
- void startOfFrame() {}
+ virtual void beforeBootScript() {}
+ virtual void initOnce() {}
+ virtual int startOfFrame() { return 1; }
void endOfFrame() {}
void processKeyStroke(int keyPressed) {}
@@ -111,25 +111,39 @@ private:
class LogicHEsoccer : public LogicHE {
private:
+ byte *_userData;
double *_userDataD;
public:
LogicHEsoccer(ScummEngine_v90he *vm);
+ ~LogicHEsoccer();
int versionID();
int32 dispatch(int op, int numArgs, int32 *args);
+ void beforeBootScript();
+ void initOnce();
+ int startOfFrame();
+
private:
int op_1001(int32 *args);
int op_1002(int32 *args);
int op_1003(int32 *args);
int op_1004(int32 *args);
- int op_1006(int32 *args);
+ // op_1006 can be called from other opcodes!
+ int op_1006(int32 a1, int32 a2, int32 a3, int32 a4);
int op_1007(int32 *args);
int op_1008(int32 *args);
+ // op_1011 can be called from other opcodes!
+ int op_1011(int32 a1, int32 a2, int32 a3, int32 a4, int32 a5);
+ void op_1011_sub(int32 a1, int32 a2, int32 a3, int32 a4);
int op_1012(int32 *args);
+ // op_1013 can be called from other opcodes!
+ int op_1013(int32 a1, int32 a2, int32 a3);
int op_1014(int32 *args);
int op_1019(int32 *args);
+ // op_1020 can be called from other opcodes!
+ int op_1020();
int op_1021(int32 *args);
};