AlexKimov Posted July 16, 2016 Share Posted July 16, 2016 (edited) Glossary mn - magic numberDATETIME - date and time 4 bytesUINT - integer 4 bytesUINT16 - 2 bytesBYTE - 1 byteFLOAT - real number 4 byteschar - chars array Sections1. MAP Header (file id)2. MaterialList section3. GeometryList section4. PortalList section5. OccluderList section6. LightList section7. VFogList section8. ObjectList section9. RoomList section10. TransitionLineList section11. PlanningLevelList section File structure1. File Header1.1 MAP Header (file id)HEX "0D 00 00 42 65 67 69 6E 4D 61 70 76 2E 30" | TEXT "....BeginMapv4.0"UINT chars_countchar BeginMapv4.0_string1.2 MAP file datesDATETIME File_create_timeSection size - 21 bytes1.2 MaterialList section2.1 Section header UINT SectionSize UINT MN UINT chars_count char Version_string UINT version_number UINT chars_count char MaterialList_string 2.2 MaterialsUINT Materials_count//--Array of materials-- UINT SectionSize UINT MN UINT chars_count char Version_string UINT version_number UINT chars_count char MaterialName_string FLOAT Opacity FLOAT Faceted FLOAT Red FLOAT Green FLOAT Blue FLOAT mn FLOAT Red FLOAT Green FLOAT Blue FLOAT mn FLOAT Red FLOAT Green FLOAT Blue FLOAT mn FLOAT SpecularLevel BYTE 2Sided2.3 TexturesUINT Textures_count//--Array of textures-- UINT SectionSize UINT MN UINT chars_count char Version_string UINT version_number UINT chars_count char TextureName_string BYTE mn UINT chars_count char TextureFileName_string UINT AdvTransparencyType UINT Tiled FLOAT SelfIllumination 3. GeometryList section UINT SectionSize UINT MN UINT chars_count char Version_string UINT version_number UINT chars_count char GeometryList_string UINT RoomsCount; //--Array of rooms-- UINT SectionSize; UINT mn; UINT chars_count char version_string UINT number UINT StringLength char name_string UINT SectionSize; UINT mn; UINT chars_count char version_String UINT number UINT StringLength char room_name_string BYTE chars_count BYTE ModelName UINT Verticie_Count; //--Array of Vertice-- if Verticies_Count not 0 FLOAT X FLOAT Y FLOAT Z UINT Room_Object_Count if RoomObjectCount not 0 BYTE mn BYTE isUseDetailedDarkmap; BYTE DetailTexture UINT MaterialIndex UINT Textured if isTextured not 0 UINT TextureIndex UINT DetailTextureIndex UINT MN; UINT SelfIlluminationMap UINT SpecularMap UINT BumpMap UINT ReflectionMap UINT MapCount UINT FacesCount; //-- Array of face normals -- FLOAT X; FLOAT Y; FLOAT Z; FLOAT mn; //-- Array of FaceIndicies UINT16 P1 UINT16 P2 UINT16 P3 //-- Array of TextureIndicies UINT16 P1 UINT16 P2 UINT16 P3 UINT TextureVerticiesCount UINT TexturesCount //-- Array of Normals FLOAT X FLOAT Y FLOAT Z //-- Array of TextureCoordinates FLOAT U FLOAT V //-- Array of something FLOAT X FLOAT Y FLOAT Z FLOAT W ..... 4. PortalList section UINT SectionSize; UINT mn UINT chars_count char version_String UINT number UINT chars_count char PortalList_String UINT Count //-- Array of portals -- UINT SectionSize; UINT mn UINT chars_count char version_String UINT number UINT StringLength char room_name_string BYTE chars_count BYTE portalName UINT Vertices_Count // -- Array of Vertices FLOAT x FLOAT y FLOAT z UINT Room_Number UINT Oposite_Room_Number BYTE mn5. OccluderList sectionUINT SectionSize; UINT mn UINT chars_count char version_String UINT number UINT StringLength char OccluderList_string ... Edited July 19, 2016 by AlexKimov 1 Quote Link to comment Share on other sites More sharing options...
RussiaGhost Posted November 10, 2016 Share Posted November 10, 2016 What does this all will? 1 Quote Link to comment Share on other sites More sharing options...
ApexMods Posted November 10, 2016 Share Posted November 10, 2016 Wow! To my shame I have to admit that I had completely overlooked AlexKimov's posts until now. This may require further confirmation, but it looks like this friendly fellow has performed a comprehensive analysis to decipher MAP, QOB, and RSB internal file structures and was nice enough to share his findings with us all. This information essentially opens up ways to reverse-engineer the file formats in question and make many of their integral properties easily editable, either manually via hex editing, or through newly created utilities that could be derived from this data! So, off to the drawing boards we go... Thank you, RussiaGhost, for bringing this to my attention, and thank you very much, AlexKimov, for this impressive work! 3 Quote Link to comment Share on other sites More sharing options...
Zeealex Posted November 11, 2016 Share Posted November 11, 2016 4096px RSB's confirmed? Quote Link to comment Share on other sites More sharing options...
RussiaGhost Posted November 15, 2016 Share Posted November 15, 2016 If it has helped to create an exporter of game formats back into 3d max prices would then nebylo these codes. Maybe it is useful to who knows how to program the utility.If developers have given us all the full code of the game to be able to add new scripts to change the AI to add new animations, and so it would be very cool. Or at least plugins but 1 Quote Link to comment Share on other sites More sharing options...
ApexMods Posted November 15, 2016 Share Posted November 15, 2016 Of course, source code access would be best. Quote Link to comment Share on other sites More sharing options...
RussiaGhost Posted November 16, 2016 Share Posted November 16, 2016 Most likely they have already destroyed it after the close of the project.In beauty there is not enough water volumetric how many games.The rest can be done in 3D Max. 1 Quote Link to comment Share on other sites More sharing options...
AlexKimov Posted December 10, 2016 Author Share Posted December 10, 2016 (edited) I 'm working on QOB/MAP import plugin for Blender. Maybe i'll finish it sometime. Quote ... source code access ... This game needs fans. Real ones. ) Edited December 11, 2016 by AlexKimov 1 Quote Link to comment Share on other sites More sharing options...
Zeealex Posted December 10, 2016 Share Posted December 10, 2016 (edited) *perks up* can the same importer code be applied to modern versions of max maybe? i'd love you forever Edited December 10, 2016 by Zeealex 1 Quote Link to comment Share on other sites More sharing options...
pz3 Posted December 11, 2016 Share Posted December 11, 2016 (edited) The issue with modifying the exporter and gr.exe/.dlls is technically its in violation of EULA and you could never release it. Officially. The source code as far as im aware (I didnt do it.) is accessible. has been since the games launch. The plugin for max needs some minor updates. Rsb plugin for photoshop requires 32bit photoshop. Since I updated to the cloud Ive been only getting 64bit and forced to use the rsb converter which I hate. On a more serious note! Having access to the source code potentially allows asset modders to attach unseen and unknown code to their models. If this is the case and the source code has it... Flashbangs and smoke may be possible. Edited December 11, 2016 by pz3 1 Quote Link to comment Share on other sites More sharing options...
ApexMods Posted December 11, 2016 Share Posted December 11, 2016 AFAIK, reverse-engineering a file format to create a new import/export utility doesn't break the EULA. It's exactly what Mike Shell and others have done since the Stone Age with all converters, exporters and other tools etc. Seriously, if Ubisoft dared interfering now, after 15 years of completely neglecting the fan base, I'd say it's time to nuke them from orbit for good. Where on earth is the GR and IGOR source code available?!? First thing I'd do is lift the compiler ceiling above 64kb to allow for some serious scripting! Quote Link to comment Share on other sites More sharing options...
Zeealex Posted December 11, 2016 Share Posted December 11, 2016 if i'd had access to the source code, I'd be asking my homies how to code a DX11 shader for it XD 1 Quote Link to comment Share on other sites More sharing options...
AlexKimov Posted December 11, 2016 Author Share Posted December 11, 2016 (edited) ... Edited January 29, 2018 by AlexKimov 1 Quote Link to comment Share on other sites More sharing options...
RussiaGhost Posted December 11, 2016 Share Posted December 11, 2016 Ubisoft does not give us the source code of the game.And so I would like to be able to add redaktiryvaniya and AI scripts and plans in the editor. 1 Quote Link to comment Share on other sites More sharing options...
pz3 Posted December 12, 2016 Share Posted December 12, 2016 Readily avilable no. Decompiled though Im pretty sure it was done. Quote Link to comment Share on other sites More sharing options...
AlexKimov Posted December 24, 2016 Author Share Posted December 24, 2016 On 11.12.2016 at 00:27, Zeealex said: *perks up* can the same importer code be applied to modern versions of max maybe? i'd love you forever Pob import progress. Still a lot of work to do. 2 Quote Link to comment Share on other sites More sharing options...
Zeealex Posted December 24, 2016 Share Posted December 24, 2016 Quote Link to comment Share on other sites More sharing options...
jmscreator Posted January 29, 2018 Share Posted January 29, 2018 I'm very glad to have seen this post. Don't get your hopes up too high just yet, but it looks like there will be an importer and an exporter for ghost recon maps in Blender! I will keep the community posted with any updates on this new design. 2 Quote Link to comment Share on other sites More sharing options...
ApexMods Posted April 4, 2018 Share Posted April 4, 2018 Any updates on this? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.