lazy-re 0.1.1

A library for lazy reverse engineers
Documentation

Lazy-RE

A simple proc macro for the lazy reverse engineers. It basically creates the padding for you.

#[repr(C, packed)]
#[lazy_re]
struct Lights {
    #[lazy_re(offset = 0x10)]
    x: f32,
    y: f32,
    z: f32
}

#[repr(C, packed)]
#[lazy_re]
struct PlayerEntity {
    #[lazy_re(offset = 0x48)]
    light: Lights,

    #[lazy_re(offset = 0x90)]
    player_x: f32,
    player_y: f32,
    player_z: f32,
}

That would create the padding for the Light struct at the beginning, i.e. the x field will be at the offset 0x10, and the rest is filled with [u8; 0x10].

Similarly, the PlayerEntity will have padding until the Light struct, and then it'll pad between the light and the player position, doing the math for you.