aboutsummaryrefslogtreecommitdiff
path: root/engines/tinsel/scroll.h
diff options
context:
space:
mode:
authorFilippos Karapetis2008-12-01 20:35:36 +0000
committerFilippos Karapetis2008-12-01 20:35:36 +0000
commitaf945ac7881ae7e414f004bd0e99e8c3b5d76be9 (patch)
tree72e9c6fd43406e2021973b4f163ab4faa10143fb /engines/tinsel/scroll.h
parentf10f151ff742801e12534bb052bd89419bf906cb (diff)
downloadscummvm-rg350-af945ac7881ae7e414f004bd0e99e8c3b5d76be9.tar.gz
scummvm-rg350-af945ac7881ae7e414f004bd0e99e8c3b5d76be9.tar.bz2
scummvm-rg350-af945ac7881ae7e414f004bd0e99e8c3b5d76be9.zip
Merged the tinsel 2 engine with tinsel 1. Both Discworld 1 and Discworld 2 should be completable
svn-id: r35196
Diffstat (limited to 'engines/tinsel/scroll.h')
-rw-r--r--engines/tinsel/scroll.h25
1 files changed, 20 insertions, 5 deletions
diff --git a/engines/tinsel/scroll.h b/engines/tinsel/scroll.h
index ac903157f2..864fe74beb 100644
--- a/engines/tinsel/scroll.h
+++ b/engines/tinsel/scroll.h
@@ -30,8 +30,10 @@ namespace Tinsel {
#define SCROLLPIXELS 8 // Number of pixels to scroll per iteration
-#define RLDISTANCE 50 // Distance from edge that triggers a scroll
-#define UDDISTANCE 20
+// Distance from edge that triggers a scroll
+#define RLDISTANCE (TinselV2 ? sd.xTrigger : 50)
+#define UDISTANCE (TinselV2 ? sd.yTriggerTop : 20)
+#define DDISTANCE (TinselV2 ? sd.yTriggerBottom : 20)
// Number of iterations to make
#define RLSCROLL 160 // 20*8 = 160 = half a screen
@@ -52,26 +54,39 @@ struct SCROLLDATA{
NOSCROLLB NoVScroll[MAX_VNOSCROLL]; // Vertical no-scroll boundaries
NOSCROLLB NoHScroll[MAX_HNOSCROLL]; // Horizontal no-scroll boundaries
unsigned NumNoV, NumNoH; // Counts of no-scroll boundaries
+ // DW2 fields
+ int xTrigger;
+ int xDistance;
+ int xSpeed;
+ int yTriggerTop;
+ int yTriggerBottom;
+ int yDistance;
+ int ySpeed;
};
-
void DontScrollCursor(void);
void DoScrollCursor(void);
void SetNoScroll(int x1, int y1, int x2, int y2);
-void DropNoScrolls(void);
+void DropScroll(void);
void ScrollProcess(CORO_PARAM, const void *);
void ScrollFocus(int actor);
-void ScrollTo(int x, int y, int iter);
+int GetScrollFocus(void);
+void ScrollTo(int x, int y, int xIter, int yIter);
void KillScroll(void);
void GetNoScrollData(SCROLLDATA *ssd);
void RestoreNoScrollData(SCROLLDATA *ssd);
+void SetScrollParameters(int xTrigger, int xDistance, int xSpeed, int yTriggerTop,
+ int yTriggerBottom, int yDistance, int ySpeed);
+
+bool IsScrolling(void);
+
} // end of namespace Tinsel
#endif /* TINSEL_SCROLL_H */