Formatting changes

This commit is contained in:
Asdow
2025-06-24 22:54:44 +03:00
parent d95bae2bf6
commit 9a78e7dfa0
+111 -111
View File
@@ -768,9 +768,9 @@ void DelayedSoundTimerCallback( void )
typedef struct typedef struct
{ {
UINT32 uiFlags; UINT32 uiFlags;
INT32 sGridNo; INT32 sGridNo;
INT32 iSoundSampleID; INT32 iSoundSampleID;
INT32 iSoundToPlay; INT32 iSoundToPlay;
UINT32 uiData; UINT32 uiData;
BOOLEAN fAllocated; BOOLEAN fAllocated;
BOOLEAN fInActive; BOOLEAN fInActive;
@@ -794,27 +794,27 @@ INT32 GetFreePositionSnd( void )
{ {
UINT32 uiCount; UINT32 uiCount;
for(uiCount=0; uiCount < guiNumPositionSnds; uiCount++) for ( uiCount = 0; uiCount < guiNumPositionSnds; uiCount++ )
{ {
if(( gPositionSndData[uiCount].fAllocated==FALSE ) ) if ( (gPositionSndData[uiCount].fAllocated == FALSE) )
return( (INT32)uiCount ); return((INT32)uiCount);
} }
if( guiNumPositionSnds < NUM_POSITION_SOUND_EFFECT_SLOTS ) if ( guiNumPositionSnds < NUM_POSITION_SOUND_EFFECT_SLOTS )
return( (INT32) guiNumPositionSnds++ ); return((INT32)guiNumPositionSnds++);
return( -1 ); return(-1);
} }
void RecountPositionSnds( void ) void RecountPositionSnds( void )
{ {
INT32 uiCount; INT32 uiCount;
for(uiCount=guiNumPositionSnds-1; (uiCount >=0) ; uiCount--) for ( uiCount = guiNumPositionSnds - 1; (uiCount >= 0); uiCount-- )
{ {
if( ( gPositionSndData[uiCount].fAllocated ) ) if ( (gPositionSndData[uiCount].fAllocated) )
{ {
guiNumPositionSnds=(UINT32)(uiCount+1); guiNumPositionSnds = (UINT32)(uiCount + 1);
break; break;
} }
} }
@@ -826,57 +826,57 @@ INT32 NewPositionSnd( INT32 sGridNo, UINT32 uiFlags, UINT32 uiData, UINT32 iSoun
POSITIONSND *pPositionSnd; POSITIONSND *pPositionSnd;
INT32 iPositionSndIndex; INT32 iPositionSndIndex;
if( ( iPositionSndIndex = GetFreePositionSnd() )==(-1) ) if ( (iPositionSndIndex = GetFreePositionSnd()) == (-1) )
return(-1); return(-1);
memset( &gPositionSndData[ iPositionSndIndex ], 0, sizeof( POSITIONSND ) ); memset( &gPositionSndData[iPositionSndIndex], 0, sizeof( POSITIONSND ) );
pPositionSnd = &gPositionSndData[ iPositionSndIndex ]; pPositionSnd = &gPositionSndData[iPositionSndIndex];
// Default to inactive // Default to inactive
if ( gfPositionSoundsActive ) if ( gfPositionSoundsActive )
{ {
pPositionSnd->fInActive = FALSE; pPositionSnd->fInActive = FALSE;
} }
else else
{ {
pPositionSnd->fInActive = TRUE; pPositionSnd->fInActive = TRUE;
} }
pPositionSnd->sGridNo = sGridNo; pPositionSnd->sGridNo = sGridNo;
pPositionSnd->uiData = uiData; pPositionSnd->uiData = uiData;
pPositionSnd->uiFlags = uiFlags; pPositionSnd->uiFlags = uiFlags;
pPositionSnd->fAllocated = TRUE; pPositionSnd->fAllocated = TRUE;
pPositionSnd->iSoundToPlay = iSoundToPlay; pPositionSnd->iSoundToPlay = iSoundToPlay;
pPositionSnd->volume = volume; pPositionSnd->volume = volume;
pPositionSnd->iSoundSampleID = NO_SAMPLE; pPositionSnd->iSoundSampleID = NO_SAMPLE;
return( iPositionSndIndex ); return(iPositionSndIndex);
} }
void DeletePositionSnd( INT32 iPositionSndIndex ) void DeletePositionSnd( INT32 iPositionSndIndex )
{ {
POSITIONSND *pPositionSnd; POSITIONSND *pPositionSnd;
pPositionSnd = &gPositionSndData[ iPositionSndIndex ]; pPositionSnd = &gPositionSndData[iPositionSndIndex];
if ( pPositionSnd->fAllocated ) if ( pPositionSnd->fAllocated )
{ {
// Turn inactive first... // Turn inactive first...
pPositionSnd->fInActive = TRUE; pPositionSnd->fInActive = TRUE;
// End sound... // End sound...
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE ) if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
{ {
SoundStop( pPositionSnd->iSoundSampleID ); SoundStop( pPositionSnd->iSoundSampleID );
} }
pPositionSnd->fAllocated = FALSE; pPositionSnd->fAllocated = FALSE;
RecountPositionSnds( ); RecountPositionSnds();
} }
} }
@@ -884,13 +884,13 @@ void SetPositionSndGridNo( INT32 iPositionSndIndex, INT32 sGridNo )
{ {
POSITIONSND *pPositionSnd; POSITIONSND *pPositionSnd;
pPositionSnd = &gPositionSndData[ iPositionSndIndex ]; pPositionSnd = &gPositionSndData[iPositionSndIndex];
if ( pPositionSnd->fAllocated ) if ( pPositionSnd->fAllocated )
{ {
pPositionSnd->sGridNo = sGridNo; pPositionSnd->sGridNo = sGridNo;
SetPositionSndsVolumeAndPanning( ); SetPositionSndsVolumeAndPanning();
} }
} }
@@ -915,7 +915,7 @@ void SetPositionSndsActive()
// Volume 0 // Volume 0
if ( pPositionSnd->iSoundToPlay == POWER_GEN_FAN_SOUND ) if ( pPositionSnd->iSoundToPlay == POWER_GEN_FAN_SOUND )
{ {
pPositionSnd->iSoundSampleID = PlayJA2SampleFromFile( "Sounds\\POWERGENFAN.WAV", RATE_11025, 0, 0, MIDDLEPAN); pPositionSnd->iSoundSampleID = PlayJA2SampleFromFile( "Sounds\\POWERGENFAN.WAV", RATE_11025, 0, 0, MIDDLEPAN );
} }
else else
{ {
@@ -927,7 +927,7 @@ void SetPositionSndsActive()
} }
void SetPositionSndsInActive( ) void SetPositionSndsInActive()
{ {
UINT32 cnt; UINT32 cnt;
POSITIONSND *pPositionSnd; POSITIONSND *pPositionSnd;
@@ -936,20 +936,20 @@ void SetPositionSndsInActive( )
for ( cnt = 0; cnt < guiNumPositionSnds; cnt++ ) for ( cnt = 0; cnt < guiNumPositionSnds; cnt++ )
{ {
pPositionSnd = &gPositionSndData[ cnt ]; pPositionSnd = &gPositionSndData[cnt];
if ( pPositionSnd->fAllocated ) if ( pPositionSnd->fAllocated )
{
pPositionSnd->fInActive = TRUE;
// End sound...
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
{ {
SoundStop( pPositionSnd->iSoundSampleID ); pPositionSnd->fInActive = TRUE;
pPositionSnd->iSoundSampleID = NO_SAMPLE;
// End sound...
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
{
SoundStop( pPositionSnd->iSoundSampleID );
pPositionSnd->iSoundSampleID = NO_SAMPLE;
}
} }
} }
}
} }
// == Lesh slightly changed this function ============ // == Lesh slightly changed this function ============
@@ -959,51 +959,51 @@ UINT8 PositionSoundDir( INT32 sGridNo )
INT16 sScreenX, sScreenY; INT16 sScreenX, sScreenY;
INT16 sMiddleX; INT16 sMiddleX;
INT16 sDif, sAbsDif; INT16 sDif, sAbsDif;
if (TileIsOutOfBounds(sGridNo)) if ( TileIsOutOfBounds( sGridNo ) )
{ {
return( MIDDLEPAN ); return(MIDDLEPAN);
} }
// OK, get screen position of gridno..... // OK, get screen position of gridno.....
ConvertGridNoToXY( sGridNo, &sWorldX, &sWorldY ); ConvertGridNoToXY( sGridNo, &sWorldX, &sWorldY );
// Get screen coordinates for current position of soldier // Get screen coordinates for current position of soldier
GetWorldXYAbsoluteScreenXY( (INT16)(sWorldX), (INT16)(sWorldY), &sScreenX, &sScreenY); GetWorldXYAbsoluteScreenXY( (INT16)(sWorldX), (INT16)(sWorldY), &sScreenX, &sScreenY );
// Get middle of where we are now.... // Get middle of where we are now....
sMiddleX = gsTopLeftWorldX + ( gsBottomRightWorldX - gsTopLeftWorldX ) / 2; sMiddleX = gsTopLeftWorldX + (gsBottomRightWorldX - gsTopLeftWorldX) / 2;
sDif = sMiddleX - sScreenX; sDif = sMiddleX - sScreenX;
if ( ( sAbsDif = abs( sDif ) ) > 64 ) if ( (sAbsDif = abs( sDif )) > 64 )
{ {
// OK, NOT the middle. // OK, NOT the middle.
// Is it outside the screen? // Is it outside the screen?
if ( sAbsDif > ( ( gsBottomRightWorldX - gsTopLeftWorldX ) / 2 ) ) if ( sAbsDif > ((gsBottomRightWorldX - gsTopLeftWorldX) / 2) )
{ {
// yes, outside... // yes, outside...
if ( sDif > 0 ) if ( sDif > 0 )
{ {
return( FARLEFT ); return(FARLEFT);
//return( 1 ); //return( 1 );
} }
else else
return( FARRIGHT ); return(FARRIGHT);
//return( 126 ); //return( 126 );
} }
else // inside screen else // inside screen
{ {
if ( sDif > 0) if ( sDif > 0 )
return( LEFTSIDE ); return(LEFTSIDE);
else else
return( RIGHTSIDE ); return(RIGHTSIDE);
} }
} }
else // hardly any difference, so sound should be played from middle else // hardly any difference, so sound should be played from middle
return(MIDDLE); return(MIDDLE);
} }
@@ -1016,21 +1016,21 @@ INT8 PositionSoundVolume( INT8 bInitialVolume, INT32 sGridNo )
INT16 sDifY, sAbsDifY; INT16 sDifY, sAbsDifY;
INT16 sMaxDistX, sMaxDistY; INT16 sMaxDistX, sMaxDistY;
double sMaxSoundDist, sSoundDist; double sMaxSoundDist, sSoundDist;
if (TileIsOutOfBounds(sGridNo)) if ( TileIsOutOfBounds( sGridNo ) )
{ {
return( bInitialVolume ); return(bInitialVolume);
} }
// OK, get screen position of gridno..... // OK, get screen position of gridno.....
ConvertGridNoToXY( sGridNo, &sWorldX, &sWorldY ); ConvertGridNoToXY( sGridNo, &sWorldX, &sWorldY );
// Get screen coordinates for current position of soldier // Get screen coordinates for current position of soldier
GetWorldXYAbsoluteScreenXY( (INT16)(sWorldX), (INT16)(sWorldY), &sScreenX, &sScreenY); GetWorldXYAbsoluteScreenXY( (INT16)(sWorldX), (INT16)(sWorldY), &sScreenX, &sScreenY );
// Get middle of where we are now.... // Get middle of where we are now....
sMiddleX = gsTopLeftWorldX + ( gsBottomRightWorldX - gsTopLeftWorldX ) / 2; sMiddleX = gsTopLeftWorldX + (gsBottomRightWorldX - gsTopLeftWorldX) / 2;
sMiddleY = gsTopLeftWorldY + ( gsBottomRightWorldY - gsTopLeftWorldY ) / 2; sMiddleY = gsTopLeftWorldY + (gsBottomRightWorldY - gsTopLeftWorldY) / 2;
sDifX = sMiddleX - sScreenX; sDifX = sMiddleX - sScreenX;
sDifY = sMiddleY - sScreenY; sDifY = sMiddleY - sScreenY;
@@ -1038,28 +1038,28 @@ INT8 PositionSoundVolume( INT8 bInitialVolume, INT32 sGridNo )
sAbsDifX = abs( sDifX ); sAbsDifX = abs( sDifX );
sAbsDifY = abs( sDifY ); sAbsDifY = abs( sDifY );
sMaxDistX = (INT16)( ( gsBottomRightWorldX - gsTopLeftWorldX ) * 1.5 ); sMaxDistX = (INT16)((gsBottomRightWorldX - gsTopLeftWorldX) * 1.5);
sMaxDistY = (INT16)( ( gsBottomRightWorldY - gsTopLeftWorldY ) * 1.5 ); sMaxDistY = (INT16)((gsBottomRightWorldY - gsTopLeftWorldY) * 1.5);
sMaxSoundDist = sqrt( (double) ( sMaxDistX * sMaxDistX ) + ( sMaxDistY * sMaxDistY ) ); sMaxSoundDist = sqrt( (double)(sMaxDistX * sMaxDistX) + (sMaxDistY * sMaxDistY) );
sSoundDist = sqrt( (double)( sAbsDifX * sAbsDifX ) + ( sAbsDifY * sAbsDifY ) ); sSoundDist = sqrt( (double)(sAbsDifX * sAbsDifX) + (sAbsDifY * sAbsDifY) );
if ( sSoundDist == 0 ) if ( sSoundDist == 0 )
{ {
return( bInitialVolume ); return(bInitialVolume);
} }
if ( sSoundDist > sMaxSoundDist ) if ( sSoundDist > sMaxSoundDist )
{ {
sSoundDist = sMaxSoundDist; sSoundDist = sMaxSoundDist;
} }
// Scale // Scale
return( (INT8)( bInitialVolume * ( ( sMaxSoundDist - sSoundDist ) / sMaxSoundDist ) ) ); return((INT8)(bInitialVolume * ((sMaxSoundDist - sSoundDist) / sMaxSoundDist)));
} }
void SetPositionSndsVolumeAndPanning( ) void SetPositionSndsVolumeAndPanning()
{ {
UINT32 cnt; UINT32 cnt;
POSITIONSND *pPositionSnd; POSITIONSND *pPositionSnd;
@@ -1069,49 +1069,49 @@ void SetPositionSndsVolumeAndPanning( )
for ( cnt = 0; cnt < guiNumPositionSnds; cnt++ ) for ( cnt = 0; cnt < guiNumPositionSnds; cnt++ )
{ {
pPositionSnd = &gPositionSndData[ cnt ]; pPositionSnd = &gPositionSndData[cnt];
if ( pPositionSnd->fAllocated ) if ( pPositionSnd->fAllocated )
{
if ( !pPositionSnd->fInActive )
{ {
if ( pPositionSnd->iSoundSampleID != NO_SAMPLE ) if ( !pPositionSnd->fInActive )
{
bVolume = PositionSoundVolume( pPositionSnd->volume, pPositionSnd->sGridNo );
if ( pPositionSnd->uiFlags & POSITION_SOUND_FROM_SOLDIER )
{ {
pSoldier = (SOLDIERTYPE*)pPositionSnd->uiData; if ( pPositionSnd->iSoundSampleID != NO_SAMPLE )
if ( pSoldier->bVisible == -1 )
{ {
// Limit volume,,, bVolume = PositionSoundVolume( pPositionSnd->volume, pPositionSnd->sGridNo );
if ( bVolume > 10 )
if ( pPositionSnd->uiFlags & POSITION_SOUND_FROM_SOLDIER )
{ {
bVolume = 10; pSoldier = (SOLDIERTYPE *)pPositionSnd->uiData;
if ( pSoldier->bVisible == -1 )
{
// Limit volume,,,
if ( bVolume > 10 )
{
bVolume = 10;
}
}
} }
//if the sound is from a stationary object
if ( pPositionSnd->uiFlags & POSITION_SOUND_STATIONATY_OBJECT )
{
// make sure you can always hear it
if ( bVolume < 5 )
{
bVolume = 5;
}
}
SoundSetVolume( pPositionSnd->iSoundSampleID, bVolume );
ubPan = PositionSoundDir( pPositionSnd->sGridNo );
SoundSetPan( pPositionSnd->iSoundSampleID, ubPan );
} }
} }
//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 );
ubPan = PositionSoundDir( pPositionSnd->sGridNo );
SoundSetPan( pPositionSnd->iSoundSampleID, ubPan );
}
} }
} }
}
} }