aboutsummaryrefslogtreecommitdiff
path: root/engines/hugo/schedule_v1d.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/hugo/schedule_v1d.cpp')
-rw-r--r--engines/hugo/schedule_v1d.cpp147
1 files changed, 0 insertions, 147 deletions
diff --git a/engines/hugo/schedule_v1d.cpp b/engines/hugo/schedule_v1d.cpp
deleted file mode 100644
index 817eaf019c..0000000000
--- a/engines/hugo/schedule_v1d.cpp
+++ /dev/null
@@ -1,147 +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/file.h"
-#include "hugo/display.h"
-#include "hugo/util.h"
-
-namespace Hugo {
-
-Scheduler_v1d::Scheduler_v1d(HugoEngine *vm) : Scheduler(vm) {
-}
-
-Scheduler_v1d::~Scheduler_v1d() {
-}
-
-const char *Scheduler_v1d::getCypher() {
- return "Copyright (c) 1990, Gray Design Associates";
-}
-
-uint32 Scheduler_v1d::getTicks() {
- return getDosTicks(false);
-}
-
-/**
-* Delete an event structure (i.e. return it to the free list)
-* Note that event is assumed at head of queue (i.e. earliest). To delete
-* an event from the middle of the queue, merely overwrite its action type
-* to be ANULL
-*/
-void Scheduler_v1d::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
-
- 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;
-}
-
-/**
-* This is the scheduler which runs every tick. It examines the event queue
-* for any events whose time has come. It dequeues these events and performs
-* the action associated with the event, returning it to the free queue
-*/
-void Scheduler_v1d::runScheduler() {
- debugC(6, kDebugSchedule, "runScheduler");
-
- uint32 ticker = getTicks(); // The time now, in ticks
- event_t *curEvent = _headEvent; // The earliest event
-
- while (curEvent && (curEvent->time <= ticker)) // While mature events found
- curEvent = doAction(curEvent); // Perform the action (returns next_p)
-}
-
-void Scheduler_v1d::delEventType(action_t actTypeDel) {
- // Note: actions are not deleted here, simply turned into NOPs!
- event_t *wrkEvent = _headEvent; // The earliest event
- while (wrkEvent) { // While events found in list
- if (wrkEvent->action->a20.actType == actTypeDel)
- wrkEvent->action->a20.actType = ANULL;
- wrkEvent = wrkEvent->nextEvent;
- }
-}
-
-void Scheduler_v1d::promptAction(act *action) {
- Utils::Box(BOX_PROMPT, "%s", _vm->_file->fetchString(action->a3.promptIndex));
-
- warning("STUB: doAction(act3)");
- // 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[256];
- // TODO: Put user input in response
-
- Utils::strlwr(response);
- if (action->a3.encodedFl) {
- warning("Encrypted flag set");
- decodeString(response);
- }
-
- if (strstr(response, _vm->_file->fetchString(action->a3.responsePtr[0]))
- 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 response to a prompt
-*/
-void Scheduler_v1d::decodeString(char *line) {
- debugC(1, kDebugSchedule, "decodeString(%s)", line);
-
- static const char *cypher = getCypher();
-
- for(uint16 i = 0; i < strlen(line); i++) {
- line[i] = (line[i] + cypher[i]) % '~';
- if (line[i] < ' ')
- line[i] += ' ';
- }
-}
-} // End of namespace Hugo