Changeset - r405:af2e0e5f1331
[Not reviewed]
master
0 8 1
darkvater - 20 years ago 2004-11-14 16:42:08
darkvater@openttd.org
(svn r602) -newgrf: Move DrawTileSeqStruct & co and struct SpriteGroup to sprite.h (pasky)
9 files changed with 58 insertions and 36 deletions:
0 comments (0 inline, 0 general)
engine.c
Show inline comments
 
@@ -7,6 +7,7 @@
 
#include "vehicle.h"
 
#include "news.h"
 
#include "saveload.h"
 
#include "sprite.h"
 

	
 
#define UPDATE_PLAYER_RAILTYPE(e,p) if ((byte)(e->railtype + 1) > p->max_railtype) p->max_railtype = e->railtype + 1;
 

	
engine.h
Show inline comments
 
#ifndef ENGINE_H
 
#define ENGINE_H
 

	
 
#include "sprite.h"
 

	
 
typedef struct RailVehicleInfo {
 
	byte image_index;
 
	byte flags; /* 1=multihead engine, 2=wagon */
 
@@ -80,24 +82,6 @@ enum {
 
void StartupEngines();
 

	
 

	
 
struct SpriteGroup {
 
	// XXX: Would anyone ever need more than 16 spritesets? Maybe we should
 
	// use even less, now we take whole 8kb for custom sprites table, oh my!
 
	byte sprites_per_set; // means number of directions - 4 or 8
 

	
 
	// Loaded = in motion, loading = not moving
 
	// Each group contains several spritesets, for various loading stages
 

	
 
	// XXX: For stations the meaning is different - loaded is for stations
 
	// with small amount of cargo whilst loading is for stations with a lot
 
	// of da stuff.
 

	
 
	byte loaded_count;
 
	uint16 loaded[16]; // sprite ids
 
	byte loading_count;
 
	uint16 loading[16]; // sprite ids
 
};
 

	
 
extern byte _global_cargo_id[NUM_LANDSCAPE][NUM_CARGO];
 
enum {
 
	CID_DEFAULT = 29,
 
@@ -173,4 +157,5 @@ extern RoadVehicleInfo _road_vehicle_inf
 
#define ship_vehicle_info(e) _ship_vehicle_info[e - SHIP_ENGINES_INDEX]
 
#define aircraft_vehinfo(e) _aircraft_vehicle_info[e - AIRCRAFT_ENGINES_INDEX]
 
#define road_vehicle_info(e) (&_road_vehicle_info[e - ROAD_ENGINES_INDEX])
 

	
 
#endif
grfspecial.c
Show inline comments
 
@@ -7,6 +7,7 @@
 
#include "fileio.h"
 
#include "engine.h"
 
#include "station.h"
 
#include "sprite.h"
 

	
 
/* TTDPatch extended GRF format codec
 
 * (c) Petr Baudis 2004 (GPL'd)
rail_cmd.c
Show inline comments
 
@@ -7,6 +7,7 @@
 
#include "town.h"
 
#include "sound.h"
 
#include "station.h"
 
#include "sprite.h"
 

	
 
void ShowTrainDepotWindow(uint tile);
 

	
sprite.h
Show inline comments
 
new file 100644
 
#ifndef SPRITE_H
 
#define SPRITE_H
 
 
 
/* The following describes bunch of sprites to be drawn together in a single 3D
 
 * bounding box. Used especially for various multi-sprite buildings (like
 
 * depots or stations): */
 
 
typedef struct DrawTileSeqStruct {
 
	int8 delta_x;
 
	int8 delta_y;
 
	int8 delta_z;
 
	byte width,height;
 
	byte unk; // 'depth', just z-size; TODO: rename
 
	uint32 image;
 
} DrawTileSeqStruct;
 
 
typedef struct DrawTileSprites {
 
	SpriteID ground_sprite;
 
	DrawTileSeqStruct const *seq;
 
} DrawTileSprites;
 
 
#define foreach_draw_tile_seq(idx, list) for (idx = list; ((byte) idx->delta_x) != 0x80; idx++)
 
 
 
/* This is for custom sprites: */
 
 
struct SpriteGroup {
 
	// XXX: Would anyone ever need more than 16 spritesets? Maybe we should
 
	// use even less, now we take whole 8kb for custom sprites table, oh my!
 
	byte sprites_per_set; // means number of directions - 4 or 8
 
 
	// Loaded = in motion, loading = not moving
 
	// Each group contains several spritesets, for various loading stages
 
 
	// XXX: For stations the meaning is different - loaded is for stations
 
	// with small amount of cargo whilst loading is for stations with a lot
 
	// of da stuff.
 
 
	byte loaded_count;
 
	uint16 loaded[16]; // sprite ids
 
	byte loading_count;
 
	uint16 loading[16]; // sprite ids
 
};
 
 
#endif
station.h
Show inline comments
 
#ifndef STATION_H
 
#define STATION_H
 

	
 
#include "engine.h"
 
#include "sprite.h"
 
#include "vehicle.h"
 

	
 
typedef struct GoodsEntry {
 
@@ -93,23 +93,6 @@ void GetAcceptanceAroundTiles(uint *acce
 
uint GetStationPlatforms(Station *st, uint tile);
 

	
 

	
 
typedef struct DrawTileSeqStruct {
 
	int8 delta_x;
 
	int8 delta_y;
 
	int8 delta_z;
 
	byte width,height;
 
	byte unk; // 'depth', just z-size; TODO: rename
 
	uint32 image;
 
} DrawTileSeqStruct;
 

	
 
typedef struct DrawTileSprites {
 
	SpriteID ground_sprite;
 
	DrawTileSeqStruct const *seq;
 
} DrawTileSprites;
 

	
 
#define foreach_draw_tile_seq(idx, list) for (idx = list; ((byte) idx->delta_x) != 0x80; idx++)
 

	
 

	
 
struct StationSpec {
 
	uint32 grfid;
 
	int localidx; // per-GRFFile station index + 1; SetCustomStation() takes care of this
station_cmd.c
Show inline comments
 
@@ -12,6 +12,7 @@
 
#include "economy.h"
 
#include "player.h"
 
#include "airport.h"
 
#include "sprite.h"
 
#include "table/directions.h"
 

	
 
// FIXME -- need to be embedded into Airport variable. Is dynamically
ttd.vcproj
Show inline comments
 
@@ -1160,6 +1160,9 @@
 
				RelativePath="sound.h">
 
			</File>
 
			<File
 
				RelativePath=".\sprite.h">
 
			</File>
 
			<File
 
				RelativePath="station.h">
 
			</File>
 
			<File
unmovable_cmd.c
Show inline comments
 
@@ -7,6 +7,7 @@
 
#include "station.h"
 
#include "economy.h"
 
#include "town.h"
 
#include "sprite.h"
 

	
 
typedef struct DrawTileUnmovableStruct {
 
	uint16 image;
0 comments (0 inline, 0 general)