CnC_Remastered_Collection

Command and Conquer: Red Alert
Log | Files | Refs | README | LICENSE

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