Beispiel #1
0
static bool powerup_help_render(float t) {
	if(t != 0.0f)
		game_update_empty();

	UIElement* element = uidesc_get("powerup_help");

	UIElement* text_elem2 = uidesc_get_child(element, "text2");
	UIElement* text_elem3 = uidesc_get_child(element, "text3");	

	UIElement* star = uidesc_get_child(element, "star");
	UIElement* item = uidesc_get_child(element, "item");	
	UIElement* button_quit = uidesc_get_child(element, "button_quit");

	float state_alpha = 1.0f-fabsf(t);
	byte a = lrintf(255.0f * state_alpha);
	Color col = COLOR_RGBA(255, 255, 255, a);

	spr_draw("blue_shade", hud_layer-1, rectf(0.0f, 0.0f, v_width, v_height), col); 

	static float xpos = 0.0f;
	static float inc = 600.0f;

	xpos = hud_scroll(xpos, inc, item_count, t);

	for(uint i = 0; i < item_count; ++i) {
		Vector2 off = vec2(xpos + i * inc, 0.0f);
		float d = normalize(fabsf(off.x), 0.0f, inc * (item_count-1));
		float scroll_alpha = 1.0f / exp(PI*d);
		byte a2 = lrintf(255.0f * scroll_alpha * state_alpha);
		Color col2 = COLOR_RGBA(255, 255, 255, a2);

		// Star
		spr_draw_cntr_h(star->spr, hud_layer, vec2_add(off, star->vec2), time_s()/10.0f, 1.0f, col2);

		// Item
		const char* item_img = powerup_params[i].unlocked_spr;
		spr_draw_cntr(item_img, hud_layer, vec2_add(off, item->vec2), 0.0f, 1.0f, col2);

		// Description text
		const char* text3 = powerup_params[i].description;
		vfont_select(FONT_NAME, 32.0f);
		Vector2 half_size3 = vec2_scale(vfont_size(text3), 0.5f);
		vfont_draw(text3, hud_layer+1, vec2_add(off, vec2_sub(text_elem3->vec2,half_size3)), col2);	

		// Item name
		const char* text2 = powerup_params[i].name;
		vfont_select(FONT_NAME, 48.0f);
		Vector2 half_size2 = vec2_scale(vfont_size(text2), 0.5f);
		vfont_draw(text2, hud_layer+1, vec2_add(off, vec2_sub(text_elem2->vec2,half_size2)), col2);	

	}

	// Quit button
	if(hud_button(button_quit, col, t)) {
		malka_states_pop();
	}

	return true;
}
Beispiel #2
0
static void game_over_preenter(void) {
	if(screen == WIN_SCREEN || screen == TUTORIAL_SCREEN) {
		mfx_trigger("win");
		levels_unlock_next();
	}
	else {
		mfx_trigger("fail");
	}
	game_over_anim_start = time_s() + 0.6f;
	game_over_anim_end = time_s() + 0.9f;
    uint place = minimap_get_place_of_rabbit(player);
	coins_earned = 10 * (4-place);
	player->data->tokens += coins_earned;
	keyval_set_int("coins", coins + player->data->tokens);

	if(screen == TUTORIAL_SCREEN) 
		levels_set_place(5);	
}
Beispiel #3
0
double BenchTimer::precision_s()
{
	prec_s = 0.0;

	while (prec_s == 0.0)
	{
		start();
		stop();
		prec_s = time_s();
	}

	return prec_s;
}
Beispiel #4
0
static size_t ng_writer(void *buf, size_t each, size_t n, void *user)
{
	uint64_t v[7];
	if (sscanf(buf, "Active connections: %lu\n"
	                "server accepts handled requests\n"
	                " %lu %lu %lu\n"
	                "Reading: %lu Writing: %lu Waiting: %lu\n",
	                &v[0],
	                &v[1], &v[2], &v[3],
	                &v[4], &v[5], &v[6]) == 7) {

		int32_t ts = time_s();
		printf("RATE %i %s:nginx:requests.accepted %lu\n", ts, PREFIX, v[1]);
		printf("RATE %i %s:nginx:requests.handled %lu\n",  ts, PREFIX, v[2]);
		printf("RATE %i %s:nginx:requests.total %lu\n",    ts, PREFIX, v[3]);

		printf("SAMPLE %i %s:nginx:connections.active %lu\n",  ts, PREFIX, v[0]);
		printf("SAMPLE %i %s:nginx:connections.reading %lu\n", ts, PREFIX, v[4]);
		printf("SAMPLE %i %s:nginx:connections.writing %lu\n", ts, PREFIX, v[5]);
		printf("SAMPLE %i %s:nginx:connections.waiting %lu\n", ts, PREFIX, v[6]);
	}
	return n * each;
}
Beispiel #5
0
    bool MatchPool::Push(int elo, int size, oid_t id) {
        MatchEntity *ent = NULL;
        std::map<oid_t, MatchEntity*>::iterator itr = _entities.find(id);
        if (itr == _entities.end()) {
            ent = E_NEW MatchEntity;
        } else {
            ent = itr->second;
            if (ent == NULL) {
                ent = E_NEW MatchEntity;
            } else if (ent->status == MATCH_PENDING) {
                return false;
            }
        }

        ent->id = id;
        ent->elo = elo;
        ent->time = time_s();
        ent->status = MATCH_PENDING;
        ent->size = size;

        push(ent);
        return true;
    }
Beispiel #6
0
static size_t apache_writer(void *buf, size_t each, size_t n, void *user)
{
	uint64_t v[4];
	double b;

	if (sscanf(buf, "Total Accesses: %lu\n"
	                "Total kBytes: %lu\n"
	                "Uptime: %*u\n"
	                "ReqPerSec: %*f\n"
	                "BytesPerSec: %*f\n"
	                "BytesPerReq: %lf\n"
	                "BusyWorkers: %lu\n"
	                "IdleWorkers: %lu\n",
	                &v[0], &v[1], &b, &v[2], &v[3]) == 5) {

		int32_t ts = time_s();
		printf("RATE %i %s:apache:requests.total %lu\n", ts, PREFIX, v[0]);
		printf("RATE %i %s:apache:requests.bytes %lu\n", ts, PREFIX, v[1] * 1024);
		printf("SAMPLE %i %s:apache:request.size %lf\n", ts, PREFIX, b);
		printf("SAMPLE %i %s:apache:workers.busy %lu\n", ts, PREFIX, v[2]);
		printf("SAMPLE %i %s:apache:workers.idle %lu\n", ts, PREFIX, v[3]);
	}
	return n * each;
}