Changed: Renamed a few classes

Changed: Moved most sensible objects into the OpenArena namespace
~g2k
This commit is contained in:
2005-06-29 11:33:11 -04:00
parent f6a191d21d
commit c16a0dae6d
17 changed files with 1818 additions and 1781 deletions

View File

@@ -9,17 +9,17 @@
#include "mygl.h" #include "mygl.h"
#include "screen.h" #include "screen.h"
namespace OpenArena
class CameraClass
{ {
public: class Camera
{
public:
//Constructors //Constructors
CameraClass(); //Default Constructor Camera(); //Default Constructor
//Purpose: //Purpose:
// //
//CameraClass(const CameraClass&); //Copy Constructor //Camera(const Camera&); //Copy Constructor
//Purpose: //Purpose:
// //
@@ -55,7 +55,7 @@ public:
//Purpose: //Purpose:
// //
void SetViewByMouse(SCREEN g_Screen); void SetViewByMouse(Screen g_Screen);
//Purpose: //Purpose:
// //
@@ -79,12 +79,12 @@ public:
//Purpose: //Purpose:
// //
private:
private:
Vec3f m_vPosition; Vec3f m_vPosition;
Vec3f m_vView; Vec3f m_vView;
Vec3f m_vUpVector; Vec3f m_vUpVector;
Vec3f m_vStrafe; Vec3f m_vStrafe;
};
}; };
#endif #endif

View File

@@ -1,16 +1,20 @@
#include "vector.h" #include "vector.h"
#include "myglTexture.h" #include "myglTexture.h"
struct TRIANGLE namespace OpenArena
{ {
GL_MY_TEXTURE texture; class Triangle
{
public:
Texture texture;
uint32 texID; uint32 texID;
Vec3f vertecies[3]; Vec3f vertecies[3];
Vec2f texCoords[3]; Vec2f texCoords[3];
Vec3f normal; Vec3f normal;
};
}; };
/*//This class seems to never be used and I dont' remember why I made it.
class POSITION class Position
{ {
public: public:
GLfloat xrot; // X rotation GLfloat xrot; // X rotation
@@ -21,7 +25,7 @@ public:
GLfloat ztrans; // Z translation GLfloat ztrans; // Z translation
bool stepRight; bool stepRight;
bool stepLeft; bool stepLeft;
POSITION() Position()
{ {
xtrans = 0.0f; xtrans = 0.0f;
ytrans = 0.0f; ytrans = 0.0f;
@@ -33,3 +37,4 @@ public:
private: private:
}; };
*/

View File

@@ -30,21 +30,24 @@
#include "keys.h" #include "keys.h"
using namespace std; using namespace std;
using OpenArena::Triangle;
const float piover180 = 0.0174532925f; namespace OpenArena
const string DEFAULT_TEXTURE_NAME = "oa/textures/default.bmp";
const unsigned int MAX_CONSOLE_LINES = 30; //The max number of lines to be displayed in the console
const unsigned int MAX_CONSOLE_HISTORY_LINES = MAX_CONSOLE_LINES + 20; //The max number of console lines to store in the history
const unsigned int MAX_CONSOLE_OUTPUT_LINES = MAX_CONSOLE_LINES;
const unsigned int MAX_OUTPUT_TEXT_LINES = 4; //The max number of output lines to be displayed on the screen
enum {GL_MY_TEXTURE_CONSOLEBACKGROUND=0, NUM_MENU_TEXTURES};
class LEVEL
{ {
public: const float piover180 = 0.0174532925f;
LEVEL(); const string DEFAULT_TEXTURE_NAME = "oa/textures/default.bmp";
~LEVEL(); const unsigned int MAX_CONSOLE_LINES = 30; //The max number of lines to be displayed in the console
const unsigned int MAX_CONSOLE_HISTORY_LINES = MAX_CONSOLE_LINES + 20; //The max number of console lines to store in the history
const unsigned int MAX_CONSOLE_OUTPUT_LINES = MAX_CONSOLE_LINES;
const unsigned int MAX_OUTPUT_TEXT_LINES = 4; //The max number of output lines to be displayed on the screen
enum {GL_MY_TEXTURE_CONSOLEBACKGROUND=0, NUM_MENU_TEXTURES};
class Level
{
public:
Level();
~Level();
bool LoadMap(string mapname); bool LoadMap(string mapname);
bool LoadMap(); bool LoadMap();
void SaveMap(string mapname); void SaveMap(string mapname);
@@ -64,10 +67,10 @@ public:
void PlayerConnect(); // implement later void PlayerConnect(); // implement later
void PlayerDisconnect(); // implement later void PlayerDisconnect(); // implement later
*/ */
SCREEN screen; Screen screen;
GLFontClass glFont; Font glFont;
string nextLevel; string nextLevel;
PLAYER* defaultPlayer; Player* defaultPlayer;
uint32 numTextures; uint32 numTextures;
string* textureNames; string* textureNames;
@@ -87,21 +90,21 @@ public:
float mouseSpeed; float mouseSpeed;
unsigned char maxFPS; unsigned char maxFPS;
//Map //Map
TRIANGLE* triangles; Triangle* triangles;
uint32 numTriangles; uint32 numTriangles;
list<PLAYER> players; list<Player> players;
list<ENTITY> ents; list<ENTITY> ents;
//list<GL_MY_TEXTURE> textures; //list<GL_MY_TEXTURE> textures;
GL_MY_TEXTURE* textures; Texture* textures;
GL_MY_TEXTURE menuTextures[NUM_MENU_TEXTURES]; Texture menuTextures[NUM_MENU_TEXTURES];
private: private:
void ConsolePrint(string); void ConsolePrint(string);
string consoleHistory[MAX_CONSOLE_HISTORY_LINES]; string consoleHistory[MAX_CONSOLE_HISTORY_LINES];
string consoleOutput[MAX_CONSOLE_OUTPUT_LINES]; string consoleOutput[MAX_CONSOLE_OUTPUT_LINES];
string outputText[MAX_OUTPUT_TEXT_LINES]; string outputText[MAX_OUTPUT_TEXT_LINES];
};
}; };
#endif #endif

View File

@@ -22,8 +22,11 @@ using namespace std;
static HINSTANCE hInstance; // Application instance static HINSTANCE hInstance; // Application instance
#endif #endif
extern OpenArena::Window g_Screen; extern OpenArena::Window g_Screen;
int InitGL(GLvoid); //This doesn't need to be here I think
//int InitGL(GLvoid);
bool LoadGLTexture(string , GLuint&, GLuint = GL_LINEAR, GLuint = GL_LINEAR); namespace OpenArena
void FreeGLTexture(GLuint&); {
bool LoadGLTexture(string , GLuint&, GLuint = GL_LINEAR, GLuint = GL_LINEAR);
void FreeGLTexture(GLuint&);
};
#endif #endif

View File

@@ -3,18 +3,20 @@
#include "mygl.h" #include "mygl.h"
class GLFontClass namespace OpenArena
{ {
private: class Font
{
private:
short screenWidth; short screenWidth;
short screenHeight; short screenHeight;
unsigned int base; unsigned int base;
unsigned int texture; unsigned int texture;
bool status; bool status;
public: public:
GLFontClass(); Font();
~GLFontClass(); ~Font();
bool BuildFont(const char*); bool BuildFont(const char*);
bool FreeFont(); bool FreeFont();
void Print(int, int, const char*, unsigned int = 0); void Print(int, int, const char*, unsigned int = 0);
@@ -24,6 +26,6 @@ public:
void SetScreenHeight(short); void SetScreenHeight(short);
short ScreenWidth(); short ScreenWidth();
short ScreenHeight(); short ScreenHeight();
};
}; };
#endif #endif

View File

@@ -7,29 +7,31 @@
using namespace std; using namespace std;
class GL_MY_TEXTURE namespace OpenArena
{ {
public: class Texture
GL_MY_TEXTURE(); {
~GL_MY_TEXTURE(); public:
Texture();
~Texture();
string Filename(); string Filename();
GLuint ID(); GLuint ID();
bool Load(string filename); bool Load(string filename);
bool Load(string filename, GLuint min, GLuint mag); bool Load(string filename, GLuint min, GLuint mag);
void Free(); void Free();
bool Loaded(); bool Loaded();
bool operator<(const GL_MY_TEXTURE&); bool operator<(const Texture&);
bool operator<=(const GL_MY_TEXTURE&); bool operator<=(const Texture&);
bool operator==(const GL_MY_TEXTURE&); bool operator==(const Texture&);
bool operator!=(const GL_MY_TEXTURE&); bool operator!=(const Texture&);
bool operator>=(const GL_MY_TEXTURE&); bool operator>=(const Texture&);
bool operator>(const GL_MY_TEXTURE&); bool operator>(const Texture&);
private: private:
GLuint minFilter; GLuint minFilter;
GLuint magFilter; GLuint magFilter;
string filename; string filename;
GLuint id; GLuint id;
};
}; };
#endif #endif

View File

@@ -4,9 +4,11 @@
#include "camera.h" #include "camera.h"
#include "ctrls.h" #include "ctrls.h"
class PLAYER namespace OpenArena
{ {
public: class Player
{
public:
void Load(); void Load();
void Save(); void Save();
void CreateCharacter(); void CreateCharacter();
@@ -16,11 +18,11 @@ public:
void RemoveItem(unsigned int item); void RemoveItem(unsigned int item);
ControlSchemeClass controls; ControlSchemeClass controls;
CameraClass camera; Camera camera;
private: private:
};
}; };
#endif #endif

View File

@@ -3,11 +3,12 @@
#include <string> #include <string>
using namespace std; using namespace std;
namespace OpenArena
class SCREEN
{ {
public: class Screen
SCREEN() {
public:
Screen()
{ {
width=640; width=640;
height=480; height=480;
@@ -23,6 +24,6 @@ public:
string name; string name;
};
}; };
#endif #endif

View File

@@ -1,8 +1,9 @@
#ifndef __texture_h__ #ifndef __texture_h__
#define __texture_h__ #define __texture_h__
struct TextureImage class TextureImage
{ {
public:
unsigned char* data; unsigned char* data;
unsigned int bpp; unsigned int bpp;
unsigned int sizeX; unsigned int sizeX;

View File

@@ -19,7 +19,7 @@ namespace OpenArena
typedef void (*ResizeFunc)(GLsizei width, GLsizei height); typedef void (*ResizeFunc)(GLsizei width, GLsizei height);
typedef int (*InitFunc)(); typedef int (*InitFunc)();
class Window: public SCREEN class Window: public Screen
{ {
public: public:
Window(); Window();

View File

@@ -3,6 +3,6 @@
#include "level.h" #include "level.h"
static LEVEL level; static OpenArena::Level level;
#endif #endif

View File

@@ -10,8 +10,8 @@
// To implement an OpenGL Camera // To implement an OpenGL Camera
// //
// Summary of Methods: // Summary of Methods:
// CameraClass // Camera
// -CameraClass(); // -Camera();
// Initalize PDM's. Sets position to 0,0,0 up to 0,1,0 and view to 0,0,-1 // Initalize PDM's. Sets position to 0,0,0 up to 0,1,0 and view to 0,0,-1
// -Vec3f Position(); // -Vec3f Position();
// Returns a copy of the position vector. // Returns a copy of the position vector.
@@ -29,7 +29,7 @@
// Sets the position, up, and view vectors to those passed in. // Sets the position, up, and view vectors to those passed in.
// -void RotateView(double angle, double X, double Y, double Z); // -void RotateView(double angle, double X, double Y, double Z);
// Rotates the view angle degrees on the axis specified by X, Y, and Z. // Rotates the view angle degrees on the axis specified by X, Y, and Z.
// -void SetViewByMouse(SCREEN g_Screen); // -void SetViewByMouse(Screen g_Screen);
// Rotates the pitch and yaw of the view based on the mouse. // Rotates the pitch and yaw of the view based on the mouse.
// -void RotateAroundPoint(double angle, double X, double Y, double Z, Vec3f vCenter); // -void RotateAroundPoint(double angle, double X, double Y, double Z, Vec3f vCenter);
// Rotates the view angle degrees around a point vCenter on the axis specified by X, Y, Z. // Rotates the view angle degrees around a point vCenter on the axis specified by X, Y, Z.
@@ -46,31 +46,33 @@
#include "../include/camera.h" #include "../include/camera.h"
CameraClass::CameraClass() namespace OpenArena
{ {
Camera::Camera()
{
m_vPosition = Vec3f(0,0,0); m_vPosition = Vec3f(0,0,0);
m_vView = Vec3f(0,0,-1); m_vView = Vec3f(0,0,-1);
m_vUpVector = Vec3f(0,1,0); m_vUpVector = Vec3f(0,1,0);
} }
void CameraClass::PositionCamera(double xpos, double ypos, double zpos, void Camera::PositionCamera(double xpos, double ypos, double zpos,
double xview, double yview, double zview, double xview, double yview, double zview,
double xup, double yup, double zup) double xup, double yup, double zup)
{ {
m_vPosition = Vec3f(xpos, ypos, zpos); m_vPosition = Vec3f(xpos, ypos, zpos);
m_vView = Vec3f(xview, yview, zview); m_vView = Vec3f(xview, yview, zview);
m_vUpVector = Vec3f(xup, yup, zup); m_vUpVector = Vec3f(xup, yup, zup);
} }
void CameraClass::PositionCamera(Vec3f pos, Vec3f view, Vec3f up) void Camera::PositionCamera(Vec3f pos, Vec3f view, Vec3f up)
{ {
m_vPosition = pos; m_vPosition = pos;
m_vView = view; m_vView = view;
m_vUpVector = up; m_vUpVector = up;
} }
void CameraClass::SetViewByMouse(SCREEN g_Screen) void Camera::SetViewByMouse(Screen g_Screen)
{ {
//Most of this is sorta right for linux I think but since I don't know how yet it's currently windows only //Most of this is sorta right for linux I think but since I don't know how yet it's currently windows only
#ifdef WIN32 #ifdef WIN32
static double currentRotX = 0.0f; static double currentRotX = 0.0f;
@@ -109,20 +111,20 @@ void CameraClass::SetViewByMouse(SCREEN g_Screen)
} }
} }
#endif #endif
} }
void CameraClass::MoveCamera(double speed) void Camera::MoveCamera(double speed)
{ {
Vec3f heading = (m_vView - m_vPosition).normalized(); Vec3f heading = (m_vView - m_vPosition).normalized();
m_vPosition.x += heading.x * speed; m_vPosition.x += heading.x * speed;
m_vPosition.z += heading.z * speed; m_vPosition.z += heading.z * speed;
m_vView.x += heading.x * speed; m_vView.x += heading.x * speed;
m_vView.z += heading.z * speed; m_vView.z += heading.z * speed;
} }
void CameraClass::RotateView(double angle, double x, double y, double z) void Camera::RotateView(double angle, double x, double y, double z)
{ {
Vec3f nView; Vec3f nView;
Vec3f cView; Vec3f cView;
@@ -146,48 +148,49 @@ void CameraClass::RotateView(double angle, double x, double y, double z)
m_vView.x = m_vPosition.x + nView.x; m_vView.x = m_vPosition.x + nView.x;
m_vView.y = m_vPosition.y + nView.y; m_vView.y = m_vPosition.y + nView.y;
m_vView.z = m_vPosition.z + nView.z; m_vView.z = m_vPosition.z + nView.z;
} }
void CameraClass::StrafeCamera(double speed) void Camera::StrafeCamera(double speed)
{ {
m_vPosition.x += m_vStrafe.x * speed; m_vPosition.x += m_vStrafe.x * speed;
m_vPosition.z += m_vStrafe.z * speed; m_vPosition.z += m_vStrafe.z * speed;
m_vView.x += m_vStrafe.x * speed; m_vView.x += m_vStrafe.x * speed;
m_vView.z += m_vStrafe.z * speed; m_vView.z += m_vStrafe.z * speed;
} }
void CameraClass::Update() void Camera::Update()
{ {
m_vStrafe =((m_vView - m_vPosition).cross(m_vUpVector)).normalized(); m_vStrafe =((m_vView - m_vPosition).cross(m_vUpVector)).normalized();
//SetViewByMouse(); //TODO take this whole function out asap //SetViewByMouse(); //TODO take this whole function out asap
} }
void CameraClass::Look() void Camera::Look()
{ {
gluLookAt(m_vPosition.x, m_vPosition.y, m_vPosition.z, gluLookAt(m_vPosition.x, m_vPosition.y, m_vPosition.z,
m_vView.x, m_vView.y, m_vView.z, m_vView.x, m_vView.y, m_vView.z,
m_vUpVector.x, m_vUpVector.y, m_vUpVector.z); m_vUpVector.x, m_vUpVector.y, m_vUpVector.z);
} }
Vec3f CameraClass::Position() Vec3f Camera::Position()
{ {
return m_vPosition; return m_vPosition;
} }
Vec3f CameraClass::Strafe() Vec3f Camera::Strafe()
{ {
return m_vStrafe; return m_vStrafe;
} }
Vec3f CameraClass::UpVector() Vec3f Camera::UpVector()
{ {
return m_vUpVector; return m_vUpVector;
} }
Vec3f CameraClass::View() Vec3f Camera::View()
{ {
return m_vView; return m_vView;
} }
};

View File

@@ -30,8 +30,10 @@
using namespace std; using namespace std;
LEVEL::LEVEL() namespace OpenArena
{ {
Level::Level()
{
textureNames = NULL; textureNames = NULL;
numTextures = 0; numTextures = 0;
textures = NULL; textures = NULL;
@@ -45,7 +47,7 @@ LEVEL::LEVEL()
gamedir = "oa/"; gamedir = "oa/";
sound = true; sound = true;
defaultPlayer = new PLAYER; defaultPlayer = new Player;
numTriangles = 0; numTriangles = 0;
triangles = NULL; triangles = NULL;
@@ -58,19 +60,19 @@ LEVEL::LEVEL()
turnSpeed = 1.0f; turnSpeed = 1.0f;
moveSpeed = 0.2f; moveSpeed = 0.2f;
mlook = true; mlook = true;
} }
LEVEL::~LEVEL() Level::~Level()
{ {
if(defaultPlayer) if(defaultPlayer)
{ {
delete defaultPlayer; delete defaultPlayer;
defaultPlayer = NULL; defaultPlayer = NULL;
} }
} }
bool LEVEL::LoadMap(string mapname) bool Level::LoadMap(string mapname)
{ {
ifstream input; ifstream input;
string readBuffer; string readBuffer;
@@ -111,7 +113,7 @@ bool LEVEL::LoadMap(string mapname)
numTriangles = Integer(readBuffer); numTriangles = Integer(readBuffer);
//Triangle Data //Triangle Data
triangles = new TRIANGLE[numTriangles]; triangles = new Triangle[numTriangles];
for(unsigned int i=0; i<numTriangles; i++) for(unsigned int i=0; i<numTriangles; i++)
{ {
//TextureID //TextureID
@@ -210,14 +212,14 @@ bool LEVEL::LoadMap(string mapname)
} }
return true; return true;
} }
bool LEVEL::LoadMap() bool Level::LoadMap()
{ {
return LoadMap(nextLevel); return LoadMap(nextLevel);
} }
void LEVEL::SaveMap(string mapname) void Level::SaveMap(string mapname)
{ {
ofstream output; ofstream output;
mapname = gamedir + "maps/" + mapname; mapname = gamedir + "maps/" + mapname;
@@ -279,10 +281,10 @@ void LEVEL::SaveMap(string mapname)
//BGM //BGM
output << bgm; output << bgm;
} }
void LEVEL::Render() void Level::Render()
{ {
glPushMatrix(); glPushMatrix();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity(); glLoadIdentity();
@@ -294,7 +296,7 @@ void LEVEL::Render()
{ {
glBindTexture(GL_TEXTURE_2D, textures[triangles[i].texID].ID());//Bind this triangle's texture glBindTexture(GL_TEXTURE_2D, textures[triangles[i].texID].ID());//Bind this triangle's texture
glBegin(GL_TRIANGLES); glBegin(GL_TRIANGLES);
// glNormal3f((GLfloat)triangles[i].normal.x, (GLfloat)triangles[i].normal.y, (GLfloat)triangles[i].normal.z); // glNormal3f((GLfloat)triangles[i].normal.x, (GLfloat)triangles[i].normal.y, (GLfloat)triangles[i].normal.z);
for (uint32 i2=0; i2<3; i2++) for (uint32 i2=0; i2<3; i2++)
{ {
glTexCoord2f(triangles[i].texCoords[i2].x, glTexCoord2f(triangles[i].texCoords[i2].x,
@@ -388,10 +390,10 @@ void LEVEL::Render()
//glEnable(GL_LIGHTING); //glEnable(GL_LIGHTING);
glEnable(GL_DEPTH_TEST); glEnable(GL_DEPTH_TEST);
} }
} }
void LEVEL::UnloadMap() void Level::UnloadMap()
{ {
//Stop audio //Stop audio
//This needs to be abstracted somehow //This needs to be abstracted somehow
#ifdef WIN32 #ifdef WIN32
@@ -423,10 +425,10 @@ void LEVEL::UnloadMap()
delete [] textureNames; delete [] textureNames;
textureNames = NULL; textureNames = NULL;
} }
} }
void LEVEL::LoadGLTextures() void Level::LoadGLTextures()
{ {
/*GLfloat light[4] = {1.0f,1.0f,1.0f,0.5f}; /*GLfloat light[4] = {1.0f,1.0f,1.0f,0.5f};
glLightfv(GL_LIGHT1, GL_AMBIENT, light); glLightfv(GL_LIGHT1, GL_AMBIENT, light);
@@ -438,7 +440,7 @@ void LEVEL::LoadGLTextures()
delete [] textures; delete [] textures;
} }
textures = new GL_MY_TEXTURE[numTextures]; textures = new Texture[numTextures];
for(uint32 i=0; i<numTextures; i++) for(uint32 i=0; i<numTextures; i++)
{ {
@@ -452,10 +454,10 @@ void LEVEL::LoadGLTextures()
//Load the console background image //Load the console background image
if(!menuTextures[GL_MY_TEXTURE_CONSOLEBACKGROUND].Load(gamedir + "textures/menu/con_back.tga")) if(!menuTextures[GL_MY_TEXTURE_CONSOLEBACKGROUND].Load(gamedir + "textures/menu/con_back.tga"))
menuTextures[GL_MY_TEXTURE_CONSOLEBACKGROUND].Load("oa/textures/menu/con_back.bmp"); menuTextures[GL_MY_TEXTURE_CONSOLEBACKGROUND].Load("oa/textures/menu/con_back.bmp");
} }
uint32 LEVEL::FPS() uint32 Level::FPS()
{ {
static uint32 fps=0; static uint32 fps=0;
static uint32 fps2=0; static uint32 fps2=0;
static float last=0.0f; // might need to change to double static float last=0.0f; // might need to change to double
@@ -476,10 +478,10 @@ uint32 LEVEL::FPS()
fps=0; fps=0;
} }
return fps2; return fps2;
} }
void LEVEL::Execute(string cmd) void Level::Execute(string cmd)
{ {
string command; string command;
uint32 i=0xFFFFFFFF; uint32 i=0xFFFFFFFF;
@@ -780,10 +782,10 @@ void LEVEL::Execute(string cmd)
ConsolePrint("Unknown command " + command); ConsolePrint("Unknown command " + command);
} }
} }
} }
void LEVEL::ParseCmds(const char* lpCmdLine) void Level::ParseCmds(const char* lpCmdLine)
{ {
string cmd = lpCmdLine; string cmd = lpCmdLine;
string command; string command;
@@ -934,10 +936,10 @@ void LEVEL::ParseCmds(const char* lpCmdLine)
} }
} }
} }
void LEVEL::LoadConfig() void Level::LoadConfig()
{ {
showFPS = false; showFPS = false;
nextLevel = "intro.map"; nextLevel = "intro.map";
gamedir = "oa/"; gamedir = "oa/";
@@ -947,9 +949,9 @@ void LEVEL::LoadConfig()
turnSpeed = 1.0f; turnSpeed = 1.0f;
moveSpeed = .2f; moveSpeed = .2f;
mlook = true; mlook = true;
} }
bool LEVEL::LoadConfig(string cfgname) bool Level::LoadConfig(string cfgname)
{ {
ifstream input; ifstream input;
string readBuffer; string readBuffer;
@@ -980,10 +982,10 @@ bool LEVEL::LoadConfig(string cfgname)
} }
return true; return true;
} }
void LEVEL::SaveConfig(string cfgname) void Level::SaveConfig(string cfgname)
{ {
ofstream output; ofstream output;
cfgname = gamedir + "config/" + cfgname; cfgname = gamedir + "config/" + cfgname;
@@ -1173,15 +1175,15 @@ void LEVEL::SaveConfig(string cfgname)
while(defaultPlayer->controls.weaponPrev.NextPosition()) while(defaultPlayer->controls.weaponPrev.NextPosition())
output << "bind weaponPrev " << KeyString(defaultPlayer->controls.weaponPrev.Retrieve()) << endl; output << "bind weaponPrev " << KeyString(defaultPlayer->controls.weaponPrev.Retrieve()) << endl;
} }
} }
void LEVEL::Print(int x, int y, const char* str, unsigned int set) void Level::Print(int x, int y, const char* str, unsigned int set)
{ {
glFont.Print(x,y,str, set); glFont.Print(x,y,str, set);
} }
void LEVEL::UpdateConsole(char newChar) void Level::UpdateConsole(char newChar)
{ {
if(newChar == '\n') if(newChar == '\n')
{ {
for (int i=MAX_CONSOLE_HISTORY_LINES - 1; i>0; i--) for (int i=MAX_CONSOLE_HISTORY_LINES - 1; i>0; i--)
@@ -1206,13 +1208,14 @@ void LEVEL::UpdateConsole(char newChar)
MessageBox(NULL, errmsg, "Balls", MB_OK); MessageBox(NULL, errmsg, "Balls", MB_OK);
*/ */
} }
} }
void LEVEL::ConsolePrint(string line) void Level::ConsolePrint(string line)
{ {
for (int i=MAX_CONSOLE_OUTPUT_LINES - 1; i>0; i--) for (int i=MAX_CONSOLE_OUTPUT_LINES - 1; i>0; i--)
{ {
consoleOutput[i] = consoleOutput[i-1]; consoleOutput[i] = consoleOutput[i-1];
} }
consoleOutput[0] = line; consoleOutput[0] = line;
} }
};

View File

@@ -1,13 +1,14 @@
#include "../include/mygl.h" #include "../include/mygl.h"
namespace OpenArena
void FreeGLTexture(GLuint& texture)
{ {
void FreeGLTexture(GLuint& texture)
{
glDeleteTextures(1, &texture); glDeleteTextures(1, &texture);
} }
bool LoadGLTexture(string fn, GLuint& texture, GLuint mag, GLuint min) bool LoadGLTexture(string fn, GLuint& texture, GLuint mag, GLuint min)
{ {
if(Right(tolower(fn), 4) == ".bmp") if(Right(tolower(fn), 4) == ".bmp")
{ {
TextureImage* texImage = NULL; TextureImage* texImage = NULL;
@@ -60,6 +61,7 @@ bool LoadGLTexture(string fn, GLuint& texture, GLuint mag, GLuint min)
{ {
return false; return false;
} }
} }
};
OpenArena::Window g_Screen; OpenArena::Window g_Screen;

View File

@@ -25,22 +25,24 @@
#include "../include/myglFont.h" #include "../include/myglFont.h"
GLFontClass::GLFontClass() namespace OpenArena
{ {
Font::Font()
{
status = 0; status = 0;
base = 0; base = 0;
texture = 0; texture = 0;
screenWidth = 1; screenWidth = 1;
screenHeight = 1; screenHeight = 1;
} }
GLFontClass::~GLFontClass() Font::~Font()
{ {
FreeFont(); FreeFont();
} }
bool GLFontClass::BuildFont(const char* texName) bool Font::BuildFont(const char* texName)
{ {
FreeFont(); FreeFont();
if(LoadGLTexture(texName, texture, GL_NEAREST, GL_NEAREST)) if(LoadGLTexture(texName, texture, GL_NEAREST, GL_NEAREST))
@@ -69,20 +71,20 @@ bool GLFontClass::BuildFont(const char* texName)
status = true; status = true;
} }
return status; return status;
} }
bool GLFontClass::FreeFont() bool Font::FreeFont()
{ {
if(status) if(status)
{ {
glDeleteLists(base, 256); glDeleteLists(base, 256);
status = false; status = false;
} }
return status; return status;
} }
void GLFontClass::Print(int x, int y, const char* str, unsigned int set) void Font::Print(int x, int y, const char* str, unsigned int set)
{ {
if(status) if(status)
{ {
if(set>1) if(set>1)
@@ -108,35 +110,36 @@ void GLFontClass::Print(int x, int y, const char* str, unsigned int set)
//glDisable(GL_BLEND); //glDisable(GL_BLEND);
//glEnable(GL_DEPTH_TEST); //glEnable(GL_DEPTH_TEST);
} }
} }
bool GLFontClass::Loaded() bool Font::Loaded()
{ {
return status; return status;
} }
void GLFontClass::SetScreenDimensions(short x, short y) void Font::SetScreenDimensions(short x, short y)
{ {
screenWidth = x; screenWidth = x;
screenHeight = y; screenHeight = y;
} }
void GLFontClass::SetScreenWidth(short x) void Font::SetScreenWidth(short x)
{ {
screenWidth = x; screenWidth = x;
} }
void GLFontClass::SetScreenHeight(short y) void Font::SetScreenHeight(short y)
{ {
screenHeight = y; screenHeight = y;
} }
short GLFontClass::ScreenWidth() short Font::ScreenWidth()
{ {
return screenWidth; return screenWidth;
} }
short GLFontClass::ScreenHeight() short Font::ScreenHeight()
{ {
return screenHeight; return screenHeight;
} }
};

View File

@@ -1,35 +1,38 @@
#include "../include/myglTexture.h" #include "../include/myglTexture.h"
using namespace OpenArena;
GL_MY_TEXTURE::GL_MY_TEXTURE() namespace OpenArena
{ {
Texture::Texture()
{
id=0xFFFFFFFF; id=0xFFFFFFFF;
filename = ""; filename = "";
minFilter = GL_LINEAR; minFilter = GL_LINEAR;
magFilter = GL_LINEAR; magFilter = GL_LINEAR;
} }
GL_MY_TEXTURE::~GL_MY_TEXTURE() Texture::~Texture()
{ {
Free(); Free();
} }
string GL_MY_TEXTURE::Filename() string Texture::Filename()
{ {
return filename; return filename;
} }
GLuint GL_MY_TEXTURE::ID() GLuint Texture::ID()
{ {
return id; return id;
} }
bool GL_MY_TEXTURE::Loaded() bool Texture::Loaded()
{ {
return filename != ""; return filename != "";
} }
bool GL_MY_TEXTURE::Load(string fn) bool Texture::Load(string fn)
{ {
if(Loaded()) if(Loaded())
Free(); Free();
@@ -43,10 +46,10 @@ bool GL_MY_TEXTURE::Load(string fn)
id=0xFFFFFFFF; id=0xFFFFFFFF;
return false; return false;
} }
} }
bool GL_MY_TEXTURE::Load(string fn, GLuint min, GLuint mag) bool Texture::Load(string fn, GLuint min, GLuint mag)
{ {
if(Loaded()) if(Loaded())
Free(); Free();
@@ -62,10 +65,10 @@ bool GL_MY_TEXTURE::Load(string fn, GLuint min, GLuint mag)
id=0xFFFFFFFF; id=0xFFFFFFFF;
return false; return false;
} }
} }
void GL_MY_TEXTURE::Free() void Texture::Free()
{ {
if(Loaded()) if(Loaded())
{ {
FreeGLTexture(id); FreeGLTexture(id);
@@ -74,34 +77,35 @@ void GL_MY_TEXTURE::Free()
filename = ""; filename = "";
id = 0xFFFFFFFF; id = 0xFFFFFFFF;
} }
} }
bool GL_MY_TEXTURE::operator<(const GL_MY_TEXTURE& rtOp) bool Texture::operator<(const Texture& rtOp)
{ {
return id<rtOp.id; return id<rtOp.id;
} }
bool GL_MY_TEXTURE::operator<=(const GL_MY_TEXTURE& rtOp) bool Texture::operator<=(const Texture& rtOp)
{ {
return id<=rtOp.id; return id<=rtOp.id;
} }
bool GL_MY_TEXTURE::operator==(const GL_MY_TEXTURE& rtOp) bool Texture::operator==(const Texture& rtOp)
{ {
return id==rtOp.id; return id==rtOp.id;
} }
bool GL_MY_TEXTURE::operator!=(const GL_MY_TEXTURE& rtOp) bool Texture::operator!=(const Texture& rtOp)
{ {
return id!=rtOp.id; return id!=rtOp.id;
} }
bool GL_MY_TEXTURE::operator>=(const GL_MY_TEXTURE& rtOp) bool Texture::operator>=(const Texture& rtOp)
{ {
return id>=rtOp.id; return id>=rtOp.id;
} }
bool GL_MY_TEXTURE::operator>(const GL_MY_TEXTURE& rtOp) bool Texture::operator>(const Texture& rtOp)
{ {
return id>rtOp.id; return id>rtOp.id;
} }
};

View File

@@ -1,23 +1,26 @@
#include "../include/player.h" #include "../include/player.h"
void PLAYER::Load() namespace OpenArena
{ {
} void Player::Load()
{
}
void PLAYER::Save() void Player::Save()
{ {
} }
void PLAYER::AddItem(unsigned int item) void Player::AddItem(unsigned int item)
{ {
// inventory = inventory | item; // inventory = inventory | item;
} }
void PLAYER::RemoveItem(unsigned int item) void Player::RemoveItem(unsigned int item)
{ {
// inventory = inventory & ~item; // inventory = inventory & ~item;
} }
void PLAYER::CreateCharacter() void Player::CreateCharacter()
{ {
} }
};