summaryrefslogtreecommitdiffstats
path: root/level.h
blob: db543206b4f9829356f60a7f2040db9b0565c6a1 (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 LEVEL_H_
#define LEVEL_H_

typedef struct _VERTEX {
  float x, y;
} VERTEX;

typedef struct _ROOM {
  unsigned int nVertices;
  VERTEX *vertices;
} ROOM;

typedef struct _LEVEL {
  unsigned int nRooms;
  ROOM *rooms;
} LEVEL;

void addRoom(LEVEL *lvl, ROOM *room);
void deleteRoom(LEVEL *lvl, unsigned int n);

void addVertex(ROOM *room, VERTEX *v);
void insertVertex(ROOM *room, VERTEX *v, unsigned int n);
void deleteVertex(ROOM *room, unsigned int n);

void freeLevel(LEVEL *lvl);

#endif /*LEVEL_H_*/