newgrf.h
author tron
Wed, 24 Nov 2004 22:52:57 +0000
changeset 504 b98cf0639775
parent 463 91bcad840bcd
child 1477 2174a73b11c9
permissions -rw-r--r--
(svn r803) Switch to ISO 8859-15
It has proper support for the euro sign and includes letters which are needed by the Latvian translation (and perhaps others), though the letter sprites are missing.
455
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
     1
#ifndef NEWGRF_H
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
     2
#define NEWGRF_H
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
     3
463
91bcad840bcd (svn r687) Export InitNewGRFFile() and DecodeSpecialSprite() properly.
pasky
parents: 455
diff changeset
     4
#include "sprite.h"
91bcad840bcd (svn r687) Export InitNewGRFFile() and DecodeSpecialSprite() properly.
pasky
parents: 455
diff changeset
     5
#include "station.h"
91bcad840bcd (svn r687) Export InitNewGRFFile() and DecodeSpecialSprite() properly.
pasky
parents: 455
diff changeset
     6
455
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
     7
struct GRFFile {
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
     8
	char *filename;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
     9
	uint32 grfid;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    10
	uint16 flags;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    11
	uint16 sprite_offset;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    12
	struct GRFFile *next;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    13
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    14
	/* A sprite group contains all sprites of a given vehicle (or multiple
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    15
	 * vehicles) when carrying given cargo. It consists of several sprite
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    16
	 * sets.  Group ids are refered as "cargo id"s by TTDPatch
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    17
	 * documentation, contributing to the global confusion.
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    18
	 *
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    19
	 * A sprite set contains all sprites of a given vehicle carrying given
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    20
	 * cargo at a given *stage* - that is usually its load stage. Ie. you
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    21
	 * can have a spriteset for an empty wagon, wagon full of coal,
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    22
	 * half-filled wagon etc.  Each spriteset contains eight sprites (one
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    23
	 * per direction) or four sprites if the vehicle is symmetric. */
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    24
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    25
	int spriteset_start;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    26
	int spriteset_numsets;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    27
	int spriteset_numents;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    28
	int spriteset_feature;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    29
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    30
	int spritegroups_count;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    31
	struct SpriteGroup *spritegroups;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    32
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    33
	struct StationSpec stations[256];
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    34
};
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    35
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    36
extern int _grffile_count;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    37
extern struct GRFFile *_first_grffile;
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    38
463
91bcad840bcd (svn r687) Export InitNewGRFFile() and DecodeSpecialSprite() properly.
pasky
parents: 455
diff changeset
    39
void InitNewGRFFile(const char *filename, int sprite_offset);
91bcad840bcd (svn r687) Export InitNewGRFFile() and DecodeSpecialSprite() properly.
pasky
parents: 455
diff changeset
    40
void DecodeSpecialSprite(const char *filename, int num, int spriteid, int stage);
91bcad840bcd (svn r687) Export InitNewGRFFile() and DecodeSpecialSprite() properly.
pasky
parents: 455
diff changeset
    41
455
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    42
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    43
#endif /* NEWGRF_H */
e7ac799e1437 (svn r665) code fixes for newgrf.c/newgrf.h
dominik
parents: 453
diff changeset
    44