*********************************************************

*	2006/04/26					*
*	Little Alien					*
*	Developed in VS 2003				*
*********************************************************

Source: 

- Soundmanager v1.1 added
- Some changes for international versions

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@39 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
lalien
2006-04-26 23:41:05 +00:00
parent 8d9c94f61d
commit c46613069f
26 changed files with 2174 additions and 2605 deletions
+2 -2
View File
@@ -12,8 +12,8 @@ extern HVSURFACE ghFrameBuffer;
void InitJA2SplashScreen()
{
UINT32 uiLogoID = 0;
//HVSURFACE hVSurface; // unused jonathanl
// VSURFACE_DESC VSurfaceDesc; //unused jonathanl
HVSURFACE hVSurface; // unused jonathanl // lalien reenabled for international versions
VSURFACE_DESC VSurfaceDesc; //unused jonathanl // lalien reenabled for international versions
INT32 i = 0;
#if !defined( ENGLISH ) && defined( JA2TESTVERSION )
BIN
View File
Binary file not shown.
+1 -76
View File
@@ -544,7 +544,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib"
AdditionalDependencies="libexpatMT.lib winmm.lib smackw32.lib mss32.lib fmodvc.lib"
OutputFile="C:\Games\Jagged Alliance 2 Gold\ja2.exe"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
@@ -590,81 +590,6 @@
<Filter
Name="Source Files"
Filter="cpp;c;cxx;rc;def;r;odl;hpj;bat;for;f90">
<File
RelativePath="Utils\_Ja25GermanText.cpp">
<FileConfiguration
Name="Debug|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Debug Demo|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Demo Bounds Checker|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Demo Release with Debug Info|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release with Debug Info|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Bounds Checker|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release Demo|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
<FileConfiguration
Name="Release|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="2"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="aniviewscreen.cpp">
<FileConfiguration
+7 -43
View File
@@ -651,40 +651,13 @@ INT32 FirstFreeBigEnoughPocket(MERCPROFILESTRUCT *pProfile, UINT16 usItem)
void WriteOutCurrentImpCharacter( INT32 iProfileId )
{
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("WriteOutCurrentImpCharacter: IMP.dat"));
char zImpFileName[12];
strcat(zImpFileName,IMP_MERC_FILENAME);
strcat(zImpFileName,IMP_FILENAME_SUFFIX);
WriteOutCurrentImpCharacter ( iProfileId, zImpFileName);
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("WriteOutCurrentImpCharacter: Nickname.dat"));
char zFileName[12];
char temp;
for(int i=0;i < 8;i++) // Madd: I couldn't get strcpy or anything to work here... weird... if s/o wants to fix it, go ahead
{
temp = (char) gMercProfiles[iProfileId].zNickname[i];
zFileName[i] = temp;
}
strcat(zFileName,IMP_FILENAME_SUFFIX);
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("WriteOutCurrentImpCharacter: %s", zFileName));
WriteOutCurrentImpCharacter ( iProfileId, zFileName);
}
void WriteOutCurrentImpCharacter( INT32 iProfileId, STR fileName )
{
// grab the profile number and write out what is contained there in
HWFILE hFile;
UINT32 uiBytesWritten = 0;
// open the file for writing
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("WriteOutCurrentImpCharacter: %s", fileName));
hFile = FileOpen(fileName, FILE_ACCESS_WRITE | FILE_CREATE_ALWAYS, FALSE);
hFile = FileOpen(strcat((STR)(&gMercProfiles[iProfileId].zNickname),IMP_FILENAME_SUFFIX), FILE_ACCESS_WRITE | FILE_CREATE_ALWAYS, FALSE);
// write out the profile id
if (!FileWrite(hFile, &iProfileId, sizeof( INT32 ), &uiBytesWritten))
@@ -712,15 +685,11 @@ void WriteOutCurrentImpCharacter( INT32 iProfileId, STR fileName )
BOOLEAN ImpExists ( STR nickName )
{
char zFileName[12];
strcpy(zFileName,nickName);
strcat(zFileName,IMP_FILENAME_SUFFIX);
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ImpExists: %s", (STR) zFileName));
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,String("ImpExists: %d", FileExistsNoDB(zFileName) ));
return FileExistsNoDB(zFileName);
DWORD attribs = GetFileAttributes(strcat(nickName,IMP_FILENAME_SUFFIX));
if ( attribs != INVALID_FILE_ATTRIBUTES && !(attribs & FILE_ATTRIBUTE_DIRECTORY) )
return TRUE;
return FALSE;
}
void LoadImpCharacter( STR nickName )
@@ -729,13 +698,8 @@ void LoadImpCharacter( STR nickName )
HWFILE hFile;
UINT32 uiBytesRead = 0;
char zFileName[12];
strcpy(zFileName,nickName);
strcat(zFileName,IMP_FILENAME_SUFFIX);
// open the file for writing
hFile = FileOpen(zFileName, FILE_ACCESS_READ, FALSE);
hFile = FileOpen(strcat(nickName,IMP_FILENAME_SUFFIX), FILE_ACCESS_READ, FALSE);
// valid file?
if( hFile == -1 )
-1
View File
@@ -9,7 +9,6 @@ void HandleIMPConfirm( void );
BOOLEAN AddCharacterToPlayersTeam( void );
void LoadImpCharacter( STR fileName );
void WriteOutCurrentImpCharacter( INT32 iProfileId );
void WriteOutCurrentImpCharacter( INT32 iProfileId, STR fileName );
void ResetIMPCharactersEyesAndMouthOffsets( UINT8 ubMercProfileID );
+4 -11
View File
@@ -342,7 +342,7 @@ void HandleTextEvent( UINT32 uiKey )
uiKey == '_' || uiKey == '.' )
{
// if the current string position is at max or great, do nothing
if( iStringPos >= 8 )
if( iStringPos >= 6 )
{
break;
}
@@ -387,9 +387,6 @@ void ProcessPlayerInputActivationString( void )
if( NumberOfMercsOnPlayerTeam() >= 18 )
return;
char charPlayerActivationString[32];
wcstombs(charPlayerActivationString,pPlayerActivationString,32);
//Madd multiple imps if( ( ( wcscmp(pPlayerActivationString, L"XEP624") == 0 ) || ( wcscmp(pPlayerActivationString, L"xep624") == 0 ) )&&( LaptopSaveInfo.fIMPCompletedFlag == FALSE ) &&( LaptopSaveInfo.gfNewGameLaptop < 2 ) )
if( ( ( wcscmp(pPlayerActivationString, L"XEP624") == 0 ) || ( wcscmp(pPlayerActivationString, L"xep624") == 0 ) ) &&( LaptopSaveInfo.gfNewGameLaptop < 2 ) )
{
@@ -400,14 +397,10 @@ void ProcessPlayerInputActivationString( void )
}
//Madd multiple imps else if( ( wcscmp(pPlayerActivationString, L"90210") == 0 ) && ( LaptopSaveInfo.fIMPCompletedFlag == FALSE ) )
else if( wcscmp(pPlayerActivationString, L"90210") == 0 )
// Madd: load characters by name:
else if ( ImpExists( (STR)pPlayerActivationString ) )
{
LoadImpCharacter( IMP_MERC_FILENAME );
}
// Madd: load characters by name
else if ( ImpExists( charPlayerActivationString ) )
{
LoadImpCharacter( charPlayerActivationString );
LoadImpCharacter( (STR)pPlayerActivationString );
}
else
-2
View File
@@ -12,7 +12,5 @@ void HandleImpHomePage( void );
#define MIN_GLOW_DELTA 100
#define CURSOR_HEIGHT GetFontHeight( FONT14ARIAL ) + 6
#define IMP_MERC_FILENAME "IMP"
extern INT32 GlowColorsList[][3];
#endif
+2 -2
View File
@@ -4519,8 +4519,8 @@ BOOLEAN DisplayTitleBarMaximizeGraphic(BOOLEAN fForward, BOOLEAN fInit, UINT16 u
sPosBottomY = LAPTOP_TITLE_BAR_HEIGHT;
SrcRect.iLeft = 0;
SrcRect.iTop = 0;
SrcRect.iLeft = iScreenWidthOffset;
SrcRect.iTop = iScreenHeightOffset;
SrcRect.iRight = LAPTOP_TITLE_BAR_WIDTH;
SrcRect.iBottom = LAPTOP_TITLE_BAR_HEIGHT;
+18 -10
View File
@@ -1,10 +1,15 @@
/*
* ChangeLog:
* 10.12.2005 Lesh ripped out everything that refers to MSS
* 10.12.2005 Lesh added fmod.h
*/
#ifndef __JA2_SGP_ALL_H
#define __JA2_SGP_ALL_H
#pragma message("GENERATED PCH FOR JA2 SGP PROJECT.")
//#ifndef INITGUID
// #define INITGUID
// #define INITGUID
//#endif
@@ -13,9 +18,9 @@
#include "Button Sound Control.h"
#include "Sound Control.h"
#ifdef _JA2_RENDER_DIRTY
#include "Font Control.h"
#include "Render Dirty.h"
#include "utilities.h"
#include "Font Control.h"
#include "Render Dirty.h"
#include "utilities.h"
#endif
#include "input.h"
#include "memman.h"
@@ -28,8 +33,8 @@
#include <stdarg.h>
#include "debug.h"
#ifndef NO_ZLIB_COMPRESSION
#include "zlib.h"
#include "Compression.h"
#include "zlib.h"
#include "Compression.h"
#endif
#include "types.h"
#include <stdlib.h>
@@ -73,9 +78,9 @@
#include <tchar.h>
#include <assert.h>
#include "Install.h"
#include "GameSettings.h"
#include "GameSettings.h"
#ifdef _DEBUG
#include <crtdbg.h>
#include <crtdbg.h>
#endif
#include "mousesystem.h"
#include "Mutex Manager.h"
@@ -83,7 +88,7 @@
#include <windowsx.h>
#include "vobject_private.h"
#include "shading.h"
#include "mss.h"
//#include "mss.h"
#include "imgfmt.h"
#include "timer.h"
#include "renderworld.h"
@@ -94,5 +99,8 @@
#include "vsurface_private.h"
#include "Timer Control.h"
// Lesh modifications
#include "fmod.h"
#include "fmod_errors.h"
#endif
#endif
@@ -2748,15 +2748,18 @@
<File
RelativePath="FileMan.h">
</File>
<File
RelativePath=".\fmod.h">
</File>
<File
RelativePath=".\fmod_errors.h">
</File>
<File
RelativePath="..\Utils\Font Control.h">
</File>
<File
RelativePath="font.h">
</File>
<File
RelativePath="gameloop.h">
</File>
<File
RelativePath="himage.h">
</File>
@@ -2874,9 +2877,6 @@
<File
RelativePath="WCheck.h">
</File>
<File
RelativePath="Winbart97.h">
</File>
<File
RelativePath="WinFont.h">
</File>
File diff suppressed because it is too large Load Diff
+32
View File
@@ -0,0 +1,32 @@
#ifndef _FMOD_ERRORS_H
#define _FMOD_ERRORS_H
static char *FMOD_ErrorString(int errcode)
{
switch (errcode)
{
case FMOD_ERR_NONE: return "No errors";
case FMOD_ERR_BUSY: return "Cannot call this command after FSOUND_Init. Call FSOUND_Close first.";
case FMOD_ERR_UNINITIALIZED: return "This command failed because FSOUND_Init was not called";
case FMOD_ERR_PLAY: return "Playing the sound failed.";
case FMOD_ERR_INIT: return "Error initializing output device.";
case FMOD_ERR_ALLOCATED: return "The output device is already in use and cannot be reused.";
case FMOD_ERR_OUTPUT_FORMAT: return "Soundcard does not support the features needed for this soundsystem (16bit stereo output)";
case FMOD_ERR_COOPERATIVELEVEL: return "Error setting cooperative level for hardware.";
case FMOD_ERR_CREATEBUFFER: return "Error creating hardware sound buffer.";
case FMOD_ERR_FILE_NOTFOUND: return "File not found";
case FMOD_ERR_FILE_FORMAT: return "Unknown file format";
case FMOD_ERR_FILE_BAD: return "Error loading file";
case FMOD_ERR_MEMORY: return "Not enough memory ";
case FMOD_ERR_VERSION: return "The version number of this file format is not supported";
case FMOD_ERR_INVALID_PARAM: return "An invalid parameter was passed to this function";
case FMOD_ERR_NO_EAX: return "Tried to use an EAX command on a non EAX enabled channel or output.";
case FMOD_ERR_CHANNEL_ALLOC: return "Failed to allocate a new channel";
case FMOD_ERR_RECORD: return "Recording not supported on this device";
case FMOD_ERR_MEDIAPLAYER: return "Required Mediaplayer codec is not installed";
default : return "Unknown error";
};
}
#endif
File diff suppressed because it is too large Load Diff
+29 -188
View File
@@ -2,7 +2,8 @@
#define __SOUNDMAN_
#include "types.h"
#include "mss.h"
#include "fmod.h"
#include "fmod_errors.h"
/*
#ifdef __cplusplus
@@ -10,91 +11,22 @@ extern "C" {
#endif
*/
// Sample status flags
#define SAMPLE_ALLOCATED 0x00000001
#define SAMPLE_LOCKED 0x00000002
#define SAMPLE_RANDOM 0x00000004
// Sample status flags
#define SAMPLE_ALLOCATED 0x00000001
#define SAMPLE_LOCKED 0x00000002
#define SAMPLE_RANDOM 0x00000004
#define SAMPLE_RANDOM_MANUAL 0x00000008
#define SAMPLE_3D 0x00000010
// Sound error values (they're all the same)
#define NO_SAMPLE 0xffffffff
#define SOUND_ERROR 0xffffffff
#define NO_SAMPLE 0xffffffff
#define SOUND_ERROR 0xffffffff
// Maximum allowable priority value
#define PRIORITY_MAX 0xfffffffe
#define PRIORITY_RANDOM PRIORITY_MAX-1
#define PRIORITY_MAX 0xfffffffe
#define PRIORITY_RANDOM PRIORITY_MAX-1
// Structure definition for 3D sound positional information used by
// various other structs and functions
typedef struct {
FLOAT flX, flY, flZ;
FLOAT flVelX, flVelY, flVelZ;
FLOAT flFaceX, flFaceY, flFaceZ;
FLOAT flUpX, flUpY, flUpZ;
FLOAT flFalloffMin, flFalloffMax;
UINT32 uiVolume;
} SOUND3DPOS;
// Struct definition for sample slots in the cache
// Holds the regular sample data, as well as the
// data for the random samples
typedef struct {
CHAR8 pName[128]; // Path to sample data
UINT32 uiSize; // Size of sample data
UINT32 uiSoundSize; // Playable sound size
UINT32 uiFlags; // Status flags
UINT32 uiSpeed; // Playback frequency
BOOLEAN fStereo; // Stereo/Mono
UINT8 ubBits; // 8/16 bits
PTR pData; // pointer to sample data memory
PTR pSoundStart; // pointer to start of sound data
UINT32 uiCacheHits;
UINT32 uiTimeNext; // Random sound data
UINT32 uiTimeMin, uiTimeMax;
UINT32 uiSpeedMin, uiSpeedMax;
UINT32 uiVolMin, uiVolMax;
UINT32 uiPanMin, uiPanMax;
UINT32 uiPriority;
UINT32 uiInstances;
UINT32 uiMaxInstances;
UINT32 uiAilWaveFormat; // AIL wave sample type
UINT32 uiADPCMBlockSize; // Block size for compressed files
} SAMPLETAG;
// Structure definition for slots in the sound output
// These are used for both the cached and double-buffered
// streams
typedef struct {
SAMPLETAG *pSample;
UINT32 uiSample;
HSAMPLE hMSS;
HSTREAM hMSSStream;
H3DSAMPLE hM3D;
UINT32 uiFlags;
UINT32 uiSoundID;
UINT32 uiPriority;
void (*pCallback)(UINT8*, UINT32, UINT32, UINT32, void *);
void *pData;
void (*EOSCallback)(void *);
void *pCallbackData;
UINT32 uiTimeStamp;
BOOLEAN fLooping;
HWFILE hFile;
BOOLEAN fMusic;
BOOLEAN fStopAtZero;
UINT32 uiFadeVolume;
UINT32 uiFadeRate;
UINT32 uiFadeTime;
} SOUNDTAG;
// Structure definition for sound parameters being passed down to
// the sample playing function
// Structure definition for sound parameters being passed down to the sample playing function
typedef struct {
UINT32 uiSpeed;
UINT32 uiPitchBend; // Random pitch bend range +/-
@@ -102,27 +34,12 @@ typedef struct {
UINT32 uiPan;
UINT32 uiLoop;
UINT32 uiPriority;
void (*EOSCallback)(void *);
void *pCallbackData;
void (*EOSCallback)(void *);
void *pCallbackData;
} SOUNDPARMS;
// Structure definition for 3D sound parameters being passed down to
// the sample playing function
typedef struct {
UINT32 uiSpeed;
UINT32 uiPitchBend; // Random pitch bend range +/-
UINT32 uiVolume; // volume at distance zero
UINT32 uiLoop;
UINT32 uiPriority;
void (*EOSCallback)(void *);
void *pCallbackData;
SOUND3DPOS Pos; // NOT optional, MUST be set
} SOUND3DPARMS;
// Structure definition for parameters to the random sample playing
// function
// Structure definition for parameters to the random sample playing function
typedef struct {
UINT32 uiTimeMin, uiTimeMax;
UINT32 uiSpeedMin, uiSpeedMax;
@@ -132,128 +49,52 @@ typedef struct {
UINT32 uiMaxInstances;
} RANDOMPARMS;
// Structure definition for parameters to the random 3D sample playing
// function
typedef struct {
UINT32 uiTimeMin, uiTimeMax;
UINT32 uiSpeedMin, uiSpeedMax;
UINT32 uiVolMin, uiVolMax;
UINT32 uiPriority;
UINT32 uiMaxInstances;
SOUND3DPOS Pos; // NOT optional, MUST be set
} RANDOM3DPARMS;
enum e_EAXRoomTypes
{
EAXROOMTYPE_NONE=0,
EAXROOMTYPE_SMALL_CAVE,
EAXROOMTYPE_MEDIUM_CAVE,
EAXROOMTYPE_LARGE_CAVE,
EAXROOMTYPE_SMALL_ROOM,
EAXROOMTYPE_MEDIUM_ROOM,
EAXROOMTYPE_LARGE_ROOM,
EAXROOMTYPE_OUTDOORS_FLAT,
EAXROOMTYPE_OUTDOORS_CANYON,
EAXROOMTYPE_UNDERWATER,
EAXROOMTYPE_NUM_TYPES
};
// Global startup/shutdown functions
extern BOOLEAN InitializeSoundManager(void);
extern void ShutdownSoundManager(void);
extern void ShutdownSoundManager(void);
// Configuration functions
extern BOOLEAN SoundSetMemoryLimit(UINT32 uiLimit);
extern BOOLEAN SoundSetCacheThreshhold(UINT32 uiThreshold);
extern HDIGDRIVER SoundGetDriverHandle(void);
extern void * SoundGetDriverHandle( void );
// Master volume control functions
extern BOOLEAN SoundSetDigitalVolume(UINT32 uiVolume);
extern UINT32 SoundGetDigitalVolume(UINT32 uiVolume);
extern void SoundSetDefaultVolume(UINT32 uiVolume);
extern UINT32 SoundGetDefaultVolume(void);
extern void SoundSetDefaultVolume(UINT32 uiVolume);
extern UINT32 SoundGetDefaultVolume(void);
// Cache control functions
UINT32 SoundLoadSample(STR pFilename);
//extern UINT32 SoundLoadSample(STR pFilename);
UINT32 SoundLoadSample(STR pFilename);
extern UINT32 SoundFreeSample(STR pFilename);
extern UINT32 SoundLockSample(STR pFilename);
extern UINT32 SoundUnlockSample(STR pFilename);
extern UINT32 SoundFreeSample(STR pFilename);
extern UINT32 SoundLockSample(STR pFilename);
extern UINT32 SoundUnlockSample(STR pFilename);
extern BOOLEAN SoundEmptyCache(void);
extern BOOLEAN SoundSampleIsInUse(UINT32 uiSample);
// Play/service sample functions
extern UINT32 SoundPlay(STR pFilename, SOUNDPARMS *pParms);
extern UINT32 SoundPlayStreamedFile( STR pFilename, SOUNDPARMS *pParms );
extern UINT32 SoundPlayRandom(STR pFilename, RANDOMPARMS *pParms);
extern BOOLEAN SoundRandomShouldPlay(UINT32 uiSample);
extern UINT32 SoundStartRandom(UINT32 uiSample);
extern UINT32 SoundStreamCallback(STR pFilename, SOUNDPARMS *pParms, void (*pCallback)(UINT8 *, UINT32, UINT32, UINT32, void *), void *);
extern UINT32 SoundPlay(STR pFilename, SOUNDPARMS *pParms);
extern UINT32 SoundPlayStreamedFile( STR pFilename, SOUNDPARMS *pParms );
extern UINT32 SoundPlayRandom(STR pFilename, RANDOMPARMS *pParms);
extern BOOLEAN SoundServiceStreams(void);
extern BOOLEAN SoundServiceRandom(void);
extern void SoundSampleSetVolumeRange(UINT32 uiSample, UINT32 uiVolMin, UINT32 uiVolMax);
extern void SoundSampleSetPanRange(UINT32 uiSample, UINT32 uiPanMin, UINT32 uiPanMax);
// Sound instance manipulation functions
extern void SoundSetMusic(UINT32 uiSound);
extern BOOLEAN SoundStopMusic(void);
extern BOOLEAN SoundStopAll(void);
extern BOOLEAN SoundStopAllRandom(void);
extern BOOLEAN SoundStop(UINT32 uiSoundID);
extern BOOLEAN SoundIsPlaying(UINT32 uiSoundID);
extern BOOLEAN SoundFileIsPlaying(CHAR8 *pFilename);
extern BOOLEAN SoundSetFadeVolume(UINT32 uiSoundID, UINT32 uiVolume, UINT32 uiRate, BOOLEAN fStopAtZero);
extern BOOLEAN SoundSetVolume(UINT32 uiSoundID, UINT32 uiVolume);
extern BOOLEAN SoundSetPan(UINT32 uiSoundID, UINT32 uiPan);
extern BOOLEAN SoundSetFrequency(UINT32 uiSoundID, UINT32 uiFreq);
extern BOOLEAN SoundSetLoop(UINT32 uiSoundID, UINT32 uiLoop);
extern UINT32 SoundGetVolume(UINT32 uiSoundID);
extern UINT32 SoundGetPan(UINT32 uiSoundID);
extern UINT32 SoundGetFrequency(UINT32 uiSoundID);
extern UINT32 SoundGetLoop(UINT32 uiSoundID);
extern UINT32 SoundGetPosition(UINT32 uiSoundID);
extern BOOLEAN SoundGetMilliSecondPosition(UINT32 uiSoundID, UINT32 *puiTotalMilliseconds, UINT32 *puiCurrentMilliseconds);
// Sound instance group functions
extern BOOLEAN SoundStopGroup(UINT32 uiPriority);
extern BOOLEAN SoundFreeGroup(UINT32 uiPriority);
extern UINT32 SoundGetVolume(UINT32 uiSoundID);
extern UINT32 SoundGetPosition(UINT32 uiSoundID);
extern void SoundSetSampleFlags( UINT32 uiSample, UINT32 uiFlags );
extern void SoundRemoveSampleFlags( UINT32 uiSample, UINT32 uiFlags );
extern void SoundEnableSound(BOOLEAN fEnable);
// New 3D sound priovider
extern void Sound3DSetProvider(CHAR8 *pProviderName);
extern BOOLEAN Sound3DInitProvider(CHAR8 *pProviderName);
extern void Sound3DShutdownProvider(void);
// 3D sound control
extern void Sound3DSetPosition(UINT32 uiSample, FLOAT flX, FLOAT flY, FLOAT flZ);
extern void Sound3DSetVelocity(UINT32 uiSample, FLOAT flX, FLOAT flY, FLOAT flZ);
extern void Sound3DSetListener(FLOAT flX, FLOAT flY, FLOAT flZ);
extern void Sound3DSetFacing(FLOAT flXFace, FLOAT flYFace, FLOAT flZFace, FLOAT flXUp, FLOAT flYUp, FLOAT flZUp);
extern void Sound3DSetDirection(UINT32 uiSample, FLOAT flXFace, FLOAT flYFace, FLOAT flZFace, FLOAT flXUp, FLOAT flYUp, FLOAT flZUp);
extern void Sound3DSetFalloff(UINT32 uiSample, FLOAT flMax, FLOAT flMin);
extern void Sound3DSetEnvironment(INT32 iEnvironment);
extern UINT32 Sound3DPlay(STR pFilename, SOUND3DPARMS *pParms);
extern UINT32 Sound3DStartSample(UINT32 uiSample, UINT32 uiChannel, SOUND3DPARMS *pParms);
extern void Sound3DStopAll(void);
extern UINT32 Sound3DPlayRandom(STR pFilename, RANDOM3DPARMS *pParms);
extern UINT32 Sound3DStartRandom(UINT32 uiSample, SOUND3DPOS *Pos);
extern void Sound3DSetRoomType(UINT32 uiRoomType);
// Status query functions
extern UINT32 Sound3DChannelsInUse(void);
extern UINT32 SoundStreamsInUse(void);
extern UINT32 Sound2DChannelsInUse(void);
extern UINT32 SoundTotalChannelsInUse(void);
extern void SoundLog(CHAR8 *strMessage);
/*
#ifdef __cplusplus
+1 -1
View File
@@ -3908,7 +3908,7 @@ void AttackTarget( SOLDIERCELL *pAttacker, SOLDIERCELL *pTarget )
if( pAttacker->bWeaponSlot != HANDPOS )
{ //switch items
memcpy( &tempItem, &pAttacker->pSoldier->inv[ HANDPOS ], sizeof( OBJECTTYPE ) );
memcpy( &pAttacker->pSoldier->inv[ HANDPOS ], &pAttacker->pSoldier->inv[ pAttacker->bWeaponSlot ], sizeof( OBJECTTYPE ) );
memcpy( &pAttacker->pSoldier->inv[ HANDPOS ], &pAttacker->pSoldier->inv[ pAttacker->bWeaponSlot ], sizeof( OBJECTTYPE ) ); //CTD
iImpact = HTHImpact( pAttacker->pSoldier, pTarget->pSoldier, ubAccuracy, (BOOLEAN)(fKnife | fClaw) );
memcpy( &pAttacker->pSoldier->inv[ pAttacker->bWeaponSlot ], &pAttacker->pSoldier->inv[ HANDPOS ], sizeof( OBJECTTYPE ) );
memcpy( &pAttacker->pSoldier->inv[ HANDPOS ], &tempItem, sizeof( OBJECTTYPE ) );
+1 -1
View File
@@ -154,7 +154,7 @@ BOOLEAN ExecuteStrategicEvent( STRATEGICEVENT *pEvent )
else
{
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"ExecuteStrategicEvent: SetupNewAmbientSound");
pEvent->uiParam = SetupNewAmbientSound( pEvent->uiParam );
pEvent->uiParam = SetupNewAmbientSound( pEvent->uiParam ); //bug Nr14
DebugMsg (TOPIC_JA2,DBG_LEVEL_3,"ExecuteStrategicEvent: SetupNewAmbientSound done");
}
break;
+1 -1
View File
@@ -1768,7 +1768,7 @@ INT8 *GetDialogueDataFilename( UINT8 ubCharacterNum, UINT16 usQuoteNum, BOOLEAN
#ifdef RUSSIAN
if( ubCharacterNum >= FIRST_RPC && ubCharacterNum < GASTON && gMercProfiles[ ubCharacterNum ].ubMiscFlags & PROFILE_MISC_FLAG_RECRUITED )
{
sprintf( zFileName,"SPEECH\\r_%03d_%03d.wav",ubCharacterNum,usQuoteNum );
sprintf( (char *) zFileName,"SPEECH\\r_%03d_%03d.wav",ubCharacterNum,usQuoteNum );
}
else
#endif
-4
View File
@@ -5767,10 +5767,6 @@
RelativePath=".\XML.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe">
</Filter>
</Files>
<Globals>
</Globals>
+5 -1
View File
@@ -227,6 +227,8 @@ UINT32 SetupNewAmbientSound( UINT32 uiAmbientID )
{
RANDOMPARMS rpParms;
//SoundLog((CHAR8 *)String(" SetupNewAmbientSound()1: uiAmbientID: '%d'", uiAmbientID ) );
memset(&rpParms, 0xff, sizeof(RANDOMPARMS));
rpParms.uiTimeMin = gAmbData[ uiAmbientID ].uiMinTime;
@@ -235,7 +237,9 @@ UINT32 SetupNewAmbientSound( UINT32 uiAmbientID )
rpParms.uiVolMax = CalculateSoundEffectsVolume( gAmbData[ uiAmbientID ].uiVol );
rpParms.uiPriority = GROUP_AMBIENT;
return SoundPlayRandom( gAmbData[ uiAmbientID ].zFilename, &rpParms );
//SoundLog((CHAR8 *)String(" SetupNewAmbientSound()2: gAmbData[ uiAmbientID ].zFilename: '%s', Params: '%s'", gAmbData[ uiAmbientID ].zFilename, &rpParms ) );
return SoundPlayRandom( gAmbData[ uiAmbientID ].zFilename, &rpParms ); //bug Nr14
}
-4
View File
@@ -3097,10 +3097,6 @@
RelativePath="worldman.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe">
</Filter>
</Files>
<Globals>
</Globals>
+6 -3
View File
@@ -5,6 +5,9 @@
// Stolen from Nemesis by Derek Beland.
// Originally by Derek Beland and Bret Rowden.
//
// ChangeLog:
// 10.12.2005 Lesh ripped everything that refers to MSS
// 15.12.2005 Lesh enabled sound in video
//----------------------------------------------------------------------------------
//#include "LocalCodeAll.h"
@@ -23,7 +26,6 @@
#include "FileMan.h"
#include "smack.h"
#include "ddraw.h"
#include "mss.h"
#include "DirectX Common.h"
#include "DirectDraw Calls.h"
#include "Cinematics.h"
@@ -131,9 +133,10 @@ DDSURFACEDESC SurfaceDescription;
return(fFlicStatus);
}
// Lesh changed this function only -----------------------------
void SmkInitialize(HWND hWindow, UINT32 uiWidth, UINT32 uiHeight)
{
HDIGDRIVER pSoundDriver = NULL;
void *pSoundDriver = NULL;
// Wipe the flic list clean
memset(SmkList, 0, sizeof(SMKFLIC)*SMK_NUM_FLICS);
@@ -151,7 +154,7 @@ void SmkInitialize(HWND hWindow, UINT32 uiWidth, UINT32 uiHeight)
//if we got the sound handle, use sound during the intro
if( pSoundDriver )
SmackSoundUseMSS( pSoundDriver );
SmackSoundUseDirectSound( pSoundDriver );
}
void SmkShutdown(void)
+1
View File
@@ -109,6 +109,7 @@ SOUNDPARMS spParms;
memset(&spParms, 0xff, sizeof(SOUNDPARMS));
spParms.uiPriority=PRIORITY_MAX;
spParms.uiVolume=0;
spParms.uiLoop=1; // Lesh: only 1 line added
spParms.EOSCallback = MusicStopCallback;
+330 -328
View File
@@ -11,7 +11,7 @@
#include "renderworld.h"
#endif
#define SOUND_FAR_VOLUME_MOD 25
#define SOUND_FAR_VOLUME_MOD 25
/*
UINT32 LOWVOLUME START_LOWVOLUME;
@@ -24,306 +24,306 @@ UINT32 guiSoundEffectsVolume = MIDVOLUME;
char szSoundEffects[MAX_SAMPLES][255];// =
//{
// "SOUNDS\\RICOCHET 01.WAV",
// "SOUNDS\\RICOCHET 02.WAV",
// "SOUNDS\\RICOCHET 01.WAV",
// "SOUNDS\\RICOCHET 02.WAV",
// "SOUNDS\\RICOCHET 01.WAV",
// "SOUNDS\\RICOCHET 02.WAV",
// "SOUNDS\\RICOCHET 01.WAV",
// "SOUNDS\\RICOCHET 02.WAV",
// "SOUNDS\\DIRT IMPACT 01.WAV",
// "SOUNDS\\DIRT IMPACT 01.WAV",
// "SOUNDS\\KNIFE HIT GROUND.WAV",
// "SOUNDS\\FALL TO KNEES 01.WAV",
// "SOUNDS\\FALL TO KNEES 02.WAV",
// "SOUNDS\\KNEES TO DIRT 01.WAV",
// "SOUNDS\\KNEES TO DIRT 02.WAV",
// "SOUNDS\\KNEES TO DIRT 03.WAV",
// "SOUNDS\\HEAVY FALL 01.WAV",
// "SOUNDS\\BODY_SPLAT.WAV",
// "SOUNDS\\GLASS_BREAK1.WAV",
// "SOUNDS\\GLASS_BREAK2.WAV",
// "SOUNDS\\RICOCHET 01.WAV",
// "SOUNDS\\RICOCHET 02.WAV",
// "SOUNDS\\RICOCHET 01.WAV",
// "SOUNDS\\RICOCHET 02.WAV",
// "SOUNDS\\RICOCHET 01.WAV",
// "SOUNDS\\RICOCHET 02.WAV",
// "SOUNDS\\RICOCHET 01.WAV",
// "SOUNDS\\RICOCHET 02.WAV",
// "SOUNDS\\DIRT IMPACT 01.WAV",
// "SOUNDS\\DIRT IMPACT 01.WAV",
// "SOUNDS\\KNIFE HIT GROUND.WAV",
// "SOUNDS\\FALL TO KNEES 01.WAV",
// "SOUNDS\\FALL TO KNEES 02.WAV",
// "SOUNDS\\KNEES TO DIRT 01.WAV",
// "SOUNDS\\KNEES TO DIRT 02.WAV",
// "SOUNDS\\KNEES TO DIRT 03.WAV",
// "SOUNDS\\HEAVY FALL 01.WAV",
// "SOUNDS\\BODY_SPLAT.WAV",
// "SOUNDS\\GLASS_BREAK1.WAV",
// "SOUNDS\\GLASS_BREAK2.WAV",
//
// "SOUNDS\\DOOR OPEN 01.WAV",
// "SOUNDS\\DOOR OPEN 02.WAV",
// "SOUNDS\\DOOR OPEN 03.WAV",
// "SOUNDS\\DOOR CLOSE 01.WAV",
// "SOUNDS\\DOOR CLOSE 02.WAV",
// "SOUNDS\\UNLOCK LOCK.WAV",
// "SOUNDS\\KICKIN LOCK.WAV",
// "SOUNDS\\BREAK LOCK.WAV",
// "SOUNDS\\PICKING LOCK.WAV",
// "SOUNDS\\DOOR OPEN 01.WAV",
// "SOUNDS\\DOOR OPEN 02.WAV",
// "SOUNDS\\DOOR OPEN 03.WAV",
// "SOUNDS\\DOOR CLOSE 01.WAV",
// "SOUNDS\\DOOR CLOSE 02.WAV",
// "SOUNDS\\UNLOCK LOCK.WAV",
// "SOUNDS\\KICKIN LOCK.WAV",
// "SOUNDS\\BREAK LOCK.WAV",
// "SOUNDS\\PICKING LOCK.WAV",
//
// "SOUNDS\\GARAGE DOOR OPEN.WAV",
// "SOUNDS\\GARAGE DOOR CLOSE.WAV",
// "SOUNDS\\ELEVATOR DOOR OPEN.WAV",
// "SOUNDS\\ELEVATOR DOOR CLOSE.WAV",
// "SOUNDS\\HIGH TECH DOOR OPEN.WAV",
// "SOUNDS\\HIGH TECH DOOR CLOSE.WAV",
// "SOUNDS\\CURTAINS DOOR OPEN.WAV",
// "SOUNDS\\CURTAINS DOOR CLOSE.WAV",
// "SOUNDS\\METAL DOOR OPEN.WAV",
// "SOUNDS\\METAL DOOR CLOSE.WAV",
// "SOUNDS\\GARAGE DOOR OPEN.WAV",
// "SOUNDS\\GARAGE DOOR CLOSE.WAV",
// "SOUNDS\\ELEVATOR DOOR OPEN.WAV",
// "SOUNDS\\ELEVATOR DOOR CLOSE.WAV",
// "SOUNDS\\HIGH TECH DOOR OPEN.WAV",
// "SOUNDS\\HIGH TECH DOOR CLOSE.WAV",
// "SOUNDS\\CURTAINS DOOR OPEN.WAV",
// "SOUNDS\\CURTAINS DOOR CLOSE.WAV",
// "SOUNDS\\METAL DOOR OPEN.WAV",
// "SOUNDS\\METAL DOOR CLOSE.WAV",
//
// "SOUNDS\\ftp gravel 01.WAV",
// "SOUNDS\\ftp gravel 02.WAV",
// "SOUNDS\\ftp gravel 03.WAV",
// "SOUNDS\\ftp gravel 04.WAV",
// "SOUNDS\\ftp gritty 01.WAV",
// "SOUNDS\\ftp gritty 02.WAV",
// "SOUNDS\\ftp gritty 03.WAV",
// "SOUNDS\\ftp gritty 04.WAV",
// "SOUNDS\\ftp leaves 01.WAV",
// "SOUNDS\\ftp leaves 02.WAV",
// "SOUNDS\\ftp leaves 03.WAV",
// "SOUNDS\\ftp leaves 04.WAV",
// "SOUNDS\\ftp gravel 01.WAV",
// "SOUNDS\\ftp gravel 02.WAV",
// "SOUNDS\\ftp gravel 03.WAV",
// "SOUNDS\\ftp gravel 04.WAV",
// "SOUNDS\\ftp gritty 01.WAV",
// "SOUNDS\\ftp gritty 02.WAV",
// "SOUNDS\\ftp gritty 03.WAV",
// "SOUNDS\\ftp gritty 04.WAV",
// "SOUNDS\\ftp leaves 01.WAV",
// "SOUNDS\\ftp leaves 02.WAV",
// "SOUNDS\\ftp leaves 03.WAV",
// "SOUNDS\\ftp leaves 04.WAV",
//
// "SOUNDS\\CRAWLING 01.WAV",
// "SOUNDS\\CRAWLING 02.WAV",
// "SOUNDS\\CRAWLING 03.WAV",
// "SOUNDS\\CRAWLING 04.WAV",
// "SOUNDS\\BEEP2.WAV",
// "SOUNDS\\ENDTURN.WAV",
// "SOUNDS\\JA2 DEATH HIT.WAV",
// "SOUNDS\\DOORCR_B.WAV",
// "SOUNDS\\HEAD EXPLODING 01.WAV",
// "SOUNDS\\BODY EXPLODING.WAV",
// "SOUNDS\\EXPLODE1.WAV",
// "SOUNDS\\CROW EXPLODING.WAV",
// "SOUNDS\\SMALL EXPLOSION 01.WAV",
// "SOUNDS\\CRAWLING 01.WAV",
// "SOUNDS\\CRAWLING 02.WAV",
// "SOUNDS\\CRAWLING 03.WAV",
// "SOUNDS\\CRAWLING 04.WAV",
// "SOUNDS\\BEEP2.WAV",
// "SOUNDS\\ENDTURN.WAV",
// "SOUNDS\\JA2 DEATH HIT.WAV",
// "SOUNDS\\DOORCR_B.WAV",
// "SOUNDS\\HEAD EXPLODING 01.WAV",
// "SOUNDS\\BODY EXPLODING.WAV",
// "SOUNDS\\EXPLODE1.WAV",
// "SOUNDS\\CROW EXPLODING.WAV",
// "SOUNDS\\SMALL EXPLOSION 01.WAV",
//
// "SOUNDS\\HELI1.WAV",
// "SOUNDS\\BULLET IMPACT 01.WAV",
// "SOUNDS\\BULLET IMPACT 02.WAV",
// "SOUNDS\\BULLET IMPACT 02.WAV",
// "SOUNDS\\HELI1.WAV",
// "SOUNDS\\BULLET IMPACT 01.WAV",
// "SOUNDS\\BULLET IMPACT 02.WAV",
// "SOUNDS\\BULLET IMPACT 02.WAV",
//
// "STSOUNDS\\BLAH.WAV", // CREATURE ATTACK
//
// "SOUNDS\\STEP INTO WATER.WAV",
// "SOUNDS\\SPLASH FROM SHALLOW TO DEEP.WAV",
// "STSOUNDS\\BLAH.WAV", // CREATURE ATTACK
//
// "SOUNDS\\STEP INTO WATER.WAV",
// "SOUNDS\\SPLASH FROM SHALLOW TO DEEP.WAV",
//
// "SOUNDS\\COW HIT.WAV", // COW HIT
// "SOUNDS\\COW DIE.WAV", // COW DIE
// "SOUNDS\\COW HIT.WAV", // COW HIT
// "SOUNDS\\COW DIE.WAV", // COW DIE
//
// // THREE COMPUTER VOICE SOUNDS FOR RG
// "SOUNDS\\LINE 02 FX.WAV",
// "SOUNDS\\LINE 01 FX.WAV",
// "SOUNDS\\LINE 03 FX.WAV",
// // THREE COMPUTER VOICE SOUNDS FOR RG
// "SOUNDS\\LINE 02 FX.WAV",
// "SOUNDS\\LINE 01 FX.WAV",
// "SOUNDS\\LINE 03 FX.WAV",
//
// "SOUNDS\\CAVE COLLAPSING.WAV", // CAVE_COLLAPSE
// "SOUNDS\\CAVE COLLAPSING.WAV", // CAVE_COLLAPSE
//
//
// "SOUNDS\\RAID WHISTLE.WAV", // RAID
// "SOUNDS\\RAID AMBIENT.WAV",
// "SOUNDS\\RAID DIVE.WAV",
// "SOUNDS\\RAID DIVE.WAV",
// "SOUNDS\\RAID WHISTLE.WAV", // RAID
// "SOUNDS\\RAID WHISTLE.WAV", // RAID
// "SOUNDS\\RAID AMBIENT.WAV",
// "SOUNDS\\RAID DIVE.WAV",
// "SOUNDS\\RAID DIVE.WAV",
// "SOUNDS\\RAID WHISTLE.WAV", // RAID
//
// // VEHICLES
// "SOUNDS\\DRIVING 01.WAV", // DRIVING
// "SOUNDS\\ENGINE START.WAV", // ON
// "SOUNDS\\ENGINE OFF.WAV", // OFF
// "SOUNDS\\INTO VEHICLE.WAV", // INTO
// // VEHICLES
// "SOUNDS\\DRIVING 01.WAV", // DRIVING
// "SOUNDS\\ENGINE START.WAV", // ON
// "SOUNDS\\ENGINE OFF.WAV", // OFF
// "SOUNDS\\INTO VEHICLE.WAV", // INTO
//
//
// "SOUNDS\\WEAPONS\\DRY FIRE 1.WAV", // Dry fire sound ( for gun jam )
// "SOUNDS\\WEAPONS\\DRY FIRE 1.WAV", // Dry fire sound ( for gun jam )
//
// // IMPACTS
// "SOUNDS\\WOOD IMPACT 01A.WAV", // S_WOOD_IMPACT1
// "SOUNDS\\WOOD IMPACT 01B.WAV",
// "SOUNDS\\WOOD IMPACT 01A.WAV",
// "SOUNDS\\PORCELAIN IMPACT.WAV",
// "SOUNDS\\TIRE IMPACT 01.WAV",
// "SOUNDS\\STONE IMPACT 01.WAV",
// "SOUNDS\\WATER IMPACT 01.WAV",
// "SOUNDS\\VEG IMPACT 01.WAV",
// "SOUNDS\\METAL HIT 01.WAV", // S_METAL_HIT1
// "SOUNDS\\METAL HIT 01.WAV",
// "SOUNDS\\METAL HIT 01.WAV",
// // IMPACTS
// "SOUNDS\\WOOD IMPACT 01A.WAV", // S_WOOD_IMPACT1
// "SOUNDS\\WOOD IMPACT 01B.WAV",
// "SOUNDS\\WOOD IMPACT 01A.WAV",
// "SOUNDS\\PORCELAIN IMPACT.WAV",
// "SOUNDS\\TIRE IMPACT 01.WAV",
// "SOUNDS\\STONE IMPACT 01.WAV",
// "SOUNDS\\WATER IMPACT 01.WAV",
// "SOUNDS\\VEG IMPACT 01.WAV",
// "SOUNDS\\METAL HIT 01.WAV", // S_METAL_HIT1
// "SOUNDS\\METAL HIT 01.WAV",
// "SOUNDS\\METAL HIT 01.WAV",
//
// "SOUNDS\\SLAP_IMPACT.WAV",
// "SOUNDS\\SLAP_IMPACT.WAV",
//
// // FIREARM RELOAD
// "SOUNDS\\WEAPONS\\REVOLVER RELOAD.WAV", // REVOLVER
// "SOUNDS\\WEAPONS\\PISTOL RELOAD.WAV", // PISTOL
// "SOUNDS\\WEAPONS\\SMG RELOAD.WAV", // SMG
// "SOUNDS\\WEAPONS\\RIFLE RELOAD.WAV", // RIFLE
// "SOUNDS\\WEAPONS\\SHOTGUN RELOAD.WAV", // SHOTGUN
// "SOUNDS\\WEAPONS\\LMG RELOAD.WAV", // LMG
// // FIREARM RELOAD
// "SOUNDS\\WEAPONS\\REVOLVER RELOAD.WAV", // REVOLVER
// "SOUNDS\\WEAPONS\\PISTOL RELOAD.WAV", // PISTOL
// "SOUNDS\\WEAPONS\\SMG RELOAD.WAV", // SMG
// "SOUNDS\\WEAPONS\\RIFLE RELOAD.WAV", // RIFLE
// "SOUNDS\\WEAPONS\\SHOTGUN RELOAD.WAV", // SHOTGUN
// "SOUNDS\\WEAPONS\\LMG RELOAD.WAV", // LMG
//
// // FIREARM LOCKNLOAD
// "SOUNDS\\WEAPONS\\REVOLVER LNL.WAV", // REVOLVER
// "SOUNDS\\WEAPONS\\PISTOL LNL.WAV", // PISTOL
// "SOUNDS\\WEAPONS\\SMG LNL.WAV", // SMG
// "SOUNDS\\WEAPONS\\RIFLE LNL.WAV", // RIFLE
// "SOUNDS\\WEAPONS\\SHOTGUN LNL.WAV", // SHOTGUN
// "SOUNDS\\WEAPONS\\LMG LNL.WAV", // LMG
// // FIREARM LOCKNLOAD
// "SOUNDS\\WEAPONS\\REVOLVER LNL.WAV", // REVOLVER
// "SOUNDS\\WEAPONS\\PISTOL LNL.WAV", // PISTOL
// "SOUNDS\\WEAPONS\\SMG LNL.WAV", // SMG
// "SOUNDS\\WEAPONS\\RIFLE LNL.WAV", // RIFLE
// "SOUNDS\\WEAPONS\\SHOTGUN LNL.WAV", // SHOTGUN
// "SOUNDS\\WEAPONS\\LMG LNL.WAV", // LMG
//
// // ROCKET LAUCNHER
// "SOUNDS\\WEAPONS\\SMALL ROCKET LAUNCHER.WAV", // SMALL ROCKET LUANCHER
// "SOUNDS\\WEAPONS\\MORTAR FIRE 01.WAV", // GRENADE LAUNCHER
// "SOUNDS\\WEAPONS\\MORTAR FIRE 01.WAV", // UNDERSLUNG GRENADE LAUNCHER
// "SOUNDS\\WEAPONS\\ROCKET LAUNCHER.WAV",
// "SOUNDS\\WEAPONS\\MORTAR FIRE 01.WAV",
// // ROCKET LAUCNHER
// "SOUNDS\\WEAPONS\\SMALL ROCKET LAUNCHER.WAV", // SMALL ROCKET LUANCHER
// "SOUNDS\\WEAPONS\\MORTAR FIRE 01.WAV", // GRENADE LAUNCHER
// "SOUNDS\\WEAPONS\\MORTAR FIRE 01.WAV", // UNDERSLUNG GRENADE LAUNCHER
// "SOUNDS\\WEAPONS\\ROCKET LAUNCHER.WAV",
// "SOUNDS\\WEAPONS\\MORTAR FIRE 01.WAV",
//
// // FIREARMS
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_GLOCK17 9mm
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_GLOCK18 9mm
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_BERETTA92 9mm
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_BERETTA93 9mm
// "SOUNDS\\WEAPONS\\38 CALIBER.WAV", // S_SWSPECIAL .38
// "SOUNDS\\WEAPONS\\357 SINGLE SHOT.WAV", // S_BARRACUDA .357
// "SOUNDS\\WEAPONS\\357 SINGLE SHOT.WAV", // S_DESERTEAGLE .357
// "SOUNDS\\WEAPONS\\45 CALIBER SINGLE SHOT.WAV", // S_M1911 .45
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_MP5K 9mm
// "SOUNDS\\WEAPONS\\45 CALIBER SINGLE SHOT.WAV", // S_MAC10 .45
// "SOUNDS\\WEAPONS\\45 CALIBER SINGLE SHOT.WAV", // S_THOMPSON .45
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_COMMANDO 5.56
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_MP53 5.56?
// "SOUNDS\\WEAPONS\\5,45 SINGLE SHOT.WAV", // S_AKSU74 5.45
// "SOUNDS\\WEAPONS\\5,7 SINGLE SHOT.WAV", // S_P90 5.7
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_TYPE85 7.62 WP
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_SKS 7.62 WP
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_DRAGUNOV 7.62 WP
// "SOUNDS\\WEAPONS\\7,62 NATO SINGLE SHOT.WAV", // S_M24 7.62 NATO
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_AUG 5.56mm
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_G41 5.56mm
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_RUGERMINI 5.56mm
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_C7 5.56mm
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_FAMAS 5.56mm
// "SOUNDS\\WEAPONS\\5,45 SINGLE SHOT.WAV", // S_AK74 5.45mm
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_AKM 7.62mm WP
// "SOUNDS\\WEAPONS\\7,62 NATO SINGLE SHOT.WAV", // S_M14 7.62mm NATO
// "SOUNDS\\WEAPONS\\7,62 NATO SINGLE SHOT.WAV", // S_FNFAL 7.62mm NATO
// "SOUNDS\\WEAPONS\\7,62 NATO SINGLE SHOT.WAV", // S_G3A3 7.62mm NATO
// "SOUNDS\\WEAPONS\\4,7 SINGLE SHOT.WAV", // S_G11 4.7mm
// "SOUNDS\\WEAPONS\\SHOTGUN SINGLE SHOT.WAV", // S_M870 SHOTGUN
// "SOUNDS\\WEAPONS\\SHOTGUN SINGLE SHOT.WAV", // S_SPAS SHOTGUN
// "SOUNDS\\WEAPONS\\SHOTGUN SINGLE SHOT.WAV", // S_CAWS SHOTGUN
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_FNMINI 5.56mm
// "SOUNDS\\WEAPONS\\5,45 SINGLE SHOT.WAV", // S_RPK74 5.45mm
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_21E 7.62mm
// "SOUNDS\\WEAPONS\\KNIFE THROW SWOOSH.WAV", // KNIFE THROW
// "SOUNDS\\WEAPONS\\TANK_CANNON.WAV",
// "SOUNDS\\WEAPONS\\BURSTTYPE1.WAV",
// "SOUNDS\\WEAPONS\\AUTOMAG SINGLE.WAV",
// // FIREARMS
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_GLOCK17 9mm
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_GLOCK18 9mm
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_BERETTA92 9mm
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_BERETTA93 9mm
// "SOUNDS\\WEAPONS\\38 CALIBER.WAV", // S_SWSPECIAL .38
// "SOUNDS\\WEAPONS\\357 SINGLE SHOT.WAV", // S_BARRACUDA .357
// "SOUNDS\\WEAPONS\\357 SINGLE SHOT.WAV", // S_DESERTEAGLE .357
// "SOUNDS\\WEAPONS\\45 CALIBER SINGLE SHOT.WAV", // S_M1911 .45
// "SOUNDS\\WEAPONS\\9mm SINGLE SHOT.WAV", // S_MP5K 9mm
// "SOUNDS\\WEAPONS\\45 CALIBER SINGLE SHOT.WAV", // S_MAC10 .45
// "SOUNDS\\WEAPONS\\45 CALIBER SINGLE SHOT.WAV", // S_THOMPSON .45
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_COMMANDO 5.56
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_MP53 5.56?
// "SOUNDS\\WEAPONS\\5,45 SINGLE SHOT.WAV", // S_AKSU74 5.45
// "SOUNDS\\WEAPONS\\5,7 SINGLE SHOT.WAV", // S_P90 5.7
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_TYPE85 7.62 WP
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_SKS 7.62 WP
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_DRAGUNOV 7.62 WP
// "SOUNDS\\WEAPONS\\7,62 NATO SINGLE SHOT.WAV", // S_M24 7.62 NATO
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_AUG 5.56mm
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_G41 5.56mm
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_RUGERMINI 5.56mm
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_C7 5.56mm
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_FAMAS 5.56mm
// "SOUNDS\\WEAPONS\\5,45 SINGLE SHOT.WAV", // S_AK74 5.45mm
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_AKM 7.62mm WP
// "SOUNDS\\WEAPONS\\7,62 NATO SINGLE SHOT.WAV", // S_M14 7.62mm NATO
// "SOUNDS\\WEAPONS\\7,62 NATO SINGLE SHOT.WAV", // S_FNFAL 7.62mm NATO
// "SOUNDS\\WEAPONS\\7,62 NATO SINGLE SHOT.WAV", // S_G3A3 7.62mm NATO
// "SOUNDS\\WEAPONS\\4,7 SINGLE SHOT.WAV", // S_G11 4.7mm
// "SOUNDS\\WEAPONS\\SHOTGUN SINGLE SHOT.WAV", // S_M870 SHOTGUN
// "SOUNDS\\WEAPONS\\SHOTGUN SINGLE SHOT.WAV", // S_SPAS SHOTGUN
// "SOUNDS\\WEAPONS\\SHOTGUN SINGLE SHOT.WAV", // S_CAWS SHOTGUN
// "SOUNDS\\WEAPONS\\5,56 SINGLE SHOT.WAV", // S_FNMINI 5.56mm
// "SOUNDS\\WEAPONS\\5,45 SINGLE SHOT.WAV", // S_RPK74 5.45mm
// "SOUNDS\\WEAPONS\\7,62 WP SINGLE SHOT.WAV", // S_21E 7.62mm
// "SOUNDS\\WEAPONS\\KNIFE THROW SWOOSH.WAV", // KNIFE THROW
// "SOUNDS\\WEAPONS\\TANK_CANNON.WAV",
// "SOUNDS\\WEAPONS\\BURSTTYPE1.WAV",
// "SOUNDS\\WEAPONS\\AUTOMAG SINGLE.WAV",
//
// "SOUNDS\\WEAPONS\\SILENCER 02.WAV",
// "SOUNDS\\WEAPONS\\SILENCER 03.WAV",
// "SOUNDS\\WEAPONS\\SILENCER 02.WAV",
// "SOUNDS\\WEAPONS\\SILENCER 03.WAV",
//
// "SOUNDS\\SWOOSH 01.WAV",
// "SOUNDS\\SWOOSH 03.WAV",
// "SOUNDS\\SWOOSH 05.WAV",
// "SOUNDS\\SWOOSH 06.WAV",
// "SOUNDS\\SWOOSH 11.WAV",
// "SOUNDS\\SWOOSH 14.WAV",
// "SOUNDS\\SWOOSH 01.WAV",
// "SOUNDS\\SWOOSH 03.WAV",
// "SOUNDS\\SWOOSH 05.WAV",
// "SOUNDS\\SWOOSH 06.WAV",
// "SOUNDS\\SWOOSH 11.WAV",
// "SOUNDS\\SWOOSH 14.WAV",
//
// // CREATURE_SOUNDS
// "SOUNDS\\ADULT FALL 01.WAV",
// "SOUNDS\\ADULT STEP 01.WAV",
// "SOUNDS\\ADULT STEP 02.WAV",
// "SOUNDS\\ADULT SWIPE 01.WAV",
// "SOUNDS\\Eating_Flesh 01.WAV",
// "SOUNDS\\ADULT CRIPPLED.WAV",
// "SOUNDS\\ADULT DYING PART 1.WAV",
// "SOUNDS\\ADULT DYING PART 2.WAV",
// "SOUNDS\\ADULT LUNGE 01.WAV",
// "SOUNDS\\ADULT SMELLS THREAT.WAV",
// "SOUNDS\\ADULT SMELLS PREY.WAV",
// "SOUNDS\\ADULT SPIT.WAV",
// // CREATURE_SOUNDS
// "SOUNDS\\ADULT FALL 01.WAV",
// "SOUNDS\\ADULT STEP 01.WAV",
// "SOUNDS\\ADULT STEP 02.WAV",
// "SOUNDS\\ADULT SWIPE 01.WAV",
// "SOUNDS\\Eating_Flesh 01.WAV",
// "SOUNDS\\ADULT CRIPPLED.WAV",
// "SOUNDS\\ADULT DYING PART 1.WAV",
// "SOUNDS\\ADULT DYING PART 2.WAV",
// "SOUNDS\\ADULT LUNGE 01.WAV",
// "SOUNDS\\ADULT SMELLS THREAT.WAV",
// "SOUNDS\\ADULT SMELLS PREY.WAV",
// "SOUNDS\\ADULT SPIT.WAV",
//
// // BABY
// "SOUNDS\\BABY DYING 01.WAV",
// "SOUNDS\\BABY DRAGGING 01.WAV",
// "SOUNDS\\BABY SHRIEK 01.WAV",
// "SOUNDS\\BABY SPITTING 01.WAV",
// // BABY
// "SOUNDS\\BABY DYING 01.WAV",
// "SOUNDS\\BABY DRAGGING 01.WAV",
// "SOUNDS\\BABY SHRIEK 01.WAV",
// "SOUNDS\\BABY SPITTING 01.WAV",
//
// // LARVAE
// "SOUNDS\\LARVAE MOVEMENT 01.WAV",
// "SOUNDS\\LARVAE RUPTURE 01.WAV",
// // LARVAE
// "SOUNDS\\LARVAE MOVEMENT 01.WAV",
// "SOUNDS\\LARVAE RUPTURE 01.WAV",
//
// //QUEEN
// "SOUNDS\\QUEEN SHRIEK 01.WAV",
// "SOUNDS\\QUEEN DYING 01.WAV",
// "SOUNDS\\QUEEN ENRAGED ATTACK.WAV",
// "SOUNDS\\QUEEN RUPTURING.WAV",
// "SOUNDS\\QUEEN CRIPPLED.WAV",
// "SOUNDS\\QUEEN SMELLS THREAT.WAV",
// "SOUNDS\\QUEEN WHIP ATTACK.WAV",
// //QUEEN
// "SOUNDS\\QUEEN SHRIEK 01.WAV",
// "SOUNDS\\QUEEN DYING 01.WAV",
// "SOUNDS\\QUEEN ENRAGED ATTACK.WAV",
// "SOUNDS\\QUEEN RUPTURING.WAV",
// "SOUNDS\\QUEEN CRIPPLED.WAV",
// "SOUNDS\\QUEEN SMELLS THREAT.WAV",
// "SOUNDS\\QUEEN WHIP ATTACK.WAV",
//
// "SOUNDS\\ROCK HIT 01.WAV",
// "SOUNDS\\ROCK HIT 02.WAV",
// "SOUNDS\\ROCK HIT 01.WAV",
// "SOUNDS\\ROCK HIT 02.WAV",
//
// "SOUNDS\\SCRATCH.WAV",
// "SOUNDS\\ARMPIT.WAV",
// "SOUNDS\\CRACKING BACK.WAV",
// "SOUNDS\\SCRATCH.WAV",
// "SOUNDS\\ARMPIT.WAV",
// "SOUNDS\\CRACKING BACK.WAV",
//
// "SOUNDS\\WEAPONS\\Auto Resolve Composite 02 (8-22).wav", // The FF sound in autoresolve interface
// "SOUNDS\\WEAPONS\\Auto Resolve Composite 02 (8-22).wav",// The FF sound in autoresolve interface
//
// "SOUNDS\\Email Alert 01.wav",
// "SOUNDS\\Entering Text 02.wav",
// "SOUNDS\\Removing Text 02.wav",
// "SOUNDS\\Computer Beep 01 In.wav",
// "SOUNDS\\Computer Beep 01 Out.wav",
// "SOUNDS\\Computer Switch 01 In.wav",
// "SOUNDS\\Computer Switch 01 Out.wav",
// "SOUNDS\\Very Small Switch 01 In.wav",
// "SOUNDS\\Very Small Switch 01 Out.wav",
// "SOUNDS\\Very Small Switch 02 In.wav",
// "SOUNDS\\Very Small Switch 02 Out.wav",
// "SOUNDS\\Small Switch 01 In.wav",
// "SOUNDS\\Small Switch 01 Out.wav",
// "SOUNDS\\Small Switch 02 In.wav",
// "SOUNDS\\Small Switch 02 Out.wav",
// "SOUNDS\\Small Switch 03 In.wav",
// "SOUNDS\\Small Switch 03 Out.wav",
// "SOUNDS\\Big Switch 03 In.wav",
// "SOUNDS\\Big Switch 03 Out.wav",
// "SOUNDS\\Alarm.wav",
// "SOUNDS\\Fight Bell.wav",
// "SOUNDS\\Helicopter Crash Sequence.wav",
// "SOUNDS\\Attachment.wav",
// "SOUNDS\\Ceramic Armour Insert.wav",
// "SOUNDS\\Detonator Beep.wav",
// "SOUNDS\\Grab Roof.wav",
// "SOUNDS\\Land On Roof.wav",
// "SOUNDS\\Branch Snap 01.wav",
// "SOUNDS\\Branch Snap 02.wav",
// "SOUNDS\\Indoor Bump 01.wav",
// "SOUNDS\\Email Alert 01.wav",
// "SOUNDS\\Entering Text 02.wav",
// "SOUNDS\\Removing Text 02.wav",
// "SOUNDS\\Computer Beep 01 In.wav",
// "SOUNDS\\Computer Beep 01 Out.wav",
// "SOUNDS\\Computer Switch 01 In.wav",
// "SOUNDS\\Computer Switch 01 Out.wav",
// "SOUNDS\\Very Small Switch 01 In.wav",
// "SOUNDS\\Very Small Switch 01 Out.wav",
// "SOUNDS\\Very Small Switch 02 In.wav",
// "SOUNDS\\Very Small Switch 02 Out.wav",
// "SOUNDS\\Small Switch 01 In.wav",
// "SOUNDS\\Small Switch 01 Out.wav",
// "SOUNDS\\Small Switch 02 In.wav",
// "SOUNDS\\Small Switch 02 Out.wav",
// "SOUNDS\\Small Switch 03 In.wav",
// "SOUNDS\\Small Switch 03 Out.wav",
// "SOUNDS\\Big Switch 03 In.wav",
// "SOUNDS\\Big Switch 03 Out.wav",
// "SOUNDS\\Alarm.wav",
// "SOUNDS\\Fight Bell.wav",
// "SOUNDS\\Helicopter Crash Sequence.wav",
// "SOUNDS\\Attachment.wav",
// "SOUNDS\\Ceramic Armour Insert.wav",
// "SOUNDS\\Detonator Beep.wav",
// "SOUNDS\\Grab Roof.wav",
// "SOUNDS\\Land On Roof.wav",
// "SOUNDS\\Branch Snap 01.wav",
// "SOUNDS\\Branch Snap 02.wav",
// "SOUNDS\\Indoor Bump 01.wav",
//
// "SOUNDS\\Fridge Door Open.wav",
// "SOUNDS\\Fridge Door Close.wav",
// "SOUNDS\\Fridge Door Open.wav",
// "SOUNDS\\Fridge Door Close.wav",
//
// "SOUNDS\\Fire 03 Loop.wav",
// "SOUNDS\\GLASS_CRACK.wav",
// "SOUNDS\\SPIT RICOCHET.WAV",
// "SOUNDS\\TIGER HIT.WAV",
// "SOUNDS\\bloodcat dying 02.WAV",
// "SOUNDS\\SLAP.WAV",
// "SOUNDS\\ROBOT BEEP.WAV",
// "SOUNDS\\ELECTRICITY.WAV",
// "SOUNDS\\SWIMMING 01.WAV",
// "SOUNDS\\SWIMMING 02.WAV",
// "SOUNDS\\KEY FAILURE.WAV",
// "SOUNDS\\target cursor.WAV",
// "SOUNDS\\statue open.WAV",
// "SOUNDS\\remote activate.WAV",
// "SOUNDS\\wirecutters.WAV",
// "SOUNDS\\drink from canteen.WAV",
// "SOUNDS\\Fire 03 Loop.wav",
// "SOUNDS\\GLASS_CRACK.wav",
// "SOUNDS\\SPIT RICOCHET.WAV",
// "SOUNDS\\TIGER HIT.WAV",
// "SOUNDS\\bloodcat dying 02.WAV",
// "SOUNDS\\SLAP.WAV",
// "SOUNDS\\ROBOT BEEP.WAV",
// "SOUNDS\\ELECTRICITY.WAV",
// "SOUNDS\\SWIMMING 01.WAV",
// "SOUNDS\\SWIMMING 02.WAV",
// "SOUNDS\\KEY FAILURE.WAV",
// "SOUNDS\\target cursor.WAV",
// "SOUNDS\\statue open.WAV",
// "SOUNDS\\remote activate.WAV",
// "SOUNDS\\wirecutters.WAV",
// "SOUNDS\\drink from canteen.WAV",
// "SOUNDS\\bloodcat attack.wav",
// "SOUNDS\\bloodcat loud roar.wav",
// "SOUNDS\\robot greeting.wav",
// "SOUNDS\\robot death.wav",
// "SOUNDS\\gas grenade explode.WAV",
// "SOUNDS\\air escaping.WAV",
// "SOUNDS\\drawer open.WAV",
// "SOUNDS\\drawer close.WAV",
// "SOUNDS\\locker door open.WAV",
// "SOUNDS\\locker door close.WAV",
// "SOUNDS\\wooden box open.WAV",
// "SOUNDS\\wooden box close.WAV",
// "SOUNDS\\robot stop moving.WAV",
// "SOUNDS\\gas grenade explode.WAV",
// "SOUNDS\\air escaping.WAV",
// "SOUNDS\\drawer open.WAV",
// "SOUNDS\\drawer close.WAV",
// "SOUNDS\\locker door open.WAV",
// "SOUNDS\\locker door close.WAV",
// "SOUNDS\\wooden box open.WAV",
// "SOUNDS\\wooden box close.WAV",
// "SOUNDS\\robot stop moving.WAV",
// "SOUNDS\\water movement 01.wav",
// "SOUNDS\\water movement 02.wav",
// "SOUNDS\\water movement 03.wav",
@@ -339,7 +339,7 @@ char szSoundEffects[MAX_SAMPLES][255];// =
// "SOUNDS\\bloodcat_growl_03.wav",
// "SOUNDS\\bloodcat_growl_04.wav",
// "SOUNDS\\spit ricochet.wav",
// "SOUNDS\\ADULT crippled.WAV",
// "SOUNDS\\ADULT crippled.WAV",
// "SOUNDS\\death disintegration.wav",
// "SOUNDS\\Queen Ambience.wav",
// "SOUNDS\\Alien Impact.wav",
@@ -355,11 +355,11 @@ char szSoundEffects[MAX_SAMPLES][255];// =
// "SOUNDS\\stab into flesh.wav",
// "SOUNDS\\explosion 10.wav",
// "SOUNDS\\explosion 12.wav",
// "SOUNDS\\drink from canteen male.WAV",
// "SOUNDS\\x ray activated.WAV",
// "SOUNDS\\drink from canteen male.WAV",
// "SOUNDS\\x ray activated.WAV",
// "SOUNDS\\catch object.wav",
// "SOUNDS\\fence open.wav",
//
////MADD MARKER
////New Guns
// "SOUNDS\\WEAPONS\\50CAL.WAV",
@@ -369,20 +369,20 @@ char szSoundEffects[MAX_SAMPLES][255];// =
char szAmbientEffects[NUM_AMBIENTS][255] =
{
"SOUNDS\\storm1.wav",
"SOUNDS\\storm2.wav",
"SOUNDS\\rain_loop_22k.wav",
"SOUNDS\\bird1-22k.wav",
"SOUNDS\\bird3-22k.wav",
"SOUNDS\\crickety_loop.wav",
"SOUNDS\\crickety_loop2.wav",
"SOUNDS\\cricket1.wav",
"SOUNDS\\cricket2.wav",
"SOUNDS\\owl1.wav",
"SOUNDS\\owl2.wav",
"SOUNDS\\owl3.wav",
"SOUNDS\\night_bird1.wav",
"SOUNDS\\night_bird3.wav"
"SOUNDS\\storm1.wav",
"SOUNDS\\storm2.wav",
"SOUNDS\\rain_loop_22k.wav",
"SOUNDS\\bird1-22k.wav",
"SOUNDS\\bird3-22k.wav",
"SOUNDS\\crickety_loop.wav",
"SOUNDS\\crickety_loop2.wav",
"SOUNDS\\cricket1.wav",
"SOUNDS\\cricket2.wav",
"SOUNDS\\owl1.wav",
"SOUNDS\\owl2.wav",
"SOUNDS\\owl3.wav",
"SOUNDS\\night_bird1.wav",
"SOUNDS\\night_bird3.wav"
};
UINT8 AmbientVols[NUM_AMBIENTS]={
@@ -404,7 +404,7 @@ UINT8 AmbientVols[NUM_AMBIENTS]={
SOUNDPARMS gDelayedSoundParms;
UINT32 guiDelayedSoundNum;
UINT32 guiDelayedSoundNum;
void DelayedSoundTimerCallback( void );
@@ -443,8 +443,9 @@ UINT32 PlayJA2Sample( UINT32 usNum, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoo
spParms.uiSpeed = usRate;
spParms.uiVolume = CalculateSoundEffectsVolume( ubVolume );
spParms.uiVolume &= 0xFFL;
spParms.uiLoop = ubLoops;
spParms.uiPan = uiPan;
spParms.uiPan = uiPan & 0xFFL;
spParms.uiPriority=GROUP_PLAYER;
return(SoundPlay(szSoundEffects[usNum], &spParms));
@@ -466,6 +467,7 @@ UINT32 PlayJA2StreamingSample( UINT32 usNum, UINT32 usRate, UINT32 ubVolume, UIN
return(SoundPlayStreamedFile(szSoundEffects[usNum], &spParms));
}
UINT32 PlayJA2SampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan )
{
@@ -481,6 +483,7 @@ UINT32 PlayJA2SampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ubVolume, U
spParms.uiPan = uiPan;
spParms.uiPriority=GROUP_PLAYER;
//return(SoundPlay(szFileName, &spParms));
return(SoundPlay((STR) szFileName, &spParms));
}
@@ -499,7 +502,7 @@ UINT32 PlayJA2StreamingSampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ub
spParms.uiLoop = ubLoops;
spParms.uiPan = uiPan;
spParms.uiPriority=GROUP_PLAYER;
spParms.EOSCallback=EndsCallback;
spParms.EOSCallback=EndsCallback;
return( SoundPlayStreamedFile(szFileName, &spParms) );
}
@@ -507,7 +510,7 @@ UINT32 PlayJA2StreamingSampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ub
UINT32 PlayJA2Ambient( UINT32 usNum, UINT32 ubVolume, UINT32 ubLoops)
{
SOUNDPARMS spParms;
SOUNDPARMS spParms;
memset(&spParms, 0xff, sizeof(SOUNDPARMS));
@@ -557,7 +560,7 @@ UINT32 PlaySoldierJA2Sample( UINT16 usID, UINT32 usNum, UINT32 usRate, UINT32 ub
void SetSpeechVolume( UINT32 uiNewVolume )
{
guiSpeechVolume = __min( uiNewVolume, 127);
guiSpeechVolume = __min( uiNewVolume, 127);
}
@@ -570,7 +573,7 @@ UINT32 GetSpeechVolume( )
void SetSoundEffectsVolume( UINT32 uiNewVolume )
{
guiSoundEffectsVolume = __min( uiNewVolume, 127);
guiSoundEffectsVolume = __min( uiNewVolume, 127);
}
@@ -626,12 +629,13 @@ int x,dif,absDif;
}
#endif
INT8 SoundDir( INT16 sGridNo )
// == Lesh slightly changed this function ============
INT32 SoundDir( INT16 sGridNo )
{
INT16 sWorldX, sWorldY;
INT16 sScreenX, sScreenY;
INT16 sMiddleX;
INT16 sDif, sAbsDif;
INT16 sMiddleX;
INT16 sDif, sAbsDif;
if ( sGridNo == NOWHERE )
{
@@ -650,23 +654,21 @@ INT8 SoundDir( INT16 sGridNo )
sDif = sMiddleX - sScreenX;
if ( ( sAbsDif = abs( sDif ) ) > 64 )
{
{
// OK, NOT the middle.
// Is it outside the screen?
if ( sAbsDif > ( ( gsBottomRightWorldX - gsTopLeftWorldX ) / 2 ) )
{
{
// yes, outside...
if ( sDif > 0 )
{
//return( FARLEFT );
return( 1 );
return( FARLEFT );
//return( 1 );
}
else
//return( FARRIGHT );
return( 126 );
}
else
return( FARRIGHT );
//return( 126 );
}
else // inside screen
{
if ( sDif > 0)
@@ -674,13 +676,13 @@ INT8 SoundDir( INT16 sGridNo )
else
return( RIGHTSIDE );
}
}
}
else // hardly any difference, so sound should be played from middle
return(MIDDLE);
}
INT8 SoundVolume( INT8 bInitialVolume, INT16 sGridNo )
INT32 SoundVolume( INT8 bInitialVolume, INT16 sGridNo )
{
INT16 sWorldX, sWorldY;
INT16 sScreenX, sScreenY;
@@ -688,10 +690,10 @@ INT8 SoundVolume( INT8 bInitialVolume, INT16 sGridNo )
INT16 sDifX, sAbsDifX;
INT16 sDifY, sAbsDifY;
if ( sGridNo == NOWHERE )
{
return( bInitialVolume );
}
if ( sGridNo == NOWHERE )
{
return( bInitialVolume );
}
// OK, get screen position of gridno.....
ConvertGridNoToXY( sGridNo, &sWorldX, &sWorldY );
@@ -710,17 +712,15 @@ INT8 SoundVolume( INT8 bInitialVolume, INT16 sGridNo )
sAbsDifY = abs( sDifY );
if ( sAbsDifX > 64 || sAbsDifY > 64 )
{
{
// OK, NOT the middle.
// Is it outside the screen?
if ( sAbsDifX > ( ( gsBottomRightWorldX - gsTopLeftWorldX ) / 2 ) ||
sAbsDifY > ( ( gsBottomRightWorldY - gsTopLeftWorldY ) / 2 ) )
{
{
return( __max( LOWVOLUME, ( bInitialVolume - SOUND_FAR_VOLUME_MOD ) ) );
}
}
}
return( bInitialVolume );
}
@@ -940,7 +940,8 @@ void SetPositionSndsInActive( )
}
}
INT8 PositionSoundDir( INT16 sGridNo )
// == Lesh slightly changed this function ============
INT32 PositionSoundDir( INT16 sGridNo )
{
INT16 sWorldX, sWorldY;
INT16 sScreenX, sScreenY;
@@ -973,12 +974,12 @@ INT8 PositionSoundDir( INT16 sGridNo )
// yes, outside...
if ( sDif > 0 )
{
//return( FARLEFT );
return( 1 );
return( FARLEFT );
//return( 1 );
}
else
//return( FARRIGHT );
return( 126 );
return( FARRIGHT );
//return( 126 );
}
else // inside screen
@@ -994,7 +995,7 @@ INT8 PositionSoundDir( INT16 sGridNo )
}
INT8 PositionSoundVolume( INT8 bInitialVolume, INT16 sGridNo )
INT32 PositionSoundVolume( INT8 bInitialVolume, INT16 sGridNo )
{
INT16 sWorldX, sWorldY;
INT16 sScreenX, sScreenY;
@@ -1079,15 +1080,16 @@ void SetPositionSndsVolumeAndPanning( )
}
}
//if the sound is from a stationay object
if( pPositionSnd->uiFlags & POSITION_SOUND_STATIONATY_OBJECT )
{
// make sure you can always hear it
if ( bVolume < 5 )
{
bVolume = 5;
}
}
//if the sound is from a stationay object
if( pPositionSnd->uiFlags & POSITION_SOUND_STATIONATY_OBJECT )
{
// make sure you can always hear it
if ( bVolume < 5 )
{
bVolume = 5;
}
}
SoundSetVolume( pPositionSnd->iSoundSampleID, bVolume );
bPan = PositionSoundDir( pPositionSnd->sGridNo );
+81 -77
View File
@@ -1,31 +1,36 @@
/*
* ChangeLog:
* 11.12.2005 Lesh changed balance settings
*/
#ifndef SOUND_CONTROL_H
#define SOUND_CONTROL_H
// == Lesh modifications ======
#define FARLEFT 0
#define LEFTSIDE 48
#define MIDDLE 64
#define MIDDLEPAN 64
#define RIGHTSIDE 80
#define FARRIGHT 127
#define LEFTSIDE 96
#define MIDDLE 128
#define MIDDLEPAN 128
#define RIGHTSIDE 160
#define FARRIGHT 255
// == Lesh modifications ends =
#define LOWVOLUME 25
#define BTNVOLUME 40
#define MIDVOLUME 65
#define HIGHVOLUME 127
#define LOWVOLUME 25
#define BTNVOLUME 40
#define MIDVOLUME 65
#define HIGHVOLUME 127
#define RATE_11025 0xffffffff
#define RATE_11025 0xffffffff
#define LOOPING 0
#define LOOPING 0
// sound group priorities (higher = more important)
#define GROUP_PLAYER 1000
#define GROUP_AMBIENT 0
#define GROUP_PLAYER 1000
#define GROUP_AMBIENT 0
#define MAX_SAMPLES 10000
#define MAX_SAMPLES 5000
// SOUNDS ENUMERATION
@@ -207,7 +212,7 @@ enum SoundDefines
S_THROWKNIFE,
S_TANK_CANNON,
S_BURSTTYPE1,
S_AUTOMAG,
S_AUTOMAG,
S_SILENCER_1,
S_SILENCER_2,
@@ -310,73 +315,73 @@ enum SoundDefines
SWIM_2,
KEY_FAILURE,
TARGET_OUT_OF_RANGE,
OPEN_STATUE,
USE_STATUE_REMOTE,
USE_WIRE_CUTTERS,
DRINK_CANTEEN_FEMALE,
BLOODCAT_ATTACK,
BLOODCAT_ROAR,
ROBOT_GREETING,
ROBOT_DEATH,
GAS_EXPLODE_1,
AIR_ESCAPING_1,
OPEN_STATUE,
USE_STATUE_REMOTE,
USE_WIRE_CUTTERS,
DRINK_CANTEEN_FEMALE,
BLOODCAT_ATTACK,
BLOODCAT_ROAR,
ROBOT_GREETING,
ROBOT_DEATH,
GAS_EXPLODE_1,
AIR_ESCAPING_1,
OPEN_DRAWER,
CLOSE_DRAWER,
OPEN_LOCKER,
CLOSE_LOCKER,
OPEN_WOODEN_BOX,
CLOSE_WOODEN_BOX,
ROBOT_STOP,
OPEN_DRAWER,
CLOSE_DRAWER,
OPEN_LOCKER,
CLOSE_LOCKER,
OPEN_WOODEN_BOX,
CLOSE_WOODEN_BOX,
ROBOT_STOP,
WATER_WALK1_IN,
WATER_WALK1_OUT,
WATER_WALK2_IN,
WATER_WALK2_OUT,
PRONE_UP_SOUND,
PRONE_DOWN_SOUND,
KNEEL_UP_SOUND,
KNEEL_DOWN_SOUND,
PICKING_SOMETHING_UP,
PRONE_UP_SOUND,
PRONE_DOWN_SOUND,
KNEEL_UP_SOUND,
KNEEL_DOWN_SOUND,
PICKING_SOMETHING_UP,
COW_FALL,
COW_FALL,
BLOODCAT_GROWL_1,
BLOODCAT_GROWL_2,
BLOODCAT_GROWL_3,
BLOODCAT_GROWL_4,
CREATURE_GAS_NOISE,
CREATURE_FALL_PART_2,
CREATURE_DISSOLVE_1,
QUEEN_AMBIENT_NOISE,
CREATURE_FALL,
CROW_PECKING_AT_FLESH,
CROW_FLYING_AWAY,
SLAP_2,
MORTAR_START,
MORTAR_WHISTLE,
MORTAR_LOAD,
BLOODCAT_GROWL_1,
BLOODCAT_GROWL_2,
BLOODCAT_GROWL_3,
BLOODCAT_GROWL_4,
CREATURE_GAS_NOISE,
CREATURE_FALL_PART_2,
CREATURE_DISSOLVE_1,
QUEEN_AMBIENT_NOISE,
CREATURE_FALL,
CROW_PECKING_AT_FLESH,
CROW_FLYING_AWAY,
SLAP_2,
MORTAR_START,
MORTAR_WHISTLE,
MORTAR_LOAD,
TURRET_MOVE,
TURRET_STOP,
COW_FALL_2,
KNIFE_IMPACT,
EXPLOSION_ALT_BLAST_1,
EXPLOSION_BLAST_2,
DRINK_CANTEEN_MALE,
USE_X_RAY_MACHINE,
CATCH_OBJECT,
FENCE_OPEN,
TURRET_MOVE,
TURRET_STOP,
COW_FALL_2,
KNIFE_IMPACT,
EXPLOSION_ALT_BLAST_1,
EXPLOSION_BLAST_2,
DRINK_CANTEEN_MALE,
USE_X_RAY_MACHINE,
CATCH_OBJECT,
FENCE_OPEN,
//MADD MARKER
S_BARRETT,
S_VAL,
//BREAK_LIGHT_IGNITING,
//MADD MARKER
S_BARRETT,
S_VAL,
// BREAK_LIGHT_IGNITING,
NUM_SAMPLES
};
enum AmbientDefines
{
LIGHTNING_1 = 0,
@@ -411,7 +416,6 @@ UINT32 PlayJA2Sample( UINT32 usNum, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoo
UINT32 PlayJA2StreamingSample( UINT32 usNum, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan );
UINT32 PlayJA2SampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan );
UINT32 PlayJA2StreamingSampleFromFile( STR8 szFileName, UINT32 usRate, UINT32 ubVolume, UINT32 ubLoops, UINT32 uiPan, SOUND_STOP_CALLBACK EndsCallback );
UINT32 PlayJA2Ambient( UINT32 usNum, UINT32 ubVolume, UINT32 ubLoops);
@@ -422,10 +426,10 @@ UINT32 PlaySoldierJA2Sample( UINT16 usID, UINT32 usNum, UINT32 usRate, UINT32 ub
UINT32 GetSoundEffectsVolume( );
void SetSoundEffectsVolume( UINT32 uiNewVolume );
void SetSoundEffectsVolume( UINT32 uiNewVolume );
UINT32 GetSpeechVolume( );
void SetSpeechVolume( UINT32 uiNewVolume );
void SetSpeechVolume( UINT32 uiNewVolume );
//Calculates a volume based on the current Speech Volume level
@@ -435,8 +439,8 @@ UINT32 CalculateSpeechVolume( UINT32 uiVolume );
//Calculates a volume based on the current Sound Effects Volume level
UINT32 CalculateSoundEffectsVolume( UINT32 uiVolume );
INT8 SoundDir( INT16 sGridNo );
INT8 SoundVolume( INT8 bInitialVolume, INT16 sGridNo );
INT32 SoundDir( INT16 sGridNo );
INT32 SoundVolume( INT8 bInitialVolume, INT16 sGridNo );
// ATE: Warning! Use this sparingly! NOT very robust - can
// have only 1 delayed sound at a time, and uses the global custom
@@ -445,7 +449,7 @@ void PlayDelayedJA2Sample( UINT32 uiDelay, UINT32 usNum, UINT32 usRate, UINT32 u
#define POSITION_SOUND_FROM_SOLDIER 0x00000001
#define POSITION_SOUND_STATIONATY_OBJECT 0x00000002
#define POSITION_SOUND_STATIONATY_OBJECT 0x00000002
INT32 NewPositionSnd( INT16 sGridNo, UINT32 uiFlags, UINT32 uiData, UINT32 iSoundToPlay );
void DeletePositionSnd( INT32 iPositionSndIndex );
+6 -4
View File
@@ -966,6 +966,9 @@
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath=".\_Ja25RussianText.cpp">
</File>
<File
RelativePath="_PolishText.cpp">
<FileConfiguration
@@ -3085,6 +3088,9 @@
<File
RelativePath="_Ja25GermanText.h">
</File>
<File
RelativePath=".\_Ja25RussianText.h">
</File>
<File
RelativePath="Animated ProgressBar.h">
</File>
@@ -3140,10 +3146,6 @@
RelativePath="Utils All.h">
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="ico;cur;bmp;dlg;rc2;rct;bin;cnt;rtf;gif;jpg;jpeg;jpe">
</Filter>
</Files>
<Globals>
</Globals>
BIN
View File
Binary file not shown.