-/*
-static void wbutton_run( enum e_world_button btn_name, v2f btn_tex )
-{
- static v3f button_colours[] = {
- {0.204f, 0.345f, 0.553f},
- {0.204f, 0.345f, 0.553f},
- {0.553f, 0.345f, 0.204f},
- {1.0f, 0.0f, 0.0f}
- };
-
- struct cell_button *btn = &world.buttons[btn_name];
-
- // Interaction
- int tex_offset = 0;
-
- int is_hovering = (world.tile_x == world.w-1 && world.tile_y == world.h-btn_name-2)?1:0;
- if( vg_get_button_up( "primary" ) && is_hovering )
- {
- // Click event
- if( btn_name == k_world_button_sim )
- {
- if( world.buttons[ k_world_button_pause ].pressed )
- {
- if( !btn->pressed )
- {
- btn->pressed = 1;
- simulation_start();
-
- world.pause_offset_target = 0.5f;
- }
- else
- world.pause_offset_target += 1.0f;
- }
- else
- {
- btn->pressed ^= 0x1;
-
- if( btn->pressed )
- simulation_start();
- else
- simulation_stop();
- }
- }
- else if( btn_name == k_world_button_pause )
- {
- btn->pressed ^= 0x1;
-
- world.sim_internal_ref = world.sim_internal_time;
- world.sim_delta_ref = vg_time;
-
- if( btn->pressed )
- {
- float time_frac = world.sim_internal_time-floorf(world.sim_internal_time);
- world.pause_offset_target = 0.5f - time_frac;
- }
- else
- world.pause_offset_target = 0.0f;
- }
- else if( btn_name == k_world_button_speedy )
- {
- btn->pressed ^= 0x1;
-
- world.sim_delta_speed = btn->pressed? 10.0f: 2.5f;
- world.sim_delta_ref = vg_time;
- world.sim_internal_ref = world.sim_internal_time;
- }
- else
- {
- btn->pressed ^= 0x1;
- }
-
- sfx_set_play( &audio_clicks, &audio_system_ui, btn->pressed?1:0 );
- }
-
- // Drawing
- if( btn->pressed )
- {
- if( is_hovering )
- {
- btn->light_target = 0.9f;
- }
- else
- {
- if( btn_name == k_world_button_sim && world.buttons[ k_world_button_pause ].pressed )
- btn->light_target = fabsf(sinf( vg_time * 2.0f )) * 0.3f + 0.3f;
- else
- btn->light_target = 0.8f;
- }
- }
- else
- {
- btn->light_target = is_hovering? 0.2f: 0.0f;
- }
-
- if( vg_get_button( "primary" ) && is_hovering )
- btn->light_target = 1.0f;
-
- btn->light = vg_lerpf( btn->light, btn->light_target, vg_time_delta*26.0f );
-
- // Draw
- if( btn_name == k_world_button_sim && world.buttons[ k_world_button_sim ].pressed )
- {
- if( world.buttons[ k_world_button_pause ].pressed )
- tex_offset = 3;
- else
- tex_offset = 2;
- }
-
- v4f final_colour;
- v3_copy( button_colours[ btn_name ], final_colour );
- final_colour[3] = btn->light;
-
- glUniform4f( SHADER_UNIFORM( shader_buttons, "uOffset" ),
- world.w-1,
- world.h-btn_name-2,
- (float)(btn_tex[0]+tex_offset),
- btn_tex[1]
- );
- glUniform4fv( SHADER_UNIFORM( shader_buttons, "uColour" ), 1, final_colour );
-
- draw_mesh( 0, 2 );
-}
-
-static void wbutton_draw( v2i pos, v2f tex, v4f colour )
-{
- glUniform4f( SHADER_UNIFORM( shader_buttons, "uOffset" ),
- pos[0],
- pos[1],
- tex[0],
- tex[1]
- );
- glUniform4fv( SHADER_UNIFORM( shader_buttons, "uColour" ), 1, colour );
- draw_mesh( 0, 2 );
-}
-*/
-