Here is my basic model that I use in all my applications:
------------------------------------------------------------------------------
Globals.h is the only header file included in any source file - here is how
it's set up inside:
------------------------------------------------------------------------------
#ifndef MadeIncludes //if we haven't done this where this file can see it, then...
#define SCREENX = 640
#define SCREENY = 480
//and other app-wide #defines
#include
#include
//and other system or lib includes
#include "creature.h" //class header or some function prototypes
enum Enumeration{E_THINGY1, E_THINGY2};
#define MadeIncludes
#endif
extern int globalint;
extern char globalstring[50];
//and other globals
------------------------------------------------------------------------------
Winmain.cpp (or other main() or winmain() module)
------------------------------------------------------------------------------
#include "globals.h"
int globalint;
char globalstring[50];
//and other globals
//and then the rest of the main file's source code
------------------------------------------------------------------------------
Creature.cpp is my implementation for Creature.h that's included in globals.h
------------------------------------------------------------------------------
#include "globals.h" //you see, this now has access to all globals and header files
class creature
{
int x;
int y;
//whatever
};
//and other classes/structs
void MoveCreature(int newx, int newy);
//and other various procedures
------------------------------------------------------------------------------
I hope this helped you guys. Questions, comments, whatever, e-mail me at [email="benbeandogdilts@cs.com"]benbeandogdilts@cs.com[/email]. Visit my web page at www.geocities.com/benbeandogdilts. Have fun, guys!