animationk.h 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. #ifndef __ANIMATION_INCLUDE_
  2. #define __ANIMATION_INCLUDE_
  3. #include "2D_graphic.h"
  4. typedef struct
  5. {
  6. void *pParam;
  7. size_ptr iParam[2];
  8. END_FUNKCE pProc;
  9. int flag;
  10. } ANIM_TRIGER;
  11. typedef struct
  12. {
  13. int flag;
  14. RunHandle p_run;
  15. int p_matrix;
  16. int p_anim;
  17. int mesh[8];
  18. char bnext;
  19. ANIM_TRIGER tStart[2];
  20. ANIM_TRIGER tTriger[5];
  21. ANIM_TRIGER taMateral[3];
  22. char bconnected;
  23. } SIM_ANIMATION;
  24. typedef struct
  25. {
  26. int sim_anim[110];
  27. SIM_ANIMATION *p_animation;
  28. int Size_of_Anim;
  29. //HWND hWnd;
  30. AUDIO_DATA *p_ad;
  31. float frame_per_quater;
  32. } ANIMATION_MODULE;
  33. //init animation module
  34. int am_Init(ANIMATION_MODULE * p_am, LEVELINFO * p_Level);
  35. // release animation module
  36. void am_Release(ANIMATION_MODULE * p_am, LEVELINFO * p_Level);
  37. // get animaton status
  38. int am_Animation_Status(SIM_ANIMATION * p_animation, ANIMATION_MODULE * p_am);
  39. void am_Set_Start_Function(SIM_ANIMATION * p_animation, END_FUNKCE pStartf,
  40. size_ptr iParam1, size_ptr iParam2, size_ptr pParam, int index);
  41. void am_Set_Triger_Function(SIM_ANIMATION * p_animation, END_FUNKCE pTrigerf,
  42. size_ptr iParam1, size_ptr iParam2, size_ptr pParam, int flag, int index);
  43. void am_Set_aMaterial_Function(SIM_ANIMATION * p_animation, int i,
  44. END_FUNKCE taMateral, size_ptr iParam1, size_ptr iParam2, size_ptr pParam, int flag);
  45. void am_Animate_Items(ANIMATION_MODULE * p_am, LEVELINFO * p_Level);
  46. void am_Remove_Animate_item(long item, LEVELINFO * p_Level);
  47. void am_Remove_Animate_itemB(int iItem, LEVELINFO * p_Level);
  48. void am_Add_Animate_Item(long item, LEVELINFO * p_Level);
  49. void am_Add_Animate_ItemB(int iItem, LEVELINFO * p_Level);
  50. void am_Release_Animate_Items(ANIMATION_MODULE * p_am, LEVELINFO * p_Level);
  51. void am_Stop_Beetle_Animations(LEVELINFO * p_Level);
  52. void am_Set_aMaterial_Trigers(SIM_ANIMATION * p_animation, ITEMDESC * p_Item,
  53. LEVELINFO * p_Level);
  54. void am_Animate_Beetles(LEVELINFO * p_Level);
  55. void am_Remove_Beetle_Animation(int mesh, LEVELINFO * p_Level);
  56. int am_Add_Beetle_Animation(int mesh, LEVELINFO * p_Level, int iRot,
  57. char bExeption);
  58. void am_Init_Zhave_Castice(LEVELINFO * p_Level);
  59. void am_Do_Zhave_castice(LEVELINFO * p_Level);
  60. void am_Release_Zhave_castice(SYSTEMZHAVYCHCASTIC * pSystem);
  61. void am_Release_Kourove_Castice(SYSTEMKOUROVYCHCASTIC * pSystem);
  62. void am_Change_Wind(LEVELINFO * p_Level);
  63. void am_Do_Flares(LEVELINFO * p_Level);
  64. void am_Do_Lifts(LEVELINFO * p_Level);
  65. int am_Kola_na_Vode(float *pos, int VyskaSloupce, int VyskaPadu, int predmet,
  66. LEVELINFO * p_Level);
  67. void am_Do_Water(LEVELINFO * p_Level);
  68. void am_Do_Vodni_Cakanec1(float *pos, int vyska, int Predmet,
  69. LEVELINFO * p_Level);
  70. void am_Do_Vodni_Cakanec2(float *pos, int VyskaPadu, int predmet,
  71. LEVELINFO * p_Level);
  72. void am_Do_Lift_VParticles(float *pos, int mesh, LEVELINFO * p_Level);
  73. void am_Do_Water_KolaB(LEVELINFO * p_Level);
  74. int am_Kola_na_VodeB(float *pos, int Beruska, int mesh, int infinity, LEVELINFO * p_Level);
  75. void am_Do_Bubliny_Berusek(LEVELINFO * p_Level);
  76. void am_Do_Vybuch_Bublin(int *iPos, float *fPos, LEVELINFO * p_Level);
  77. void am_Do_BublVybuchy(LEVELINFO * p_Level);
  78. void am_Do_Exit(int Bmesh, int Emesh, LEVELINFO * p_Level);
  79. void am_Do_Exit_Efects(LEVELINFO * p_Level);
  80. void am_Create_Sparks_To_Exits(LEVELINFO * p_Level);
  81. void am_Do_Exit_Sparks(LEVELINFO * p_Level);
  82. void am_Do_TelCSparks(LEVELINFO * p_Level);
  83. void am_TurnOn_The_Teleport(ITEMDESC * pTel, LEVELINFO * p_Level);
  84. void am_TurnOff_The_Teleport(ITEMDESC * pTel, LEVELINFO * p_Level);
  85. int am_Create_Rain(LEVELINFO * p_Level, RAINSYSTEM * pRain, float fRadius,
  86. unsigned int uiDensity, unsigned int uiIntensity,
  87. float fmaxDivergence, float fSky);
  88. void am_Do_Rain(RAINSYSTEM * pRain);
  89. int am_Create_Snow(LEVELINFO * p_Level, SNOWSYSTEM * pSnow, float fRadius,
  90. unsigned int uiDensity, unsigned int uiIntensity,
  91. float fmaxDivergence, float fSky);
  92. void am_Do_Snow(SNOWSYSTEM * pSnow);
  93. int am_Create_Nature_Effect(LEVELINFO * p_Level, int iEffectID, float fRadius,
  94. unsigned int uiDensity, unsigned int uiIntensity,
  95. float fSky, float fLowPlane);
  96. void am_Do_Nature_Effects(LEVELINFO * p_Level);
  97. void am_Create_Water_Effect(LEVELINFO * p_Level);
  98. void am_Create_Prizemni_Mlhu(LEVELINFO * p_Level, float fDensity,
  99. float fHeight);
  100. void am_Start_Animace_Pontonek(LEVELINFO * p_Level);
  101. void am_Start_Animaci_Pontonky(ITEMDESC * pItem);
  102. void am_Start_Barels(LEVELINFO * p_Level);
  103. void am_Do_BarelSparks(LEVELINFO * p_Level);
  104. void am_Release_BarelSparks(LEVELINFO * p_Level, ITEMDESC * pBarel);
  105. void am_Do_BeatleSmokes(LEVELINFO * p_Level);
  106. void am_Obsluha_Koure_Brouku(LEVELINFO * p_Level);
  107. void am_Create_Steps_System(LEVELINFO * p_Level);
  108. void am_Set_Step(int iFoot, LEVELINFO * p_Level);
  109. void am_Release_Steps(LEVELINFO * p_Level);
  110. void am_Zero_Step(LEVELINFO * p_Level);
  111. void am_Do_Step(size_ptr param, size_ptr param2, size_ptr p_param);
  112. void am_Destroy_Steps(ITEMDESC * pItem, LEVELINFO * p_Level);
  113. void am_Do_BublSystemE(LEVELINFO * p_Level);
  114. void am_Create_BublSystem_Effect1(float *pos, LEVELINFO * p_Level, int iSize);
  115. void am_Create_BublSystem_Effect2(float *pos, LEVELINFO * p_Level, int iSize,
  116. float yPlane);
  117. void am_Do_BublSystemC(LEVELINFO * p_Level);
  118. void am_Start_Joint_Animations(void);
  119. void am_Create_Street_Light(LEVELINFO * p_Level, int iStart, int iPause,
  120. float *pos);
  121. void am_Do_Street_Lights(LEVELINFO * p_Level);
  122. void am_Do_Street_Lights_Release(LEVELINFO * p_Level);
  123. void am_Do_RainB(RAINSYSTEM * pRain);
  124. int am_Create_Water_CirclesB(LEVELINFO * p_Level, RAINSYSTEM * pRain,
  125. float fRadius, unsigned int uiDensity, unsigned int uiIntensity,
  126. float fmaxDivergence, float *rPos);
  127. void am_Flip(LEVELINFO * p_Level, ANIMATION_MODULE * p_am, char bAll,
  128. RECT_LINE * rline, int rsize, int bTutor, int bTText, int ty);
  129. void am_FlipA(LEVELINFO * p_Level, ANIMATION_MODULE * p_am, char bAll,
  130. RECT_LINE * rline, int rsize, int bTutor, int bTText, int ty);
  131. void am_Start_Gen_Animation(char *cMesh, LEVELINFO * p_Level);
  132. void am_Create_Swamp_Light(LEVELINFO * p_Level, int iStart, int iPause,
  133. float *pos);
  134. void am_Do_Swamp_Lights(LEVELINFO * p_Level);
  135. void am_Do_Swamp_Lights_Release(LEVELINFO * p_Level);
  136. void am_Gen_Swamp_Lights(LEVELINFO * p_Level, RECT * r);
  137. int am_Create_Fairies(LEVELINFO * p_Level, RECT * r);
  138. void am_Do_Fairies(LEVELINFO * p_Level);
  139. void am_Do_Star_Lights_Release(LEVELINFO * p_Level);
  140. void am_Gen_Star_Lights(LEVELINFO * p_Level, float *pos);
  141. void am_Do_Star_Lights(LEVELINFO * p_Level);
  142. void am_Do_StarFall(LEVELINFO * p_Level);
  143. int am_Create_Falling_Stars(LEVELINFO * p_Level, float *r);
  144. int am_Create_CandleSystem(float *pos, LEVELINFO * p_Level);
  145. void am_Do_CandleSparks(LEVELINFO * p_Level);
  146. int am_Create_CandleSmokeSystem(float *pos, LEVELINFO * p_Level);
  147. void am_Do_CandleSmoke(LEVELINFO * p_Level);
  148. void am_Start_Voda_Kanal(void);
  149. void am_Correct_Beetle_Animation(int mesh, LEVELINFO * p_Level, int rot);
  150. void am_Set_Beetle_Switching(LEVELINFO * p_Level, int mesh, int bSwitch);
  151. void am_Create_Item_Lights(LEVELINFO * p_Level);
  152. void am_Start_Voda_Akvarko(void);
  153. #endif