IGameCallback.cpp 2.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. /*
  2. * IGameCallback.cpp, part of VCMI engine
  3. *
  4. * Authors: listed in file AUTHORS in main folder
  5. *
  6. * License: GNU General Public License v2.0 or later
  7. * Full text of license available in license.txt file, in main folder
  8. *
  9. */
  10. #include "StdInc.h"
  11. #include "IGameCallback.h"
  12. /*#include "CGameState.h"
  13. #include "mapping/CMap.h"
  14. #include "CObjectHandler.h"
  15. #include "CHeroHandler.h"
  16. #include "StartInfo.h"
  17. #include "CArtHandler.h"
  18. #include "CSpellHandler.h"
  19. #include "VCMI_Lib.h"
  20. #include "CTownHandler.h"
  21. #include "BattleState.h"*/
  22. #include "NetPacks.h"
  23. /*#include "CBuildingHandler.h"
  24. #include "GameConstants.h"
  25. #include "CModHandler.h"
  26. #include "CDefObjInfoHandler.h"
  27. #include "CBonusTypeHandler.h"
  28. #include "Connection.h"*/
  29. //TODO make clean
  30. /*#define ERROR_SILENT_RET_VAL_IF(cond, txt, retVal) do {if(cond){return retVal;}} while(0)
  31. #define ERROR_VERBOSE_OR_NOT_RET_VAL_IF(cond, verbose, txt, retVal) do {if(cond){if(verbose)logGlobal->errorStream() << BOOST_CURRENT_FUNCTION << ": " << txt; return retVal;}} while(0)
  32. #define ERROR_RET_IF(cond, txt) do {if(cond){logGlobal->errorStream() << BOOST_CURRENT_FUNCTION << ": " << txt; return;}} while(0)
  33. #define ERROR_RET_VAL_IF(cond, txt, retVal) do {if(cond){logGlobal->errorStream() << BOOST_CURRENT_FUNCTION << ": " << txt; return retVal;}} while(0)*/
  34. const CGObjectInstance * IGameCallback::putNewObject(Obj ID, int subID, int3 pos)
  35. {
  36. NewObject no;
  37. no.ID = ID; //creature
  38. no.subID= subID;
  39. no.pos = pos;
  40. commitPackage(&no);
  41. return getObj(no.id); //id field will be filled during applying on gs
  42. }
  43. const CGCreature * IGameCallback::putNewMonster(CreatureID creID, int count, int3 pos)
  44. {
  45. const CGObjectInstance *m = putNewObject(Obj::MONSTER, creID, pos);
  46. setObjProperty(m->id, ObjProperty::MONSTER_COUNT, count);
  47. setObjProperty(m->id, ObjProperty::MONSTER_POWER, (si64)1000*count);
  48. return dynamic_cast<const CGCreature*>(m);
  49. }
  50. bool IGameCallback::isVisitCoveredByAnotherQuery(const CGObjectInstance *obj, const CGHeroInstance *hero)
  51. {
  52. //only server knows
  53. assert(0);
  54. return false;
  55. }