Subversion Repositories Games.Carmageddon

Rev

Rev 1 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. #ifndef _FLICPLAY_H_
  2. #define _FLICPLAY_H_
  3.  
  4. #include "dr_types.h"
  5.  
  6. extern int gPalette_allocate_count;
  7. extern int gPalette_fuck_prevention;
  8. extern int gDark_mode;
  9. extern int gTransparency_on;
  10. extern int gPanel_flic_disable;
  11. extern int gPending_flic;
  12. extern int gPlay_from_disk;
  13. extern int gTrans_enabled;
  14. extern br_pixelmap* gPanel_buffer[2];
  15. extern tU32 gSound_time;
  16. extern tFlic_spec gMain_flic_list[372];
  17. extern int gFlic_bunch0[29];
  18. extern int gFlic_bunch1[31];
  19. extern int gFlic_bunch2[8];
  20. extern int gFlic_bunch3[13];
  21. extern int gFlic_bunch4[22];
  22. extern int gFlic_bunch5[5];
  23. extern int gFlic_bunch6[51];
  24. extern int gFlic_bunch7[7];
  25. extern int gFlic_bunch8[16];
  26. extern tFlic_bunch gFlic_bunch[9];
  27. extern char gLast_flic_name[14];
  28. extern tU32 gPanel_flic_data_length[2];
  29. extern tU32 gLast_panel_frame_time[2];
  30. extern tU8* gPanel_flic_data[2];
  31. extern int gPanel_flic_top[2];
  32. extern tFlic_descriptor gPanel_flic[2];
  33. extern int gPanel_flic_left[2];
  34. extern int gPending_pending_flic;
  35. extern int gSound_ID;
  36. extern int gTranslation_count;
  37. extern tDR_font* gTrans_fonts[15];
  38. extern tTranslation_record* gTranslations;
  39. extern br_pixelmap* gPalette;
  40. extern void* gPalette_pixels;
  41. extern tFlic_descriptor* gFirst_flic;
  42.  
  43. void EnableTranslationText(void);
  44.  
  45. void DisableTranslationText(void);
  46.  
  47. void SetFlicSound(int pSound_ID, tU32 pSound_time);
  48.  
  49. int TranslationMode(void);
  50.  
  51. void DontLetFlicFuckWithPalettes(void);
  52.  
  53. void LetFlicFuckWithPalettes(void);
  54.  
  55. void PlayFlicsInDarkness(void);
  56.  
  57. void ReilluminateFlics(void);
  58.  
  59. void TurnFlicTransparencyOn(void);
  60.  
  61. void TurnFlicTransparencyOff(void);
  62.  
  63. void PlayFlicsFromDisk(void);
  64.  
  65. void PlayFlicsFromMemory(void);
  66.  
  67. int FlicsPlayedFromDisk(void);
  68.  
  69. void TurnOffPanelFlics(void);
  70.  
  71. void TurnOnPanelFlics(void);
  72.  
  73. int GetPanelFlicFrameIndex(int pIndex);
  74.  
  75. void FlicPaletteAllocate(void);
  76.  
  77. void AssertFlicPixelmap(tFlic_descriptor_ptr pFlic_info, br_pixelmap* pDest_pixelmap);
  78.  
  79. int StartFlic(char* pFile_name, int pIndex, tFlic_descriptor_ptr pFlic_info, tU32 pSize, tS8* pData_ptr, br_pixelmap* pDest_pixelmap, int pX_offset, int pY_offset, int pFrame_rate);
  80.  
  81. void FreeFlicPaletteAllocate(void);
  82.  
  83. int EndFlic(tFlic_descriptor_ptr pFlic_info);
  84.  
  85. void DoColourMap(tFlic_descriptor_ptr pFlic_info, tU32 chunk_length);
  86.  
  87. void DoDifferenceX(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  88.  
  89. void DoDifferenceTrans(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  90.  
  91. void DoColour256(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  92.  
  93. void DoDeltaTrans(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  94.  
  95. void DoDeltaX(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  96.  
  97. void DoBlack(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  98.  
  99. void DoRunLengthX(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  100.  
  101. void DoRunLengthTrans(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  102.  
  103. void DoUncompressed(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  104.  
  105. void DoUncompressedTrans(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  106.  
  107. void DoMini(tFlic_descriptor* pFlic_info, tU32 chunk_length);
  108.  
  109. void DrawTranslations(tFlic_descriptor* pFlic_info, int pLast_frame);
  110.  
  111. int PlayNextFlicFrame2(tFlic_descriptor* pFlic_info, int pPanel_flic);
  112.  
  113. int PlayNextFlicFrame(tFlic_descriptor* pFlic_info);
  114.  
  115. int PlayFlic(int pIndex, tU32 pSize, tS8* pData_ptr, br_pixelmap* pDest_pixelmap, int pX_offset, int pY_offset, void (*DoPerFrame)(void), int pInterruptable, int pFrame_rate);
  116.  
  117. void SwapScreen(void);
  118.  
  119. void ShowFlic(int pIndex);
  120.  
  121. void InitFlics(void);
  122.  
  123. int LoadFlic(int pIndex);
  124.  
  125. void UnlockFlic(int pIndex);
  126.  
  127. int LoadFlicData(char* pName, tU8** pData, tU32* pData_length);
  128.  
  129. void FreeFlic(int pIndex);
  130.  
  131. void ForceRunFlic(int pIndex);
  132.  
  133. void RunFlicAt(int pIndex, int pX, int pY);
  134.  
  135. void RunFlic(int pIndex);
  136.  
  137. void PreloadBunchOfFlics(int pBunch_index);
  138.  
  139. void UnlockBunchOfFlics(int pBunch_index);
  140.  
  141. void FlushAllFlics(int pBunch_index);
  142.  
  143. void InitFlicQueue(void);
  144.  
  145. int FlicQueueFinished(void);
  146.  
  147. void ProcessFlicQueue(tU32 pInterval);
  148.  
  149. void FlushFlicQueue(void);
  150.  
  151. void AddToFlicQueue(int pIndex, int pX, int pY, int pMust_finish);
  152.  
  153. void InitialiseFlicPanel(int pIndex, int pLeft, int pTop, int pWidth, int pHeight);
  154.  
  155. void DisposeFlicPanel(int pIndex);
  156.  
  157. void ServicePanelFlics(int pCopy_to_buffer);
  158.  
  159. void ChangePanelFlic(int pIndex, tU8* pData, tU32 pData_length);
  160.  
  161. br_pixelmap* GetPanelPixelmap(int pIndex);
  162.  
  163. void LoadInterfaceStrings(void);
  164.  
  165. void FlushInterfaceFonts(void);
  166.  
  167. void SuspendPendingFlic(void);
  168.  
  169. void ResumePendingFlic(void);
  170.  
  171. #endif
  172.