⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 soundst.h

📁 The source code of Doom legacy for windows
💻 H
字号:
// Emacs style mode select   -*- C++ -*- //-----------------------------------------------------------------------------//// $Id: soundst.h,v 1.2 2000/02/27 00:42:12 hurdler Exp $//// Copyright (C) 1993-1996 by id Software, Inc.// Portions Copyright (C) 1998-2000 by DooM Legacy Team.//// This program is free software; you can redistribute it and/or// modify it under the terms of the GNU General Public License// as published by the Free Software Foundation; either version 2// of the License, or (at your option) any later version.//// This program is distributed in the hope that it will be useful,// but WITHOUT ANY WARRANTY; without even the implied warranty of// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the// GNU General Public License for more details.////// $Log: soundst.h,v $// Revision 1.2  2000/02/27 00:42:12  hurdler// fix CR+LF problem//// Revision 1.1.1.1  2000/02/22 20:32:33  hurdler// Initial import into CVS (v1.29 pr3)////// DESCRIPTION://      Sound (utility) related. Hang on.//      See gensounds.h and gensounds.c for what soundst.h is made of.////-----------------------------------------------------------------------------#ifndef __SOUNDSTH__#define __SOUNDSTH__#define S_MAX_VOLUME            127// when to clip out sounds// Doesn't fit the large outdoor areas.#define S_CLIPPING_DIST         (1200*0x10000)// when sounds should be max'd out#define S_CLOSE_DIST            (200*0x10000)#define S_ATTENUATOR            ((S_CLIPPING_DIST-S_CLOSE_DIST)>>FRACBITS)#define NORM_PITCH              128#define NORM_PRIORITY           64#define NORM_VOLUME             snd_MaxVolume#define S_PITCH_PERTURB         1#define NORM_SEP                        128#define S_STEREO_SWING          (96*0x10000)// % attenuation from front to back#define S_IFRACVOL                      30#define NA                              0#define S_NUMCHANNELS           2//// MusicInfo struct.//typedef struct{    // up to 6-character name    char*       name;    // lump number of music    int         lumpnum;        // music data    void*       data;    // music handle once registered    int handle;    } musicinfo_t;//// SoundFX struct.//typedef struct sfxinfo_struct   sfxinfo_t;struct sfxinfo_struct{    // up to 6-character name    char*       name;    // Sfx singularity (only one at a time)    int         singularity;    // Sfx priority    int         priority;    // referenced sound if a link    sfxinfo_t*  link;    // pitch if a link    int         pitch;    // volume if a link    int         volume;    // sound data    void*       data;    // this is checked every second to see if sound    // can be thrown out (if 0, then decrement, if -1,    // then throw out, if > 0, then it's in use)    int         usefulness;    // lump number of sfx    int         lumpnum;                };typedef struct{    // sound information (if null, channel avail.)    sfxinfo_t*  sfxinfo;    // origin of sound    void*       origin;    // handle of the sound being played    int         handle;    } channel_t;enum{    Music,    Sfx,    SfxLink};enum{    PC=1,    Adlib=2,    SB=4,    Midi=8}; // cards availableenum{    sfxThrowOut=-1,    sfxNotUsed=0};//// Initialize the sound code at start of level//void S_Start(void);//// Start sound for thing at <origin>//  using <sound_id> from sounds.h//extern voidS_StartSound( void*         origin,  int           sound_id );// Will start a sound at a given volume.extern voidS_StartSoundAtVolume( void*         origin,  int           sound_id,  int           volume );// Stop sound for thing at <origin>extern void S_StopSound(void* origin);// Start music using <music_id> from sounds.hextern void S_StartMusic(int music_id);// Start music using <music_id> from sounds.h,//  and set whether loopingextern voidS_ChangeMusic( int           music_id,  int           looping );// Stops the musicextern void S_StopMusic(void);void S_PauseSound(void);void S_ResumeSound(void);//// Updates music & sounds//extern void S_UpdateSounds(void* listener);void S_SetMusicVolume(int volume);void S_SetSfxVolume(int volume);//// Initializes sound stuff, including volume//voidS_Init( int   ,  int    );//// SOUND IO//#define FREQ_LOW                0x40#define FREQ_NORM               0x80#define FREQ_HIGH               0xffvoid I_SetMusicVolume(int volume);void I_SetSfxVolume(int volume);////  MUSIC I/O//void I_PauseSong(int handle);void I_ResumeSong(int handle);//// Called by anything that wishes to start music.//  plays a song, and when the song is done,//  starts playing it again in an endless loop.// Horrible thing to do, considering.voidI_PlaySong( int           handle,  int           looping );// stops a song over 3 seconds.void I_StopSong(int handle);// registers a song handle to song dataint I_RegisterSong(void *data);// see above then think backwardsvoid I_UnRegisterSong(int handle);// is the song playing?int I_QrySongPlaying(int handle);////  SFX I/O//void I_SetChannels(int channels);int I_GetSfxLumpNum (sfxinfo_t*);// Starts a sound in a particular sound channel.intI_StartSound( int           id,  void*         data,  int           vol,  int           sep,  int           pitch,  int           priority );// Updates the volume, separation,//  and pitch of a sound channel.voidI_UpdateSoundParams( int           handle,  int           vol,  int           sep,  int           pitch );// Stops a sound channel.void I_StopSound(int handle);// Called by S_*()'s to see if a channel is still playing.// Returns 0 if no longer playing, 1 if playing.int I_SoundIsPlaying(int handle);// the complete set of sound effectsextern sfxinfo_t        S_sfx[];// the complete set of musicextern musicinfo_t      S_music[];#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -