summaryrefslogtreecommitdiff
path: root/noncore/games/sfcave-sdl/terrain.h
authorandyq <andyq>2003-01-20 23:11:56 (UTC)
committer andyq <andyq>2003-01-20 23:11:56 (UTC)
commit92419b025aa5d82bb7592281af5505ff931c2e58 (patch) (side-by-side diff)
tree374ee9ca86ef716ce388c8a28e38261f6a04ce7a /noncore/games/sfcave-sdl/terrain.h
parent02090d2e63ad8398c0a8a9f1fb895a9c6e42514b (diff)
downloadopie-92419b025aa5d82bb7592281af5505ff931c2e58.zip
opie-92419b025aa5d82bb7592281af5505ff931c2e58.tar.gz
opie-92419b025aa5d82bb7592281af5505ff931c2e58.tar.bz2
Initial Revision
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
+