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 */

Generated on Wed Jul 15 20:35:58 2009 for OpenTTD by  doxygen 1.5.6