But i need help changing running and purchase costs in a vehicle.
Afaik you can modify properties of stuff provided by other newgrfs. No idea if that includes vehicles, or whether you can code that in NML, but it seems like a simpler route to me than trying to make sense of pages of hexadecimal numbers.
Also what's the best way to edit NFO files cause some have weird symbols still?
Like in the ogfx1_base.grf one there is this line
- [+] Spoiler
799 * 257 00 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 10 11 12 13 14 15 16 17 18 19 1A 1B 1C 1D 1E
1F " !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEF``abcdefgP"
80 81 82 83 84 85 86 87 88 89 8A 8B 8C 8D 8E 8F 90 91 92 93 94 95 96 97 98 99 9A 9B 9C 9D 9E "Ÿ ¡¢£¤¥¦§¨©ª«¬®¯°±"
So is it possible to read that code or no?
Just use the source code: https://dev.openttdcoop.org/projects/opengfx
To edit such files, you need a text-editor that supports the encoding of the file that you edit. NML always uses UTF-8 encoding afaik. Don't know what grfcodec uses, but chances are that it also uses UTF-8 encoding.
Most modern editors support this encoding, but the name of it at the GUI is not always clear. Some editor use the correct UTF-8 name, other incorrectly say "Unicode".
The simplest way to check is to decode a grf, make a trivial change like adding a space character, save, and build the grf again from the saved file. Size and hash of the resulting grf should be the same as what you started with.