]> git.tdb.fi Git - r2c2.git/blobdiff - source/designer/designer.cpp
Store zone blocks in order and use add_tracks to load them
[r2c2.git] / source / designer / designer.cpp
index 744f975799f32c0834457df1104dd4b012e52b24..511c901b5d5b3c70aa9ef086f775ff4ca72cf302 100644 (file)
@@ -49,7 +49,7 @@ Designer::Designer(int argc, char **argv):
        window(1280, 960),
        keyboard(window),
        mouse(window),
-       ui_res("r2c2.res"),
+       ui_res("data/r2c2.res"),
        root(ui_res, &window, &keyboard, &mouse),
        base_object(0),
        cur_route(0),
@@ -63,13 +63,14 @@ Designer::Designer(int argc, char **argv):
        window.signal_close.connect(sigc::bind(sigc::mem_fun(this, &Designer::exit), 0));
 
        // Setup catalogue and layout
-       DataFile::load(catalogue, "tracks.dat");
-       DataFile::load(catalogue, "terrain.dat");
+       catalogue.add_source("data/Märklin/H0");
 
        cat_layout_3d = new Layout3D(catalogue.get_layout());
 
        layout = new Layout(catalogue);
+       layout->get_clock().set_current_time(12*Time::hour);
        layout_3d = new Layout3D(*layout);
+       layout_3d->tick();
 
        if(argc>1)
        {
@@ -519,7 +520,7 @@ Object *Designer::pick_object(const Vector &pointer)
        const GL::Vector3 &cpos = view.get_camera().get_position();
        GL::Vector4 cray = view.get_camera().unproject(GL::Vector4(pointer.x, pointer.y, 0, 0));
 
-       return view.get_layout().get_layout().pick<Object>(Ray(cpos, Vector(cray)));
+       return view.get_layout().get_layout().pick<Object>(Ray(cpos, cray.slice<3>(0)));
 }
 
 void Designer::update_object_icon(Object &obj)