Files
source/Standard Gaming Platform/video.h
T
lalien 8b2d0e33aa Data and Source v1.13 Mod High Resolution version from 2006-03-16
*********************************************************
*	2006/03/16					*
*	RoWa21						*
*	Developed in VS 2003				*
*********************************************************

- Changed missing screens to the High-Resolution
	- Tactical Screen
	- Shopkeeper Interface, 
	- Credits Screen,
	- AutoResolve Screen
	- ...

- Some bugfixing with the screens
	- Centered message boxes
	- ...

- Merged lalienxx's features (BUT NO BURST AND NO MP3/OGG SUPPORT!)
	- Rain and lightning visual and sound effects
	- Visibility radius decrease when rainig
	- Weapon relyability decrease when rainig
	- Possibility to spot the enemy at night with lightning
	- New settings in the ja2.ini file for the rain
	- Aiming without shooting with "L" key
		- Move the cursor over an enemy and press the "L" key.

- Added judges bugfixing
	- Swapped internal shopkeeper character numbering to match the Prof.dat in 1.13 (Gabby/Smithy)
	- Added status of the items to item 'tooltip'
		- If it is an ammo, the number of available rounds appear
	- A stack of items now always shows the minimum repair status
		- No more carrying a stack of grenades into battle only to find most are duds
	- Made tactical map loading code more robust against maps with bogus buildings 
	- Made tactical map loading code more robust against maps with characters with bogus locations or schedules 

- Changed the location of the savegame structure
	- Each mode contains its own savegame folder in its own data-folder

- Some general bugfixing
	- See Bugfixing.xls on the ftp

git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@24 3b4a5df2-a311-0410-b5c6-a8a6f20db521
2006-04-19 17:22:20 +00:00

102 lines
3.9 KiB
C++

#ifndef __VIDEO_
#define __VIDEO_
#include <windows.h>
#include <ddraw.h>
#include <process.h>
#include "Local.h"
#include "Debug.h"
#include "Types.h"
#include "DirectDraw Calls.h"
#include "VSurface.h"
#include "Mutex Manager.h"
#define BUFFER_READY 0x00
#define BUFFER_BUSY 0x01
#define BUFFER_DIRTY 0x02
#define BUFFER_DISABLED 0x03
#define MAX_CURSOR_WIDTH 64
#define MAX_CURSOR_HEIGHT 64
#define VIDEO_NO_CURSOR 0xFFFF
extern HWND ghWindow;
extern UINT32 guiMouseBufferState; // BUFFER_READY, BUFFER_DIRTY, BUFFER_DISABLED
/*
#ifdef __cplusplus
extern "C" {
#endif
*/
extern BOOLEAN InitializeVideoManager(HINSTANCE hInstance, UINT16 usCommandShow, void *WindowProc);
extern void ShutdownVideoManager(void);
extern void SuspendVideoManager(void);
extern BOOLEAN RestoreVideoManager(void);
extern void GetCurrentVideoSettings(UINT16 *usWidth, UINT16 *usHeight, UINT8 *ubBitDepth);
extern BOOLEAN CanBlitToFrameBuffer(void);
extern BOOLEAN CanBlitToMouseBuffer(void);
extern void InvalidateRegion(INT32 iLeft, INT32 iTop, INT32 iRight, INT32 iBottom);
extern void InvalidateRegions(SGPRect *pArrayOfRegions, UINT32 uiRegionCount);
extern void InvalidateScreen(void);
extern void InvalidateFrameBuffer(void);
extern void SetFrameBufferRefreshOverride(PTR pFrameBufferRefreshOverride);
extern LPDIRECTDRAW2 GetDirectDraw2Object(void);
extern LPDIRECTDRAWSURFACE2 GetPrimarySurfaceObject(void);
extern LPDIRECTDRAWSURFACE2 GetBackBufferObject(void);
extern LPDIRECTDRAWSURFACE2 GetFrameBufferObject(void);
extern LPDIRECTDRAWSURFACE2 GetMouseBufferObject(void);
extern PTR LockPrimarySurface(UINT32 *uiPitch);
extern void UnlockPrimarySurface(void);
extern PTR LockBackBuffer(UINT32 *uiPitch);
extern void UnlockBackBuffer(void);
extern PTR LockFrameBuffer(UINT32 *uiPitch);
extern void UnlockFrameBuffer(void);
extern PTR LockMouseBuffer(UINT32 *uiPitch);
extern void UnlockMouseBuffer(void);
extern BOOLEAN GetRGBDistribution(void);
extern BOOLEAN GetPrimaryRGBDistributionMasks(UINT32 *RedBitMask, UINT32 *GreenBitMask, UINT32 *BblueBitMask);
extern BOOLEAN SetMouseCursorFromObject(UINT32 uiVideoObjectHandle, UINT16 usVideoObjectSubIndex, UINT16 usOffsetX, UINT16 usOffsetY );
extern BOOLEAN HideMouseCursor(void);
extern BOOLEAN LoadCursorFile(PTR pFilename);
extern BOOLEAN SetCurrentCursor(UINT16 usVideoObjectSubIndex, UINT16 usOffsetX, UINT16 usOffsetY );
extern void StartFrameBufferRender(void);
extern void EndFrameBufferRender(void);
extern void PrintScreen(void);
extern BOOLEAN EraseMouseCursor( );
extern BOOLEAN SetMouseCursorProperties( INT16 sOffsetX, INT16 sOffsetY, UINT16 usCursorHeight, UINT16 usCursorWidth );
extern BOOLEAN BltToMouseCursor(UINT32 uiVideoObjectHandle, UINT16 usVideoObjectSubIndex, UINT16 usXPos, UINT16 usYPos );
void DirtyCursor( );
void EnableCursor( BOOLEAN fEnable );
BOOLEAN Set8BPPPalette(SGPPaletteEntry *pPalette);
// 8-bit palette globals
void VideoCaptureToggle( void );
void InvalidateRegionEx(INT32 iLeft, INT32 iTop, INT32 iRight, INT32 iBottom, UINT32 uiFlags );
void RefreshScreen(void *DummyVariable);
template <typename string1>
void FatalError( string1 pError, ...);
extern SGPPaletteEntry gSgpPalette[256];
extern LPDIRECTDRAWPALETTE gpDirectDrawPalette;
/*
#ifdef __cplusplus
}
#endif
*/
#endif