summaryrefslogtreecommitdiff
path: root/src/game
diff options
context:
space:
mode:
authorPaweł Redman <pawel.redman@gmail.com>2018-04-26 15:43:37 +0200
committerPaweł Redman <pawel.redman@gmail.com>2018-04-26 15:43:37 +0200
commitd5d545887569f9b11fa6aa16eee524afec3da19e (patch)
tree77e211e01c9b711cf68dc9c808c52795c27a3d00 /src/game
parent193f7a17d2e4ab99ed0cd909c696c3f0b9833041 (diff)
Fix ambience being calculated incorrectly (regression from 4cfe1361f).
Diffstat (limited to 'src/game')
-rw-r--r--src/game/game.cpp6
-rw-r--r--src/game/game.hpp3
-rw-r--r--src/game/interface.cpp2
-rw-r--r--src/game/pseudostate.cpp2
4 files changed, 7 insertions, 6 deletions
diff --git a/src/game/game.cpp b/src/game/game.cpp
index b10bc08..3adfd85 100644
--- a/src/game/game.cpp
+++ b/src/game/game.cpp
@@ -528,15 +528,13 @@ void state_t::tick(ntime_t time_)
#define XRES 9
#define YRES 9
-void state_t::compute_ambience(render::state_t *render)
+void state_t::compute_ambience(void)
{
const size_t samples = XRES * YRES;
- rectf_t area;
+ rectf_t area = interface.world_view;
v2f_t origins[AMBIENT_COUNT];
size_t hits[AMBIENT_COUNT];
- area = render->window_in_world_space();
-
for (size_t i = 0; i < AMBIENT_COUNT; i++) {
origins[i] = v2f_t(0, 0);
hits[i] = 0;
diff --git a/src/game/game.hpp b/src/game/game.hpp
index 4066b02..c378524 100644
--- a/src/game/game.hpp
+++ b/src/game/game.hpp
@@ -94,6 +94,7 @@ namespace interface {
void stop_following(void);
public:
+ rectf_t world_view;
v3f_t camera_3d; // for audio
void tick(double dt);
@@ -134,7 +135,7 @@ namespace game {
void start(void);
void stop(void);
void tick(ntime_t time);
- void compute_ambience(render::state_t *render);
+ void compute_ambience(void);
void pause(void);
void resume(void);
diff --git a/src/game/interface.cpp b/src/game/interface.cpp
index f6106e2..10ab751 100644
--- a/src/game/interface.cpp
+++ b/src/game/interface.cpp
@@ -285,6 +285,8 @@ void state_t::tick(double dt)
if (pie_menu.is_open)
pie_menu.update(mouse);
+
+ world_view = render::window_bounds(window);
}
void state_t::print(std::string str)
diff --git a/src/game/pseudostate.cpp b/src/game/pseudostate.cpp
index 0f2d0c5..5b64b9e 100644
--- a/src/game/pseudostate.cpp
+++ b/src/game/pseudostate.cpp
@@ -57,7 +57,7 @@ void pseudostate_t::render_interface_to(render::state_t *render)
{
pimpl->interface.render_to(render);
- pimpl->compute_ambience(render);
+ pimpl->compute_ambience();
audio::update(pimpl->interface.camera_3d, pimpl->paused);
}