Difference between revisions of "CHANGE BLIP DISPLAY"

From GTAMods Wiki
Jump to navigation Jump to search
(I've made a few small changes to improve clarity and added a comment on the code)
(More clarity changes...)
Line 33: Line 33:
 
|}
 
|}
  
These values were infered doing in-game tests. Pay attention to the ''blip_display'' value (shown in the radar) used for each ''contact'' blip (colored in dark yellow) and how the blips are displayed on the second image relative to the first one.
+
These values were infered doing in-game tests. 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.
  
 
[[File:Blip_display_test_1.png|600px]]  
 
[[File:Blip_display_test_1.png|600px]]  

Revision as of 17:27, 7 January 2015

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 both the radar/map and the world.

Know values for blip_display

Value Is it drawn on the radar/map? Is it drawn on the world?
0 NO NO
1 NO NO
2 YES YES
3 NO NO
4 YES YES
5 YES NO

These values were infered doing in-game tests. 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.

Blip display test 1.png Blip display test 2.png

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];
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 = -8.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]);
}