Files
@ r28250:0a9b32749383
Branch filter:
Location: cpp/openttd-patchpack/source/src/gamelog.h - annotation
r28250:0a9b32749383
3.3 KiB
text/x-c
Codechange: Vertical spacing for caption is captiontext, not framerect. (#11550)
This does not really matter as the caption height is sized correctly later anyway, so this just avoids confusion.
This does not really matter as the caption height is sized correctly later anyway, so this just avoids confusion.
r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r12768:980ae0491352 r27571:da7f7d781aa6 r9457:ecfeb802c57a r9457:ecfeb802c57a r9457:ecfeb802c57a r9457:ecfeb802c57a r9457:ecfeb802c57a r9457:ecfeb802c57a r17630:7d818445376d r27737:728d55b97775 r9457:ecfeb802c57a r9457:ecfeb802c57a r9457:ecfeb802c57a r9457:ecfeb802c57a r11069:3f09c162966b r9704:108fa337b182 r11527:64c8da2b83d1 r9457:ecfeb802c57a r9457:ecfeb802c57a r9457:ecfeb802c57a r9457:ecfeb802c57a r27223:23146c90355d r27737:728d55b97775 r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r9457:ecfeb802c57a r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r9457:ecfeb802c57a r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27376:7e6826313302 r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r11527:64c8da2b83d1 r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27235:9a91a121c2bd r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27737:728d55b97775 r9457:ecfeb802c57a r27223:23146c90355d r27223:23146c90355d r27737:728d55b97775 r27223:23146c90355d r27737:728d55b97775 r27737:728d55b97775 r27223:23146c90355d r27737:728d55b97775 r27737:728d55b97775 r9457:ecfeb802c57a r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r27737:728d55b97775 r27223:23146c90355d r9457:ecfeb802c57a r27223:23146c90355d r27223:23146c90355d r27223:23146c90355d r9704:108fa337b182 r27223:23146c90355d r18219:9a85d923ce33 r9457:ecfeb802c57a | /*
* This file is part of OpenTTD.
* OpenTTD 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, version 2.
* OpenTTD 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 OpenTTD. If not, see <http://www.gnu.org/licenses/>.
*/
/** @file gamelog.h Functions to be called to log fundamental changes to the game */
#ifndef GAMELOG_H
#define GAMELOG_H
#include "newgrf_config.h"
/** The actions we log. */
enum GamelogActionType : uint8_t {
GLAT_START, ///< Game created
GLAT_LOAD, ///< Game loaded
GLAT_GRF, ///< GRF changed
GLAT_CHEAT, ///< Cheat was used
GLAT_SETTING, ///< Setting changed
GLAT_GRFBUG, ///< GRF bug was triggered
GLAT_EMERGENCY, ///< Emergency savegame
GLAT_END, ///< So we know how many GLATs are there
GLAT_NONE = 0xFF, ///< No logging active; in savegames, end of list
};
/** Type of logged change */
enum GamelogChangeType : uint8_t {
GLCT_MODE, ///< Scenario editor x Game, different landscape
GLCT_REVISION, ///< Changed game revision string
GLCT_OLDVER, ///< Loaded from savegame without logged data
GLCT_SETTING, ///< Non-networksafe setting value changed
GLCT_GRFADD, ///< Removed GRF
GLCT_GRFREM, ///< Added GRF
GLCT_GRFCOMPAT, ///< Loading compatible GRF
GLCT_GRFPARAM, ///< GRF parameter changed
GLCT_GRFMOVE, ///< GRF order changed
GLCT_GRFBUG, ///< GRF bug triggered
GLCT_EMERGENCY, ///< Emergency savegame
GLCT_END, ///< So we know how many GLCTs are there
GLCT_NONE = 0xFF, ///< In savegames, end of list
};
struct LoggedChange;
struct LoggedAction;
struct GamelogInternalData;
class Gamelog {
private:
std::unique_ptr<GamelogInternalData> data;
GamelogActionType action_type;
struct LoggedAction *current_action;
void Change(std::unique_ptr<LoggedChange> &&change);
public:
Gamelog();
~Gamelog();
void StartAction(GamelogActionType at);
void StopAction();
void StopAnyAction();
void Reset();
void Print(std::function<void(const std::string &)> proc);
void PrintDebug(int level);
void PrintConsole();
void Emergency();
bool TestEmergency();
void Revision();
void Mode();
void Oldver();
void Setting(const std::string &name, int32_t oldval, int32_t newval);
void GRFUpdate(const GRFConfig *oldg, const GRFConfig *newg);
void GRFAddList(const GRFConfig *newg);
void GRFRemove(uint32_t grfid);
void GRFAdd(const GRFConfig *newg);
void GRFBug(uint32_t grfid, byte bug, uint64_t data);
bool GRFBugReverse(uint32_t grfid, uint16_t internal_id);
void GRFCompatible(const GRFIdentifier *newg);
void GRFMove(uint32_t grfid, int32_t offset);
void GRFParameters(uint32_t grfid);
void TestRevision();
void TestMode();
void Info(uint32_t *last_ottd_rev, byte *ever_modified, bool *removed_newgrfs);
const GRFIdentifier *GetOverriddenIdentifier(const GRFConfig *c);
/* Saveload handler for gamelog needs access to internal data. */
friend struct GLOGChunkHandler;
};
extern Gamelog _gamelog;
#endif /* GAMELOG_H */
|