fixed bug

This commit is contained in:
Anselme 2016-05-19 11:39:03 +02:00
parent f36b1af00b
commit 42f646d02c
3 changed files with 14 additions and 8 deletions

2
.gitignore vendored
View File

@ -2,4 +2,6 @@
build* build*
*.so *.so
teams/*.dll teams/*.dll
teams/*.so
generators/*.dll generators/*.dll
generators/*.so

View File

@ -47,7 +47,7 @@ void create_biome_random(Map &map, int type);
int check_nears_biomes(int x, int y); int check_nears_biomes(int x, int y);
int check_nears_spawn(Map &map, int x, int y); int check_nears_spawn(Map &map, int x, int y);
int in_radius(int x,int y,t_biome e); int in_radius(int x,int y,t_biome e);
int generate(int x, int y); Pixel::Type generate(int x, int y);
void init_generator(); void init_generator();
extern "C" void generate(Map *mapPtr) extern "C" void generate(Map *mapPtr)
@ -92,7 +92,7 @@ extern "C" void generate(Map *mapPtr)
if (i == 0 || j == 0 || i == width-1 || j == height-1) if (i == 0 || j == 0 || i == width-1 || j == height-1)
map[i][j].type = Pixel::BEDROCK; map[i][j].type = Pixel::BEDROCK;
else else
map[i][j].type = generate(i,j); map[i][j].type = generate(i, j);
} }
} }
@ -179,7 +179,7 @@ int in_radius(int x,int y,t_biome e){
return d < e.radius ? d : -1; return d < e.radius ? d : -1;
} }
int generate(int x, int y){ Pixel::Type generate(int x, int y){
int i, j; int i, j;
int proba[5]; int proba[5];
int sum, dist, ratio, val, seuil=0; int sum, dist, ratio, val, seuil=0;
@ -211,7 +211,7 @@ int generate(int x, int y){
for (i=0;i<5;i++){ for (i=0;i<5;i++){
seuil += proba[i]; seuil += proba[i];
if(val < seuil) if(val < seuil)
return i+1; return Pixel::Type(i+1);
} }
}else{ }else{
val = rand()%100; val = rand()%100;

View File

@ -14,7 +14,8 @@
DrawWidget::DrawWidget(QWidget *parent) : DrawWidget::DrawWidget(QWidget *parent) :
QOpenGLWidget(parent), QOpenGLWidget(parent),
m_Qt_fbo(NULL), m_Qt_fbo(NULL),
m_pipeline(NULL) m_pipeline(NULL),
m_map(NULL)
{ {
new_simulation = false; new_simulation = false;
update_needed = false; update_needed = false;
@ -80,7 +81,7 @@ void DrawWidget::startSimulation(MapScene *map)
void DrawWidget::mouseMoveEvent(QMouseEvent *event) void DrawWidget::mouseMoveEvent(QMouseEvent *event)
{ {
if(grabbedMouse) if(grabbedMouse && m_pipeline != NULL)
{ {
m_pipeline->cameraMove(event->globalX() - lastMousePos.x(), event->globalY() - lastMousePos.y()); m_pipeline->cameraMove(event->globalX() - lastMousePos.x(), event->globalY() - lastMousePos.y());
repaint(); repaint();
@ -120,6 +121,9 @@ void DrawWidget::mouseReleaseEvent(QMouseEvent* event)
void DrawWidget::wheelEvent(QWheelEvent *event) void DrawWidget::wheelEvent(QWheelEvent *event)
{ {
m_pipeline->cameraZoom(event->delta()); if(m_pipeline != NULL)
repaint(); {
m_pipeline->cameraZoom(event->delta());
repaint();
}
} }