mirror of
https://github.com/electronicarts/CnC_Red_Alert.git
synced 2025-12-16 07:31:39 -05:00
Initial commit of Command & Conquer Red Alert source code.
This commit is contained in:
124
WINVQ/VQA32/CAPTION.H
Normal file
124
WINVQ/VQA32/CAPTION.H
Normal file
@@ -0,0 +1,124 @@
|
||||
/*
|
||||
** Command & Conquer Red Alert(tm)
|
||||
** Copyright 2025 Electronic Arts Inc.
|
||||
**
|
||||
** This program is free software: you can redistribute it and/or modify
|
||||
** it under the terms of the GNU General Public License as published by
|
||||
** the Free Software Foundation, either version 3 of the License, or
|
||||
** (at your option) any later version.
|
||||
**
|
||||
** This program is distributed in the hope that it will be useful,
|
||||
** but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
** GNU General Public License for more details.
|
||||
**
|
||||
** You should have received a copy of the GNU General Public License
|
||||
** along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#ifndef VQACAPTION_H
|
||||
#define VQACAPTION_H
|
||||
/****************************************************************************
|
||||
*
|
||||
* C O N F I D E N T I A L -- W E S T W O O D S T U D I O S
|
||||
*
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
* PROJECT
|
||||
* VQA player library (32 bit protected mode)
|
||||
*
|
||||
* FILE
|
||||
* caption.h
|
||||
*
|
||||
* DESCRIPTION
|
||||
* Text caption definitions.
|
||||
*
|
||||
* PROGRAMMER
|
||||
* Denzil E. Long, Jr.
|
||||
*
|
||||
* DATE
|
||||
* July 26, 1995
|
||||
*
|
||||
****************************************************************************/
|
||||
|
||||
|
||||
#define VQACAPTIONS_ON 0
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* STRUCTURES AND RELATED DEFINITIONS
|
||||
*-------------------------------------------------------------------------*/
|
||||
|
||||
/* CaptionNode: Node describing a caption to process.
|
||||
*
|
||||
* Succ - Pointer to the next node in the list (successor).
|
||||
* Pred - Pointer to the previous node in the list (predecessor).
|
||||
* Flags - Status flags.
|
||||
* CapText - Pointer to the CaptionText being processed.
|
||||
* Char - Pointer to current character in the string.
|
||||
* CurX - Current X position.
|
||||
* CurY - Current Y position.
|
||||
* BoundW - Bounding width of text.
|
||||
* BoundH - Bounding height of text.
|
||||
*/
|
||||
typedef struct _CaptionNode {
|
||||
struct _CaptionNode *Succ;
|
||||
struct _CaptionNode *Pred;
|
||||
unsigned short Flags;
|
||||
CaptionText *Captext;
|
||||
char *Char;
|
||||
unsigned short CurX;
|
||||
unsigned short CurY;
|
||||
unsigned short BoundW;
|
||||
unsigned short BoundH;
|
||||
} CaptionNode;
|
||||
|
||||
/* CaptionNode flag definitions. */
|
||||
#define CNB_USED 0 /* This node is being used. */
|
||||
#define CNF_USED (1<<CNB_USED)
|
||||
|
||||
|
||||
/* CaptionList: Double linked list of outstanding captions to process.
|
||||
*
|
||||
* Head - Pointer to the first node in the list.
|
||||
* Tail - Always NULL
|
||||
* TailPred - Pointer to the last node in the list.
|
||||
*/
|
||||
typedef struct _CaptionList {
|
||||
CaptionNode *Head;
|
||||
CaptionNode *Tail;
|
||||
CaptionNode *TailPred;
|
||||
} CaptionList;
|
||||
|
||||
|
||||
/* CaptionInfo:
|
||||
*
|
||||
* Next - Pointer to the next caption to be processed.
|
||||
* List - List of pending captions to process.
|
||||
* Font - Font to use for this caption.
|
||||
* BoundX - X position of bounding box.
|
||||
* BoundY - Y position of bounding box.
|
||||
* BoundW - Width of bounding box.
|
||||
* BoundH - Height of bounding box.
|
||||
* Buffer - Caption chunk buffer.
|
||||
*/
|
||||
typedef struct _CaptionInfo {
|
||||
CaptionText *Next;
|
||||
CaptionList List;
|
||||
void *Font;
|
||||
char FontHeight;
|
||||
char FontWidth;
|
||||
void *Buffer;
|
||||
} CaptionInfo;
|
||||
|
||||
|
||||
/*---------------------------------------------------------------------------
|
||||
* FUNCTION PROTOTYPES
|
||||
*-------------------------------------------------------------------------*/
|
||||
|
||||
CaptionInfo *OpenCaptions(void *captions, void *font);
|
||||
void CloseCaptions(CaptionInfo *cap);
|
||||
void DoCaptions(CaptionInfo *cap, unsigned long frame);
|
||||
|
||||
#endif /* VQACAPTION_H */
|
||||
|
||||
|
||||
Reference in New Issue
Block a user