aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorD G Turner2011-12-28 02:49:27 +0000
committerD G Turner2011-12-28 02:49:27 +0000
commit1ff19e19e760fa610150b1a5b68011f9833580ce (patch)
treee1962f6a1b0ab2bcdb238bb2670da13aa52c1e50
parent4c2d2684ea54d98828d44b18fb7b17ed84c7bf22 (diff)
downloadscummvm-rg350-1ff19e19e760fa610150b1a5b68011f9833580ce.tar.gz
scummvm-rg350-1ff19e19e760fa610150b1a5b68011f9833580ce.tar.bz2
scummvm-rg350-1ff19e19e760fa610150b1a5b68011f9833580ce.zip
DREAMWEB: Move checkCoords templated implementation to Dreambase header.
The PSP (MIPS) toolchain generates differing symbols for this template and thus fails to link. By moving the implementation to the defining header, this should fix this.
-rw-r--r--engines/dreamweb/dreambase.h16
-rw-r--r--engines/dreamweb/stubs.cpp14
2 files changed, 15 insertions, 15 deletions
diff --git a/engines/dreamweb/dreambase.h b/engines/dreamweb/dreambase.h
index 9d59c3fc6f..671664c05b 100644
--- a/engines/dreamweb/dreambase.h
+++ b/engines/dreamweb/dreambase.h
@@ -778,7 +778,21 @@ public:
void setAllChanges();
void restoreAll();
void redrawMainScrn();
- template <class T> void checkCoords(const RectWithCallback<T> *rectWithCallbacks);
+
+ template <class T>
+ void checkCoords(const RectWithCallback<T> *rectWithCallbacks) {
+ if (_newLocation != 0xff)
+ return;
+
+ const RectWithCallback<T> *r;
+ for (r = rectWithCallbacks; r->_xMin != 0xffff; ++r) {
+ if (r->contains(_mouseX, _mouseY)) {
+ (((T *)this)->*(r->_callback))();
+ return;
+ }
+ }
+ }
+
void newGame();
void deleteTaken();
void autoAppear();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 10f8ea18cc..6eaf8fb23a 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -1527,20 +1527,6 @@ void DreamBase::dumpPointer() {
multiDump(_oldPointerX, _oldPointerY, _pointerXS, _pointerYS);
}
-template <class T>
-void DreamBase::checkCoords(const RectWithCallback<T> *rectWithCallbacks) {
- if (_newLocation != 0xff)
- return;
-
- const RectWithCallback<T> *r;
- for (r = rectWithCallbacks; r->_xMin != 0xffff; ++r) {
- if (r->contains(_mouseX, _mouseY)) {
- (((T *)this)->*(r->_callback))();
- return;
- }
- }
-}
-
void DreamBase::showPointer() {
showBlink();
uint16 x = _mouseX;