FrameDataManager.h 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. ** Command & Conquer Generals(tm)
  3. ** Copyright 2025 Electronic Arts Inc.
  4. **
  5. ** This program is free software: you can redistribute it and/or modify
  6. ** it under the terms of the GNU General Public License as published by
  7. ** the Free Software Foundation, either version 3 of the License, or
  8. ** (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. See the
  13. ** GNU General Public License for more details.
  14. **
  15. ** You should have received a copy of the GNU General Public License
  16. ** along with this program. If not, see <http://www.gnu.org/licenses/>.
  17. */
  18. ////////////////////////////////////////////////////////////////////////////////
  19. // //
  20. // (c) 2001-2003 Electronic Arts Inc. //
  21. // //
  22. ////////////////////////////////////////////////////////////////////////////////
  23. #pragma once
  24. #ifndef __FRAMEDATAMANAGER_H
  25. #define __FRAMEDATAMANAGER_H
  26. #include "GameNetwork/NetworkDefs.h"
  27. #include "GameNetwork/FrameData.h"
  28. class FrameDataManager : public MemoryPoolObject
  29. {
  30. MEMORY_POOL_GLUE_WITH_USERLOOKUP_CREATE(FrameDataManager, "FrameDataManager")
  31. public:
  32. FrameDataManager(Bool isLocal);
  33. //virtual ~FrameDataManager();
  34. void init();
  35. void reset();
  36. void update();
  37. void addNetCommandMsg(NetCommandMsg *msg);
  38. void setIsLocal(Bool isLocal);
  39. FrameDataReturnType allCommandsReady(UnsignedInt frame, Bool debugSpewage);
  40. NetCommandList * getFrameCommandList(UnsignedInt frame);
  41. UnsignedInt getCommandCount(UnsignedInt frame);
  42. void setFrameCommandCount(UnsignedInt frame, UnsignedInt commandCount);
  43. UnsignedInt getFrameCommandCount(UnsignedInt frame);
  44. void zeroFrames(UnsignedInt startingFrame, UnsignedInt numFrames);
  45. void destroyGameMessages();
  46. void resetFrame(UnsignedInt frame, Bool isAdvancing = TRUE);
  47. void setQuitFrame(UnsignedInt frame);
  48. UnsignedInt getQuitFrame();
  49. Bool getIsQuitting();
  50. protected:
  51. FrameData *m_frameData;
  52. Bool m_isLocal;
  53. Bool m_isQuitting;
  54. UnsignedInt m_quitFrame;
  55. };
  56. #endif