diff -ur ScummVM-cvs20020930/scummvm/scumm/script_v2.cpp ScummVM-cvs20020930+hack/scummvm/scumm/script_v2.cpp
old
|
new
|
|
2077 | 2077 | VerbSlot *vs; |
2078 | 2078 | byte *ptr, op; |
2079 | 2079 | |
| 2080 | // Full Throttle implements conversation by creating new verbs, one |
| 2081 | // for each option, but it never tells when to actually draw them. |
| 2082 | |
| 2083 | if (_gameId == GID_FT) |
| 2084 | _verbRedraw = true; |
| 2085 | |
2080 | 2086 | op = fetchScriptByte(); |
2081 | 2087 | if (op == 196) { |
2082 | 2088 | _curVerb = pop(); |
diff -ur ScummVM-cvs20020930/scummvm/scumm/scumm.h ScummVM-cvs20020930+hack/scummvm/scumm/scumm.h
old
|
new
|
|
756 | 756 | uint32 _IM00_offs, _PALS_offs; |
757 | 757 | |
758 | 758 | //ender: fullscreen |
759 | | bool _fullRedraw, _BgNeedsRedraw, _shakeEnabled; |
| 759 | bool _fullRedraw, _BgNeedsRedraw, _shakeEnabled, _verbRedraw; |
760 | 760 | bool _screenEffectFlag, _completeScreenRedraw; |
761 | 761 | |
762 | 762 | int _cursorHotspotX, _cursorHotspotY, _cursorWidth, _cursorHeight; |
diff -ur ScummVM-cvs20020930/scummvm/scumm/scummvm.cpp ScummVM-cvs20020930+hack/scummvm/scumm/scummvm.cpp
old
|
new
|
|
471 | 471 | } |
472 | 472 | |
473 | 473 | processDrawQue(); |
| 474 | |
| 475 | if (_verbRedraw) |
| 476 | redrawVerbs(); |
| 477 | |
474 | 478 | setActorRedrawFlags(true, true); |
475 | 479 | resetActorBgs(); |
476 | 480 | |
… |
… |
|
1480 | 1484 | _maxHeapThreshold = 450000; |
1481 | 1485 | _minHeapThreshold = 400000; |
1482 | 1486 | |
| 1487 | _verbRedraw = false; |
| 1488 | |
1483 | 1489 | // Create a primary virtual screen |
1484 | 1490 | _videoBuffer = (byte *)calloc((_realWidth + 8) * _realHeight, 1); |
1485 | 1491 | |
diff -ur ScummVM-cvs20020930/scummvm/scumm/verbs.cpp ScummVM-cvs20020930+hack/scummvm/scumm/verbs.cpp
old
|
new
|
|
31 | 31 | for (i = 0; i < _maxVerbs; i++) |
32 | 32 | drawVerb(i, 0); |
33 | 33 | verbMouseOver(0); |
| 34 | _verbRedraw = false; |
34 | 35 | } |
35 | 36 | |
36 | 37 | void Scumm::checkExecVerbs() |