From e2e979897ed1aab48db4c8229e8b740756abfd16 Mon Sep 17 00:00:00 2001 From: uruk Date: Thu, 18 Jul 2013 22:35:55 +0200 Subject: AVALANCHE: Update Graph::drawSprite(), update Trip::axendor() accordingly, fix Trip::call_axendors(). --- engines/avalanche/graph.cpp | 5 ++++- engines/avalanche/graph.h | 2 +- engines/avalanche/trip6.cpp | 13 +++++-------- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/engines/avalanche/graph.cpp b/engines/avalanche/graph.cpp index 17462da874..af4f56d698 100644 --- a/engines/avalanche/graph.cpp +++ b/engines/avalanche/graph.cpp @@ -82,7 +82,10 @@ void Graph::drawLine(int x0, int y0, int x1, int y1, uint32 color) { _surface.drawLine(x0, y0, x1, y1, color); } -void Graph::drawSprite(const SpriteInfo &sprite) { +void Graph::drawSprite(const SpriteInfo &sprite, byte picnum, int16 x, int16 y) { + /* These 2 lines are here SOLELY for testing purposes. */ + Common::Rect r(x, y, x + sprite.xl, y + sprite.yl); + _surface.frameRect(r, magenta); warning("STUB: Graph::drawSprite()"); } diff --git a/engines/avalanche/graph.h b/engines/avalanche/graph.h index 01be7b18d4..bd3418e005 100644 --- a/engines/avalanche/graph.h +++ b/engines/avalanche/graph.h @@ -75,7 +75,7 @@ public: void drawLine(int x0, int y0, int x1, int y1, uint32 color); - void drawSprite(const SpriteInfo &sprite); + void drawSprite(const SpriteInfo &sprite, byte picnum, int16 x, int16 y); // Must free the returned pointer!!! Graphics::Surface *readImage(const byte *source); diff --git a/engines/avalanche/trip6.cpp b/engines/avalanche/trip6.cpp index 9cf85f2759..41abf8cd45 100644 --- a/engines/avalanche/trip6.cpp +++ b/engines/avalanche/trip6.cpp @@ -142,14 +142,11 @@ void triptype::original() { } void triptype::andexor() { - - - if ((vanishifstill) && (ix == 0) && (iy == 0)) return; byte picnum = face * a.seq + step + 1; - _tr->_vm->_graph.drawSprite(_info); + _tr->_vm->_graph.drawSprite(_info, picnum, x, y); } void triptype::turn(byte whichway) { @@ -404,7 +401,7 @@ void Trip::setParent(AvalancheEngine *vm) { void Trip::loadtrip() { byte gm; - for (gm = 1; gm <= numtr; gm++) + for (gm = 0; gm < numtr; gm++) tr[gm].original(); for (int i = 0; i < sizeof(aa); i++) @@ -1255,12 +1252,12 @@ void Trip::geida_procs(byte tripnum) { /* That's all... */ void Trip::call_andexors() { - byte order[5]; + int8 order[5]; byte fv, temp; bool ok; for (int i = 0; i < 5; i++) - order[i] = 0; + order[i] = -1; for (fv = 0; fv < numtr; fv++) { if (tr[fv].quick && tr[fv].visible) @@ -1282,7 +1279,7 @@ void Trip::call_andexors() { } while (!ok); for (fv = 0; fv < 5; fv++) { - if (order[fv] > 0) + if (order[fv] > -1) tr[order[fv]].andexor(); } } -- cgit v1.2.3