Compare commits
3 Commits
23359f2fef
...
cf61dcf39c
Author | SHA1 | Date | |
---|---|---|---|
cf61dcf39c | |||
9681ad0a07 | |||
5069dd65c7 |
@ -17,8 +17,8 @@ static func create_meta_accessor(file_accessors:Array[VFileAccess])->VFileAccess
|
|||||||
var accum:Array[String] = []
|
var accum:Array[String] = []
|
||||||
accum.assign(
|
accum.assign(
|
||||||
file_accessors.reduce(
|
file_accessors.reduce(
|
||||||
(func _merge_files(total:Array[String], current:VFileAccess)->Array[String]:
|
(func _merge_files(total:Array, current:VFileAccess)->Array:
|
||||||
var res:Array[String] = total.duplicate()
|
var res:Array = total.duplicate()
|
||||||
for file:String in current.get_files_at(path):
|
for file:String in current.get_files_at(path):
|
||||||
if not file in total:
|
if not file in total:
|
||||||
res.append(file)
|
res.append(file)
|
||||||
@ -171,13 +171,13 @@ static func create_bulk_readonly_zip_access(
|
|||||||
vfiler._get_files_at = func(path:String)->Array[String]:
|
vfiler._get_files_at = func(path:String)->Array[String]:
|
||||||
if not path.ends_with("/"): # TODO ensure no // as well because that can be problem.
|
if not path.ends_with("/"): # TODO ensure no // as well because that can be problem.
|
||||||
path += "/" # sorry for the mutation
|
path += "/" # sorry for the mutation
|
||||||
var accum:Array[String] = []
|
var accum:Array = []
|
||||||
accum.assign( readers.reduce(
|
accum.assign( readers.reduce(
|
||||||
(func _merge_files(total:Array[String], current:ZIPReader)->Array[String]:
|
(func _merge_files(total:Array, current:ZIPReader)->Array:
|
||||||
var res:Array[String] = total.duplicate()
|
var res:Array = total.duplicate()
|
||||||
var filtered:Array = []
|
var filtered:Array = []
|
||||||
filtered.assign(current.get_files())
|
filtered.assign(current.get_files())
|
||||||
filtered.filter(
|
filtered = filtered.filter(
|
||||||
func _filter_dir(curpath:String)->bool:
|
func _filter_dir(curpath:String)->bool:
|
||||||
return curpath.begins_with(path))
|
return curpath.begins_with(path))
|
||||||
for file:String in filtered:
|
for file:String in filtered:
|
||||||
@ -186,6 +186,8 @@ static func create_bulk_readonly_zip_access(
|
|||||||
if not file in total and not stripped_file.contains("/"):
|
if not file in total and not stripped_file.contains("/"):
|
||||||
res.append(file)
|
res.append(file)
|
||||||
return res) ,[]))
|
return res) ,[]))
|
||||||
return accum
|
var out_accum:Array[String] = []
|
||||||
|
out_accum.assign(accum)
|
||||||
|
return out_accum
|
||||||
|
|
||||||
return vfiler
|
return vfiler
|
||||||
|
2
vfs.gd
2
vfs.gd
@ -94,7 +94,7 @@ func load_supported(path:String, ext_override:String = "")->Variant:
|
|||||||
|
|
||||||
var buffer := get_buffer(path)
|
var buffer := get_buffer(path)
|
||||||
var result:Variant = supported_files[ext].call(buffer)
|
var result:Variant = supported_files[ext].call(buffer)
|
||||||
if not is_instance_valid(result):
|
if not is_instance_valid(result) and result is not String:
|
||||||
push_warning("%s loader tried loading '%s' but received null. Does the file exist?"
|
push_warning("%s loader tried loading '%s' but received null. Does the file exist?"
|
||||||
% [ext, abs_path])
|
% [ext, abs_path])
|
||||||
|
|
||||||
|
@ -29,9 +29,7 @@ static func load_mp3(buffer:PackedByteArray)->AudioStreamMP3:
|
|||||||
return sfx
|
return sfx
|
||||||
|
|
||||||
static func load_ogg(buffer:PackedByteArray)->AudioStreamOggVorbis:
|
static func load_ogg(buffer:PackedByteArray)->AudioStreamOggVorbis:
|
||||||
var sfx := AudioStreamOggVorbis.new()
|
return AudioStreamOggVorbis.load_from_buffer(buffer)
|
||||||
sfx.load_from_buffer(buffer)
|
|
||||||
return sfx
|
|
||||||
|
|
||||||
static func load_txt(buffer:PackedByteArray)->String:
|
static func load_txt(buffer:PackedByteArray)->String:
|
||||||
var txt:String = buffer.get_string_from_utf8()
|
var txt:String = buffer.get_string_from_utf8()
|
||||||
|
Loading…
Reference in New Issue
Block a user