author | belugas |
Thu, 24 May 2007 01:12:00 +0000 | |
changeset 7171 | 87515d9cb3e6 |
parent 7170 | bd34b6d0e4f1 |
child 7172 | 40781792e25f |
src/industry.h | file | annotate | diff | comparison | revisions | |
src/table/build_industry.h | file | annotate | diff | comparison | revisions |
--- a/src/industry.h Wed May 23 17:33:03 2007 +0000 +++ b/src/industry.h Thu May 24 01:12:00 2007 +0000 @@ -14,7 +14,8 @@ enum { INVALID_INDUSTRY = 0xFFFF, NUM_INDUSTRYTYPES = 37, - INDUTILE_NOANIM = 0xFF, ///< flag to mark industry tiles as having no animation + INDUTILE_NOANIM = 0xFF, ///< flag to mark industry tiles as having no animation + INVALID_INDUSTRYTYPE = NUM_INDUSTRYTYPES, ///< one above amount is considered invalid }; enum IndustryLifeType { @@ -91,6 +92,16 @@ IndustryGfx gfx; }; +/** Data related to the handling of grf files. Common to both industry and industry tile */ +struct GRFFileProps { + uint8 subst_id; + uint16 local_id; ///< id defined by the grf file for this industry + struct SpriteGroup *spritegroup; ///< pointer to the different sprites of the industry + const struct GRFFile *grffile; ///< grf file that introduced this house + uint8 override; ///< id of the entity been replaced by + bool enabled; ///< entity still avaible (by default true).newgrf can disable it, though +}; + /** * Defines the data structure for constructing industry. */ @@ -119,11 +130,9 @@ byte appear_creation[NUM_LANDSCAPE]; ///< Probability of appearance during map creation uint8 number_of_sounds; ///< Number of sounds available in the sounds array const uint8 *random_sounds; ///< array of random sounds. - /* Newgrf stuff coming in */ + /* Newgrf data */ uint16 callback_flags; ///< Flags telling which grf callback is set - byte subst_id; - uint32 grfid; - byte override; + struct GRFFileProps grf_prop; ///< properties related the the grf file }; /** @@ -136,6 +145,9 @@ byte anim_next; ///< Next frame in an animation bool anim_state; ///< When true, the tile has to be drawn using the animation ///< state instead of the construction state + /* Newgrf data */ + uint8 callback_flags; ///< Flags telling which grf callback is set + struct GRFFileProps grf_prop; }; /* industry_cmd.cpp*/
--- a/src/table/build_industry.h Wed May 23 17:33:03 2007 +0000 +++ b/src/table/build_industry.h Thu May 24 01:12:00 2007 +0000 @@ -1133,9 +1133,9 @@ #define MI(tbl, sndc, snd, d, ai1, ai2, ai3, ai4, ag1, ag2, ag3, ag4, col, \ c1, c2, c3, proc, p1, r1, p2, r2, m, a1, im1, a2, im2, a3, im3, pr, clim, bev, in, intx, s1, s2, s3) \ - {tbl, lengthof(tbl), d, {c1, c2, c3}, proc, {p1, p2}, {r1, r2}, m, \ - {a1, a2, a3}, {{im1, 0}, {im2, 0}, {im3, 0}}, pr, clim, bev, col, in, intx, s1, s2, s3, {ai1, ai2, ai3, ai4}, {ag1, ag2, ag3, ag4}, sndc, snd, 0, 0, 0, 0} - + {tbl, lengthof(tbl), d, {c1, c2, c3}, proc, {p1, p2}, {r1, r2}, m, \ + {a1, a2, a3}, {{im1, 0}, {im2, 0}, {im3, 0}}, pr, clim, bev, col, in, intx, s1, s2, s3, {ai1, ai2, ai3, ai4}, {ag1, ag2, ag3, ag4}, \ + sndc, snd, 0, {0, 0, NULL, NULL, INVALID_INDUSTRYTYPE, true}} static const IndustrySpec _industry_specs[] = { /* Format: tile table count and sounds table @@ -1527,7 +1527,7 @@ * @param a2 next frame of animation * @param a3 chooses between animation or construction state */ -#define MT(c1, c2, c3, sl, a1, a2, a3) {{c1, c2, c3}, sl, a1, a2, a3} +#define MT(c1, c2, c3, sl, a1, a2, a3) {{c1, c2, c3}, sl, a1, a2, a3, 0, {0, 0, NULL, NULL, 0, true}} static const IndustryTileSpec _industry_tile_specs[] = { /* Coal Mine */ MT(CT_INVALID, CT_INVALID, CT_INVALID, SLOPE_STEEP, INDUTILE_NOANIM, INDUTILE_NOANIM, false),