From 0cbaf72395c94365844548ff7d1ebfe4c07e6ff0 Mon Sep 17 00:00:00 2001 From: Tamir Atias Date: Sun, 5 Feb 2012 22:22:41 +0200 Subject: [PATCH] [Fix] Spawning out of the map. --- src/libUnuk/LevelGen/LevelGen.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/libUnuk/LevelGen/LevelGen.cpp b/src/libUnuk/LevelGen/LevelGen.cpp index 8ff78ee..bd2048a 100644 --- a/src/libUnuk/LevelGen/LevelGen.cpp +++ b/src/libUnuk/LevelGen/LevelGen.cpp @@ -224,6 +224,14 @@ void LevelGen::FindSpawnPoint(int& xArg, int& yArg, int objWidth, int objHeight) xArg = rand() % (BOUNDARIES_X * TILE_WIDTH); yArg = rand() % (BOUNDARIES_Y * TILE_HEIGHT); + if((xArg + objWidth + 1) > SCREEN_WIDTH) { + xArg = SCREEN_WIDTH - objWidth - 1; + } + + if((yArg + objHeight + 1) > SCREEN_HEIGHT) { + yArg = SCREEN_HEIGHT - objHeight - 1; + } + SDL_Rect objRect; objRect.x = xArg; objRect.y = yArg;