aboutsummaryrefslogtreecommitdiffstats
path: root/include/World.h
blob: 08ecabb4095803150ea2412cec5ef48d4923a5c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#ifndef WORLD_H
#define WORLD_H

#include <common.h>

#define goWorldLeft(w)  if(w->toLeft){w=w->toLeft;}
#define goWorldRight(w) if(w->toRight){w=w->toRight;}

class World {
private:
	struct line_t {
		// x = 2.0 (window width) / HLINES
		double start; // Where to change to dirt, going down (y)
	} __attribute__ ((packed)) *line;
	unsigned int lineCount;
public:
	World *toLeft,*toRight;
	World(void);
	World(const float width,World *l,World *r);
	void draw(void);
	void detect(vec2 *v,const float width);
	float getWidth(void);
	void saveToFile(FILE *f,World *parent);
	void loadFromFile(FILE *f,World *parent);
};

#endif // WORLD_H