| 
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -24,8 +24,6 @@ struct tPoliceRadioZone {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				};
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				tPoliceRadioZone ZoneSfx[NUMAUDIOZONES];
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				char SubZo2Label[8];
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				char SubZo3Label[8];
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				int32 g_nMissionAudioSfx = TOTAL_AUDIO_SAMPLES;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				int8 g_nMissionAudioPlayingStatus = 2;
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -42,48 +40,22 @@ cAudioManager::InitialisePoliceRadioZones()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					strcpy(ZoneSfx[i].m_aName, name); \
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					ZoneSfx[i].m_nSampleIndex = sample;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(0, "HOSPI_2", SFX_POLICE_RADIO_ROCKFORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(1, "CONSTRU", SFX_POLICE_RADIO_FORT_STAUNTON);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(2, "STADIUM", SFX_POLICE_RADIO_ASPATRIA);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(3, "YAKUSA", SFX_POLICE_RADIO_TORRINGTON);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(4, "SHOPING", SFX_POLICE_RADIO_BEDFORD_POINT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(5, "COM_EAS", SFX_POLICE_RADIO_NEWPORT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(6, "PARK", SFX_POLICE_RADIO_BELLEVILLE_PARK);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(7, "UNIVERS", SFX_POLICE_RADIO_LIBERTY_CAMPUS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(8, "BIG_DAM", SFX_POLICE_RADIO_COCHRANE_DAM);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(9, "SUB_IND", SFX_POLICE_RADIO_PIKE_CREEK);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(10, "SWANKS", SFX_POLICE_RADIO_CEDAR_GROVE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(11, "PROJECT", SFX_POLICE_RADIO_WICHITA_GARDENS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(12, "AIRPORT", SFX_POLICE_RADIO_FRANCIS_INTERNATIONAL_AIRPORT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(13, "PORT_W", SFX_POLICE_RADIO_CALLAHAN_POINT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					/*
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(14, "PORT_S", SFX_POLICE_RADIO_ATLANTIC_QUAYS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(15, "PORT_E", SFX_POLICE_RADIO_PORTLAND_HARBOUR);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(16, "PORT_I", SFX_POLICE_RADIO_TRENTON);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(17, "CHINA", SFX_POLICE_RADIO_CHINATOWN);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(18, "REDLIGH", SFX_POLICE_RADIO_RED_LIGHT_DISTRICT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(19, "TOWERS", SFX_POLICE_RADIO_HEPBURN_HEIGHTS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(20, "LITTLEI", SFX_POLICE_RADIO_SAINT_MARKS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(21, "HARWOOD", SFX_POLICE_RADIO_HARWOOD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(22, "EASTBAY", SFX_POLICE_RADIO_PORTLAND_BEACH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(23, "S_VIEW", SFX_POLICE_RADIO_PORTLAND_STRAIGHTS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(24, "CITYZON", SFX_POLICE_RADIO_LIBERTY_CITY);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(25, "IND_ZON", SFX_POLICE_RADIO_PORTLAND);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(26, "COM_ZON", SFX_POLICE_RADIO_STAUNTON_ISLAND);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(27, "SUB_ZON", SFX_POLICE_RADIO_SHORESIDE_VALE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(28, "SUB_ZO2", SFX_POLICE_RADIO_SHORESIDE_VALE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(29, "SUB_ZO3", SFX_POLICE_RADIO_SHORESIDE_VALE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(30, "A", SFX_POLICE_RADIO_ROCKFORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(31, "A", SFX_POLICE_RADIO_ROCKFORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(32, "A", SFX_POLICE_RADIO_ROCKFORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(33, "A", SFX_POLICE_RADIO_ROCKFORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(34, "A", SFX_POLICE_RADIO_ROCKFORD);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					*/
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(0, "VICE_C", SFX_POLICE_RADIO_VICE_CITY);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(1, "IND_ZON", SFX_POLICE_RADIO_VICE_CITY_BEACH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(2, "COM_ZON", SFX_POLICE_RADIO_VICE_CITY_MAINLAND);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(3, "BEACH1", SFX_POLICE_RADIO_OCEAN_BEACH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(4, "BEACH2", SFX_POLICE_RADIO_WASHINGTON_BEACH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(5, "BEACH3", SFX_POLICE_RADIO_VICE_POINT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(6, "GOLFC", SFX_POLICE_RADIO_LEAF_LINKS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(7, "STARI", SFX_POLICE_RADIO_STRAFISH_ISLAND);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(8, "DOCKS", SFX_POLICE_RADIO_VICE_PORT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(9, "HAVANA", SFX_POLICE_RADIO_LITTLE_HAVANA);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(10, "HAITI", SFX_POLICE_RADIO_LITTLE_HAITI);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(11, "PORNI", SFX_POLICE_RADIO_PRAWN_ISLAND);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(12, "DTOWN", SFX_POLICE_RADIO_DOWNTOWN);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					SETZONESFX(13, "A_PORT", SFX_POLICE_RADIO_ESCOBAR_INTERNATIONAL);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#undef SETZONESFX
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					strcpy(SubZo2Label, "SUB_ZO2");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					strcpy(SubZo3Label, "SUB_ZO3");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				void
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -246,7 +218,7 @@ cAudioManager::ServicePoliceRadioChannel(int32 wantedLevel)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							if (!wantedLevel) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								if (gSpecialSuspectLastSeenReport) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									gSpecialSuspectLastSeenReport = 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								} else if (((sample >= SFX_POLICE_RADIO_MESSAGE_NOISE_1) && (sample <= SFX_POLICE_RADIO_MESSAGE_NOISE_3)) || sample == TOTAL_AUDIO_SAMPLES) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								} else if (sample == SFX_POLICE_RADIO_MESSAGE_NOISE_1 || sample == TOTAL_AUDIO_SAMPLES) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									bChannelOpen = false;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									processed = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								}
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -257,8 +229,6 @@ cAudioManager::ServicePoliceRadioChannel(int32 wantedLevel)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								SampleManager.InitialiseChannel(policeChannel, sample, 0);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								switch (sample) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								case SFX_POLICE_RADIO_MESSAGE_NOISE_1:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								case SFX_POLICE_RADIO_MESSAGE_NOISE_2:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								case SFX_POLICE_RADIO_MESSAGE_NOISE_3:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									freq = m_anRandomTable[4] % 2000 + 10025;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									bChannelOpen = bChannelOpen == false;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									break;
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -313,7 +283,7 @@ cAudioManager::SetupCrimeReport()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								sampleIndex = ZoneSfx[j].m_nSampleIndex;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								m_sPoliceRadioQueue.Add(m_anRandomTable[4] % 3 + SFX_POLICE_RADIO_MESSAGE_NOISE_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								m_sPoliceRadioQueue.Add(m_anRandomTable[0] % 3 + SFX_WEVE_GOT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								m_sPoliceRadioQueue.Add(m_anRandomTable[1] % 2 + SFX_A_10_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								m_sPoliceRadioQueue.Add(SFX_A_10);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								switch (m_sPoliceRadioQueue.crimes[i].type) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								case CRIME_PED_BURNED: m_sPoliceRadioQueue.crimes[i].type = CRIME_HIT_PED; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								case CRIME_COP_BURNED: m_sPoliceRadioQueue.crimes[i].type = CRIME_HIT_COP; break;
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -323,37 +293,31 @@ cAudioManager::SetupCrimeReport()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								m_sPoliceRadioQueue.Add(m_sPoliceRadioQueue.crimes[i].type + SFX_CRIME_1 - 1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								m_sPoliceRadioQueue.Add(SFX_IN);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								if (sampleIndex == SFX_POLICE_RADIO_SHORESIDE_VALE &&
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									(strcmp(zone->name, SubZo2Label) == 0 || strcmp(zone->name, SubZo3Label) == 0)) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								rangeX = zone->maxx - zone->minx;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								rangeY = zone->maxy - zone->miny;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								halfX = 0.5f * rangeX + zone->minx;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								halfY = 0.5f * rangeY + zone->miny;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								quarterX = 0.25f * rangeX;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								quarterY = 0.25f * rangeY;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								if (m_sPoliceRadioQueue.crimes[i].position.y > halfY + quarterY) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_NORTH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_EAST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								} else {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									rangeX = zone->maxx - zone->minx;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									rangeY = zone->maxy - zone->miny;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									halfX = 0.5f * rangeX + zone->minx;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									halfY = 0.5f * rangeY + zone->miny;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									quarterX = 0.25f * rangeX;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									quarterY = 0.25f * rangeY;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (m_sPoliceRadioQueue.crimes[i].position.y > halfY + quarterY) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_NORTH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										processed = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									} else if (m_sPoliceRadioQueue.crimes[i].position.y < halfY - quarterY) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_SOUTH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										processed = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (m_sPoliceRadioQueue.crimes[i].position.x > halfX + quarterX)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_EAST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									else if (m_sPoliceRadioQueue.crimes[i].position.x < halfX - quarterX)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_WEST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									else if (!processed)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_CENTRAL);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(sampleIndex);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(m_anRandomTable[2] % 3 + SFX_POLICE_RADIO_MESSAGE_NOISE_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(TOTAL_AUDIO_SAMPLES);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									processed = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								} else if (m_sPoliceRadioQueue.crimes[i].position.y < halfY - quarterY) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_SOUTH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									processed = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								if (m_sPoliceRadioQueue.crimes[i].position.x > halfX + quarterX)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_EAST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								else if (m_sPoliceRadioQueue.crimes[i].position.x < halfX - quarterX)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_WEST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								else if (!processed)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_CENTRAL);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								m_sPoliceRadioQueue.Add(sampleIndex);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								m_sPoliceRadioQueue.Add(m_anRandomTable[2] % 3 + SFX_POLICE_RADIO_MESSAGE_NOISE_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								m_sPoliceRadioQueue.Add(TOTAL_AUDIO_SAMPLES);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						}
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -559,7 +523,7 @@ cAudioManager::SetupSuspectLastSeenReport()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//					main_color = SFX_POLICE_RADIO_BLACK;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_IDAHO:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_STALLION: sample = SFX_POLICE_RADIO_CONVERTIBLE; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//				case MI_STALLION: sample = SFX_POLICE_RADIO_CONVERTIBLE; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#ifdef FIX_BUGS
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//				case MI_YAKUZA:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//					color_pre_modifier = TOTAL_AUDIO_SAMPLES;
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -578,7 +542,7 @@ cAudioManager::SetupSuspectLastSeenReport()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_PEREN:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_SENTINEL:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_FBICAR: sample = SFX_POLICE_RADIO_SALOON; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//				case MI_FBICAR: sample = SFX_POLICE_RADIO_SALOON; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_PATRIOT:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_BOBCAT: sample = SFX_POLICE_RADIO_PICKUP; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_FIRETRUCK: sample = SFX_POLICE_RADIO_FIRE_TRUCK; break;
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -588,7 +552,7 @@ cAudioManager::SetupSuspectLastSeenReport()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_TRASH:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_BARRACKS: sample = SFX_POLICE_RADIO_TRUCK; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_STRETCH: sample = SFX_POLICE_RADIO_LIMO; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//				case MI_STRETCH: sample = SFX_POLICE_RADIO_LIMO; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_MANANA:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_ESPERANT: sample = SFX_POLICE_RADIO_2_DOOR; break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#ifdef FIX_BUGS
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -631,12 +595,12 @@ cAudioManager::SetupSuspectLastSeenReport()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										main_color = TOTAL_AUDIO_SAMPLES;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										color_post_modifier = TOTAL_AUDIO_SAMPLES;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									case MI_TRAIN:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										sample = SFX_POLICE_RADIO_SUBWAY_CAR;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										main_color = TOTAL_AUDIO_SAMPLES;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										color_post_modifier = TOTAL_AUDIO_SAMPLES;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//				case MI_TRAIN:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//					sample = SFX_POLICE_RADIO_SUBWAY_CAR;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//					main_color = TOTAL_AUDIO_SAMPLES;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//					color_post_modifier = TOTAL_AUDIO_SAMPLES;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					//					break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									default:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										debug("\n *** UNKNOWN CAR MODEL INDEX %d *** ", veh->GetModelIndex());
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										return;
 | 
			
		
		
	
	
		
			
				
					| 
						
						
						
							
								
							
						
					 | 
				
			
			 | 
			 | 
			
				@ -645,14 +609,7 @@ cAudioManager::SetupSuspectLastSeenReport()
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_POLICE_RADIO_SUSPECT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (m_anRandomTable[3] % 2) 
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_POLICE_RADIO_LAST_SEEN);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#ifdef FIX_BUGS
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (main_color == SFX_POLICE_RADIO_ORANGE && color_pre_modifier == TOTAL_AUDIO_SAMPLES)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (main_color == SFX_POLICE_RADIO_ORANGE)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_POLICE_RADIO_IN_AN);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									else
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_POLICE_RADIO_IN_A);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_POLICE_RADIO_IN_A);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (color_pre_modifier != TOTAL_AUDIO_SAMPLES)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(color_pre_modifier);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (main_color != TOTAL_AUDIO_SAMPLES)
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
				
			
			 | 
			 | 
			
				@ -731,34 +688,27 @@ cAudioManager::PlaySuspectLastSeen(float x, float y, float z)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_POLICE_RADIO_SUSPECT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_POLICE_RADIO_LAST_SEEN);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(SFX_IN);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (sample == SFX_POLICE_RADIO_SHORESIDE_VALE &&
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										(strcmp(zone->name, SubZo2Label) == 0 ||
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
											strcmp(zone->name, SubZo3Label) == 0)) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									rangeX = zone->maxx - zone->minx;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									rangeY = zone->maxy - zone->miny;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									halfX = 0.5f * rangeX + zone->minx;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									halfY = 0.5f * rangeY + zone->miny;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									quarterX = 0.25f * rangeX;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									quarterY = 0.25f * rangeY;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (vec.y > halfY + quarterY) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_NORTH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_EAST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									} else {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										rangeX = zone->maxx - zone->minx;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										rangeY = zone->maxy - zone->miny;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										halfX = 0.5f * rangeX + zone->minx;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										halfY = 0.5f * rangeY + zone->miny;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										quarterX = 0.25f * rangeX;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										quarterY = 0.25f * rangeY;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										if (vec.y > halfY + quarterY) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
											m_sPoliceRadioQueue.Add(SFX_NORTH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
											processed = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										} else if (vec.y < halfY - quarterY) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
											m_sPoliceRadioQueue.Add(SFX_SOUTH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
											processed = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										if (vec.x > halfX + quarterX)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
											m_sPoliceRadioQueue.Add(SFX_EAST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										else if (vec.x < halfX - quarterX)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
											m_sPoliceRadioQueue.Add(SFX_WEST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										else if (!processed)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
											m_sPoliceRadioQueue.Add(SFX_CENTRAL);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										processed = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									} else if (vec.y < halfY - quarterY) {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_SOUTH);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										processed = true;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									if (vec.x > halfX + quarterX)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_EAST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									else if (vec.x < halfX - quarterX)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_WEST);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									else if (!processed)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
										m_sPoliceRadioQueue.Add(SFX_CENTRAL);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(sample);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(m_anRandomTable[2] % 3 + SFX_POLICE_RADIO_MESSAGE_NOISE_1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
									m_sPoliceRadioQueue.Add(TOTAL_AUDIO_SAMPLES);
 | 
			
		
		
	
	
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |