aboutsummaryrefslogtreecommitdiff
path: root/engines/avalanche/makevmou.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/avalanche/makevmou.cpp')
-rw-r--r--engines/avalanche/makevmou.cpp303
1 files changed, 0 insertions, 303 deletions
diff --git a/engines/avalanche/makevmou.cpp b/engines/avalanche/makevmou.cpp
deleted file mode 100644
index 4d3b3ba22f..0000000000
--- a/engines/avalanche/makevmou.cpp
+++ /dev/null
@@ -1,303 +0,0 @@
-/* ScummVM - Graphic Adventure Engine
- *
- * ScummVM is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
-
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
-
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-/*
- * This code is based on the original source code of Lord Avalot d'Argent version 1.3.
- * Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman.
- */
-
-#include "graph.h"
-/*#include "Squeak.h"*/
-/*#include "Crt.h"*/
-
-/*$R+*/
-namespace Avalanche {
-
-struct mp { /* mouse-pointer */
- matrix<0, 1, 0, 15, word> mask;
- integer horzhotspot, verthotspot;
-};
-
-struct vmctype { /* Virtual Mouse Cursor */
- pointer andpic, xorpic;
- array<0, 1, pointer> backpic;
- array<0, 1, pointtype> wherewas;
- byte picnumber;
- shortint ofsx, ofsy;
-};
-
-const array<1, 9, arrowtype> mps = {
- { {
- /* 1 - up-arrow */
- ((65151, 64575, 64575, 63519, 63519, 61455, 61455, 57351, 57351, 49155, 49155, 64575, 64575, 64575, 64575, 64575),
- (0, 384, 384, 960, 960, 2016, 2016, 4080, 4080, 8184, 384, 384, 384, 384, 384, 0)),
- 8,
- 0
- },
-
- {
- /* 2 - screwdriver */
- ((8191, 4095, 2047, 34815, 50175, 61951, 63743, 64543, 65039, 65031, 65027, 65281, 65408, 65472, 65505, 65523),
- (0, 24576, 28672, 12288, 2048, 1024, 512, 256, 224, 176, 216, 96, 38, 10, 12, 0)),
- 0,
- 0
- },
-
- {
- /* 3 - right-arrow */
- ((65535, 65535, 64639, 64543, 7, 1, 0, 1, 7, 64543, 64639, 65535, 65535, 65535, 65535, 65535),
- (0, 0, 0, 384, 480, 32760, 32766, 32760, 480, 384, 0, 0, 0, 0, 0, 0)),
- 15,
- 6
- },
-
- {
- /* 4 - fletch */
- ((255, 511, 1023, 2047, 1023, 4607, 14591, 31871, 65031, 65283, 65281, 65280, 65280, 65409, 65473, 65511),
- (0, 10240, 20480, 24576, 26624, 17408, 512, 256, 128, 88, 32, 86, 72, 20, 16, 0)),
- 0,
- 0
- },
-
- {
- /* 5 - hourglass */
- ((0, 0, 0, 34785, 50115, 61455, 61455, 63519, 63519, 61839, 61455, 49155, 32769, 0, 0, 0),
- (0, 32766, 16386, 12300, 2064, 1440, 1440, 576, 576, 1056, 1440, 3024, 14316, 16386, 32766, 0)),
- 8,
- 7
- },
-
- {
- /* 6 - TTHand */
- ((62463, 57855, 57855, 57855, 57471, 49167, 32769, 0, 0, 0, 0, 32768, 49152, 57344, 61441, 61443),
- (3072, 4608, 4608, 4608, 4992, 12912, 21070, 36937, 36873, 36865, 32769, 16385, 8193, 4097, 2050, 4092)),
- 4,
- 0
- },
-
- {
- /* 7- Mark's crosshairs */
- ((65535, 65151, 65151, 65151, 65151, 0, 65151, 65151, 65151, 65151, 65535, 65535, 65535, 65535, 65535, 65535),
- (0, 384, 384, 384, 384, 65535, 384, 384, 384, 384, 0, 0, 0, 0, 0, 0)),
- 8,
- 5
- },
-
- {
- /* 8- I-beam. */
- ((65535, 65535, 63631, 63503, 63503, 65087, 65087, 65087, 65087, 65087, 63503, 63503, 63631, 65535, 65535, 65535),
- (0, 0, 0, 864, 128, 128, 128, 128, 128, 128, 128, 864, 0, 0, 0, 0)),
- 8,
- 7
- },
-
- {
- /* 9- Question mark. */
- ((511, 1023, 2047, 31, 15, 8199, 32647, 65415, 63503, 61471, 61503, 61695, 63999, 63999, 61695, 61695),
- (65024, 33792, 34816, 34784, 40976, 57224, 32840, 72, 1936, 2080, 2496, 2304, 1536, 1536, 2304, 3840)),
- 0,
- 0
- }
- }
-};
-
-const integer mouse_size = 134;
-
-const array<1, 134, char> mice_header =
- string("Mouse file copyright (c) 1993. I saw a mouse! Where? SQUEEAAAKK!!! Cheese ") + /* 74 */
- "cheese cheese. Cheddar, Stilton, Double Gloucester. Squeak." +'\32'; /* 60 */
-
-integer gd, gm;
-matrix<0, 50, 1, 40, word> a /*absolute $A000:0i*/;
-byte fv;
-vmctype vmc;
-byte plot;
-integer plx, ply;
-
-word swapbits(word a) {
- word swapbits_result;
- swapbits_result = lo(a) * 256 + hi(a);
- return swapbits_result;
-}
-
-void plot_vmc(integer xx, integer yy, byte page_) {
- {
- xx = xx + vmc.ofsx;
- yy = yy + vmc.ofsy;
-
- getimage(xx, yy, xx + 15, yy + 15, vmc.backpic[page_]);
- putimage(xx, yy, vmc.andpic, andput);
- putimage(xx, yy, vmc.xorpic, xorput);
- {
- pointtype &with1 = vmc.wherewas[page_];
- with1.x = xx;
- with1.y = yy;
- }
- }
-}
-
-void wipe_vmc(byte page_) {
- {
- pointtype &with1 = vmc.wherewas[page_];
- if (with1.x != maxint)
- putimage(with1.x, with1.y, vmc.backpic[page_], 0);
- }
-}
-
-void setup_vmc() {
- byte fv;
- /* gd:=imagesize(0,0,15,15);*/
-
- {
- getmem(vmc.andpic, mouse_size);
- getmem(vmc.xorpic, mouse_size);
-
- for (fv = 0; fv <= 1; fv ++) {
- getmem(vmc.backpic[fv], mouse_size);
- vmc.wherewas[fv].x = maxint;
- }
- }
-}
-
-void show_off_mouse() {
-
- setcolor(14);
- settextstyle(0, 0, 2);
-
- for (gm = 0; gm <= 1; gm ++) {
- setactivepage(gm);
- setfillstyle(1, blue);
- bar(0, 0, getmaxx(), getmaxy());
- outtextxy(400, 20, chr(48 + gm));
- }
-
- gd = 0;
- do {
- setactivepage(gd);
- setvisualpage(1 - gd);
- gd = 1 - gd;
-
- delay(56);
-
- getbuttonstatus;
- wipe_vmc(gd);
-
- if (plot > 0) {
- putpixel(plx, ply, red);
- plot -= 1;
- }
-
- plot_vmc(mx, my, gd);
-
- if ((mkey == left) && (plot == 0)) {
- plot = 2;
- plx = mx;
- ply = my;
- }
-
- } while (!(mkey == right));
-
- for (gm = 0; gm <= 1; gm ++) {
- setactivepage(1 - gm);
- wipe_vmc(gm);
- }
-
- setvisualpage(0);
- setactivepage(0);
-}
-
-void grab_cursor(byte n) {
- getimage(32 * n - 16, 0, 32 * n - 1, 15, vmc.andpic);
- getimage(32 * n - 16, 20, 32 * n - 1, 35, vmc.xorpic);
-}
-
-void save_mice() {
- untyped_file f;
- byte fv;
- assign(f, "v:mice.avd");
- rewrite(f, 1);
-
- blockwrite(f, mice_header, mouse_size);
-
- for (fv = 1; fv <= 9; fv ++) {
- grab_cursor(fv);
- putimage(100, 100, vmc.xorpic, 0);
- blockwrite(f, vmc.andpic, mouse_size);
- blockwrite(f, vmc.xorpic, mouse_size);
- }
-
- close(f);
-}
-
-void load_a_mouse(byte which) {
- untyped_file f;
- assign(f, "v:mice.avd");
- reset(f, 1);
- seek(f, mouse_size * 2 * (which - 1) + 134);
-
- {
- blockread(f, vmc.andpic, mouse_size);
- blockread(f, vmc.xorpic, mouse_size);
- close(f);
- {
- void &with1 = mps[which];
- vmc.ofsx = -horzhotspot;
- vmc.ofsy = -verthotspot;
-
- setminmaxhorzcurspos(horzhotspot, 624 + horzhotspot);
- setminmaxvertcurspos(verthotspot, 199);
- }
- }
-
-}
-
-void draw_mouse_cursors() {
- for (fv = 1; fv <= 9; fv ++)
- for (gm = 0; gm <= 1; gm ++)
- for (gd = 0; gd <= 15; gd ++)
- a[gd + gm * 20][fv * 2] = swapbits(mps[fv].mask[gm][gd]);
-}
-
-int main(int argc, const char *argv[]) {
- pio_initialize(argc, argv);
- gd = 3;
- gm = 0;
- initgraph(gd, gm, "c:\\bp\\bgi");
- resetmouse;
- setup_vmc();
-
- draw_mouse_cursors();
-
-
- save_mice();
-
- /* grab_cursor(3);*/
- /* load_a_mouse(4);
- setgraphicscursor(mps[4]);
-
- show_off_mouse;
- on; repeat getbuttonstatus until mkey=left; off;
- show_off_mouse;*/
- return EXIT_SUCCESS;
-}
-
-} // End of namespace Avalanche. \ No newline at end of file