| Crates.io | lazy-re |
| lib.rs | lazy-re |
| version | 0.1.1 |
| created_at | 2022-07-07 05:11:13.963062+00 |
| updated_at | 2022-07-19 03:41:52.283703+00 |
| description | A library for lazy reverse engineers |
| homepage | |
| repository | https://github.com/etra0/lazy-re |
| max_upload_size | |
| id | 620940 |
| size | 16,488 |
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.