mirror of https://github.com/OpenTTD/OpenTTD.git
(svn r602) -newgrf: Move DrawTileSeqStruct & co and struct SpriteGroup to sprite.h (pasky)
This commit is contained in:
parent
a415b8ecce
commit
e656a91736
1
engine.c
1
engine.c
|
@ -7,6 +7,7 @@
|
||||||
#include "vehicle.h"
|
#include "vehicle.h"
|
||||||
#include "news.h"
|
#include "news.h"
|
||||||
#include "saveload.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;
|
#define UPDATE_PLAYER_RAILTYPE(e,p) if ((byte)(e->railtype + 1) > p->max_railtype) p->max_railtype = e->railtype + 1;
|
||||||
|
|
||||||
|
|
21
engine.h
21
engine.h
|
@ -1,6 +1,8 @@
|
||||||
#ifndef ENGINE_H
|
#ifndef ENGINE_H
|
||||||
#define ENGINE_H
|
#define ENGINE_H
|
||||||
|
|
||||||
|
#include "sprite.h"
|
||||||
|
|
||||||
typedef struct RailVehicleInfo {
|
typedef struct RailVehicleInfo {
|
||||||
byte image_index;
|
byte image_index;
|
||||||
byte flags; /* 1=multihead engine, 2=wagon */
|
byte flags; /* 1=multihead engine, 2=wagon */
|
||||||
|
@ -80,24 +82,6 @@ enum {
|
||||||
void StartupEngines();
|
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];
|
extern byte _global_cargo_id[NUM_LANDSCAPE][NUM_CARGO];
|
||||||
enum {
|
enum {
|
||||||
CID_DEFAULT = 29,
|
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 ship_vehicle_info(e) _ship_vehicle_info[e - SHIP_ENGINES_INDEX]
|
||||||
#define aircraft_vehinfo(e) _aircraft_vehicle_info[e - AIRCRAFT_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])
|
#define road_vehicle_info(e) (&_road_vehicle_info[e - ROAD_ENGINES_INDEX])
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "fileio.h"
|
#include "fileio.h"
|
||||||
#include "engine.h"
|
#include "engine.h"
|
||||||
#include "station.h"
|
#include "station.h"
|
||||||
|
#include "sprite.h"
|
||||||
|
|
||||||
/* TTDPatch extended GRF format codec
|
/* TTDPatch extended GRF format codec
|
||||||
* (c) Petr Baudis 2004 (GPL'd)
|
* (c) Petr Baudis 2004 (GPL'd)
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "town.h"
|
#include "town.h"
|
||||||
#include "sound.h"
|
#include "sound.h"
|
||||||
#include "station.h"
|
#include "station.h"
|
||||||
|
#include "sprite.h"
|
||||||
|
|
||||||
void ShowTrainDepotWindow(uint tile);
|
void ShowTrainDepotWindow(uint tile);
|
||||||
|
|
||||||
|
|
|
@ -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
|
19
station.h
19
station.h
|
@ -1,7 +1,7 @@
|
||||||
#ifndef STATION_H
|
#ifndef STATION_H
|
||||||
#define STATION_H
|
#define STATION_H
|
||||||
|
|
||||||
#include "engine.h"
|
#include "sprite.h"
|
||||||
#include "vehicle.h"
|
#include "vehicle.h"
|
||||||
|
|
||||||
typedef struct GoodsEntry {
|
typedef struct GoodsEntry {
|
||||||
|
@ -93,23 +93,6 @@ void GetAcceptanceAroundTiles(uint *accepts, uint tile, int w, int h);
|
||||||
uint GetStationPlatforms(Station *st, uint tile);
|
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 {
|
struct StationSpec {
|
||||||
uint32 grfid;
|
uint32 grfid;
|
||||||
int localidx; // per-GRFFile station index + 1; SetCustomStation() takes care of this
|
int localidx; // per-GRFFile station index + 1; SetCustomStation() takes care of this
|
||||||
|
|
|
@ -12,6 +12,7 @@
|
||||||
#include "economy.h"
|
#include "economy.h"
|
||||||
#include "player.h"
|
#include "player.h"
|
||||||
#include "airport.h"
|
#include "airport.h"
|
||||||
|
#include "sprite.h"
|
||||||
#include "table/directions.h"
|
#include "table/directions.h"
|
||||||
|
|
||||||
// FIXME -- need to be embedded into Airport variable. Is dynamically
|
// FIXME -- need to be embedded into Airport variable. Is dynamically
|
||||||
|
|
|
@ -1159,6 +1159,9 @@
|
||||||
<File
|
<File
|
||||||
RelativePath="sound.h">
|
RelativePath="sound.h">
|
||||||
</File>
|
</File>
|
||||||
|
<File
|
||||||
|
RelativePath=".\sprite.h">
|
||||||
|
</File>
|
||||||
<File
|
<File
|
||||||
RelativePath="station.h">
|
RelativePath="station.h">
|
||||||
</File>
|
</File>
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
#include "station.h"
|
#include "station.h"
|
||||||
#include "economy.h"
|
#include "economy.h"
|
||||||
#include "town.h"
|
#include "town.h"
|
||||||
|
#include "sprite.h"
|
||||||
|
|
||||||
typedef struct DrawTileUnmovableStruct {
|
typedef struct DrawTileUnmovableStruct {
|
||||||
uint16 image;
|
uint16 image;
|
||||||
|
|
Loading…
Reference in New Issue