bxbx 0 Posted June 10, 2007 here is a little example of my ODOL v40 decoding. M16A4 I am not able to decode full file but by handly seeking in file a can find all lods, when i succes and decode it fully, I release a GB with this feature. About M16A4: LODs 200 and 250 are renamed from 1.0e4 and 1.001e4 values (in ARMA are new 4 named LODs (like in OFP memory, geometry,...)) I dont know purpose of this new named LODs now. enjoy it. Share this post Link to post Share on other sites
Sled88 0 Posted June 10, 2007 You gonna tell me that you encoded a M16A4 rifle from Arma??? LOL F*ck dude I just checked it... I am off now for some weeks cya!!!! :D:D BIS we are coming! EDIT: Awwwwww.. I love ya mate... Share this post Link to post Share on other sites
sickboy 13 Posted June 10, 2007 Here's some other examples http://www.6thsense.eu/vbulletin/showthread.php?t=2655&page=2 WIPS as there must be more exported etc http://img300.imageshack.us/img300/690/armavd9.jpg http://img507.imageshack.us/img507/739/armaqs3.jpg http://img511.imageshack.us/img511/5092/armaqj6.jpg With new sights.. Share this post Link to post Share on other sites
MehMan 0 Posted June 10, 2007 here is a little example of my ODOL v40 decoding.M16A4 I am not able to decode full file but by handly seeking in file a can find all lods, when i succes and decode it fully, I release a GB with this feature. About M16A4: LODs 200 and 250 are renamed from 1.0e4 and 1.001e4 values (in ARMA are new 4 named LODs (like in OFP memory, geometry,...)) I dont know purpose of this new named LODs now. enjoy it. So far the 10000 LOD acts as a shadow lod. Share this post Link to post Share on other sites
Panda-PL- 0 Posted June 10, 2007 Here's some other examples http://www.6thsense.eu/vbulletin/showthread.php?t=2655&page=2 WIPS as there must be more exported etc http://img300.imageshack.us/img300/690/armavd9.jpg http://img507.imageshack.us/img507/739/armaqs3.jpg http://img511.imageshack.us/img511/5092/armaqj6.jpg With new sights.. Mine. And I did it yesterday . But I must say I used a more crude method of capturing textures and meshes directly from DX cache... Or something like that. -_-; Now this... this is making everyone's lifes easier. Your method is much simplier and if I got it right you can export a model together with all selections, lods etc. Big woot foryou man. Â I am expecting reworks of BiS soldiers to arrive soon now . Share this post Link to post Share on other sites
Commando84 0 Posted June 10, 2007 sweet news for all hardcore modders! Share this post Link to post Share on other sites
Lockheed Martin-ch 0 Posted June 11, 2007 VERY NICE Very nice indeed!! Is there any chance to get the civil Ural as MLOD? Would like to edit it a little bit Share this post Link to post Share on other sites
CameronMcDonald 146 Posted June 11, 2007 Looks good! Erm... so, how do I decode any other model? Share this post Link to post Share on other sites
Snake Man 407 Posted June 11, 2007 here is a little example of my ODOL v40 decoding.I am not able to decode full file but by handly seeking in file a can find all lods Can you please share the file format with us, I would like to update WrpTool to align ArmA ODOL models properly to the ground? Share this post Link to post Share on other sites
nephilim 0 Posted June 11, 2007 hope this doesnt end like p3dedit.. Share this post Link to post Share on other sites
AfrographX 0 Posted June 11, 2007 Could someone do me a big favor and decode (if possible) the minigun from the UH60? You would save me a lot of time, doing one myself. Share this post Link to post Share on other sites
CameronMcDonald 146 Posted June 11, 2007 Heh, I'd like to see where you're sticking that, Afro. Share this post Link to post Share on other sites
Skaven 0 Posted June 11, 2007 This tool would be nice to have a better idea on how BIS did their work, is it possible to show us a first and second view of any hand gun? I'd like to check if they modeled the hand guns bigger in 1st person view. Thank you for you work Share this post Link to post Share on other sites
wipman 1 Posted June 11, 2007 Hi, hey Bxbx, if you extract the MLOD of the M4 Aimpoint, we could make a M16A4 Aimpoint that is really needed; if you do it... i'll marry you. Thanks for your time and effort, we apreciate this. Let's C ya Share this post Link to post Share on other sites
nephilim 0 Posted June 11, 2007 didnt he release the m16a4 as a mlod on the first page? @cameron ah ok didnt know there wasnt an m16a4 with an aimpoint Share this post Link to post Share on other sites
CameronMcDonald 146 Posted June 11, 2007 Yeah, but Wip needs the aimpoint as well. The M16A4 released has irons only. Share this post Link to post Share on other sites
DarkGiver 0 Posted June 13, 2007 Very impressive... Congratulation bxbx i hope you will be able to soon provide a working tool for the community I can't wait to be able to convert the character Share this post Link to post Share on other sites
Col. Faulkner 0 Posted June 14, 2007 Are you going to provide instructions on how to extract the models? Please? It'd be instructional for many of us just to see how the BIS models are constructed. Share this post Link to post Share on other sites
Synide 0 Posted June 14, 2007 very cool... hopefully once you're finished with your GB upgrade you'll have time to do a struct? btw... your 3rd LOD is the first offset in your file. the MLOD's I look at seem to have the LOD order in O2 replicated in the file offset... PS. beautiful work... actually, i'm wrong... had the struct offset wrong when viewing the p3d in my hex editor, lol... great job. like the others, we'd appreciate your producing a document detailing the format. now all thats needed is the anims... Share this post Link to post Share on other sites
bxbx 0 Posted June 14, 2007 blocks in odol v4 are quite similar to odol v7 but placed in back direction , (first is relolution table, LOD are placed from last to first ),there is same LZ compresion as ODOL v7 known data: char signature[4] //'ODOL' int format // 40 int lod_count float resolutions[lod_count] { int u1; float u2,u3,u4 } // unknow data, same data follows on end of ODOL v7 char u5[139] // unknow data , still same length char *sceletonname // float zeroendded char array if (char[0]!=0) { bool8 u6 // 8bit boolean // value 1 or 0 int bone_count struct bones[bone_count] { char * bone1,bone2 //strings } } char u7[0x26] // unknow data char *modelclass, *modelparent // I think of purpose this data found values 'house''no' or 'house''building',.... char u8[5] // unknowd data bool8 exist_anims if (exist_anims) { int anims_count struct anims[anims_count] { int type // 0,4,9 // rotation,move,.., i dont check it yet char *name,*parent float tr[6]// transformations values if (type!=9) int u9 } } unknowdata[unknowlength] // handle seek lod { int vertices count bool8 ub1 if (ub1) char uch[11] // unknow data cha uch[0x29] // unknow data int textures_count char * texture[textures_count] int materials_count struct materials[materials_count] { char * name char uch[0x85] // unknowdata // some float values int textres_count struct textures_in_material[textres_count] { int u10 // value 3 still char* t_name int u11 // self increment value // 0,1,2,3,4,... } char uch[0x34*textres_count] // some struct with same length as textures_in_material // I dont work with material now, I skip it. } if ( textures_count>0 ) char uch[7]; bool8 ub // unknown value int faces_count char u12[6] struct faces[6] { char dot_count unsigned short dot_vertice_index[dot_count] } unknowdata[ubknowlength] int components_count struct components[components_count] { char *name; int selected_faces_count unsign short selected_faces[selected_faces_count] // if selected_faces_count > 0x100 then compresed by LZ int u14; unsign short u15[u14] bool8 ub if (ub) int u16 char uch[3] bool8 ub2 int selected_vertices_count unsign short selected_vertices[selected_vertices_count] // if selected_vertices_count > 0x100 then compresed by LZ int u17 char uch[u17]; } int named_properties_count struct named_properties[named_properties_count] { char * name,*value } unknowdata[mostly 0x15 , but not every time] int vertices_count // again same value bool8 ub if (ub) { struct UV[vertices_count] {float u,v} if count > 127 then LZ } else char uch[8] int u[18] int vertices_count struct vertices_pos[verices_count]{float x,y,z} follows normals and the other data ,but this is in progress I cannot find face.texture_index informations, in M16A4 are only 2 textures and I texture it handly by original UVsets. } I you make some progress in ODOL decoding please inform my back. Share this post Link to post Share on other sites
mr.Flea 0 Posted June 15, 2007 bxbx   my tool for manual decode some ftp://www.armedassault.info/_hosted/rau/flea/deparse.rar for example start programm open file `sara.wrp` write to Bytes read - 4194304 (2048*2048) offset bytes - 1163387 Out data size - 4194304 (2048*2048) out file - c:\dump.raw press `Dump It...` And Open c:\dump.raw in photoshop as Width 2048 Height 2048, 1 chanel 1 byte and you will see Sahrani AS IS Share this post Link to post Share on other sites