Index: src/character/character.cpp =================================================================== --- src/character/character.cpp (révision 2136) +++ src/character/character.cpp (copie de travail) @@ -373,10 +373,17 @@ else disease_damage_per_turn = 0; } +bool Character::IsVisible() const +{ + Rectanglei rect(GetPosition(), Vector2(GetWidth(), GetHeight())); + return rect.Intersect(camera); +} + void Character::Draw() { if (hidden) return; - + if(!IsVisible()) return; + // Gone in another world ? if (IsGhost()) return; Index: src/character/character.h =================================================================== --- src/character/character.h (révision 2136) +++ src/character/character.h (copie de travail) @@ -87,6 +87,8 @@ void SignalGhostState(bool was_dead); void SignalCollision(); void SetBody(Body* char_body); + + bool IsVisible() const; public: