00001 // OMICRON ENGINE HEADER FILE 00002 // 00003 // -------------------------------------------------------------------------- 00004 // Copyright (C) 2001-2002 by Bjoern Paetzel <kolrabi@gmx.de> 00005 // 00006 // This file is part of the Omicron Engine. 00007 // 00008 // The Omicron Engine is free software; you can redistribute it and/or modify 00009 // it under the terms of the GNU General Public License as published by the 00010 // Free Software Foundation; either version 2 of the License, or (at your 00011 // option) any later version. 00012 // 00013 // The Omicron Engine is distributed in the hope that it will be useful, but 00014 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 00015 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00016 // for more details. 00017 // 00018 // You should have received a copy of the GNU General Public License along 00019 // with The Omicron Engine; if not, write to the Free Software Foundation, 00020 // Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00021 // 00022 // -------------------------------------------------------------------------- 00023 // Last modified: $Date: 2002/12/07 19:02:17 $ 00024 // By : $Author: kolrabi $ 00025 // $Id: internal.h,v 1.1.1.1 2002/12/07 19:02:17 kolrabi Exp $ 00026 00027 /* 00028 00029 $Log: internal.h,v $ 00030 Revision 1.1.1.1 2002/12/07 19:02:17 kolrabi 00031 initial release 00032 00033 00034 */ 00035 00040 // Internally included 00041 #define OMICRON_INTERNAL 00042 /* 00043 // If in debug mode, activate profiler, memory management 00044 #if defined(_DEBUG) || defined (DEBUG) 00045 // #define USE_PROFILER 00046 00047 // FIXME: MEMORY MANAGEMENT IS BUGGY!!!! 00048 //#define USE_MEMMANAGER 00049 #endif 00050 00051 #define NOSOUND 00052 */ 00053 // include default engines 00054 #include "omicron.h" 00055 00056 /**************************************************************************** 00057 **************************************************************************** 00058 * DEFINES ****************************************************************** 00059 **************************************************************************** 00060 ****************************************************************************/ 00061 00062 // #define MAX_PROFILES 1024 00063 #define KMF_VERSION 0x00000002 00064 00065 /* HELPER MACROS ************************************************************/ 00066 00067 // b, g, r, a bytes to long : 0xaabbccdd 00068 #define _BYTES2LONG(r,g,b,a) \ 00069 ((ulong)((((a)&0xff)<<24)|(((b)&0xff)<<16)|(((g)&0xff)<<8)|((r)&0xff))) 00070 00071 // r, g, b, a bytes to color 00072 #define _COLOR2LONG(r,g,b,a) \ 00073 _BYTES2LONG((long)((r)*255.f), (long)((g)*255.f), (long)((b)*255.f), \ 00074 (ulong)((a)*255.f)) 00075 00076 /* 00077 #if defined(USE_PROFILER) 00078 # define STARTPROFILE(a) _profile_start(a); 00079 # define ENDPROFILE(a) _profile_end(a); 00080 #else 00081 # define STARTPROFILE(a) 00082 # define ENDPROFILE(a) 00083 #endif 00084 */ 00085 00086 /**************************************************************************** 00087 **************************************************************************** 00088 * TYPES ******************************************************************** 00089 **************************************************************************** 00090 ****************************************************************************/ 00091 00092 #if !defined(INTERNAL_TYPES_DEFINED) 00093 #define INTERNAL_TYPES_DEFINED 00094 /* 00095 typedef struct _profile_s 00097 { 00098 char *name; 00099 long calls; 00100 long totaltime; 00101 long mintime; 00102 long maxtime; 00103 long starttime; 00104 long maxrecursion; 00105 long currentrecursion; 00106 } _profile_t; 00107 */ 00108 #endif 00109 00110 #if defined(WIN32) && !defined(PFD_GENERIC_ACCELERATED) 00111 // some compilers dont know this 00112 #define PFD_GENERIC_ACCELERATED 0x00001000 00113 #endif 00114 00115 /**************************************************************************** 00116 **************************************************************************** 00117 * FUNCTIONS **************************************************************** 00118 **************************************************************************** 00119 ****************************************************************************/ 00120 00121 /* MISC *********************************************************************/ 00122 00123 ulong _time_get(); 00124 void init_vars(); 00125 void _showmem(bool showleaks); 00126 00127 /* WINDOW *******************************************************************/ 00128 00129 #if defined(WIN32) 00130 HWND _win_init 00131 ( 00132 ulong wWidth, 00133 ulong wHeight, 00134 HINSTANCE hInstance, 00135 bool bFullscreen 00136 ); 00137 00138 #else 00139 00140 ulong _win_init 00141 ( 00142 ulong wWidth, 00143 ulong wHeight, 00144 bool bFullscreen 00145 ); 00146 00147 #endif 00148 00149 void _win_deinit 00150 ( 00151 ) 00152 ; 00153 00154 ulong _win_mainloop 00155 ( 00156 ) 00157 ; 00158 00159 /* SOUND SYSTEM *************************************************************/ 00160 /* 00161 // out of order 00162 int _sound_init 00163 ( 00164 ) 00165 ; 00166 00167 void _sound_deinit 00168 ( 00169 ) 00170 ; 00171 00172 void _sound_update 00173 ( 00174 ) 00175 ; 00176 */ 00177 00178 /* INPUT SYSTEM *************************************************************/ 00179 00180 ulong _input_init 00181 ( 00182 ) 00183 ; 00184 00185 void _input_deinit 00186 ( 00187 ) 00188 ; 00189 00190 void _input_update 00191 ( 00192 ) 00193 ; 00194 00195 ushort _get_key_ascii 00196 ( 00197 uchar key 00198 ) 00199 ; 00200 00201 /* GFX **********************************************************************/ 00202 00203 ulong _gfx_init 00204 ( 00205 ushort nWidth, 00206 ushort nHeight, 00207 ulong bFullscreen 00208 ) 00209 ; 00210 00211 ulong _gfx_deinit 00212 ( 00213 ) 00214 ; 00215 00216 ulong _gfx_resize 00217 ( 00218 ushort nWidth, 00219 ushort nHeight, 00220 ulong bFullscreen 00221 ) 00222 ; 00223 00224 /* LOG **********************************************************************/ 00225 00226 void _log_init (); 00227 void _log_deinit (); 00228 00229 /* PROFILING ****************************************************************/ 00230 /* 00231 void _profile_start(char*); 00232 void _profile_end(char*); 00233 void _profile_init(); 00234 void _profile_show(); 00235 */ 00236 #if defined(WIN32) 00237 // extern PFNGLACTIVETEXTUREARBPROC glActiveTextureARB; 00238 // extern PFNGLCLIENTACTIVETEXTUREARBPROC glClientActiveTextureARB; 00239 #endif
1.2.18