ID:100622
 
Redundant
Applies to:BYOND Pager
Status: Redundant

This feature has already been implemented, or is already achievable with existing methods.
I have an audio file that I played in a particular game. I then renamed the file and replayed it. The name of the song, output to the world, showed up as the original title before I decided to rename it. I went to a different BYOND game and played the same song, and the original title still appeared on standard output. I realize now that the audio file was stored away in two separate locations for later retrieval. One was the BYOND cache, the other was the .dyn (resource file) specific to the game it was played in. Supposing I want to display the up-to-date title of the file, and perhaps other attributes of its belonging of which I am not yet aware, I must delete the file from both memory locations. It should also be noted that the .dyn file specific to the game cannot be removed until all sessions of the game are terminated. So to update the song fully in a game, I would need to ensure the world is shut down and that the client-side .dyn file is deleted along with identical files found within the BYOND cache (if at all possible).

For cases such as this (rare as they may be, but still occurrent), it may be useful to have some kind of built-in function handy that clears all caches and resource files, and another that clears a cache specific to a game selected by the user. The "Clear [game] Cache" would remove the .dyn file from the client's end and remove any "duplicate" files found within the BYOND cache. More specifically, a temporary list can be created to hold all files found within the client-side .dyn file. Then search through the BYOND cache and remove any files found within that match the files contained in the list. For instance, an audio file titled "audio.mid" is found within the client-side .dyn file. That file would then be removed from the .dyn file and from the BYOND cache when "Clear [game] Cache" is invoked. The "Clear Cache" button found in the pager should then not only wipe the BYOND cache, but all client-side .dyn files as well, thus allowing all audio files to be updated when played in any particular game. An audio file would be treated as new (causing it to update) when it is not found in the client-side .dyn file nor within the BYOND cache.
Or it could just properly update the file in the first place
True, checking the file's attributes to see if anything has changed would suffice. If anything has changed, create a new instance of it in the cache and delete the old one.
.dyn.rsc files are not stored on the client, only on the server. Sound file behavior in the cache has been much improved though so I think it's safe to close this request.