diff options
author | Paweł Kołodziejski | 2004-05-09 13:12:19 +0000 |
---|---|---|
committer | Paweł Kołodziejski | 2004-05-09 13:12:19 +0000 |
commit | f74a675850be9aa7066e491bffac88c9595477d2 (patch) | |
tree | e50067aa183deb8716e82e7b80234422695ecf32 /awe/engine.cpp | |
parent | 7804b57632e3e4eb57971f2a95fa873ef11866ea (diff) | |
download | scummvm-rg350-f74a675850be9aa7066e491bffac88c9595477d2.tar.gz scummvm-rg350-f74a675850be9aa7066e491bffac88c9595477d2.tar.bz2 scummvm-rg350-f74a675850be9aa7066e491bffac88c9595477d2.zip |
removed awe based on Endy statement
svn-id: r13809
Diffstat (limited to 'awe/engine.cpp')
-rw-r--r-- | awe/engine.cpp | 145 |
1 files changed, 0 insertions, 145 deletions
diff --git a/awe/engine.cpp b/awe/engine.cpp deleted file mode 100644 index ab8b60dea4..0000000000 --- a/awe/engine.cpp +++ /dev/null @@ -1,145 +0,0 @@ -/* AWE - Another World Engine - * Copyright (C) 2004 Gregory Montoir - * Copyright (C) 2004 The ScummVM project - * - * 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., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - */ - -#include "stdafx.h" - -#include "awe.h" -#include "engine.h" -#include "file.h" -#include "serializer.h" -#include "systemstub.h" - -namespace Awe { - -Engine::Engine(SystemStub *stub, const char *dataDir, const char *saveDir) - : _stub(stub), _log(&_res, &_vid, stub), _res(&_vid, dataDir), _vid(&_res, stub), - _dataDir(dataDir), _saveDir(saveDir), _stateSlot(0) { -} - -void Engine::run() { - _stub->init("Out Of This World"); - setup(); - // XXX - _log.restartAt(0x3E80); // demo starts at 0x3E81 - while (!_stub->_pi.quit) { - _log.setupScripts(); - _log.inp_updatePlayer(); - processInput(); - _log.runScripts(); - } - finish(); - _stub->destroy(); -} - -void Engine::setup() { - _vid.init(); - _res.allocMemBlock(); - _res.readEntries(); - _log.init(); -} - -void Engine::finish() { - // XXX - _res.freeMemBlock(); -} - -void Engine::processInput() { - if (_stub->_pi.load) { - loadGameState(_stateSlot); - _stub->_pi.load = false; - } - if (_stub->_pi.save) { - saveGameState(_stateSlot, "quicksave"); - _stub->_pi.save = false; - } - if (_stub->_pi.fastMode) { - _log._fastMode = !_log._fastMode; - _stub->_pi.fastMode = false; - } - if (_stub->_pi.stateSlot != 0) { - int8 slot = _stateSlot + _stub->_pi.stateSlot; - if (slot >= 0 && slot < MAX_SAVE_SLOTS) { - _stateSlot = slot; - debug(DBG_INFO, "Current game state slot is %d", _stateSlot); - } - _stub->_pi.stateSlot = 0; - } -} - -void Engine::makeGameStateName(uint8 slot, char *buf) { - sprintf(buf, "raw.s%02d", slot); -} - -void Engine::saveGameState(uint8 slot, const char *desc) { - char stateFile[20]; - makeGameStateName(slot, stateFile); - File f(true); - if (!f.open(stateFile, _saveDir, "wb")) { - ::warning("Unable to save state file '%s'", stateFile); - } else { - // header - f.writeUint32BE('AWSV'); - f.writeUint16BE(Serializer::CUR_VER); - f.writeUint16BE(0); - char hdrdesc[32]; - strncpy(hdrdesc, desc, sizeof(hdrdesc) - 1); - f.write(hdrdesc, sizeof(hdrdesc)); - // contents - Serializer s(&f, Serializer::SM_SAVE, _res._memPtrStart); - _log.saveOrLoad(s); - _res.saveOrLoad(s); - _vid.saveOrLoad(s); - if (f.ioErr()) { - ::warning("I/O error when saving game state"); - } else { - debug(DBG_INFO, "Saved state to slot %d", _stateSlot); - } - } -} - -void Engine::loadGameState(uint8 slot) { - char stateFile[20]; - makeGameStateName(slot, stateFile); - File f(true); - if (!f.open(stateFile, _saveDir, "rb")) { - ::warning("Unable to open state file '%s'", stateFile); - } else { - uint32 id = f.readUint32BE(); - if (id != 'AWSV') { - ::warning("Bad savegame format"); - } else { - uint16 ver = f.readUint16BE(); - f.readUint16BE(); - char hdrdesc[32]; - f.read(hdrdesc, sizeof(hdrdesc)); - // contents - Serializer s(&f, Serializer::SM_LOAD, _res._memPtrStart, ver); - _log.saveOrLoad(s); - _res.saveOrLoad(s); - _vid.saveOrLoad(s); - } - if (f.ioErr()) { - ::warning("I/O error when loading game state"); - } else { - debug(DBG_INFO, "Loaded state from slot %d", _stateSlot); - } - } -} - -} |