aboutsummaryrefslogtreecommitdiff
path: root/engines/cge/cge_main.cpp
diff options
context:
space:
mode:
authorStrangerke2011-09-16 06:45:28 +0200
committerStrangerke2011-09-16 06:45:53 +0200
commit15bf8050b822db25c3ab4802c0e8438d0151a3cd (patch)
treecf82ca75733fcadba2c484160cbecba55385f581 /engines/cge/cge_main.cpp
parenta607247262a7dcb5698d601da9529a856aa7a411 (diff)
downloadscummvm-rg350-15bf8050b822db25c3ab4802c0e8438d0151a3cd.tar.gz
scummvm-rg350-15bf8050b822db25c3ab4802c0e8438d0151a3cd.tar.bz2
scummvm-rg350-15bf8050b822db25c3ab4802c0e8438d0151a3cd.zip
CGE: Move two globals functions to CGEEngine
Diffstat (limited to 'engines/cge/cge_main.cpp')
-rw-r--r--engines/cge/cge_main.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/engines/cge/cge_main.cpp b/engines/cge/cge_main.cpp
index 86ea267c80..c5450aefd3 100644
--- a/engines/cge/cge_main.cpp
+++ b/engines/cge/cge_main.cpp
@@ -1221,6 +1221,24 @@ void CGEEngine::loadScript(const char *fname) {
error("Bad INI line %d [%s]", lcnt, fname);
}
+Sprite *CGEEngine::locate(int ref) {
+ Sprite *spr = _vga->_showQ->locate(ref);
+ return (spr) ? spr : _vga->_spareQ->locate(ref);
+}
+
+Sprite *CGEEngine::spriteAt(int x, int y) {
+ Sprite *spr = NULL, * tail = _vga->_showQ->last();
+ if (tail) {
+ for (spr = tail->_prev; spr; spr = spr->_prev) {
+ if (! spr->_flags._hide && ! spr->_flags._tran) {
+ if (spr->shp()->solidAt(x - spr->_x, y - spr->_y))
+ break;
+ }
+ }
+ }
+ return spr;
+}
+
void CGEEngine::mainLoop() {
_vga->show();
_snail_->runCom();