Change snake's tint based on player-id.
This commit is contained in:
@@ -99,6 +99,17 @@ uint32_t floor_texture_variant(uint32_t x, uint32_t y, uint32_t seed, uint32_t n
|
||||
return (wang_hash(x * 73856093u ^ y * 19349663u ^ seed)) % num_variants;
|
||||
}
|
||||
|
||||
Color get_tint_for_player_id(uint16_t player_id) {
|
||||
switch(player_id) {
|
||||
case 0: {
|
||||
return (Color) { 255, 135, 102, 255 };
|
||||
}
|
||||
default: {
|
||||
return (Color) { 82, 33, 110, 255 };
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#define SHADOW_ALPHA 64
|
||||
|
||||
static void state_render(Presentation_State *state) {
|
||||
@@ -151,7 +162,21 @@ static void state_render(Presentation_State *state) {
|
||||
|
||||
switch(entity->type) {
|
||||
case Entity_Type_Snake_Head: {
|
||||
Color tint = (Color) { 255, 135, 102, 255 }; // TODO: SS - Get tint based on player ID.
|
||||
|
||||
Color tint = (Color) { 255, 255, 255, 255 };
|
||||
// Set the snake's tint based on player-index.
|
||||
for(uint16_t i = 0; i < sim_world->max_players; i++) {
|
||||
Simulation_Player *player = &sim_world->players[i];
|
||||
if(!player->active) {
|
||||
continue;
|
||||
}
|
||||
|
||||
if(player->entity_id == entity->id) {
|
||||
tint = get_tint_for_player_id(i); // NOTE: SS - It's more like player-index. This needs to change if they're not sorted (but they are at the moment and I don't really plan on switching that up.)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
Vector2 origin = (Vector2) { GRID_CELL_SIZE/2, GRID_CELL_SIZE/2 };
|
||||
|
||||
Entity *e = entity;
|
||||
|
||||
Reference in New Issue
Block a user