aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoruruk2013-07-02 13:21:41 +0200
committeruruk2013-07-02 13:21:41 +0200
commite4e3574b9178aefaf05744810a401bcfc7e9f9e9 (patch)
treed482c05bfee82b5a0312881c11ab411188c9bb0e
parent76423aa712006363ef02be0cddd592e9cba4f710 (diff)
downloadscummvm-rg350-e4e3574b9178aefaf05744810a401bcfc7e9f9e9.tar.gz
scummvm-rg350-e4e3574b9178aefaf05744810a401bcfc7e9f9e9.tar.bz2
scummvm-rg350-e4e3574b9178aefaf05744810a401bcfc7e9f9e9.zip
AVALANCHE: Finish stubbing of Avalot.
-rw-r--r--engines/avalanche/avalot.cpp148
1 files changed, 132 insertions, 16 deletions
diff --git a/engines/avalanche/avalot.cpp b/engines/avalanche/avalot.cpp
index 11186d0357..34b69bf052 100644
--- a/engines/avalanche/avalot.cpp
+++ b/engines/avalanche/avalot.cpp
@@ -25,36 +25,152 @@
* Copyright (c) 1994-1995 Mike, Mark and Thomas Thurman.
*/
-#include "common/str.h"
-#include "common/textconsole.h"
-
#include "avalanche/avalanche.h"
+
#include "avalanche/avalot.h"
#include "avalanche/gyro2.h"
+#include "avalanche/trip6.h"
+#include "avalanche/gyro2.h"
+#include "avalanche/lucerna2.h"
+#include "avalanche/scrolls2.h"
+#include "avalanche/basher2.h"
+#include "avalanche/dropdown2.h"
+#include "avalanche/pingo2.h"
+#include "avalanche/logger2.h"
+#include "avalanche/timeout2.h"
+#include "avalanche/celer2.h"
+#include "avalanche/enid2.h"
+#include "avalanche/visa2.h"
+
+/*#include "Incline.h"*/
+/*#include "Closing.h"*/
+
+#include "common/str.h"
+#include "common/textconsole.h"
namespace Avalanche {
- Avalot::Avalot() {
- int16 gd, gm;
+Avalot::Avalot() {
+ int16 gd, gm;
- checkbreak = false;
- _vm->_gyro.visible = _vm->_gyro.m_no;
- _vm->_gyro.to_do = 0;
- _vm->_gyro.lmo = false;
- // resetscroll(); Needs scrolls "unit" to make it work.
+ checkbreak = false;
+ _vm->_gyro.visible = _vm->_gyro.m_no;
+ _vm->_gyro.to_do = 0;
+ _vm->_gyro.lmo = false;
+ _vm->_scrolls.resetscroll();
+ _vm->_gyro.setup_vmc();
+ _vm->_gyro.on_virtual();
+ gd = 3;
+ gm = 0;
+ //initgraph(gd, gm, "");
+ _vm->_gyro.holdthedawn = true;
+ _vm->_lucerna.dusk();
+ _vm->_gyro.cmp = 177;
+ _vm->_lucerna.mouse_init(); /*on;*/
+ _vm->_gyro.dropsok = true;
+ _vm->_gyro.ctrl = ckey;
+ _vm->_gyro.oldjw = 177;
+ _vm->_gyro.mousetext = "";
+ _vm->_gyro.c = 999;
+ //settextjustify(0, 0);
+ _vm->_gyro.ddmnow = false;
+ _vm->_lucerna.load_digits();
+ _vm->_gyro.cheat = false;
+ _vm->_gyro.cp = 0;
+ _vm->_gyro.curpos = 1;
+ _vm->_gyro.quote = true;
+ _vm->_gyro.ledstatus = 177;
+ _vm->_gyro.defaultled = 2;
+ /* TSkellern:=0; { Replace with a more local variable sometime }*/
+ _vm->_gyro.dna.rw = _vm->_gyro.stopped;
+ _vm->_gyro.enid_filename = ""; /* undefined. */
+ _vm->_lucerna.toolbar();
+ _vm->_scrolls.state(2);
+ _vm->_pingo.copy03();
+ _vm->_gyro.lastscore = "TJA";
- warning("STUB: Avalot::Avalot()");
+ /* for gd:=0 to 1 do
+ begin
+ setactivepage(gd); outtextxy(7,177,chr(48+gd));
+ end;*/
+ _vm->_trip.loadtrip();
+ if ((_vm->_gyro.filetoload == "") && (! _vm->_gyro.reloaded))
+ _vm->_gyro.newgame(); /* no game was requested- load the default */
+ else {
+ if (! _vm->_gyro.reloaded)
+ _vm->_enid.avvy_background();
+ _vm->_dropdown.standard_bar();
+ _vm->_lucerna.sprite_run();
+ if (_vm->_gyro.reloaded)
+ _vm->_enid.edna_reload();
+ else {
+ /* Filename given on the command line (or loadfirst) */
+ _vm->_enid.edna_load(_vm->_gyro.filetoload);
+ if (_vm->_enid.there_was_a_problem()) {
+ _vm->_scrolls.display("So let's start from the beginning instead...");
+ _vm->_gyro.holdthedawn = true;
+ _vm->_lucerna.dusk();
+ _vm->_gyro.newgame();
+ }
+ }
}
- void Avalot::setParent(AvalancheEngine *vm) {
- _vm = vm;
+ if (! _vm->_gyro.reloaded) {
+ _vm->_gyro.soundfx = ! _vm->_gyro.soundfx;
+ _vm->_lucerna.fxtoggle();
+ _vm->_lucerna.thinkabout(_vm->_gyro.money, _vm->_gyro.a_thing);
}
+ _vm->_trip.get_back_loretta();
+ //gm = getpixel(0, 0);
+ //setcolor(7);
+ _vm->_gyro.holdthedawn = false;
+ _vm->_lucerna.dawn();
+ _vm->_gyro.cursoron = false;
+ _vm->_basher.cursor_on();
+ _vm->_trip.newspeed();
- void Avalot::run(Common::String arg) {
- warning("STUB: Avalot::run(%s)", arg.c_str());
- }
+ if (! _vm->_gyro.reloaded)
+ _vm->_visa.dixi('q', 83); /* Info on the game, etc. */
+}
+
+void Avalot::setParent(AvalancheEngine *vm) {
+ _vm = vm;
+}
+
+
+void Avalot::run(Common::String arg) {
+ warning("STUB: Avalot::run(%s)", arg.c_str());
+
+ do {
+ _vm->_lucerna.clock_lucerna();
+ _vm->_basher.keyboard_link();
+ _vm->_dropdown.menu_link();
+ _vm->_trip.readstick();
+ _vm->_gyro.force_numlock();
+ _vm->_trip.get_back_loretta();
+ _vm->_trip.trippancy_link();
+ _vm->_celer.pics_link();
+ _vm->_lucerna.checkclick();
+
+ if (_vm->_gyro.visible == _vm->_gyro.m_virtual)
+ _vm->_gyro.plot_vmc(_vm->_gyro.mx, _vm->_gyro.my, _vm->_gyro.cp);
+ _vm->_lucerna.flip_page(); /* <<<! */
+ _vm->_gyro.slowdown();
+ if (_vm->_gyro.visible == _vm->_gyro.m_virtual)
+ _vm->_gyro.wipe_vmc(_vm->_gyro.cp);
+
+ _vm->_timeout.one_tick();
+
+ } while (! _vm->_gyro.lmo);
+
+ //restorecrtmode();
+ //if (logging)
+ // close(logfile);
+
+ _vm->_closing.end_of_program();
+}
} // End of namespace Avalanche