mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
New Features - Added hits, misses, accuracy to scoreboard - Added in-game chat with history - Added more options from the ini to the host screen, Use NIV and Enable civillians bugfixes - Clients connecting at the same time controlling the wrong client - Team Deathmatch working again - Refreshing the player list after a player changes team / edge - AI is always on for Co-op now - There is now always a scoreboard in Co-op even when you lose. - scores on the Co-op scoreboard have been fixed for all deaths including bleeding - Start Game button now only appears for server - Fixed cleaning up game resources on disconnection - Disabled the 1,2,3,4 keys for connecting / disconnecting - Fixed victory conditions for all game modes - Fixed players names getting copied into TeamTurnString each game resulting in multiple names - Fixed Assertion bug caused by the game sometimes calling SetCurrentWorldSector more than once before placement of mercs - Fixed a bug that was possible when merging items such as M14 and EBR stock on mapscreen. - Fixed bug with game starting while a player was in chat, closes chat window when game is starting - Fixed bug with game starting while a player was in the options screen, if the player leaves the mapscreen while ready, they are set to unready - Team and Spawn direction popups changed to use buttons to open/close them - Disabled players joining after the laptop has been unlocked, as they would be out of state with any hires git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@2628 3b4a5df2-a311-0410-b5c6-a8a6f20db521
117 lines
3.8 KiB
C
117 lines
3.8 KiB
C
#ifndef __MESSAGE_H
|
|
#define __MESSAGE_H
|
|
|
|
//#include "sgp.h"
|
|
#include "font.h"
|
|
#include "Font Control.h"
|
|
#include "types.h"
|
|
#include "Fileman.h"
|
|
|
|
|
|
struct stringstruct{
|
|
|
|
STR16 pString16;
|
|
INT32 iVideoOverlay;
|
|
UINT32 uiFont;
|
|
UINT16 usColor;
|
|
UINT32 uiFlags;
|
|
BOOLEAN fBeginningOfNewString;
|
|
UINT32 uiTimeOfLastUpdate;
|
|
UINT32 uiPadding[ 5 ];
|
|
struct stringstruct *pNext;
|
|
struct stringstruct *pPrev;
|
|
};
|
|
|
|
#define MSG_INTERFACE 0
|
|
#define MSG_DIALOG 1
|
|
#define MSG_CHAT 2
|
|
#define MSG_DEBUG 3
|
|
#define MSG_UI_FEEDBACK 4
|
|
#define MSG_ERROR 5
|
|
#define MSG_BETAVERSION 6
|
|
#define MSG_TESTVERSION 7
|
|
#define MSG_MAP_UI_POSITION_MIDDLE 8
|
|
#define MSG_MAP_UI_POSITION_UPPER 9
|
|
#define MSG_MAP_UI_POSITION_LOWER 10
|
|
#define MSG_SKULL_UI_FEEDBACK 11
|
|
|
|
|
|
// These defines correlate to defines in font.h
|
|
#define MSG_FONT_RED FONT_MCOLOR_RED
|
|
#define MSG_FONT_YELLOW FONT_MCOLOR_LTYELLOW
|
|
#define MSG_FONT_WHITE FONT_MCOLOR_WHITE
|
|
|
|
|
|
typedef struct stringstruct ScrollStringSt;
|
|
typedef ScrollStringSt *ScrollStringStPtr;
|
|
|
|
|
|
extern ScrollStringStPtr pStringS;
|
|
extern UINT32 StringCount;
|
|
extern UINT8 gubCurrentMapMessageString;
|
|
extern BOOLEAN fDisableJustForIan;
|
|
|
|
// are we allowed to beep on message scroll in tactical
|
|
extern BOOLEAN fOkToBeepNewMessage;
|
|
|
|
void ScreenMsg( UINT16 usColor, UINT8 ubPriority, STR16 pStringA, ...);
|
|
|
|
// same as screen message, but only display to mapscreen message system, not tactical
|
|
void MapScreenMessage( UINT16 usColor, UINT8 ubPriority, STR16 pStringA, ...);
|
|
|
|
void ScrollString( void );
|
|
void DisplayStringsInMapScreenMessageList( void );
|
|
|
|
void InitGlobalMessageList( void );
|
|
void FreeGlobalMessageList( void );
|
|
|
|
UINT8 GetRangeOfMapScreenMessages( void );
|
|
|
|
void EnableDisableScrollStringVideoOverlay( BOOLEAN fEnable );
|
|
|
|
// OJW - 20090315 - Allow access to these functions outside of message
|
|
// adding chat log
|
|
ScrollStringStPtr GetNextString(ScrollStringStPtr pStringSt);
|
|
ScrollStringStPtr GetPrevString(ScrollStringStPtr pStringSt);
|
|
void SetStringPosition(ScrollStringStPtr pStringSt, UINT16 x, UINT16 y);
|
|
void SetStringColor(ScrollStringStPtr pStringSt, UINT16 color);
|
|
ScrollStringStPtr SetStringNext(ScrollStringStPtr pStringSt, ScrollStringStPtr pNext);
|
|
ScrollStringStPtr SetStringPrev(ScrollStringStPtr pStringSt, ScrollStringStPtr pPrev);
|
|
void SetString(ScrollStringStPtr pStringSt, STR16 String);
|
|
// will go and clear all displayed strings off the screen
|
|
void ClearDisplayedListOfTacticalStrings( void );
|
|
|
|
// clear ALL strings in the tactical Message Queue
|
|
void ClearTacticalMessageQueue( void );
|
|
|
|
BOOLEAN LoadMapScreenMessagesFromSaveGameFile( HWFILE hFile );
|
|
BOOLEAN SaveMapScreenMessagesToSaveGameFile( HWFILE hFile );
|
|
|
|
// use these if you are not Kris
|
|
void HideMessagesDuringNPCDialogue( void );
|
|
void UnHideMessagesDuringNPCDialogue( void );
|
|
|
|
// disable and enable scroll string, only to be used by Kris
|
|
void DisableScrollMessages( void );
|
|
void EnableScrollMessages( void );
|
|
|
|
|
|
/* unused functions, written by Mr. Carter, so don't expect these to work...
|
|
UINT8 GetTheRelativePositionOfCurrentMessage( void );
|
|
void MoveCurrentMessagePointerDownList( void );
|
|
void MoveCurrentMessagePointerUpList( void );
|
|
void ScrollToHereInMapScreenMessageList( UINT8 ubPosition );
|
|
BOOLEAN IsThereAnEmptySlotInTheMapScreenMessageList( void );
|
|
UINT8 GetFirstEmptySlotInTheMapScreenMessageList( void );
|
|
void RemoveMapScreenMessageListString( ScrollStringStPtr pStringSt );
|
|
BOOLEAN AreThereASetOfStringsAfterThisIndex( UINT8 ubMsgIndex, INT32 iNumberOfStrings );
|
|
UINT8 GetCurrentMessageValue( void );
|
|
UINT8 GetCurrentTempMessageValue( void );
|
|
UINT8 GetNewMessageValueGivenPosition( UINT8 ubPosition );
|
|
BOOLEAN IsThisTheLastMessageInTheList( void );
|
|
BOOLEAN IsThisTheFirstMessageInTheList( void );
|
|
void DisplayLastMessage( void );
|
|
*/
|
|
|
|
|
|
#endif |