(svn r1981) Typedef some structs and enums
This commit is contained in:
91
newgrf.c
91
newgrf.c
@@ -26,7 +26,8 @@ extern int _replace_sprites_count[16];
|
||||
extern int _replace_sprites_offset[16];
|
||||
extern int _traininfo_vehicle_pitch;
|
||||
|
||||
struct GRFFile *_cur_grffile, *_first_grffile;
|
||||
GRFFile *_cur_grffile;
|
||||
GRFFile *_first_grffile;
|
||||
int _grffile_count;
|
||||
static int _cur_spriteid;
|
||||
static int _cur_stage;
|
||||
@@ -39,7 +40,7 @@ static int _param_max;
|
||||
static uint32 _ttdpatch_flags[8];
|
||||
|
||||
|
||||
enum grfspec_feature {
|
||||
typedef enum grfspec_feature {
|
||||
GSF_TRAIN,
|
||||
GSF_ROAD,
|
||||
GSF_SHIP,
|
||||
@@ -47,7 +48,7 @@ enum grfspec_feature {
|
||||
GSF_STATION,
|
||||
GSF_BRIDGE,
|
||||
GSF_TOWNHOUSE,
|
||||
};
|
||||
} grfspec_feature;
|
||||
|
||||
|
||||
typedef void (*SpecialSpriteHandler)(byte *buf, int len);
|
||||
@@ -83,22 +84,27 @@ static const int _vehshifts[4] = {
|
||||
*/
|
||||
|
||||
|
||||
enum grfmsg_severity {
|
||||
typedef enum grfmsg_severity {
|
||||
GMS_NOTICE,
|
||||
GMS_WARN,
|
||||
GMS_ERROR,
|
||||
GMS_FATAL,
|
||||
};
|
||||
} grfmsg_severity;
|
||||
|
||||
static void CDECL grfmsg(enum grfmsg_severity severity, const char *str, ...)
|
||||
static void CDECL grfmsg(grfmsg_severity severity, const char *str, ...)
|
||||
{
|
||||
static const char * const severitystr[4] = { "Notice", "Warning", "Error", "Fatal" };
|
||||
static const char* const severitystr[] = {
|
||||
"Notice",
|
||||
"Warning",
|
||||
"Error",
|
||||
"Fatal"
|
||||
};
|
||||
int export_severity = 0;
|
||||
char buf[1024];
|
||||
va_list va;
|
||||
|
||||
va_start(va, str);
|
||||
vsprintf(buf, str, va);
|
||||
vsnprintf(buf, sizeof(buf), str, va);
|
||||
va_end(va);
|
||||
|
||||
export_severity = 2 - (severity == GMS_FATAL ? 2 : severity);
|
||||
@@ -144,25 +150,23 @@ static uint16 grf_load_dword(byte **buf)
|
||||
}
|
||||
|
||||
|
||||
static struct GRFFile *GetFileByGRFID(uint32 grfid)
|
||||
static GRFFile *GetFileByGRFID(uint32 grfid)
|
||||
{
|
||||
struct GRFFile *file;
|
||||
|
||||
file = _first_grffile;
|
||||
while ((file != NULL) && (file->grfid != grfid))
|
||||
file = file->next;
|
||||
GRFFile *file;
|
||||
|
||||
for (file = _first_grffile; file != NULL; file = file->next) {
|
||||
if (file->grfid == grfid) break;
|
||||
}
|
||||
return file;
|
||||
}
|
||||
|
||||
static struct GRFFile *GetFileByFilename(const char *filename)
|
||||
static GRFFile *GetFileByFilename(const char *filename)
|
||||
{
|
||||
struct GRFFile *file;
|
||||
|
||||
file = _first_grffile;
|
||||
while ((file != NULL) && strcmp(file->filename, filename))
|
||||
file = file->next;
|
||||
GRFFile *file;
|
||||
|
||||
for (file = _first_grffile; file != NULL; file = file->next) {
|
||||
if (strcmp(file->filename, filename) == 0) break;
|
||||
}
|
||||
return file;
|
||||
}
|
||||
|
||||
@@ -683,7 +687,7 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int
|
||||
case 0x08:
|
||||
{ /* Class ID */
|
||||
FOR_EACH_OBJECT {
|
||||
struct StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
uint32 classid;
|
||||
|
||||
/* classid, for a change, is always little-endian */
|
||||
@@ -714,7 +718,7 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int
|
||||
case 0x09:
|
||||
{ /* Define sprite layout */
|
||||
FOR_EACH_OBJECT {
|
||||
struct StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
int t;
|
||||
|
||||
stat->tiles = grf_load_byte(&buf);
|
||||
@@ -759,9 +763,9 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int
|
||||
case 0x0a:
|
||||
{ /* Copy sprite layout */
|
||||
FOR_EACH_OBJECT {
|
||||
struct StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
byte srcid = grf_load_byte(&buf);
|
||||
struct StationSpec *srcstat = &_cur_grffile->stations[srcid];
|
||||
StationSpec *srcstat = &_cur_grffile->stations[srcid];
|
||||
int t;
|
||||
|
||||
stat->tiles = srcstat->tiles;
|
||||
@@ -805,7 +809,7 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int
|
||||
case 0x0C:
|
||||
{ /* Platforms number */
|
||||
FOR_EACH_OBJECT {
|
||||
struct StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
|
||||
stat->allowed_platforms = ~grf_load_byte(&buf);
|
||||
}
|
||||
@@ -814,7 +818,7 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int
|
||||
case 0x0D:
|
||||
{ /* Platforms length */
|
||||
FOR_EACH_OBJECT {
|
||||
struct StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
|
||||
stat->allowed_lengths = ~grf_load_byte(&buf);
|
||||
}
|
||||
@@ -823,7 +827,7 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int
|
||||
case 0x0e:
|
||||
{ /* Define custom layout */
|
||||
FOR_EACH_OBJECT {
|
||||
struct StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
StationSpec *stat = &_cur_grffile->stations[stid + i];
|
||||
|
||||
while (buf < *bufp + len) {
|
||||
byte length = grf_load_byte(&buf);
|
||||
@@ -917,8 +921,6 @@ static bool StationChangeInfo(uint stid, int numinfo, int prop, byte **bufp, int
|
||||
return ret;
|
||||
}
|
||||
|
||||
#undef shift_buf
|
||||
|
||||
|
||||
/* Action 0x00 */
|
||||
static void VehicleChangeInfo(byte *buf, int len)
|
||||
@@ -1048,7 +1050,6 @@ ignoring:
|
||||
}
|
||||
}
|
||||
}
|
||||
#undef shift_buf
|
||||
}
|
||||
|
||||
#undef FOR_EACH_OBJECT
|
||||
@@ -1105,8 +1106,8 @@ static void NewSpriteGroup(byte *buf, int len)
|
||||
/* XXX: For stations, these two are "little cargo" and "lotsa cargo" sets. */
|
||||
uint8 numloaded;
|
||||
uint8 numloading;
|
||||
struct SpriteGroup *group;
|
||||
struct RealSpriteGroup *rg;
|
||||
SpriteGroup *group;
|
||||
RealSpriteGroup *rg;
|
||||
byte *loaded_ptr;
|
||||
byte *loading_ptr;
|
||||
int i;
|
||||
@@ -1118,7 +1119,7 @@ static void NewSpriteGroup(byte *buf, int len)
|
||||
numloading = buf[4];
|
||||
|
||||
if (numloaded == 0x81 || numloaded == 0x82) {
|
||||
struct DeterministicSpriteGroup *dg;
|
||||
DeterministicSpriteGroup *dg;
|
||||
uint16 groupid;
|
||||
int i;
|
||||
|
||||
@@ -1132,11 +1133,11 @@ static void NewSpriteGroup(byte *buf, int len)
|
||||
|
||||
if (setid >= _cur_grffile->spritegroups_count) {
|
||||
_cur_grffile->spritegroups_count = setid + 1;
|
||||
_cur_grffile->spritegroups = realloc(_cur_grffile->spritegroups, _cur_grffile->spritegroups_count * sizeof(struct SpriteGroup));
|
||||
_cur_grffile->spritegroups = realloc(_cur_grffile->spritegroups, _cur_grffile->spritegroups_count * sizeof(*_cur_grffile->spritegroups));
|
||||
}
|
||||
|
||||
group = &_cur_grffile->spritegroups[setid];
|
||||
memset(group, 0, sizeof(struct SpriteGroup));
|
||||
memset(group, 0, sizeof(*group));
|
||||
group->type = SGT_DETERMINISTIC;
|
||||
dg = &group->g.determ;
|
||||
|
||||
@@ -1190,7 +1191,7 @@ static void NewSpriteGroup(byte *buf, int len)
|
||||
return;
|
||||
|
||||
} else if (numloaded == 0x80 || numloaded == 0x83) {
|
||||
struct RandomizedSpriteGroup *rg;
|
||||
RandomizedSpriteGroup *rg;
|
||||
int i;
|
||||
|
||||
/* This stuff is getting actually evaluated in
|
||||
@@ -1202,7 +1203,7 @@ static void NewSpriteGroup(byte *buf, int len)
|
||||
|
||||
if (setid >= _cur_grffile->spritegroups_count) {
|
||||
_cur_grffile->spritegroups_count = setid + 1;
|
||||
_cur_grffile->spritegroups = realloc(_cur_grffile->spritegroups, _cur_grffile->spritegroups_count * sizeof(struct SpriteGroup));
|
||||
_cur_grffile->spritegroups = realloc(_cur_grffile->spritegroups, _cur_grffile->spritegroups_count * sizeof(*_cur_grffile->spritegroups));
|
||||
}
|
||||
|
||||
group = &_cur_grffile->spritegroups[setid];
|
||||
@@ -1268,10 +1269,10 @@ static void NewSpriteGroup(byte *buf, int len)
|
||||
|
||||
if (setid >= _cur_grffile->spritegroups_count) {
|
||||
_cur_grffile->spritegroups_count = setid + 1;
|
||||
_cur_grffile->spritegroups = realloc(_cur_grffile->spritegroups, _cur_grffile->spritegroups_count * sizeof(struct SpriteGroup));
|
||||
_cur_grffile->spritegroups = realloc(_cur_grffile->spritegroups, _cur_grffile->spritegroups_count * sizeof(*_cur_grffile->spritegroups));
|
||||
}
|
||||
group = &_cur_grffile->spritegroups[setid];
|
||||
memset(group, 0, sizeof(struct SpriteGroup));
|
||||
memset(group, 0, sizeof(*group));
|
||||
group->type = SGT_REAL;
|
||||
rg = &group->g.real;
|
||||
|
||||
@@ -1347,7 +1348,7 @@ static void NewVehicle_SpriteGroupMapping(byte *buf, int len)
|
||||
|
||||
for (i = 0; i < idcount; i++) {
|
||||
uint8 stid = buf[3 + i];
|
||||
struct StationSpec *stat = &_cur_grffile->stations[stid];
|
||||
StationSpec *stat = &_cur_grffile->stations[stid];
|
||||
byte *bp = &buf[4 + idcount];
|
||||
|
||||
for (c = 0; c < cidcount; c++) {
|
||||
@@ -1381,7 +1382,7 @@ static void NewVehicle_SpriteGroupMapping(byte *buf, int len)
|
||||
|
||||
for (i = 0; i < idcount; i++) {
|
||||
uint8 stid = buf[3 + i];
|
||||
struct StationSpec *stat = &_cur_grffile->stations[stid];
|
||||
StationSpec *stat = &_cur_grffile->stations[stid];
|
||||
|
||||
stat->spritegroup[0] = _cur_grffile->spritegroups[groupid];
|
||||
stat->grfid = _cur_grffile->grfid;
|
||||
@@ -1639,7 +1640,7 @@ static void SkipIf(byte *buf, int len)
|
||||
param_val = _opt.road_side << 4;
|
||||
break;
|
||||
case 0x88: { /* see if specified GRFID is active */
|
||||
struct GRFFile *file;
|
||||
GRFFile *file;
|
||||
|
||||
file = GetFileByGRFID(cond_val);
|
||||
param_val = (file != NULL);
|
||||
@@ -1959,7 +1960,7 @@ static void GRFInhibit(byte *buf, int len)
|
||||
|
||||
for (i = 0; i < num; i++) {
|
||||
uint32 grfid = grf_load_dword(&buf);
|
||||
struct GRFFile *file = GetFileByGRFID(grfid);
|
||||
GRFFile *file = GetFileByGRFID(grfid);
|
||||
|
||||
/* Unset activation flag */
|
||||
if (file != NULL) {
|
||||
@@ -1996,7 +1997,7 @@ static void InitializeGRFSpecial(void)
|
||||
|
||||
void InitNewGRFFile(const char *filename, int sprite_offset)
|
||||
{
|
||||
struct GRFFile *newfile;
|
||||
GRFFile *newfile;
|
||||
|
||||
newfile = GetFileByFilename(filename);
|
||||
if (newfile != NULL) {
|
||||
@@ -2006,7 +2007,7 @@ void InitNewGRFFile(const char *filename, int sprite_offset)
|
||||
return;
|
||||
}
|
||||
|
||||
newfile = calloc(1, sizeof(struct GRFFile));
|
||||
newfile = calloc(1, sizeof(*newfile));
|
||||
|
||||
if (newfile == NULL)
|
||||
error ("Out of memory");
|
||||
|
||||
Reference in New Issue
Block a user