SOSRES.H 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. //
  2. // Copyright 2020 Electronic Arts Inc.
  3. //
  4. // TiberianDawn.DLL and RedAlert.dll and corresponding source code is free
  5. // software: you can redistribute it and/or modify it under the terms of
  6. // the GNU General Public License as published by the Free Software Foundation,
  7. // either version 3 of the License, or (at your option) any later version.
  8. // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed
  9. // in the hope that it will be useful, but with permitted additional restrictions
  10. // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT
  11. // distributed with this program. You should have received a copy of the
  12. // GNU General Public License along with permitted additional restrictions
  13. // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection
  14. /****************************************************************************
  15. File : sosres.h
  16. Programmer(s) : Don Fowler, Nick Skrepetos
  17. Date :
  18. Purpose : Include Files For Zortech C++ Compiler
  19. Last Updated :
  20. ****************************************************************************
  21. Copyright(c) 1993,1994 Human Machine Interfaces
  22. All Rights Reserved
  23. ****************************************************************************/
  24. #define _SOS_RESOURCE
  25. #ifndef _SOS_RESOURCE
  26. #define _SOS_RESOURCE
  27. // structure for resource file header
  28. typedef struct
  29. {
  30. // file version
  31. WORD wVersion;
  32. // file size
  33. LONG dwFileSize;
  34. // number of resources in file
  35. WORD wResCount;
  36. // offset of resource data from top of file
  37. LONG dwResOffset;
  38. // offset of sync track from top of file
  39. LONG dwSyncTrackOffset;
  40. } _RES_FILE_HEADER;
  41. // structure for resource block header
  42. typedef struct
  43. {
  44. // resource id
  45. WORD wID;
  46. // resource type
  47. WORD wResType;
  48. // offset of next block
  49. LONG dwNextBlock;
  50. // size of the current resource information
  51. LONG dwResSize;
  52. // rate to play block at
  53. WORD wBlockRate;
  54. // id for the sync track to use
  55. WORD wSyncTrackID;
  56. } _RES_BLOCK_HEADER;
  57. // structure for sync mark tag
  58. typedef struct _tagSYNCMARK
  59. {
  60. // ID of the type of mark being used
  61. WORD wID;
  62. // location in data of sync mark
  63. LONG dwSyncOffset;
  64. // length of sync block
  65. LONG dwSyncSize;
  66. // start sample data
  67. _SOS_START_SAMPLE sampleData;
  68. } _RES_SYNCMARK;
  69. typedef union
  70. {
  71. // structure for sync mark tag
  72. _RES_SYNCMARK syncMark;
  73. } _RES_TAG;
  74. // union for filter information for prepareWave
  75. typedef union
  76. {
  77. // filter type
  78. WORD wFilterID;
  79. // structure for volume
  80. struct volume
  81. {
  82. WORD wVolume;
  83. };
  84. // structure for delay
  85. struct delay
  86. {
  87. WORD wDelaySamples;
  88. };
  89. } _SOS_FILTER;
  90. #endif
  91.