diff -ur ScummVM-cvs20030115/scummvm/scumm/actor.cpp ScummVM-cvs20030115+hack/scummvm/scumm/actor.cpp
old
|
new
|
|
1103 | 1103 | int i, j; |
1104 | 1104 | |
1105 | 1105 | if (_fullRedraw) { |
1106 | | for (j = 0; j < NUM_ACTORS; j++) { |
| 1106 | for (j = 1; j < NUM_ACTORS; j++) { |
1107 | 1107 | Actor *a = derefActor(j); |
1108 | 1108 | if (fg) |
1109 | 1109 | a->needRedraw = true; |
… |
… |
|
1114 | 1114 | for (i = 0; i < gdi._numStrips; i++) { |
1115 | 1115 | int strip = _screenStartStrip + i; |
1116 | 1116 | if (testGfxAnyUsageBits(strip)) { |
1117 | | for (j = 0; j < NUM_ACTORS; j++) { |
| 1117 | for (j = 1; j < NUM_ACTORS; j++) { |
1118 | 1118 | if (testGfxUsageBit(strip, j) && testGfxOtherUsageBits(strip, j)) { |
1119 | 1119 | Actor *a = derefActor(j); |
1120 | 1120 | if (fg) |
… |
… |
|
1543 | 1543 | |
1544 | 1544 | for (i = 0; i < gdi._numStrips; i++) { |
1545 | 1545 | int strip = _screenStartStrip + i; |
1546 | | a = getFirstActor(); |
1547 | | for (j = 0; j < NUM_ACTORS; j++) { |
| 1546 | for (j = 1; j < NUM_ACTORS; j++) { |
| 1547 | a = derefActor(j); |
1548 | 1548 | if (testGfxUsageBit(strip, j) && a->top != 0xFF && a->needBgReset) { |
1549 | 1549 | clearGfxUsageBit(strip, j); |
1550 | 1550 | if ((a->bottom - a->top) >= 0) |
1551 | 1551 | gdi.resetBackground(a->top, a->bottom, i); |
1552 | 1552 | } |
1553 | | a++; |
1554 | 1553 | } |
1555 | 1554 | } |
1556 | 1555 | |
1557 | | for (i = 1, a = getFirstActor(); ++a, i < NUM_ACTORS; i++) { |
| 1556 | for (i = 1; i < NUM_ACTORS; i++) { |
| 1557 | a = derefActor(j); |
1558 | 1558 | a->needBgReset = false; |
1559 | 1559 | } |
1560 | 1560 | } |
diff -ur ScummVM-cvs20030115/scummvm/scumm/gfx.cpp ScummVM-cvs20030115+hack/scummvm/scumm/gfx.cpp
old
|
new
|
|
1820 | 1820 | if (t - _screenStartStrip < camera._leftTrigger || t - _screenStartStrip > camera._rightTrigger) |
1821 | 1821 | setCameraAt(a->x, 0); |
1822 | 1822 | |
1823 | | for (i = 1, a = getFirstActor(); ++a, i < NUM_ACTORS; i++) { |
| 1823 | for (i = 1; i < NUM_ACTORS; i++) { |
| 1824 | a = derefActor(i); |
1824 | 1825 | if (a->isInCurrentRoom()) |
1825 | 1826 | a->needRedraw = true; |
1826 | 1827 | } |
diff -ur ScummVM-cvs20030115/scummvm/scumm/script_v6.cpp ScummVM-cvs20030115+hack/scummvm/scumm/script_v6.cpp
old
|
new
|
|
2656 | 2656 | case 6: |
2657 | 2657 | _fullRedraw = 1; |
2658 | 2658 | redrawBGAreas(); |
2659 | | for (i = 0; i < NUM_ACTORS; i++) |
| 2659 | for (i = 1; i < NUM_ACTORS; i++) |
2660 | 2660 | derefActor(i)->needRedraw = true; |
2661 | 2661 | processActors(); |
2662 | 2662 | fadeIn(args[1]); |
diff -ur ScummVM-cvs20030115/scummvm/scumm/scumm.h ScummVM-cvs20030115+hack/scummvm/scumm/scumm.h
old
|
new
|
|
620 | 620 | /* Should be in Actor class */ |
621 | 621 | Actor *derefActor(int id); |
622 | 622 | Actor *derefActorSafe(int id, const char *errmsg); |
623 | | Actor *getFirstActor() { return _actors; } |
624 | 623 | void showActors(); |
625 | 624 | |
626 | 625 | uint32 *_classData; |
diff -ur ScummVM-cvs20030115/scummvm/scumm/scummvm.cpp ScummVM-cvs20030115+hack/scummvm/scumm/scummvm.cpp
old
|
new
|
|
233 | 233 | |
234 | 234 | // Allocate and Initialize actors |
235 | 235 | _actors = new Actor[NUM_ACTORS]; |
236 | | for (i = 1, a = getFirstActor(); ++a, i < NUM_ACTORS; i++) { |
| 236 | for (i = 1; i < NUM_ACTORS; i++) { |
| 237 | a = derefActor(i); |
237 | 238 | a->number = i; |
238 | 239 | a->initActorClass(this); |
239 | 240 | a->initActor(1); |
… |
… |
|
618 | 619 | clearEnqueue(); |
619 | 620 | stopCycle(0); |
620 | 621 | |
621 | | for (i = 1, at = getFirstActor(); ++at, i < NUM_ACTORS; i++) { |
| 622 | for (i = 1; i < NUM_ACTORS; i++) { |
| 623 | at = derefActor(i); |
622 | 624 | at->hideActor(); |
623 | 625 | } |
624 | 626 | |