RCS file: /cvsroot/scummvm/scummvm/costume.cpp,v
retrieving revision 1.9
diff -u -r1.9 costume.cpp
|
|
|
670 | 670 | } |
671 | 671 | |
672 | 672 | void CostumeRenderer::loadCostume(int id) { |
673 | | _ptr = _vm->getResourceAddress(3, id); |
| 673 | _ptr = _vm->getResourceAddress(rtCostume, id); |
674 | 674 | |
675 | 675 | if (_vm->_majorScummVersion == 6) { |
676 | 676 | _ptr += 8; |
RCS file: /cvsroot/scummvm/scummvm/gfx.cpp,v
retrieving revision 1.19
diff -u -r1.19 gfx.cpp
|
|
|
255 | 255 | int t; |
256 | 256 | CameraData *cd = &camera; |
257 | 257 | |
258 | | if (cd->_mode!=2 || abs(dest - cd->_curPos) > 160) { |
| 258 | if (cd->_mode!=CM_FOLLOW_ACTOR || abs(dest - cd->_curPos) > 160) { |
259 | 259 | cd->_curPos = dest; |
260 | 260 | } |
261 | 261 | cd->_destPos = dest; |
… |
… |
|
279 | 279 | int t,i; |
280 | 280 | CameraData *cd = &camera; |
281 | 281 | |
282 | | cd->_mode = 2; |
| 282 | cd->_mode = CM_FOLLOW_ACTOR; |
283 | 283 | cd->_follows = a->number; |
284 | 284 | |
285 | 285 | if (a->room != _currentRoom) { |
286 | 286 | startScene(a->room, 0, 0); |
287 | | cd->_mode = 2; |
| 287 | cd->_mode = CM_FOLLOW_ACTOR; |
288 | 288 | cd->_curPos = a->x; |
289 | 289 | setCameraAt(cd->_curPos); |
290 | 290 | } |
… |
… |
|
1453 | 1453 | return; |
1454 | 1454 | } |
1455 | 1455 | |
1456 | | if (cd->_mode==2) { |
| 1456 | if (cd->_mode==CM_FOLLOW_ACTOR) { |
1457 | 1457 | a = derefActorSafe(cd->_follows, "moveCamera"); |
1458 | 1458 | |
1459 | 1459 | actorx = a->x; |
… |
… |
|
1520 | 1520 | void Scumm::panCameraTo(int x) { |
1521 | 1521 | CameraData *cd = &camera; |
1522 | 1522 | cd->_destPos = x; |
1523 | | cd->_mode = 3; |
| 1523 | cd->_mode = CM_PANNING; |
1524 | 1524 | cd->_movingToActor = 0; |
1525 | 1525 | } |
1526 | 1526 | |
… |
… |
|
1530 | 1530 | |
1531 | 1531 | /* mi1 compatibilty */ |
1532 | 1532 | if (act==0) { |
1533 | | cd->_mode = 1; |
| 1533 | cd->_mode = CM_NORMAL; |
1534 | 1534 | cd->_follows = 0; |
1535 | 1535 | cd->_movingToActor = 0; |
1536 | 1536 | return; |
… |
… |
|
1546 | 1546 | |
1547 | 1547 | void Scumm::setCameraAtEx(int at) { |
1548 | 1548 | CameraData *cd = &camera; |
1549 | | cd->_mode = 1; |
| 1549 | cd->_mode = CM_NORMAL; |
1550 | 1550 | cd->_curPos = at; |
1551 | 1551 | setCameraAt(at); |
1552 | 1552 | cd->_movingToActor = 0; |
RCS file: /cvsroot/scummvm/scummvm/gui.cpp,v
retrieving revision 1.2
diff -u -r1.2 gui.cpp
|
|
|
450 | 450 | } |
451 | 451 | |
452 | 452 | _s->getKeyInput(0); |
453 | | if (_s->_mouseButStat&0x8000) { |
| 453 | if (_s->_mouseButStat&MBS_LEFT_CLICK) { |
454 | 454 | leftMouseClick(_s->mouse.x, _s->mouse.y); |
455 | 455 | } else if (_s->_lastKeyHit) { |
456 | 456 | addLetter(_s->_lastKeyHit); |
RCS file: /cvsroot/scummvm/scummvm/object.cpp,v
retrieving revision 1.14
diff -u -r1.14 object.cpp
|
|
|
758 | 758 | cdhd = (CodeHeader*)findResource(MKID('CDHD'), obim, 0); |
759 | 759 | imhd = (ImageHeader*)findResource(MKID('IMHD'), ptr, 0); |
760 | 760 | } else { |
761 | | ensureResourceLoaded(1, room); |
762 | | roomptr = getResourceAddress(1, room); |
| 761 | ensureResourceLoaded(rtRoom, room); |
| 762 | roomptr = getResourceAddress(rtRoom, room); |
763 | 763 | rmhd = (RoomHeader*)findResource(MKID('RMHD'), roomptr, 0); |
764 | 764 | |
765 | 765 | numobj = READ_LE_UINT16(&rmhd->numObjects); |
… |
… |
|
881 | 881 | _lastXstart = vs->xstart; |
882 | 882 | |
883 | 883 | if (eo->l==0) { |
884 | | roomptr = getResourceAddress(1, _roomResource); |
| 884 | roomptr = getResourceAddress(rtRoom, _roomResource); |
885 | 885 | index = getObjectIndex(eo->a); |
886 | 886 | ptr = roomptr + _objs[index].offs_obim_to_room; |
887 | 887 | } else if (eo->a!=0) { |
RCS file: /cvsroot/scummvm/scummvm/resource.cpp,v
retrieving revision 1.19
diff -u -r1.19 resource.cpp
|
|
|
395 | 395 | |
396 | 396 | checkRange(_maxCharsets-1, 1, no, "Loading illegal charset %d"); |
397 | 397 | // ensureResourceLoaded(6, no); |
398 | | ptr = getResourceAddress(6, no); |
| 398 | ptr = getResourceAddress(rtCharset, no); |
399 | 399 | |
400 | 400 | for (i=0; i<15; i++) { |
401 | 401 | _charsetData[no][i+1] = ptr[i+14]; |
… |
… |
|
571 | 571 | } |
572 | 572 | |
573 | 573 | void Scumm::setResourceCounter(int type, int index, byte flag) { |
574 | | res.flags[type][index] &= 0x80; |
| 574 | res.flags[type][index] &= RF_LOCK; |
575 | 575 | res.flags[type][index] |= flag; |
576 | 576 | } |
577 | 577 | |
… |
… |
|
663 | 663 | |
664 | 664 | void Scumm::lock(int type, int i) { |
665 | 665 | validateResource("Locking", type, i); |
666 | | res.flags[type][i] |= 0x80; |
| 666 | res.flags[type][i] |= RF_LOCK; |
667 | 667 | |
668 | 668 | // debug(1, "locking %d,%d", type, i); |
669 | 669 | } |
670 | 670 | |
671 | 671 | void Scumm::unlock(int type, int i) { |
672 | 672 | validateResource("Unlocking", type, i); |
673 | | res.flags[type][i] &= ~0x80; |
| 673 | res.flags[type][i] &= ~RF_LOCK; |
674 | 674 | |
675 | 675 | // debug(1, "unlocking %d,%d", type, i); |
676 | 676 | } |
… |
… |
|
697 | 697 | |
698 | 698 | for (i=rtFirst; i<=rtLast; i++) { |
699 | 699 | for(j=res.num[i]; --j>=0;) { |
700 | | counter = res.flags[i][j] & 0x7F; |
701 | | if (counter && counter < 0x7F) { |
| 700 | counter = res.flags[i][j] & ~RF_LOCK; |
| 701 | if (counter && counter < ~RF_LOCK) { |
702 | 702 | setResourceCounter(i, j, counter+1); |
703 | 703 | } |
704 | 704 | } |
RCS file: /cvsroot/scummvm/scummvm/saveload.cpp,v
retrieving revision 1.14
diff -u -r1.14 saveload.cpp
|
|
|
466 | 466 | if (s->isSaving()) { |
467 | 467 | for (i=rtFirst; i<=rtLast; i++) |
468 | 468 | for(j=1; j<res.num[i]; j++) { |
469 | | if (res.flags[i][j]&0x80) { |
| 469 | if (res.flags[i][j]&RF_LOCK) { |
470 | 470 | s->saveByte(i); |
471 | 471 | s->saveWord(j); |
472 | 472 | } |
… |
… |
|
475 | 475 | } else { |
476 | 476 | int r; |
477 | 477 | while ((r = s->loadByte()) != 0xFF) { |
478 | | res.flags[r][s->loadWord()] |= 0x80; |
| 478 | res.flags[r][s->loadWord()] |= RF_LOCK; |
479 | 479 | } |
480 | 480 | } |
481 | 481 | } |
RCS file: /cvsroot/scummvm/scummvm/script_v1.cpp,v
retrieving revision 1.12
diff -u -r1.12 script_v1.cpp
|
|
|
1640 | 1640 | case 3: /* set string char */ |
1641 | 1641 | a = getVarOrDirectByte(0x80); |
1642 | 1642 | b = getVarOrDirectByte(0x40); |
1643 | | ptr = getResourceAddress(7, a); |
| 1643 | ptr = getResourceAddress(rtString, a); |
1644 | 1644 | if (ptr==NULL) error("String %d does not exist", a); |
1645 | 1645 | c = getVarOrDirectByte(0x20); |
1646 | 1646 | ptr[b] = c; |
RCS file: /cvsroot/scummvm/scummvm/scumm.h,v
retrieving revision 1.26
diff -u -r1.26 scumm.h
|
|
|
330 | 330 | OF_STATE_SHL = 4 |
331 | 331 | }; |
332 | 332 | |
| 333 | enum { |
| 334 | MBS_LEFT_CLICK = 0x8000, |
| 335 | MBS_RIGHT_CLICK = 0x4000, |
| 336 | MBS_MOUSE_MASK = 0xC000, |
| 337 | MBS_MAX_KEY = 0x0200 |
| 338 | }; |
| 339 | |
| 340 | enum { |
| 341 | RF_LOCK = 0x80 |
| 342 | }; |
| 343 | |
| 344 | enum { |
| 345 | CM_NORMAL = 1, |
| 346 | CM_FOLLOW_ACTOR = 2, |
| 347 | CM_PANNING = 3, |
| 348 | }; |
| 349 | |
333 | 350 | #define _maxRooms res.num[rtRoom] |
334 | 351 | #define _maxScripts res.num[rtScript] |
335 | 352 | #define _maxCostumes res.num[rtCostume] |
RCS file: /cvsroot/scummvm/scummvm/scummvm.cpp,v
retrieving revision 1.25
diff -u -r1.25 scummvm.cpp
|
|
|
815 | 815 | _mouseButStat = 0; |
816 | 816 | _lastKeyHit = _vars[VAR_CUTSCENEEXIT_KEY]; |
817 | 817 | } else if (_leftBtnPressed&1) { |
818 | | _mouseButStat = 0x8000; |
| 818 | _mouseButStat = MBS_LEFT_CLICK; |
819 | 819 | } else if (_rightBtnPressed&1) { |
820 | | _mouseButStat = 0x4000; |
| 820 | _mouseButStat = MBS_RIGHT_CLICK; |
821 | 821 | } |
822 | 822 | |
823 | 823 | _leftBtnPressed &= ~1; |
… |
… |
|
829 | 829 | void Scumm::convertKeysToClicks() { |
830 | 830 | if (_lastKeyHit && _cursorState>0) { |
831 | 831 | if (_lastKeyHit==9) { |
832 | | _mouseButStat = 0x4000; |
| 832 | _mouseButStat = MBS_RIGHT_CLICK; |
833 | 833 | } else if (_lastKeyHit==13) { |
834 | | _mouseButStat = 0x8000; |
| 834 | _mouseButStat = MBS_LEFT_CLICK; |
835 | 835 | } else |
836 | 836 | return; |
837 | 837 | _lastKeyHit = 0; |
RCS file: /cvsroot/scummvm/scummvm/verbs.cpp,v
retrieving revision 1.9
diff -u -r1.9 verbs.cpp
|
|
|
36 | 36 | if (_userPut<=0 || _mouseButStat==0) |
37 | 37 | return; |
38 | 38 | |
39 | | if (_mouseButStat < 0x200) { |
| 39 | if (_mouseButStat < MBS_MAX_KEY) { |
40 | 40 | /* Check keypresses */ |
41 | 41 | vs = &_verbs[1]; |
42 | 42 | for (i=1; i<_maxVerbs; i++,vs++) { |
… |
… |
|
48 | 48 | } |
49 | 49 | } |
50 | 50 | runInputScript(4, _mouseButStat, 1); |
51 | | } else if (_mouseButStat&0xC000) { |
52 | | byte code = _mouseButStat&0x8000 ? 1 : 2; |
| 51 | } else if (_mouseButStat&MBS_MOUSE_MASK) { |
| 52 | byte code = _mouseButStat&MBS_LEFT_CLICK ? 1 : 2; |
53 | 53 | if (mouse.y >= virtscr[0].topline && mouse.y < virtscr[0].topline + virtscr[0].height) { |
54 | 54 | over = checkMouseOver(mouse.x, mouse.y); |
55 | 55 | if (over != 0) { |