lol everyone re-invents a vector lib
This commit is contained in:
@@ -622,6 +622,9 @@ fn Range1u64 range1u64Create(u64 min, u64 max);
|
||||
fn Range1u64 mRangeFromNIdxMCount(u64 n_idx, u64 n_count, u64 m_count);
|
||||
fn void u32Quicksort(u32 arr[], u32 low, u32 high);
|
||||
fn void u32ReverseArray(u32 arr[], u32 size);
|
||||
fn Vec2f32 vec2Add(Vec2 a, Vec2 b);
|
||||
fn Vec2f32 vec2Subtract(Vec2 a, Vec2 b);
|
||||
fn Vec2f32 vec2FromHexCube(Vec2 map_center, XYZ cube, f32 size, f32 border_thickness);
|
||||
|
||||
///// MEMORY (Arenas)
|
||||
#define ARENA_MAX GB(1)
|
||||
|
||||
@@ -72,3 +72,30 @@ fn void u32ReverseArray(u32 arr[], u32 size) {
|
||||
}
|
||||
}
|
||||
|
||||
fn Vec2f32 vec2Add(Vec2 a, Vec2 b) {
|
||||
Vec2f32 result = a;
|
||||
result.x += b.x;
|
||||
result.y += b.y;
|
||||
return result;
|
||||
}
|
||||
|
||||
fn Vec2f32 vec2Subtract(Vec2 a, Vec2 b) {
|
||||
Vec2f32 result = a;
|
||||
result.x -= b.x;
|
||||
result.y -= b.y;
|
||||
return result;
|
||||
}
|
||||
|
||||
fn Vec2f32 vec2FromHexCube(Vec2 map_center, XYZ cube, f32 size, f32 border_thickness) {
|
||||
f32 hex_height = SQRT_3 * size;
|
||||
f32 hex_width = 2.0 * size;
|
||||
f32 horiz_spacing = 0.75 * (hex_width - border_thickness);
|
||||
f32 vert_spacing = (hex_height - border_thickness);
|
||||
bool parity = cube.x & 1;
|
||||
i32 use_y = cube.y * -1;
|
||||
return (Vec2) {
|
||||
.x = map_center.x + (cube.x * horiz_spacing),
|
||||
.y = map_center.y + ((use_y + (f32)(cube.x + parity) / 2.0) * vert_spacing) - (parity ? 0.5*vert_spacing : 0),
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user