}
draw :: proc () {
- gl.clearColor(0.1f, 0.1f, 0.1f, 1.0f);
+ gl.clearColor(0.9f, 0.9f, 0.9f, 1.0f);
gl.clear(gl.COLOR_BUFFER_BIT);
texture_use(^textures.tilemap);
dude_sprite.w, dude_sprite.h);
}
- renderer.color = Color4f32.{ 1.0f, 1.0f, 1.0f, 1.0f };
+ renderer.color = Color4f32.{ 0.0f, 0.0f, 0.0f, 1.0f };
draw_rect(^renderer, ~~input_state.mouse.x, ~~input_state.mouse.y, 10f, 10f);
render_context_flush(^renderer);
}
event.init();
input.init(^input_state);
- Dude_Color_Table[0] = Color4f32.{ 1.0f, 0.0f, 0.0f, 1.0f };
- Dude_Color_Table[1] = Color4f32.{ 0.0f, 1.0f, 0.0f, 1.0f };
- Dude_Color_Table[2] = Color4f32.{ 0.0f, 0.0f, 1.0f, 1.0f };
+ Dude_Color_Table[0] = Color4f32.{ 1.0f, 0.5f, 0.5f, 1.0f };
+ Dude_Color_Table[1] = Color4f32.{ 0.5f, 1.0f, 0.5f, 1.0f };
+ Dude_Color_Table[2] = Color4f32.{ 0.5f, 0.5f, 1.0f, 1.0f };
array_init(^dudes);
- for i: 0 .. 4000 {
+ for i: 0 .. 2000 {
array_push(^dudes, dude_create_random());
}
return Dude.{
pos = V2f.{ random_float(-600.0f, 600.0f), random_float(-600.0f, 600.0f) },
vel = V2f.{ random_float(-3.0f, 3.0f), random_float(-3.0f, 3.0f) },
- size = random_float(2.0f, 3.0f),
+ size = random_float(4.0f, 6.0f),
color = Dude_Color_Table[random() % 3],
};
}
dude_aabb := dude_get_aabb(dude);
for other: potential_dudes {
if other == dude do continue;
-
- other_aabb := dude_get_aabb(other);
- if aabb_intersects(dude_aabb, other_aabb) {
+ if aabb_intersects(dude_aabb, dude_get_aabb(other)) {
collided = true;
break;
}
dude_aabb = dude_get_aabb(dude);
for other: potential_dudes {
if other == dude do continue;
-
- other_aabb := dude_get_aabb(other);
- if aabb_intersects(dude_aabb, other_aabb) {
+ if aabb_intersects(dude_aabb, dude_get_aabb(other)) {
collided = true;
break;
}