why are the tiles still 24bytes...

This commit is contained in:
2025-02-26 18:06:51 -06:00
parent 22f9af5417
commit f7a409f565
31 changed files with 484 additions and 95 deletions

View File

@@ -1,8 +1,8 @@
package game
Vec2i :: struct {
x: u32,
y:u32,
x: int,
y: int,
}
vec2i_to_vec2 :: proc(v2i:Vec2i) -> [2]f32 {
@@ -10,5 +10,43 @@ vec2i_to_vec2 :: proc(v2i:Vec2i) -> [2]f32 {
}
vec2_to_vec2i :: proc(v2:[2]f32) -> Vec2i {
return {u32(v2.x), u32(v2.y)}
return {int(v2.x), int(v2.y)}
}
serialize_vec2i :: proc(v:Vec2i) -> [8]byte {
data: [8]byte
x := serialize_int(v.x)
y := serialize_int(v.y)
for i in 0..<4 {
data[i] = x[i]
}
for i in 0..<4 {
data[4 + i] = y[i]
}
return data
}
deserialize_vec2i :: proc(data:[]byte) -> Vec2i {
x := deserialize_int(data[0:4])
y := deserialize_int(data[4:8])
return Vec2i{x,y}
}
serialize_int :: proc(v:int) -> [4]byte {
data : [4]byte
data[0] = byte(v)
data[1] = byte(v >> 8)
data[2] = byte(v >> 16)
data[3] = byte(v >> 24)
return data
}
deserialize_int :: proc(data:[]byte) -> int {
return int(data[0]) | int(data[1]) << 8 | int(data[2]) << 16 | int(data[3]) << 24
}