diff options
author | Oliver Kiehl | 2003-05-26 19:38:49 +0000 |
---|---|---|
committer | Oliver Kiehl | 2003-05-26 19:38:49 +0000 |
commit | 1124e8e432b6b3219816889e1294939a927d865b (patch) | |
tree | 3a294a57dedbb0cf2b4d392dfe633c7f7d25f0d6 /sky | |
parent | d08a06ea88d640acf2f8e7cbf6a92b7cbb25e19a (diff) | |
download | scummvm-rg350-1124e8e432b6b3219816889e1294939a927d865b.tar.gz scummvm-rg350-1124e8e432b6b3219816889e1294939a927d865b.tar.bz2 scummvm-rg350-1124e8e432b6b3219816889e1294939a927d865b.zip |
cleanup (add supportive function getMegaSet() )
svn-id: r8014
Diffstat (limited to 'sky')
-rw-r--r-- | sky/autoroute.cpp | 2 | ||||
-rw-r--r-- | sky/compact.cpp | 15 | ||||
-rw-r--r-- | sky/compact.h | 1 | ||||
-rw-r--r-- | sky/logic.cpp | 4 |
4 files changed, 19 insertions, 3 deletions
diff --git a/sky/autoroute.cpp b/sky/autoroute.cpp index 352abe791c..1cd6534317 100644 --- a/sky/autoroute.cpp +++ b/sky/autoroute.cpp @@ -70,7 +70,7 @@ uint16 SkyAutoRoute::autoRoute(Compact *cpt, uint16 **pSaveRoute) { uint8 stretch1, stretch2; // bl / bh stretch1 = 0; - MegaSet *mega = (MegaSet *)SkyCompact::getCompactElem(cpt, C_GRID_WIDTH + cpt->extCompact->megaSet); + MegaSet *mega = SkyCompact::getMegaSet(cpt, cpt->extCompact->megaSet); stretch2 = (uint8)(mega->gridWidth & 0xff); uint16 cnt; diff --git a/sky/compact.cpp b/sky/compact.cpp index e11d6c5fdc..e584e99b63 100644 --- a/sky/compact.cpp +++ b/sky/compact.cpp @@ -50,6 +50,21 @@ namespace SkyCompact { +MegaSet *getMegaSet(Compact *cpt, uint16 megaSet) { + switch (megaSet) { + case 0: + return cpt->extCompact->megaSet0; + case 1 + NEXT_MEGA_SET: + return cpt->extCompact->megaSet1; + case 2 + NEXT_MEGA_SET*2: + return cpt->extCompact->megaSet2; + case 3 + NEXT_MEGA_SET*3: + return cpt->extCompact->megaSet3; + default: + error("Invalid MegaSet (%d)", megaSet); + } +} + uint16 *getSub(Compact *cpt, uint16 mode) { switch (mode) { case 0: diff --git a/sky/compact.h b/sky/compact.h index 364731ec9c..361957bab8 100644 --- a/sky/compact.h +++ b/sky/compact.h @@ -27,6 +27,7 @@ #include "sky/skydefs.h" namespace SkyCompact { + MegaSet *getMegaSet(Compact *cpt, uint16 megaSet); uint16 *getSub(Compact *cpt, uint16 mode); void *getCompactElem(Compact *cpt, uint32 off); diff --git a/sky/logic.cpp b/sky/logic.cpp index 58c2292f98..5df3ffedf8 100644 --- a/sky/logic.cpp +++ b/sky/logic.cpp @@ -517,8 +517,8 @@ void SkyLogic::simpleAnim() { } bool SkyLogic::collide(Compact *cpt) { - MegaSet *m1 = (MegaSet *)SkyCompact::getCompactElem(_compact, C_GRID_WIDTH + _compact->extCompact->megaSet); - MegaSet *m2 = (MegaSet *)SkyCompact::getCompactElem(cpt, C_GRID_WIDTH + cpt->extCompact->megaSet); + MegaSet *m1 = SkyCompact::getMegaSet(_compact, _compact->extCompact->megaSet); + MegaSet *m2 = SkyCompact::getMegaSet(cpt, cpt->extCompact->megaSet); // target's base coordinates uint16 x = cpt->xcood & 0xfff8; |