engine.h
上传用户:market2
上传日期:2018-11-18
资源大小:18786k
文件大小:2k
源码类别:

外挂编程

开发平台:

Windows_Unix

  1. /*
  2.  * OpenKore - Padded Packet Emulator.
  3.  * Copyright (c) 2007 kLabMouse, Japplegame, and many other contributors
  4.  *
  5.  * This program is free software; you can redistribute it and/or
  6.  * modify it under the terms of the GNU General Public License
  7.  * as published by the Free Software Foundation; either version 2
  8.  * of the License, or (at your option) any later version.
  9.  *
  10.  * This program is distributed in the hope that it will be useful,
  11.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13.  * See http://www.gnu.org/licenses/gpl.html for the full license.
  14.  */
  15. #ifndef _PPENGINE_H_
  16. #define _PPENGINE_H_
  17. #include "typedefs.h"
  18. #include "block.h"
  19. namespace OpenKore {
  20. namespace PaddedPackets {
  21. #define PPENGINE_BUFSIZE 512
  22. class Engine {
  23. public:
  24. Engine();
  25. ~Engine();
  26. void addKey(dword data);
  27. dword getKey(unsigned int index) const;
  28. void setSync(dword sync);
  29. void setMapSync(dword mapSync);
  30. void setAccId(dword accId);
  31. // generates packet to destAddr and returns length of packet
  32. unsigned int encode(byte *dest, word type);
  33. // decodes packet from src and peeks given number of keys.
  34. // Use GetKey() to actually get the keys
  35. void decode(byte *src, unsigned int keys);
  36. // copy external packet to internal buffer
  37. void setPacket(byte *packet, dword len);
  38. private:
  39. Block inputKeys, outputKeys;
  40. dword serverMapSync, clientSync, clientAccId;
  41. byte  pktBuffer[PPENGINE_BUFSIZE];
  42. };
  43. } // PaddedPackets
  44. } // OpenKore
  45. #endif /* _PPENGINE_H_ */