control_codes.h

Go to the documentation of this file.
00001 /* $Id: control_codes.h 25500 2013-06-28 19:29:08Z rubidium $ */
00002 
00003 /*
00004  * This file is part of OpenTTD.
00005  * 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.
00006  * 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.
00007  * 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/>.
00008  */
00009 
00012 #ifndef CONTROL_CODES_H
00013 #define CONTROL_CODES_H
00014 
00019 enum StringControlCode {
00020   SCC_CONTROL_START = 0xE000,
00021   SCC_CONTROL_END   = 0xE1FF,
00022 
00023   SCC_SPRITE_START  = 0xE200,
00024   SCC_SPRITE_END    = SCC_SPRITE_START + 0xFF,
00025 
00026   /* This must be the first entry. It's encoded in strings that are saved. */
00027   SCC_ENCODED = SCC_CONTROL_START,
00028 
00029   /* Display control codes */
00030   SCC_TINYFONT,  
00031   SCC_BIGFONT,   
00032 
00033   /* Formatting control codes */
00034   SCC_REVISION,
00035   SCC_COMPANY_NUM,
00036   SCC_STATION_FEATURES,
00037   SCC_INDUSTRY_NAME,
00038   SCC_WAYPOINT_NAME,
00039   SCC_STATION_NAME,
00040   SCC_DEPOT_NAME,
00041   SCC_TOWN_NAME,
00042   SCC_GROUP_NAME,
00043   SCC_VEHICLE_NAME,
00044   SCC_SIGN_NAME,
00045   SCC_COMPANY_NAME,
00046   SCC_PRESIDENT_NAME,
00047   SCC_ENGINE_NAME,
00048 
00049   SCC_CURRENCY_SHORT,
00050   SCC_CURRENCY_LONG,
00051 
00052   SCC_CARGO_LONG,
00053   SCC_CARGO_SHORT,
00054   SCC_CARGO_TINY,
00055   SCC_CARGO_LIST,
00056   SCC_POWER,
00057   SCC_VOLUME_LONG,
00058   SCC_VOLUME_SHORT,
00059   SCC_WEIGHT_LONG,
00060   SCC_WEIGHT_SHORT,
00061   SCC_FORCE,
00062   SCC_VELOCITY,
00063   SCC_HEIGHT,
00064 
00065   SCC_DATE_TINY,
00066   SCC_DATE_SHORT,
00067   SCC_DATE_LONG,
00068   SCC_DATE_ISO,
00069 
00070   /* Must be consecutive */
00071   SCC_STRING1,
00072   SCC_STRING2,
00073   SCC_STRING3,
00074   SCC_STRING4,
00075   SCC_STRING5,
00076   SCC_STRING6,
00077   SCC_STRING7,
00078 
00079 
00080   SCC_STRING,
00081   SCC_COMMA,
00082   SCC_DECIMAL,
00083   SCC_NUM,
00084   SCC_ZEROFILL_NUM,
00085   SCC_HEX,
00086   SCC_BYTES,
00087 
00088   SCC_STRING_ID,
00089   SCC_RAW_STRING_POINTER,
00090   SCC_PLURAL_LIST,
00091   SCC_GENDER_LIST,
00092   SCC_GENDER_INDEX,
00093   SCC_ARG_INDEX,
00094   SCC_SET_CASE,
00095   SCC_SWITCH_CASE,
00096 
00097   /* Colour codes */
00098   SCC_BLUE,
00099   SCC_SILVER,
00100   SCC_GOLD,
00101   SCC_RED,
00102   SCC_PURPLE,
00103   SCC_LTBROWN,
00104   SCC_ORANGE,
00105   SCC_GREEN,
00106   SCC_YELLOW,
00107   SCC_DKGREEN,
00108   SCC_CREAM,
00109   SCC_BROWN,
00110   SCC_WHITE,
00111   SCC_LTBLUE,
00112   SCC_GRAY,
00113   SCC_DKBLUE,
00114   SCC_BLACK,
00115   SCC_PREVIOUS_COLOUR,
00116 
00121   SCC_NEWGRF_FIRST,
00122   SCC_NEWGRF_PRINT_DWORD_SIGNED = SCC_NEWGRF_FIRST, 
00123   SCC_NEWGRF_PRINT_WORD_SIGNED,                     
00124   SCC_NEWGRF_PRINT_BYTE_SIGNED,                     
00125   SCC_NEWGRF_PRINT_WORD_UNSIGNED,                   
00126   SCC_NEWGRF_PRINT_DWORD_CURRENCY,                  
00127   SCC_NEWGRF_PRINT_WORD_STRING_ID,                  
00128   SCC_NEWGRF_PRINT_WORD_DATE_LONG,                  
00129   SCC_NEWGRF_PRINT_WORD_DATE_SHORT,                 
00130   SCC_NEWGRF_PRINT_WORD_SPEED,                      
00131   SCC_NEWGRF_PRINT_WORD_VOLUME_LONG,                
00132   SCC_NEWGRF_PRINT_WORD_WEIGHT_LONG,                
00133   SCC_NEWGRF_PRINT_WORD_STATION_NAME,               
00134   SCC_NEWGRF_PRINT_QWORD_CURRENCY,                  
00135   SCC_NEWGRF_PRINT_BYTE_HEX,                        
00136   SCC_NEWGRF_PRINT_WORD_HEX,                        
00137   SCC_NEWGRF_PRINT_DWORD_HEX,                       
00138   SCC_NEWGRF_PRINT_QWORD_HEX,                       
00139   SCC_NEWGRF_PRINT_DWORD_DATE_LONG,                 
00140   SCC_NEWGRF_PRINT_DWORD_DATE_SHORT,                
00141   SCC_NEWGRF_PRINT_WORD_POWER,                      
00142   SCC_NEWGRF_PRINT_WORD_VOLUME_SHORT,               
00143   SCC_NEWGRF_PRINT_WORD_WEIGHT_SHORT,               
00144   SCC_NEWGRF_PUSH_WORD,                             
00145   SCC_NEWGRF_UNPRINT,                               
00146   SCC_NEWGRF_DISCARD_WORD,                          
00147   SCC_NEWGRF_ROTATE_TOP_4_WORDS,                    
00148   SCC_NEWGRF_LAST = SCC_NEWGRF_ROTATE_TOP_4_WORDS,
00149 
00150   SCC_NEWGRF_STRINL,                                
00151 
00152   /* Special printable symbols.
00153    * These are mapped to the original glyphs */
00154   SCC_LESS_THAN        = SCC_SPRITE_START + 0x3C,
00155   SCC_GREATER_THAN     = SCC_SPRITE_START + 0x3E,
00156   SCC_UP_ARROW         = SCC_SPRITE_START + 0xA0,
00157   SCC_DOWN_ARROW       = SCC_SPRITE_START + 0xAA,
00158   SCC_CHECKMARK        = SCC_SPRITE_START + 0xAC,
00159   SCC_CROSS            = SCC_SPRITE_START + 0xAD,
00160   SCC_RIGHT_ARROW      = SCC_SPRITE_START + 0xAF,
00161   SCC_TRAIN            = SCC_SPRITE_START + 0xB4,
00162   SCC_LORRY            = SCC_SPRITE_START + 0xB5,
00163   SCC_BUS              = SCC_SPRITE_START + 0xB6,
00164   SCC_PLANE            = SCC_SPRITE_START + 0xB7,
00165   SCC_SHIP             = SCC_SPRITE_START + 0xB8,
00166   SCC_SUPERSCRIPT_M1   = SCC_SPRITE_START + 0xB9,
00167   SCC_SMALL_UP_ARROW   = SCC_SPRITE_START + 0xBC,
00168   SCC_SMALL_DOWN_ARROW = SCC_SPRITE_START + 0xBD,
00169 };
00170 
00171 #endif /* CONTROL_CODES_H */