summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/terrain.h
Side-by-side diff
Diffstat (limited to 'noncore/games/sfcave-sdl/terrain.h') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/games/sfcave-sdl/terrain.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/noncore/games/sfcave-sdl/terrain.h b/noncore/games/sfcave-sdl/terrain.h
new file mode 100644
index 0000000..4070318
--- a/dev/null
+++ b/noncore/games/sfcave-sdl/terrain.h
@@ -0,0 +1,50 @@
+#ifndef __TERRAIN_H
+#define __TERRAIN_H
+
+#include <SDL.h>
+
+class StarField;
+class Terrain
+{
+public:
+ Terrain( int w, int h, bool drawTop = true, bool drawBottom = true );
+ virtual ~Terrain();
+
+ virtual void initTerrain();
+ virtual void moveTerrain( int amountToMove );
+ virtual bool checkCollision( int x, int y, int h );
+ virtual void drawTerrain( SDL_Surface *screen );
+
+ int getMapTop( int pos ) { return mapTop[pos]; }
+ int getMapBottom( int pos ) { return mapBottom[pos]; }
+ int getMaxHeight() { return maxHeight; }
+ void increaseMaxHeight( int amount );
+
+ int offset;
+protected:
+
+ int sWidth;
+ int sHeight;
+
+ int drawTop;
+ int drawBottom;
+
+ int mapTop[MAPSIZE];
+ int mapBottom[MAPSIZE];
+ int maxTop;
+ int maxBottom;
+
+ int maxHeight;
+ int dir;
+ int speed;
+ int segSize;
+
+ SDL_Surface *terrainSurface;
+ StarField *stars;
+
+ void setPoint( int point );
+};
+
+
+#endif
+