diff options
Diffstat (limited to 'engines/hugo/schedule_v2d.cpp')
-rw-r--r-- | engines/hugo/schedule_v2d.cpp | 142 |
1 files changed, 0 insertions, 142 deletions
diff --git a/engines/hugo/schedule_v2d.cpp b/engines/hugo/schedule_v2d.cpp deleted file mode 100644 index 1e651ceada..0000000000 --- a/engines/hugo/schedule_v2d.cpp +++ /dev/null @@ -1,142 +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. - * - * $URL$ - * $Id$ - * - */ - -/* - * This code is based on original Hugo Trilogy source code - * - * Copyright (c) 1989-1995 David P. Gray - * - */ - -// This module contains all the scheduling and timing stuff - -#include "common/system.h" - -#include "hugo/game.h" -#include "hugo/hugo.h" -#include "hugo/schedule.h" -#include "hugo/global.h" -#include "hugo/file.h" -#include "hugo/display.h" -#include "hugo/util.h" - -namespace Hugo { - -Scheduler_v2d::Scheduler_v2d(HugoEngine *vm) : Scheduler_v1d(vm) { -} - -Scheduler_v2d::~Scheduler_v2d() { -} - -const char *Scheduler_v2d::getCypher() { - return "Copyright 1991, Gray Design Associates"; -} - -/** -* Delete an event structure (i.e. return it to the free list) -* Historical note: Originally event p was assumed to be at head of queue -* (i.e. earliest) since all events were deleted in order when proceeding to -* a new screen. To delete an event from the middle of the queue, the action -* was overwritten to be ANULL. With the advent of GLOBAL events, delQueue -* was modified to allow deletes anywhere in the list, and the DEL_EVENT -* action was modified to perform the actual delete. -*/ -void Scheduler_v2d::delQueue(event_t *curEvent) { - debugC(4, kDebugSchedule, "delQueue()"); - - if (curEvent == _headEvent) { // If p was the head ptr - _headEvent = curEvent->nextEvent; // then make new head_p - } else { // Unlink p - curEvent->prevEvent->nextEvent = curEvent->nextEvent; - if (curEvent->nextEvent) - curEvent->nextEvent->prevEvent = curEvent->prevEvent; - else - _tailEvent = curEvent->prevEvent; - } - - if (_headEvent) - _headEvent->prevEvent = 0; // Mark end of list - else - _tailEvent = 0; // Empty queue - - curEvent->nextEvent = _freeEvent; // Return p to free list - if (_freeEvent) // Special case, if free list was empty - _freeEvent->prevEvent = curEvent; - _freeEvent = curEvent; -} - -void Scheduler_v2d::delEventType(action_t actTypeDel) { - // Note: actions are not deleted here, simply turned into NOPs! - event_t *wrkEvent = _headEvent; // The earliest event - event_t *saveEvent; - - while (wrkEvent) { // While events found in list - saveEvent = wrkEvent->nextEvent; - if (wrkEvent->action->a20.actType == actTypeDel) - delQueue(wrkEvent); - wrkEvent = saveEvent; - } -} - -void Scheduler_v2d::promptAction(act *action) { - Utils::Box(BOX_PROMPT, "%s", _vm->_file->fetchString(action->a3.promptIndex)); - warning("STUB: doAction(act3), expecting answer %s", _vm->_file->fetchString(action->a3.responsePtr[0])); - - // TODO: The answer of the player is not handled currently! Once it'll be read in the messageBox, uncomment this block -#if 0 - char *response = Utils::Box(BOX_PROMPT, "%s", _vm->_file->fetchString(action->a3.promptIndex)); - - bool found = false; - char *tmpStr; // General purpose string ptr - - for (dx = 0; !found && (action->a3.responsePtr[dx] != -1); dx++) { - tmpStr = _vm->_file->fetchString(action->a3.responsePtr[dx]); - if (strstr(Utils::strlwr(response) , tmpStr)) - found = true; - } - - if (found) - insertActionList(action->a3.actPassIndex); - else - insertActionList(action->a3.actFailIndex); -#endif - - // HACK: As the answer is not read, currently it's always considered correct - insertActionList(action->a3.actPassIndex); -} - -/** -* Decode a string -*/ -void Scheduler_v2d::decodeString(char *line) { - debugC(1, kDebugSchedule, "decodeString(%s)", line); - - static const char *cypher = getCypher(); - - for (uint16 i = 0; i < strlen(line); i++) - line[i] -= cypher[i % strlen(cypher)]; - debugC(1, kDebugSchedule, "result : %s", line); -} -} // End of namespace Hugo |