]> git.tdb.fi Git - libs/gl.git/blobdiff - source/resourcemanager.cpp
Give meshes a higher priority when loading
[libs/gl.git] / source / resourcemanager.cpp
index 481e9a176b00b038b04f412f2c841448ba46dad9..7d5d752b2351a3607e17b953212d981cde1c1792 100644 (file)
@@ -106,7 +106,9 @@ void ResourceManager::load_resource(Resource &r)
        if(async_loads)
        {
                managed.state = ManagedResource::LOAD_QUEUED;
-               queue.push_back(&managed);
+               LoadQueue::iterator i;
+               for(i=queue.begin(); (i!=queue.end() && (*i)->load_priority>=managed.load_priority); ++i) ;
+               queue.insert(i, &managed);
        }
        else
        {
@@ -271,6 +273,7 @@ ResourceManager::ResourceLocation::ResourceLocation(DataFile::Collection &c, con
 
 ResourceManager::ManagedResource::ManagedResource(Resource &r):
        resource(&r),
+       load_priority(r.get_load_priority()),
        io(0),
        loader(0),
        state(NOT_LOADED),