#include "Models.h"
#include "Lights.h"
#include "Person.h"
-#include "Constants.h"
-#include "Sprites.h"
+#include "Sprite.h"
//#include <agl.h>
#include "Text.h"
#include "Objects.h"
#include "gamegl.h"
#include "Stereo.h"
#include "Account.h"
+#include "Sounds.h"
extern GLuint rabbittexture;
float rotation,rotation2;
SkyBox skybox;
bool cameramode;
- bool cameratogglekeydown;
- bool chattogglekeydown;
int olddrawmode;
int drawmode;
- bool drawmodetogglekeydown;
- bool explodetogglekeydown;
- bool detailtogglekeydown;
bool firstload;
bool oldbutton;
XYZ cameraloc;
float cameradist;
- bool envtogglekeydown;
- bool slomotogglekeydown;
- bool texturesizetogglekeydown;
- bool freezetogglekeydown;
int drawtoggle;
bool editorenabled;
bool displayblink;
int displayselected;
bool consolekeydown;
- bool consoletogglekeydown;
float consoleblinkdelay;
bool consoleblink;
int consoleselected;
- //int togglekey[140];
- //float togglekeydelay[140];
- bool registernow;
bool autocam;
unsigned short crouchkey,jumpkey,forwardkey,chatkey,backkey,leftkey,rightkey,drawkey,throwkey,attackkey;
bool oldattackkey;
- long long MD5_string (char *string);
static void LoadTexture(const char *fileName, GLuint *textureid,int mipmap, bool hasalpha);
static void LoadTextureSave(const char *fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize);
void LoadSave(const char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize);
void FadeLoadingScreen(float howmuch);
void Dispose();
int DrawGLScene(StereoSide side);
+ void DrawGL();
+ //factored from Tick() -sf17k
+ void MenuTick();
+ void doTutorial();
+ void doDebugKeys();
+ void doJumpReversals();
+ void doAerialAcrobatics();
+ void doAttacks();
+ void doPlayerCollisions();
+ void doAI(int i);
+ //end factored
void Tick();
void TickOnce();
void TickOnceAfter();
void SetUpLighting();
void Loadlevel(int which);
- void Loadlevel(char *name);
- void LoadSounds();
+ void Loadlevel(const char *name);
void Setenvironment(int which);
GLvoid ReSizeGLScene(float fov, float near);
int findPathDist(int start,int end);
void inputText(char* str, int* charselected, int* nb_chars);
void flash();
bool waiting;
- bool mainmenutogglekeydown;
//int mainmenu;
Account* accountactive;
};
static __forceinline void swap_gl_buffers(void)
{
-
SDL_GL_SwapBuffers();
-
}
-#ifdef __GNUC__
-#define LONGLONGCONST(x) (x##ll)
-#else
-#define LONGLONGCONST(x) (x)
-#endif
-
extern "C" { void UndefinedSymbolToExposeStubbedCode(void); }
//#define STUBBED(x) UndefinedSymbolToExposeStubbedCode();
#define STUBBED(x) { static bool seen = false; if (!seen) { seen = true; fprintf(stderr, "STUBBED: %s at %s:%d\n", x, __FILE__, __LINE__); } }
//#define STUBBED(x)
+extern int numplayers;
+
+extern int numdialogues;
+const int max_dialogues = 20;
+const int max_dialoguelength = 20;
+extern int numdialogueboxes[max_dialogues];
+extern int dialoguetype[max_dialogues];
+extern int dialogueboxlocation[max_dialogues][max_dialoguelength];
+extern float dialogueboxcolor[max_dialogues][max_dialoguelength][3];
+extern int dialogueboxsound[max_dialogues][max_dialoguelength];
+extern char dialoguetext[max_dialogues][max_dialoguelength][128];
+extern char dialoguename[max_dialogues][max_dialoguelength][64];
+extern XYZ dialoguecamera[max_dialogues][max_dialoguelength];
+extern XYZ participantlocation[max_dialogues][10];
+extern int participantfocus[max_dialogues][max_dialoguelength];
+extern int participantaction[max_dialogues][max_dialoguelength];
+extern float participantrotation[max_dialogues][10];
+extern XYZ participantfacing[max_dialogues][max_dialoguelength][10];
+extern float dialoguecamerarotation[max_dialogues][max_dialoguelength];
+extern float dialoguecamerarotation2[max_dialogues][max_dialoguelength];
+extern int indialogue;
+extern int whichdialogue;
+extern int directing;
+extern float dialoguetime;
+extern int dialoguegonethrough[20];
+
+enum maptypes {
+ mapkilleveryone, mapgosomewhere,
+ mapkillsomeone, mapkillmost // These two are unused
+};
+
+enum pathtypes {wpkeepwalking, wppause};
+
+static const char *pathtypenames[] = {"keepwalking", "pause"};
+
+enum editortypes {typeactive, typesitting, typesittingwall, typesleeping,
+ typedead1, typedead2, typedead3, typedead4};
+
+static const char *editortypenames[] = {
+ "active", "sitting", "sitting wall", "sleeping",
+ "dead1", "dead2", "dead3", "dead4"
+};
+
#endif