CHANGE BLIP DISPLAY

From GTAModding
Jump to: navigation, search
CHANGE_BLIP_DISPLAY
Number of parameters: 2
Parameter #TypeDescription
1.integerblip_handle
2.integerblip_display
Return value:
TypeDescription
None

Changes how a blip is displayed in the radar, the map and the world.

Know values for blip_display

Value Is it drawn on the radar? Is it drawn on the world? Is it drawn on the map?
0 NO NO NO
1 NO NO NO
2 YES NO YES
3 NO NO YES
4 YES YES YES
5 YES NO NO
Radar VS Map.png

These values were infered doing in-game tests. The image to the right shows how some blips are drawn only on the radar vs the radar AND the map, while the images below show how some blips are drawn on the radar vs the radar AND the world. Pay attention to the numbers shown in the radar next to the contact_blips (colored in dark yellow). On the first image these numbers represent the index of each blip in blip_array[] and their blip_display value. On the second image those numbers represent only their index in blip_array[] while their blip_display value is always equal to 4. Note how the blips are displayed on the second image relative to the first one.


Depending on their blip_display value blips are drawn on the world or not.
Blips with a blip_display value of 4 are always drawn on the map, the world and the radar.


The blips were created in a for loop that also changed their blip_display value:

/*
While you may see 7 blips here this code is responsible for creating
only the "contact blips" (the ones in the background).
*/
 
//The display values were defined in an enum.
//They vary from 0 to 5 with BLIP_DISPLAY_0 being 0 and BLIP_DISPLAY_5 being 5
 
Blip blip_array[6];
Blip control_blip_array[6];
eBlipDisplay display_array[] = {BLIP_DISPLAY_0, BLIP_DISPLAY_1, BLIP_DISPLAY_2, BLIP_DISPLAY_3, BLIP_DISPLAY_4, BLIP_DISPLAY_5};
 
for(int i = 0; i < 6; i++)
	{
		f32 offset = -15.0 * float(i);

		//For some reason "contact blips" and "coord blips" (light yellow, on the foreground) are gigantic
		AddBlipForContact(952.727, -508.730 + offset, 20.0, &blip_array[i]);
		ChangeBlipDisplay(blip_array[i], display_array[i]);
		
		//"Control group"
		AddBlipForContact(932.727, -508.730 + offset, 20.0, &control_blip_array[i]);		
	}