[Scummvm-cvs-logs] CVS: scummvm/kyra kyra.cpp,1.89,1.90 kyra.h,1.47,1.48 staticres.cpp,1.23,1.24
Johannes Schickel
lordhoto at users.sourceforge.net
Wed Dec 14 06:09:31 CET 2005
Update of /cvsroot/scummvm/scummvm/kyra
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13293
Modified Files:
kyra.cpp kyra.h staticres.cpp
Log Message:
Implemented command line update when picking up or dropping down items.
Index: kyra.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/kyra.cpp,v
retrieving revision 1.89
retrieving revision 1.90
diff -u -d -r1.89 -r1.90
--- kyra.cpp 13 Dec 2005 16:56:33 -0000 1.89
+++ kyra.cpp 14 Dec 2005 14:08:30 -0000 1.90
@@ -2993,7 +2993,8 @@
itemDropDown(x, y, destX, destY, freeItem, item);
if (unk1 == 0 && unk2 != 0) {
- // XXX updateSentenceCommand
+ assert(_itemList && _droppedList);
+ updateSentenceCommand(_itemList[item], _droppedList[0], 179);
}
return 1;
@@ -3013,7 +3014,8 @@
// XXX snd_kyraPlaySound 53
setMouseItem(_itemInHand);
- // XXX
+ assert(_itemList && _takenList);
+ updateSentenceCommand(_itemList[_itemInHand], _takenList[1], 179);
_screen->showMouse();
clickEventHandler2();
}
@@ -3170,9 +3172,11 @@
return;
// call kyraPlaySound(54)
if (12 == countItemsInScene(_currentCharacter->sceneId)) {
- // XXX drawSentenceCommand
+ assert(_noDropList);
+ drawSentenceCommand(_noDropList[0], 6);
} else {
- // XXX drawSentenceCommand
+ assert(_noDropList);
+ drawSentenceCommand(_noDropList[1], 6);
}
}
@@ -4799,7 +4803,8 @@
int item2 = currentRoom->itemsTable[item];
currentRoom->itemsTable[item] = 0xFF;
setMouseItem(item2);
- // XXX updateSentenceCommand
+ assert(_itemList && _takenList);
+ updateSentenceCommand(_itemList[item2], _takenList[0], 179);
_itemInHand = item2;
_screen->showMouse();
clickEventHandler2();
Index: kyra.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/kyra.h,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- kyra.h 13 Dec 2005 16:56:33 -0000 1.47
+++ kyra.h 14 Dec 2005 14:08:30 -0000 1.48
@@ -689,6 +689,18 @@
int _seq_COLTable_Size;
int _seq_textsTable_Size;
+ char **_itemList;
+ char **_takenList;
+ char **_placedList;
+ char **_droppedList;
+ char **_noDropList;
+
+ int _itemList_Size;
+ int _takenList_Size;
+ int _placedList_Size;
+ int _droppedList_Size;
+ int _noDropList_Size;
+
char **_characterImageTable;
int _characterImageTableSize;
Index: staticres.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/kyra/staticres.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- staticres.cpp 12 Dec 2005 17:39:01 -0000 1.23
+++ staticres.cpp 14 Dec 2005 14:08:30 -0000 1.24
@@ -26,7 +26,7 @@
namespace Kyra {
-#define RESFILE_VERSION 3
+#define RESFILE_VERSION 4
#define GAME_FLAGS (GF_FLOPPY | GF_TALKIE | GF_DEMO | GF_AUDIOCD)
#define LANGUAGE_FLAGS (GF_ENGLISH | GF_FRENCH | GF_GERMAN | GF_SPANISH | GF_LNGUNK)
@@ -188,6 +188,12 @@
loadTable(resFile, "CHAR-IMAGE.TXT", (byte***)&_characterImageTable, &_characterImageTableSize);
loadShapes(resFile, "SHAPES-DEFAULT.SHP", &_defaultShapeTable, &_defaultShapeTableSize);
+
+ res_loadLangTable("ITEMLIST.", &resFile, (byte***)&_itemList, &_itemList_Size, loadNativeLanguage);
+ res_loadLangTable("TAKEN.", &resFile, (byte***)&_takenList, &_takenList_Size, loadNativeLanguage);
+ res_loadLangTable("PLACED.", &resFile, (byte***)&_placedList, &_placedList_Size, loadNativeLanguage);
+ res_loadLangTable("DROPPED.", &resFile, (byte***)&_droppedList, &_droppedList_Size, loadNativeLanguage);
+ res_loadLangTable("NODROP.", &resFile, (byte***)&_noDropList, &_noDropList_Size, loadNativeLanguage);
}
#undef loadRooms
@@ -258,6 +264,41 @@
delete [] _defaultShapeTable;
_defaultShapeTableSize = 0;
+
+ for (int i = 0; i < _itemList_Size; ++i) {
+ delete [] _itemList[i];
+ }
+ delete [] _itemList;
+ _itemList_Size = 0;
+ _itemList = 0;
+
+ for (int i = 0; i < _takenList_Size; ++i) {
+ delete [] _takenList[i];
+ }
+ delete [] _takenList;
+ _takenList_Size = 0;
+ _takenList = 0;
+
+ for (int i = 0; i < _placedList_Size; ++i) {
+ delete [] _placedList[i];
+ }
+ delete [] _placedList;
+ _placedList_Size = 0;
+ _placedList = 0;
+
+ for (int i = 0; i < _droppedList_Size; ++i) {
+ delete [] _droppedList[i];
+ }
+ delete [] _droppedList;
+ _droppedList_Size = 0;
+ _droppedList = 0;
+
+ for (int i = 0; i < _noDropList_Size; ++i) {
+ delete [] _noDropList[i];
+ }
+ delete [] _noDropList;
+ _noDropList_Size = 0;
+ _noDropList = 0;
}
}
More information about the Scummvm-git-logs
mailing list