1
0
mirror of https://foundry.openuru.org/gitblit/r/CWE-ou-minkata.git synced 2025-07-18 19:29:09 +00:00

Enable plDynamicTextMsg sending

This commit is contained in:
Bartek Bok
2011-10-23 11:21:02 +02:00
committed by Adam Johnson
parent 0c1b6bb096
commit 6832881e32
4 changed files with 23 additions and 25 deletions

View File

@ -65,7 +65,7 @@ void plDynamicTextMsg::SetFont( const char *face, int16_t size, bool isBold )
hsAssert( ( fCmd & ( kPosCmds | kStringCmds | kFlagCmds ) ) == 0, "Attempting to issue conflicting drawText commands" );
fCmd &= ~( kPosCmds | kStringCmds | kFlagCmds );
fCmd |= kSetFont;
fString = hsStringToWString( face );
fString = face;
fX = size;
fFlags = (uint32_t)isBold;
}
@ -123,9 +123,7 @@ void plDynamicTextMsg::DrawString( int16_t x, int16_t y, const wchar_t *text
fCmd &= ~( kStringCmds | kPosCmds );
fCmd |= kDrawString;
fString = new wchar_t[wcslen(text)+1];
wcscpy( fString, text );
fString[wcslen(text)] = L'\0';
fString = plString::FromWchar(text);
fX = x;
fY = y;
}
@ -143,9 +141,7 @@ void plDynamicTextMsg::DrawClippedString( int16_t x, int16_t y, uint16_t clip
fCmd &= ~( kStringCmds | kPosCmds | kRectCmds );
fCmd |= kDrawClippedString;
fString = new wchar_t[wcslen(text)+1];
wcscpy( fString, text );
fString[wcslen(text)] = L'\0';
fString = plString::FromWchar(text);
fX = x;
fY = y;
@ -168,9 +164,7 @@ void plDynamicTextMsg::DrawWrappedString( int16_t x, int16_t y, uint16_t wrap
fCmd &= ~( kStringCmds | kPosCmds | kRectCmds );
fCmd |= kDrawWrappedString;
fString = new wchar_t[wcslen(text)+1];
wcscpy( fString, text );
fString[wcslen(text)] = L'\0';
fString = plString::FromWchar(text);
fX = x;
fY = y;
@ -222,7 +216,7 @@ void plDynamicTextMsg::Read( hsStream *s, hsResMgr *mgr )
fClearColor.Read( s );
fColor.Read( s );
fString = s->ReadSafeWString();
fString = s->ReadSafeWString_TEMP();
fImageKey = mgr->ReadKey( s );
s->ReadLE( &fFlags );
@ -253,7 +247,8 @@ void plDynamicTextMsg::Write( hsStream *s, hsResMgr *mgr )
fClearColor.Write( s );
fColor.Write( s );
s->WriteSafeWString( plString::FromWchar(fString) );
s->WriteSafeWString(fString);
mgr->WriteKey( s, fImageKey );
s->WriteLE( fFlags );
@ -306,7 +301,7 @@ void plDynamicTextMsg::ReadVersion(hsStream* s, hsResMgr* mgr)
if (contentFlags.IsBitSet(kDynTextMsgColor))
fColor.Read( s );
if (contentFlags.IsBitSet(kDynTextMsgString))
fString = s->ReadSafeWString();
fString = s->ReadSafeWString_TEMP();
if (contentFlags.IsBitSet(kDynTextMsgImageKey))
fImageKey = mgr->ReadKey( s );
if (contentFlags.IsBitSet(kDynTextMsgFlags))
@ -360,7 +355,7 @@ void plDynamicTextMsg::WriteVersion(hsStream* s, hsResMgr* mgr)
fColor.Write( s );
// kDynTextMsgString
s->WriteSafeWString( plString::FromWchar(fString) );
s->WriteSafeWString( fString );
// kDynTextMsgImageKey
mgr->WriteKey( s, fImageKey );

View File

@ -72,7 +72,7 @@ protected:
hsColorRGBA fColor;
// String
wchar_t *fString;
plString fString;
// Mipmap
plKey fImageKey;
@ -84,8 +84,10 @@ protected:
int16_t fLineSpacing;
public:
plDynamicTextMsg() : plMessage( nil, nil, nil ) { fCmd = 0; fString = nil; fImageKey = nil; fFlags = 0; fBlockRGB = false; }
~plDynamicTextMsg() { delete [] fString; }
plDynamicTextMsg() :
plMessage(nullptr, nullptr, nullptr),
fCmd(0), fImageKey(nullptr), fFlags(0), fBlockRGB(false)
{ }
CLASSNAME_REGISTER( plDynamicTextMsg );
GETINTERFACE_ANY( plDynamicTextMsg, plMessage );