From d11d56ae13491f92c667b7210e4f4bac15425349 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Sat, 6 Jun 2009 10:50:37 +0000 Subject: Add logic stub for Backyard Basketball. svn-id: r41217 --- engines/scumm/detection_tables.h | 2 +- engines/scumm/he/logic_he.cpp | 86 ++++++++++++++++++++++++++++++++++++++++ engines/scumm/he/logic_he.h | 8 ++++ engines/scumm/scumm.cpp | 4 ++ engines/scumm/scumm.h | 1 + 5 files changed, 100 insertions(+), 1 deletion(-) diff --git a/engines/scumm/detection_tables.h b/engines/scumm/detection_tables.h index 60c9837bb4..abdc5b4e91 100644 --- a/engines/scumm/detection_tables.h +++ b/engines/scumm/detection_tables.h @@ -355,7 +355,7 @@ static const GameSettings gameVariantsTable[] = { // Uses bink in external files for logos {"Baseball2003", 0, 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK}, - {"basketball", 0, 0, GID_HEGAME, 6, 100, MDT_NONE, GF_USE_KEY| GF_16BIT_COLOR, UNK}, + {"basketball", 0, 0, GID_BASKETBALL, 6, 100, MDT_NONE, GF_USE_KEY| GF_16BIT_COLOR, UNK}, {"football2002", 0, 0, GID_FOOTBALL, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK}, {"Soccer2004", 0, 0, GID_SOCCER, 6, 100, MDT_NONE, GF_USE_KEY | GF_16BIT_COLOR, UNK}, diff --git a/engines/scumm/he/logic_he.cpp b/engines/scumm/he/logic_he.cpp index 5f3bdd7018..a095622173 100644 --- a/engines/scumm/he/logic_he.cpp +++ b/engines/scumm/he/logic_he.cpp @@ -959,6 +959,92 @@ int LogicHEsoccer::op_1021(int32 *args) { return 1; } +/*********************** + * Backyard Basketball + * + */ + +int LogicHEbasketball::versionID() { + return 1; +} + +int32 LogicHEbasketball::dispatch(int op, int numArgs, int32 *args) { + int res = 0; + + switch (op) { + case 1001: + break; + + case 1006: + break; + + case 1011: + break; + + case 1012: + break; + + case 1035: + break; + + case 1050: + break; + + case 1051: + break; + + case 1052: + break; + + case 1056: + break; + + case 1057: + break; + + case 1058: + break; + + case 1060: + break; + + case 1064: + break; + + case 1067: + break; + + case 1073: + break; + + case 1075: + break; + + case 1076: + break; + + case 1080: + break; + + case 1081: + break; + + case 1090: + break; + + case 1091: + break; + + case 1513: + break; + + default: + LogicHE::dispatch(op, numArgs, args); + } + + return res; +} + /*********************** * Moonbase Commander * diff --git a/engines/scumm/he/logic_he.h b/engines/scumm/he/logic_he.h index 67b3ce78d3..29304b7468 100644 --- a/engines/scumm/he/logic_he.h +++ b/engines/scumm/he/logic_he.h @@ -135,6 +135,14 @@ private: int op_1021(int32 *args); }; +class LogicHEbasketball : public LogicHE { +public: + LogicHEbasketball(ScummEngine_v90he *vm) : LogicHE(vm) {} + + int versionID(); + int32 dispatch(int op, int numArgs, int32 *args); +}; + class LogicHEmoonbase : public LogicHE { public: LogicHEmoonbase(ScummEngine_v90he *vm) : LogicHE(vm) {} diff --git a/engines/scumm/scumm.cpp b/engines/scumm/scumm.cpp index cbfa720e79..07660ab5bf 100644 --- a/engines/scumm/scumm.cpp +++ b/engines/scumm/scumm.cpp @@ -1524,6 +1524,10 @@ void ScummEngine_v90he::resetScumm() { _logicHE = new LogicHEsoccer(this); break; + case GID_BASKETBALL: + _logicHE = new LogicHEbasketball(this); + break; + case GID_MOONBASE: _logicHE = new LogicHEmoonbase(this); break; diff --git a/engines/scumm/scumm.h b/engines/scumm/scumm.h index ff3852ee83..9ac6f87f26 100644 --- a/engines/scumm/scumm.h +++ b/engines/scumm/scumm.h @@ -226,6 +226,7 @@ enum ScummGameId { GID_FUNSHOP, // Used for all three funshops GID_FOOTBALL, GID_SOCCER, + GID_BASKETBALL, GID_MOONBASE, GID_HECUP // CUP demos }; -- cgit v1.2.3