Wing Commander II
Reconstructed Win32 source (1996)
Toggle main menu visibility
Loading...
Searching...
No Matches
death.c
Go to the documentation of this file.
1
/*
2
* Death sequence.
3
*
4
* Retail object 0x4697A0-0x469ACF (link order; see docs/ORDER.md).
5
*/
6
#include "
game.h
"
7
8
short
g_bMissionEndPending
= 1;
/* 0x0049da4c */
9
short
g_bDeathSequenceActive
= 0;
/* 0x0049da50 */
10
11
/* Function start: 0x4697A0 (Mac symbol: death_sequence) */
12
void
death_sequence
(
void
)
13
{
14
short
objIndex;
15
signed
char
frame;
16
void
*cockpitBackground;
17
void
*animShape;
18
19
animShape = 0;
20
cockpitBackground = 0;
21
g_nTrainSimActive
= 1;
22
g_bMissionEndPending
= 0;
23
g_bDeathSequenceActive
= 1;
24
remove_nav_pointer
();
25
free_cockpit
();
26
FreePacketAndClear
(
27
&
g_aObjectTypeData
[
OBJECT_DATA_EJECTED_PILOT
].shapeSet,
28
0);
29
for
(objIndex = 0; objIndex < 0x46; objIndex++) {
30
if
(
g_asObjectType
[objIndex] ==
OBJECT_DATA_EJECTED_PILOT
)
31
remove_object
(objIndex);
32
}
33
g_1_nResourcePaletteState
= 1;
34
StopMusicUnlessSuppressed
();
35
if
(
g_98_nMemConfiguration
== 1)
36
SceneLeaveHook
(0x20);
37
spacetrack
(0x20, 2, 1);
38
animShape =
FetchDiskPacketRetrying
(
"pilotanm.vga"
, 0, 0);
39
cockpitBackground =
FetchDiskPacketRetrying
(
40
g_7_szCockpitAssetFilenameText
, 3, 0);
41
PlaySfxWaveFileByNumber
(4, -1, 0);
42
new_view
(10, 0);
43
g_bSceneEscapeRequested
= 0;
44
for
(;;) {
45
g_nFrameSkipCountdown
= 1;
46
for
(frame = 0; frame < 8; frame++) {
47
if
(frame == 7) {
48
ClearViewport
(&
g_27_stViewScratchInfo
,
49
g_bPrimaryViewBufferColour
);
50
}
else
{
51
Draw_3Space_Frame
();
52
DrawSpriteDefault
(&
g_27_stViewScratchInfo
, 0, 0,
53
cockpitBackground, 0);
54
}
55
DrawSpriteDefault
(&
g_27_stViewScratchInfo
, 160, 199,
56
animShape, frame);
57
dump_buffer_to_screen
();
58
clear_view_buffer
();
59
ServiceInputDevices
(-1);
60
if
(
g_bSceneEscapeRequested
== 1)
61
break
;
62
}
63
free_view_buffer
();
64
FreePacketAndClear
(&cockpitBackground, 0);
65
FreePacketAndClear
(&animShape, 0);
66
ServiceInputDevices
(-1);
67
if
(
g_bSceneEscapeRequested
== 1)
68
break
;
69
g_nArcadeState
= 0;
70
load_all_slots
();
71
g_1_nResourcePaletteState
= 0;
72
new_view
(5, 0);
73
g_nFrameSkipCountdown
= 1;
74
for
(frame = 0; frame < 0x3c; frame++) {
75
ServiceInputDevices
(-1);
76
if
(
g_bSceneEscapeRequested
== 1)
77
break
;
78
if
(
Draw_3Space_Frame
() != 0)
79
dump_buffer_to_screen
();
80
switch
(frame) {
81
case
2:
82
Explosion
(0);
83
break
;
84
}
85
}
86
break
;
87
}
88
g_nArcadeState
= 4;
89
g_bSceneEscapeRequested
= 0;
90
free_all_slots
();
91
g_101_stScrViewInfo
.
top
= 0;
92
g_101_stScrViewInfo
.
bottom
= 199;
93
FadeViewportPaletteToColour
(&
g_101_stScrViewInfo
,
94
g_cSecondaryViewBufferColour
, 1);
95
ClearViewport
(&
g_101_stScrViewInfo
,
96
g_cSecondaryViewBufferColour
);
97
RestoreGamePalette
();
98
g_bMissionEndPending
= 1;
99
g_bDeathSequenceActive
= 0;
100
}
SceneLeaveHook
void SceneLeaveHook()
Definition
music.c:80
FadeViewportPaletteToColour
void FadeViewportPaletteToColour(Viewport *viewport, unsigned short colour, short enabled)
Definition
palfade.c:10
death_sequence
void death_sequence(void)
Definition
death.c:12
dump_buffer_to_screen
void dump_buffer_to_screen(void)
Definition
main.c:232
ServiceInputDevices
short ServiceInputDevices(short deviceMask)
Definition
eventmgr.c:2071
remove_object
void remove_object(short obj)
Definition
geom.c:858
free_cockpit
void free_cockpit(void)
Definition
fltsetup.c:742
RestoreGamePalette
void RestoreGamePalette(void)
Definition
palette.c:21
DrawSpriteDefault
void DrawSpriteDefault(Viewport *viewport, short x, short y, unsigned char *shape, short frame)
Definition
gr.c:682
StopMusicUnlessSuppressed
void StopMusicUnlessSuppressed(void)
Definition
music.c:160
clear_view_buffer
unsigned int clear_view_buffer(void)
Definition
main.c:277
spacetrack
void spacetrack(int track, int mode, int enabled)
Definition
music.c:152
load_all_slots
void load_all_slots(void)
Definition
mission.c:715
FetchDiskPacketRetrying
void * FetchDiskPacketRetrying(char *fileName, short section, short flags)
Definition
disk.c:187
remove_nav_pointer
void remove_nav_pointer(void)
Definition
cockpt.c:2316
ClearViewport
void ClearViewport(Viewport *viewport, short colour)
Definition
gr.c:1027
PlaySfxWaveFileByNumber
void PlaySfxWaveFileByNumber(int soundNumber, int sourceObject, int looping)
Definition
music.c:490
Explosion
short Explosion(short obj)
Definition
ship.c:1826
new_view
unsigned int new_view(int view, short obj)
Definition
spc.c:451
Draw_3Space_Frame
short Draw_3Space_Frame(void)
Definition
main.c:1732
free_all_slots
void free_all_slots(void)
Definition
mission.c:703
free_view_buffer
void free_view_buffer(void)
Definition
main.c:208
FreePacketAndClear
void FreePacketAndClear(void *slot, unsigned short releaseFlags)
Definition
disk.c:45
game.h
Shared Win32 declarations, types and library interfaces.
OBJECT_DATA_EJECTED_PILOT
#define OBJECT_DATA_EJECTED_PILOT
Definition
game_data.h:1634
g_bSceneEscapeRequested
signed char g_bSceneEscapeRequested
Definition
eventmgr.c:2420
g_asObjectType
short g_asObjectType[SPACE_OBJECT_COUNT]
Definition
viewrect.c:124
g_aObjectTypeData
ObjectTypeData g_aObjectTypeData[OBJECT_DATA_COUNT]
Definition
campglob.c:310
g_98_nMemConfiguration
int g_98_nMemConfiguration
Definition
startup.c:588
g_7_szCockpitAssetFilenameText
char g_7_szCockpitAssetFilenameText[16]
Definition
fltsetup.c:1066
g_bDeathSequenceActive
short g_bDeathSequenceActive
Definition
death.c:9
g_bMissionEndPending
short g_bMissionEndPending
Definition
death.c:8
g_cSecondaryViewBufferColour
unsigned char g_cSecondaryViewBufferColour
Definition
startup.c:544
g_nArcadeState
int g_nArcadeState
Definition
main.c:1938
g_27_stViewScratchInfo
Viewport g_27_stViewScratchInfo
Definition
cockpt.c:3841
g_bPrimaryViewBufferColour
unsigned char g_bPrimaryViewBufferColour
Definition
startup.c:545
g_101_stScrViewInfo
Viewport g_101_stScrViewInfo
Definition
cockpt.c:3831
g_nTrainSimActive
int g_nTrainSimActive
Definition
main.c:1937
g_nFrameSkipCountdown
short g_nFrameSkipCountdown
Definition
main.c:1939
g_1_nResourcePaletteState
short g_1_nResourcePaletteState
Definition
main.c:2000
Viewport::bottom
short bottom
Definition
game.h:155
Viewport::top
short top
Definition
game.h:153
src
death.c
Generated by
1.18.0