[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