[Scummvm-cvs-logs] scummvm master -> 77b8491b8b68674815019de3d3b12a4427ce68b0

wjp wjp at usecode.org
Wed Dec 28 15:20:27 CET 2011


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
4e207dbc7a DREAMWEB: Clean up Sprite::_updateCallback
77b8491b8b DREAMWEB: Remove unused Sprite fields


Commit: 4e207dbc7a374f47fd6c66e1a38e264e8787bd23
    https://github.com/scummvm/scummvm/commit/4e207dbc7a374f47fd6c66e1a38e264e8787bd23
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-12-28T06:19:59-08:00

Commit Message:
DREAMWEB: Clean up Sprite::_updateCallback

Changed paths:
    engines/dreamweb/backdrop.cpp
    engines/dreamweb/dreamweb.h
    engines/dreamweb/sprite.cpp
    engines/dreamweb/structs.h



diff --git a/engines/dreamweb/backdrop.cpp b/engines/dreamweb/backdrop.cpp
index f2356eb..9f47c72 100644
--- a/engines/dreamweb/backdrop.cpp
+++ b/engines/dreamweb/backdrop.cpp
@@ -114,7 +114,7 @@ void DreamWebEngine::makeBackOb(SetObject *objData, uint16 x, uint16 y) {
 		return;
 	uint8 priority = objData->priority;
 	uint8 type = objData->type;
-	Sprite *sprite = makeSprite(x, y, addr_backobject, &_setFrames, 0);
+	Sprite *sprite = makeSprite(x, y, false, &_setFrames, 0);
 
 	sprite->_objData = objData;
 	if (priority == 255)
diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h
index 9e1341b..95f9296 100644
--- a/engines/dreamweb/dreamweb.h
+++ b/engines/dreamweb/dreamweb.h
@@ -94,9 +94,6 @@ const unsigned int kNumexobjects = (114);
 const unsigned int kExtextlen = (18000);
 const unsigned int kExframeslen = (30000);
 const unsigned int kItempicsize = (44);
-// These are for ReelRoutine::reelPointer, which is a callback field.
-const uint16 addr_backobject = 0xc170;
-const uint16 addr_mainman = 0xc138;
 
 // Keyboard buffer. data.word(kBufferin) and data.word(kBufferout) are indexes
 // into this, making it a ring buffer
@@ -729,7 +726,7 @@ public:
 	void printSprites();
 	void printASprite(const Sprite *sprite);
 	void clearSprites();
-	Sprite *makeSprite(uint8 x, uint8 y, uint16 updateCallback, const GraphicsFile *frameData, uint16 somethingInDi);
+	Sprite *makeSprite(uint8 x, uint8 y, bool _mainManCallback, const GraphicsFile *frameData, uint16 somethingInDi);
 	void initMan();
 	void walking(Sprite *sprite);
 	void aboutTurn(Sprite *sprite);
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 33dbc0f..97d8d72 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -29,7 +29,6 @@ void DreamWebEngine::printSprites() {
 		Common::List<Sprite>::const_iterator i;
 		for (i = _spriteTable.begin(); i != _spriteTable.end(); ++i) {
 			const Sprite &sprite = *i;
-			assert(sprite._updateCallback != 0x0ffff);
 			if (priority != sprite.priority)
 				continue;
 			if (sprite.hidden == 1)
@@ -65,7 +64,7 @@ void DreamWebEngine::clearSprites() {
 	_spriteTable.clear();
 }
 
-Sprite *DreamWebEngine::makeSprite(uint8 x, uint8 y, uint16 updateCallback, const GraphicsFile *frameData, uint16 somethingInDi) {
+Sprite *DreamWebEngine::makeSprite(uint8 x, uint8 y, bool mainManCallback, const GraphicsFile *frameData, uint16 somethingInDi) {
 	// Note: the original didn't append sprites here, but filled up the
 	// first unused entry. This can change the order of entries, but since they
 	// are drawn based on the priority field, this shouldn't matter.
@@ -74,7 +73,7 @@ Sprite *DreamWebEngine::makeSprite(uint8 x, uint8 y, uint16 updateCallback, cons
 
 	memset(sprite, 0xff, sizeof(Sprite));
 
-	sprite->_updateCallback = updateCallback;
+	sprite->_mainManCallback = mainManCallback;
 	sprite->x = x;
 	sprite->y = y;
 	sprite->_frameData = frameData;
@@ -94,13 +93,10 @@ void DreamWebEngine::spriteUpdate() {
 	Common::List<Sprite>::iterator i;
 	for (i = _spriteTable.begin(); i != _spriteTable.end(); ++i) {
 		Sprite &sprite = *i;
-		assert(sprite._updateCallback != 0xffff);
-
 		sprite.w24 = sprite.w2;
-		if (sprite._updateCallback == addr_mainman) // NB : Let's consider the callback as an enum while more code is not ported to C++
+		if (sprite._mainManCallback)
 			mainMan(&sprite);
 		else {
-			assert(sprite._updateCallback == addr_backobject);
 			backObject(&sprite);
 		}
 	
@@ -110,7 +106,7 @@ void DreamWebEngine::spriteUpdate() {
 }
 
 void DreamWebEngine::initMan() {
-	Sprite *sprite = makeSprite(_ryanX, _ryanY, addr_mainman, &_mainSprites, 0);
+	Sprite *sprite = makeSprite(_ryanX, _ryanY, true, &_mainSprites, 0);
 	sprite->priority = 4;
 	sprite->speed = 0;
 	sprite->walkFrame = 0;
diff --git a/engines/dreamweb/structs.h b/engines/dreamweb/structs.h
index 08aa904..55ed7bf 100644
--- a/engines/dreamweb/structs.h
+++ b/engines/dreamweb/structs.h
@@ -32,7 +32,7 @@ struct GraphicsFile;
 struct SetObject;
 
 struct Sprite {
-	uint16 _updateCallback;
+	bool _mainManCallback;
 	uint16 w2;
 	uint16 w4;
 	const GraphicsFile *_frameData;


Commit: 77b8491b8b68674815019de3d3b12a4427ce68b0
    https://github.com/scummvm/scummvm/commit/77b8491b8b68674815019de3d3b12a4427ce68b0
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-12-28T06:19:59-08:00

Commit Message:
DREAMWEB: Remove unused Sprite fields

Changed paths:
    engines/dreamweb/backdrop.cpp
    engines/dreamweb/dreamweb.h
    engines/dreamweb/sprite.cpp
    engines/dreamweb/structs.h



diff --git a/engines/dreamweb/backdrop.cpp b/engines/dreamweb/backdrop.cpp
index 9f47c72..887da70 100644
--- a/engines/dreamweb/backdrop.cpp
+++ b/engines/dreamweb/backdrop.cpp
@@ -114,14 +114,13 @@ void DreamWebEngine::makeBackOb(SetObject *objData, uint16 x, uint16 y) {
 		return;
 	uint8 priority = objData->priority;
 	uint8 type = objData->type;
-	Sprite *sprite = makeSprite(x, y, false, &_setFrames, 0);
+	Sprite *sprite = makeSprite(x, y, false, &_setFrames);
 
 	sprite->_objData = objData;
 	if (priority == 255)
 		priority = 0;
 	sprite->priority = priority;
 	sprite->type = type;
-	sprite->b16 = 0;
 	sprite->delay = 0;
 	sprite->animFrame = 0;
 }
diff --git a/engines/dreamweb/dreamweb.h b/engines/dreamweb/dreamweb.h
index 95f9296..b771335 100644
--- a/engines/dreamweb/dreamweb.h
+++ b/engines/dreamweb/dreamweb.h
@@ -726,7 +726,7 @@ public:
 	void printSprites();
 	void printASprite(const Sprite *sprite);
 	void clearSprites();
-	Sprite *makeSprite(uint8 x, uint8 y, bool _mainManCallback, const GraphicsFile *frameData, uint16 somethingInDi);
+	Sprite *makeSprite(uint8 x, uint8 y, bool _mainManCallback, const GraphicsFile *frameData);
 	void initMan();
 	void walking(Sprite *sprite);
 	void aboutTurn(Sprite *sprite);
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 97d8d72..e662fa6 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -64,7 +64,7 @@ void DreamWebEngine::clearSprites() {
 	_spriteTable.clear();
 }
 
-Sprite *DreamWebEngine::makeSprite(uint8 x, uint8 y, bool mainManCallback, const GraphicsFile *frameData, uint16 somethingInDi) {
+Sprite *DreamWebEngine::makeSprite(uint8 x, uint8 y, bool mainManCallback, const GraphicsFile *frameData) {
 	// Note: the original didn't append sprites here, but filled up the
 	// first unused entry. This can change the order of entries, but since they
 	// are drawn based on the priority field, this shouldn't matter.
@@ -77,8 +77,6 @@ Sprite *DreamWebEngine::makeSprite(uint8 x, uint8 y, bool mainManCallback, const
 	sprite->x = x;
 	sprite->y = y;
 	sprite->_frameData = frameData;
-	sprite->w8 = somethingInDi;
-	sprite->w2 = 0xffff;
 	sprite->frameNumber = 0;
 	sprite->delay = 0;
 	sprite->_objData = 0;
@@ -93,7 +91,6 @@ void DreamWebEngine::spriteUpdate() {
 	Common::List<Sprite>::iterator i;
 	for (i = _spriteTable.begin(); i != _spriteTable.end(); ++i) {
 		Sprite &sprite = *i;
-		sprite.w24 = sprite.w2;
 		if (sprite._mainManCallback)
 			mainMan(&sprite);
 		else {
@@ -106,7 +103,7 @@ void DreamWebEngine::spriteUpdate() {
 }
 
 void DreamWebEngine::initMan() {
-	Sprite *sprite = makeSprite(_ryanX, _ryanY, true, &_mainSprites, 0);
+	Sprite *sprite = makeSprite(_ryanX, _ryanY, true, &_mainSprites);
 	sprite->priority = 4;
 	sprite->speed = 0;
 	sprite->walkFrame = 0;
diff --git a/engines/dreamweb/structs.h b/engines/dreamweb/structs.h
index 55ed7bf..b34715a 100644
--- a/engines/dreamweb/structs.h
+++ b/engines/dreamweb/structs.h
@@ -33,25 +33,15 @@ struct SetObject;
 
 struct Sprite {
 	bool _mainManCallback;
-	uint16 w2;
-	uint16 w4;
 	const GraphicsFile *_frameData;
-	uint16 w8;
 	uint8  x;
 	uint8  y;
-	uint16 w12;
-	uint8  b14;
 	uint8  frameNumber;
-	uint8  b16;
-	uint8  b17;
 	uint8  delay;
 	uint8  animFrame; // index into SetObject::frames
 	SetObject *_objData;
 	uint8  speed;
 	uint8  priority;
-	uint16 w24;
-	uint16 w26;
-	uint8  b28;
 	uint8  walkFrame;
 	uint8  type;
 	uint8  hidden;






More information about the Scummvm-git-logs mailing list