diff -ur ScummVM-cvs20020901/scummvm/scumm/actor.cpp ScummVM-cvs20020901+hack/scummvm/scumm/actor.cpp
old
|
new
|
|
966 | 966 | } |
967 | 967 | } |
968 | 968 | |
969 | | void Scumm::setActorRedrawFlags() |
| 969 | void Scumm::setActorRedrawFlags(bool fg, bool bg) |
970 | 970 | { |
971 | 971 | int i, j; |
972 | 972 | uint32 bits; |
… |
… |
|
974 | 974 | if (_fullRedraw) { |
975 | 975 | for (j = 0; j < NUM_ACTORS; j++) { |
976 | 976 | Actor *a = derefActor(j); |
977 | | a->needRedraw = true; |
978 | | a->needBgReset = true; |
| 977 | if (fg) |
| 978 | a->needRedraw = true; |
| 979 | if (bg) |
| 980 | a->needBgReset = true; |
979 | 981 | } |
980 | 982 | } else { |
981 | 983 | for (i = 0; i < 40; i++) { |
… |
… |
|
984 | 986 | for (j = 0; j < NUM_ACTORS; j++) { |
985 | 987 | if ((bits & (1 << j)) && bits != (uint32)(1 << j)) { |
986 | 988 | Actor *a = derefActor(j); |
987 | | a->needRedraw = true; |
988 | | a->needBgReset = true; |
| 989 | if (fg) |
| 990 | a->needRedraw = true; |
| 991 | if (bg) |
| 992 | a->needBgReset = true; |
989 | 993 | } |
990 | 994 | } |
991 | 995 | } |
diff -ur ScummVM-cvs20020901/scummvm/scumm/scumm.h ScummVM-cvs20020901+hack/scummvm/scumm/scumm.h
old
|
new
|
|
704 | 704 | |
705 | 705 | void walkActors(); |
706 | 706 | void playActorSounds(); |
707 | | void setActorRedrawFlags(); |
| 707 | void setActorRedrawFlags(bool fg, bool bg); |
708 | 708 | void resetActorBgs(); |
709 | 709 | void processActors(); |
710 | 710 | int getActorFromPos(int x, int y); |
diff -ur ScummVM-cvs20020901/scummvm/scumm/scummvm.cpp ScummVM-cvs20020901+hack/scummvm/scumm/scummvm.cpp
old
|
new
|
|
443 | 443 | } |
444 | 444 | |
445 | 445 | processDrawQue(); |
446 | | setActorRedrawFlags(); |
| 446 | setActorRedrawFlags(true, true); |
447 | 447 | resetActorBgs(); |
448 | 448 | |
449 | 449 | if (!(_vars[VAR_CURRENT_LIGHTS] & LIGHTMODE_screen) && |
450 | 450 | _vars[VAR_CURRENT_LIGHTS] & LIGHTMODE_flashlight) { |
451 | 451 | drawFlashlight(); |
452 | | setActorRedrawFlags(); |
| 452 | setActorRedrawFlags(true, false); |
453 | 453 | } |
454 | 454 | |
455 | 455 | processActors(); |