# gamelog_internal.h

Go to the documentation of this file.

    00001 /* $Id: gamelog_internal.h 15904 2009-03-30 23:22:13Z rubidium $ */
    00002
    00005 #ifndef GAMELOG_INTERNAL_H
    00006 #define GAMELOG_INTERNAL_H
    00007
    00008 #include "network/core/config.h"
    00009
    00011 enum GamelogChangeType {
    00012   GLCT_MODE,
    00013   GLCT_REVISION,
    00014   GLCT_OLDVER,
    00015   GLCT_SETTING,
    00016   GLCT_GRFADD,
    00017   GLCT_GRFREM,
    00018   GLCT_GRFCOMPAT,
    00019   GLCT_GRFPARAM,
    00020   GLCT_GRFMOVE,
    00021   GLCT_GRFBUG,
    00022   GLCT_EMERGENCY,
    00023   GLCT_END,
    00024   GLCT_NONE = 0xFF,
    00025 };
    00026
    00027
    00029 struct LoggedChange {
    00030   GamelogChangeType ct;
    00031   union {
    00032     struct {
    00033       byte mode;
    00034       byte landscape;
    00035     } mode;
    00036     struct {
    00037       char text[NETWORK_REVISION_LENGTH];
    00038       uint32 newgrf;
    00039       uint16 slver;
    00040       byte modified;
    00041     } revision;
    00042     struct {
    00043       uint32 type;
    00044       uint32 version;
    00045     } oldver;
    00046     GRFIdentifier grfadd;
    00047     struct {
    00048       uint32 grfid;
    00049     } grfrem;
    00050     GRFIdentifier grfcompat;
    00051     struct {
    00052       uint32 grfid;
    00053     } grfparam;
    00054     struct {
    00055       uint32 grfid;
    00056       int32 offset;
    00057     } grfmove;
    00058     struct {
    00059       char *name;
    00060       int32 oldval;
    00061       int32 newval;
    00062     } setting;
    00063     struct {
    00064       uint64 data;
    00065       uint32 grfid;
    00066       byte bug;
    00067     } grfbug;
    00068   };
    00069 };
    00070
    00071
    00073 struct LoggedAction {
    00074   LoggedChange *change;
    00075   uint32 changes;
    00076   GamelogActionType at;
    00077   uint16 tick;
    00078 };
    00079
    00080 extern LoggedAction *_gamelog_action;
    00081 extern uint _gamelog_actions;
    00082
    00083 #endif /* GAMELOG_INTERNAL_H */