Demo.h 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //------------------------------------------------------------------------------------------------
  2. // version 0.0.1
  3. //------------------------------------------------------------------------------------------------
  4. #ifndef _DEMO_
  5. #define _DEMO_
  6. #include <time.h>
  7. #include "Bind.h"
  8. #include "Di.h"
  9. #define DEMO_HIVERSION 1
  10. #define DEMO_LOVERSION 1
  11. typedef struct _DEMOKEYFRAME
  12. {
  13. char Key; // key, that was pressed
  14. long Time; // time to next key
  15. struct _DEMOKEYFRAME *p_Next; // pointer to next DEMOKEYFRAME
  16. int bOvladaniBerusek1;
  17. int pos_o[3];
  18. int pos_n[3];
  19. } DEMOKEYFRAME;
  20. typedef struct
  21. {
  22. DEMOKEYFRAME *p_First; // pointer to first DEMOKEYFRAME
  23. DEMOKEYFRAME *p_Last; // pointer to first DEMOKEYFRAME
  24. long Frame_Counter; // stores number of created DEMOKEYFRAMEs+1
  25. DWORD Start; // start time
  26. DWORD Finish; // finist time
  27. TIMER_ID Timer_ID; // Timer ID for next frame
  28. int bOvladaniBerusek1;
  29. long dwTimeCounter;
  30. } DEMOSTRUCTURE;
  31. typedef struct
  32. {
  33. int iHiVer;
  34. int iLoVer;
  35. WCHAR cPlayerName[32];
  36. WCHAR cFileName[64];
  37. int iDemoID;
  38. int bOvladaniBerusek1;
  39. char cLevelName[32];
  40. int iLoadedLevel;
  41. int iReserved[100];
  42. int iLevel;
  43. int iScene;
  44. } DEMOFILEHEADER;
  45. // init demo saving
  46. DEMOKEYFRAME *demo_Init(DEMOSTRUCTURE * p_Demo);
  47. // add new demo key frame into the line
  48. DEMOKEYFRAME *demo_Create_Frame(DEMOSTRUCTURE * p_Demo);
  49. // Release demo key frame line
  50. void demo_Release(DEMOSTRUCTURE * p_Demo);
  51. // count eplaset time in millisecods
  52. DWORD demo_Eplased_Time(DWORD Start, DWORD Finish);
  53. // save demo
  54. int demo_Save(DEMOSTRUCTURE * p_Demo, char *p_File_Name, char Ovladani,
  55. char *cLevelName);
  56. // load demo
  57. int demo_Load(DEMOSTRUCTURE * p_Demo, char *p_File_Name, char *bOvladani,
  58. char *cLevel_Name, char *cLoadedSignature);
  59. int demo_Virual2Fuction(int iVirtualKey, CONTROL_KEYS * p_keys);
  60. int demo_Fuction2Virtual(int iFunctionKey, CONTROL_KEYS * p_keys);
  61. int demo_Create_Sequence(int *pKeyLine, int iKLSize, DEMOKEYFRAME * pFrame,
  62. char *pBerusky1, int Rotation, CONTROL_KEYS * p_cont, DEMOSTRUCTURE * pDemo,
  63. int *pos_a);
  64. int demo_Check_Owner(WCHAR * wPlayer, char *cDemo, WCHAR * wDemoName);
  65. int demo_SaveWC(DEMOSTRUCTURE * p_Demo, WCHAR * wcName, char Ovladani,
  66. char *cLevelName, char *cLoadSignature);
  67. int demo_Exist(WCHAR * wName, char *cFile);
  68. void demo_Set_Scene_Level(char *cDemo, int *pScene, int *pLevel);
  69. #endif