SOSRES.H (2918B)
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 9 // TiberianDawn.DLL and RedAlert.dll and corresponding source code is distributed 10 // in the hope that it will be useful, but with permitted additional restrictions 11 // under Section 7 of the GPL. See the GNU General Public License in LICENSE.TXT 12 // distributed with this program. You should have received a copy of the 13 // GNU General Public License along with permitted additional restrictions 14 // with this program. If not, see https://github.com/electronicarts/CnC_Remastered_Collection 15 16 /**************************************************************************** 17 18 File : sosres.h 19 20 Programmer(s) : Don Fowler, Nick Skrepetos 21 Date : 22 23 Purpose : Include Files For Zortech C++ Compiler 24 25 Last Updated : 26 27 **************************************************************************** 28 Copyright(c) 1993,1994 Human Machine Interfaces 29 All Rights Reserved 30 ****************************************************************************/ 31 32 #define _SOS_RESOURCE 33 #ifndef _SOS_RESOURCE 34 #define _SOS_RESOURCE 35 36 // structure for resource file header 37 typedef struct 38 { 39 // file version 40 WORD wVersion; 41 42 // file size 43 LONG dwFileSize; 44 45 // number of resources in file 46 WORD wResCount; 47 48 // offset of resource data from top of file 49 LONG dwResOffset; 50 51 // offset of sync track from top of file 52 LONG dwSyncTrackOffset; 53 54 } _RES_FILE_HEADER; 55 56 // structure for resource block header 57 typedef struct 58 { 59 // resource id 60 WORD wID; 61 62 // resource type 63 WORD wResType; 64 65 // offset of next block 66 LONG dwNextBlock; 67 68 // size of the current resource information 69 LONG dwResSize; 70 71 // rate to play block at 72 WORD wBlockRate; 73 74 // id for the sync track to use 75 WORD wSyncTrackID; 76 77 } _RES_BLOCK_HEADER; 78 79 // structure for sync mark tag 80 typedef struct _tagSYNCMARK 81 { 82 // ID of the type of mark being used 83 WORD wID; 84 85 // location in data of sync mark 86 LONG dwSyncOffset; 87 88 // length of sync block 89 LONG dwSyncSize; 90 91 // start sample data 92 _SOS_START_SAMPLE sampleData; 93 94 } _RES_SYNCMARK; 95 96 typedef union 97 { 98 // structure for sync mark tag 99 _RES_SYNCMARK syncMark; 100 101 } _RES_TAG; 102 103 // union for filter information for prepareWave 104 typedef union 105 { 106 // filter type 107 WORD wFilterID; 108 109 // structure for volume 110 struct volume 111 { 112 WORD wVolume; 113 }; 114 115 // structure for delay 116 struct delay 117 { 118 WORD wDelaySamples; 119 }; 120 121 } _SOS_FILTER; 122 123 124 #endif 125 126