aboutsummaryrefslogtreecommitdiff
path: root/engines/mortevielle/droite.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2011-12-26 17:32:59 +0000
committerStrangerke2012-04-06 08:18:14 +0200
commite6a0c23d2c57461305906cb4c62b2b6962915264 (patch)
treee3300420f52afca4ec48c54a6d3b83b6b6a67697 /engines/mortevielle/droite.cpp
parent9b6a4264dcaa26d87fa099c0a0dadbb8e37a6241 (diff)
downloadscummvm-rg350-e6a0c23d2c57461305906cb4c62b2b6962915264.tar.gz
scummvm-rg350-e6a0c23d2c57461305906cb4c62b2b6962915264.tar.bz2
scummvm-rg350-e6a0c23d2c57461305906cb4c62b2b6962915264.zip
MORTEVIELLE: Rename *.h -> *.cpp where they really belong
Diffstat (limited to 'engines/mortevielle/droite.cpp')
-rw-r--r--engines/mortevielle/droite.cpp34
1 files changed, 34 insertions, 0 deletions
diff --git a/engines/mortevielle/droite.cpp b/engines/mortevielle/droite.cpp
new file mode 100644
index 0000000000..8d254a4afc
--- /dev/null
+++ b/engines/mortevielle/droite.cpp
@@ -0,0 +1,34 @@
+void droite(integer x, integer y, integer xx, integer yy, integer coul) {
+ integer step, i;
+ real a, b;
+ real xr, yr, xro, yro;
+
+ xr = x;
+ yr = y;
+ xro = xx;
+ yro = yy;
+ /*writeln(le_file,'(',x:4,',',y:4,') ==> (',xx:4,',',yy:4,')');*/
+ if (abs(y - yy) > abs(x - xx)) {
+ a = (real)((x - xx)) / (y - yy);
+ b = (yr * xro - yro * xr) / (y - yy);
+ i = y;
+ if (y > yy) step = -1;
+ else step = 1;
+ do {
+ putpix(gd, trunc(a * i + b), i, coul);
+ i = i + step;
+ } while (!(i == yy));
+ /*writeln(le_file,'X == ',a:3:3,' * Y + ',b:3:3);*/
+ } else {
+ a = (real)((y - yy)) / (x - xx);
+ b = ((yro * xr) - (yr * xro)) / (x - xx);
+ i = x;
+ if (x > xx) step = -1;
+ else step = 1;
+ do {
+ putpix(gd, i, trunc(a * i + b), coul);
+ i = i + step;
+ } while (!(i == xx));
+ /*writeln(le_file,'Y == ',a:3:3,' * X + ',b:3:3);*/
+ }
+} \ No newline at end of file