Files
cell/scripts/resources.js
2025-01-25 17:15:25 -06:00

59 lines
1.2 KiB
JavaScript

var Resources = {}
var so_ext;
switch(os.sys()) {
case 'Windows':
so_ext = '.dll';
break;
default:
so_ext = '.so';
break;
}
Resources.scripts = ["jsoc", "jsc", "jso", "js"]
Resources.images = ["qoi", "png", "gif", "jpg", "jpeg", "ase", "aseprite"]
Resources.sounds = ["wav", "flac", "mp3", "qoa"]
Resources.fonts = ["ttf"]
Resources.lib = [so_ext]
Resources.canonical = function(file)
{
return io.realdir(file) + file
}
// ext is a list of extensions to search
// returns the file to load
function find_ext(file, ext) {
if (!file) return;
var file_ext = file.ext()
if (file_ext && ext.some(e => e === file_ext))
if (io.exists(file)) return file
for (var e of ext) {
var attempt = `${file}.${e}`;
if (io.exists(attempt)) return attempt
}
return undefined
}
Resources.find_image = function (file) {
return find_ext(file, Resources.images);
}.hashify();
Resources.find_sound = function (file) {
return find_ext(file, Resources.sounds);
}.hashify();
Resources.find_script = function (file) {
return find_ext(file, Resources.scripts);
}.hashify();
Resources.find_font = function(file) {
return find_ext(file, Resources.fonts);
}.hashify();
return Resources