]> git.tdb.fi Git - r2c2.git/blobdiff - source/libr2c2/catalogue.cpp
Support multiple TrackAppearances in Catalogue
[r2c2.git] / source / libr2c2 / catalogue.cpp
index cfd5d6425f29d971bc116d96c72cfe0307eb4468..2afe4eaa14885cee663de30af2475648e9486ab4 100644 (file)
@@ -20,6 +20,7 @@ Catalogue::Catalogue():
        add_type<SignalType>();
        add_type<VehicleType>();
        add_type<TerrainType>();
+       add_type<TrackAppearance>().keyword("track_appearance");
 }
 
 
@@ -32,7 +33,6 @@ Catalogue::Loader::Loader(Catalogue &c):
        add("signal", &Loader::signal);
        add("terrain", &Loader::terrain);
        add("track", &Loader::track);
-       add("track_appearance", &Loader::track_appearance);
        add("vehicle", &Loader::vehicle);
 }
 
@@ -64,17 +64,12 @@ void Catalogue::Loader::terrain(const string &n)
 
 void Catalogue::Loader::track(const string &n)
 {
-       RefPtr<TrackType> trk = new TrackType(n, &cat.appearance);
-       load_sub(*trk);
+       RefPtr<TrackType> trk = new TrackType(n);
+       load_sub(*trk, cat);
        cat.add(n, trk.get());
        trk.release();
 }
 
-void Catalogue::Loader::track_appearance()
-{
-       load_sub(cat.appearance);
-}
-
 void Catalogue::Loader::vehicle(const string &n)
 {
        RefPtr<VehicleType> veh = new VehicleType(n);