Files
@ r5312:ffd375effb01
Branch filter:
Location: cpp/openttd-patchpack/source/newgrf.h - annotation
r5312:ffd375effb01
1.7 KiB
text/x-c
(svn r7468) -Codechange: [win32] Add some comments to MB/WIDE_TO_WIDE/MB_[BUFFER] macros and
use them some more in win32 code. Also for the clipboard use the convert_from_fs
function instead of calling Win32 API directly. Make the static buffers in OTTD2FS
and FS2OTTD the same size (character-length wise)
use them some more in win32 code. Also for the clipboard use the convert_from_fs
function instead of calling Win32 API directly. Make the static buffers in OTTD2FS
and FS2OTTD the same size (character-length wise)
r2186:5ee653b1b5e1 r2186:5ee653b1b5e1 r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r463:fa51a6ca6476 r5228:68969c6ab65b r463:fa51a6ca6476 r5225:e04210e06f75 r5228:68969c6ab65b r5225:e04210e06f75 r5225:e04210e06f75 r5225:e04210e06f75 r5225:e04210e06f75 r5225:e04210e06f75 r5225:e04210e06f75 r3561:a7ddd63100ce r3561:a7ddd63100ce r3561:a7ddd63100ce r3561:a7ddd63100ce r3561:a7ddd63100ce r3561:a7ddd63100ce r3561:a7ddd63100ce r3628:9a64c45b6c7d r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r3640:7db2b7b4f5a7 r3628:9a64c45b6c7d r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r3707:f8144ae608b8 r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r455:d13030ebb99c r3865:0243666a5a41 r455:d13030ebb99c r4656:515f0929a2ed r4656:515f0929a2ed r3768:35fcb27d0fbe r2345:5bcf2aaa8b65 r2345:5bcf2aaa8b65 r2345:5bcf2aaa8b65 r3561:a7ddd63100ce r3561:a7ddd63100ce r3628:9a64c45b6c7d r455:d13030ebb99c r1477:d0fe35adb3c4 r455:d13030ebb99c r3638:0ef6ebe62745 r5210:0e0eea8a0807 r4742:86db0d90bcdc r463:fa51a6ca6476 r5228:68969c6ab65b r2342:c403fb19563d r455:d13030ebb99c r455:d13030ebb99c | /* $Id$ */
#ifndef NEWGRF_H
#define NEWGRF_H
#include "station.h"
#include "newgrf_config.h"
typedef enum GrfLoadingStage {
GLS_FILESCAN,
GLS_LABELSCAN,
GLS_INIT,
GLS_ACTIVATION,
GLS_END,
} GrfLoadingStage;
typedef struct GRFLabel {
byte label;
uint32 nfo_line;
uint32 pos;
struct GRFLabel *next;
} GRFLabel;
typedef struct GRFFile {
char *filename;
uint32 grfid;
uint16 sprite_offset;
byte grf_version;
struct GRFFile *next;
/* A sprite group contains all sprites of a given vehicle (or multiple
* vehicles) when carrying given cargo. It consists of several sprite
* sets. Group ids are refered as "cargo id"s by TTDPatch
* documentation, contributing to the global confusion.
*
* A sprite set contains all sprites of a given vehicle carrying given
* cargo at a given *stage* - that is usually its load stage. Ie. you
* can have a spriteset for an empty wagon, wagon full of coal,
* half-filled wagon etc. Each spriteset contains eight sprites (one
* per direction) or four sprites if the vehicle is symmetric. */
SpriteID spriteset_start;
int spriteset_numsets;
int spriteset_numents;
int spriteset_feature;
int spritegroups_count;
struct SpriteGroup **spritegroups;
uint sound_offset;
StationSpec **stations;
uint32 param[0x80];
uint param_end; /// one more than the highest set parameter
GRFLabel *label; ///< Pointer to the first label. This is a linked list, not an array.
} GRFFile;
extern GRFFile *_first_grffile;
extern SpriteID _signal_base;
extern SpriteID _coast_base;
extern bool _have_2cc;
void LoadNewGRFFile(GRFConfig *config, uint file_index, GrfLoadingStage stage);
void LoadNewGRF(uint load_index, uint file_index);
#endif /* NEWGRF_H */
|