summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrubidium <rubidium@openttd.org>2010-08-28 17:35:00 +0000
committerrubidium <rubidium@openttd.org>2010-08-28 17:35:00 +0000
commit6348aa796471fd7f88772b4db4b0005707a59db8 (patch)
tree986620441714a88f962942f6a2e0387bb7622202 /src
parentf9a9b0ed4aa6c7496bf5be49a9886b27ff01a979 (diff)
downloadopenttd-6348aa796471fd7f88772b4db4b0005707a59db8.tar.xz
(svn r20650) -Codechange: add some variables to the object's spec
Diffstat (limited to 'src')
-rw-r--r--src/newgrf_object.h8
-rw-r--r--src/table/object_land.h12
2 files changed, 14 insertions, 6 deletions
diff --git a/src/newgrf_object.h b/src/newgrf_object.h
index 5946ae397..da2874c3c 100644
--- a/src/newgrf_object.h
+++ b/src/newgrf_object.h
@@ -12,9 +12,11 @@
#ifndef NEWGRF_OBJECT_H
#define NEWGRF_OBJECT_H
+#include "date_type.h"
#include "economy_func.h"
#include "strings_type.h"
#include "object_type.h"
+#include "newgrf_animation_type.h"
#include "newgrf_class.h"
#include "newgrf_commons.h"
@@ -55,10 +57,16 @@ struct ObjectSpec {
ObjectClassID cls_id; ///< The class to which this spec belongs.
StringID name; ///< The name for this object.
+ uint8 climate; ///< In which climates is this object available?
uint8 size; ///< The size of this objects; low nibble for X, high nibble for Y.
uint8 build_cost_multiplier; ///< Build cost multiplier per tile.
uint8 clear_cost_multiplier; ///< Clear cost multiplier per tile.
+ Date introduction_date; ///< From when can this object be built.
+ Date end_of_life_date; ///< When can't this object be built anymore.
ObjectFlags flags; ///< Flags/settings related to the object.
+ AnimationInfo animation; ///< Information about the animation.
+ uint16 callback_mask; ///< Bitmask of requested/allowed callbacks.
+ uint8 height; ///< The height of this structure, in heightlevels; max MAX_TILE_HEIGHT.
bool enabled; ///< Is this spec enabled?
/**
diff --git a/src/table/object_land.h b/src/table/object_land.h
index a5b2a985f..e9d855dca 100644
--- a/src/table/object_land.h
+++ b/src/table/object_land.h
@@ -123,15 +123,15 @@ static const DrawTileSprites _object_hq[] = {
#undef TILE_SPRITE_LINE
-#define M(name, size, build_cost_multiplier, clear_cost_multiplier, flags) { GRFFilePropsBase<2>(), INVALID_OBJECT_CLASS, name, size, build_cost_multiplier, clear_cost_multiplier, flags, true }
+#define M(name, size, build_cost_multiplier, clear_cost_multiplier, height, flags) { GRFFilePropsBase<2>(), INVALID_OBJECT_CLASS, name, 0xF, size, 0, 0, build_cost_multiplier, clear_cost_multiplier, flags, {0, 0, 0, 0}, 0, height, true }
/** Specification of the original object structures. */
extern const ObjectSpec _original_objects[] = {
- M(STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER, 0x11, 0, 0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_SCENEDIT),
- M(STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE, 0x11, 0, 0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_SCENEDIT),
- M(STR_TOWN_BUILDING_NAME_STATUE_1, 0x11, 0, 0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_ONLY_IN_SCENEDIT), // Yes, we disallow building this everywhere. Happens in "special" case!
- M(STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND, 0x11, 10, 2, OBJECT_FLAG_AUTOREMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_CLEAR_INCOME | OBJECT_FLAG_HAS_NO_FOUNDATION | OBJECT_FLAG_ALLOW_UNDER_BRIDGE),
- M(STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS, 0x22, 0, 0, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME),
+ M(STR_LAI_OBJECT_DESCRIPTION_TRANSMITTER, 0x11, 0, 0, 10, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_SCENEDIT),
+ M(STR_LAI_OBJECT_DESCRIPTION_LIGHTHOUSE, 0x11, 0, 0, 8, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_SCENEDIT),
+ M(STR_TOWN_BUILDING_NAME_STATUE_1, 0x11, 0, 0, 5, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_ONLY_IN_SCENEDIT), // Yes, we disallow building this everywhere. Happens in "special" case!
+ M(STR_LAI_OBJECT_DESCRIPTION_COMPANY_OWNED_LAND, 0x11, 10, 2, 0, OBJECT_FLAG_AUTOREMOVE | OBJECT_FLAG_ONLY_IN_GAME | OBJECT_FLAG_CLEAR_INCOME | OBJECT_FLAG_HAS_NO_FOUNDATION | OBJECT_FLAG_ALLOW_UNDER_BRIDGE),
+ M(STR_LAI_OBJECT_DESCRIPTION_COMPANY_HEADQUARTERS, 0x22, 0, 0, 7, OBJECT_FLAG_CANNOT_REMOVE | OBJECT_FLAG_ONLY_IN_GAME),
};
#undef M