X-Git-Url: https://git.jsancho.org/?a=blobdiff_plain;f=Source%2FGame.h;h=176d245f5afa2659e296e2fc4abb61a1a671a6e6;hb=b84825978803615f45a9f128232e62431042aec0;hp=f5b42074b40351d932ab66823ac524d85758ac09;hpb=1c7d28a2fc93699ab955ea66203d0c36bba9d977;p=lugaru.git diff --git a/Source/Game.h b/Source/Game.h index f5b4207..176d245 100644 --- a/Source/Game.h +++ b/Source/Game.h @@ -1,22 +1,21 @@ /* Copyright (C) 2003, 2010 - Wolfire Games +Copyright (C) 2010-2016 - Lugaru contributors (see AUTHORS file) This file is part of Lugaru. -Lugaru is free software; you can redistribute it and/or -modify it under the terms of the GNU General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. +Lugaru is free software; you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation; either version 2 of the License, or +(at your option) any later version. -This program is distributed in the hope that it will be useful, +Lugaru is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - -See the GNU General Public License for more details. +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. You should have received a copy of the GNU General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +along with Lugaru. If not, see . */ #ifndef _GAME_H_ @@ -24,41 +23,26 @@ Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #include "SDL.h" -#if (defined(__APPLE__) && defined(__MACH__)) -# ifdef PLATFORM_MACOSX -# error Do not define PLATFORM_MACOSX for new builds. It is for the old Carbonized build. -# endif -#endif - -#ifdef PLATFORM_MACOSX -#include -#include "Quicktime.h" -#endif +#include "Animation/Skeleton.h" +#include "Audio/Sounds.h" +#include "Environment/Lights.h" +#include "Environment/Skybox.h" +#include "Environment/Terrain.h" +#include "Graphic/gamegl.h" +#include "Graphic/Models.h" +#include "Graphic/Sprite.h" +#include "Graphic/Stereo.h" +#include "Graphic/Text.h" +#include "Graphic/Texture.h" +#include "Objects/Objects.h" +#include "Objects/Person.h" +#include "Objects/Weapons.h" +#include "Thirdparty/optionparser.h" +#include "User/Account.h" +#include "Utils/binio.h" +#include "Utils/ImageIO.h" -//Jordan included glut.h -//#include - -#include "TGALoader.h" - -#include "Terrain.h" -#include "Skybox.h" -#include "Skeleton.h" -#include "Models.h" -#include "Lights.h" -#include "Person.h" -#include "Sprite.h" -//#include -#include "Text.h" -#include "Objects.h" -//#include -#include "Weapons.h" -#include "binio.h" #include -#include "gamegl.h" -#include "Stereo.h" -#include "Account.h" -#include "Sounds.h" -#include "Texture.h" #define NB_CAMPAIGN_MENU_ITEM 7 @@ -92,6 +76,7 @@ extern bool cameramode; extern bool firstload; extern float leveltime; +extern float wonleveltime; extern float loadtime; extern Model hawk; @@ -136,24 +121,22 @@ extern int numchallengelevels; extern bool console; extern std::string consoletext[15]; -extern bool chatting; extern std::string displaytext[15]; extern float displaytime[15]; extern float displayblinkdelay; extern bool displayblink; -extern int displayselected; +extern unsigned displayselected; extern float consoleblinkdelay; extern bool consoleblink; -extern int consoleselected; +extern unsigned consoleselected; 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 crouchkey, jumpkey, forwardkey, backkey, leftkey, rightkey, drawkey, throwkey, attackkey; extern unsigned short consolekey; void newGame(); @@ -164,7 +147,10 @@ void LoadStuff(); void LoadScreenTexture(); void LoadingScreen(); int DrawGLScene(StereoSide side); -void LoadMenu(); +void playdialoguescenesound(); +int findClosestPlayer(); +void Loadlevel(int which); +void Loadlevel(const std::string& name); void Tick(); void TickOnce(); void TickOnceAfter(); @@ -174,10 +160,9 @@ int checkcollide(XYZ startpoint, XYZ endpoint); int checkcollide(XYZ startpoint, XYZ endpoint, int what); void fireSound(int sound = fireendsound); -void setKeySelected(); -void inputText(std::string& str, int* charselected); -void flash(); +void inputText(std::string& str, unsigned* charselected); +void flash(float amount = 1, int delay = 1); } #ifndef __forceinline @@ -206,30 +191,6 @@ extern "C" { #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 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 participantyaw[max_dialogues][10]; -extern XYZ participantfacing[max_dialogues][max_dialoguelength][10]; -extern float dialoguecamerayaw[max_dialogues][max_dialoguelength]; -extern float dialoguecamerapitch[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 @@ -237,15 +198,31 @@ enum maptypes { enum pathtypes {wpkeepwalking, wppause}; -static const char *pathtypenames[] = {"keepwalking", "pause"}; +extern const char *pathtypenames[2]; enum editortypes {typeactive, typesitting, typesittingwall, typesleeping, typedead1, typedead2, typedead3, typedead4 }; -static const char *editortypenames[] = { - "active", "sitting", "sitting wall", "sleeping", - "dead1", "dead2", "dead3", "dead4" -}; +extern const char *editortypenames[8]; + +extern const char *rabbitskin[10]; + +extern const char *wolfskin[3]; + +extern const char **creatureskin[2]; + +SDL_bool sdlEventProc(const SDL_Event &e); + + + +enum optionIndex { UNKNOWN, HELP, FULLSCREEN, NOMOUSEGRAB, SOUND, OPENALINFO, SHOWRESOLUTIONS, DEVTOOLS }; +/* Number of options + 1 */ +const int commandLineOptionsNumber = 9; + +extern const option::Descriptor usage[13]; + +extern option::Option commandLineOptions[commandLineOptionsNumber]; +extern option::Option* commandLineOptionsBuffer; #endif