noita_entangled_worlds/ewext/src/noita.rs
2024-09-27 19:31:14 +03:00

16 lines
509 B
Rust

use std::ffi::c_void;
pub(crate) struct ChunkMap {
this: *mut c_void,
}
impl ChunkMap {
unsafe fn get_cell(&self, x: u32, y: u32) {
let x = x as isize;
let y = y as isize;
let index = ((((y) >> 9) - 256 & 511) * 512 + (((x) >> 9) - 256 & 511)) * 4;
let chunk_arr = self.this.offset(8).cast::<*const c_void>().read();
let chunk = chunk_arr.offset(index).cast::<*const c_void>().read();
let pixel = chunk.offset(((y & 511) << 9 | x & 511) * 4);
}
}