Title: Deferred pak loading (for maps) Post by: fromhell on June 20, 2014, 10:04:53 PM Say you have a bunch of map pk3s placed in a maps/ subfolder in baseoa. It'd only load the relevant ones:
1. When not in-game, it loads PAK's .arena, and levelshot/ and maps/ indexes only, and tracks the PK3 path of those files as a map pak file 2. When the engine loads a map of that, get the name of the PK3 used for that map file and load all indexes of that map's pak 3. Don't load other maps' PK3s when in-game. Benefits I can think of: - Avoids script/ override accidents (broken shaders with some maps) - Avoids potential unintended texture replacement outside the context of playing the map, if the map happens to include textures of similar file names, or do something really odd like replace weapon skins and effects (there are some that do that) - Can possibly improve startup/loading times since there's less loaded file indexes to seek files from - cleans out loaded pak requirements massively, nice for pure server autodownloading - Can open the door for quicker loading maps by packing only the used textures with the map pak, similar to most DVD+ console games' handling of data Problems I can think of: - Breaks certain player models that ship with maps (like Chronic.pk3) Title: Re: Deferred pak loading (for maps) Post by: Gig on June 21, 2014, 03:33:28 AM Nope. I will rewrite this post from a PC in the next days.
Gig from cell phone. Title: Re: Deferred pak loading (for maps) Post by: grey matter on June 21, 2014, 04:40:21 AM How would that work with all of the existing and slightly different map pk3s?
Title: Re: Deferred pak loading (for maps) Post by: Suicizer on June 21, 2014, 02:27:15 PM Say you have a bunch of map pk3s placed in a maps/ subfolder in baseoa. It'd only load the relevant ones: 1. When not in-game, it loads PAK's .arena, and levelshot/ and maps/ indexes only, and tracks the PK3 path of those files as a map pak file 2. When the engine loads a map of that, get the name of the PK3 used for that map file and load all indexes of that map's pak 3. Don't load other maps' PK3s when in-game. Benefits I can think of: - Avoids script/ override accidents (broken shaders with some maps) - Avoids potential unintended texture replacement outside the context of playing the map, if the map happens to include textures of similar file names, or do something really odd like replace weapon skins and effects (there are some that do that) - Can possibly improve startup/loading times since there's less loaded file indexes to seek files from - cleans out loaded pak requirements massively, nice for pure server autodownloading - Can open the door for quicker loading maps by packing only the used textures with the map pak, similar to most DVD+ console games' handling of data Problems I can think of: - Breaks certain player models that ship with maps (like Chronic.pk3) Wut? Why would the engine look at every file if it is being used within some concept on a map? That sounds quite odd... |