Wing Commander
Reconstructed Win32 source (1996)
Loading...
Searching...
No Matches
cmpgn.c File Reference

Conversation animation, the briefing, debriefing and office scenes, and campaign mission packet decoding. More...

#include "wc1.h"

Go to the source code of this file.

Data Structures

struct  MissionNavPointDisk
struct  MissionObjectiveDisk
struct  MissionShipDisk

Typedefs

typedef struct MissionNavPointDisk MissionNavPointDisk
typedef struct MissionObjectiveDisk MissionObjectiveDisk
typedef struct MissionShipDisk MissionShipDisk

Functions

unsigned int ParseFaceAnimation (char *text, short *commands)
unsigned int ParseMouthAnimation (char *text, short *commands)
char * AddPCName (const char *text)
unsigned int LoadFace (short face)
unsigned int LongTalk (struct Shape *talker, char *text, short *mouthCommands, short *faceCommands, short duration)
unsigned int CloseTalk (struct Shape *talker, short mouthFrame, short faceFrame)
unsigned int Briefing (short series, short mission)
unsigned int DeBriefing (short series, short mission)
unsigned int Office (void)
unsigned int LoadBriefingData (short series, short mission)
unsigned int LoadMissionData (short series, short mission)
unsigned int UpdateMap (char *text, short duration)
unsigned int CloseLook (struct Shape *shape, short shot, short *animation, char *text, short duration, int unused)

Variables

static short asMouthFramesByPhoneme [26]
signed char cScrambleWalkerPair
struct Shape * pScrambleCanopyShape
struct Shape * pScrambleShipShape
short nTalkingHeadFaceX
short nTalkingHeadFaceCoordY
short nTalkingHeadMouthY
short nTalkingHeadMouthX

Detailed Description

Conversation animation, the briefing, debriefing and office scenes, and campaign mission packet decoding.

Address range 404cd0-40609f. The mouth-animation table follows eject.c's literals. The Mac cmpgn segment names corroborate LoadMissionData (4059b0).

Definition in file cmpgn.c.

Typedef Documentation

◆ MissionNavPointDisk

typedef struct MissionNavPointDisk MissionNavPointDisk

◆ MissionObjectiveDisk

typedef struct MissionObjectiveDisk MissionObjectiveDisk

◆ MissionShipDisk

typedef struct MissionShipDisk MissionShipDisk

Function Documentation

◆ AddPCName()

◆ Briefing()

◆ CloseLook()

◆ CloseTalk()

◆ DeBriefing()

◆ LoadBriefingData()

◆ LoadFace()

◆ LoadMissionData()

unsigned int LoadMissionData ( short series,
short mission )

Definition at line 586 of file cmpgn.c.

References abMissionAuxData, abSeriesAuxData, ACTIVE_MISSION_NAV_POINT_COUNT, aMissionNavPoints, aMissionObjectiveSources, aMissionShips, asMissionDataFiles, MissionShipRecord::behaviour, MissionObjectiveDisk::description, MissionObjectiveSource::description, DosMemcpy(), MissionHeaderDisk::entryNavPoint, FetchDiskPacketRetrying(), MissionHeaderDisk::field_16, MissionShipDisk::field_2c, MissionShipRecord::field_2c, MissionShipDisk::field_2e, MissionShipRecord::field_2e, MissionShipDisk::field_5, MissionShipRecord::field_9, MissionShipDisk::formationIndex, MissionShipRecord::formationIndex, MissionShipDisk::formationSpot, MissionShipRecord::formationSpot, MissionHeaderDisk::homeMissionShip, MissionObjectiveDisk::index, MissionObjectiveSource::index, MissionHeaderDisk::initialMissionShips, MissionShipDisk::leader, MissionShipRecord::leader, MissionShipDisk::leaderMissionIndex, MissionShipRecord::leaderMissionIndex, LoadMissionData(), MISSION_OBJECTIVE_COUNT, MissionNavPoint::missionShips, MissionNavPointDisk::missionShips, MissionShipDisk::missionType, MissionShipRecord::missionType, MissionNavPoint::name, MissionNavPointDisk::name, MissionShipDisk::navPoint, MissionShipRecord::navPoint, nCampaignDataSet, MissionShipBehaviour::pilot, MissionShipDisk::pilot, MissionShipDisk::pitch, MissionShipRecord::pitch, MissionHeaderDisk::playerMissionShip, MissionNavPoint::position, MissionNavPointDisk::position, MissionShipDisk::position, MissionShipRecord::position, MissionNavPoint::preloadObjectTypes, MissionNavPointDisk::preloadObjectTypes, MissionNavPoint::proximityRadius, MissionNavPointDisk::proximityRadius, MissionShipDisk::rating, MissionShipRecord::rating, ReleasePacketHandle(), MissionShipDisk::side, MissionShipRecord::side, MissionShipDisk::speed, MissionShipRecord::speed, MissionShipDisk::state, MissionShipRecord::state, stCurrentMissionHeader, MissionShipDisk::targetMissionIndex, MissionShipRecord::targetMissionIndex, MissionNavPointDisk::triggers, MissionNavPoint::type, MissionNavPointDisk::type, MissionObjectiveDisk::type, MissionObjectiveSource::type, MissionShipDisk::type, and MissionShipRecord::type.

Referenced by BarracksScreen(), Briefing(), DeBriefing(), init_mission(), and LoadMissionData().

◆ LongTalk()

unsigned int LongTalk ( struct Shape * talker,
char * text,
short * mouthCommands,
short * faceCommands,
short duration )

◆ Office()

◆ ParseFaceAnimation()

unsigned int ParseFaceAnimation ( char * text,
short * commands )

Definition at line 27 of file cmpgn.c.

References ParseFaceAnimation().

Referenced by ParseFaceAnimation(), and SceneDirector().

◆ ParseMouthAnimation()

unsigned int ParseMouthAnimation ( char * text,
short * commands )

Definition at line 65 of file cmpgn.c.

References asMouthFramesByPhoneme, and ParseMouthAnimation().

Referenced by ParseMouthAnimation(), and SceneDirector().

◆ UpdateMap()

Variable Documentation

◆ asMouthFramesByPhoneme

short asMouthFramesByPhoneme[26]
static
Initial value:
= {
0, 5, 4, 4, 1, 8, 4, 7, 0, 4, 4, 7, 5,
4, 2, 5, 6, 4, 4, 4, 3, 4, 6, 4, 4, 4
}

Definition at line 12 of file cmpgn.c.

Referenced by ParseMouthAnimation().

◆ cScrambleWalkerPair

signed char cScrambleWalkerPair

Definition at line 18 of file cmpgn.c.

Referenced by AnimateScrambleWalk(), and PlayScrambleHangarScene().

◆ nTalkingHeadFaceCoordY

short nTalkingHeadFaceCoordY

Definition at line 22 of file cmpgn.c.

Referenced by CloseTalk(), and LoadFace().

◆ nTalkingHeadFaceX

short nTalkingHeadFaceX

Definition at line 21 of file cmpgn.c.

Referenced by CloseTalk(), and LoadFace().

◆ nTalkingHeadMouthX

short nTalkingHeadMouthX

Definition at line 24 of file cmpgn.c.

Referenced by CloseTalk(), and LoadFace().

◆ nTalkingHeadMouthY

short nTalkingHeadMouthY

Definition at line 23 of file cmpgn.c.

Referenced by CloseTalk(), and LoadFace().

◆ pScrambleCanopyShape

struct Shape* pScrambleCanopyShape

Definition at line 19 of file cmpgn.c.

Referenced by DrawScrambleFrame(), landing(), and scramble().

◆ pScrambleShipShape

struct Shape* pScrambleShipShape

Definition at line 20 of file cmpgn.c.

Referenced by DrawScrambleFrame(), landing(), and scramble().