Blame projects/forest/chunk.h
|
Ivan Mahonin |
3395b9 |
#ifndef CHUNK_H
|
|
Ivan Mahonin |
3395b9 |
#define CHUNK_H
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
#include "common.h"
|
|
Ivan Mahonin |
3395b9 |
#include "tree.h"
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
#define CHUNK_WIDTH 10
|
|
Ivan Mahonin |
3395b9 |
#define CHUNK_HEIGHT 2
|
|
Ivan Mahonin |
3395b9 |
#define CHUNK_GROUND_SUBDIVISIONS 3
|
|
Ivan Mahonin |
3395b9 |
#define CHUNK_GROUND_POINTS ((1 << CHUNK_GROUND_SUBDIVISIONS) + 1)
|
|
Ivan Mahonin |
3395b9 |
#define CHUNK_MAX_TREES 1
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
typedef struct {
|
|
Ivan Mahonin |
3395b9 |
int index;
|
|
Ivan Mahonin |
3395b9 |
int seed;
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
double x, y;
|
|
Ivan Mahonin |
3395b9 |
double width;
|
|
Ivan Mahonin |
3395b9 |
double dy;
|
|
Ivan Mahonin |
3395b9 |
double ground[CHUNK_GROUND_POINTS];
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
int treeCount;
|
|
Ivan Mahonin |
3395b9 |
Tree trees[CHUNK_MAX_TREES];
|
|
Ivan Mahonin |
3395b9 |
} Chunk;
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
void chunkGenerate(Chunk *c, int rootSeed, const Chunk *base, int offset);
|
|
Ivan Mahonin |
3395b9 |
double chunkGroundLevel(const Chunk *c, double x);
|
|
Ivan Mahonin |
3395b9 |
void chunkDraw(const Chunk *c, double time, int flags);
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
|
|
Ivan Mahonin |
3395b9 |
#endif
|