Skip to content

Commit b2df89b

Browse files
committed
Improve performance by using SetScreenSizeHint for tilemaps
1 parent 4a9fec8 commit b2df89b

File tree

6 files changed

+24
-13
lines changed

6 files changed

+24
-13
lines changed

ext/CMakeLists.txt

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ CPMAddPackage(
3030
)
3131
CPMAddPackage(
3232
NAME openalpp
33-
GITHUB_REPOSITORY Laguna1989/OpenALpp
34-
GIT_TAG v0.2.2
33+
URL https://github.com/Laguna1989/OpenALpp/archive/refs/tags/v0.2.2.zip
3534
OPTIONS
3635
"OALPP_ENABLE_UNIT_TESTS OFF"
3736
"OALPP_ENABLE_INTEGRATION_TESTS OFF"
@@ -59,14 +58,14 @@ else ()
5958
add_subdirectory(imgui-sdl)
6059
endif ()
6160

62-
if(JT_ENABLE_UNITTESTS)
63-
CPMAddPackage(
64-
NAME googletest
65-
GITHUB_REPOSITORY google/googletest
66-
GIT_TAG v1.14.0
67-
VERSION 1.14.0
68-
OPTIONS "INSTALL_GTEST OFF" "gtest_force_shared_crt"
69-
)
70-
endif()
61+
if (JT_ENABLE_UNITTESTS)
62+
CPMAddPackage(
63+
NAME googletest
64+
GITHUB_REPOSITORY google/googletest
65+
GIT_TAG v1.14.0
66+
VERSION 1.14.0
67+
OPTIONS "INSTALL_GTEST OFF" "gtest_force_shared_crt"
68+
)
69+
endif ()
7170

7271
message(STATUS "Fetching external libraries done")

impl/gamelib/state_game.cpp

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,16 @@ void StateGame::onCreate()
2222
"assets/test_map.json" };
2323
m_tilemap = std::make_shared<jt::tilemap::TileLayer>(
2424
loader.loadTilesFromLayer("ground", textureManager()));
25+
m_tilemap->setScreenSizeHint(GP::GetScreenSize());
2526
loadLevelCollisions(loader);
2627
m_overlay = std::make_shared<jt::tilemap::TileLayer>(
2728
loader.loadTilesFromLayer("overlay", textureManager()));
28-
29+
m_overlay->setScreenSizeHint(GP::GetScreenSize());
2930
m_waves = std::make_shared<jt::Waves>("assets/waves.aseprite",
3031
jt::Rectf {
3132
0.0f, 0.0f, m_tilemap->getMapSizeInPixel().x, m_tilemap->getMapSizeInPixel().y },
3233
m_tileCollisionRects, 100);
34+
m_waves->setScreenSizeHint(GP::GetScreenSize());
3335
add(m_waves);
3436

3537
m_dropFruitPS = std::make_shared<ParticleSystemDropFruits>();

impl/jamtemplate/common/bar.cpp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,6 @@ jt::Bar::Bar(
2626
m_shapeProgress->setPosition(jt::Vector2f { 0 + 1, m_height });
2727
}
2828
m_shapeProgress->setColor(jt::colors::White);
29-
// m_shapeProgress->setIgnoreCamMovement(true);
3029
}
3130

3231
void jt::Bar::setFrontColor(jt::Color const& col) { m_shapeProgress->setColor(col); }

impl/jamtemplate/common/screeneffects/waves.cpp

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,3 +56,10 @@ void jt::Waves::doDraw() const
5656
a->draw(renderTarget());
5757
}
5858
}
59+
60+
void jt::Waves::setScreenSizeHint(jt::Vector2f const& screenSize)
61+
{
62+
for (auto& a : m_animations) {
63+
a->setScreenSizeHint(screenSize);
64+
}
65+
}

impl/jamtemplate/common/screeneffects/waves.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ class Waves : public jt::GameObject {
1111
Waves(std::string const& filename, jt::Rectf const& size, std::vector<jt::Rectf> const& exclude,
1212
int count);
1313

14+
void setScreenSizeHint(jt::Vector2f const& screenSize);
15+
1416
private:
1517
void doCreate() override;
1618
void doUpdate(float const elapsed) override;

impl/jamtemplate/common/tilemap/tile_layer.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,8 @@ class TileLayer : public DrawableImpl {
3737
void doDrawFlash(std::shared_ptr<jt::RenderTargetLayer> sptr) const override;
3838
void doDrawShadow(std::shared_ptr<jt::RenderTargetLayer> sptr) const override;
3939

40+
/// Get map size in pixel
41+
//// \returns map size in pixel
4042
jt::Vector2f getMapSizeInPixel() const;
4143

4244
private:

0 commit comments

Comments
 (0)