(svn r602) -newgrf: Move DrawTileSeqStruct & co and struct SpriteGroup to sprite.h (pasky)

This commit is contained in:
darkvater 2004-11-14 16:42:08 +00:00
parent a415b8ecce
commit e656a91736
9 changed files with 58 additions and 36 deletions

View File

@ -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;

View File

@ -1,6 +1,8 @@
#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_info[NUM_ROAD_ENGINES];
#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

View File

@ -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)

View File

@ -7,6 +7,7 @@
#include "town.h"
#include "sound.h"
#include "station.h"
#include "sprite.h"
void ShowTrainDepotWindow(uint tile);

46
sprite.h Normal file
View File

@ -0,0 +1,46 @@
#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

View File

@ -1,7 +1,7 @@
#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 *accepts, uint tile, int w, int h);
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

View File

@ -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

View File

@ -1159,6 +1159,9 @@
<File
RelativePath="sound.h">
</File>
<File
RelativePath=".\sprite.h">
</File>
<File
RelativePath="station.h">
</File>

View File

@ -7,6 +7,7 @@
#include "station.h"
#include "economy.h"
#include "town.h"
#include "sprite.h"
typedef struct DrawTileUnmovableStruct {
uint16 image;