OpenClonk
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros
C4GameMessage Class Reference

#include <C4GameMessage.h>

Collaboration diagram for C4GameMessage:
[legend]

Public Member Functions

void Draw (C4TargetFacet &cgo, int32_t iPlayer)
 
 C4GameMessage ()
 
 ~C4GameMessage ()
 
int32_t GetPositioningFlags () const
 

Protected Member Functions

void Init (int32_t iType, const StdStrBuf &Text, C4Object *pTarget, int32_t iPlayer, int32_t iX, int32_t iY, uint32_t dwCol, C4ID idDecoID, C4PropList *pSrc, uint32_t dwFlags, int width)
 
void Append (const char *szText, bool fNoDuplicates=false)
 
bool Execute ()
 
const char * WordWrap (int32_t iMaxWidth)
 
void UpdateDef (C4ID idUpdDef)
 

Protected Attributes

int32_t X
 
int32_t Y
 
int32_t Wdt
 
int32_t Hgt
 
int32_t Delay
 
DWORD ColorDw
 
int32_t Player
 
int32_t Type
 
C4ObjectTarget
 
StdCopyStrBuf Text
 
C4GameMessageNext
 
C4ID DecoID
 
C4PropListPictureDef
 
C4Value PictureDefVal
 
C4GUI::FrameDecorationpFrameDeco
 
uint32_t dwFlags
 

Friends

class C4GameMessageList
 

Detailed Description

Definition at line 50 of file C4GameMessage.h.

Constructor & Destructor Documentation

C4GameMessage::C4GameMessage ( )

Definition at line 32 of file C4GameMessage.cpp.

32  : pFrameDeco(nullptr)
33 {
34 
35 }
C4GUI::FrameDecoration * pFrameDeco
Definition: C4GameMessage.h:69
C4GameMessage::~C4GameMessage ( )

Definition at line 37 of file C4GameMessage.cpp.

References pFrameDeco.

38 {
39  delete pFrameDeco;
40 }
C4GUI::FrameDecoration * pFrameDeco
Definition: C4GameMessage.h:69

Member Function Documentation

void C4GameMessage::Append ( const char *  szText,
bool  fNoDuplicates = false 
)
protected

Definition at line 99 of file C4GameMessage.cpp.

References StdStrBuf::AppendFormat(), Delay, StdStrBuf::getData(), GlobalMsgDelayFactor, ObjectMsgDelayFactor, SAdvancePast(), SEqual2(), SLen(), Target, and Text.

Referenced by C4GameMessageList::Append().

100 {
101  // Check for duplicates
102  if (fNoDuplicates)
103  for (const char *pPos = Text.getData(); *pPos; pPos = SAdvancePast(pPos, '|'))
104  if (SEqual2(pPos, szText))
105  return;
106  // Append new line
107  Text.AppendFormat("|%s", szText);
109 }
const char * getData() const
Definition: StdBuf.h:450
const int32_t GlobalMsgDelayFactor
size_t SLen(const char *sptr)
Definition: Standard.h:78
StdCopyStrBuf Text
Definition: C4GameMessage.h:64
void AppendFormat(const char *szFmt,...) GNUC_FORMAT_ATTRIBUTE_O
Definition: StdBuf.cpp:197
const int32_t ObjectMsgDelayFactor
bool SEqual2(const char *szStr1, const char *szStr2)
Definition: Standard.cpp:168
const char * SAdvancePast(const char *szSPos, char cPast)
Definition: Standard.cpp:402
C4Object * Target
Definition: C4GameMessage.h:63

Here is the call graph for this function:

Here is the caller graph for this function:

void C4GameMessage::Draw ( C4TargetFacet cgo,
int32_t  iPlayer 
)

Definition at line 124 of file C4GameMessage.cpp.

References ACenter, ALeft, ARight, CStdFont::BreakMessage(), C4GM_Bottom, C4GM_Global, C4GM_GlobalPlayer, C4GM_HCenter, C4GM_Left, C4GM_NoBreak, C4GM_Right, C4GM_Target, C4GM_TargetPlayer, C4GM_Top, C4GM_VCenter, C4GM_WidthRel, C4GM_XRel, C4GM_YRel, C4GM_Zoom, ColorDw, C4Object::Def, C4Def::Draw(), C4GUI::FrameDecoration::Draw(), DrawMessageOffset, C4Object::DrawPicture(), C4Game::DrawPropListSpecImage(), dwFlags, C4GraphicsResource::FontRegular, Game, StdStrBuf::getData(), C4PropList::GetDef(), C4Object::GetDrawPosition(), C4PropList::GetObject(), CStdFont::GetTextExtent(), CStdFont::GetTextWidth(), GraphicsResource, C4Rect::Hgt, Hgt, C4Facet::Hgt, C4GUI::FrameDecoration::iBorderBottom, C4GUI::FrameDecoration::iBorderLeft, C4GUI::FrameDecoration::iBorderRight, C4GUI::FrameDecoration::iBorderTop, C4Object::IsVisible(), pDraw, pFrameDeco, PictureDef, PictureIndent, PictureWidth, Player, StdStrBuf::Ref(), C4Def::Shape, C4Facet::Surface, Target, C4TargetFacet::TargetX, C4TargetFacet::TargetY, Text, C4Draw::TextOut(), Type, C4Rect::Wdt, Wdt, C4Facet::Wdt, C4Rect::x, X, C4Facet::X, C4Rect::y, Y, C4Facet::Y, and C4TargetFacet::Zoom.

Referenced by C4GameMessageList::Draw().

125 {
126  // Globals or player
127  if (Type == C4GM_Global || ((Type == C4GM_GlobalPlayer) && (iPlayer == Player)))
128  {
129  int32_t iTextWdt,iTextHgt;
130  StdStrBuf sText;
131  int32_t x,y,wdt;
132  if (dwFlags & C4GM_XRel) x = X * cgo.Wdt / 100; else x = X;
133  if (dwFlags & C4GM_YRel) y = Y * cgo.Hgt / 100; else y = Y;
134  if (dwFlags & C4GM_WidthRel) wdt = Wdt * cgo.Wdt / 100; else wdt = Wdt;
135  if (~dwFlags & C4GM_NoBreak)
136  {
137  // Word wrap to cgo width
138  if (PictureDef)
139  {
140  if (!wdt) wdt = Clamp<int32_t>(cgo.Wdt/2, 50, std::min<int32_t>(500, cgo.Wdt-10));
141  int32_t iUnbrokenTextWidth = ::GraphicsResource.FontRegular.GetTextWidth(Text.getData(), true);
142  wdt = std::min<int32_t>(wdt, iUnbrokenTextWidth+10);
143  }
144  else
145  {
146  if (!wdt)
147  wdt = Clamp<int32_t>(cgo.Wdt-50, 50, 500);
148  else
149  wdt = Clamp<int32_t>(wdt, 10, cgo.Wdt-10);
150  }
151  iTextWdt = wdt * cgo.Zoom;
152  iTextHgt = ::GraphicsResource.FontRegular.BreakMessage(Text.getData(), iTextWdt, &sText, true);
153  }
154  else
155  {
156  ::GraphicsResource.FontRegular.GetTextExtent(Text.getData(), iTextWdt, iTextHgt, true);
157  sText.Ref(Text);
158  }
159  int32_t iDrawX = cgo.X+x;
160  int32_t iDrawY = cgo.Y+y;
161  // draw message
162  if (PictureDef)
163  {
164  // message with portrait
165  // bottom-placed portrait message: Y-Positioning 0 refers to bottom of viewport
166  if (dwFlags & C4GM_Bottom) iDrawY += cgo.Hgt;
167  else if (dwFlags & C4GM_VCenter) iDrawY += cgo.Hgt/2;
168  if (dwFlags & C4GM_Right) iDrawX += cgo.Wdt;
169  else if (dwFlags & C4GM_HCenter) iDrawX += cgo.Wdt/2;
170  // draw decoration
171  if (pFrameDeco)
172  {
173  iDrawX *= cgo.Zoom; iDrawY *= cgo.Zoom;
174  C4Rect rect(iDrawX-cgo.TargetX, iDrawY-cgo.TargetY, iTextWdt + PictureWidth + PictureIndent + pFrameDeco->iBorderLeft + pFrameDeco->iBorderRight, std::max(iTextHgt, PictureWidth) + pFrameDeco->iBorderTop + pFrameDeco->iBorderBottom);
175  if (dwFlags & C4GM_Bottom) { rect.y -= rect.Hgt; iDrawY -= rect.Hgt; }
176  else if (dwFlags & C4GM_VCenter) { rect.y -= rect.Hgt/2; iDrawY -= rect.Hgt/2; }
177  if (dwFlags & C4GM_Right) { rect.x -= rect.Wdt; iDrawX -= rect.Wdt; }
178  else if (dwFlags & C4GM_HCenter) { rect.x -= rect.Wdt/2; iDrawX -= rect.Wdt/2; }
179  pFrameDeco->Draw(cgo, rect);
180  iDrawX += pFrameDeco->iBorderLeft;
181  iDrawY += pFrameDeco->iBorderTop;
182  }
183  else
184  iDrawY -= iTextHgt;
185  // draw picture
186  // can only be def or object because has been checked on assignment
187 
188  C4Facet facet(cgo.Surface, iDrawX, iDrawY, PictureWidth, PictureWidth);
189  if(PictureDef->GetObject())
190  PictureDef->GetObject()->DrawPicture(facet);
191  else if (PictureDef->GetDef())
192  PictureDef->GetDef()->Draw(facet);
193  else
195 
196  // draw message
198  }
199  else
200  {
201  // message without picture
202  iDrawX += (cgo.Wdt/2) * cgo.Zoom;
203  iDrawY += (2 * cgo.Hgt / 3 + 50) * cgo.Zoom;
204  if (!(dwFlags & C4GM_Bottom)) iDrawY += DrawMessageOffset;
205  pDraw->TextOut(sText.getData(),::GraphicsResource.FontRegular,1.0,cgo.Surface,iDrawX,iDrawY,ColorDw,ACenter);
206  }
207  }
208  // Positioned
209  else if (Type == C4GM_Target || ((Type == C4GM_TargetPlayer) && (iPlayer == Player)))
210  {
211  // adjust position by object; care about parallaxity
212  float iMsgX, iMsgY, newzoom;
213  Target->GetDrawPosition(cgo, iMsgX, iMsgY, newzoom);
214  if(~dwFlags & C4GM_YRel)
215  iMsgY -= Target->Def->Shape.Hgt/2+5;
216  iMsgX+=X; iMsgY+=Y;
217  // check output bounds
218  if (Inside<float>((iMsgX - cgo.X) * newzoom, 0, cgo.Wdt * cgo.Zoom - 1) || (dwFlags & C4GM_XRel))
219  if (Inside<float>((iMsgY - cgo.Y) * newzoom, 0, cgo.Hgt * cgo.Zoom - 1) || (dwFlags & C4GM_YRel))
220  {
221  // if the message is attached to an object and the object
222  // is invisible for that player, the message won't be drawn
223  if (Type == C4GM_Target)
224  if (!Target->IsVisible(iPlayer, false))
225  return;
226  // Word wrap to cgo width
227  StdStrBuf sText;
228  if (~dwFlags & C4GM_NoBreak)
229  {
230  // standard break width
231  int breakWdt = Clamp<int32_t>(cgo.Wdt * cgo.Zoom, 50, 200);
232 
233  // user supplied width?
234  if (Wdt)
235  breakWdt = Wdt;
236 
237  ::GraphicsResource.FontRegular.BreakMessage(Text.getData(), breakWdt, &sText, true);
238  }
239  else
240  sText.Ref(Text);
241 
242  // vertical placement
243  if (dwFlags & C4GM_Bottom)
244  iMsgY += Hgt; // iTHgt will be substracted below
245  else if (dwFlags & C4GM_Top)
246  ;
247  else if (dwFlags & C4GM_VCenter)
248  iMsgY += Hgt / 2;
249 
250  // horizontal placement
251  int alignment = ACenter;
252 
253  if (dwFlags & C4GM_Left)
254  alignment = ALeft;
255  else if (dwFlags & C4GM_Right)
256  {
257  alignment = ARight;
258  iMsgX += Wdt;
259  }
260  else if (dwFlags & C4GM_HCenter)
261  iMsgX += Wdt / 2;
262 
263  // calculate display position and adjust position by output boundaries
264  float iTX, iTY;
265  iTX = (iMsgX - cgo.X) * newzoom;
266  iTY = (iMsgY - cgo.Y) * newzoom;
267  int iTWdt, iTHgt;
268  ::GraphicsResource.FontRegular.GetTextExtent(sText.getData(),iTWdt,iTHgt,true);
269 
270  // adjust zoom if needed
271  float zoom = 1.0;
272  if(dwFlags & C4GM_Zoom)
273  zoom = cgo.Zoom;
274 
275  if (dwFlags & C4GM_Bottom)
276  iTY -= zoom * float(iTHgt);
277  else if (dwFlags & C4GM_VCenter)
278  iTY -= zoom * float(iTHgt/2);
279  else if (~dwFlags & C4GM_Top)
280  iTY -= zoom * float(iTHgt); // above object is standard
281 
282  if (dwFlags & C4GM_Right)
283  iTX += 0.25f * float(iTWdt) * (1.0f - zoom);
284 
285  // adjustment for objects at border of screen?
286  // +0.5f for proper rounding; avoids oscillations near pixel border:
287  if (~dwFlags & C4GM_XRel) iTX = Clamp<float>(iTX, iTWdt/2, cgo.Wdt * cgo.Zoom - iTWdt / 2) + 0.5f;
288  if (~dwFlags & C4GM_YRel) iTY = Clamp<float>(iTY, 0, cgo.Hgt * cgo.Zoom - iTHgt) + 0.5f;
289 
290  // Draw
292  cgo.Surface,
293  cgo.X + iTX,
294  cgo.Y + iTY,
295  ColorDw, alignment);
296  return;
297  }
298  }
299 }
const char * getData() const
Definition: StdBuf.h:450
int32_t PictureIndent
float Y
Definition: C4Facet.h:120
float Zoom
Definition: C4Facet.h:167
C4Game Game
Definition: C4Globals.cpp:52
void DrawPicture(C4Facet &cgo, bool fSelected=false, C4DrawTransform *transform=nullptr)
Definition: C4Object.cpp:2351
const int32_t C4GM_Top
Definition: C4GameMessage.h:37
const int32_t C4GM_YRel
Definition: C4GameMessage.h:45
bool TextOut(const char *szText, CStdFont &rFont, float fZoom, C4Surface *sfcDest, float iTx, float iTy, DWORD dwFCol=0xffffffff, BYTE byForm=ALeft, bool fDoMarkup=true)
Definition: C4Draw.cpp:570
void Draw(C4TargetFacet &cgo, C4Rect &rcDrawArea)
const int ARight
Definition: C4Surface.h:43
Definition: C4Rect.h:29
const int32_t C4GM_XRel
Definition: C4GameMessage.h:44
bool GetTextExtent(const char *szText, int32_t &rsx, int32_t &rsy, bool fCheckMarkup=true)
int32_t GetTextWidth(const char *szText, bool fCheckMarkup=true)
Definition: C4FontLoader.h:147
C4GraphicsResource GraphicsResource
const int32_t C4GM_TargetPlayer
Definition: C4GameMessage.h:32
StdCopyStrBuf Text
Definition: C4GameMessage.h:64
const int32_t C4GM_NoBreak
Definition: C4GameMessage.h:34
virtual C4Object * GetObject()
Definition: C4PropList.cpp:622
const int32_t C4GM_Bottom
Definition: C4GameMessage.h:35
virtual C4Def const * GetDef() const
Definition: C4PropList.cpp:640
const int32_t C4GM_Zoom
Definition: C4GameMessage.h:46
C4Shape Shape
Definition: C4Def.h:106
C4Def * Def
Definition: C4Object.h:143
const int ACenter
Definition: C4Surface.h:43
int32_t Player
Definition: C4GameMessage.h:61
C4GUI::FrameDecoration * pFrameDeco
Definition: C4GameMessage.h:69
const int32_t C4GM_Right
Definition: C4GameMessage.h:39
int32_t PictureWidth
void Draw(C4Facet &cgo, bool fSelected=false, DWORD iColor=0, C4Object *pObj=nullptr, int32_t iPhaseX=0, int32_t iPhaseY=0, C4DrawTransform *trans=nullptr, const char *graphicsName=nullptr)
Definition: C4Def.cpp:601
const int32_t C4GM_VCenter
Definition: C4GameMessage.h:41
const int32_t C4GM_GlobalPlayer
Definition: C4GameMessage.h:30
const int32_t C4GM_Target
Definition: C4GameMessage.h:31
C4Draw * pDraw
Definition: C4Draw.cpp:45
std::tuple< std::string, int > BreakMessage(const char *szMsg, int iWdt, bool fCheckMarkup, float fZoom=1.0f)
void Ref(const char *pnData)
Definition: StdBuf.h:463
int32_t DrawMessageOffset
float TargetX
Definition: C4Facet.h:167
float Hgt
Definition: C4Facet.h:120
const int32_t C4GM_WidthRel
Definition: C4GameMessage.h:43
const int32_t C4GM_Global
Definition: C4GameMessage.h:29
const int ALeft
Definition: C4Surface.h:43
const int32_t C4GM_HCenter
Definition: C4GameMessage.h:40
int32_t Hgt
Definition: C4Rect.h:32
C4Surface * Surface
Definition: C4Facet.h:119
float TargetY
Definition: C4Facet.h:167
bool DrawPropListSpecImage(C4Facet &fctTarget, C4PropList *pSpec)
Definition: C4Game.cpp:3795
const int32_t C4GM_Left
Definition: C4GameMessage.h:38
C4Object * Target
Definition: C4GameMessage.h:63
float Wdt
Definition: C4Facet.h:120
float X
Definition: C4Facet.h:120
C4PropList * PictureDef
Definition: C4GameMessage.h:67
bool IsVisible(int32_t iForPlr, bool fAsOverlay) const
Definition: C4Object.cpp:4062
uint32_t dwFlags
Definition: C4GameMessage.h:70
bool GetDrawPosition(const C4TargetFacet &cgo, float &resultx, float &resulty, float &resultzoom) const
Definition: C4Object.cpp:4345

Here is the call graph for this function:

Here is the caller graph for this function:

bool C4GameMessage::Execute ( )
protected

Definition at line 111 of file C4GameMessage.cpp.

References Delay.

Referenced by C4GameMessageList::Execute().

112 {
113  // Delay / removal
114  if (Delay>0) Delay--;
115  if (Delay==0) return false;
116  // Done
117  return true;
118 }

Here is the caller graph for this function:

int32_t C4GameMessage::GetPositioningFlags ( ) const
inline

Definition at line 79 of file C4GameMessage.h.

References C4GM_PositioningFlags.

Referenced by C4GameMessageList::ClearPlayers().

79 { return dwFlags & C4GM_PositioningFlags; }
const int32_t C4GM_PositioningFlags
Definition: C4GameMessage.h:48
uint32_t dwFlags
Definition: C4GameMessage.h:70

Here is the caller graph for this function:

void C4GameMessage::Init ( int32_t  iType,
const StdStrBuf Text,
C4Object pTarget,
int32_t  iPlayer,
int32_t  iX,
int32_t  iY,
uint32_t  dwCol,
C4ID  idDecoID,
C4PropList pSrc,
uint32_t  dwFlags,
int  width 
)
protected

Definition at line 42 of file C4GameMessage.cpp.

References C4GM_MinDelay, ColorDw, StdStrBuf::Copy(), DecoID, Delay, dwFlags, C4PropList::GetDef(), C4Value::getInt(), StdStrBuf::getLength(), C4PropList::GetObject(), C4PropList::GetProperty(), C4PropList::GetPropertyPropList(), GlobalMsgDelayFactor, Hgt, StdStrBuf::Move(), ObjectMsgDelayFactor, P_Hgt, P_Source, P_Wdt, pFrameDeco, PictureDef, PictureDefVal, Player, C4Value::Set0(), C4GUI::FrameDecoration::SetByDef(), C4Value::SetPropList(), StdStrBuf::Shrink(), C4PropList::Status, Target, Text, Type, Wdt, X, and Y.

Referenced by C4GameMessageList::New().

43 {
44  // safety!
45  if (pTarget && !pTarget->Status) pTarget = nullptr;
46  // Set data
47  Text.Copy(sText);
48  Target=pTarget;
49  X=iX; Y=iY; Wdt=width; Hgt=0;
50  Player=iPlayer;
51  ColorDw=dwClr;
52  Type=iType;
54  DecoID=idDecoID;
55  this->dwFlags=dwFlags;
56  PictureDef=nullptr;
58  if (pSrc)
59  {
60  // retain special width/height properties when using a message box on an object-local message
61  if (Target)
62  {
63  C4Value val;
64  if (pSrc->GetProperty(P_Wdt, &val))
65  Wdt = val.getInt();
66  if (pSrc->GetProperty(P_Hgt, &val))
67  Hgt = val.getInt();
68  }
69 
70  // retain object or definition from the proplist
71  PictureDef = pSrc->GetObject();
72  if (!PictureDef) PictureDef = pSrc->GetDef();
74  {
75  PictureDef = pSrc;
77  }
78  }
79  // Permanent message
80  if ('@' == Text[0])
81  {
82  Delay=-1;
83  Text.Move(1, Text.getLength());
84  Text.Shrink(1);
85  }
86  // frame decoration
87  delete pFrameDeco; pFrameDeco = nullptr;
88  if (DecoID)
89  {
91  if (!pFrameDeco->SetByDef(DecoID))
92  {
93  delete pFrameDeco;
94  pFrameDeco = nullptr;
95  }
96  }
97 }
const int32_t GlobalMsgDelayFactor
bool GetProperty(C4PropertyName k, C4Value *pResult) const
Definition: C4PropList.h:103
bool SetByDef(C4Def *pSrcDef)
void Set0()
Definition: C4Value.h:336
virtual C4Object * GetObject()
Definition: C4PropList.cpp:622
virtual C4Def const * GetDef() const
Definition: C4PropList.cpp:640
const int32_t C4GM_MinDelay
Definition: C4GameMessage.h:27
int32_t Player
Definition: C4GameMessage.h:61
C4GUI::FrameDecoration * pFrameDeco
Definition: C4GameMessage.h:69
const int32_t ObjectMsgDelayFactor
int32_t Status
Definition: C4PropList.h:169
int32_t getInt() const
Definition: C4Value.h:112
C4Value PictureDefVal
Definition: C4GameMessage.h:68
void Shrink(size_t iShrink)
Definition: StdBuf.h:511
size_t getLength() const
Definition: StdBuf.h:453
void SetPropList(C4PropList *PropList)
Definition: C4Value.h:141
void Move(size_t iFrom, size_t inSize, size_t iTo=0)
Definition: StdBuf.h:479
C4Object * Target
Definition: C4GameMessage.h:63
void Copy()
Definition: StdBuf.h:475
C4PropList * GetPropertyPropList(C4PropertyName k) const
Definition: C4PropList.cpp:855
C4PropList * PictureDef
Definition: C4GameMessage.h:67
uint32_t dwFlags
Definition: C4GameMessage.h:70

Here is the call graph for this function:

Here is the caller graph for this function:

void C4GameMessage::UpdateDef ( C4ID  idUpdDef)
protected

Definition at line 301 of file C4GameMessage.cpp.

References pFrameDeco, and C4GUI::FrameDecoration::UpdateGfx().

Referenced by C4GameMessageList::UpdateDef().

302 {
303  // frame deco might be using updated/deleted def
304  if (pFrameDeco)
305  {
306  if (!pFrameDeco->UpdateGfx())
307  {
308  delete pFrameDeco;
309  pFrameDeco = nullptr;
310  }
311  }
312 }
C4GUI::FrameDecoration * pFrameDeco
Definition: C4GameMessage.h:69

Here is the call graph for this function:

Here is the caller graph for this function:

const char* C4GameMessage::WordWrap ( int32_t  iMaxWidth)
protected

Friends And Related Function Documentation

friend class C4GameMessageList
friend

Definition at line 52 of file C4GameMessage.h.

Member Data Documentation

DWORD C4GameMessage::ColorDw
protected

Definition at line 60 of file C4GameMessage.h.

Referenced by Draw(), and Init().

C4ID C4GameMessage::DecoID
protected

Definition at line 66 of file C4GameMessage.h.

Referenced by Init().

int32_t C4GameMessage::Delay
protected

Definition at line 59 of file C4GameMessage.h.

Referenced by Append(), Execute(), and Init().

uint32_t C4GameMessage::dwFlags
protected

Definition at line 70 of file C4GameMessage.h.

Referenced by Draw(), and Init().

int32_t C4GameMessage::Hgt
protected

Definition at line 58 of file C4GameMessage.h.

Referenced by Draw(), and Init().

C4GUI::FrameDecoration* C4GameMessage::pFrameDeco
protected

Definition at line 69 of file C4GameMessage.h.

Referenced by Draw(), Init(), UpdateDef(), and ~C4GameMessage().

C4PropList* C4GameMessage::PictureDef
protected

Definition at line 67 of file C4GameMessage.h.

Referenced by Draw(), and Init().

C4Value C4GameMessage::PictureDefVal
protected

Definition at line 68 of file C4GameMessage.h.

Referenced by Init().

int32_t C4GameMessage::Player
protected
C4Object* C4GameMessage::Target
protected
StdCopyStrBuf C4GameMessage::Text
protected

Definition at line 64 of file C4GameMessage.h.

Referenced by Append(), Draw(), and Init().

int32_t C4GameMessage::Type
protected
int32_t C4GameMessage::Wdt
protected

Definition at line 58 of file C4GameMessage.h.

Referenced by Draw(), and Init().

int32_t C4GameMessage::X
protected

Definition at line 58 of file C4GameMessage.h.

Referenced by Draw(), and Init().

int32_t C4GameMessage::Y
protected

Definition at line 58 of file C4GameMessage.h.

Referenced by Draw(), and Init().


The documentation for this class was generated from the following files: