From: Laszlo T. <ave...@us...> - 2006-05-26 18:44:31
|
Update of /cvsroot/gemrb/gemrb/gemrb/plugins/Core In directory sc8-pr-cvs11.sourceforge.net:/tmp/cvs-serv25339/plugins/Core Modified Files: Inventory.cpp Inventory.h Log Message: cleared up some effects based on new research results Index: Inventory.cpp =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/Inventory.cpp,v retrieving revision 1.73 retrieving revision 1.74 diff -C2 -d -r1.73 -r1.74 *** Inventory.cpp 22 May 2006 16:39:25 -0000 1.73 --- Inventory.cpp 26 May 2006 18:44:23 -0000 1.74 *************** *** 633,636 **** --- 633,652 ---- } + bool Inventory::ChangeItemFlag(unsigned int slot, ieDword arg, int op) + { + CREItem *item = GetSlotItem(slot); + if (!item) { + return false; + } + switch (op) { + case BM_SET: item->Flags = arg; break; + case BM_OR: item->Flags |= arg; break; + case BM_NAND: item->Flags &= ~arg; break; + case BM_XOR: item->Flags ^= arg; break; + case BM_AND: item->Flags &= arg; break; + } + return true; + } + //this is the low level equipping //all checks have been made previously Index: Inventory.h =================================================================== RCS file: /cvsroot/gemrb/gemrb/gemrb/plugins/Core/Inventory.h,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** Inventory.h 22 May 2006 16:39:25 -0000 1.46 --- Inventory.h 26 May 2006 18:44:23 -0000 1.47 *************** *** 264,267 **** --- 264,268 ---- /** Returns item in specified slot. Does NOT change inventory */ CREItem* GetSlotItem(unsigned int slot); + bool ChangeItemFlag(unsigned int slot, ieDword value, int mode); bool EquipItem(unsigned int slot); bool UnEquipItem(unsigned int slot, bool removecurse); |