Visual hex editor for examining graphics file formats

Wilhuf

Overanalyzer
Gender
Male
Guildcard
42011395
I've been working with PSO files containing geometrical data, and they're really hard to get a grip on if you can't visualize anything. So I wrote a simple hex viewer that also plots data in 2D to help me quickly try out things and see if I get anything that looks interesting.

I've made it a bit more generic and put it up on my website here: https://www.daanvandenbosch.com/visual-hex-editor/?start=4&pattern=f32le:x,f32le,f32le:y

Try loading in map_forest01c.rel with that specific config to get an idea of what it can do (can be found under EphineaPSO\data\scene).

You can input a start and end index to limit the amount of data you're visualizing. At the moment a maximum of 2000 pattern lines are shown in the table with hex data, so setting a good start index is also necessary to look at parts of a file past the first 2000 pattern lines.

You can specify a pattern to get a specific view of the data. E.g. the link above specifies a pattern with 3 32-bit floating point numbers in little endian format, the first is plotted on the x-axis and the last on the y-axis.

Pattern syntax:
[x] means x is optional

type[endianness][:axis]

Example: u8:x, i32le, f64be:y, i16

Valid types: i8, i16, i32, u8, u16, u32, f32 and f64.
i: signed integer
u: unsigned integer
f: floating point number

Valid endianness specifiers: be (big endian) and le (little endian).

Valid axes: x and y

Only type is required, endianness defaults to big endian and axis defaults to none. You can specify as many of these patterns as you want, separated by commas.

Each part of the pattern will have two columns in the table on the right. One with the decoded value and one showing the bytes in hexadecimal format. Each row will match the complete pattern.

Problems and limitations:
  • Slow when using large files
  • Will only show 2000 rows at a time, use start offset to see more

Hopefully this tool can be of use to other people too.

Screenshot:
visual_hex_editor.png
 
Last edited:
Back
Top