Quantcast

Jump to content

» «
Photo

Clear radar icon pool?

21 replies to this topic
Midnightz
  • Midnightz

    Populus vult decipi.

  • Members
  • Joined: 05 Feb 2007
  • United-States

#1

Posted 25 August 2013 - 08:49 PM

For GTA SA...

Anyone in the know have a quick fix via cleo script for resetting/emptying the radar icon pool?
I had saved game progress with some threads loading extra icons and now the pool is full = exceeds the limit = other icons won't appear anymore.
Hoping someone has a quick-n-dirty memory hack for this?

Thanks in advance smile.gif

Silent
  • Silent

    Altering R* Vision™ since 2008

  • GTA Mods Staff
  • Joined: 01 Feb 2010
  • Poland
  • Contribution Award [Mods]
    Best Script/Plugin 2014 [SilentPatch]
    Most Respected 2014
    Most Helpful [Mods] 2014
    Most Helpful [GTA] 2013
    Most Helpful [Mods] 2013
    Most Talented [Modding] 2013
    Best Map 2013 [ViceCityStories PC Edition]
    Best Vehicle 2013 [III Aircraft]
    Most Helpful [Mods] 2012
    Modder of the Year 2012

#2

Posted 25 August 2013 - 08:51 PM

It'd be better to fix it manually via hex editing. Could you upload that save?

Midnightz
  • Midnightz

    Populus vult decipi.

  • Members
  • Joined: 05 Feb 2007
  • United-States

#3

Posted 25 August 2013 - 08:56 PM

Oh? Sure, preference for where?

Midnightz
  • Midnightz

    Populus vult decipi.

  • Members
  • Joined: 05 Feb 2007
  • United-States

#4

Posted 25 August 2013 - 09:01 PM

http://www.sendspace.com/file/h4gh7m

I'm trying to do a play-through of my modded game and this problem, of all problems, I am unable to prevent regardless how I code it to delete these from memory, ugh. Sure wish there was a mem hack for it. (not having that makes it impossible to test if the code is functioning as intended)

OrionSR
  • OrionSR

    Chain Game Development Team

  • Feroci
  • Joined: 23 May 2007
  • None
  • Helpfulness Award [GTA & Modding]

#5

Posted 25 August 2013 - 10:17 PM

The only tool I've seen that deals with the radar icons is hmvartak's Online Glitch Repair Tool. I'm not sure how well it will serve your purpose though. It was mostly intended for removing those stray yellow markers that refuse to go away after some missions, but some people have been using to clean up markers placed by cleo mods.

Radar markers are easy to remove with opcodes if you can identify the index of the icon. This isn't an easy trick without a radar blip viewer. The blips were never well documented so they never made it into any of the save editor.


Midnightz
  • Midnightz

    Populus vult decipi.

  • Members
  • Joined: 05 Feb 2007
  • United-States

#6

Posted 25 August 2013 - 11:48 PM

Understood. But see, if I remove these using opcodes, they are no longer visible but still in memory somehow. Two different scenarios...

And if I want to say, place new radar icons using a Cleo script, then save game, exceed limit, then destory those markers after and resave, the game retains them and is still stuck over the limit.

Is there no way to destroy all Cleo inserted radar icons before saving or a true toggle option? No single command?

Silent
  • Silent

    Altering R* Vision™ since 2008

  • GTA Mods Staff
  • Joined: 01 Feb 2010
  • Poland
  • Contribution Award [Mods]
    Best Script/Plugin 2014 [SilentPatch]
    Most Respected 2014
    Most Helpful [Mods] 2014
    Most Helpful [GTA] 2013
    Most Helpful [Mods] 2013
    Most Talented [Modding] 2013
    Best Map 2013 [ViceCityStories PC Edition]
    Best Vehicle 2013 [III Aircraft]
    Most Helpful [Mods] 2012
    Modder of the Year 2012

#7

Posted 26 August 2013 - 12:24 AM Edited by SilentPL, 26 August 2013 - 11:58 AM.

Not really. That's a major CLEO drawback, no way to make stuff non-persistent.

I'll try to fix that save by hand tomorrow icon14.gif

EDIT:
Ugh, what kind of SCM do you have? The save crashes on my 1.0 SCM.

Midnightz
  • Midnightz

    Populus vult decipi.

  • Members
  • Joined: 05 Feb 2007
  • United-States

#8

Posted 26 August 2013 - 01:26 PM

CLEO drawback, I see.

In my previous project, I actually had done an aggressive rewrite of the entire radar icon system. It allowed for tons more icons to be added without exceeding the game limit. I lost that modded game (hard drive died) and I really don't want to have to do that again.

My SCM is v1.0 but it is modded for everything to be open at the beginning. Likely reason for crash?

Silent
  • Silent

    Altering R* Vision™ since 2008

  • GTA Mods Staff
  • Joined: 01 Feb 2010
  • Poland
  • Contribution Award [Mods]
    Best Script/Plugin 2014 [SilentPatch]
    Most Respected 2014
    Most Helpful [Mods] 2014
    Most Helpful [GTA] 2013
    Most Helpful [Mods] 2013
    Most Talented [Modding] 2013
    Best Map 2013 [ViceCityStories PC Edition]
    Best Vehicle 2013 [III Aircraft]
    Most Helpful [Mods] 2012
    Modder of the Year 2012

#9

Posted 26 August 2013 - 02:13 PM

Yep. Upload the SCM here so I can at least test it.

gtafan113
  • gtafan113

    Untitled

  • Members
  • Joined: 01 Mar 2009

#10

Posted 26 August 2013 - 08:12 PM

I have also been having this problem.

The save glitch fix thing Silent mentioned does fix it for me. You just have to select which icon there are extras of in your game. Try all the different icons CLEO has added and it will tell you if your game had any that needed to be removed.

The only drawback is that this must be done again when your game starts to get filled with icons from those CLEO scrips again, but at least you will know which icons to get rid of next time.

A way to prevent this from happening would be cool. And the hacking of the radar icon limit the OP mentioned sounds pretty awesome. That'd be a cool mod by itself I think. tounge.gif

Wesser
  • Wesser

    The complexity simplifier, the efficiency optimizer.

  • Feroci
  • Joined: 19 Aug 2006
  • Unknown
  • Contribution Award [Mods]

#11

Posted 28 August 2013 - 12:35 PM Edited by Wesser, 28 August 2013 - 12:46 PM.

QUOTE (OrionSR @ Sunday, Aug 25 2013, 23:17)
Radar markers are easy to remove with opcodes if you can identify the index of the icon.

Pretty unlikely. REMOVE_BLIP (0164) checks for the marker flag of the handle denoted by the high bits, which must be equal to that of the marker set at the index specified by the low bits, in order to validate its deletion. The flag constantly changes, thus the standard commands doesn't help to build up a safe method.

I managed to create this little ingame editor to reach your goal:
CODE

{$CLEO}

0000: NOP

var
   4@: Int
   5@: Int
end
const
   DEFAULT_TIME            = 250
end
const
   PAD1                    = 0
end
const
   LEFTSTICKX              = 0
   LEFTSHOULDER1           = 4
TRIANGLE                = 15
CROSS                   = 16
end
const
   RADAR_SPRITE_WAYPOINT   = 41
end
const
   BLIP_QUERY_LISTCOUNT    = 0
   BLIP_QUERY_FIRSTPRESENT = 1
   BLIP_QUERY_NEXTPRESENT  = 2
   BLIP_QUERY_PREVPRESENT  = 3
end

// No frontend textures unload while exiting from the menu.
0A8C: write_memory 0x00576D0E size 4 value 0x90909090 vp true // CMenuManager.Hide
0A8C: write_memory 0x00576D12 size 1 value 0x90 vp true
// Reload frontend textures.
0AA6: call_method 0x00572EC0 struct 0x00BA6748 num_params 0 pop 0 // CMenuManager.LoadAllTextures
0A8C: write_memory 0x00BA68A4 size 1 value true vp false // CMenuManager.m_bTextureLoaded
32@ = 0
while true
   {//Remove map fog.
   for 0@ = 0x00BA3730 to 0x00BA3790
       0A8C: write_memory 0@ size 4 value 0x01010101 vp false
   end}
   if and
       32@ > DEFAULT_TIME
   00E1:  is_button_pressed PAD1 button LEFTSHOULDER1 // Secondary Fire
   then
       32@ = 0
       01B4: set_player_control $PLAYER_CHAR to false
       0AB1: call_scm_func @queryBlipList 2 BLIP_QUERY_LISTCOUNT 0x00BA86F0 store_to 4@ // aclBlips
       if
           4@ > 0
       then
           0826: display_hud false
           0581: display_radar false
           03F0: use_text_commands true
           0390: load_texture_dictionary 'pcbtns'
           for 0@ = 0 to 63
               0A90: 1@ = 0@ * 0x04 // sizeof(CTexture)
               0A8E: 2@ = 0x00BAA250 + 1@ // aclRadarSprites
               0A8E: 3@ = 0x00A94B68 + 1@ // aclTexSprites
               0A8D: 1@ = read_memory 2@ size 4 vp false
               0A8C: write_memory 3@ size 4 value 1@ vp false
           end
           0A8D: 0@ = read_memory 0x00BA6890 size 4 vp false // pclMenuManager.m_aclTextures[20]
           0A8C: write_memory 0x00A94C68 size 4 value 0@ vp false // aclRadarSprites[64]
           038F: load_sprite 'right' from 66
           038F: load_sprite 'left' from 67
           5@ = 1
           0AB1: call_scm_func @queryBlipList 2 BLIP_QUERY_FIRSTPRESENT 0x00BA86F0 store_pointer_to 6@ index_to 7@
           33@ = 0
           while true
               03E3: set_sprites_draw_before_fade true
               038E: draw_rect 320.0 224.0 size 640.0 448.0 colour 0 0 0 255
               03E3: set_sprites_draw_before_fade true
               038D: draw_sprite 65 position 320.0 224.0 size 504.0 312.0 colour 255 255 255 255
               03E3: set_sprites_draw_before_fade true
               038E: draw_rect 66.0 224.0 size 4.0 320.0 colour 128 128 128 255
               03E3: set_sprites_draw_before_fade true
               038E: draw_rect 574.0 224.0 size 4.0 320.0 colour 128 128 128 255
               03E3: set_sprites_draw_before_fade true
               038E: draw_rect 320.0 66.0 size 504.0 4.0 colour 128 128 128 255
               03E3: set_sprites_draw_before_fade true
               038E: draw_rect 320.0 382.0 size 504.0 4.0 colour 128 128 128 255
               gosub @BlipIdTextSettings
               045A: draw_text_1number 320.0 396.0 GXT 'NUMBER' number 5@ // ~1~
               gosub @BlipCountTextSettings
               045A: draw_text_1number 320.0 420.0 GXT 'NUMBER' number 4@ // ~1~
               0A8E: 0@ = 6@ + 0x24 // CBlip.m_cSpriteId
               0A8D: 0@ = read_memory 0@ size 1 vp false
               0@ += 1
               0A8E: 1@ = 6@ + 0x08 // CBlip.m_stPos.m_fX
               0A8D: 1@ = read_memory 1@ size 4 vp false
               1@ *= 0.084 // 252.0 / 3000.0
               1@ += 320.0
               0A8E: 2@ = 6@ + 0x0C // CBlip.m_stPos.m_fY
               0A8D: 2@ = read_memory 2@ size 4 vp false
               2@ *= -0.052 // 156.0 / 3000.0
               2@ += 224.0
               03E3: set_sprites_draw_before_fade true
               038D: draw_sprite 0@ position 1@ 2@ size 8.0 8.0 colour 255 255 255 255
               if
                   5@ > 1
               then
                   03E3: set_sprites_draw_before_fade true
                   038D: draw_sprite 66 position 288.0 408.0 size 24.0 24.0 colour 255 255 255 255
               end
               if
                   5@ < 4@
               then
                   03E3: set_sprites_draw_before_fade true
                   038D: draw_sprite 67 position 352.0 408.0 size 24.0 24.0 colour 255 255 255 255
               end
               if and
                   33@ > DEFAULT_TIME
               00E1:  is_button_pressed PAD1 button CROSS // Sprint
               then
                   0AA5: call 0x00587C10 num_params 1 pop 1 iIndex 7@ // CBlip.ClearBlipAtIndex
                   4@ -= 1
                   if
                       4@ > 0
                   then
                       if
                           5@ < 4@
                       then
                           0AB1: call_scm_func @queryBlipList 2 BLIP_QUERY_NEXTPRESENT 6@ store_pointer_to 6@ index_to 7@
                       else
                           0AB1: call_scm_func @queryBlipList 2 BLIP_QUERY_PREVPRESENT 6@ store_pointer_to 6@ index_to 7@
                           5@ -= 1
                       end
                   else
                       break
                   end
                   33@ = 0
               end
               if and
                   33@ > DEFAULT_TIME
               00E1:  is_button_pressed PAD1 button LEFTSTICKX // Left/Right
               then
                   0494: get_position_of_analogue_sticks PAD1 store_to 0@ 1@ 2@ 3@
                   if
                       0@ > 0
                   then
                       if
                           5@ < 4@
                       then
                           5@ += 1
                           0AB1: call_scm_func @queryBlipList 2 BLIP_QUERY_NEXTPRESENT 6@ store_pointer_to 6@ index_to 7@
                       end
                   else
                       if
                           5@ > 1
                       then
                           5@ -= 1
                           0AB1: call_scm_func @queryBlipList 2 BLIP_QUERY_PREVPRESENT 6@ store_pointer_to 6@ index_to 7@
                       end
                   end
                   33@ = 0
               end
               if and
                   32@ > DEFAULT_TIME
               00E1:  is_button_pressed PAD1 button TRIANGLE // Enter/exit vehicle
               then
                   break
               end
               wait 0
           end
           for 0@ = 0 to 64
               0A90: 1@ = 0@ * 0x04
               1@ += 0x00A94B68
               0A8C: write_memory 1@ size 4 value 0x00000000 vp false
           end
           01B4: set_player_control $PLAYER_CHAR to true
           0826: display_hud true
           0581: display_radar true
           0391: remove_texture_dictionary
           32@ = 0
       end
   end
   wait 0
end

:BlipIdTextSettings
033F: set_text_scale 0.6 2.5
0904: get_hud_colour 3 store_to 0@ 1@ 2@ 3@
gosub @BlipTextSettings
return

:BlipCountTextSettings
033F: set_text_scale 0.3 1.25
0904: get_hud_colour 12 store_to 0@ 1@ 2@ 3@
gosub @BlipTextSettings
return

:BlipTextSettings
0340: set_text_colour 0@ 1@ 2@ 3@
0341: set_text_justify false
0342: set_text_center true
0343: set_text_wrap_X 640.0
0348: set_text_proportional true
03E0: set_text_draw_before_fade true
03E4: set_text_right_justify false
return

:queryBlipList
var
   1@: Int
   2@: Int
end
if
   0@ == BLIP_QUERY_PREVPRESENT
then
   2@ = -0x28 // sizeof(CBlip)
   1@ -= 0x28
else
   2@ = 0x28
   if
       0@ == BLIP_QUERY_NEXTPRESENT
   then
       1@ += 0x28
   end
end
6@ = 0
while true
   {0A8E: 3@ = 1@ + 0x24
   0A8D: 3@ = read_memory 3@ size 1 vp false}
   0A8E: 4@ = 1@ + 0x25 // CBlip.m_ucFlag
   0A8D: 4@ = read_memory 4@ size 1 vp false
   0A8E: 5@ = 1@ + 0x26 // CBlip.m_ucTypeFlag
   0A8D: 5@ = read_memory 5@ size 1 vp false
   if and
       //3@ <> RADAR_SPRITE_WAYPOINT
   08B7:  is_bit_set 4@ bit 1
   08B7:  is_bit_set 5@ bit 1
   then
       08C3: clear_bit 5@ bit 6
       08C3: clear_bit 5@ bit 7
       5@ /= 4
       if or
           5@ == 4
           5@ == 5
       then
           if
               0@ <> BLIP_QUERY_LISTCOUNT
           then
               0A8F: 7@ = 1@ - 0x00BA86F0
               7@ /= 0x28
               0485: return_true
               0AB2: ret 2 1@ 7@
           else
               6@ += 1
           end
       end
   end
   1@ += 2@
   if or
       1@ < 0x00BA86F0
       1@ > 0x00BAA220
   then
       if
           0@ <> BLIP_QUERY_LISTCOUNT
       then
           059A: return_false
           0AB2: ret 2 0x00000000 -1
       end
       0AB2: ret 1 6@
   end
end

CONTROLS:
  • Press Secondary Fire to show the map;
  • Press Left/Right to increase/decrease the marker index;
  • Press Sprint to delete the marker;
  • Press Enter/exit vehicle to hide everything.
I may release a more sophisticated "Demarker Mode" in the near feature. icon14.gif

Midnightz
  • Midnightz

    Populus vult decipi.

  • Members
  • Joined: 05 Feb 2007
  • United-States

#12

Posted 31 August 2013 - 01:48 AM

Thanks everyone for the replies. smile.gif

THANK YOU Wesser! cookie.gif I will try this ASAP! biggrin.gif

DK22Pac
  • DK22Pac

  • Feroci
  • Joined: 12 Apr 2009
  • Ukraine
  • Best WIP Mod 2014 [Grand Theft Auto 3D Contribution]
    Contribution Award [Mods]

#13

Posted 31 August 2013 - 04:12 PM

Maybe this will work too?
CODE
{$CLEO}

0000:

// Re-Initialise blip structs array
for 0@ = 0 to 174
   0AA5: call 0x587C10 num_params 1 pop 1 0@
end

0A93: end_custom_thread

OrionSR
  • OrionSR

    Chain Game Development Team

  • Feroci
  • Joined: 23 May 2007
  • None
  • Helpfulness Award [GTA & Modding]

#14

Posted 31 August 2013 - 06:50 PM

I would think that would work just fine if you didn't want any of the standard icons on the map. Replacing the standard icons is liable to be more complex than dancing around them, especially considering the variable status of the properties.

Midnightz
  • Midnightz

    Populus vult decipi.

  • Members
  • Joined: 05 Feb 2007
  • United-States

#15

Posted 05 September 2013 - 05:29 AM

I have a few minutes to reply and I will test both above this weekend. Thanks again! But I wanted to say this in the interest of sharing ideas...

In my 1st (now lost) rewrite of SA, I had manually gone through the scm and rewrote all radar markers for businesses to only show on the island CJ was on and this helped make room for other mods I'd made such as new properties, missing business markers, gas stations, police stations, fire stations, and other unused icons. It worked very well but was very time consuming to make. I may do it again in this rewrite, not sure.

I am hoping these solutions will just allow Cleo mods that add radar icons to be removed from memory properly so that the regular ones will always show. It's less messy and gives the mod user the freedom to add/remove mods. smile.gif

You guys are great, thanks!

Midnightz
  • Midnightz

    Populus vult decipi.

  • Members
  • Joined: 05 Feb 2007
  • United-States

#16

Posted 08 September 2013 - 05:55 PM

Wesser:  I've tested your script but when I press secondary fire, it just crashes my exe.  :cry:  Looking at your code comments... Is it because I already have the entire map defogged (at start) in my SCM?  Or maybe that I have extra textures loading in other CLEO scripts?

 

DK22Pac:  OrionSR is correct, your code works but just removes every radar marker in the game.  Could you write something similar that removes just the fuel (car) radar markers?

 

Thanks all. :)


Wesser
  • Wesser

    The complexity simplifier, the efficiency optimizer.

  • Feroci
  • Joined: 19 Aug 2006
  • Unknown
  • Contribution Award [Mods]

#17

Posted 08 September 2013 - 06:42 PM Edited by Wesser, 08 September 2013 - 06:44 PM.

Very likely. The script has been tested on an unmodded game and no crash was encountered. If you are looking for removing all "car" blips only, use this code (untested):

 

CODE

 

{$CLEO}

 

0000: NOP

 

var
    0@: Int
    1@: Int
end
const
    RADAR_SPRITE_IMPOUND = 55
end
for 0@ = 0 to 174
    0A90: 1@ = 0@ * 0x28 // sizeof(CBlip)
    1@ += 0x00BA86F0
    0A8E: 2@ = 1@ + 0x24 // CBlip.m_eRadarSprite
    0A8D: 2@ = read_memory 2@ size 1 vp false
    0A8E: 3@ = 1@ + 0x25 // CBlip.m_ucFlag
    0A8D: 3@ = read_memory 3@ size 1 vp false
    0A8E: 4@ = 1@ + 0x26 // CBlip.m_ucTypeFlag
    0A8D: 4@ = read_memory 4@ size 1 vp false
    if and
        2@ == RADAR_SPRITE_IMPOUND
    08B7:  is_bit_set 3@ bit 1
    08B7:  is_bit_set 4@ bit 1
    then
        08C3: clear_bit 4@ bit 6
        08C3: clear_bit 4@ bit 7
        4@ /= 4
        if or
            4@ == 4
            4@ == 5
        then
            0AA5: call 0x00587C10 num_params 1 pop 1 iIndex 0@ // CBlip.ClearBlipAtIndex
        end
    end
end
0A93: end_custom_thread


OrionSR
  • OrionSR

    Chain Game Development Team

  • Feroci
  • Joined: 23 May 2007
  • None
  • Helpfulness Award [GTA & Modding]

#18

Posted 08 September 2013 - 08:34 PM Edited by OrionSR, 08 September 2013 - 08:35 PM.

    0A8E: 3@ = 1@ + 0x25 // CBlip.m_ucFlag
    0A8E: 4@ = 1@ + 0x26 // CBlip.m_ucTypeFlag

 

Can you provide reference for the flag fields of the radar markers? The save documentation is incomplete; all we have is "0x25 byte[2] unknown flags." I believe this has hampered development of icon tools included with save editors.

 

http://www.gtamoddin...lock_9:_Markers


Seemann
  • Seemann

    Ruhe

  • GTA Mods Staff
  • Joined: 03 Sep 2004
  • Russia
  • Best Tool 2013 "Sanny Builder"
    Contribution Award [Mods]
    Helpfulness Awards [Mods]

#19

Posted 11 September 2013 - 08:23 PM

Adding custom icons ASI plugin (in Russian)


Wesser
  • Wesser

    The complexity simplifier, the efficiency optimizer.

  • Feroci
  • Joined: 19 Aug 2006
  • Unknown
  • Contribution Award [Mods]

#20

Posted 12 September 2013 - 07:38 PM

Can you provide reference for the flag fields of the radar markers? The save documentation is incomplete; all we have is "0x25 byte[2] unknown flags." I believe this has hampered development of icon tools included with save editors.

 

http://www.gtamoddin...lock_9:_Markers

This is what I came up but none of the listed flags, enumerations or class/struct members have been tested ingame:

#define BLIP_FLAG_BRIGHT	 0x01 // It makes use of bright colors. Always set.
#define BLIP_FLAG_EXIST		 0x02 // It is available.
#define BLIP_FLAG_SHORTRANGE 0x04 // It doesn't show permanently on the radar.
#define BLIP_FLAG_FRIENDLY	 0x08 // It is affected by BLIP_COLOUR_THREAT.
#define BLIP_FLAG_PRIORITY	 0x10 // It has the priority over the entity (it will still appear after the entity's deletion).
#define BLIP_FLAG_BIT5		 0x20 // Possibly a leftover. Always unset (unused).
#define BLIP_FLAG_FRIEND	 0x40 // It selects BLIP_COLOUR_BLUE. If unset toghether with BLIP_FLAG_THREAT, any color.
#define BLIP_FLAG_THREAT	 0x80 // It selects BLIP_COLOUR_RED. If unset toghether with BLIP_FLAG_FRIEND, any color.

enum EBlipHandle : char {
	BLIP_HANDLE_NONE,			// 0
	BLIP_HANDLE_CAR,			// 1
	BLIP_HANDLE_CHAR,			// 2
	BLIP_HANDLE_OBJECT,			// 3
	BLIP_HANDLE_COORD,			// 4 - Checkpoint.
	BLIP_HANDLE_CONTACTPOINT,	// 5 - Sphere.
	BLIP_HANDLE_SPOTLIGHT,		// 6
	BLIP_HANDLE_PICKUP			// 7
};

enum EBlipDisplay : char {
	BLIP_DISPLAY_NEITHER,		// 0
	BLIP_DISPLAY_MARKERONLY,	// 1
	BLIP_DISPLAY_BLIPONLY,		// 2
	BLIP_DISPLAY_BOTH			// 3
};

// See <https://www.dropbox.com/s/oi3i4f0qsbe7z10/blip_marker_colors.html> to view these colors.
enum EBlipColour : unsigned int {
	BLIP_COLOUR_RED,			// 0
	BLIP_COLOUR_GREEN,			// 1
	BLIP_COLOUR_BLUE,			// 2
	BLIP_COLOUR_WHITE,			// 3
	BLIP_COLOUR_YELLOW,			// 4
	BLIP_COLOUR_REDCOPY,		// 5 - What? It was BLIP_COLOUR_PURPLE.
	BLIP_COLOUR_BLUECOPY,		// 6 - Why? It was BLIP_COLOUR_CYAN.
	BLIP_COLOUR_THREAT,			// 7 - If BLIP_FLAG_FRIENDLY is not set (by default) it is BLIP_COLOUR_RED, else BLIP_COLOUR_BLUE.
	BLIP_COLOUR_DESTINATION		// 8 - Default color.
};

enum ERadarSprite : char {
	RADAR_SPRITE_NONE,			// 0
	RADAR_SPRITE_WHITE,			// 1
	RADAR_SPRITE_CENTRE,		// 2
	RADAR_SPRITE_MAP_HERE,		// 3
	RADAR_SPRITE_NORTH,			// 4
	RADAR_SPRITE_AIRYARD,		// 5
	RADAR_SPRITE_AMMUGUN,		// 6
	RADAR_SPRITE_BARBERS,		// 7
	RADAR_SPRITE_BIGSMOKE,		// 8
	RADAR_SPRITE_BOATYARD,		// 9
	RADAR_SPRITE_BURGERSHOT,	// 10
	RADAR_SPRITE_BULLDOZER,		// 11
	RADAR_SPRITE_CATALINAPINK,	// 12
	RADAR_SPRITE_CESARVIAPANDO,	// 13 - What? R* mistype?
	RADAR_SPRITE_CHICKEN,		// 14
	RADAR_SPRITE_CJ,			// 15
	RADAR_SPRITE_CRASH1,		// 16
	RADAR_SPRITE_DINER,			// 17 - Yet another one?
	RADAR_SPRITE_EMMETGUN,		// 18
	RADAR_SPRITE_ENEMYATTACK,	// 19
	RADAR_SPRITE_FIRE,			// 20
	RADAR_SPRITE_GIRLFRIEND,	// 21
	RADAR_SPRITE_HOSTPITAL,		// 22 - Again?
	RADAR_SPRITE_LOGOSYNDICATE,	// 23
	RADAR_SPRITE_MADDOG,		// 24
	RADAR_SPRITE_MAFIACASINO,	// 25
	RADAR_SPRITE_MCSTRAP,		// 26
	RADAR_SPRITE_MODGARAGE,		// 27
	RADAR_SPRITE_OGLOC,			// 28
	RADAR_SPRITE_PIZZA,			// 29
	RADAR_SPRITE_POLICE,		// 30
	RADAR_SPRITE_PROPERTYG,		// 31
	RADAR_SPRITE_PROPERTYR,		// 32
	RADAR_SPRITE_RACE,			// 33
	RADAR_SPRITE_RYDER,			// 34
	RADAR_SPRITE_SAVEGAME,		// 35
	RADAR_SPRITE_SCHOOL,		// 36
	RADAR_SPRITE_QMARK,			// 37
	RADAR_SPRITE_SWEET,			// 38
	RADAR_SPRITE_TATTOO,		// 39
	RADAR_SPRITE_THETRUTH,		// 40
	RADAR_SPRITE_WAYPOINT,		// 41
	RADAR_SPRITE_TORENORANCH,	// 42
	RADAR_SPRITE_TRIADS,		// 43
	RADAR_SPRITE_TRIADSCASINO,	// 44
	RADAR_SPRITE_TSHIRT,		// 45
	RADAR_SPRITE_WOOZIE,		// 46
	RADAR_SPRITE_ZERO,			// 47
	RADAR_SPRITE_DATEDISCO,		// 48
	RADAR_SPRITE_DATEDRINK,		// 49
	RADAR_SPRITE_DATEFOOD,		// 50
	RADAR_SPRITE_TRUCK,			// 51
	RADAR_SPRITE_CASH,			// 52
	RADAR_SPRITE_FLAG,			// 53
	RADAR_SPRITE_GYM,			// 54
	RADAR_SPRITE_IMPOUND,		// 55
	RADAR_SPRITE_LIGHT,			// 56
	RADAR_SPRITE_RUNWAY,		// 57
	RADAR_SPRITE_GANGB,			// 58
	RADAR_SPRITE_GANGP,			// 59
	RADAR_SPRITE_GANGY,			// 60
	RADAR_SPRITE_GANGN,			// 61
	RADAR_SPRITE_GANGG,			// 62
	RADAR_SPRITE_SPRAY/*,		// 63
	RADAR_SPRITE_TORENO*/		// 64
};

struct SRwV3d {
	float m_fX;
	float m_fY;
	float m_fZ;
};

class CEntryExit;

class CBlip {
  public:
	union {
		unsigned int m_uiColour;
		EBlipColour m_eColor;
	};
	unsigned int m_uiEntityHandle;
	SRwV3d m_stCoords;
	unsigned short m_usTimesUsed;
	short m_sPadding0;
	float m_fUneffective0;
	short m_sScale;
	short m_sPadding1;
	CEntryExit *m_pclEntryExit;
	ERadarSprite m_eRadarSprite;
	unsigned char m_ucFlag;
	union {
		unsigned char m_ucBitmask;
		struct {
			EBlipDisplay m_eDisplay : 2;
			EBlipHandle m_eHandleType : 4;
			char m_cAlign0 : 2;
		};
	};
	char m_cAlign1;
} aclBlips[175];

I would update the GTAModding's article if this documentation is validated.

  • DK22Pac likes this

MasterHK
  • MasterHK

    کیان حامی‏

  • Members
  • Joined: 20 Mar 2013
  • Iran

#21

Posted 15 September 2013 - 06:41 AM

Perfect Thing!

but it's for sa 1.1 and I have sa 1.0.

What can I do?


Midnightz
  • Midnightz

    Populus vult decipi.

  • Members
  • Joined: 05 Feb 2007
  • United-States

#22

Posted 22 September 2013 - 06:22 PM

Gonna try all solutions.  Thanks to all!  Wish that ASI worked with the compact.exe?





1 user(s) are reading this topic

0 members, 1 guests, 0 anonymous users