Exemple #1
0
CharacterInfo::CharacterInfo(const AttributeData* attributes) {
	m_attributes = attributes;

	// init text
	std::string names = "";
	names.append(g_textProvider->getText("Health") + ":\n");
	names.append(g_textProvider->getText("HealthRegeneration") + ":\n");
	names.append(g_textProvider->getText("CriticalHitChance") + ":\n");
	names.append(g_textProvider->getText("Haste") + ":\n\n");

	// dmg 
	names.append(g_textProvider->getText("PhysicalDamage") + ":\n");
	names.append(g_textProvider->getText("FireDamage") + ":\n");
	names.append(g_textProvider->getText("IceDamage") + ":\n");
	names.append(g_textProvider->getText("ShadowDamage") + ":\n");
	names.append(g_textProvider->getText("LightDamage") + ":\n\n");

	// resistance
	names.append(g_textProvider->getText("Armor") + ":\n");
	names.append(g_textProvider->getText("FireResistance") + ":\n");
	names.append(g_textProvider->getText("IceResistance") + ":\n");
	names.append(g_textProvider->getText("ShadowResistance") + ":\n");
	names.append(g_textProvider->getText("LightResistance") + ":\n");

	m_namesText.setString(names);
	m_namesText.setCharacterSize(GUIConstants::CHARACTER_SIZE_M);
	m_namesText.setColor(COLOR_WHITE);

	m_attributeText.setString("");
	m_attributeText.setCharacterSize(GUIConstants::CHARACTER_SIZE_M);
	m_attributeText.setColor(COLOR_LIGHT_PURPLE);

	m_title = BitmapText(g_textProvider->getText("CharacterInfo"));
	m_title.setCharacterSize(GUIConstants::CHARACTER_SIZE_M);
	m_title.setColor(COLOR_WHITE);

	float width = 3 * GUIConstants::TEXT_OFFSET + 2 * m_namesText.getLocalBounds().width;
	float height = 3 * GUIConstants::TEXT_OFFSET + m_title.getLocalBounds().height + m_namesText.getLocalBounds().height;

	m_title.setPosition(sf::Vector2f(
		GUIConstants::LEFT + ((width - m_title.getLocalBounds().width) / 2.f),
		GUIConstants::TOP + GUIConstants::TEXT_OFFSET));
	m_namesText.setPosition(sf::Vector2f(
		GUIConstants::LEFT + GUIConstants::TEXT_OFFSET,
		m_title.getPosition().y + m_title.getLocalBounds().height + GUIConstants::TEXT_OFFSET));
	m_attributeText.setPosition(sf::Vector2f(
		GUIConstants::LEFT + width / 2.f,
		m_title.getPosition().y + m_title.getLocalBounds().height + GUIConstants::TEXT_OFFSET));

	// init window
	sf::FloatRect box(GUIConstants::LEFT, GUIConstants::TOP, width, height);
	m_window = new Window(box,
		WindowOrnamentStyle::FANCY,
		GUIConstants::MAIN_COLOR,
		GUIConstants::BACK_COLOR,
		GUIConstants::ORNAMENT_COLOR);

	m_window->addCloseButton(std::bind(&CharacterInfo::hide, this));
}
Exemple #2
0
void Game::showFPSText(sf::RenderTarget& target, float frameTimeSeconds) {
	sf::View oldView = target.getView();
	target.setView(target.getDefaultView());
	m_fpsList.push_back(frameTimeSeconds);
	if (static_cast<int>(m_fpsList.size()) > FPS_AVERAGE_NR) {
		m_fpsList.pop_front();
	}
	// calc average
	float sum = 0.f;
	for (float f : m_fpsList) {
		sum += f;
	}
	int fps = static_cast<int>(1.f / (sum / FPS_AVERAGE_NR));

	BitmapText fpsText = BitmapText(
		"FPS: " + std::to_string(fps));
	fpsText.setColor(COLOR_BAD);
	fpsText.setPosition(sf::Vector2f(1050.f, 10.f));
	fpsText.setCharacterSize(16);

	target.draw(fpsText);
	target.setView(oldView);
}
Exemple #3
0
static void
Redisplay(void)
{
   static const GLfloat px[3] = { 1.2, 0, 0};
   static const GLfloat nx[3] = {-1.2, 0, 0};

   glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

   glPushMatrix();
   glRotatef(Xrot, 1.0f, 0.0f, 0.0f);
   glRotatef(Yrot, 0.0f, 1.0f, 0.0f);

   glEnable(GL_LIGHTING);

   glPushMatrix();
   glScalef(0.5, 0.5, 0.5);
   glutSolidDodecahedron();
   glPopMatrix();

   glDisable(GL_LIGHTING);

   glColor3f(0, 1, 0);
   glBegin(GL_LINES);
   glVertex3f(-1, 0, 0);
   glVertex3f( 1, 0, 0);
   glEnd();

   glColor3f(1, 1, 0);

   if (Bitmap) {
      glRasterPos3fv(px);
      BitmapText("+X");
      glRasterPos3fv(nx);
      BitmapText("-X");
   }
   else {
      glUseProgram(Program);

      /* vertex positions (deltas) depend on texture size and window size */
      if (uScale != -1) {
         glUniform2f(uScale,
                          2.0 * TEX_WIDTH / WinWidth,
                          2.0 * TEX_HEIGHT / WinHeight);
      }

      /* draw +X */
      glBindTexture(GL_TEXTURE_2D, Textures[0]);
      glBegin(GL_QUADS);
      glTexCoord2f(0, 0);  glVertex3fv(px);
      glTexCoord2f(1, 0);  glVertex3fv(px);
      glTexCoord2f(1, 1);  glVertex3fv(px);
      glTexCoord2f(0, 1);  glVertex3fv(px);
      glEnd();

      /* draw -X */
      glBindTexture(GL_TEXTURE_2D, Textures[1]);
      glBegin(GL_QUADS);
      glTexCoord2f(0, 0);  glVertex3fv(nx);
      glTexCoord2f(1, 0);  glVertex3fv(nx);
      glTexCoord2f(1, 1);  glVertex3fv(nx);
      glTexCoord2f(0, 1);  glVertex3fv(nx);
      glEnd();

      glUseProgram(0);
   }

   glPopMatrix();

   glutSwapBuffers();
}