aboutsummaryrefslogtreecommitdiff
path: root/engines/avalanche/clock.cpp
diff options
context:
space:
mode:
authoruruk2013-06-17 10:38:38 +0200
committeruruk2013-06-17 10:38:38 +0200
commita2adda516bdf790651283201a666f253a8bfcc49 (patch)
treebdc6479a6889d15d1b25e47e28f0c86f093a9610 /engines/avalanche/clock.cpp
parent2f0e43bb2e402bbcf65175934d21ade6febaad60 (diff)
downloadscummvm-rg350-a2adda516bdf790651283201a666f253a8bfcc49.tar.gz
scummvm-rg350-a2adda516bdf790651283201a666f253a8bfcc49.tar.bz2
scummvm-rg350-a2adda516bdf790651283201a666f253a8bfcc49.zip
AVALANCHE: Initial PtoC output.
Diffstat (limited to 'engines/avalanche/clock.cpp')
-rw-r--r--engines/avalanche/clock.cpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/engines/avalanche/clock.cpp b/engines/avalanche/clock.cpp
new file mode 100644
index 0000000000..16ec6f552b
--- /dev/null
+++ b/engines/avalanche/clock.cpp
@@ -0,0 +1,60 @@
+#include "ptoc.h"
+
+
+/*#include "Dos.h"*/
+#include "graph.h"
+/*#include "Crt.h"*/
+
+const integer xm = 511; const integer ym = 184;
+integer gd,gm;
+word oh,om,/*os,*/h,m,s,s1; char r;
+
+void hand(word ang,word length, byte colour)
+{
+ arccoordstype a;
+;
+ if (ang>900) return;
+ setcolor(colour);
+ arc(xm,ym,449-ang,450-ang,length);
+ getarccoords(a);
+ line(xm,ym,a.xend,a.yend); /* "With a do-line???!", Liz said */
+}
+
+void chime()
+{
+ integer gd,gm,fv;
+;
+ if (oh>177) return; /* too high- must be first time around */
+ fv=h / 30; if (fv==0) fv=12;
+ for( gd=1; gd <= fv; gd ++)
+ {;
+ for( gm=1; gm <= 3; gm ++)
+ {;
+ sound(140-gm*30); delay(50-gm*3);
+ }
+ nosound; if ((cardinal)gd!=oh) delay(100);
+ }
+}
+
+void plothands()
+{;
+ hand(oh,17,brown);
+ hand(h,17,yellow);
+ hand(om*6,20,brown);
+ hand(m*6,20,yellow);
+}
+
+int main(int argc, const char* argv[])
+{pio_initialize(argc, argv);
+;
+ gd=3; gm=0; initgraph(gd,gm,"");
+ setfillstyle(1,6); bar(0,0,640,200); oh=17717; om=17717;
+ do {
+ gettime(h,m,s,s1);
+ h=(h % 12)*30+m / 2;
+ if (oh!=h) {; plothands(); chime(); }
+ if (om!=m) plothands();
+ oh=h; om=m;
+ } while (!false);
+return EXIT_SUCCESS;
+} \ No newline at end of file