--- a/io.cpp Fri Mar 15 20:39:29 2013 +0200 +++ b/io.cpp Fri Mar 15 20:52:34 2013 +0200 @@ -4,6 +4,8 @@ #include "io.h" #include "ldtypes.h" #include "misc.h" +#include "gui.h" +#include "bbox.h" // ============================================================================= // IO_FindLoadedFile (str) @@ -23,11 +25,11 @@ } // ============================================================================= -// IO_ParseLDFile (str) +// IO_OpenLDrawFile (str) // // Opens the given file and parses the LDraw code within. // ============================================================================= -OpenFile* IO_ParseLDFile (str path) { +OpenFile* IO_OpenLDrawFile (str path) { FILE* fp = fopen (path.chars (), "r"); if (!fp) { @@ -58,7 +60,15 @@ load->objects.push_back (ParseLine (lines[i])); g_LoadedFiles.push_back (load); - return g_LoadedFiles[g_LoadedFiles.size() - 1]; + g_CurrentFile = g_LoadedFiles[g_LoadedFiles.size() - 1]; + + // Recalculate the bounding box + g_BBox.calculate(); + + // Rebuild the object tree view now. + g_qWindow->buildObjList (); + + return g_CurrentFile; } // =============================================================================