AVALANCHE: Upgrade Scrolls::normscroll().
This commit is contained in:
parent
dc1e9022b1
commit
4430e435d8
2 changed files with 78 additions and 75 deletions
|
@ -61,6 +61,76 @@ Avalot::Avalot(AvalancheEngine *vm) {
|
|||
_vm = vm;
|
||||
}
|
||||
|
||||
void Avalot::handleKeyDown(Common::Event &event) {
|
||||
//if (keyboardclick)
|
||||
// click();
|
||||
//
|
||||
// To be implemented later with the sounds, I assume.
|
||||
|
||||
if ((32 <= event.kbd.ascii) && (event.kbd.ascii <= 128) && (event.kbd.ascii != 47))
|
||||
_vm->_parser->handleInputText(event);
|
||||
else
|
||||
switch (event.kbd.keycode) { // We can control Avvy with the numpad as well.
|
||||
case Common::KEYCODE_KP8:
|
||||
event.kbd.keycode = Common::KEYCODE_UP;
|
||||
break;
|
||||
case Common::KEYCODE_KP2:
|
||||
event.kbd.keycode = Common::KEYCODE_DOWN;
|
||||
break;
|
||||
case Common::KEYCODE_KP6:
|
||||
event.kbd.keycode = Common::KEYCODE_RIGHT;
|
||||
break;
|
||||
case Common::KEYCODE_KP4:
|
||||
event.kbd.keycode = Common::KEYCODE_LEFT;
|
||||
break;
|
||||
case Common::KEYCODE_KP9:
|
||||
event.kbd.keycode = Common::KEYCODE_PAGEUP;
|
||||
break;
|
||||
case Common::KEYCODE_KP3:
|
||||
event.kbd.keycode = Common::KEYCODE_PAGEDOWN;
|
||||
break;
|
||||
case Common::KEYCODE_KP7:
|
||||
event.kbd.keycode = Common::KEYCODE_HOME;
|
||||
break;
|
||||
case Common::KEYCODE_KP1:
|
||||
event.kbd.keycode = Common::KEYCODE_END;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (event.kbd.keycode) {
|
||||
case Common::KEYCODE_UP:
|
||||
case Common::KEYCODE_DOWN:
|
||||
case Common::KEYCODE_RIGHT:
|
||||
case Common::KEYCODE_LEFT:
|
||||
case Common::KEYCODE_PAGEUP:
|
||||
case Common::KEYCODE_PAGEDOWN:
|
||||
case Common::KEYCODE_HOME:
|
||||
case Common::KEYCODE_END:
|
||||
case Common::KEYCODE_KP5:
|
||||
if (_vm->_gyro->alive) {
|
||||
_vm->_trip->handleMoveKey(event); // Fallthroughs are intended.
|
||||
_vm->_lucerna->showrw();
|
||||
if (_vm->_gyro->demo)
|
||||
_vm->_basher->get_demorec();
|
||||
return;
|
||||
}
|
||||
case Common::KEYCODE_BACKSPACE:
|
||||
_vm->_parser->handleBackspace();
|
||||
break;
|
||||
case Common::KEYCODE_RETURN:
|
||||
_vm->_parser->handleReturn();
|
||||
break;
|
||||
}
|
||||
|
||||
_vm->_lucerna->showrw();
|
||||
if (_vm->_gyro->demo)
|
||||
_vm->_basher->get_demorec();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
void Avalot::setup() {
|
||||
int16 gd, gm;
|
||||
|
@ -150,76 +220,6 @@ void Avalot::setup() {
|
|||
_vm->_visa->dixi('q', 83); // Info on the game, etc.
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Avalot::handleKeyDown(Common::Event &event) {
|
||||
//if (keyboardclick)
|
||||
// click();
|
||||
//
|
||||
// To be implemented later with the sounds, I assume.
|
||||
|
||||
if ((32 <= event.kbd.ascii) && (event.kbd.ascii <= 128) && (event.kbd.ascii != 47))
|
||||
_vm->_parser->handleInputText(event);
|
||||
else
|
||||
switch (event.kbd.keycode) { // We can control Avvy with the numpad as well.
|
||||
case Common::KEYCODE_KP8:
|
||||
event.kbd.keycode = Common::KEYCODE_UP;
|
||||
break;
|
||||
case Common::KEYCODE_KP2:
|
||||
event.kbd.keycode = Common::KEYCODE_DOWN;
|
||||
break;
|
||||
case Common::KEYCODE_KP6:
|
||||
event.kbd.keycode = Common::KEYCODE_RIGHT;
|
||||
break;
|
||||
case Common::KEYCODE_KP4:
|
||||
event.kbd.keycode = Common::KEYCODE_LEFT;
|
||||
break;
|
||||
case Common::KEYCODE_KP9:
|
||||
event.kbd.keycode = Common::KEYCODE_PAGEUP;
|
||||
break;
|
||||
case Common::KEYCODE_KP3:
|
||||
event.kbd.keycode = Common::KEYCODE_PAGEDOWN;
|
||||
break;
|
||||
case Common::KEYCODE_KP7:
|
||||
event.kbd.keycode = Common::KEYCODE_HOME;
|
||||
break;
|
||||
case Common::KEYCODE_KP1:
|
||||
event.kbd.keycode = Common::KEYCODE_END;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (event.kbd.keycode) {
|
||||
case Common::KEYCODE_UP:
|
||||
case Common::KEYCODE_DOWN:
|
||||
case Common::KEYCODE_RIGHT:
|
||||
case Common::KEYCODE_LEFT:
|
||||
case Common::KEYCODE_PAGEUP:
|
||||
case Common::KEYCODE_PAGEDOWN:
|
||||
case Common::KEYCODE_HOME:
|
||||
case Common::KEYCODE_END:
|
||||
case Common::KEYCODE_KP5:
|
||||
if (_vm->_gyro->alive) {
|
||||
_vm->_trip->handleMoveKey(event); // Fallthroughs are intended.
|
||||
_vm->_lucerna->showrw();
|
||||
if (_vm->_gyro->demo)
|
||||
_vm->_basher->get_demorec();
|
||||
return;
|
||||
}
|
||||
case Common::KEYCODE_BACKSPACE:
|
||||
_vm->_parser->handleBackspace();
|
||||
break;
|
||||
case Common::KEYCODE_RETURN:
|
||||
_vm->_parser->handleReturn();
|
||||
break;
|
||||
}
|
||||
|
||||
_vm->_lucerna->showrw();
|
||||
if (_vm->_gyro->demo)
|
||||
_vm->_basher->get_demorec();
|
||||
}
|
||||
|
||||
|
||||
|
||||
void Avalot::run(Common::String arg) {
|
||||
setup();
|
||||
|
||||
|
|
|
@ -161,12 +161,14 @@ void Scrolls::normscroll() {
|
|||
::Graphics::Surface temp;
|
||||
temp.copyFrom(_vm->_graphics->_surface);
|
||||
_vm->_graphics->_surface.copyFrom(_vm->_graphics->_scrolls); // TODO: Rework it using getSubArea !!!!!!!
|
||||
_vm->_graphics->refreshScreen();
|
||||
|
||||
|
||||
Common::Event event;
|
||||
while (!_vm->shouldQuit()) {
|
||||
_vm->_graphics->refreshScreen();
|
||||
|
||||
_vm->getEvent(event);
|
||||
if ((event.type == Common::EVENT_KEYDOWN) && ((event.kbd.keycode == Common::KEYCODE_ESCAPE) || (event.kbd.keycode == Common::KEYCODE_RETURN) || (event.kbd.keycode == Common::KEYCODE_HASH) || (event.kbd.keycode == Common::KEYCODE_PLUS)))
|
||||
if ((event.type == Common::EVENT_LBUTTONUP) ||
|
||||
((event.type == Common::EVENT_KEYDOWN) && ((event.kbd.keycode == Common::KEYCODE_ESCAPE) || (event.kbd.keycode == Common::KEYCODE_RETURN) || (event.kbd.keycode == Common::KEYCODE_HASH) || (event.kbd.keycode == Common::KEYCODE_PLUS))))
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -205,7 +207,8 @@ void Scrolls::normscroll() {
|
|||
//
|
||||
//#ifdef RECORD record_one(); #endif
|
||||
//
|
||||
//_vm->_gyro->screturn = r == '#'; /* "back door" */
|
||||
// _vm->_gyro->screturn = r == '#'; /* "back door" */
|
||||
|
||||
state(0);
|
||||
_vm->_gyro->seescroll = false;
|
||||
_vm->_lucerna->mousepage(_vm->_gyro->cp);
|
||||
|
@ -558,7 +561,7 @@ void Scrolls::bubble(func2 gotoit) {
|
|||
CursorMan.showMouse(false);
|
||||
_vm->_gyro->dropsok = true;
|
||||
|
||||
/*setvisualpage(cp);
|
||||
//setvisualpage(cp);
|
||||
CursorMan.showMouse(true); /*sink;*/
|
||||
_vm->_gyro->oncandopageswap = true;
|
||||
resetscrolldriver();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue