Wing Commander II
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
screen.c
Go to the documentation of this file.
1/*
2 * Full-screen DIB viewport setup.
3 *
4 * Retail object 0x40FB80-0x40FCCF (link order; see docs/ORDER.md).
5 */
6#include "game.h"
7
8/* Function start: 0x40FB80 */
10 Viewport *viewport, unsigned short colour)
11{
12 short row;
13
14 g_pDibScreenViewport = viewport;
19 viewport->left = 0;
20 viewport->top = 0;
21 viewport->right = 319;
22 viewport->bottom = 199;
23 if (g_nSpacePaletteFadeMode != 0x13) {
24 SystemDebugPrintf("== BAD alloc_screen == : type: '%d'\n",
25 (int)(short)g_nSpacePaletteFadeMode);
26 exit(1);
27 }
28 colour = (unsigned short)-1;
29 viewport->pixels = GetDIBPixelBuffer();
31 for (row = 0; row < 202; row++)
33 (unsigned short)(row * 320);
34 if ((short)colour != -1)
35 ClearViewport(viewport, colour);
36 return 1;
37}
38
39/* Function start: 0x40FC7E */
40/* Initialises a 320x200 viewport record (0x13F == 319, 199) then validates it. */
41void InitFullScreenViewport(Viewport *viewport, short arg)
42{
43 g_19_pFullScreenViewport = viewport;
44 viewport->left = 0;
45 viewport->right = 319;
46 viewport->top = 0;
47 viewport->bottom = 199;
48 AllocateViewport(viewport, arg, 0);
49 return;
50}
51
52/* Linker commons defined here. LINK lays a unit's commons out by the
53 * identifiers' hash keys, so these spellings follow the original addresses. */
56unsigned short g_2_awDibScreenRowOffsetsData[202]; /* 0x005d39a0 */
57int g_nUnusedScreenSlot[2]; /* 0x005d3b38 */ /* never referenced */
58int g_nDibScreenChunkState; /* 0x005d3b40 */
60char g_1_nUnusedScreenWord3; /* 0x005d3b48 */ /* never referenced */
62int g_nUnusedScreenWordValue[29]; /* 0x005d3b50 */ /* never referenced */
short AllocateViewport(Viewport *viewport, short clearColour, short flags)
Definition vpalloc.c:32
unsigned short InitializeDIBScreenViewport(Viewport *viewport, unsigned short colour)
Definition screen.c:9
unsigned char * GetDIBPixelBuffer(void)
Definition dib.cpp:779
void ClearViewport(Viewport *viewport, short colour)
Definition gr.c:1027
void InitFullScreenViewport(Viewport *viewport, short arg)
Definition screen.c:41
void SystemDebugPrintf(const char *format,...)
Definition console.cpp:30
Shared Win32 declarations, types and library interfaces.
int * g_pDibScreenAllocationStatePointer
Definition screen.c:61
int g_nDibScreenChunkState
Definition screen.c:58
Viewport * g_pDibScreenViewport
Definition screen.c:54
unsigned short g_2_awDibScreenRowOffsetsData[202]
Definition screen.c:56
short g_nSpacePaletteFadeMode
Definition palalloc.c:8
Viewport * g_19_pFullScreenViewport
Definition screen.c:55
Viewport * g_pDibScreenViewportMirrorRef
Definition screen.c:59
int g_nUnusedScreenSlot[2]
Definition screen.c:57
char g_1_nUnusedScreenWord3
Definition screen.c:60
int g_nUnusedScreenWordValue[29]
Definition screen.c:62
unsigned char * pixels
Definition game.h:150
short right
Definition game.h:154
short bottom
Definition game.h:155
unsigned short * rowOffsets
Definition game.h:151
short left
Definition game.h:152
short top
Definition game.h:153