Example #1
0
void Menu::render(Global &global)
{
	gfx->SelectTexture(0, menu_object);
	gfx->SelectVertexBuffer(Model::quad_vertex);
	gfx->SelectIndexBuffer(Model::quad_index);
	for(unsigned int i = 0; i < menu_list.size(); i++)
	{
		menu_t *item = menu_list[i];
		if (item->state == menu_state)
		{
			if (item->flag & 1)
			{
				gfx->clear();
				global.Select();
				global.Params(matrix, 0);
				gfx->DrawArrayTri(0, 0, 6, 4);
//				gfx->SelectShader(0);
//				gfx->DeselectTexture(0);
				gfx->cleardepth();
			}
			break;
		}
	}

	for(unsigned int i = 0; i < menu_list.size(); i++)
	{
		menu_t *item = menu_list[i];
		if (item->state == menu_state)
		{
			if (item->flag & 2)
			{
				// draw model
			}
			else if (item->flag & 4)
			{
				// draw texture
			}
			else
			{
				vec3 color(item->color[0], item->color[1], item->color[2]);
				draw_text(item->msg, item->position[0],
					item->position[1], item->scale, color);
			}
		}
	}
}
Example #2
0
void Menu::render_console(Global &global)
{
	vec3 color(1.0f, 1.0f, 1.0f);

	gfx->SelectTexture(0, console_object);
	gfx->SelectIndexBuffer(Model::quad_index);
	gfx->SelectVertexBuffer(Model::quad_vertex);
	global.Select();
	matrix.m[13] = 1.0f;
	global.Params(matrix, 0);
	matrix.m[13] = 0.0f;
	gfx->DrawArrayTri(0, 0, 6, 4);
//	gfx->SelectShader(0);
//	gfx->DeselectTexture(0);

	gfx->cleardepth();
	for(unsigned int i = 0; i < console_buffer.size(); i++)
		draw_text(console_buffer[i], 0.0125f, 0.4f - 0.025f * (console_buffer.size() - 1 - i), 0.025f, color);
	strcat(key_buffer, "\4");
	draw_text(key_buffer, 0.0125f, 0.5f - 0.05f, 0.025f, color);
	key_buffer[strlen(key_buffer) - 1] = '\0';
	draw_text("Console", 0.85f - 0.0125f, 0.5f - 0.025f, 0.025f, color);
}