mirror of
https://git.code.sf.net/p/quake/quakeforge
synced 2024-11-22 20:41:20 +00:00
Remove duplicate sound.h, move some things down from include/QF to include.
Prepare for joystick merge...
This commit is contained in:
parent
334b528a40
commit
cbb4af711c
32 changed files with 42 additions and 713 deletions
|
@ -1,4 +1,6 @@
|
|||
## Process this file with automake to produce Makefile.in
|
||||
AUTOMAKE_OPTIONS= foreign
|
||||
SUBDIRS = QF
|
||||
includedir = $(prefix)/include
|
||||
include_HEADERS = cdaudio.h fbset.h in_win.h input.h joystick.h sound.h
|
||||
EXTRA_DIST =
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
AUTOMAKE_OPTIONS = foreign
|
||||
includedir = $(prefix)/include/QF
|
||||
include_HEADERS = asm_i386.h checksum.h cdaudio.h cmd.h compat.h \
|
||||
include_HEADERS = asm_i386.h checksum.h cmd.h compat.h \
|
||||
console.h crc.h cvar.h gcc_attr.h hash.h info.h \
|
||||
keys.h link.h mathlib.h mdfour.h msg.h pr_comp.h \
|
||||
progs.h qargs.h qdefs.h qendian.h qfplist.h qtypes.h \
|
||||
quakefs.h quakeio.h sizebuf.h sound.h sys.h uint32.h \
|
||||
quakefs.h quakeio.h sizebuf.h sys.h uint32.h \
|
||||
va.h ver_check.h zone.h
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
sound.h
|
||||
|
||||
(description)
|
||||
Sound headers.
|
||||
|
||||
Copyright (C) 1996-1997 Id Software, Inc.
|
||||
|
||||
|
@ -38,9 +38,11 @@
|
|||
#define AMBIENT_SKY 1
|
||||
#define AMBIENT_SLIME 2
|
||||
#define AMBIENT_LAVA 3
|
||||
|
||||
#define NUM_AMBIENTS 4 // automatic ambient sounds
|
||||
|
||||
#define DEFAULT_SOUND_PACKET_VOLUME 255
|
||||
#define DEFAULT_SOUND_PACKET_ATTENUATION 1.0
|
||||
|
||||
// !!! if this is changed, it must be changed in asm_i386.h too !!!
|
||||
typedef struct
|
||||
{
|
|
@ -56,7 +56,7 @@
|
|||
|
||||
#include "QF/console.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
|
||||
#ifndef MAP_FAILED
|
||||
# define MAP_FAILED ((void*)-1)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include <sys/asoundlib.h>
|
||||
|
||||
#include "QF/qtypes.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "QF/console.h"
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
#include <sys/types.h>
|
||||
|
||||
#include "QF/console.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
#include "QF/qargs.h"
|
||||
|
||||
static int snd_inited;
|
||||
|
|
|
@ -49,7 +49,12 @@ void IN_Accumulate (void);//XXX FIXME
|
|||
#include "QF/model.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "QF/sys.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
#include "winquake.h"
|
||||
#include "in_win.h"
|
||||
#endif
|
||||
|
||||
void S_Play (void);
|
||||
void S_PlayVol (void);
|
||||
|
|
|
@ -39,7 +39,7 @@
|
|||
#include "QF/console.h"
|
||||
#include "QF/qendian.h"
|
||||
#include "QF/quakefs.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
#include "QF/sys.h"
|
||||
|
||||
int cache_full_cycle;
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
|
||||
#include "QF/compat.h"
|
||||
#include "QF/console.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
|
||||
#ifdef _WIN32
|
||||
# include "winquake.h"
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
*/
|
||||
|
||||
#include "QF/qtypes.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
|
||||
// =======================================================================
|
||||
// Various variables also defined in snd_dma.c
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
#include "QF/cmd.h"
|
||||
#include "QF/console.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
|
||||
#ifndef MAP_FAILED
|
||||
# define MAP_FAILED ((void *) -1)
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "QF/cmd.h"
|
||||
#include "QF/console.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
|
||||
static dma_t the_shm;
|
||||
static int snd_inited;
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "QF/console.h"
|
||||
#include "QF/qtypes.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
|
||||
static int snd_inited = 0;
|
||||
static ALconfig alc;
|
||||
|
|
|
@ -46,10 +46,10 @@
|
|||
#include <sys/audioio.h>
|
||||
#include <errno.h>
|
||||
|
||||
#include "QF/qtypes.h"
|
||||
#include "QF/sound.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "QF/console.h"
|
||||
#include "QF/qtypes.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "sound.h"
|
||||
|
||||
int audio_fd;
|
||||
int snd_inited;
|
||||
|
|
|
@ -35,7 +35,7 @@
|
|||
#include "winquake.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "QF/console.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
|
||||
#define iDirectSoundCreate(a,b,c) pDirectSoundCreate(a,b,c)
|
||||
|
||||
|
|
|
@ -1,60 +0,0 @@
|
|||
/*
|
||||
input.h
|
||||
|
||||
External (non-keyboard) input devices
|
||||
|
||||
Copyright (C) 1996-1997 Id Software, Inc.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
$Id$
|
||||
*/
|
||||
|
||||
#ifndef _INPUT_H
|
||||
#define _INPUT_H
|
||||
|
||||
#include "QF/cvar.h"
|
||||
#include "protocol.h"
|
||||
#include "QF/qtypes.h"
|
||||
|
||||
#define freelook (in_mlook.state&1 || cl_freelook->int_val)
|
||||
|
||||
void IN_Init (void);
|
||||
void IN_Init_Cvars (void);
|
||||
|
||||
void IN_Shutdown (void);
|
||||
|
||||
void IN_Commands (void);
|
||||
// oportunity for devices to stick commands on the script buffer
|
||||
|
||||
void IN_SendKeyEvents (void);
|
||||
// Perform Key_Event () callbacks until the input que is empty
|
||||
|
||||
struct usercmd_s;
|
||||
void IN_Move (struct usercmd_s *cmd);
|
||||
// add additional movement on top of the keyboard move cmd
|
||||
|
||||
void IN_ModeChanged (void);
|
||||
// called whenever screen dimensions change
|
||||
|
||||
void IN_HandlePause (qboolean paused);
|
||||
|
||||
extern cvar_t *_windowed_mouse;
|
||||
|
||||
#endif // _INPUT_H
|
|
@ -1,83 +0,0 @@
|
|||
/*
|
||||
joystick.h
|
||||
|
||||
QuakeForge joystick DPI (driver programming interface)
|
||||
|
||||
Copyright (C) 1996-1997 Jeff Teunissen <deek@dusknet.dhs.org>
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
$Id$
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include "QF/cvar.h"
|
||||
#include "protocol.h"
|
||||
|
||||
extern cvar_t *joy_device; // Joystick device name
|
||||
extern cvar_t *joy_enable; // Joystick enabling flag
|
||||
extern cvar_t *joy_sensitivity; // Joystick sensitivity
|
||||
|
||||
extern qboolean joy_found; // Joystick present?
|
||||
extern qboolean joy_active; // Joystick in use?
|
||||
|
||||
/*
|
||||
JOY_Command ()
|
||||
|
||||
Use this function to process joystick button presses and generate key
|
||||
events. It is called inside the IN_Commands () input function, once each
|
||||
frame.
|
||||
|
||||
You should exit this function immediately if either joy_active or
|
||||
joy_enable->int_val are zero.
|
||||
*/
|
||||
void JOY_Command (void);
|
||||
|
||||
/*
|
||||
JOY_Move (usercmd_t *)
|
||||
|
||||
Use this function to process joystick movements to move the player around.
|
||||
|
||||
You should exit this function immediately if either joy_active or
|
||||
joy_enable->int_val are zero.
|
||||
*/
|
||||
void JOY_Move (usercmd_t *);
|
||||
|
||||
/*
|
||||
JOY_Init ()
|
||||
|
||||
Use this function to initialize the joystick Cvars, open your joystick
|
||||
device, and get it ready for use. You MUST obey the value of the
|
||||
joy_enable Cvar. Set joy_found if there is a device, and joy_active if
|
||||
you have successfully enabled it.
|
||||
*/
|
||||
void JOY_Init (void);
|
||||
void JOY_Init_Cvars (void);
|
||||
|
||||
/*
|
||||
JOY_Shutdown ()
|
||||
|
||||
Use this function to close the joystick device and tell QuakeForge that it
|
||||
is no longer available. It is called from IN_Init (), but may be called
|
||||
elsewhere to disable the device.
|
||||
*/
|
||||
void JOY_Shutdown (void);
|
|
@ -1,200 +0,0 @@
|
|||
/*
|
||||
sound.h
|
||||
|
||||
@description@
|
||||
|
||||
Copyright (C) 1996-1997 Id Software, Inc.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
$Id$
|
||||
*/
|
||||
|
||||
|
||||
#ifndef __sound_h
|
||||
#define __sound_h
|
||||
|
||||
#include "QF/mathlib.h"
|
||||
#include "QF/cvar.h"
|
||||
#include "QF/zone.h"
|
||||
|
||||
#define DEFAULT_SOUND_PACKET_VOLUME 255
|
||||
#define DEFAULT_SOUND_PACKET_ATTENUATION 1.0
|
||||
|
||||
// !!! if this is changed, it much be changed in asm_ia32.h too !!!
|
||||
typedef struct
|
||||
{
|
||||
int left;
|
||||
int right;
|
||||
} portable_samplepair_t;
|
||||
|
||||
typedef struct sfx_s
|
||||
{
|
||||
char name[MAX_QPATH];
|
||||
cache_user_t cache;
|
||||
} sfx_t;
|
||||
|
||||
// !!! if this is changed, it much be changed in asm_ia32.h too !!!
|
||||
typedef struct
|
||||
{
|
||||
int length;
|
||||
int loopstart;
|
||||
int speed;
|
||||
int width;
|
||||
int stereo;
|
||||
byte data[1]; // variable sized
|
||||
} sfxcache_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
qboolean gamealive;
|
||||
qboolean soundalive;
|
||||
qboolean splitbuffer;
|
||||
int channels;
|
||||
int samples; // mono samples in buffer
|
||||
int submission_chunk; // don't mix less than this #
|
||||
int samplepos; // in mono samples
|
||||
int samplebits;
|
||||
int speed;
|
||||
unsigned char *buffer;
|
||||
} dma_t;
|
||||
|
||||
// !!! if this is changed, it much be changed in asm_ia32.h too !!!
|
||||
typedef struct
|
||||
{
|
||||
sfx_t *sfx; // sfx number
|
||||
int leftvol; // 0-255 volume
|
||||
int rightvol; // 0-255 volume
|
||||
int end; // end time in global paintsamples
|
||||
int pos; // sample position in sfx
|
||||
int looping; // where to loop, -1 = no looping
|
||||
int entnum; // to allow overriding a specific sound
|
||||
int entchannel; //
|
||||
vec3_t origin; // origin of sound effect
|
||||
vec_t dist_mult; // distance multiplier (attenuation/clipK)
|
||||
int master_vol; // 0-255 master volume
|
||||
int phase; // phase shift between l-r in samples
|
||||
int oldphase; // phase shift between l-r in samples
|
||||
} channel_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int rate;
|
||||
int width;
|
||||
int channels;
|
||||
int loopstart;
|
||||
int samples;
|
||||
int dataofs; // chunk starts this many bytes from file start
|
||||
} wavinfo_t;
|
||||
|
||||
void S_Init (void);
|
||||
void S_Init_Cvars (void);
|
||||
void S_Startup (void);
|
||||
void S_Shutdown (void);
|
||||
void S_StartSound (int entnum, int entchannel, sfx_t *sfx, vec3_t origin, float fvol, float attenuation);
|
||||
void S_StaticSound (sfx_t *sfx, vec3_t origin, float vol, float attenuation);
|
||||
void S_StopSound (int entnum, int entchannel);
|
||||
void S_StopAllSounds(qboolean clear);
|
||||
void S_ClearBuffer (void);
|
||||
void S_Update (vec3_t origin, vec3_t v_forward, vec3_t v_right, vec3_t v_up);
|
||||
void S_ExtraUpdate (void);
|
||||
|
||||
sfx_t *S_PrecacheSound (char *sample);
|
||||
void S_TouchSound (char *sample);
|
||||
void S_ClearPrecache (void);
|
||||
void S_BeginPrecaching (void);
|
||||
void S_EndPrecaching (void);
|
||||
void S_PaintChannels(int endtime);
|
||||
void S_InitPaintChannels (void);
|
||||
|
||||
// picks a channel based on priorities, empty slots, number of channels
|
||||
channel_t *SND_PickChannel(int entnum, int entchannel);
|
||||
|
||||
// spatializes a channel
|
||||
void SND_Spatialize(channel_t *ch);
|
||||
|
||||
// initializes cycling through a DMA buffer and returns information on it
|
||||
qboolean SNDDMA_Init(void);
|
||||
|
||||
// gets the current DMA position
|
||||
int SNDDMA_GetDMAPos(void);
|
||||
|
||||
// shutdown the DMA xfer.
|
||||
void SNDDMA_Shutdown(void);
|
||||
|
||||
// ====================================================================
|
||||
// User-setable variables
|
||||
// ====================================================================
|
||||
|
||||
#define MAX_CHANNELS 256
|
||||
#define MAX_DYNAMIC_CHANNELS 8
|
||||
|
||||
|
||||
extern channel_t channels[MAX_CHANNELS];
|
||||
// 0 to MAX_DYNAMIC_CHANNELS-1 = normal entity sounds
|
||||
// MAX_DYNAMIC_CHANNELS to MAX_DYNAMIC_CHANNELS + NUM_AMBIENTS -1 = water, etc
|
||||
// MAX_DYNAMIC_CHANNELS + NUM_AMBIENTS to total_channels = static sounds
|
||||
|
||||
extern int total_channels;
|
||||
|
||||
//
|
||||
// Fake dma is a synchronous faking of the DMA progress used for
|
||||
// isolating performance in the renderer. The fakedma_updates is
|
||||
// number of times S_Update() is called per second.
|
||||
//
|
||||
|
||||
extern qboolean fakedma;
|
||||
extern int fakedma_updates;
|
||||
extern int paintedtime;
|
||||
extern int soundtime;
|
||||
extern vec3_t listener_origin;
|
||||
extern vec3_t listener_forward;
|
||||
extern vec3_t listener_right;
|
||||
extern vec3_t listener_up;
|
||||
extern volatile dma_t *shm;
|
||||
extern volatile dma_t sn;
|
||||
extern vec_t sound_nominal_clip_dist;
|
||||
|
||||
extern cvar_t *loadas8bit;
|
||||
extern cvar_t *bgmvolume;
|
||||
extern cvar_t *volume;
|
||||
|
||||
extern cvar_t *snd_device;
|
||||
extern cvar_t *snd_rate;
|
||||
extern cvar_t *snd_bits;
|
||||
extern cvar_t *snd_stereo;
|
||||
extern cvar_t *snd_interp;
|
||||
extern cvar_t *snd_stereo_phase_separation;
|
||||
|
||||
extern qboolean snd_initialized;
|
||||
|
||||
extern int snd_blocked;
|
||||
|
||||
void S_LocalSound (char *s);
|
||||
sfxcache_t *S_LoadSound (sfx_t *s);
|
||||
|
||||
wavinfo_t GetWavinfo (char *name, byte *wav, int wavlength);
|
||||
|
||||
void SND_InitScaletable (void);
|
||||
void SNDDMA_Submit(void);
|
||||
|
||||
void S_AmbientOff (void);
|
||||
void S_AmbientOn (void);
|
||||
|
||||
#endif // __sound_h
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
#include "client.h"
|
||||
#include "host.h"
|
||||
#include "QF/cdaudio.h"
|
||||
#include "cdaudio.h"
|
||||
#include "QF/cmd.h"
|
||||
#include "QF/console.h"
|
||||
#include "QF/msg.h"
|
||||
|
@ -43,6 +43,7 @@
|
|||
#include "sbar.h"
|
||||
#include "screen.h"
|
||||
#include "server.h"
|
||||
#include "sound.h" // FIXME: DEFAULT_SOUND_PACKET_*
|
||||
#include "game.h"
|
||||
#include "input.h"
|
||||
|
||||
|
|
|
@ -36,7 +36,7 @@
|
|||
#include "server.h"
|
||||
#include "view.h"
|
||||
#include "chase.h"
|
||||
#include "QF/cdaudio.h"
|
||||
#include "cdaudio.h"
|
||||
#include "QF/cmd.h"
|
||||
#include "QF/console.h"
|
||||
#include "QF/keys.h"
|
||||
|
|
|
@ -33,13 +33,13 @@
|
|||
#include <stdlib.h>
|
||||
|
||||
#include "quakedef.h"
|
||||
#include "QF/cdaudio.h"
|
||||
#include "cdaudio.h"
|
||||
#include "QF/cmd.h"
|
||||
#include "QF/console.h"
|
||||
#include "QF/keys.h"
|
||||
#include "QF/qargs.h"
|
||||
#include "QF/qendian.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
#include "QF/sys.h"
|
||||
#include "QF/va.h"
|
||||
#include "winquake.h"
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
#include "QF/cmd.h"
|
||||
#include "QF/qendian.h"
|
||||
#include "draw.h"
|
||||
#include "QF/cdaudio.h"
|
||||
#include "cdaudio.h"
|
||||
#include "QF/console.h"
|
||||
#include "sbar.h"
|
||||
|
||||
|
|
|
@ -1,56 +0,0 @@
|
|||
/*
|
||||
input.h
|
||||
|
||||
External (non-keyboard) input devices
|
||||
|
||||
Copyright (C) 1996-1997 Id Software, Inc.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
$Id$
|
||||
*/
|
||||
|
||||
#ifndef _INPUT_H
|
||||
#define _INPUT_H
|
||||
|
||||
#include "protocol.h"
|
||||
#include "QF/cvar.h"
|
||||
|
||||
#define freelook (in_mlook.state&1 || cl_freelook->int_val)
|
||||
|
||||
void IN_Init (void);
|
||||
void IN_Init_Cvars (void);
|
||||
|
||||
void IN_Shutdown (void);
|
||||
|
||||
void IN_Commands (void);
|
||||
// oportunity for devices to stick commands on the script buffer
|
||||
|
||||
void IN_SendKeyEvents (void);
|
||||
// Perform Key_Event () callbacks until the input que is empty
|
||||
|
||||
void IN_Move (usercmd_t *cmd);
|
||||
// add additional movement on top of the keyboard move cmd
|
||||
|
||||
void IN_ModeChanged (void);
|
||||
// called whenever screen dimensions change
|
||||
|
||||
extern cvar_t *_windowed_mouse;
|
||||
|
||||
#endif // _INPUT_H
|
|
@ -1,83 +0,0 @@
|
|||
/*
|
||||
joystick.h
|
||||
|
||||
QuakeForge joystick DPI (driver programming interface)
|
||||
|
||||
Copyright (C) 1996-1997 Jeff Teunissen <deek@dusknet.dhs.org>
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
$Id$
|
||||
*/
|
||||
|
||||
#ifdef HAVE_CONFIG_H
|
||||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include "QF/cvar.h"
|
||||
#include "protocol.h"
|
||||
|
||||
extern cvar_t *joy_device; // Joystick device name
|
||||
extern cvar_t *joy_enable; // Joystick enabling flag
|
||||
extern cvar_t *joy_sensitivity; // Joystick sensitivity
|
||||
|
||||
extern qboolean joy_found; // Joystick present?
|
||||
extern qboolean joy_active; // Joystick in use?
|
||||
|
||||
/*
|
||||
JOY_Command ()
|
||||
|
||||
Use this function to process joystick button presses and generate key
|
||||
events. It is called inside the IN_Commands () input function, once each
|
||||
frame.
|
||||
|
||||
You should exit this function immediately if either joy_active or
|
||||
joy_enable->int_val are zero.
|
||||
*/
|
||||
void JOY_Command (void);
|
||||
|
||||
/*
|
||||
JOY_Move (usercmd_t *)
|
||||
|
||||
Use this function to process joystick movements to move the player around.
|
||||
|
||||
You should exit this function immediately if either joy_active or
|
||||
joy_enable->int_val are zero.
|
||||
*/
|
||||
void JOY_Move (usercmd_t *);
|
||||
|
||||
/*
|
||||
JOY_Init ()
|
||||
|
||||
Use this function to initialize the joystick Cvars, open your joystick
|
||||
device, and get it ready for use. You MUST obey the value of the
|
||||
joy_enable Cvar. Set joy_found if there is a device, and joy_active if
|
||||
you have successfully enabled it.
|
||||
*/
|
||||
void JOY_Init (void);
|
||||
void JOY_Init_Cvars (void);
|
||||
|
||||
/*
|
||||
JOY_Shutdown ()
|
||||
|
||||
Use this function to close the joystick device and tell QuakeForge that it
|
||||
is no longer available. It is called from IN_Init (), but may be called
|
||||
elsewhere to disable the device.
|
||||
*/
|
||||
void JOY_Shutdown (void);
|
|
@ -221,9 +221,6 @@
|
|||
#define SND_VOLUME (1<<15) // a byte
|
||||
#define SND_ATTENUATION (1<<14) // a byte
|
||||
|
||||
#define DEFAULT_SOUND_PACKET_VOLUME 255
|
||||
#define DEFAULT_SOUND_PACKET_ATTENUATION 1.0
|
||||
|
||||
// svc_print messages have an id, so messages can be filtered
|
||||
#define PRINT_LOW 0
|
||||
#define PRINT_MEDIUM 1
|
||||
|
|
|
@ -1,197 +0,0 @@
|
|||
/*
|
||||
sound.h
|
||||
|
||||
(description)
|
||||
|
||||
Copyright (C) 1996-1997 Id Software, Inc.
|
||||
|
||||
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.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program; if not, write to:
|
||||
|
||||
Free Software Foundation, Inc.
|
||||
59 Temple Place - Suite 330
|
||||
Boston, MA 02111-1307, USA
|
||||
|
||||
$Id$
|
||||
*/
|
||||
// sound.h -- client sound i/o functions
|
||||
|
||||
#ifndef _SOUND_H
|
||||
#define _SOUND_H
|
||||
|
||||
#include "QF/mathlib.h"
|
||||
#include "QF/cvar.h"
|
||||
#include "QF/zone.h"
|
||||
|
||||
// !!! if this is changed, it must be changed in asm_i386.h too !!!
|
||||
typedef struct
|
||||
{
|
||||
int left;
|
||||
int right;
|
||||
} portable_samplepair_t;
|
||||
|
||||
typedef struct sfx_s
|
||||
{
|
||||
char name[MAX_QPATH];
|
||||
cache_user_t cache;
|
||||
} sfx_t;
|
||||
|
||||
// !!! if this is changed, it much be changed in asm_i386.h too !!!
|
||||
typedef struct
|
||||
{
|
||||
int length;
|
||||
int loopstart;
|
||||
int speed;
|
||||
int width;
|
||||
int stereo;
|
||||
byte data[1]; // variable sized
|
||||
} sfxcache_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
qboolean gamealive;
|
||||
qboolean soundalive;
|
||||
qboolean splitbuffer;
|
||||
int channels;
|
||||
int samples; // mono samples in buffer
|
||||
int submission_chunk; // don't mix less than this #
|
||||
int samplepos; // in mono samples
|
||||
int samplebits;
|
||||
int speed;
|
||||
unsigned char *buffer;
|
||||
} dma_t;
|
||||
|
||||
// !!! if this is changed, it much be changed in asm_i386.h too !!!
|
||||
typedef struct
|
||||
{
|
||||
sfx_t *sfx; // sfx number
|
||||
int leftvol; // 0-255 volume
|
||||
int rightvol; // 0-255 volume
|
||||
int end; // end time in global paintsamples
|
||||
int pos; // sample position in sfx
|
||||
int looping; // where to loop, -1 = no looping
|
||||
int entnum; // to allow overriding a specific sound
|
||||
int entchannel; //
|
||||
vec3_t origin; // origin of sound effect
|
||||
vec_t dist_mult; // distance multiplier (attenuation/clipK)
|
||||
int master_vol; // 0-255 master volume
|
||||
int phase; // phase shift between l-r in samples
|
||||
int oldphase; // phase shift between l-r in samples
|
||||
} channel_t;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int rate;
|
||||
int width;
|
||||
int channels;
|
||||
int loopstart;
|
||||
int samples;
|
||||
int dataofs; // chunk starts this many bytes from file start
|
||||
} wavinfo_t;
|
||||
|
||||
void S_Init (void);
|
||||
void S_Init_Cvars (void);
|
||||
void S_Startup (void);
|
||||
void S_Shutdown (void);
|
||||
void S_StartSound (int entnum, int entchannel, sfx_t *sfx, vec3_t origin, float fvol, float attenuation);
|
||||
void S_StaticSound (sfx_t *sfx, vec3_t origin, float vol, float attenuation);
|
||||
void S_StopSound (int entnum, int entchannel);
|
||||
void S_StopAllSounds(qboolean clear);
|
||||
void S_ClearBuffer (void);
|
||||
void S_Update (vec3_t origin, vec3_t v_forward, vec3_t v_right, vec3_t v_up);
|
||||
void S_ExtraUpdate (void);
|
||||
void S_BlockSound (void);
|
||||
|
||||
sfx_t *S_PrecacheSound (char *sample);
|
||||
void S_TouchSound (char *sample);
|
||||
void S_ClearPrecache (void);
|
||||
void S_BeginPrecaching (void);
|
||||
void S_EndPrecaching (void);
|
||||
void S_PaintChannels(int endtime);
|
||||
void S_InitPaintChannels (void);
|
||||
|
||||
// picks a channel based on priorities, empty slots, number of channels
|
||||
channel_t *SND_PickChannel(int entnum, int entchannel);
|
||||
|
||||
// spatializes a channel
|
||||
void SND_Spatialize(channel_t *ch);
|
||||
|
||||
// initializes cycling through a DMA buffer and returns information on it
|
||||
qboolean SNDDMA_Init(void);
|
||||
|
||||
// gets the current DMA position
|
||||
int SNDDMA_GetDMAPos(void);
|
||||
|
||||
// shutdown the DMA xfer.
|
||||
void SNDDMA_Shutdown(void);
|
||||
|
||||
// ====================================================================
|
||||
// User-setable variables
|
||||
// ====================================================================
|
||||
|
||||
#define MAX_CHANNELS 256
|
||||
#define MAX_DYNAMIC_CHANNELS 8
|
||||
|
||||
extern channel_t channels[MAX_CHANNELS];
|
||||
// 0 to MAX_DYNAMIC_CHANNELS-1 = normal entity sounds
|
||||
// MAX_DYNAMIC_CHANNELS to MAX_DYNAMIC_CHANNELS + NUM_AMBIENTS -1 = water, etc
|
||||
// MAX_DYNAMIC_CHANNELS + NUM_AMBIENTS to total_channels = static sounds
|
||||
|
||||
extern int total_channels;
|
||||
|
||||
//
|
||||
// Fake dma is a synchronous faking of the DMA progress used for
|
||||
// isolating performance in the renderer. The fakedma_updates is
|
||||
// number of times S_Update() is called per second.
|
||||
//
|
||||
|
||||
extern qboolean fakedma;
|
||||
extern int fakedma_updates;
|
||||
extern int paintedtime;
|
||||
extern int soundtime;
|
||||
extern vec3_t listener_origin;
|
||||
extern vec3_t listener_forward;
|
||||
extern vec3_t listener_right;
|
||||
extern vec3_t listener_up;
|
||||
extern volatile dma_t *shm;
|
||||
extern volatile dma_t sn;
|
||||
extern vec_t sound_nominal_clip_dist;
|
||||
|
||||
extern cvar_t *loadas8bit;
|
||||
extern cvar_t *bgmvolume;
|
||||
extern cvar_t *volume;
|
||||
|
||||
extern cvar_t *snd_device;
|
||||
extern cvar_t *snd_rate;
|
||||
extern cvar_t *snd_bits;
|
||||
extern cvar_t *snd_stereo;
|
||||
extern cvar_t *snd_interp;
|
||||
extern cvar_t *snd_stereo_phase_separation;
|
||||
|
||||
extern qboolean snd_initialized;
|
||||
|
||||
extern int snd_blocked;
|
||||
|
||||
void S_LocalSound (char *s);
|
||||
sfxcache_t *S_LoadSound (sfx_t *s);
|
||||
|
||||
wavinfo_t GetWavinfo (char *name, byte *wav, int wavlength);
|
||||
|
||||
void SND_InitScaletable (void);
|
||||
void SNDDMA_Submit(void);
|
||||
|
||||
void S_AmbientOff (void);
|
||||
void S_AmbientOn (void);
|
||||
|
||||
#endif // _SOUND_H
|
|
@ -60,7 +60,7 @@
|
|||
|
||||
#include "bothdefs.h"
|
||||
#include "buildnum.h"
|
||||
#include "QF/cdaudio.h"
|
||||
#include "cdaudio.h"
|
||||
#include "cl_cam.h"
|
||||
#include "cl_demo.h"
|
||||
#include "cl_ents.h"
|
||||
|
@ -90,7 +90,7 @@
|
|||
#include "sbar.h"
|
||||
#include "screen.h"
|
||||
#include "skin.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
#include "QF/sys.h"
|
||||
#include "teamplay.h"
|
||||
#include "vid.h"
|
||||
|
|
|
@ -44,7 +44,7 @@
|
|||
#endif
|
||||
|
||||
#include "bothdefs.h"
|
||||
#include "QF/cdaudio.h"
|
||||
#include "cdaudio.h"
|
||||
#include "cl_ents.h"
|
||||
#include "cl_input.h"
|
||||
#include "cl_main.h"
|
||||
|
@ -61,7 +61,7 @@
|
|||
#include "screen.h"
|
||||
#include "sbar.h"
|
||||
#include "skin.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
#include "teamplay.h"
|
||||
#include "QF/va.h"
|
||||
#include "view.h"
|
||||
|
|
|
@ -44,6 +44,7 @@
|
|||
#include "server.h"
|
||||
#include "sv_progs.h"
|
||||
#include "QF/sys.h"
|
||||
#include "sound.h" // FIXME: DEFAULT_SOUND_PACKET_*
|
||||
|
||||
#define CHAN_AUTO 0
|
||||
#define CHAN_WEAPON 1
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
|
||||
#include <stdlib.h>
|
||||
|
||||
#include "QF/cdaudio.h"
|
||||
#include "cdaudio.h"
|
||||
#include "QF/cmd.h"
|
||||
#include "QF/console.h"
|
||||
#include "d_local.h"
|
||||
|
@ -44,7 +44,7 @@
|
|||
#include "QF/qendian.h"
|
||||
#include "resource.h"
|
||||
#include "screen.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
#include "QF/sys.h"
|
||||
#include "QF/va.h"
|
||||
#include "wad.h"
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
# include "config.h"
|
||||
#endif
|
||||
|
||||
#include "QF/cdaudio.h"
|
||||
#include "cdaudio.h"
|
||||
#include "QF/cmd.h"
|
||||
#include "QF/console.h"
|
||||
#include "draw.h"
|
||||
|
@ -43,7 +43,7 @@
|
|||
#include "resource.h"
|
||||
#include "sbar.h"
|
||||
#include "screen.h"
|
||||
#include "QF/sound.h"
|
||||
#include "sound.h"
|
||||
#include "QF/sys.h"
|
||||
#include "QF/va.h"
|
||||
#include "winquake.h"
|
||||
|
|
Loading…
Reference in a new issue