27 lines
494 B
Odin
27 lines
494 B
Odin
package game
|
|
|
|
Vec2i :: struct {
|
|
x: i32,
|
|
y: i32,
|
|
}
|
|
|
|
vec2i_to_vec2 :: proc(v2i:Vec2i) -> [2]f32 {
|
|
return {f32(v2i.x), f32(v2i.y)}
|
|
}
|
|
|
|
vec2_to_vec2i :: proc(v2:[2]f32) -> Vec2i {
|
|
return {i32(v2.x), i32(v2.y)}
|
|
}
|
|
|
|
to_bytes :: proc(v: $T) -> [size_of(T)]u8 {
|
|
val := v
|
|
encoded_bytes := (^[size_of(T)]u8)(&val)
|
|
return encoded_bytes^
|
|
}
|
|
|
|
from_bytes :: proc($T:typeid, data: [size_of(T)]u8) -> T {
|
|
bytes := data
|
|
decoded_value := (^T)(&bytes)^
|
|
return decoded_value
|
|
}
|