Wing Commander II
Reconstructed Win32 source (1996)
Toggle main menu visibility
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 */
9
unsigned
short
InitializeDIBScreenViewport
(
10
Viewport
*viewport,
unsigned
short
colour)
11
{
12
short
row;
13
14
g_pDibScreenViewport
= viewport;
15
g_pDibScreenAllocationStatePointer
=
16
&
g_nDibScreenChunkState
;
17
g_nDibScreenChunkState
= 0;
18
g_pDibScreenViewportMirrorRef
= 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
();
30
viewport->
rowOffsets
=
g_2_awDibScreenRowOffsetsData
;
31
for
(row = 0; row < 202; row++)
32
g_2_awDibScreenRowOffsetsData
[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. */
41
void
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. */
54
Viewport
*
g_pDibScreenViewport
;
/* 0x005d398c */
55
Viewport
*
g_19_pFullScreenViewport
;
/* 0x005d3990 */
56
unsigned
short
g_2_awDibScreenRowOffsetsData
[202];
/* 0x005d39a0 */
57
int
g_nUnusedScreenSlot
[2];
/* 0x005d3b38 */
/* never referenced */
58
int
g_nDibScreenChunkState
;
/* 0x005d3b40 */
59
Viewport
*
g_pDibScreenViewportMirrorRef
;
/* 0x005d3b44 */
60
char
g_1_nUnusedScreenWord3
;
/* 0x005d3b48 */
/* never referenced */
61
int
*
g_pDibScreenAllocationStatePointer
;
/* 0x005d3b4c */
62
int
g_nUnusedScreenWordValue
[29];
/* 0x005d3b50 */
/* never referenced */
AllocateViewport
short AllocateViewport(Viewport *viewport, short clearColour, short flags)
Definition
vpalloc.c:32
InitializeDIBScreenViewport
unsigned short InitializeDIBScreenViewport(Viewport *viewport, unsigned short colour)
Definition
screen.c:9
GetDIBPixelBuffer
unsigned char * GetDIBPixelBuffer(void)
Definition
dib.cpp:779
ClearViewport
void ClearViewport(Viewport *viewport, short colour)
Definition
gr.c:1027
InitFullScreenViewport
void InitFullScreenViewport(Viewport *viewport, short arg)
Definition
screen.c:41
SystemDebugPrintf
void SystemDebugPrintf(const char *format,...)
Definition
console.cpp:30
game.h
Shared Win32 declarations, types and library interfaces.
g_pDibScreenAllocationStatePointer
int * g_pDibScreenAllocationStatePointer
Definition
screen.c:61
g_nDibScreenChunkState
int g_nDibScreenChunkState
Definition
screen.c:58
g_pDibScreenViewport
Viewport * g_pDibScreenViewport
Definition
screen.c:54
g_2_awDibScreenRowOffsetsData
unsigned short g_2_awDibScreenRowOffsetsData[202]
Definition
screen.c:56
g_nSpacePaletteFadeMode
short g_nSpacePaletteFadeMode
Definition
palalloc.c:8
g_19_pFullScreenViewport
Viewport * g_19_pFullScreenViewport
Definition
screen.c:55
g_pDibScreenViewportMirrorRef
Viewport * g_pDibScreenViewportMirrorRef
Definition
screen.c:59
g_nUnusedScreenSlot
int g_nUnusedScreenSlot[2]
Definition
screen.c:57
g_1_nUnusedScreenWord3
char g_1_nUnusedScreenWord3
Definition
screen.c:60
g_nUnusedScreenWordValue
int g_nUnusedScreenWordValue[29]
Definition
screen.c:62
Viewport
Definition
game.h:149
Viewport::pixels
unsigned char * pixels
Definition
game.h:150
Viewport::right
short right
Definition
game.h:154
Viewport::bottom
short bottom
Definition
game.h:155
Viewport::rowOffsets
unsigned short * rowOffsets
Definition
game.h:151
Viewport::left
short left
Definition
game.h:152
Viewport::top
short top
Definition
game.h:153
src
screen.c
Generated by
1.18.0