Jump to content

FOMM Hex Values Reversed, anyone else noticed?


Phoynix

Recommended Posts

I dont know if its FOMM or actually the files themselves but HEX values that LINK to ID's such as a Weapon Hex value linking to a Projectile or Stat value is infact actually REVERSED

 

If say the ID hex value for a projectile file is 01 02 03 04

You actually need to look for the projectile ID in the specific weapons table Dnam of 04 03 02 01

 

Since I found this out ive been making quite the headway in editing.

 

I dont know if this is actually general knowledge im just not aware of.

 

Incase it isnt im just letting eeveryone know, at least who didnt realise for themselves... it makes it alot easier

 

anyways what I found out so far

 

DNAM DECODE

9th Hex Value does something with auto fire but doesnt seem to work properly guns dont fire right, could be some kind of charge for autofire like from the mini gun

 

37-39 seems affect how a weapon is fired

 

41-43 is the ID of the projectile fired.(as stated its reversed)

 

I switched these around by accident

 

37-39 is the projectile ID

41-43 is how the weapon is fired

 

Well Thanks Nosisab, really wish I had known that days ago, that its possible and normal would have saved me hours, yeah well actually now that you mention it 4 does make sense. when I look but the IDS only seem to use 3 with the last being 00 which is default.

Link to comment
Share on other sites

I dont know if its FOMM or actually the files themselves but HEX values that LINK to ID's such as a Weapon Hex value linking to a Projectile or Stat value is infact actually REVERSED

 

If say the ID hex value for a projectile file is 01 02 03 04

You actually need to look for the projectile ID in the specific weapons table Dnam of 04 03 02 01

 

Since I found this out ive been making quite the headway in editing.

 

I dont know if this is actually general knowledge im just not aware of.

 

Incase it isnt im just letting eeveryone know, at least who didnt realise for themselves... it makes it alot easier

 

anyways what I found out so far

 

DNAM DECODE

9th Hex Value does something with auto fire but doesnt seem to work properly guns dont fire right, could be some kind of charge for autofire like from the mini gun

 

37-39 seems affect how a weapon is fired

 

41-43 is the ID of the projectile fired.(as stated its reversed)

It' is not a FOMM feature, is the way the Processors (Intel architecture) deals with the data. It's known as little endian, where the less significant bytes come first. You can find abundant info about it on Internet.

 

PS: While I'm not acquainted with the way Fallout is compiled, that ranges above seems strange, as 3 bytes aren't commonly used. A good practice while working with hex code is referring the address/offsets in hexadecimal too.

So: (decimal) 37-40 41-44 points to adjacent areas and makes more sense (and represent double words).

 

Another thing to have in mind is hexadecimal representation begins on 0 (zero), so the first byte in an offset shall be the byte 0, the second the byte 1... double words are stored at exactly divisible for 4 addresses. Remember, four bytes aren't necessarily a double word (like on a string) and don't have boundary restrictions.

 

About offset (to clarify)

 

Base-address + 0 = first byte

Base-Address + 1 = second byte

.

.

 

Last but not the least, what is being taken for double words may be indeed a word and an adjacent second word or even a byte related some way one with the other (or even the byte first) like as example Item and quantity. This way 3 bytes makes a bit more sense (yet the words being on divisible by 2 boundary applies)

Link to comment
Share on other sites

Hi, Phoynix. While far from me to discourage someone from editing hex the old fashioned way (I did it myself a lot), the newer FOMM versions have nice forms for a lot of stuff. It makes life a lot easier. At least the DNAM sub-record is well supported by now, for example.

 

_Especially_ for the floating point values, and the game has quite a few of those. Those are a right pain in the rear to convert mentally, lemme tell you.

 

Second, nosisab is right. There are no 3 byte integers in the game, only 1, 2 and 4 byte ones.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...