pedro2555 Posted August 14, 2013 Share Posted August 14, 2013 What if I use a sprite instead, would that work? For the map itself ? Yes it should be the best option, and should not be difficult at all. I will try to post some snippets for that soon. The blip display, is the real hassle. But still possible. I wished I had time to work on this stuff, but I'm quite limited at the moment. Nice progress thought. how would you draw the sprites so that they dont exceed the radar area? i mean, when you draw the map sprites for the area youre in, the sprites dosnt perfectly match the size of the radar, some of them will be outside the radar area. how would you cut that part out? that is the problem I've been having while trying to make this. The blips could be done somewhat easily, with some GetAllBlipsOfType and some arrays with blip textures linked to blipsprite number. Well a simple crop using GDI+ should do the trick, right ? You just need to translate world coords to sprite coords and apply a rectangular crop to a map image. Then draw the radar border and bars on top. Have you tried like this? What are the results ? Link to comment Share on other sites More sharing options...
Michael Wojtanis Posted August 14, 2013 Share Posted August 14, 2013 My idea from ... 3 weeks ago. We just need to rotate map in ... border. I do not know how it works... I know how to make without rotation. That is what You said. Position, calculation, cut the width and height of picture... But rotation... Link to comment Share on other sites More sharing options...
XForceP Posted September 4, 2013 Share Posted September 4, 2013 (edited) Yes its the normal map squared everything works fine!!! Edited September 4, 2013 by XForceP Link to comment Share on other sites More sharing options...
Michael Wojtanis Posted September 6, 2013 Share Posted September 6, 2013 Could You put some code? You just load all minimap and block with borders drawing? Link to comment Share on other sites More sharing options...
bite Posted September 6, 2013 Share Posted September 6, 2013 (edited) Hey,so the current work from XForce and me we're still working on this due the problem that it's hard to convert the blips viewport positions from circle to square .... View it in action:http://www.youtube.com/watch?v=cmJyBQRGuf8&feature=youtu.be Code(if you want to use it, just rebuild some parts(like Math::Clamp, you'll find a funtion example via google ): Pastebin: http://pastebin.com/a625kTDS void RenderUIElements(){ // Render Images float fX, fY, sX, sY; CIVScript_NativeInvoke::Invoke<unsigned int>(CIVScript::NATIVE_GET_VIEWPORT_POS_AND_SIZE, 3, &fX, &fY, &sX, &sY); D3DVIEWPORT9 viewport; g_pCore>GetGraphics()>GetDevice()>GetViewport(&viewport); g_pCore>GetGraphics()>GetSprite()>Begin(0); D3DXVECTOR2 spriteCentre = D3DXVECTOR2(0, 0); D3DXVECTOR2 trans= D3DXVECTOR2(viewport.Width * fX 6.5, viewport.Height * fY 6.5); D3DXMATRIX mat; D3DXVECTOR2 scaling2((viewport.Width * sX) / 990, (viewport.Height*sY) / 460); float rotation=0.0f; D3DXMatrixTransformation2D(&mat,NULL,0.0,&scaling2,&spriteCentre,rotation,&trans); g_pCore>GetGraphics()>GetSprite()>SetTransform(&mat); g_pCore>GetGraphics()>GetSprite()>Draw(g_pCore>GetGraphics()>m_pRadarOverlayTexture,NULL, NULL,&D3DXVECTOR3(0.0f, 0.0f, 0.0f), D3DCOLOR_ARGB(255,255,255,255)); // Draw health bar float fxPos = viewport.Width * fX 6.5; float fyPos = viewport.Height * fY 6.5; float fWidth = viewport.Width/12.4; float fHeight = viewport.Height/50; D3DXVECTOR2 scaling3((viewport.Width * sX) / 1000, (viewport.Height*sY) / 460); CVector3 vecScreen = CVector3(trans.x, (trans.y+scaling3.y), 0.0f); vecScreen.fY += (viewport.Height/10)*2; if(m_pLocalPlayer && m_pLocalPlayer>IsSpawned()) { g_pCore>GetGraphics()>DrawBox(((vecScreen.fX + 6)), (vecScreen.fY + 18), (fWidth 4), (fHeight 4), D3DCOLOR_ARGB(120, 125, 157, 120) ); g_pCore>GetGraphics()>DrawBox(((vecScreen.fX + 6)), (vecScreen.fY + 18), (((Math::Clamp( 0.0f, m_pLocalPlayer>GetHealth(), 720.0f ) * 100.0f) / 720.0f) / 100 * (fWidth 4)), (fHeight 4), D3DCOLOR_ARGB(255, 125, 157, 120) ); vecScreen.fX += fWidth; g_pCore>GetGraphics()>DrawBox(((vecScreen.fX + 6)), (vecScreen.fY + 18), (fWidth 4), (fHeight 4), D3DCOLOR_ARGB(210, 0, 79, 96) ); g_pCore>GetGraphics()>DrawBox(((vecScreen.fX + 6)), (vecScreen.fY + 18), (((Math::Clamp( 0.0f, m_pLocalPlayer>GetHealth(), 720.0f ) * 100.0f) / 720.0f) / 100 * (fWidth 4)), (fHeight 4), D3DCOLOR_ARGB(255, 0, 79, 96) ); g_pCore>GetGraphics()>GetSprite()>Flush(); g_pCore>GetGraphics()>GetSprite()>End();}Vector2 * v12;Vector2 * pViewportSize = new Vector2();float center;int bAbsolut;#define MIN_X 0.025f#define MAX_X 0.975f#define MIN_Y 0.025f#define MAX_Y 0.975f#define ZERO 0.0ffloat fOriginalX;float fOriginalY;void _declspec(naked) Keks(){ _asm mov v12, edx; _asm push eax; get absolute flag _asm mov eax, [ebp+14h] ; 3th parameter _asm mov bAbsolut, eax; _asm pop eax; fOriginalX = v12>fX; fOriginalY = v12>fY; // Calculate and check our coordinates if(!bAbsolut) { if(v12>fX < MAX_X && v12>fX > MIN_X) { // Check if the X axis is smaller than 1, but still positive if(v12>fY < MAX_Y && v12>fY > MIN_Y) // Check if the Y Acis is smaller than 1, but still positive { goto out; // Let GTA calc the position on itself } else { if(v12>fY > MAX_Y) // Check if the Y Axis is bigger than 1 (set it 0.05 so it's not cutted of) v12>fY = MAX_Y; if(v12>fY < MIN_Y) // Check if the Y Axis is smaller than 0 (set it +0.05 so it's not cutted of) v12>fY = MIN_Y; } goto out; } else { if(v12>fX > MAX_X) v12>fX = MAX_X; // Check if the X Axis is bigger than 1 (set it 0.05 so it's not cutted of) if(v12>fX < MIN_X) v12>fX = MIN_X; // Check if the X Axis is smaller than 0 (set it +0.05 so it's not cutted of) } if(v12>fY < MAX_Y && v12>fY > MIN_Y) { // Check if the Y Acis is smaller than 1, but still positive if(v12>fX < MAX_X && v12>fX > MIN_X)// Check if the X axis is smaller than 1, but still positive { goto out; } else { if(v12>fX > MAX_X) // Check if the X Axis is bigger than 1 (set it 0.05 so it's not cutted of) v12>fX = MAX_X; if(v12>fX < 0) // Check if the X Axis is smaller than 0 (set it +0.05 so it's not cutted of) v12>fX = MIN_X; } goto out; } else { if(v12>fY > MAX_Y) // Check if the Y Axis is bigger than 1 (set it 0.05 so it's not cutted of) v12>fY = MAX_Y; if(v12>fY < MIN_Y) // Check if the Y Axis is smaller than 0 (set it +0.05 so it's not cutted of) v12>fY = MIN_Y; } goto out; }out: _asm mov esp, ebp; _asm pop ebp; _asm retn;}DWORD ResizeMapJmpBack;int a1, a2, a3;_declspec(naked) signed int ResizeMap(){ _asm push eax; _asm mov eax, [ebp+4]; _asm mov a1, eax; _asm mov eax, [ebp+8]; _asm mov a2, eax; _asm mov eax, [ebp+0Ch]; _asm mov a3, eax; _asm pushad; ResizeMapJmpBack = (g_pCore>GetBase() + 0x8364D7); _asm popad; _asm pop eax; _asm jmp ResizeMapJmpBack; }DWORD sub_849BC0;_declspec(naked) void RenderMap(){ sub_849BC0 = (g_pCore>GetBase() + 0x849BC0); _asm call sub_849BC0; _asm add esp, 4; _asm pushad; g_pCore>GetGame()>SetRadarVisible(true); _asm popad; _asm retn;}// Other section// Change calc from circle to square(blips)*(BYTE*)(g_pCore->GetBase() + 0x8385E7 + 0x6) = 0x1;PatchAddress(false, g_pCore->GetBase() + 0x8386AB, (DWORD)Keks); // E9// Enable square map(instead of circle map)PatchAddress(false, g_pCore->GetBase() + 0xA22C53, g_pCore->GetBase() + 0xA22EF3); // E9// Enable big radar*(BYTE *)(g_pCore->GetBase() + 0x08364D0 + 0x6) = 0x1;// Hook resize map functionPatchAddress(false, (g_pCore->GetBase() + 0x8364D0), (DWORD)ResizeMap); // E9*(WORD *)(g_pCore->GetBase() + 0x8364D0 + 0x5) = 0x9090;// Make blip small*(BYTE *)(g_pCore->GetBase() + 0x4B516F + 0x6) = 0x1; // cmp VAR_DEVMODE, 1*(BYTE *)(g_pCore->GetBase() + 0x4B516F + 0x6) = 0x1; // cmp VAR_DEVMODE, 1// Hook render map functionPatchAddress(true,(g_pCore->GetBase() + 0xA22E71), (DWORD)RenderMap); // E8// Example for call and jump:/*void PatchAddress(bool bJmp, DWORD dwAddress, DWORD dwNewAddress){ if(bJmp) *(BYTE *)(dwAddress) = 0xE9; // jmp else *(BYTE *)(dwAddress) = 0xE8; // call *(DWORD *)(dwAddress + 0x1) = (DWORD)dwNewAddress;} Preview: Edited September 6, 2013 by FRiChicken polivin emil, ValkryeX, Wheatley and 1 other 4 Link to comment Share on other sites More sharing options...
AXLiberty Posted September 9, 2013 Share Posted September 9, 2013 FRiChicken, good job! Link to comment Share on other sites More sharing options...
nixolas1 Posted September 10, 2013 Share Posted September 10, 2013 Very nice stuff, FRiChicken and Xforce! Looking forward to updates on this. Will you make it opensource when finished? Link to comment Share on other sites More sharing options...
T Trick Posted October 15, 2013 Share Posted October 15, 2013 AWESOME JOB SO FAR!! .. What are you waiting for releasing ?? .. Release what you've come up with so far as a beta version .. I can't wait to install this Link to comment Share on other sites More sharing options...
buzzbass Posted October 29, 2013 Share Posted October 29, 2013 (edited) Nice job guys, just need to make it semi-transparent and is almost perfect (the 3D style map I guess is not possible with IV right?) Edited October 29, 2013 by buzzbass Link to comment Share on other sites More sharing options...
exjamil098 Posted December 18, 2013 Share Posted December 18, 2013 Hey, so the current work from XForce and me we're still working on this due the problem that it's hard to convert the blips viewport positions from circle to square .... View it in action: http://www.youtube.com/watch?v=cmJyBQRGuf8&feature=youtu.be Code(if you want to use it, just rebuild some parts(like Math::Clamp, you'll find a funtion example via google ): Pastebin: http://pastebin.com/a625kTDS void RenderUIElements(){ // Render Images float fX, fY, sX, sY; CIVScript_NativeInvoke::Invoke<unsigned int>(CIVScript::NATIVE_GET_VIEWPORT_POS_AND_SIZE, 3, &fX, &fY, &sX, &sY); D3DVIEWPORT9 viewport; g_pCore>GetGraphics()>GetDevice()>GetViewport(&viewport); g_pCore>GetGraphics()>GetSprite()>Begin(0); D3DXVECTOR2 spriteCentre = D3DXVECTOR2(0, 0); D3DXVECTOR2 trans= D3DXVECTOR2(viewport.Width * fX 6.5, viewport.Height * fY 6.5); D3DXMATRIX mat; D3DXVECTOR2 scaling2((viewport.Width * sX) / 990, (viewport.Height*sY) / 460); float rotation=0.0f; D3DXMatrixTransformation2D(&mat,NULL,0.0,&scaling2,&spriteCentre,rotation,&trans); g_pCore>GetGraphics()>GetSprite()>SetTransform(&mat); g_pCore>GetGraphics()>GetSprite()>Draw(g_pCore>GetGraphics()>m_pRadarOverlayTexture,NULL, NULL,&D3DXVECTOR3(0.0f, 0.0f, 0.0f), D3DCOLOR_ARGB(255,255,255,255)); // Draw health bar float fxPos = viewport.Width * fX 6.5; float fyPos = viewport.Height * fY 6.5; float fWidth = viewport.Width/12.4; float fHeight = viewport.Height/50; D3DXVECTOR2 scaling3((viewport.Width * sX) / 1000, (viewport.Height*sY) / 460); CVector3 vecScreen = CVector3(trans.x, (trans.y+scaling3.y), 0.0f); vecScreen.fY += (viewport.Height/10)*2; if(m_pLocalPlayer && m_pLocalPlayer>IsSpawned()) { g_pCore>GetGraphics()>DrawBox(((vecScreen.fX + 6)), (vecScreen.fY + 18), (fWidth 4), (fHeight 4), D3DCOLOR_ARGB(120, 125, 157, 120) ); g_pCore>GetGraphics()>DrawBox(((vecScreen.fX + 6)), (vecScreen.fY + 18), (((Math::Clamp( 0.0f, m_pLocalPlayer>GetHealth(), 720.0f ) * 100.0f) / 720.0f) / 100 * (fWidth 4)), (fHeight 4), D3DCOLOR_ARGB(255, 125, 157, 120) ); vecScreen.fX += fWidth; g_pCore>GetGraphics()>DrawBox(((vecScreen.fX + 6)), (vecScreen.fY + 18), (fWidth 4), (fHeight 4), D3DCOLOR_ARGB(210, 0, 79, 96) ); g_pCore>GetGraphics()>DrawBox(((vecScreen.fX + 6)), (vecScreen.fY + 18), (((Math::Clamp( 0.0f, m_pLocalPlayer>GetHealth(), 720.0f ) * 100.0f) / 720.0f) / 100 * (fWidth 4)), (fHeight 4), D3DCOLOR_ARGB(255, 0, 79, 96) ); g_pCore>GetGraphics()>GetSprite()>Flush(); g_pCore>GetGraphics()>GetSprite()>End();}Vector2 * v12;Vector2 * pViewportSize = new Vector2();float center;int bAbsolut;#define MIN_X 0.025f#define MAX_X 0.975f#define MIN_Y 0.025f#define MAX_Y 0.975f#define ZERO 0.0ffloat fOriginalX;float fOriginalY;void _declspec(naked) Keks(){ _asm mov v12, edx; _asm push eax; get absolute flag _asm mov eax, [ebp+14h] ; 3th parameter _asm mov bAbsolut, eax; _asm pop eax; fOriginalX = v12>fX; fOriginalY = v12>fY; // Calculate and check our coordinates if(!bAbsolut) { if(v12>fX < MAX_X && v12>fX > MIN_X) { // Check if the X axis is smaller than 1, but still positive if(v12>fY < MAX_Y && v12>fY > MIN_Y) // Check if the Y Acis is smaller than 1, but still positive { goto out; // Let GTA calc the position on itself } else { if(v12>fY > MAX_Y) // Check if the Y Axis is bigger than 1 (set it 0.05 so it's not cutted of) v12>fY = MAX_Y; if(v12>fY < MIN_Y) // Check if the Y Axis is smaller than 0 (set it +0.05 so it's not cutted of) v12>fY = MIN_Y; } goto out; } else { if(v12>fX > MAX_X) v12>fX = MAX_X; // Check if the X Axis is bigger than 1 (set it 0.05 so it's not cutted of) if(v12>fX < MIN_X) v12>fX = MIN_X; // Check if the X Axis is smaller than 0 (set it +0.05 so it's not cutted of) } if(v12>fY < MAX_Y && v12>fY > MIN_Y) { // Check if the Y Acis is smaller than 1, but still positive if(v12>fX < MAX_X && v12>fX > MIN_X)// Check if the X axis is smaller than 1, but still positive { goto out; } else { if(v12>fX > MAX_X) // Check if the X Axis is bigger than 1 (set it 0.05 so it's not cutted of) v12>fX = MAX_X; if(v12>fX < 0) // Check if the X Axis is smaller than 0 (set it +0.05 so it's not cutted of) v12>fX = MIN_X; } goto out; } else { if(v12>fY > MAX_Y) // Check if the Y Axis is bigger than 1 (set it 0.05 so it's not cutted of) v12>fY = MAX_Y; if(v12>fY < MIN_Y) // Check if the Y Axis is smaller than 0 (set it +0.05 so it's not cutted of) v12>fY = MIN_Y; } goto out; }out: _asm mov esp, ebp; _asm pop ebp; _asm retn;}DWORD ResizeMapJmpBack;int a1, a2, a3;_declspec(naked) signed int ResizeMap(){ _asm push eax; _asm mov eax, [ebp+4]; _asm mov a1, eax; _asm mov eax, [ebp+8]; _asm mov a2, eax; _asm mov eax, [ebp+0Ch]; _asm mov a3, eax; _asm pushad; ResizeMapJmpBack = (g_pCore>GetBase() + 0x8364D7); _asm popad; _asm pop eax; _asm jmp ResizeMapJmpBack; }DWORD sub_849BC0;_declspec(naked) void RenderMap(){ sub_849BC0 = (g_pCore>GetBase() + 0x849BC0); _asm call sub_849BC0; _asm add esp, 4; _asm pushad; g_pCore>GetGame()>SetRadarVisible(true); _asm popad; _asm retn;}// Other section// Change calc from circle to square(blips)*(BYTE*)(g_pCore->GetBase() + 0x8385E7 + 0x6) = 0x1;PatchAddress(false, g_pCore->GetBase() + 0x8386AB, (DWORD)Keks); // E9// Enable square map(instead of circle map)PatchAddress(false, g_pCore->GetBase() + 0xA22C53, g_pCore->GetBase() + 0xA22EF3); // E9// Enable big radar*(BYTE *)(g_pCore->GetBase() + 0x08364D0 + 0x6) = 0x1;// Hook resize map functionPatchAddress(false, (g_pCore->GetBase() + 0x8364D0), (DWORD)ResizeMap); // E9*(WORD *)(g_pCore->GetBase() + 0x8364D0 + 0x5) = 0x9090;// Make blip small*(BYTE *)(g_pCore->GetBase() + 0x4B516F + 0x6) = 0x1; // cmp VAR_DEVMODE, 1*(BYTE *)(g_pCore->GetBase() + 0x4B516F + 0x6) = 0x1; // cmp VAR_DEVMODE, 1// Hook render map functionPatchAddress(true,(g_pCore->GetBase() + 0xA22E71), (DWORD)RenderMap); // E8// Example for call and jump:/*void PatchAddress(bool bJmp, DWORD dwAddress, DWORD dwNewAddress){ if(bJmp) *(BYTE *)(dwAddress) = 0xE9; // jmp else *(BYTE *)(dwAddress) = 0xE8; // call *(DWORD *)(dwAddress + 0x1) = (DWORD)dwNewAddress;} Preview: please realese a beta version!!!!! i need to test because i dont know how to use the code!!! Link to comment Share on other sites More sharing options...
UsernamesWhoNeedsEm Posted December 31, 2013 Share Posted December 31, 2013 (edited) please realese a beta version!!!!! i need to test because i dont know how to use the code!!! Seriously you had to copy all of that? Also if you'd look more into it's going to be released january 6th, if you cannot wait that long over a minimap then good god man. Edited December 31, 2013 by UsernamesWhoNeedsEm Link to comment Share on other sites More sharing options...
ValkryeX Posted January 1, 2014 Share Posted January 1, 2014 please realese a beta version!!!!! i need to test because i dont know how to use the code!!! Seriously you had to copy all of that? Also if you'd look more into it's going to be released january 6th, if you cannot wait that long over a minimap then good god man. Where is it written that it will release on 6th jan...if you are correct then thanks bro! I have worked with C++ a bit, But this seems like C#...What to do with it?? Link to comment Share on other sites More sharing options...
ValkryeX Posted January 1, 2014 Share Posted January 1, 2014 we're still working on this due the problem that it's hard to convert the blips viewport positions from circle to square This Guy Here Converted The Blips to GTA V Style, Maybe he Could Help you?? Link to comment Share on other sites More sharing options...
exjamil098 Posted January 4, 2014 Share Posted January 4, 2014 please realese a beta version!!!!! i need to test because i dont know how to use the code!!! Seriously you had to copy all of that? Also if you'd look more into it's going to be released january 6th, if you cannot wait that long over a minimap then good god man. Where is it written that it will release on 6th jan...if you are correct then thanks bro! I have worked with C++ a bit, But this seems like C#...What to do with it?? can you please release this mod cause this guy just made the blips!!!! Link to comment Share on other sites More sharing options...
DGamer01 Posted January 9, 2014 Share Posted January 9, 2014 Yes its the normal map squared everything works fine!!! man u said this will be out till 6th jan and it is 10th jan and still the mod is not out.I wanted to ask how much more time will u take to release this mod for gta 4,martin.k replied to me on the youtube that the mod is completed and still der is no download link in description of the video. Link to comment Share on other sites More sharing options...
InfamousSabre Posted January 10, 2014 Share Posted January 10, 2014 It will be out when its out ... If I were him, I'd delay the release every time someone asks about it. Seriously its like people think its their god-given right to have everything asap... (And for free, even.) Link to comment Share on other sites More sharing options...
exjamil098 Posted January 12, 2014 Share Posted January 12, 2014 nice progress!!! hope you will release it very soon Link to comment Share on other sites More sharing options...
Michael Wojtanis Posted January 21, 2014 Share Posted January 21, 2014 Author - i will get this code and try to finish it. If You allow me that, then i will pleace Your nickname in script name in console game. Link to comment Share on other sites More sharing options...
Sharing (Golak Mods) Posted January 25, 2014 Share Posted January 25, 2014 Hi guys, I'm making this mod for IV but there is some problems with it and I'm asking for some help around here, I'm making this mod with Visual C++ 2010 Link to comment Share on other sites More sharing options...
nikita488 Posted January 25, 2014 Share Posted January 25, 2014 Hi guys, I'm making this mod for IV but there is some problems with it and I'm asking for some help around here, I'm making this mod with Visual C++ 2010 Show screenshots please! Link to comment Share on other sites More sharing options...
XForceP Posted January 25, 2014 Share Posted January 25, 2014 if you call Patch() in DllMain and load that DLL in GTA you have a Squared map. Here the code: http://pastebin.com/TzudBfAk Link to comment Share on other sites More sharing options...
Sharing (Golak Mods) Posted January 26, 2014 Share Posted January 26, 2014 Hi guys, I'm making this mod for IV but there is some problems with it and I'm asking for some help around here, I'm making this mod with Visual C++ 2010 Show screenshots please! I'm still scripting it, you should wait for me to finish it and then I will show you the screenshots if you call Patch() in DllMain and load that DLL in GTA you have a Squared map. Here the code: http://pastebin.com/TzudBfAk Thank you so much for your code but can you show how to call Patch() in Dllmain ? Link to comment Share on other sites More sharing options...
Sharing (Golak Mods) Posted January 27, 2014 Share Posted January 27, 2014 It's finished, I finished Gta V Minimap with help from XforceP and soon It will be uploaded here. Link to comment Share on other sites More sharing options...
ReEvolution Posted January 28, 2014 Share Posted January 28, 2014 I've been following this since it was made. I registered here just because of you. I want to thank you in name of all the PC Gamers who cannot play GTA V because it is not released yet (soon, I hope). Hope the release goes without any trouble, I'll be here expecting it. Link to comment Share on other sites More sharing options...
LiveApk25 Posted January 28, 2014 Share Posted January 28, 2014 It's finished, I finished Gta V Minimap with help from XforceP and soon It will be uploaded here. Please Release it soon .Not Rockstar's 'soon'. Waiting for it. Link to comment Share on other sites More sharing options...
Sharing (Golak Mods) Posted January 28, 2014 Share Posted January 28, 2014 Here is the beta picture of this mod: It will be in public as soon as it finish. P.S: If someone knows how to draw objects like health and ammo bar send me a massage. D T and EdyTheViper 2 Link to comment Share on other sites More sharing options...
LordOfTheBongs Posted January 28, 2014 Share Posted January 28, 2014 Nice job! Link to comment Share on other sites More sharing options...
Sharing (Golak Mods) Posted January 31, 2014 Share Posted January 31, 2014 Almost done...Just a few bugs need fix here is some pictures: Link to comment Share on other sites More sharing options...
gta4police Posted January 31, 2014 Share Posted January 31, 2014 Holy COW!!! it looks great!!!! damn, madafakas! When is the expected release date??!!! Link to comment Share on other sites More sharing options...
gtaswat58 Posted January 31, 2014 Share Posted January 31, 2014 nice! are you releasing it today? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now