mirror of
https://github.com/ptitSeb/Serious-Engine
synced 2024-12-27 07:54:51 +01:00
68 lines
2.1 KiB
C++
68 lines
2.1 KiB
C++
/* Copyright (c) 2002-2012 Croteam Ltd.
|
|
This program is free software; you can redistribute it and/or modify
|
|
it under the terms of version 2 of the GNU General Public License as published by
|
|
the Free Software Foundation
|
|
|
|
|
|
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, write to the Free Software Foundation, Inc.,
|
|
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */
|
|
|
|
#ifndef SE_INCL_COMPMESSAGE_H
|
|
#define SE_INCL_COMPMESSAGE_H
|
|
#ifdef PRAGMA_ONCE
|
|
#pragma once
|
|
#endif
|
|
|
|
class CCompMessage {
|
|
public:
|
|
CTFileName cm_fnmFileName; // message identificator
|
|
CCompMessageID *cm_pcmiOriginal; // identifier in player's array
|
|
|
|
BOOL cm_bLoaded; // set if message is loaded
|
|
CTString cm_strSubject; // message subject
|
|
enum ImageType {
|
|
IT_NONE,
|
|
IT_MODEL,
|
|
IT_PICTURE,
|
|
IT_STATISTICS,
|
|
} cm_itImage; // accompanying image if any
|
|
CTString cm_strModel; // name of model if model
|
|
CTFileName cm_fnmPicture; // filename of picture if picture
|
|
CTString cm_strText; // original message text
|
|
|
|
BOOL cm_bRead;
|
|
|
|
INDEX cm_ctFormattedWidth; // chars per row in formatted text
|
|
INDEX cm_ctFormattedLines; // number of lines in formatted text
|
|
CTString cm_strFormattedText; // text formatted for given line width
|
|
|
|
// load the message from file
|
|
void Load_t(void); // throw char *
|
|
// format message for given line width
|
|
void Format(INDEX ctCharsPerLine);
|
|
|
|
public:
|
|
CCompMessage(void);
|
|
void Clear(void);
|
|
// constructs message from ID
|
|
void SetMessage(CCompMessageID *pcmi);
|
|
// prepare message for using (load, format, etc.)
|
|
void PrepareMessage(INDEX ctCharsPerLine);
|
|
// free memory used by message, but keep message filename
|
|
void UnprepareMessage(void);
|
|
// mark message as read
|
|
void MarkRead(void);
|
|
// get one formatted line
|
|
CTString GetLine(INDEX iLine);
|
|
};
|
|
|
|
|
|
#endif /* include-once check. */
|
|
|