Wing Commander II
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
fade.c
Go to the documentation of this file.
1/*
2 * Palette transition step.
3 *
4 * Retail object 0x4225A0-0x4228AF (link order; see docs/ORDER.md).
5 */
6#include "game.h"
7
8short g_nPaletteTransitionInitialise = 1; /* 0x0049305c */
9#include <malloc.h>
10
11/* Function start: 0x4225A0 */
12short StepPaletteTransition(short *current,
13 const short *target,
14 short componentCount)
15{
16 short colour;
17 short difference;
18 short previousCountdown;
19
22 AllocateTaggedMemory((unsigned int)(componentCount * 2), 0);
24 AllocateTaggedMemory((unsigned int)(componentCount * 2), 0);
26 AllocateTaggedMemory((unsigned int)(componentCount * 2), 0);
36 return 0;
37 }
38
40 for (colour = 0; colour < componentCount; colour++) {
41 difference = (short)(current[colour] - target[colour]);
42 if (difference < 0) {
43 difference = (short)-difference;
45 } else {
47 }
48 g_pPaletteTransitionDeltaPtr[colour] = difference;
49 if (g_2_nPaletteTransitionMaxDelta < difference)
51 }
52
53 difference = (short)(g_2_nPaletteTransitionMaxDelta / 2);
54 for (colour = 0; colour < componentCount; colour++)
55 g_pPaletteTransitionAccumulator[colour] = difference;
59 }
60
61 previousCountdown = g_nPaletteTransitionCountdownNumber;
63 if (previousCountdown == 0) {
68 return 0;
69 }
70
71 for (colour = 0; colour < componentCount; colour++) {
73 (short)(g_pPaletteTransitionAccumulator[colour] +
78 (short)(g_pPaletteTransitionAccumulator[colour] -
80 current[colour] =
81 (short)(current[colour] +
83 }
84 }
85 return 1;
86}
87
88/* Linker commons defined here. LINK lays a unit's commons out by the
89 * identifiers' hash keys, so these spellings follow the original addresses. */
90short *g_pPaletteTransitionDirectionRef; /* 0x005d3010 */
91short *g_pPaletteTransitionDeltaPtr; /* 0x005d3014 */
92short g_2_nPaletteTransitionMaxDelta; /* 0x005d3018 */
93short *g_pPaletteTransitionAccumulator; /* 0x005d301c */
short StepPaletteTransition(short *current, const short *target, short componentCount)
Definition fade.c:12
void * AllocateTaggedMemory(unsigned int size, short flags)
Definition memapi.c:92
void ReleasePacketHandle(void *handle)
Definition memapi.c:108
Shared Win32 declarations, types and library interfaces.
short g_2_nPaletteTransitionMaxDelta
Definition fade.c:92
short g_nPaletteTransitionCountdownNumber
Definition fade.c:94
short * g_pPaletteTransitionAccumulator
Definition fade.c:93
short * g_pPaletteTransitionDirectionRef
Definition fade.c:90
short g_nPaletteTransitionInitialise
Definition fade.c:8
short * g_pPaletteTransitionDeltaPtr
Definition fade.c:91