diff options
Diffstat (limited to 'sword2/driver/_console.cpp')
-rw-r--r-- | sword2/driver/_console.cpp | 165 |
1 files changed, 165 insertions, 0 deletions
diff --git a/sword2/driver/_console.cpp b/sword2/driver/_console.cpp new file mode 100644 index 0000000000..fe9bb69cd1 --- /dev/null +++ b/sword2/driver/_console.cpp @@ -0,0 +1,165 @@ +/* Copyright (C) 1994-2003 Revolution Software Ltd + * + * This program 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, + * 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. + * + * 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. + * + * $Header$ + */ + +//============================================================================= +// +// Filename : console.c +// Created : 19th September 1996 +// By : P.R.Porter +// +// Summary : This module holds the code which controls and displays +// the console/debugging window. +// +// Version Date By Description +// ------- --------- --- ----------------------------------------------- +// 1.0 20-Sep-96 PRP Inital console code. Currently draws the +// background of the console window. Tex +// +// +// Functions +// --------- +// +// -------------------------------------------------------------------------- +// +// int32 OpenConsole(void) +// +// Displays the console window and directs keyboard input to it. +// +// -------------------------------------------------------------------------- +// +// int32 CloseConsole(void) +// +// Removes the console from the display. +// +//============================================================================= + + +#define WIN32_LEAN_AND_MEAN + +//#include <windows.h> +//#include <windowsx.h> + +//#include "ddraw.h" + +#include "driver96.h" + +#include "d_draw.h" + + + +uint8 consoleStatus = 0; // 1 - console display +static uint16 consoley = 0; +static uint32 consoleSize; +static uint8 *consoleSprite = NULL; + + + +// -------------------------------------------------------------------------- +// Called before the screens are flipped, so that the console can be drawn +// over the screen if necessary. +// -------------------------------------------------------------------------- +void DisplayConsole(void) + +{ + warning("stub DisplayConsole"); +/* + uint8 *src, *dst; + uint8 i; +// DDSURFACEDESC ddDescription; +// HRESULT hr; + + + if (consoleStatus) + { + + ddDescription.dwSize = sizeof(ddDescription); + + hr = IDirectDrawSurface_Lock(lpBackBuffer, NULL, &ddDescription, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL); + if (hr != DD_OK) + { + RestoreSurfaces(); + hr = IDirectDrawSurface_Lock(lpBackBuffer, NULL, &ddDescription, DDLOCK_SURFACEMEMORYPTR | DDLOCK_WAIT, NULL); + } + + if (hr == DD_OK) + { + + dst = (uint8 *) ddDescription.lpSurface + (screenDeep - consoley) * ddDescription.lPitch; + src = (uint8 *) consoleSprite; + + for (i=0; i<consoley; i++) + { + memcpy(dst, src, screenWide); + src += screenWide; + dst += ddDescription.lPitch; + } + IDirectDrawSurface_Unlock(lpBackBuffer, ddDescription.lpSurface); + } + } + */ +} + + + + +int32 OpenConsole(void) + +{ + warning("stub OpenConsole"); +/* + if (consoleStatus) + return(RDERR_ALREADYOPEN); + + if (consoleSprite == NULL) + { + consoley = screenDeep >> 2; + consoleSize = screenWide * consoley; + consoleSprite = (uint8 *) malloc(consoleSize); + } + + if (consoleSprite == NULL) + return(RDERR_OUTOFMEMORY); + + memset(consoleSprite, 0, consoleSize); +*/ + consoleStatus = 1; + + return(RD_OK); + +} + + + + +int32 CloseConsole(void) + +{ + + if (!consoleStatus) + return(RDERR_ALREADYCLOSED); + + free(consoleSprite); + consoleSprite = NULL; + + consoleStatus = 0; + + return(RD_OK); + +} + |