1) If your tag starts with 0x, it will be read as hex
2) Otherwise it will try to read it as a decimal number
3) If that fails, it will turn into 0
4) Whenever it writes back out, it writes as 0xXXX


What I meant to imply, is that (very) old versions of Emplode wrote the options field as hex without the 0x. Modern versions write it as hex with the 0x.

The code in the player uses strtol, with a default base of 16 for the options tag and 0 for all other tags. So stage (2) should read "Otherwise it will try to read the value as a hex number (if it's the options field) or a decimal number (all other fields)".

As I said, it's a wart. Sorry about that.

Peter