diff options
| author | Gregory Montoir | 2005-09-10 00:15:40 +0000 | 
|---|---|---|
| committer | Gregory Montoir | 2005-09-10 00:15:40 +0000 | 
| commit | 689b89b2be74df1d48bb60184f441dba7b88f147 (patch) | |
| tree | 4c226f6c097a6dd48073a735aaea76557dd7b6fb | |
| parent | 732f33bd3adcc27ba6b4d3cc8266f3e612627462 (diff) | |
| download | scummvm-rg350-689b89b2be74df1d48bb60184f441dba7b88f147.tar.gz scummvm-rg350-689b89b2be74df1d48bb60184f441dba7b88f147.tar.bz2 scummvm-rg350-689b89b2be74df1d48bb60184f441dba7b88f147.zip  | |
fixed line breaks ; cleanup
svn-id: r18800
| -rw-r--r-- | kyra/kyra.cpp | 32 | ||||
| -rw-r--r-- | kyra/kyra.h | 14 | ||||
| -rw-r--r-- | kyra/screen.cpp | 8 | ||||
| -rw-r--r-- | kyra/screen.h | 2 | 
4 files changed, 38 insertions, 18 deletions
diff --git a/kyra/kyra.cpp b/kyra/kyra.cpp index 72642cd07d..d5f3fdea84 100644 --- a/kyra/kyra.cpp +++ b/kyra/kyra.cpp @@ -189,9 +189,26 @@ int KyraEngine::go() {  	_screen->loadFont(Screen::FID_8_FNT, _res->fileData("8FAT.FNT", &sz));  	_screen->setScreenDim(0);  	seq_intro(); +	startup(); +	mainLoop();  	return 0;  } +void KyraEngine::startup() { +	debug(9, "KyraEngine::startup()"); +	static const uint8 colorMap[] = { 0, 0, 0, 0, 12, 12, 12, 0, 0, 0, 0, 0 }; +	_screen->setTextColorMap(colorMap); +	_screen->setFont(Screen::FID_6_FNT); +	_screen->setAnimBlockPtr(3750); +	memset(_flagsTable, 0, sizeof(_flagsTable)); +	// XXX +} + +void KyraEngine::mainLoop() { +	debug(9, "KyraEngine::mainLoop()"); +	// XXX +} +  void KyraEngine::loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *palData) {  	debug(9, "KyraEngine::copyBitmap('%s', %d, %d, 0x%X)", filename, tempPage, dstPage, palData);  	uint32 fileSize; @@ -238,7 +255,6 @@ int KyraEngine::getCenterStringX(const char *str, int x1, int x2) {  }  int KyraEngine::getCharLength(const char *str, int len) { -	debug(9, "KyraEngine::preprocessString('%s', %d)", str, len);  	debug(9, "KyraEngine::getCharLength('%s', %d)", str, len);  	int charsCount = 0;  	if (*str) { @@ -258,9 +274,10 @@ int KyraEngine::getCharLength(const char *str, int len) {  int KyraEngine::dropCRIntoString(char *str, int offs) {  	debug(9, "KyraEngine::dropCRIntoString('%s', %d)", str, offs);  	int pos = 0; +	str += offs;  	while (*str) {  		if (*str == ' ') { -			*str = 0xD; +			*str = '\r';  			return pos;  		}  		++str; @@ -275,7 +292,7 @@ char *KyraEngine::preprocessString(const char *str) {  	strcpy(_talkBuffer, str);  	char *p = _talkBuffer;  	while (*p) { -		if (*p == 0xD) { +		if (*p == '\r') {  			return _talkBuffer;  		}  		++p; @@ -309,9 +326,9 @@ int KyraEngine::buildMessageSubstrings(const char *str) {  	int currentLine = 0;  	int pos = 0;  	while (*str) { -		if (*str == 0xD) { +		if (*str == '\r') {  			assert(currentLine < TALK_SUBSTRING_NUM); -			_talkSubstrings[currentLine * TALK_SUBSTRING_LEN + pos] = 0; +			_talkSubstrings[currentLine * TALK_SUBSTRING_LEN + pos] = '\0';  			++currentLine;  			pos = 0;  		} else { @@ -500,6 +517,7 @@ void KyraEngine::seq_introStory() {  	debug(9, "KyraEngine::seq_introStory()");  	loadBitmap("MAIN_ENG.CPS", 3, 3, 0);  	_screen->copyRegion(0, 0, 0, 0, 320, 200, 2, 0); +	// XXX wait 360 ticks  }  void KyraEngine::seq_introMalcomTree() { @@ -512,12 +530,10 @@ void KyraEngine::seq_introMalcomTree() {  void KyraEngine::seq_introKallakWriting() {  	debug(9, "KyraEngine::seq_introKallakWriting()");  	seq_makeHandShapes(); -	uint8 *p = (uint8 *)malloc(5060); -	_screen->setAnimBlockPtr(p, 5060); +	_screen->setAnimBlockPtr(5060);  	_screen->_charWidth = -2;  	_screen->clearPage(3);  	seq_playSpecialSequence(_seq_introData_KallakWriting, true); -	free(p);  	seq_freeHandShapes();  } diff --git a/kyra/kyra.h b/kyra/kyra.h index 1986de1aef..67861fe3cd 100644 --- a/kyra/kyra.h +++ b/kyra/kyra.h @@ -63,11 +63,11 @@ struct Shape {  struct Room {  	uint8 id; -	uint16 room_north_exit; -	uint16 room_east_exit; -	uint16 room_south_exit; -	uint16 room_west_exit; -	uint8 items_table[12]; +	uint16 northExit; +	uint16 eastExit; +	uint16 southExit; +	uint16 westExit; +	uint8 itemsTable[12];  };  struct TalkCoords { @@ -112,8 +112,9 @@ protected:  	int go();  	int init(GameDetector &detector); +	void startup(); +	void mainLoop();  	void loadBitmap(const char *filename, int tempPage, int dstPage, uint8 *palData); -  	void setTalkCoords(uint16 y);  	int getCenterStringX(const char *str, int x1, int x2);  	int getCharLength(const char *str, int len); @@ -156,6 +157,7 @@ protected:  	uint16 _talkMessageY;  	uint16 _talkMessageH;  	bool _talkMessagePrinted; +	uint8 _flagsTable[51];  	bool _seq_copyViewOffs;  	uint8 *_seq_handShapes[3]; diff --git a/kyra/screen.cpp b/kyra/screen.cpp index a0f36c9306..28f61bfbd7 100644 --- a/kyra/screen.cpp +++ b/kyra/screen.cpp @@ -68,6 +68,8 @@ Screen::~Screen() {  	}  	free(_currentPalette);  	free(_screenPalette); +	free(_decodeShapeBuffer); +	free(_animBlockPtr);  }  void Screen::updateScreen() { @@ -317,9 +319,9 @@ void Screen::fillRect(int x1, int y1, int x2, int y2, uint8 color, int pageNum)  	}  } -void Screen::setAnimBlockPtr(uint8 *p, int size) { -	debug(9, "Screen::setAnimBlockPtr(0x%X, %d)", p, size); -	_animBlockPtr = p; +void Screen::setAnimBlockPtr(int size) { +	debug(9, "Screen::setAnimBlockPtr(%d)", size); +	_animBlockPtr = (uint8 *)malloc(size);  	_animBlockSize = size;  } diff --git a/kyra/screen.h b/kyra/screen.h index 712aa39a38..e044c8a75e 100644 --- a/kyra/screen.h +++ b/kyra/screen.h @@ -94,7 +94,7 @@ public:  	void copyCurPageBlock(int x, int y, int h, int w, uint8 *dst);  	void shuffleScreen(int sx, int sy, int w, int h, int srcPage, int dstPage, int ticks, bool transparent);  	void fillRect(int x1, int y1, int x2, int y2, uint8 color, int pageNum = -1); -	void setAnimBlockPtr(uint8 *p, int size); +	void setAnimBlockPtr(int size);  	void setTextColorMap(const uint8 *cmap);  	void setTextColor(const uint8 *cmap, int a, int b);  	void loadFont(FontId fontId, uint8 *fontData);  | 
