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