--- a/Makefile Fri Jul 29 21:55:49 2005 +0000
+++ b/Makefile Fri Jul 29 22:13:04 2005 +0000
@@ -670,7 +670,6 @@
C_SOURCES += rail.c
C_SOURCES += rail_cmd.c
C_SOURCES += rail_gui.c
-C_SOURCES += railtypes.c
C_SOURCES += rev.c
C_SOURCES += road_cmd.c
C_SOURCES += road_gui.c
--- a/rail.h Fri Jul 29 21:55:49 2005 +0000
+++ b/rail.h Fri Jul 29 22:13:04 2005 +0000
@@ -161,7 +161,7 @@
byte compatible_railtypes;
} RailtypeInfo;
-RailtypeInfo railtypes[RAILTYPE_END];
+extern const RailtypeInfo _railtypes[RAILTYPE_END];
// these are the maximums used for updating signal blocks, and checking if a depot is in a pbs block
enum {
@@ -528,10 +528,10 @@
* @param railtype the rail type which the information is requested for
* @return The pointer to the RailtypeInfo
*/
-static inline RailtypeInfo *GetRailTypeInfo(RailType railtype)
+static inline const RailtypeInfo *GetRailTypeInfo(RailType railtype)
{
assert(railtype < RAILTYPE_END);
- return &railtypes[railtype];
+ return &_railtypes[railtype];
}
/**
--- a/rail_cmd.c Fri Jul 29 21:55:49 2005 +0000
+++ b/rail_cmd.c Fri Jul 29 22:13:04 2005 +0000
@@ -22,6 +22,7 @@
#include "waypoint.h"
#include "npf.h"
#include "rail.h"
+#include "railtypes.h" // include table for railtypes
extern uint16 _custom_sprites_base;
--- a/railtypes.c Fri Jul 29 21:55:49 2005 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,61 +0,0 @@
-/* $Id: */
-
-#include "stdafx.h"
-#include "openttd.h"
-#include "rail.h"
-#include "table/sprites.h"
-
-/** @file railtypes.c
- * All the railtype-specific information is stored here.
- */
-
-/** Global Railtype definition
- */
-RailtypeInfo railtypes[RAILTYPE_END] = {
- {
- {
- SPR_RAIL_TRACK_Y,
- SPR_RAIL_TRACK_N_S,
- SPR_RAIL_TRACK_BASE,
- SPR_RAIL_SINGLE_Y,
- SPR_RAIL_SINGLE_X,
- SPR_RAIL_SINGLE_NORTH,
- SPR_RAIL_SINGLE_SOUTH,
- SPR_RAIL_SINGLE_EAST,
- SPR_RAIL_SINGLE_WEST
- },
- SPR_RAIL_SNOW_OFFSET,
- (1 << RAILTYPE_RAIL),
- },
- {
- {
- SPR_MONO_TRACK_Y,
- SPR_MONO_TRACK_N_S,
- SPR_MONO_TRACK_BASE,
- SPR_MONO_SINGLE_Y,
- SPR_MONO_SINGLE_X,
- SPR_MONO_SINGLE_NORTH,
- SPR_MONO_SINGLE_SOUTH,
- SPR_MONO_SINGLE_EAST,
- SPR_MONO_SINGLE_WEST
- },
- SPR_MONO_SNOW_OFFSET,
- (1 << RAILTYPE_MONO),
- },
- {
- {
- SPR_MGLV_TRACK_Y,
- SPR_MGLV_TRACK_N_S,
- SPR_MGLV_TRACK_BASE,
- SPR_MGLV_SINGLE_Y,
- SPR_MGLV_SINGLE_X,
- SPR_MGLV_SINGLE_NORTH,
- SPR_MGLV_SINGLE_SOUTH,
- SPR_MGLV_SINGLE_EAST,
- SPR_MGLV_SINGLE_WEST
- },
- SPR_MGLV_SNOW_OFFSET,
- (1 << RAILTYPE_MAGLEV),
- },
-};
-
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/railtypes.h Fri Jul 29 22:13:04 2005 +0000
@@ -0,0 +1,56 @@
+/* $Id: */
+
+/** @file railtypes.h
+ * All the railtype-specific information is stored here.
+ */
+
+/** Global Railtype definition
+ */
+const RailtypeInfo _railtypes[RAILTYPE_END] = {
+ {
+ {
+ SPR_RAIL_TRACK_Y,
+ SPR_RAIL_TRACK_N_S,
+ SPR_RAIL_TRACK_BASE,
+ SPR_RAIL_SINGLE_Y,
+ SPR_RAIL_SINGLE_X,
+ SPR_RAIL_SINGLE_NORTH,
+ SPR_RAIL_SINGLE_SOUTH,
+ SPR_RAIL_SINGLE_EAST,
+ SPR_RAIL_SINGLE_WEST
+ },
+ SPR_RAIL_SNOW_OFFSET,
+ (1 << RAILTYPE_RAIL),
+ },
+ {
+ {
+ SPR_MONO_TRACK_Y,
+ SPR_MONO_TRACK_N_S,
+ SPR_MONO_TRACK_BASE,
+ SPR_MONO_SINGLE_Y,
+ SPR_MONO_SINGLE_X,
+ SPR_MONO_SINGLE_NORTH,
+ SPR_MONO_SINGLE_SOUTH,
+ SPR_MONO_SINGLE_EAST,
+ SPR_MONO_SINGLE_WEST
+ },
+ SPR_MONO_SNOW_OFFSET,
+ (1 << RAILTYPE_MONO),
+ },
+ {
+ {
+ SPR_MGLV_TRACK_Y,
+ SPR_MGLV_TRACK_N_S,
+ SPR_MGLV_TRACK_BASE,
+ SPR_MGLV_SINGLE_Y,
+ SPR_MGLV_SINGLE_X,
+ SPR_MGLV_SINGLE_NORTH,
+ SPR_MGLV_SINGLE_SOUTH,
+ SPR_MGLV_SINGLE_EAST,
+ SPR_MGLV_SINGLE_WEST
+ },
+ SPR_MGLV_SNOW_OFFSET,
+ (1 << RAILTYPE_MAGLEV),
+ },
+};
+