Wing Commander II
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
dib.cpp File Reference

DirectDraw DIB display, frame timing and palettes. More...

#include "game.h"

Go to the source code of this file.

Macros

#define CINTERFACE
#define DIB_C

Functions

void ThrottleFrameAndDrawFps (HDC dc)
void SetHudMessageText (char *text, unsigned short colour, unsigned short duration)
void DIBerror (const char *tag, int hr)
void ReportSpaceFlightMaxFps (float adjustment)
void SetSpaceFlightFrameTiming (void)
void SetDefaultFrameTiming (void)
void SetCinematicFrameTiming (float frameRate)
void DIBpositionWindow (void)
void DIBreInstall (void)
void DIBinstall (HWND window)
int DIBcascade (int mode, int *reportedResult)
void DIBunInstall (void)
void DIBmakeDIB (void)
void DIBdestroyDIB (void)
void MarkDibDirty (void)
void EnableDibSlam (void)
void DisableDibSlam (void)
void DIBslamReal (void)
void DIBupdate (int left, int top, int right, int bottom)
unsigned char * GetDIBPixelBuffer (void)
void DIBpixelBufferHook (void)
HWND GetDIBWindowHandle (void)
unsigned int GetDIBWidth (void)
unsigned int GetDIBHeight (void)
void CachePaletteEntryFromWords (short index, unsigned short *rgb)
void DIBramPalette (void)
void DIBsetPalette (short index, short *rgb)
void GetPaletteEntryAsWords (short i, unsigned short *rgb)
void DIBwholePaletteFromTriplets (unsigned char *palette)
void DIBwholePaletteFromWords (unsigned short *palette)
void DIBwaitForVerticalBlank (void)

Variables

static int g_nDefaultFrameRate = 70
static int g_nDisplayFrameRate = 70
long g_17_nFramePeriodMillis
float g_1_fPreviousFrameSpeed
const GUID CLSID_DirectDraw
const GUID CLSID_DirectDrawClipper
const GUID IID_IDirectDraw
const GUID IID_IDirectDraw2
const GUID IID_IDirectDrawSurface
const GUID IID_IDirectDrawSurface2
const GUID IID_IDirectDrawPalette
const GUID IID_IDirectDrawClipper
LPDIRECTDRAW2 g_pDirectDraw2 = 0
LPDIRECTDRAWSURFACE g_pPrimarySurface = 0
LPDIRECTDRAWSURFACE g_pSecondarySurface = 0
LPDIRECTDRAWPALETTE g_pDirectDrawPalette = 0
int g_nDisplayModeCascade = -1
DWORD g_dwNextFrameDeadline = 0
int g_nUnusedDibWord1 = 0
long g_lPreviousFrameTick = 0
int g_nFrameTimingMode = 0
float g_fSpaceFlightFrameRate = 20.0f
int g_nUnusedDibWord2 = 0
int g_bFrameTimingInitialized = 0
int g_bDibSlamEnabled = 1
char g_59_szFrameFrequencyString [32]
unsigned int g_38_nDibOriginX
unsigned int g_101_nDibOffsetY
unsigned char * g_18_pDisplayPixelBuffer
unsigned int g_28_nDisplayRowBytes
unsigned int g_38_nSurfaceHeight
unsigned char g_11_abFrameBackingStore [0xfa00]
int g_36_nDibBitsEachPx
int g_4_nDibShowCount
HWND g_2_hFrameHwnd
int g_nDibDirtyHitTotal
char g_szFrameErrorMessage [0x8c]
unsigned char g_3_abColourShadow [1024]
float g_fMeasuredFrameRate
char g_2_szDibDebugScratch [260]
int g_4_bScreenStale
int g_8_nDibFlipRealCount
unsigned int g_10_dwLastSurfaceSlamRealNoticeTick
char g_18_szSpaceFlightBestFpsMessage [0x80]
unsigned int g_dwLastDibDirtyReportTime
char g_3_szDibSlamRealDebugBuf [256]
int g_28_nUnusedFrameSlot
int g_nUnusedScreenWord1
int g_nUnusedScreenWord2
int g_4_nUnusedFrameWord
int g_5_nUnusedDibWord3
int g_nUnusedDibWord4
int g_nUnusedDibWord5
int g_2_nReservedDibWord
int g_12_nIdleFrameWord1
int g_11_nIdleFrameWord2

Detailed Description

DirectDraw DIB display, frame timing and palettes.

Definition in file dib.cpp.

Macro Definition Documentation

◆ CINTERFACE

#define CINTERFACE

Definition at line 12 of file dib.cpp.

◆ DIB_C

#define DIB_C

Definition at line 13 of file dib.cpp.

Function Documentation

◆ CachePaletteEntryFromWords()

void CachePaletteEntryFromWords ( short index,
unsigned short * rgb )

◆ DIBcascade()

int DIBcascade ( int mode,
int * reportedResult )

◆ DIBdestroyDIB()

◆ DIBerror()

◆ DIBinstall()

◆ DIBmakeDIB()

◆ DIBpixelBufferHook()

void DIBpixelBufferHook ( void )

Definition at line 786 of file dib.cpp.

References DIBpixelBufferHook().

Referenced by DIBpixelBufferHook(), and UpdateShipTurretGuns().

◆ DIBpositionWindow()

◆ DIBramPalette()

void DIBramPalette ( void )

◆ DIBreInstall()

◆ DIBsetPalette()

◆ DIBslamReal()

◆ DIBunInstall()

◆ DIBupdate()

◆ DIBwaitForVerticalBlank()

void DIBwaitForVerticalBlank ( void )

◆ DIBwholePaletteFromTriplets()

◆ DIBwholePaletteFromWords()

void DIBwholePaletteFromWords ( unsigned short * palette)

◆ DisableDibSlam()

void DisableDibSlam ( void )

Definition at line 556 of file dib.cpp.

References DisableDibSlam(), and g_bDibSlamEnabled.

Referenced by DisableDibSlam(), and UpdateShipTurretGuns().

◆ EnableDibSlam()

void EnableDibSlam ( void )

Definition at line 550 of file dib.cpp.

References EnableDibSlam(), and g_bDibSlamEnabled.

Referenced by EnableDibSlam(), and UpdateShipTurretGuns().

◆ GetDIBHeight()

unsigned int GetDIBHeight ( void )

Definition at line 806 of file dib.cpp.

References g_38_nSurfaceHeight, and GetDIBHeight().

Referenced by GetDIBHeight(), and UpdateShipTurretGuns().

◆ GetDIBPixelBuffer()

◆ GetDIBWidth()

unsigned int GetDIBWidth ( void )

Definition at line 800 of file dib.cpp.

References g_28_nDisplayRowBytes, and GetDIBWidth().

Referenced by GetDIBWidth(), and UpdateShipTurretGuns().

◆ GetDIBWindowHandle()

HWND GetDIBWindowHandle ( void )

Definition at line 793 of file dib.cpp.

References g_2_hFrameHwnd, and GetDIBWindowHandle().

Referenced by GetDIBWindowHandle(), and UpdateShipTurretGuns().

◆ GetPaletteEntryAsWords()

void GetPaletteEntryAsWords ( short i,
unsigned short * rgb )

◆ MarkDibDirty()

◆ ReportSpaceFlightMaxFps()

◆ SetCinematicFrameTiming()

◆ SetDefaultFrameTiming()

◆ SetHudMessageText()

void SetHudMessageText ( char * text,
unsigned short colour,
unsigned short duration )

Definition at line 2742 of file cockpt.c.

◆ SetSpaceFlightFrameTiming()

◆ ThrottleFrameAndDrawFps()

Variable Documentation

◆ CLSID_DirectDraw

const GUID CLSID_DirectDraw
Initial value:
= {
0xd7b70ee0, 0x4340, 0x11cf,
{ 0xb0, 0x63, 0x00, 0x20, 0xaf, 0xc2, 0xcd, 0x35 }
}

Definition at line 30 of file dib.cpp.

◆ CLSID_DirectDrawClipper

const GUID CLSID_DirectDrawClipper
Initial value:
= {
0x593817a0, 0x7db3, 0x11cf,
{ 0xa2, 0xde, 0x00, 0xaa, 0x00, 0xb9, 0x33, 0x56 }
}

Definition at line 35 of file dib.cpp.

◆ g_101_nDibOffsetY

unsigned int g_101_nDibOffsetY

Definition at line 100 of file dib.cpp.

Referenced by DIBdestroyDIB(), and DIBmakeDIB().

◆ g_10_dwLastSurfaceSlamRealNoticeTick

unsigned int g_10_dwLastSurfaceSlamRealNoticeTick

Definition at line 115 of file dib.cpp.

Referenced by DIBslamReal().

◆ g_11_abFrameBackingStore

unsigned char g_11_abFrameBackingStore[0xfa00]

Definition at line 104 of file dib.cpp.

Referenced by DIBdestroyDIB(), DIBinstall(), and DIBmakeDIB().

◆ g_11_nIdleFrameWord2

int g_11_nIdleFrameWord2

Definition at line 129 of file dib.cpp.

◆ g_12_nIdleFrameWord1

int g_12_nIdleFrameWord1

Definition at line 128 of file dib.cpp.

◆ g_17_nFramePeriodMillis

long g_17_nFramePeriodMillis
Initial value:
=
(long)(1000.0 / g_nDisplayFrameRate)
static int g_nDisplayFrameRate
Definition dib.cpp:18

Definition at line 20 of file dib.cpp.

Referenced by SetCinematicFrameTiming(), SetDefaultFrameTiming(), SetSpaceFlightFrameTiming(), and ThrottleFrameAndDrawFps().

◆ g_18_pDisplayPixelBuffer

unsigned char* g_18_pDisplayPixelBuffer

◆ g_18_szSpaceFlightBestFpsMessage

char g_18_szSpaceFlightBestFpsMessage[0x80]

Definition at line 116 of file dib.cpp.

Referenced by ReportSpaceFlightMaxFps().

◆ g_1_fPreviousFrameSpeed

float g_1_fPreviousFrameSpeed
Initial value:

Definition at line 23 of file dib.cpp.

Referenced by SetDefaultFrameTiming().

◆ g_28_nDisplayRowBytes

unsigned int g_28_nDisplayRowBytes

Definition at line 102 of file dib.cpp.

Referenced by DIBdestroyDIB(), DIBmakeDIB(), DIBslamReal(), DIBupdate(), and GetDIBWidth().

◆ g_28_nUnusedFrameSlot

int g_28_nUnusedFrameSlot

Definition at line 120 of file dib.cpp.

◆ g_2_hFrameHwnd

HWND g_2_hFrameHwnd

◆ g_2_nReservedDibWord

int g_2_nReservedDibWord

Definition at line 127 of file dib.cpp.

◆ g_2_szDibDebugScratch

char g_2_szDibDebugScratch[260]

Definition at line 112 of file dib.cpp.

Referenced by MarkDibDirty().

◆ g_36_nDibBitsEachPx

int g_36_nDibBitsEachPx

Definition at line 105 of file dib.cpp.

Referenced by DIBmakeDIB().

◆ g_38_nDibOriginX

unsigned int g_38_nDibOriginX

Definition at line 99 of file dib.cpp.

Referenced by DIBdestroyDIB(), and DIBmakeDIB().

◆ g_38_nSurfaceHeight

unsigned int g_38_nSurfaceHeight

Definition at line 103 of file dib.cpp.

Referenced by DIBdestroyDIB(), DIBmakeDIB(), DIBslamReal(), and GetDIBHeight().

◆ g_3_abColourShadow

◆ g_3_szDibSlamRealDebugBuf

char g_3_szDibSlamRealDebugBuf[256]

Definition at line 118 of file dib.cpp.

Referenced by DIBslamReal().

◆ g_4_bScreenStale

int g_4_bScreenStale

Definition at line 113 of file dib.cpp.

Referenced by DIBinstall(), DIBslamReal(), and MarkDibDirty().

◆ g_4_nDibShowCount

int g_4_nDibShowCount

Definition at line 106 of file dib.cpp.

Referenced by DIBinstall(), and DIBslamReal().

◆ g_4_nUnusedFrameWord

int g_4_nUnusedFrameWord

Definition at line 123 of file dib.cpp.

◆ g_59_szFrameFrequencyString

char g_59_szFrameFrequencyString[32]

Definition at line 98 of file dib.cpp.

Referenced by ThrottleFrameAndDrawFps().

◆ g_5_nUnusedDibWord3

int g_5_nUnusedDibWord3

Definition at line 124 of file dib.cpp.

◆ g_8_nDibFlipRealCount

int g_8_nDibFlipRealCount

Definition at line 114 of file dib.cpp.

Referenced by DIBslamReal().

◆ g_bDibSlamEnabled

int g_bDibSlamEnabled = 1

Definition at line 94 of file dib.cpp.

Referenced by DIBslamReal(), DisableDibSlam(), and EnableDibSlam().

◆ g_bFrameTimingInitialized

int g_bFrameTimingInitialized = 0

◆ g_dwLastDibDirtyReportTime

unsigned int g_dwLastDibDirtyReportTime

Definition at line 117 of file dib.cpp.

Referenced by MarkDibDirty().

◆ g_dwNextFrameDeadline

DWORD g_dwNextFrameDeadline = 0

◆ g_fMeasuredFrameRate

float g_fMeasuredFrameRate

Definition at line 111 of file dib.cpp.

Referenced by ThrottleFrameAndDrawFps().

◆ g_fSpaceFlightFrameRate

float g_fSpaceFlightFrameRate = 20.0f

Definition at line 88 of file dib.cpp.

Referenced by ReportSpaceFlightMaxFps(), and SetSpaceFlightFrameTiming().

◆ g_lPreviousFrameTick

long g_lPreviousFrameTick = 0

Definition at line 84 of file dib.cpp.

Referenced by ThrottleFrameAndDrawFps().

◆ g_nDefaultFrameRate

int g_nDefaultFrameRate = 70
static

Definition at line 16 of file dib.cpp.

◆ g_nDibDirtyHitTotal

int g_nDibDirtyHitTotal

Definition at line 108 of file dib.cpp.

Referenced by MarkDibDirty().

◆ g_nDisplayFrameRate

int g_nDisplayFrameRate = 70
static

Definition at line 18 of file dib.cpp.

◆ g_nDisplayModeCascade

int g_nDisplayModeCascade = -1

◆ g_nFrameTimingMode

int g_nFrameTimingMode = 0

◆ g_nUnusedDibWord1

int g_nUnusedDibWord1 = 0

Definition at line 82 of file dib.cpp.

◆ g_nUnusedDibWord2

int g_nUnusedDibWord2 = 0

Definition at line 90 of file dib.cpp.

◆ g_nUnusedDibWord4

int g_nUnusedDibWord4

Definition at line 125 of file dib.cpp.

◆ g_nUnusedDibWord5

int g_nUnusedDibWord5

Definition at line 126 of file dib.cpp.

◆ g_nUnusedScreenWord1

int g_nUnusedScreenWord1

Definition at line 121 of file dib.cpp.

◆ g_nUnusedScreenWord2

int g_nUnusedScreenWord2

Definition at line 122 of file dib.cpp.

◆ g_pDirectDraw2

◆ g_pDirectDrawPalette

LPDIRECTDRAWPALETTE g_pDirectDrawPalette = 0

◆ g_pPrimarySurface

◆ g_pSecondarySurface

LPDIRECTDRAWSURFACE g_pSecondarySurface = 0

◆ g_szFrameErrorMessage

char g_szFrameErrorMessage[0x8c]

Definition at line 109 of file dib.cpp.

Referenced by DIBerror().

◆ IID_IDirectDraw

const GUID IID_IDirectDraw
Initial value:
= {
0x6c14db80, 0xa733, 0x11ce,
{ 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60 }
}

Definition at line 40 of file dib.cpp.

◆ IID_IDirectDraw2

const GUID IID_IDirectDraw2
Initial value:
= {
0xb3a6f3e0, 0x2b43, 0x11cf,
{ 0xa2, 0xde, 0x00, 0xaa, 0x00, 0xb9, 0x33, 0x56 }
}

Definition at line 45 of file dib.cpp.

Referenced by DIBinstall().

◆ IID_IDirectDrawClipper

const GUID IID_IDirectDrawClipper
Initial value:
= {
0x6c14db85, 0xa733, 0x11ce,
{ 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60 }
}

Definition at line 65 of file dib.cpp.

◆ IID_IDirectDrawPalette

const GUID IID_IDirectDrawPalette
Initial value:
= {
0x6c14db84, 0xa733, 0x11ce,
{ 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60 }
}

Definition at line 60 of file dib.cpp.

◆ IID_IDirectDrawSurface

const GUID IID_IDirectDrawSurface
Initial value:
= {
0x6c14db81, 0xa733, 0x11ce,
{ 0xa5, 0x21, 0x00, 0x20, 0xaf, 0x0b, 0xe5, 0x60 }
}

Definition at line 50 of file dib.cpp.

◆ IID_IDirectDrawSurface2

const GUID IID_IDirectDrawSurface2
Initial value:
= {
0x57805885, 0x6eec, 0x11cf,
{ 0x94, 0x41, 0xa8, 0x23, 0x03, 0xc1, 0x0e, 0x27 }
}

Definition at line 55 of file dib.cpp.