| /**************************************************************************** |
| * |
| * Mesa 3-D graphics library |
| * Direct3D Driver Interface |
| * |
| * ======================================================================== |
| * |
| * Copyright (C) 1991-2004 SciTech Software, Inc. All rights reserved. |
| * |
| * Permission is hereby granted, free of charge, to any person obtaining a |
| * copy of this software and associated documentation files (the "Software"), |
| * to deal in the Software without restriction, including without limitation |
| * the rights to use, copy, modify, merge, publish, distribute, sublicense, |
| * and/or sell copies of the Software, and to permit persons to whom the |
| * Software is furnished to do so, subject to the following conditions: |
| * |
| * The above copyright notice and this permission notice shall be included |
| * in all copies or substantial portions of the Software. |
| * |
| * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
| * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
| * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
| * SCITECH SOFTWARE INC BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, |
| * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF |
| * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE |
| * SOFTWARE. |
| * |
| * ====================================================================== |
| * |
| * Language: ANSI C |
| * Environment: Windows 9x (Win32) |
| * |
| * Description: Global variables. |
| * |
| ****************************************************************************/ |
| |
| #include "dglglobals.h" |
| |
| // ======================================================================= |
| // Global Variables |
| // ======================================================================= |
| |
| char szCopyright[] = "Copyright (c) 1998 SciTech Software, Inc."; |
| char szDllName[] = "Scitech GLDirect"; |
| char szErrorTitle[] = "GLDirect Error"; |
| |
| DGL_globals glb; |
| |
| // Shared result variable |
| HRESULT hResult; |
| |
| // *********************************************************************** |
| |
| // Patch function for missing function in Mesa |
| int finite( |
| double x) |
| { |
| return _finite(x); |
| }; |
| |
| // *********************************************************************** |
| |
| void dglInitGlobals() |
| { |
| // Zero all fields just in case |
| memset(&glb, 0, sizeof(glb)); |
| |
| // Set the global defaults |
| glb.bPrimary = FALSE; // Not the primary device |
| glb.bHardware = FALSE; // Not a hardware device |
| // glb.bFullscreen = FALSE; // Not running fullscreen |
| glb.bSquareTextures = FALSE; // Device does not need sq |
| glb.bPAL8 = FALSE; // Device cannot do 8bit |
| glb.dwMemoryType = DDSCAPS_SYSTEMMEMORY; |
| glb.dwRendering = DGL_RENDER_D3D; |
| |
| glb.bWaitForRetrace = TRUE; // Sync to vertical retrace |
| glb.bFullscreenBlit = FALSE; |
| |
| glb.nPixelFormatCount = 0; |
| glb.lpPF = NULL; // Pixel format list |
| #ifndef _USE_GLD3_WGL |
| glb.nZBufferPFCount = 0; |
| glb.lpZBufferPF = NULL; |
| glb.nDisplayModeCount = 0; |
| glb.lpDisplayModes = NULL; |
| glb.nTextureFormatCount = 0; |
| glb.lpTextureFormat = NULL; |
| #endif // _USE_GLD3_WGL |
| |
| glb.wMaxSimultaneousTextures = 1; |
| |
| // Enable support for multitexture, if available. |
| glb.bMultitexture = TRUE; |
| |
| // Enable support for mipmapping |
| glb.bUseMipmaps = TRUE; |
| |
| // Alpha emulation via chroma key |
| glb.bEmulateAlphaTest = FALSE; |
| |
| // Use Mesa pipeline always (for compatibility) |
| glb.bForceMesaPipeline = FALSE; |
| |
| // Init support for multiple GLRCs |
| glb.bDirectDraw = FALSE; |
| glb.bDirectDrawPrimary = FALSE; |
| glb.bDirect3D = FALSE; |
| glb.bDirect3DDevice = FALSE; |
| glb.bDirectDrawStereo = FALSE; |
| glb.iDirectDrawStereo = 0; |
| glb.hWndActive = NULL; |
| // Init DirectX COM interfaces for multiple GLRCs |
| // glb.lpDD4 = NULL; |
| // glb.lpPrimary4 = NULL; |
| // glb.lpBack4 = NULL; |
| // glb.lpDepth4 = NULL; |
| // glb.lpGlobalPalette = NULL; |
| |
| // Init special support options |
| glb.bMessageBoxWarnings = TRUE; |
| glb.bDirectDrawPersistant = FALSE; |
| glb.bPersistantBuffers = FALSE; |
| |
| // Do not assume single-precision-only FPU (for compatibility) |
| glb.bFastFPU = FALSE; |
| |
| // Allow hot-key support |
| glb.bHotKeySupport = TRUE; |
| |
| // Default to single-threaded support (for simplicity) |
| glb.bMultiThreaded = FALSE; |
| |
| // Use application-specific customizations (for end-user convenience) |
| glb.bAppCustomizations = TRUE; |
| |
| #ifdef _USE_GLD3_WGL |
| // Registry/ini-file settings for GLDirect 3.x |
| glb.dwAdapter = 0; // Primary DX8 adapter |
| glb.dwTnL = 1; // MesaSW TnL |
| glb.dwMultisample = 0; // Multisample Off |
| glb.dwDriver = 2; // Direct3D HW |
| |
| // Signal a pixelformat list rebuild |
| glb.bPixelformatsDirty = TRUE; |
| #endif |
| } |
| |
| // *********************************************************************** |