Clone of PhatAC @ https://github.com/floaterxk/PhatAC

TurbinePortal.cpp 1.7KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697
  1. #include "StdAfx.h"
  2. #include "TurbinePortal.h"
  3. TurbinePortal::TurbinePortal()
  4. {
  5. #if PRE_TOD_DATA_FILES
  6. LoadFile("portal.dat");
  7. #else
  8. LoadFile("client_portal.dat");
  9. #endif
  10. }
  11. ANIMATION* TurbinePortal::GetAnimation(DWORD dwAnimID)
  12. {
  13. ANIMATION* pAnimation = (ANIMATION *)FindObject(dwAnimID);
  14. if (!pAnimation)
  15. {
  16. TURBINEFILE* pFile = GetFile(dwAnimID);
  17. if (pFile)
  18. {
  19. pAnimation = new ANIMATION(dwAnimID);
  20. pAnimation->Initialize(pFile->GetData(), pFile->GetLength());
  21. InsertObject(dwAnimID, pAnimation);
  22. delete pFile;
  23. }
  24. }
  25. return pAnimation;
  26. }
  27. ANIMATIONSET* TurbinePortal::GetAnimationSet(DWORD dwAnimSetID)
  28. {
  29. ANIMATIONSET* pAnimationSet = (ANIMATIONSET *)FindObject(dwAnimSetID);
  30. if (!pAnimationSet)
  31. {
  32. TURBINEFILE* pFile = GetFile(dwAnimSetID);
  33. if (pFile)
  34. {
  35. pAnimationSet = new ANIMATIONSET(dwAnimSetID);
  36. pAnimationSet->Initialize(pFile->GetData(), pFile->GetLength());
  37. InsertObject(dwAnimSetID, pAnimationSet);
  38. delete pFile;
  39. }
  40. }
  41. return pAnimationSet;
  42. }
  43. DUNGEON* TurbinePortal::GetDungeon(DWORD dwBlockID)
  44. {
  45. DUNGEON* pDungeon = (DUNGEON *)FindObject(dwBlockID);
  46. if (!pDungeon)
  47. {
  48. TURBINEFILE* pFile = GetFile(dwBlockID);
  49. if (pFile)
  50. {
  51. pDungeon = new DUNGEON(dwBlockID);
  52. pDungeon->Initialize(pFile->GetData(), pFile->GetLength());
  53. InsertObject(dwBlockID, pDungeon);
  54. delete pFile;
  55. }
  56. }
  57. return pDungeon;
  58. }
  59. XPTABLE* TurbinePortal::GetXPTable(DWORD dwTableID)
  60. {
  61. XPTABLE* pXPTable = (XPTABLE *)FindObject(dwTableID);
  62. if (!pXPTable)
  63. {
  64. TURBINEFILE* pFile = GetFile(dwTableID);
  65. if (pFile)
  66. {
  67. pXPTable = new XPTABLE(dwTableID);
  68. pXPTable->Initialize(pFile->GetData(), pFile->GetLength());
  69. InsertObject(dwTableID, pXPTable);
  70. delete pFile;
  71. }
  72. }
  73. return pXPTable;
  74. }