aboutsummaryrefslogtreecommitdiff
path: root/sword2/protocol.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sword2/protocol.cpp')
-rw-r--r--sword2/protocol.cpp216
1 files changed, 0 insertions, 216 deletions
diff --git a/sword2/protocol.cpp b/sword2/protocol.cpp
deleted file mode 100644
index 23010e27a9..0000000000
--- a/sword2/protocol.cpp
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Copyright (C) 1994-1998 Revolution Software Ltd.
- * Copyright (C) 2003-2006 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- */
-
-#include "common/stdafx.h"
-#include "sword2/sword2.h"
-#include "sword2/resman.h"
-
-namespace Sword2 {
-
-/**
- * Returns a pointer to the first palette entry, given the pointer to the start
- * of the screen file.
- */
-
-byte *Sword2Engine::fetchPalette(byte *screenFile) {
- MultiScreenHeader mscreenHeader;
-
- mscreenHeader.read(screenFile + ResHeader::size());
-
- byte *palette = screenFile + ResHeader::size() + mscreenHeader.palette;
-
- // Always set colour 0 to black, because while most background screen
- // palettes have a bright colour 0 it should come out as black in the
- // game.
-
- palette[0] = 0;
- palette[1] = 0;
- palette[2] = 0;
- palette[3] = 0;
-
- return palette;
-}
-
-/**
- * Returns a pointer to the start of the palette match table, given the pointer
- * to the start of the screen file.
- */
-
-byte *Sword2Engine::fetchPaletteMatchTable(byte *screenFile) {
- MultiScreenHeader mscreenHeader;
-
- mscreenHeader.read(screenFile + ResHeader::size());
-
- return screenFile + ResHeader::size() + mscreenHeader.paletteTable;
-}
-
-/**
- * Returns a pointer to the screen header, given the pointer to the start of
- * the screen file.
- */
-
-byte *Sword2Engine::fetchScreenHeader(byte *screenFile) {
- MultiScreenHeader mscreenHeader;
-
- mscreenHeader.read(screenFile + ResHeader::size());
-
- return screenFile + ResHeader::size() + mscreenHeader.screen;
-}
-
-/**
- * Returns a pointer to the requested layer header, given the pointer to the
- * start of the screen file. Drops out if the requested layer number exceeds
- * the number of layers on this screen.
- */
-
-byte *Sword2Engine::fetchLayerHeader(byte *screenFile, uint16 layerNo) {
-#ifdef SWORD2_DEBUG
- ScreenHeader screenHead;
-
- screenHead.read(fetchScreenHeader(screenFile));
- assert(layerNo < screenHead.noLayers);
-#endif
-
- MultiScreenHeader mscreenHeader;
-
- mscreenHeader.read(screenFile + ResHeader::size());
-
- return screenFile + ResHeader::size() + mscreenHeader.layers + layerNo * LayerHeader::size();
-}
-
-/**
- * Returns a pointer to the start of the shading mask, given the pointer to the
- * start of the screen file.
- */
-
-byte *Sword2Engine::fetchShadingMask(byte *screenFile) {
- MultiScreenHeader mscreenHeader;
-
- mscreenHeader.read(screenFile + ResHeader::size());
-
- return screenFile + ResHeader::size() + mscreenHeader.maskOffset;
-}
-
-/**
- * Returns a pointer to the anim header, given the pointer to the start of the
- * anim file.
- */
-
-byte *Sword2Engine::fetchAnimHeader(byte *animFile) {
- return animFile + ResHeader::size();
-}
-
-/**
- * Returns a pointer to the requested frame number's cdtEntry, given the
- * pointer to the start of the anim file. Drops out if the requested frame
- * number exceeds the number of frames in this anim.
- */
-
-byte *Sword2Engine::fetchCdtEntry(byte *animFile, uint16 frameNo) {
-#ifdef SWORD2_DEBUG
- AnimHeader animHead;
-
- animHead.read(fetchAnimHeader(animFile));
-
- if (frameNo > animHead->noAnimFrames - 1)
- error("fetchCdtEntry(animFile,%d) - anim only %d frames", frameNo, animHead.noAnimFrames);
-#endif
-
- return fetchAnimHeader(animFile) + AnimHeader::size() + frameNo * CdtEntry::size();
-}
-
-/**
- * Returns a pointer to the requested frame number's header, given the pointer
- * to the start of the anim file. Drops out if the requested frame number
- * exceeds the number of frames in this anim
- */
-
-byte *Sword2Engine::fetchFrameHeader(byte *animFile, uint16 frameNo) {
- // required address = (address of the start of the anim header) + frameOffset
- CdtEntry cdt;
-
- cdt.read(fetchCdtEntry(animFile, frameNo));
-
- return animFile + ResHeader::size() + cdt.frameOffset;
-}
-
-/**
- * Returns a pointer to the requested parallax layer data.
- */
-
-byte *Sword2Engine::fetchBackgroundParallaxLayer(byte *screenFile, int layer) {
- MultiScreenHeader mscreenHeader;
-
- mscreenHeader.read(screenFile + ResHeader::size());
- assert(mscreenHeader.bg_parallax[layer]);
-
- return screenFile + ResHeader::size() + mscreenHeader.bg_parallax[layer];
-}
-
-byte *Sword2Engine::fetchBackgroundLayer(byte *screenFile) {
- MultiScreenHeader mscreenHeader;
-
- mscreenHeader.read(screenFile + ResHeader::size());
- assert(mscreenHeader.screen);
-
- return screenFile + ResHeader::size() + mscreenHeader.screen + ScreenHeader::size();
-}
-
-byte *Sword2Engine::fetchForegroundParallaxLayer(byte *screenFile, int layer) {
- MultiScreenHeader mscreenHeader;
-
- mscreenHeader.read(screenFile + ResHeader::size());
- assert(mscreenHeader.fg_parallax[layer]);
-
- return screenFile + ResHeader::size() + mscreenHeader.fg_parallax[layer];
-}
-
-byte *Sword2Engine::fetchTextLine(byte *file, uint32 text_line) {
- TextHeader text_header;
- static byte errorLine[128];
-
- text_header.read(file + ResHeader::size());
-
- if (text_line >= text_header.noOfLines) {
- sprintf((char *)errorLine, "xxMissing line %d of %s (only 0..%d)", text_line, _resman->fetchName(file), text_header.noOfLines - 1);
-
- // first 2 chars are NULL so that actor-number comes out as '0'
- errorLine[0] = 0;
- errorLine[1] = 0;
- return errorLine;
- }
-
- // The "number of lines" field is followed by a lookup table
-
- return file + READ_LE_UINT32(file + ResHeader::size() + 4 + 4 * text_line);
-}
-
-// Used for testing text & speech (see fnISpeak in speech.cpp)
-
-bool Sword2Engine::checkTextLine(byte *file, uint32 text_line) {
- TextHeader text_header;
-
- text_header.read(file + ResHeader::size());
-
- return text_line < text_header.noOfLines;
-}
-
-} // End of namespace Sword2