X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGame.h;h=ec30c86ae7a00df3267cbe7494830cd63aaa640c;hb=9e06cb73424ca3f0eb971350c5dfb3cdaec0d5bf;hp=32dbced0608aa583e3838209a9faf6241fc2a7b7;hpb=cfdbe0ad0521045b27a60dbb1c963ea6dfdcda5a;p=lugaru.git diff --git a/Source/Game.h b/Source/Game.h index 32dbced..ec30c86 100644 --- a/Source/Game.h +++ b/Source/Game.h @@ -61,100 +61,7 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #define NB_CAMPAIGN_MENU_ITEM 7 -extern GLuint rabbittexture; - -struct TextureInfo; - -class CampaignLevel -{ -private: - int width; - struct Position - { - int x; - int y; - }; -public: - std::string mapname; - std::string description; - int choosenext; - /* - 0 = Immediately load next level at the end of this one. - 1 = Go back to the world map. - 2 = Don't bring up the Fiery loading screen. Maybe other things, I've not investigated. - */ - //int numnext; // 0 on final level. As David said: he meant to add story branching, but he eventually hadn't. - std::vector nextlevel; - Position location; - - CampaignLevel() : width(10) { - choosenext = 1; - location.x = 0; - location.y = 0; - } - - int getStartX() { - return 30+120+location.x*400/512; - } - - int getStartY() { - return 30+30+(512-location.y)*400/512; - } - - int getEndX() { - return getStartX()+width; - } - - int getEndY() { - return getStartY()+width; - } - - XYZ getCenter() { - XYZ center; - center.x=getStartX()+width/2; - center.y=getStartY()+width/2; - return center; - } - - int getWidth() { - return width; - } - - istream& operator<< (istream& is) { - is.ignore(256,':'); - is.ignore(256,':'); - is.ignore(256,' '); - is >> mapname; - is.ignore(256,':'); - is >> description; - for(int pos = description.find('_');pos!=string::npos;pos = description.find('_',pos)) { - description.replace(pos,1,1,' '); - } - is.ignore(256,':'); - is >> choosenext; - is.ignore(256,':'); - int numnext,next; - is >> numnext; - for(int j=0;j> next; - nextlevel.push_back(next-1); - } - is.ignore(256,':'); - is >> location.x; - is.ignore(256,':'); - is >> location.y; - return is; - } - - friend istream& operator>> (istream& is, CampaignLevel& cl) { - return cl << is; - } -}; - -namespace Game -{ - //public: +namespace Game { extern GLuint terraintexture; extern GLuint terraintexture2; extern GLuint terraintexture3; @@ -170,14 +77,6 @@ namespace Game extern int selected; extern int keyselect; - extern int indemo; - - extern bool won; - - extern bool entername; - - extern char registrationname[256]; - extern float registrationnumber; extern int newdetail; extern int newscreenwidth; @@ -187,13 +86,10 @@ namespace Game extern float deltah,deltav; extern int mousecoordh,mousecoordv; extern int oldmousecoordh,oldmousecoordv; - extern float rotation,rotation2; - extern SkyBox skybox; + extern float yaw,pitch; + extern SkyBox *skybox; extern bool cameramode; - extern int olddrawmode; - extern int drawmode; extern bool firstload; - extern bool oldbutton; extern float leveltime; extern float loadtime; @@ -202,7 +98,7 @@ namespace Game extern XYZ hawkcoords; extern XYZ realhawkcoords; extern GLuint hawktexture; - extern float hawkrotation; + extern float hawkyaw; extern float hawkcalldelay; extern Model eye; @@ -210,41 +106,22 @@ namespace Game extern Model cornea; extern bool stealthloading; + extern int loading; - extern std::vector campaignlevels; - extern int whichchoice; - extern int actuallevel; - extern bool winhotspot; - extern bool windialogue; - - extern bool minimap; - - extern int musictype,oldmusictype,oldoldmusictype; - extern bool realthreat; - - extern Model rabbit; - extern XYZ rabbitcoords; + extern int musictype; extern XYZ mapcenter; extern float mapradius; - extern Text* text; + extern Text *text; extern float fps; - extern XYZ cameraloc; - extern float cameradist; - - extern int drawtoggle; - extern bool editorenabled; extern int editortype; extern float editorsize; - extern float editorrotation; - extern float editorrotation2; - - extern float brightness; + extern float editoryaw; + extern float editorpitch; - extern int quit; extern int tryquit; extern XYZ pathpoint[30]; @@ -258,7 +135,6 @@ namespace Game extern int numchallengelevels; extern bool console; - extern int archiveselected; extern char consoletext[15][256]; extern int consolechars[15]; extern bool chatting; @@ -268,81 +144,43 @@ namespace Game extern float displayblinkdelay; extern bool displayblink; extern int displayselected; - extern bool consolekeydown; extern float consoleblinkdelay; extern bool consoleblink; extern int consoleselected; - extern bool autocam; + + extern int oldenvironment; + extern int targetlevel; + extern float changedelay; + + extern bool waiting; + extern Account* accountactive; extern unsigned short crouchkey,jumpkey,forwardkey,chatkey,backkey,leftkey,rightkey,drawkey,throwkey,attackkey; extern unsigned short consolekey; - extern bool oldattackkey; + + void newGame(); + void deleteGame(); void LoadTexture(const string fileName, GLuint *textureid,int mipmap, bool hasalpha); void LoadTextureSave(const string fileName, GLuint *textureid,int mipmap,GLubyte *array, int *skinsize); - void LoadSave(const char *fileName, GLuint *textureid,bool mipmap,GLubyte *array, int *skinsize); - bool AddClothes(const char *fileName, GLubyte *array); void InitGame(); - void LoadScreenTexture(); void LoadStuff(); void LoadingScreen(); - void LoadCampaign(); - std::vector ListCampaigns(); - void FadeLoadingScreen(float howmuch); - void Dispose(); int DrawGLScene(StereoSide side); - void DrawMenu(); - void DrawGL(); void LoadMenu(); - //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(const char *name); - void Setenvironment(int which); GLvoid ReSizeGLScene(float fov, float near); - int findPathDist(int start,int end); int checkcollide(XYZ startpoint, XYZ endpoint); int checkcollide(XYZ startpoint, XYZ endpoint, int what); - extern int loading; - extern float talkdelay; void fireSound(int sound=fireendsound); void setKeySelected(); - extern int numboundaries; - extern XYZ boundary[360]; - - extern int whichlevel; - extern int oldenvironment; - extern int targetlevel; - extern float changedelay; - - extern float musicvolume[4]; - extern float oldmusicvolume[4]; - extern int musicselected; - extern int change; - void newGame(); - void deleteGame(); - extern bool waiting; - //private: - int setKeySelected_thread(void*); - int thread(void *data); void inputText(char* str, int* charselected, int* nb_chars); void flash(); - //bool waiting; - extern Account* accountactive; } #ifndef __forceinline @@ -377,10 +215,10 @@ 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 float participantyaw[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 float dialoguecamerayaw[max_dialogues][max_dialoguelength]; +extern float dialoguecamerapitch[max_dialogues][max_dialoguelength]; extern int indialogue; extern int whichdialogue; extern int directing;