/* ** 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 . */ #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<