#include "scripting/squirrel_util.hpp"
#include "script_interface.hpp"
#include "log.hpp"
+#include "main.hpp"
Sector* Sector::_current = 0;
Sector::Sector(Level* parent)
: level(parent), currentmusic(LEVEL_MUSIC),
- ambient_light( 1.0f, 1.0f, 1.0f, 1.0f ), gravity(10.0), player(0), camera(0)
+ ambient_light( 1.0f, 1.0f, 1.0f, 1.0f ), gravity(10.0), player(0), camera(0)
{
add_object(new Player(player_status, "Tux"));
add_object(new DisplayEffect("Effect"));
reader.get("gravity", gravity);
std::string backgroundimage;
- if (reader.get("background", backgroundimage)) {
+ if (reader.get("background", backgroundimage) && (backgroundimage != "")) {
if (backgroundimage == "arctis.png") backgroundimage = "arctis.jpg";
if (backgroundimage == "arctis2.jpg") backgroundimage = "arctis.jpg";
if (backgroundimage == "ocean.png") backgroundimage = "ocean.jpg";
if(reader.get_vector("foreground-tm", tiles)) {
TileMap* tilemap = new TileMap();
tilemap->set(width, height, tiles, LAYER_FOREGROUNDTILES, false);
-
+
// fill additional space in foreground with tiles of ID 2035 (lightmap/black)
- if (height < 19) tilemap->resize(width, 19, 2035);
+ if (height < 19) tilemap->resize(width, 19, 2035);
add_object(tilemap);
}
// torch
if (tile->getID() == 1517) {
float pseudo_rnd = (float)((int)pos.x % 10) / 10;
- add_object(new PulsingLight(center, 1.0 + pseudo_rnd, 0.9, 1.0, Color(1.0, 1.0, 0.6, 1.0)));
+ add_object(new PulsingLight(center, 1.0f + pseudo_rnd, 0.9f, 1.0f, Color(1.0f, 1.0f, 0.6f, 1.0f)));
}
// lava or lavaflow
if ((tile->getID() == 173) || (tile->getID() == 1700) || (tile->getID() == 1705) || (tile->getID() == 1706)) {
// space lights a bit
- if (((tm->get_tile(x-1, y)->getID() != tm->get_tile(x,y)->getID())
- && (tm->get_tile(x, y-1)->getID() != tm->get_tile(x,y)->getID()))
+ if (((tm->get_tile(x-1, y)->getID() != tm->get_tile(x,y)->getID())
+ && (tm->get_tile(x, y-1)->getID() != tm->get_tile(x,y)->getID()))
|| ((x % 3 == 0) && (y % 3 == 0))) {
float pseudo_rnd = (float)((int)pos.x % 10) / 10;
- add_object(new PulsingLight(center, 1.0 + pseudo_rnd, 0.8, 1.0, Color(1.0, 0.3, 0.0, 1.0)));
+ add_object(new PulsingLight(center, 1.0f + pseudo_rnd, 0.8f, 1.0f, Color(1.0f, 0.3f, 0.0f, 1.0f)));
}
}
npos.y-=32;
player->move(npos);
}
-
+
camera->reset(player->get_pos());
update_game_objects();
{
return Rect(
camera->get_translation() - Vector(1600, 1200),
- camera->get_translation() + Vector(1600, 1200));
+ camera->get_translation() + Vector(1600, 1200) + Vector(SCREEN_WIDTH,SCREEN_HEIGHT));
}
void
moving_objects.erase(
std::find(moving_objects.begin(), moving_objects.end(), moving_object));
}
-
+
if(_current == this)
try_unexpose(object);
}
}
if(show_collrects) {
- Color col(0.2, 0.2, 0.2, 0.7);
+ Color col(0.2f, 0.2f, 0.2f, 0.7f);
for(MovingObjects::iterator i = moving_objects.begin();
i != moving_objects.end(); ++i) {
MovingObject* object = *i;
}
}
-static const float DELTA = .001;
+static const float DELTA = .001f;
void
Sector::collision_tilemap(collision::Constraints* constraints,
const MovingObject* moving_object = *i;
if (moving_object == ignore_object) continue;
if (!moving_object->is_valid()) continue;
- if ((moving_object->get_group() == COLGROUP_MOVING)
+ if ((moving_object->get_group() == COLGROUP_MOVING)
|| (moving_object->get_group() == COLGROUP_MOVING_STATIC)
|| (moving_object->get_group() == COLGROUP_STATIC)) {
if(intersects(rect, moving_object->get_bbox())) return false;