newgrf.h
author bjarni
Wed, 22 Dec 2004 22:52:06 +0000
changeset 772 7b1f5ae479ac
parent 463 91bcad840bcd
child 1477 2174a73b11c9
permissions -rw-r--r--
(svn r1238) Changelog update with the mac specific stuff since 0.3.4
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