Skip to content

Commit 9fa7d0e

Browse files
committed
massive fps improvement
1 parent b4e1728 commit 9fa7d0e

File tree

4 files changed

+23
-19
lines changed

4 files changed

+23
-19
lines changed

premake4.lua

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ solution("qorpse")
99
configuration "Release"
1010
defines { "NDEBUG" }
1111
--optimize "speed"
12-
flags { "OptimizeSpeed" }
12+
flags { "OptimizeSpeed", "FloatFast", "SSE2" }
1313
targetname("qorpse_dist")
1414

1515
project("qorpse")

src/Character.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -42,13 +42,13 @@ Character :: Character(
4242
);
4343
}
4444

45-
//m_Weapon.on_change.connect([this](const int&){
46-
// if(m_Weapons.empty()){
47-
// m_Ammo = 0;
48-
// return;
49-
// }
50-
// m_Ammo = m_Weapons[m_Weapon].ammo();
51-
//});
45+
m_Weapon.on_change.connect([this](const int&){
46+
if(m_Weapons.empty()){
47+
m_Ammo = 0;
48+
return;
49+
}
50+
m_Ammo = m_Weapons[m_Weapon].ammo();
51+
});
5252
set_states({"stand","down"});
5353
m_Dead.on_change.connect([this](const bool& b){
5454
if(b)

src/HUD.cpp

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ HUD :: HUD(Window* win, const std::shared_ptr<Character>& character):
1515

1616
void HUD :: logic_self(Freq::Time t)
1717
{
18-
//if(m_Dirty)
18+
if(m_Dirty)
1919
{
2020
auto cairo = m_pCanvas->context();
2121
cairo->save();
@@ -26,9 +26,11 @@ void HUD :: logic_self(Freq::Time t)
2626

2727
auto ch = m_pCharacter.lock();
2828
if(!ch) return;
29+
30+
m_Fade = 0.0f;
2931

30-
m_Fade += t.s() * 2.5f *(1.0f-ch->hp_percent()/100.0f);
31-
m_Fade = fmod(m_Fade, 1.0f);
32+
//m_Fade += t.s() * 2.5f *(1.0f-ch->hp_percent()/100.0f);
33+
//m_Fade = fmod(m_Fade, 1.0f);
3234

3335
cairo->select_font_face(
3436
"Press Start 2P",
@@ -71,24 +73,24 @@ void HUD :: logic_self(Freq::Time t)
7173
);
7274
}
7375

74-
//m_Dirty = false;
76+
m_Dirty = false;
7577
m_pCanvas->dirty(true);
7678
}
77-
//m_Dirty = false;
7879
}
7980

8081
void HUD :: setup_character()
8182
{
8283
auto ch = m_pCharacter.lock();
8384
if(!ch) return;
8485

85-
//auto dirty_cb = [this]{
86-
// m_Dirty = true;
87-
//};
86+
auto _this = this;
87+
auto dirty_cb = [_this](const int&){
88+
_this->m_Dirty = true;
89+
};
8890

8991
// setup change signals
9092
//m_pWindow->on_resize(dirty_cb);
91-
//ch->on_hp_change(dirty_cb);
92-
//ch->on_ammo_change(dirty_cb);
93+
m_HPChange = ch->on_hp_change(dirty_cb);
94+
m_AmmoChange = ch->on_ammo_change(dirty_cb);
9395
}
9496

src/HUD.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ class HUD:
2121
std::shared_ptr<Character> target() {
2222
return m_pCharacter.lock();
2323
}
24+
25+
void dirty(bool b) { m_Dirty = true; }
2426

2527
private:
2628

@@ -35,7 +37,7 @@ class HUD:
3537
boost::signals2::scoped_connection m_HPChange;
3638
boost::signals2::scoped_connection m_AmmoChange;
3739

38-
//bool m_Dirty = false;
40+
bool m_Dirty = true;
3941
};
4042

4143
#endif

0 commit comments

Comments
 (0)