00001 00011 /*************************************************************************** 00012 * Copyright (C) 2007 by Jan Koci * 00013 * honza.koci@email.cz * 00014 * http://kengine.sourceforge.net/tutorial/ 00015 * * 00016 * This program is free software; you can redistribute it and/or modify * 00017 * it under the terms of the GNU General Public License as published by * 00018 * the Free Software Foundation; either version 2 of the License, or * 00019 * (at your option) any later version. * 00020 * * 00021 * This program is distributed in the hope that it will be useful, * 00022 * but WITHOUT ANY WARRANTY; without even the implied warranty of * 00023 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * 00024 * GNU General Public License for more details. * 00025 * * 00026 * You should have received a copy of the GNU General Public License * 00027 * along with this program; if not, write to the * 00028 * Free Software Foundation, Inc., * 00029 * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * 00030 ***************************************************************************/ 00031 00032 00033 #include <SDL/SDL.h> 00034 #include <SDL/SDL_opengl.h> 00035 #include <SDL/SDL_image.h> 00036 00037 #include <unistd.h> 00038 #include <sys/types.h> 00039 00040 #include "GameData/K3dGameData.h" 00041 #include "../Script/K3dVM.h" 00042 #include "K3dScene.h" 00043 #include "../Graphics/K3dGui.h" 00044 00045 #define SDL_SUBSYSTEMS SDL_INIT_VIDEO 00046 #define WIN_TITLE "K3dEngine" 00047 00048 #include "K3dDir.h" 00049 00050 class K3dEngine 00051 { 00053 SDL_Surface *m_pScreen; 00055 K3dGameData *m_pGameData; 00057 K3dVM *m_pVM; 00059 K3dScene *m_pScene; 00061 int m_argc; 00062 char **m_argv; 00064 Uint32 m_uiFlags; 00065 bool m_bIsFullscreen; 00066 00067 bool InitEngine ( int _argc, char *_argv[], bool _bReinit=false ); 00068 void Destroy(); 00069 bool ProcessEvent(); 00070 bool ToggleFullscreen(); 00071 00072 public: 00073 K3dEngine(); 00074 ~K3dEngine(); 00075 00076 bool Init ( int _argc, char *_argv[], bool _bReinit=false ); 00077 int Start(); 00078 00079 }; 00080