[Scummvm-cvs-logs] CVS: scummvm/sky text.h,NONE,1.1 text.cpp,1.4,1.5

Oliver Kiehl olki at users.sourceforge.net
Mon Apr 7 13:45:04 CEST 2003


Update of /cvsroot/scummvm/scummvm/sky
In directory sc8-pr-cvs1:/tmp/cvs-serv2581

Modified Files:
	text.cpp 
Added Files:
	text.h 
Log Message:
new class SkyText


--- NEW FILE: text.h ---
/* ScummVM - Scumm Interpreter
 * Copyright (C) 2003 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.
 *
 * $Header: /cvsroot/scummvm/scummvm/sky/text.h,v 1.1 2003/04/07 20:44:16 olki Exp $
 *
 */

#ifndef SKYTEXT_H
#define SKYTEXT_H

#include "sky/disk.h"

class SkyText {
public:
	SkyText(SkyDisk *skyDisk, uint32 gameVersion);
	void getText(uint32 textNr, void **itemList, uint16 language);

protected:
	bool getTBit();
	void fnSetFont(uint32 fontNr);
	virtual char getTextChar() = 0;

	SkyDisk *_skyDisk;
	uint32	_gameVersion;
	uint8	_inputValue;
	uint8	_shiftBits;
	uint8	*_textItemPtr;

	struct charSet {
		uint8 *addr;
		uint32 charHeight;
		uint32 thirdVal;
	} _mainCharacterSet, _linkCharacterSet, _controlCharacterSet;	
	
	uint32	_curCharSet;
	uint32	_characterSet;
	uint32	_charHeight;
	uint8	*_preAfterTableArea;

	uint8 _textBuffer[1024];

	uint8	*_mouseTextData;	//space for the mouse text
	uint32	_dtLineWidth;	//width of line in pixels
	uint32	_dtLines;	//no of lines to do
	uint32	_dtLineSize;	//size of one line in bytes
	uint8	*_dtData;	//address of textdata
	uint32	_dtLetters;	//no of chars in message
	uint8	*_dtText;	//pointer to text
	uint32	_dtCharSpacing;	//character seperation adjustment
	uint32	_dtWidth;	//width of chars in last line (for editing (?))
	uint32	_dtCentre;	//set for centre text
};

class SkyText_v00267 : public SkyText {
public:
	SkyText_v00267(SkyDisk *skyDisk, uint32 gameVersion) : SkyText(skyDisk, gameVersion) {};
protected:
	char getTextChar();
};

class SkyText_v00288 : public SkyText {
public:
	SkyText_v00288(SkyDisk *skyDisk, uint32 gameVersion) : SkyText(skyDisk, gameVersion) {};
protected:
	char getTextChar();
};

class SkyText_v00368 : public SkyText {
public:
	SkyText_v00368(SkyDisk *skyDisk, uint32 gameVersion) : SkyText(skyDisk, gameVersion) {};
protected:
	char getTextChar();
};

#endif

Index: text.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/sky/text.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- text.cpp	5 Apr 2003 20:10:54 -0000	1.4
+++ text.cpp	7 Apr 2003 20:44:15 -0000	1.5
@@ -23,6 +23,7 @@
 #include "common/scummsys.h"
 #include "sky/skydefs.h"
 #include "sky/sky.h"
+#include "sky/text.h"
 
 #define FIRST_TEXT_SEC	77
 #define NO_OF_TEXT_SECTIONS	8	// 8 sections per language
@@ -30,76 +31,42 @@
 #define	SET_FONT_DATA_SIZE	12
 #define MAX_SPEECH_SECTION	7 
 
[...1871 lines suppressed...]
 
 	return (char)148;
@@ -1871,17 +1850,5 @@
 
 
 	return '!'; //should never be reached
-}
-
-bool SkyState::getTBit(uint8 *inputValue, uint8 *shiftBits, byte *&inputStream) {
-	
-	if (*shiftBits) {
-		(*shiftBits)--;
-	} else {
-		*inputValue = *inputStream++;
-		*shiftBits = 7;
-	} 
-	
-	return (bool)(((*inputValue) >> (*shiftBits)) & 1);
 }
 





More information about the Scummvm-git-logs mailing list