summaryrefslogtreecommitdiff
path: root/noncore/games
authorsudonix <sudonix>2004-02-26 02:25:15 (UTC)
committer sudonix <sudonix>2004-02-26 02:25:15 (UTC)
commitb339031e14a607ff18e404e0395b1c2782b92fdc (patch) (side-by-side diff)
treeecd65299976322166ee5dfb2c30f045dd542c1e1 /noncore/games
parentcb72ff620022306e493421006b024b971449f864 (diff)
downloadopie-b339031e14a607ff18e404e0395b1c2782b92fdc.zip
opie-b339031e14a607ff18e404e0395b1c2782b92fdc.tar.gz
opie-b339031e14a607ff18e404e0395b1c2782b92fdc.tar.bz2
SDL includes corrected, CRs in some files removed, just for consistency :)
Diffstat (limited to 'noncore/games') (more/less context) (show whitespace changes)
-rw-r--r--noncore/games/sfcave-sdl/animatedimage.cpp4
-rw-r--r--noncore/games/sfcave-sdl/animatedimage.h2
-rw-r--r--noncore/games/sfcave-sdl/bfont.cpp2
-rw-r--r--noncore/games/sfcave-sdl/bfont.h2
-rw-r--r--noncore/games/sfcave-sdl/fly_game.cpp2
-rw-r--r--noncore/games/sfcave-sdl/fly_game.h2
-rw-r--r--noncore/games/sfcave-sdl/flyterrain.cpp3
-rw-r--r--noncore/games/sfcave-sdl/flyterrain.h2
-rw-r--r--noncore/games/sfcave-sdl/font.h2
-rw-r--r--noncore/games/sfcave-sdl/game.cpp4
-rw-r--r--noncore/games/sfcave-sdl/gates_game.cpp2
-rw-r--r--noncore/games/sfcave-sdl/gates_game.h2
-rw-r--r--noncore/games/sfcave-sdl/help.cpp2
-rw-r--r--noncore/games/sfcave-sdl/help.h0
-rw-r--r--noncore/games/sfcave-sdl/menu.cpp4
-rw-r--r--noncore/games/sfcave-sdl/menu.h2
-rw-r--r--noncore/games/sfcave-sdl/player.cpp4
-rw-r--r--noncore/games/sfcave-sdl/rect.h2
-rw-r--r--noncore/games/sfcave-sdl/sfcave-sdl.pro0
-rw-r--r--noncore/games/sfcave-sdl/sfcave.cpp4
-rw-r--r--noncore/games/sfcave-sdl/sfcave.h2
-rw-r--r--noncore/games/sfcave-sdl/sfcave_game.cpp2
-rw-r--r--noncore/games/sfcave-sdl/sfcave_game.h2
-rw-r--r--noncore/games/sfcave-sdl/sound.cpp0
-rw-r--r--noncore/games/sfcave-sdl/sound.h4
-rw-r--r--noncore/games/sfcave-sdl/starfield.cpp4
-rw-r--r--noncore/games/sfcave-sdl/starfield.h0
-rw-r--r--noncore/games/sfcave-sdl/stringtokenizer.h0
-rw-r--r--noncore/games/sfcave-sdl/terrain.cpp6
-rw-r--r--noncore/games/sfcave-sdl/terrain.h2
-rw-r--r--noncore/games/sfcave-sdl/util.cpp2
-rw-r--r--noncore/games/sfcave-sdl/util.h0
32 files changed, 35 insertions, 36 deletions
diff --git a/noncore/games/sfcave-sdl/animatedimage.cpp b/noncore/games/sfcave-sdl/animatedimage.cpp
index 441c647..680b603 100644
--- a/noncore/games/sfcave-sdl/animatedimage.cpp
+++ b/noncore/games/sfcave-sdl/animatedimage.cpp
@@ -1,50 +1,50 @@
-#include "SDL.h"
-#include "SDL_image.h"
+#include <SDL/SDL.h>
+#include <SDL/SDL_image.h>
#include "constants.h"
#include "animatedimage.h"
AnimatedImage :: AnimatedImage( string file, int nFrames )
{
nrFrames = nFrames;
currentFrame = 0;
// Load image
image = IMG_Load( (const char *)file.c_str() );
if ( !image )
{
nrFrames = 0;
image = 0;
return;
}
SDL_SetColorKey(image, SDL_SRCCOLORKEY | SDL_RLEACCEL, SDL_MapRGB( image->format, 0, 0, 0 ) );
frameWidth = image->w/nrFrames;
frameHeight = image->h;
}
AnimatedImage :: ~AnimatedImage()
{
if ( image != 0 )
SDL_FreeSurface( image );
}
bool AnimatedImage :: nextFrame()
{
bool rc = true;
currentFrame ++;
if ( currentFrame >= nrFrames )
{
currentFrame --;
rc = false;
}
return rc;
}
void AnimatedImage :: draw( SDL_Surface *screen, int x, int y )
{
if ( !image )
return;
SDL_Rect dst;
diff --git a/noncore/games/sfcave-sdl/animatedimage.h b/noncore/games/sfcave-sdl/animatedimage.h
index 3c03f52..ecebf03 100644
--- a/noncore/games/sfcave-sdl/animatedimage.h
+++ b/noncore/games/sfcave-sdl/animatedimage.h
@@ -1,25 +1,25 @@
#ifndef __ANIMATED_IMAGE_H
#define __ANIMATED_IMAGE_H
-#include "SDL.h"
+#include <SDL/SDL.h>
class AnimatedImage
{
public:
AnimatedImage( string file, int nFrames );
~AnimatedImage();
bool nextFrame();
void draw( SDL_Surface *screen, int x, int y );
bool AtEnd();
void reset() { currentFrame = 0; }
private:
SDL_Surface *image;
int nrFrames;
int currentFrame;
int frameWidth;
int frameHeight;
};
#endif
diff --git a/noncore/games/sfcave-sdl/bfont.cpp b/noncore/games/sfcave-sdl/bfont.cpp
index 7dec8f5..3ba0f4f 100644
--- a/noncore/games/sfcave-sdl/bfont.cpp
+++ b/noncore/games/sfcave-sdl/bfont.cpp
@@ -1,60 +1,60 @@
/***********************************************************/
/* */
/* BFONT.c v. 1.0.2 - Billi Font Library by Diego Billi */
/* BFONT++ C++ port by Gianluigi Davassi */
/***********************************************************/
#include "iostream"
using namespace std;
#include "string.h"
#include "stdlib.h"
#include "stdarg.h"
-#include "SDL_image.h"
+#include <SDL/SDL_image.h>
#include "bfont.h"
void BFont::InitFont()
{
int x = 0, i = '!';
Uint32 sentry = GetPixel(0,0);
if (SDL_MUSTLOCK(Surface))
SDL_LockSurface(Surface);
while ( x < (Surface->w-1))
{
if(GetPixel(x,0) != sentry)
{
Chars[i].x = x;
Chars[i].y = 1;
Chars[i].h = Surface->h;
for (; GetPixel(x, 0) != sentry && x < (Surface->w); ++x) ;
Chars[i].w = (x - Chars[i].x);
i++;
} else
{ x++; }
}
Chars[' '].x = 0;
Chars[' '].y = 0;
Chars[' '].h = Surface->h;
Chars[' '].w = Chars['!'].w;
if (SDL_MUSTLOCK(Surface))
SDL_UnlockSurface(Surface);
h = Surface->h;
SDL_SetColorKey(Surface, SDL_SRCCOLORKEY, GetPixel(0, Surface->h-1));
}
/* Load the font and stores it in the BFont_Info structure */
void BFont::LoadFont (const char *filename)
{
SDL_Surface *surface(NULL);
int x;
// tutta roba inutile in C++.... :-)
/* BFont_Info *Font=NULL;
Font = (BFont_Info *) malloc(sizeof(BFont_Info));*/
if ((filename != NULL ) && (this != NULL))
{
diff --git a/noncore/games/sfcave-sdl/bfont.h b/noncore/games/sfcave-sdl/bfont.h
index dee97f1..5c2d7e7 100644
--- a/noncore/games/sfcave-sdl/bfont.h
+++ b/noncore/games/sfcave-sdl/bfont.h
@@ -1,60 +1,60 @@
/************************************************************
BFONT v. 1.0.2 - Billi Font Library by Diego Billi
BFONT++ C++ port by Gianluigi Davassi
************************************************************/
#ifndef __BFONT_HEADER_H__
#define __BFONT_HEADER_H__
#include <iostream>
-#include "SDL.h"
+#include <SDL/SDL.h>
class BFont
{
int h; // font height
SDL_Surface *Surface; // font surface
SDL_Rect Chars[256]; // characters width
const char* name; // font name
BFont(const BFont&);
void InitFont();
int count(const char *text);
public:
BFont(const char *__filename) // generator bill
: name(__filename)
{ LoadFont(__filename); }
~BFont()
{ SDL_FreeSurface(Surface); } // screen must be free by application
int FontHeight () // Returns the font height
{ return h; }
void SetFontHeight (int height) // Change the font height
{ h = height ; }
int CharWidth (char c) // Returns the character width of the specified font
{ return Chars[c].w; }
void LoadFont (const char *filename); // Load and store le font in the BFont structure
int PutChar (SDL_Surface *screen, int x, int y, char c); // Write a single character on the "Surface" with the current font
int TextWidth (const char *text ); // Returns the width, in pixels, of the text calculated with the current font
BFont *SetFontColor(Uint8 r, Uint8 g, Uint8 b); // Returns a new font colored with the color (r,g,b)
void PutString ( SDL_Surface *screen, int x, int y, const char *text); // Write a string on the "Surface" with the specified font
void LeftPutString ( SDL_Surface *screen, int y, const char *text); // Write a left-aligned string on the "Surface" with the specified font
void CenteredPutString ( SDL_Surface *screen, int y, const char *text); // Write a center-aligned string on the "Surface" with the specified font
void RightPutString ( SDL_Surface *screen, int y, const char *text); // Write a right-aligned string on the "Surface" with the specified font
void JustifiedPutString ( SDL_Surface *screen, int y, const char *text); // Write a justify-aligned string on the "Surface" with the specified font
// The following functions do the same task but have the classic "printf" sintax
void PrintString ( SDL_Surface *screen, int x, int y, char *fmt, ...);
void CenteredPrintString ( SDL_Surface *screen, int y, char *fmt, ...);
void RightPrintString ( SDL_Surface *screen, int y, char *fmt, ...);
void LeftPrintString ( SDL_Surface *screen, int y, char *fmt, ...);
void JustifiedPrintString ( SDL_Surface *screen, int y, char *fmt, ...);
diff --git a/noncore/games/sfcave-sdl/fly_game.cpp b/noncore/games/sfcave-sdl/fly_game.cpp
index 8b05d8f..69413ba 100644
--- a/noncore/games/sfcave-sdl/fly_game.cpp
+++ b/noncore/games/sfcave-sdl/fly_game.cpp
@@ -1,49 +1,49 @@
-#include "SDL_gfxPrimitives.h"
+#include <SDL/SDL_gfxPrimitives.h>
#include "constants.h"
#include "fly_game.h"
#include "random.h"
FlyGame :: FlyGame( SFCave *p, int w, int h, int diff )
: Game( p, w, h, diff )
{
gameName = "Fly";
difficulty = MENU_DIFFICULTY_EASY;
terrain = new FlyTerrain( w, h );
player = new Player( w, h );
highScore = 0;
}
FlyGame :: ~FlyGame()
{
// terrain and player get deleted by parent class
}
void FlyGame :: init()
{
switch( difficulty )
{
case MENU_DIFFICULTY_EASY:
player->setMovementInfo( 0.3, 0.2, 1.5, 1.5 );
break;
case MENU_DIFFICULTY_NORMAL:
player->setMovementInfo( 0.35, 0.4, 2.5, 3 );
break;
case MENU_DIFFICULTY_HARD:
player->setMovementInfo( 0.4, 0.6, 4, 5 );
break;
case MENU_DIFFICULTY_CUSTOM:
{
double thrust = parent->loadDoubleSetting( "Fly_custom_player_thrust", 0.3 );
double gravity = parent->loadDoubleSetting( "Fly_custom_player_gravity", 0.2 );
double maxUp = parent->loadDoubleSetting( "Fly_custom_player_maxupspeed", 1.5 );
double maxDown = parent->loadDoubleSetting( "Fly_custom_player_maxdownspeed", 1.5 );
player->setMovementInfo( thrust, gravity, maxUp, maxDown );
break;
}
}
startScoring = false;
Game :: init();
}
diff --git a/noncore/games/sfcave-sdl/fly_game.h b/noncore/games/sfcave-sdl/fly_game.h
index 1ab081a..f648deb 100644
--- a/noncore/games/sfcave-sdl/fly_game.h
+++ b/noncore/games/sfcave-sdl/fly_game.h
@@ -1,28 +1,28 @@
#ifndef __FLY_GAME_H
#define __FLY_GAME_H
#include "sfcave.h"
#include "flyterrain.h"
#include "player.h"
#include "game.h"
-#include "SDL.h"
+#include <SDL/SDL.h>
class FlyGame : public Game
{
public:
FlyGame( SFCave *p, int w, int h, int diff );
~FlyGame();
void init();
void update( int state );
void draw( SDL_Surface *screen );
private:
// int movePlayer;
bool startScoring;
bool checkCollisions();
};
#endif
diff --git a/noncore/games/sfcave-sdl/flyterrain.cpp b/noncore/games/sfcave-sdl/flyterrain.cpp
index b1b8db5..bffe5c9 100644
--- a/noncore/games/sfcave-sdl/flyterrain.cpp
+++ b/noncore/games/sfcave-sdl/flyterrain.cpp
@@ -1,50 +1,49 @@
-
-#include "SDL_gfxPrimitives.h"
+#include <SDL/SDL_gfxPrimitives.h>
#include "constants.h"
#include "flyterrain.h"
#include "random.h"
int FlyTerrain :: flyScoreZones[][3] = { { 0, 20, 5 },
{ 20, 30, 2 },
{ 30, 40, 0 },
{ 40, 100, -1 },
{ 100, 300, -2 },
{ -1, -1, -1 } };
FlyTerrain :: FlyTerrain( int w, int h )
: Terrain( w, h, false, true )
{
showScoreZones = true;
}
FlyTerrain :: ~FlyTerrain()
{
}
void FlyTerrain :: setPoint( int point )
{
static int fly_difficulty_levels[] = { 5, 10, 15 };
if ( nextInt(100) >= 75 )
dir *= -1;
int prevPoint = mapBottom[point-1];
int nextPoint = prevPoint + (dir * nextInt( fly_difficulty_levels[0] ) );
if ( nextPoint > sHeight )
{
nextPoint = sHeight;
dir *= -1;
}
else if ( nextPoint < maxHeight )
{
nextPoint = maxHeight;
dir *= 1;
}
mapBottom[point] = nextPoint;
}
void FlyTerrain :: drawTerrain( SDL_Surface *screen )
diff --git a/noncore/games/sfcave-sdl/flyterrain.h b/noncore/games/sfcave-sdl/flyterrain.h
index 63b5731..6258fa0 100644
--- a/noncore/games/sfcave-sdl/flyterrain.h
+++ b/noncore/games/sfcave-sdl/flyterrain.h
@@ -1,29 +1,29 @@
#ifndef __FLYTERRAIN_H
#define __FLYTERRAIN_H
-#include <SDL.h>
+#include <SDL/SDL.h>
#include "terrain.h"
class FlyTerrain : public Terrain
{
public:
FlyTerrain( int w, int h );
~FlyTerrain();
void drawTerrain( SDL_Surface *screen );
int getScore( int difficulty, int dist );
void displayScoreZones( bool val ) { showScoreZones = val; }
protected:
bool showScoreZones;
static int flyScoreZones[][3];
void setPoint( int point );
};
#endif
diff --git a/noncore/games/sfcave-sdl/font.h b/noncore/games/sfcave-sdl/font.h
index 5f0674a..ed9c590 100644
--- a/noncore/games/sfcave-sdl/font.h
+++ b/noncore/games/sfcave-sdl/font.h
@@ -1,33 +1,33 @@
#ifndef __FONT_H
#define __FONT_H
-#include "SDL.h"
+#include <SDL/SDL.h>
#include "bfont.h"
#define FONT_MENU_HIGHLIGHTED 1
#define FONT_MENU_UNHIGHLIGHTED 2
#define FONT_WHITE_TEXT 3
#define FONT_COLOURED_TEXT 4
#define FONT_HELP_FONT 5
class FontHandler
{
public:
static bool init();
static void cleanUp();
static int TextWidth( int font, const char *text );
static int FontHeight( int font );
static void draw( SDL_Surface *screen, int font, const char *text, int x, int y );
static void changeColor( int font, int r, int g, int b );
static BFont *getFont( int font );
private:
static BFont *menuSelFont;
static BFont *menuUnSelFont;
static BFont *whiteFont;
static BFont *colouredFont;
static BFont *helpFont;
};
#endif
diff --git a/noncore/games/sfcave-sdl/game.cpp b/noncore/games/sfcave-sdl/game.cpp
index 1ee0230..bf9c46f 100644
--- a/noncore/games/sfcave-sdl/game.cpp
+++ b/noncore/games/sfcave-sdl/game.cpp
@@ -1,53 +1,53 @@
#include <stdio.h>
#include <time.h>
-#include <SDL.h>
-#include <SDL_image.h>
+#include <SDL/SDL.h>
+#include <SDL/SDL_image.h>
#include "font.h"
#include "constants.h"
#include "game.h"
#include "player.h"
#include "random.h"
#include "sound.h"
#include "stringtokenizer.h"
#include "sfcave_game.h"
#include "gates_game.h"
#include "fly_game.h"
#include "starfield.h"
Game :: Game( SFCave *p, int w, int h, int diff )
{
parent = p;
sHeight = h;
sWidth = w;
difficulty = diff;
replayIt = 0;
replay = false;
terrain = 0;
player = 0;
thrustChannel = -1;
}
Game :: ~Game()
{
if ( terrain )
delete terrain;
if ( player )
delete player;
replayList.clear();
}
void Game :: init()
{
if ( replay )
{
setSeed( currentSeed );
replayIt = replayList.begin();
}
else
{
diff --git a/noncore/games/sfcave-sdl/gates_game.cpp b/noncore/games/sfcave-sdl/gates_game.cpp
index 700a6ec..638658b 100644
--- a/noncore/games/sfcave-sdl/gates_game.cpp
+++ b/noncore/games/sfcave-sdl/gates_game.cpp
@@ -1,49 +1,49 @@
-#include "SDL_gfxPrimitives.h"
+#include <SDL/SDL_gfxPrimitives.h>
#include "constants.h"
#include "gates_game.h"
#include "random.h"
GatesGame :: GatesGame( SFCave *p, int w, int h, int diff )
: Game( p, w, h, diff )
{
gameName = "Gates";
difficulty = MENU_DIFFICULTY_EASY;
blockUpdateRate = 200;
terrain = new Terrain( w, h );
player = new Player( w, h );
highScore = 0;
}
GatesGame :: ~GatesGame()
{
// terrain and player get deleted by parent class
}
void GatesGame :: init()
{
blockHeight = 80;
blockWidth = 20;
lastGateBottomY = 0;
gateDistance = 75;
nextGate = nextInt( 50 ) + gateDistance;
gapHeight = 75;
switch( difficulty )
{
case MENU_DIFFICULTY_EASY:
gapHeight = 75;
player->setMovementInfo( 0.4, 0.6, 4, 5 );
break;
case MENU_DIFFICULTY_NORMAL:
gapHeight = 50;
player->setMovementInfo( 0.4, 0.6, 4, 5 );
break;
case MENU_DIFFICULTY_HARD:
gapHeight = 25;
player->setMovementInfo( 0.6, 0.8, 6, 7 );
break;
case MENU_DIFFICULTY_CUSTOM:
{
diff --git a/noncore/games/sfcave-sdl/gates_game.h b/noncore/games/sfcave-sdl/gates_game.h
index 8499ff9..b44336a 100644
--- a/noncore/games/sfcave-sdl/gates_game.h
+++ b/noncore/games/sfcave-sdl/gates_game.h
@@ -1,45 +1,45 @@
#ifndef __GATES_GAME_H
#define __GATES_GAME_H
-#include "SDL.h"
+#include <SDL/SDL.h>
#include "rect.h"
#include "sfcave.h"
#include "terrain.h"
#include "player.h"
#include "game.h"
class GatesGame : public Game
{
public:
GatesGame( SFCave *p, int w, int h, int diff );
~GatesGame();
void init();
void update( int state );
void draw( SDL_Surface *screen );
private:
int gapHeight;
int gateDistance;
int nextGate;
int lastGateBottomY;
int blockDistance;
int blockHeight;
int blockWidth;
int blockUpdateRate;
Rect blocks[BLOCKSIZE];
void addGate();
void moveBlocks( int amountToMove );
void drawBlocks( SDL_Surface *screen );
bool checkCollisions();
};
#endif
diff --git a/noncore/games/sfcave-sdl/help.cpp b/noncore/games/sfcave-sdl/help.cpp
index f1728f6..0a7924b 100644
--- a/noncore/games/sfcave-sdl/help.cpp
+++ b/noncore/games/sfcave-sdl/help.cpp
@@ -1,49 +1,49 @@
-#include "SDL.h"
+#include <SDL/SDL.h>
#include "constants.h"
#include "font.h"
#include "help.h"
#include "sfcave.h"
#include "starfield.h"
Help :: Help( SFCave *p )
{
parent = p;
stars = new StarField( false, 200 );
loadText();
init();
}
Help :: ~Help()
{
delete stars;
}
void Help :: handleKeys( SDL_KeyboardEvent &key )
{
if ( key.type == SDL_KEYDOWN )
{
if ( key.keysym.sym == SDLK_SPACE )
parent->changeState( STATE_MENU );
else if ( key.keysym.sym == SDLK_DOWN )
textSpeed = 5;
else if ( key.keysym.sym == SDLK_UP )
{
if ( textSpeed > 0 )
textSpeed = 0;
else textSpeed = 1;
}
}
else if ( key.type == SDL_KEYUP )
{
if ( key.keysym.sym == SDLK_DOWN )
textSpeed = 1;
}
}
void Help :: init()
{
startPos = 320;
currLine = 0;
diff --git a/noncore/games/sfcave-sdl/help.h b/noncore/games/sfcave-sdl/help.h
index dc9e80e..2cc32cd 100644
--- a/noncore/games/sfcave-sdl/help.h
+++ b/noncore/games/sfcave-sdl/help.h
diff --git a/noncore/games/sfcave-sdl/menu.cpp b/noncore/games/sfcave-sdl/menu.cpp
index a4a4216..fb2a635 100644
--- a/noncore/games/sfcave-sdl/menu.cpp
+++ b/noncore/games/sfcave-sdl/menu.cpp
@@ -1,50 +1,50 @@
-#include <SDL_image.h>
-#include "SDL_rotozoom.h"
+#include <SDL/SDL_image.h>
+#include <SDL/SDL_rotozoom.h>
#include "constants.h"
#include "sfcave.h"
#include "game.h"
#include "menu.h"
#include "font.h"
#include "starfield.h"
MenuOption :: MenuOption( string text, int id )
{
menuText = text;
menuId = id;
nextMenu = 0;
highlighted = false;
}
MenuOption :: ~MenuOption()
{
}
int MenuOption :: draw( SDL_Surface *screen, int y )
{
if ( highlighted )
{
int x = (240 - FontHandler::TextWidth( FONT_MENU_HIGHLIGHTED, (const char *)menuText.c_str() ))/2;
FontHandler::draw( screen, FONT_MENU_HIGHLIGHTED, (const char *)menuText.c_str(), x, y );
return FontHandler::FontHeight( FONT_MENU_HIGHLIGHTED );
}
else
{
int x = (240 - FontHandler::TextWidth( FONT_MENU_UNHIGHLIGHTED, (const char *)menuText.c_str() ))/2;
FontHandler::draw( screen, FONT_MENU_UNHIGHLIGHTED, (const char *)menuText.c_str(), x, y );
return FontHandler::FontHeight( FONT_MENU_UNHIGHLIGHTED );
}
}
void MenuOption :: setNextMenu( Menu *item, bool down )
{
nextMenu = item;
downMenuTree = down;
}
//----------------- Menu Class -------------
SDL_Surface * Menu :: sfcaveTextImage;
diff --git a/noncore/games/sfcave-sdl/menu.h b/noncore/games/sfcave-sdl/menu.h
index 6a5ef40..c263bcc 100644
--- a/noncore/games/sfcave-sdl/menu.h
+++ b/noncore/games/sfcave-sdl/menu.h
@@ -1,55 +1,55 @@
#ifndef __MENU_H
#define __MENU_H
#include <list>
using namespace std;
-#include <SDL.h>
+#include <SDL/SDL.h>
class SFCave;
class StarField;
class Menu;
class MenuOption
{
public:
MenuOption( string text, int id );
~MenuOption();
void highlight( bool val ) { highlighted = val; }
int draw( SDL_Surface *screen, int y );
void setNextMenu( Menu *item, bool down = true );
Menu *getNextMenu() { return nextMenu; }
int getMenuId() { return menuId; }
bool isDownMenuTree() { return downMenuTree; }
private:
int menuId;
string menuText;
bool highlighted;
bool downMenuTree;
Menu *nextMenu;
};
class Menu
{
public:
Menu( SFCave *p );
~Menu();
void draw( SDL_Surface *screen );
int handleKeys( SDL_KeyboardEvent & );
MenuOption *addMenuOption( string text, int id );
void resetToTopMenu();
void initCurrentMenu();
void setStatusText( string text ) { statusText = text; }
protected:
private:
static SDL_Surface * sfcaveTextImage;
int angle;
static Menu *mainMenu;
diff --git a/noncore/games/sfcave-sdl/player.cpp b/noncore/games/sfcave-sdl/player.cpp
index f024d6b..b491e53 100644
--- a/noncore/games/sfcave-sdl/player.cpp
+++ b/noncore/games/sfcave-sdl/player.cpp
@@ -1,50 +1,50 @@
-#include <SDL.h>
-#include "SDL_gfxPrimitives.h"
+#include <SDL/SDL.h>
+#include <SDL/SDL_gfxPrimitives.h>
#include "constants.h"
#include "player.h"
#include "random.h"
#include "animatedimage.h"
Player :: Player( int w, int h )
{
sWidth = w;
sHeight = h;
thrust = 0.4;
gravity = 0.6;
maxUpSpeed = 4.0;
maxDownSpeed = 5.0;
explosion = new AnimatedImage( IMAGES_PATH "explosion.bmp", 15 );
init();
}
Player :: ~Player()
{
if ( explosion )
delete explosion;
}
void Player :: init()
{
// Set player position
pos.x( 50 );
pos.y( sWidth/2 );
pos.h( 2 );
pos.w( 4 );
currentThrust = 0;
crashing = false;
crashLineLength = 0;
crashed = false;
explosion->reset();
allFaded = false;
expNextFrame = false;
// Reset Trail
for ( int i = 0 ; i < TRAILSIZE ; ++i )
{
trail[i].x( -1 );
trail[i].y( 0 );
trail[i].w( 2 );
trail[i].h( 2 );
diff --git a/noncore/games/sfcave-sdl/rect.h b/noncore/games/sfcave-sdl/rect.h
index dc9c9d5..30f082c 100644
--- a/noncore/games/sfcave-sdl/rect.h
+++ b/noncore/games/sfcave-sdl/rect.h
@@ -1,52 +1,52 @@
#ifndef __RECT_H
#define __RECT_H
-#include "SDL.h"
+#include <SDL/SDL.h>
class Rect
{
public:
Rect() { r.x = r.y = r.w = r.h = 0; }
Rect( int x, int y, int w, int h ) { setRect( x, y, w, h ); }
~Rect() {}
void setRect( int x, int y, int w, int h ) { r.x = x; r.y = y; r.w = w; r.h = h; }
SDL_Rect getRect() { return r; }
int x() { return r.x; }
int y() { return r.y; }
int w() { return r.w; }
int h() { return r.h; }
void x( int x) { r.x = x; }
void y( int y) { r.y = y; }
void w( int w) { r.w = w; }
void h( int h) { r.h = h; }
void moveBy( int x, int y )
{
r.x += x;
r.y += y;
}
bool intersects( Rect r2 )
{
int tw = r.w;
int th = r.h;
int rw = r2.w();
int rh = r2.h();
if (rw <= 0 || rh <= 0 || tw <= 0 || th <= 0) {
return false;
}
int tx = r.x;
int ty = r.y;
int rx = r2.x();
int ry = r2.y();
rw += rx;
rh += ry;
tw += tx;
th += ty;
// overflow || intersect
return ((rw < rx || rw > tx) &&
(rh < ry || rh > ty) &&
(tw < tx || tw > rx) &&
diff --git a/noncore/games/sfcave-sdl/sfcave-sdl.pro b/noncore/games/sfcave-sdl/sfcave-sdl.pro
index a4eb918..a02eeb3 100644
--- a/noncore/games/sfcave-sdl/sfcave-sdl.pro
+++ b/noncore/games/sfcave-sdl/sfcave-sdl.pro
diff --git a/noncore/games/sfcave-sdl/sfcave.cpp b/noncore/games/sfcave-sdl/sfcave.cpp
index dbd788c..5d1cdd5 100644
--- a/noncore/games/sfcave-sdl/sfcave.cpp
+++ b/noncore/games/sfcave-sdl/sfcave.cpp
@@ -1,56 +1,56 @@
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <sys/timeb.h>
-#include "SDL.h"
-#include "SDL_gfxPrimitives.h"
+#include <SDL/SDL.h>
+#include <SDL/SDL_gfxPrimitives.h>
#include "constants.h"
#include "sound.h"
#include "menu.h"
#include "help.h"
#include "game.h"
#include "terrain.h"
#include "random.h"
#include "sfcave.h"
#include "font.h"
#include "settings.h"
#include "util.h"
#include "sfcave_game.h"
#include "gates_game.h"
#include "fly_game.h"
void start( int argc, char *argv[] )
{
SFCave *app = new SFCave( argc, argv );
app->mainEventLoop();
delete app;
}
#ifdef __cplusplus
extern "C"
#endif
int main(int argc, char *argv[])
{
start( argc, argv );
return 0;
}
SFCave :: SFCave( int argc, char *argv[] )
{
setupOK = false;
// Load settings
string diff = loadSetting( "GameDifficulty", "Easy" );
string game = loadSetting( "GameType", "SFCave" );
musicPath = loadSetting( "MusicPath", SOUND_PATH );
musicType = loadSetting( "MusicType", "mod,ogg" );
bool soundOn = loadBoolSetting( "SoundOn", true );
bool musicOn = loadBoolSetting( "MusicOn", true );
if ( musicPath[musicPath.size()-1] != '/' )
musicPath += "/";
diff --git a/noncore/games/sfcave-sdl/sfcave.h b/noncore/games/sfcave-sdl/sfcave.h
index c707919..4e45ec2 100644
--- a/noncore/games/sfcave-sdl/sfcave.h
+++ b/noncore/games/sfcave-sdl/sfcave.h
@@ -1,52 +1,52 @@
#ifndef __SFCAVE_H
#define __SFCAVE_H
-#include "SDL.h"
+#include <SDL/SDL.h>
#include "terrain.h"
class Game;
class Menu;
class Help;
class SFCave
{
public:
SFCave( int argc, char *argv[] );
~SFCave();
void initSDL( int argc, char *argv[] );
void mainEventLoop();
void setCrashed( bool val );
void changeState( int s );
int getState() { return state; }
Game *getCurrentGame() { return currentGame; }
int getFPS() { return actualFPS; }
bool showFPS() { return showFps; }
void setMenuStatusText( string statusText );
void saveSetting( string key, string val );
void saveSetting( string key, int val );
void saveSetting( string key, long val );
void saveSetting( string key, double val );
string loadSetting( string key, string defaultVal = "" );
bool loadBoolSetting( string key, bool defaultVal);
int loadIntSetting( string key, int defaultVal );
double loadDoubleSetting( string key, double defaultVal );
private:
SDL_Surface *screen;
bool setupOK;
Game *currentGame;
Menu *menu;
Help *help;
int state;
bool showFps;
string musicPath;
string musicType;
bool finish;
bool limitFPS;
diff --git a/noncore/games/sfcave-sdl/sfcave_game.cpp b/noncore/games/sfcave-sdl/sfcave_game.cpp
index 8fdbbe5..ccdd625 100644
--- a/noncore/games/sfcave-sdl/sfcave_game.cpp
+++ b/noncore/games/sfcave-sdl/sfcave_game.cpp
@@ -1,49 +1,49 @@
-#include "SDL_gfxPrimitives.h"
+#include <SDL/SDL_gfxPrimitives.h>
#include "constants.h"
#include "sfcave_game.h"
#include "random.h"
SFCaveGame :: SFCaveGame( SFCave *p, int w, int h, int diff )
: Game( p, w, h, diff )
{
gameName = "SFCave";
difficulty = MENU_DIFFICULTY_EASY;
blockUpdateRate = 200;
terrain = new Terrain( w, h );
player = new Player( w, h );
highScore = 0;
}
SFCaveGame :: ~SFCaveGame()
{
}
void SFCaveGame :: init()
{
blockDistance = 50;
blockHeight = 80;
blockWidth = 20;
switch( difficulty )
{
case MENU_DIFFICULTY_EASY:
blockDistance = 50;
break;
case MENU_DIFFICULTY_NORMAL:
blockDistance = 40;
break;
case MENU_DIFFICULTY_HARD:
blockDistance = 30;
break;
case MENU_DIFFICULTY_CUSTOM:
{
// Read custom difficulty settings for this game
blockDistance = parent->loadIntSetting( "SFCave_custom_blockdistance", 50 );
double thrust = parent->loadDoubleSetting( "SFCave_custom_player_thrust", 0.4 );
double gravity = parent->loadDoubleSetting( "SFCave_custom_player_gravity", 0.6 );
double maxUp = parent->loadDoubleSetting( "SFCave_custom_player_maxupspeed", 4.0 );
double maxDown = parent->loadDoubleSetting( "SFCave_custom_player_maxdownspeed", 5.0 );
player->setMovementInfo( thrust, gravity, maxUp, maxDown );
diff --git a/noncore/games/sfcave-sdl/sfcave_game.h b/noncore/games/sfcave-sdl/sfcave_game.h
index 92a0f5d..6dddf5e 100644
--- a/noncore/games/sfcave-sdl/sfcave_game.h
+++ b/noncore/games/sfcave-sdl/sfcave_game.h
@@ -1,39 +1,39 @@
#ifndef __SFCAVE_GAME_H
#define __SFCAVE_GAME_H
-#include "SDL.h"
+#include <SDL/SDL.h>
#include "rect.h"
#include "sfcave.h"
#include "terrain.h"
#include "player.h"
#include "game.h"
class SFCaveGame : public Game
{
public:
SFCaveGame( SFCave *p, int w, int h, int diff );
~SFCaveGame();
void init();
void update( int state );
void draw( SDL_Surface *screen );
private:
int blockDistance;
int blockHeight;
int blockWidth;
int blockUpdateRate;
Rect blocks[BLOCKSIZE];
void addBlock();
void moveBlocks( int amountToMove );
void drawBlocks( SDL_Surface *screen );
bool checkCollisions();
};
#endif
diff --git a/noncore/games/sfcave-sdl/sound.cpp b/noncore/games/sfcave-sdl/sound.cpp
index 855f2e6..0be1abf 100644
--- a/noncore/games/sfcave-sdl/sound.cpp
+++ b/noncore/games/sfcave-sdl/sound.cpp
diff --git a/noncore/games/sfcave-sdl/sound.h b/noncore/games/sfcave-sdl/sound.h
index d46b5bc..180429a 100644
--- a/noncore/games/sfcave-sdl/sound.h
+++ b/noncore/games/sfcave-sdl/sound.h
@@ -1,35 +1,35 @@
#ifndef __SOUND_H
#define __SOUND_H
-#include <SDL.h>
-#include "SDL_mixer.h"
+#include <SDL/SDL.h>
+#include <SDL/SDL_mixer.h>
#define NR_SOUNDS 3
class SoundHandler
{
public:
static bool init();
static void cleanUp();
static int playSound( int soundNr, int channel = -1, int nrLoops = 0, int playBeforeFinished = false );
static void stopSound( int channel, bool fadeOut, int nrMilliSecs = 1000 );
static void setSoundsOn( bool val );
static void setMusicOn( bool val );
static void playMusic( string musicFile );
static void playMusic( bool fadeIn = false );
static void stopMusic( bool fadeOut = false );
static void setMusicVolume( int vol );
private:
static Mix_Music *music;
static Mix_Chunk *sounds[NR_SOUNDS];
static int soundChannels[NR_SOUNDS];
static bool soundOn;
static bool musicOn;
SoundHandler() {}
};
#endif
diff --git a/noncore/games/sfcave-sdl/starfield.cpp b/noncore/games/sfcave-sdl/starfield.cpp
index 82edfc1..3b26895 100644
--- a/noncore/games/sfcave-sdl/starfield.cpp
+++ b/noncore/games/sfcave-sdl/starfield.cpp
@@ -1,50 +1,50 @@
-#include "SDL.h"
-#include "SDL_gfxPrimitives.h"
+#include <SDL/SDL.h>
+#include <SDL/SDL_gfxPrimitives.h>
#include <stdlib.h>
#include "starfield.h"
#include "random.h"
#include "util.h"
#define VERTICAL_VELOCITY 0
StarField :: StarField( bool side, int nStars, int mx, int my, int minz, int maxz )
{
nrStars = nStars;
maxX = mx;
maxY = my;
minZ = minz;
maxZ = maxz;
min_brightness = 50;
top_star_speed = 6;
sideways = side;
if ( !sideways )
{
x = new int[nrStars];
y = new int[nrStars];
z = new int[nrStars];
star_color = 0;
vel_x = 0;
vel_y = 0;
pos_x = 0;
pos_y = 0;
}
else
{
star_color = new int[nrStars];
vel_x = new int[nrStars];
vel_y = new int[nrStars];
pos_x = new int[nrStars];
pos_y = new int[nrStars];
x = 0;
y = 0;
z = 0;
}
init();
diff --git a/noncore/games/sfcave-sdl/starfield.h b/noncore/games/sfcave-sdl/starfield.h
index ae9bd34..133cb54 100644
--- a/noncore/games/sfcave-sdl/starfield.h
+++ b/noncore/games/sfcave-sdl/starfield.h
diff --git a/noncore/games/sfcave-sdl/stringtokenizer.h b/noncore/games/sfcave-sdl/stringtokenizer.h
index 3f299a6..51daa42 100644
--- a/noncore/games/sfcave-sdl/stringtokenizer.h
+++ b/noncore/games/sfcave-sdl/stringtokenizer.h
diff --git a/noncore/games/sfcave-sdl/terrain.cpp b/noncore/games/sfcave-sdl/terrain.cpp
index b243f45..5943275 100644
--- a/noncore/games/sfcave-sdl/terrain.cpp
+++ b/noncore/games/sfcave-sdl/terrain.cpp
@@ -1,51 +1,51 @@
-#include "SDL.h"
-#include "SDL_rotozoom.h"
-#include "SDL_gfxPrimitives.h"
+#include <SDL/SDL.h>
+#include <SDL/SDL_rotozoom.h>
+#include <SDL/SDL_gfxPrimitives.h>
#include "constants.h"
#include "terrain.h"
#include "random.h"
#include "util.h"
#include "starfield.h"
Terrain :: Terrain( int w, int h, bool drawTop, bool drawBottom )
{
sWidth = w;
sHeight = h;
speed = 1;
segSize = sWidth/(MAPSIZE-2)+1;
this->drawTop = drawTop;
this->drawBottom = drawBottom;
stars = new StarField( true );
SDL_Surface *tmp = SDL_CreateRGBSurface(SDL_SWSURFACE, sWidth + 20, sHeight, 32,
0x000000ff,0x0000ff00, 0x00ff0000, 0xff000000);
terrainSurface = SDL_DisplayFormat( tmp );
SDL_FreeSurface( tmp );
initTerrain();
}
Terrain :: ~Terrain()
{
SDL_FreeSurface( terrainSurface );
delete stars;
}
void Terrain :: initTerrain()
{
dir = 1;
offset = 0;
maxHeight = 50;
mapTop[0] = (int)(nextInt(50)) + 5;
mapBottom[0] = sHeight - (maxHeight - mapTop[0]);
for ( int i = 1 ; i < MAPSIZE ; ++i )
setPoint( i );
SDL_FillRect( terrainSurface, 0, 0 );
// Draw Terrain into surface
diff --git a/noncore/games/sfcave-sdl/terrain.h b/noncore/games/sfcave-sdl/terrain.h
index 4070318..3cc9691 100644
--- a/noncore/games/sfcave-sdl/terrain.h
+++ b/noncore/games/sfcave-sdl/terrain.h
@@ -1,50 +1,50 @@
#ifndef __TERRAIN_H
#define __TERRAIN_H
-#include <SDL.h>
+#include <SDL/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
diff --git a/noncore/games/sfcave-sdl/util.cpp b/noncore/games/sfcave-sdl/util.cpp
index f73e256..743f16e 100644
--- a/noncore/games/sfcave-sdl/util.cpp
+++ b/noncore/games/sfcave-sdl/util.cpp
@@ -1,49 +1,49 @@
-#include "SDL.h"
+#include <SDL/SDL.h>
#include <dirent.h>
#include <vector>
using namespace std;
#include "util.h"
#include "random.h"
Uint32 getpixel(SDL_Surface *surface, int x, int y)
{
int bpp = surface->format->BytesPerPixel;
/* Here p is the address to the pixel we want to retrieve */
Uint8 *p = (Uint8 *)surface->pixels + y * surface->pitch + x * bpp;
switch(bpp) {
case 1:
return *p;
case 2:
return *(Uint16 *)p;
case 3:
if(SDL_BYTEORDER == SDL_BIG_ENDIAN)
return p[0] << 16 | p[1] << 8 | p[2];
else
return p[0] | p[1] << 8 | p[2] << 16;
case 4:
return *(Uint32 *)p;
default:
return 0; /* shouldn't happen, but avoids warnings */
}
}
string chooseRandomFile( string path, string fileType )
{
vector<string> files;
DIR *d = opendir( path.c_str() );
if ( !d )
return "";
struct dirent *item = readdir( d );
while ( item )
{
string file = string( path ) + item->d_name;
diff --git a/noncore/games/sfcave-sdl/util.h b/noncore/games/sfcave-sdl/util.h
index e3aa31a..a67707b 100644
--- a/noncore/games/sfcave-sdl/util.h
+++ b/noncore/games/sfcave-sdl/util.h