src/render/rSysdep.h

Go to the documentation of this file.
00001 /*
00002 
00003 *************************************************************************
00004 
00005 ArmageTron -- Just another Tron Lightcycle Game in 3D.
00006 Copyright (C) 2000  Manuel Moos (manuel@moosnet.de)
00007 
00008 **************************************************************************
00009 
00010 This program is free software; you can redistribute it and/or
00011 modify it under the terms of the GNU General Public License
00012 as published by the Free Software Foundation; either version 2
00013 of the License, or (at your option) any later version.
00014 
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018 GNU General Public License for more details.
00019 
00020 You should have received a copy of the GNU General Public License
00021 along with this program; if not, write to the Free Software
00022 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
00023   
00024 ***************************************************************************
00025 
00026 */
00027 
00028 #ifndef ArmageTron_SYSDEP_H
00029 #define ArmageTron_SYSDEP_H
00030 
00031 class rSysDep
00032 {
00033 public:
00034     enum rSwapMode
00035     {
00036         rSwap_Fastest = 0,
00037         rSwap_glFlush = 1,
00038         rSwap_glFinish = 2
00039                          /*
00040                                  rSwap_150Hz = 5,
00041                                  rSwap_100Hz = 7,
00042                                  rSwap_80Hz  = 9,
00043                                  rSwap_60Hz  = 11
00044                          */
00045     };
00046 
00047 #ifndef DEDICATED
00048     // graphics initialisation and cleanup:
00049     static bool InitGL();
00050     static void ExitGL();
00051 
00052     // buffer swap:
00053     static void SwapGL();
00054     static void ClearGL(); // not really system depentent.......
00055 
00056     // starting and stopping of background network processing
00057     class rNetIdler
00058     {
00059     public:
00060         virtual ~rNetIdler(){};
00061         // only during Do(), gamestate may be modified.
00062         virtual bool Wait() = 0; 
00063         virtual void Do() = 0;   
00064     };
00065     static void StartNetSyncThread( rNetIdler * idler );
00066     static void StopNetSyncThread();
00067 #endif
00068 
00069     static rSwapMode swapMode_;
00070 };
00071 
00072 #endif

Generated on Sat Mar 15 22:55:53 2008 for Armagetron Advanced by  doxygen 1.5.4