#include "Graphic/Stereo.hpp"
#include "Graphic/Text.hpp"
#include "Graphic/Texture.hpp"
-#include "Objects/Objects.hpp"
+#include "Objects/Object.hpp"
#include "Objects/Person.hpp"
#include "Objects/Weapons.hpp"
#include "Thirdparty/optionparser.h"
extern float yaw, pitch;
extern SkyBox *skybox;
extern bool cameramode;
-extern bool firstload;
+extern bool firstLoadDone;
extern float leveltime;
extern float wonleveltime;
extern float mapradius;
extern Text *text;
+extern Text *textmono;
extern float fps;
extern bool editorenabled;
extern bool console;
extern std::string consoletext[15];
-extern std::string displaytext[15];
-extern float displaytime[15];
-extern float displayblinkdelay;
-extern bool displayblink;
-extern unsigned displayselected;
extern float consoleblinkdelay;
extern bool consoleblink;
extern unsigned consoleselected;
int DrawGLScene(StereoSide side);
void playdialoguescenesound();
int findClosestPlayer();
-void Loadlevel(int which);
-void Loadlevel(const std::string& name);
+bool LoadLevel(int which);
+bool LoadLevel(const std::string& name, bool tutorial = false);
void Tick();
void TickOnce();
void TickOnceAfter();
void SetUpLighting();
GLvoid ReSizeGLScene(float fov, float near);
-int checkcollide(XYZ startpoint, XYZ endpoint);
-int checkcollide(XYZ startpoint, XYZ endpoint, int what);
void fireSound(int sound = fireendsound);
void inputText(std::string& str, unsigned* charselected);
void flash(float amount = 1, int delay = 1);
}
+float roughDirection(XYZ vec);
+float roughDirectionTo(XYZ start, XYZ end);
+float pitchTo(XYZ start, XYZ end);
+float sq(float n);
#ifndef __forceinline
# ifdef __GNUC__
frameticks = now;
}
-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)
-
enum maptypes {
mapkilleveryone, mapgosomewhere,
mapkillsomeone, mapkillmost // These two are unused