Sandbox Main_map's shader cache includes a compressed_shader_cache.sack in addition to terrain_shaders_header_data.bin. Any worldmap saved from the scene editor only saves a terrain_shaders_header_data.bin file. Running a custom worldmap in-game without a compressed_shader_cache.sack fills the rgl log with missing shader warnings (i.e. pbr_terrain, pbr_terrain_gbuffer, pbr_terrain_shadowmap etc.). The rgl log implies that sometimes the missing shaders are compiled on the fly and sometimes not. Running a custom worldmap with a copy of the Sandbox compressed_shader_cache.sack eliminates missing shader warnings from the rgl log. Clearly, we need to copy the sandbox compressed_shader_cache.sack into our custom worldmap's shader cache. However, every time we save a worldmap from the scene editor, it wipes the contents of that scene's shader cache and only writes a terrain_shaders_header_data.bin, requiring a manual copy and paste after every edit.
I understand that Taleworlds only built one worldmap, but modders need scene editor saves to include a compressed_shader_cache.sack, if the scene is marked as a worldmap, or for the scene editor not to wipe everything in the scene's previous shader cache and only overwrite its terrain_shaders_header_data.bin.
This issue may be further complicated when modders can create custom shaders, which will not be included in the Sandbox compressed_shader_cache.sack. I have no idea how to create a custom compressed_shader_cache.sack.
EDIT: On loading Sandbox Main_map into the scene editor merely to inspect its Navmesh, without saving it, the editor appears to have deleted its compressed_shader_cache.sack on exit. If correct, that's even more worrying.
I understand that Taleworlds only built one worldmap, but modders need scene editor saves to include a compressed_shader_cache.sack, if the scene is marked as a worldmap, or for the scene editor not to wipe everything in the scene's previous shader cache and only overwrite its terrain_shaders_header_data.bin.
This issue may be further complicated when modders can create custom shaders, which will not be included in the Sandbox compressed_shader_cache.sack. I have no idea how to create a custom compressed_shader_cache.sack.
EDIT: On loading Sandbox Main_map into the scene editor merely to inspect its Navmesh, without saving it, the editor appears to have deleted its compressed_shader_cache.sack on exit. If correct, that's even more worrying.
Last edited: