[Scummvm-cvs-logs] SF.net SVN: scummvm:[49287] scummvm/trunk/engines/m4
dreammaster at users.sourceforge.net
dreammaster at users.sourceforge.net
Fri May 28 12:20:02 CEST 2010
Revision: 49287
http://scummvm.svn.sourceforge.net/scummvm/?rev=49287&view=rev
Author: dreammaster
Date: 2010-05-28 10:20:02 +0000 (Fri, 28 May 2010)
Log Message:
-----------
Clarified variable usage for sequence list entry indexes
Modified Paths:
--------------
scummvm/trunk/engines/m4/mads_menus.cpp
scummvm/trunk/engines/m4/mads_views.cpp
scummvm/trunk/engines/m4/mads_views.h
Modified: scummvm/trunk/engines/m4/mads_menus.cpp
===================================================================
--- scummvm/trunk/engines/m4/mads_menus.cpp 2010-05-28 10:17:16 UTC (rev 49286)
+++ scummvm/trunk/engines/m4/mads_menus.cpp 2010-05-28 10:20:02 UTC (rev 49287)
@@ -619,7 +619,7 @@
// Set up a default sprite slot entry for a full screen refresh
_spriteSlots.startIndex = 1;
_spriteSlots[0].spriteType = FULL_SCREEN_REFRESH;
- _spriteSlots[0].timerIndex = -1;
+ _spriteSlots[0].seqIndex = -1;
}
void RexDialogView::initialiseGraphics() {
@@ -796,7 +796,7 @@
void RexDialogView::setFrame(int frameNumber, int depth) {
int slotIndex = _spriteSlots.getIndex();
_spriteSlots[slotIndex].spriteType = FOREGROUND_SPRITE;
- _spriteSlots[slotIndex].timerIndex = 1;
+ _spriteSlots[slotIndex].seqIndex = 1;
_spriteSlots[slotIndex].spriteListIndex = 0; //_menuSpritesIndex;
_spriteSlots[slotIndex].frameNumber = frameNumber;
Modified: scummvm/trunk/engines/m4/mads_views.cpp
===================================================================
--- scummvm/trunk/engines/m4/mads_views.cpp 2010-05-28 10:17:16 UTC (rev 49286)
+++ scummvm/trunk/engines/m4/mads_views.cpp 2010-05-28 10:20:02 UTC (rev 49287)
@@ -59,7 +59,7 @@
// Reset the sprite slots list back to a single entry for a full screen refresh
startIndex = 1;
_entries[0].spriteType = FULL_SCREEN_REFRESH;
- _entries[0].timerIndex = -1;
+ _entries[0].seqIndex = -1;
}
int MadsSpriteSlots::getIndex() {
@@ -84,10 +84,10 @@
/*
* Deletes the sprite slot with the given timer entry
*/
-void MadsSpriteSlots::deleteTimer(int timerIndex) {
+void MadsSpriteSlots::deleteTimer(int seqIndex) {
for (int idx = 0; idx < startIndex; ++idx) {
- if (_entries[idx].timerIndex == timerIndex)
- _entries[idx].spriteType = -1;
+ if (_entries[idx].seqIndex == seqIndex)
+ _entries[idx].spriteType = EXPIRED_SPRITE;
}
}
@@ -204,6 +204,16 @@
}
/**
+ * Flags the entire screen to be redrawn during the next drawing cycle
+ */
+void MadsSpriteSlots::fullRefresh() {
+ int idx = getIndex();
+
+ _entries[idx].spriteType = FULL_SCREEN_REFRESH;
+ _entries[idx].seqIndex = -1;
+}
+
+/**
* Removes any sprite slots that are no longer needed
*/
void MadsSpriteSlots::cleanUp() {
@@ -859,10 +869,10 @@
int frameStart) {
// Find a free slot
- uint timerIndex = 0;
- while ((timerIndex < _entries.size()) && (_entries[timerIndex].active))
- ++timerIndex;
- if (timerIndex == _entries.size())
+ uint seqIndex = 0;
+ while ((seqIndex < _entries.size()) && (_entries[seqIndex].active))
+ ++seqIndex;
+ if (seqIndex == _entries.size())
error("TimerList full");
if (frameStart <= 0)
@@ -873,53 +883,53 @@
frameInc = 0;
// Set the list entry fields
- _entries[timerIndex].active = true;
- _entries[timerIndex].spriteListIndex = spriteListIndex;
- _entries[timerIndex].field_2 = v0;
- _entries[timerIndex].frameIndex = frameIndex;
- _entries[timerIndex].frameStart = frameStart;
- _entries[timerIndex].numSprites = numSprites;
- _entries[timerIndex].animType = animType;
- _entries[timerIndex].frameInc = frameInc;
- _entries[timerIndex].depth = depth;
- _entries[timerIndex].scale = scale;
- _entries[timerIndex].nonFixed = nonFixed;
- _entries[timerIndex].msgPos.x = msgX;
- _entries[timerIndex].msgPos.y = msgY;
- _entries[timerIndex].numTicks = numTicks;
- _entries[timerIndex].extraTicks = extraTicks;
+ _entries[seqIndex].active = true;
+ _entries[seqIndex].spriteListIndex = spriteListIndex;
+ _entries[seqIndex].field_2 = v0;
+ _entries[seqIndex].frameIndex = frameIndex;
+ _entries[seqIndex].frameStart = frameStart;
+ _entries[seqIndex].numSprites = numSprites;
+ _entries[seqIndex].animType = animType;
+ _entries[seqIndex].frameInc = frameInc;
+ _entries[seqIndex].depth = depth;
+ _entries[seqIndex].scale = scale;
+ _entries[seqIndex].nonFixed = nonFixed;
+ _entries[seqIndex].msgPos.x = msgX;
+ _entries[seqIndex].msgPos.y = msgY;
+ _entries[seqIndex].numTicks = numTicks;
+ _entries[seqIndex].extraTicks = extraTicks;
- _entries[timerIndex].timeout = _madsVm->_currentTimer + delayTicks;
+ _entries[seqIndex].timeout = _madsVm->_currentTimer + delayTicks;
- _entries[timerIndex].triggerCountdown = triggerCountdown;
- _entries[timerIndex].doneFlag = false;
- _entries[timerIndex].field_13 = 0;
- _entries[timerIndex].dynamicHotspotIndex = -1;
- _entries[timerIndex].entries.count = 0;
- _entries[timerIndex].abortMode = _owner._abortTimersMode2;
+ _entries[seqIndex].triggerCountdown = triggerCountdown;
+ _entries[seqIndex].doneFlag = false;
+ _entries[seqIndex].field_13 = 0;
+ _entries[seqIndex].dynamicHotspotIndex = -1;
+ _entries[seqIndex].entries.count = 0;
+ _entries[seqIndex].abortMode = _owner._abortTimersMode2;
for (int i = 0; i < 3; ++i)
- _entries[timerIndex].actionNouns[i] = _madsVm->scene()->actionNouns[i];
+ _entries[seqIndex].actionNouns[i] = _madsVm->scene()->actionNouns[i];
- return timerIndex;
+ return seqIndex;
}
-void MadsSequenceList::remove(int timerIndex) {
- if (_entries[timerIndex].active) {
- if (_entries[timerIndex].dynamicHotspotIndex >= 0)
- _owner._dynamicHotspots.remove(_entries[timerIndex].dynamicHotspotIndex);
+void MadsSequenceList::remove(int seqIndex) {
+ if (_entries[seqIndex].active) {
+ if (_entries[seqIndex].dynamicHotspotIndex >= 0)
+ _owner._dynamicHotspots.remove(_entries[seqIndex].dynamicHotspotIndex);
}
- _entries[timerIndex].active = false;
- _owner._spriteSlots.deleteTimer(timerIndex);
+ _entries[seqIndex].active = false;
+ _owner._spriteSlots.deleteTimer(seqIndex);
}
-void MadsSequenceList::setSpriteSlot(int timerIndex, MadsSpriteSlot &spriteSlot) {
- MadsSequenceEntry &timerEntry = _entries[timerIndex];
+void MadsSequenceList::setSpriteSlot(int seqIndex, MadsSpriteSlot &spriteSlot) {
+ MadsSequenceEntry &timerEntry = _entries[seqIndex];
SpriteAsset &sprite = _owner._spriteSlots.getSprite(timerEntry.spriteListIndex);
spriteSlot.spriteType = sprite.getAssetType() == 1 ? BACKGROUND_SPRITE : FOREGROUND_SPRITE;
- spriteSlot.timerIndex = timerIndex;
+ spriteSlot.seqIndex = seqIndex;
spriteSlot.spriteListIndex = timerEntry.spriteListIndex;
spriteSlot.frameNumber = ((timerEntry.field_2 == 1) ? 0x8000 : 0) | timerEntry.frameIndex;
spriteSlot.depth = timerEntry.depth;
@@ -934,15 +944,15 @@
}
}
-bool MadsSequenceList::loadSprites(int timerIndex) {
- MadsSequenceEntry &seqEntry = _entries[timerIndex];
+bool MadsSequenceList::loadSprites(int seqIndex) {
+ MadsSequenceEntry &seqEntry = _entries[seqIndex];
int slotIndex;
bool result = false;
int idx = -1;
- _owner._spriteSlots.deleteTimer(timerIndex);
+ _owner._spriteSlots.deleteTimer(seqIndex);
if (seqEntry.doneFlag) {
- remove(timerIndex);
+ remove(seqIndex);
return false;
}
@@ -951,7 +961,7 @@
seqEntry.doneFlag = true;
} else if ((slotIndex = _owner._spriteSlots.getIndex()) >= 0) {
MadsSpriteSlot &spriteSlot = _owner._spriteSlots[slotIndex];
- setSpriteSlot(timerIndex, spriteSlot);
+ setSpriteSlot(seqIndex, spriteSlot);
int x2 = 0, y2 = 0;
@@ -1079,8 +1089,8 @@
}
}
-void MadsSequenceList::setAnimRange(int timerIndex, int startVal, int endVal) {
- MadsSequenceEntry &seqEntry = _entries[timerIndex];
+void MadsSequenceList::setAnimRange(int seqIndex, int startVal, int endVal) {
+ MadsSequenceEntry &seqEntry = _entries[seqIndex];
SpriteAsset &spriteSet = _owner._spriteSlots.getSprite(seqEntry.spriteListIndex);
int numSprites = spriteSet.getCount();
int tempStart = startVal, tempEnd = endVal;
Modified: scummvm/trunk/engines/m4/mads_views.h
===================================================================
--- scummvm/trunk/engines/m4/mads_views.h 2010-05-28 10:17:16 UTC (rev 49286)
+++ scummvm/trunk/engines/m4/mads_views.h 2010-05-28 10:20:02 UTC (rev 49287)
@@ -46,7 +46,7 @@
class MadsSpriteSlot {
public:
int spriteType;
- int timerIndex;
+ int seqIndex;
int spriteListIndex;
int frameNumber;
int xp;
@@ -60,7 +60,7 @@
#define SPRITE_SLOTS_SIZE 50
enum SpriteIdSpecial {
- BACKGROUND_SPRITE = -4, FULL_SCREEN_REFRESH = -2, FOREGROUND_SPRITE = 1
+ BACKGROUND_SPRITE = -4, FULL_SCREEN_REFRESH = -2, FOREGROUND_SPRITE = 1, EXPIRED_SPRITE = -1
};
typedef Common::Array<Common::SharedPtr<SpriteAsset> > SpriteList;
@@ -87,11 +87,12 @@
int getIndex();
int addSprites(const char *resName);
void clear();
- void deleteTimer(int timerIndex);
+ void deleteTimer(int seqIndex);
void drawBackground();
void drawForeground(View *view);
void setDirtyAreas();
+ void fullRefresh();
void cleanUp();
};
@@ -343,12 +344,12 @@
int add(int spriteListIndex, int v0, int v1, int triggerCountdown, int delayTicks, int extraTicks, int numTicks,
int msgX, int msgY, bool nonFixed, char scale, uint8 depth, int frameInc, SpriteAnimType animType,
int numSprites, int frameStart);
- void remove(int timerIndex);
- void setSpriteSlot(int timerIndex, MadsSpriteSlot &spriteSlot);
- bool loadSprites(int timerIndex);
+ void remove(int seqIndex);
+ void setSpriteSlot(int seqIndex, MadsSpriteSlot &spriteSlot);
+ bool loadSprites(int seqIndex);
void tick();
void delay(uint32 v1, uint32 v2);
- void setAnimRange(int timerIndex, int startVal, int endVal);
+ void setAnimRange(int seqIndex, int startVal, int endVal);
};
class MadsView {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
More information about the Scummvm-git-logs
mailing list