Zombie: Empirical data's your only man, when formulating a research plan.A soldier's death is never in vain if it makes the formula more plain.A few dozen make a better case for refining that third decimal place.They call me Zombie because I don't sleep, as I slowly struggle to climb this heap,of corpses, data points, and trials, but from the top - I'll see for miles!

thanks zombie!
im working on some more projects, hopefully i'll have time to learn more and finish them, when i will, i'll have enough knowledge to edit all the other stuff...
right now im missing how to read 2 bytes as one integer... noob me

You can easily convert two bytes into a short integer no trouble. The trick to remember is that binary files store their data in little endien format. Or rather, data is stored backwards. If we had an integer with the value 3000, its value in hexadecimal will be 0x0BB8. Since each pair of hexadecimal numbers equate to a single byte, our two bytes will be 0x0B and 0xB8 respectively. The first we call the high end byte, while the second is the low end byte.

The computer however stores it in reverse as 0xB8 and then 0x0B with the low end byte first then the high end byte. To manually convert these two bytes back into its original value, use this formula:

C++ eh? I just figured out how to load tables from a binary file recently myself (the soldier.dat file in particular). That involved reading an entire class worth of records in at a time. Perhaps something similar might be useful in your case?

i still dunno what tables means XDif you will explain it i might know if i need it :Ooh and so far it seems i got all the "tools" i need to edit everything , right now im working on weapon editor, its funny cause everything is text, so far it reads almost everything, later ill add editing

What I meant by table was a table of information. Basically an array (or linked list, STL container, whatever you are using) of classes/structs that contain all the information for each item entry in a file. Like the internal name, stats, etc of each item in obdata.dat. You can visualize the data as though it's stored in a spreadsheet.

Files like obdata.dat store all their information in a tabular form anyway, so you can easily grab whole rows of data at a time and put them into an array/linked list/STL container/etc. It would be certainly be faster than grabbing individual bytes and recombining them.