sync up with FWK
parent
208a5d8772
commit
5f99b67778
|
@ -333442,7 +333442,7 @@ const char** file_list(const char *cwd, const char *masks) {
|
|||
if( line[0] == '\0' ) continue;
|
||||
// do not insert system folders/files
|
||||
for(int i = 0; i < len; ++i ) if(line[i] == '\\') line[i] = '/';
|
||||
if( line[0] == '.' ) continue;
|
||||
if( line[0] == '.' ) if( !strcmp(line,".git") || !strcmp(line,".vs") || !strcmp(line,".") || !strcmp(line,"..") ) continue;
|
||||
if( strstr(line, "/.") ) continue;
|
||||
// insert copy
|
||||
#if is(win32)
|
||||
|
@ -333705,7 +333705,11 @@ typedef struct archive_dir {
|
|||
} archive_dir;
|
||||
|
||||
static archive_dir *dir_mount;
|
||||
static archive_dir *dir_cache; enum { MAX_CACHED_FILES = 16 }; // @todo: should we cache the cooked contents instead? ie, stbi() result instead of file.png?
|
||||
static archive_dir *dir_cache;
|
||||
|
||||
#ifndef MAX_CACHED_FILES // @todo: should this be MAX_CACHED_SIZE (in MiB) instead?
|
||||
#define MAX_CACHED_FILES 32 // @todo: should we cache the cooked contents instead? ie, stbi() result instead of file.png?
|
||||
#endif
|
||||
|
||||
struct vfs_entry {
|
||||
const char *name;
|
||||
|
@ -333723,17 +333727,18 @@ void vfs_reload() {
|
|||
array_resize(vfs_hints, 0); // @leak
|
||||
array_resize(vfs_entries, 0); // @leak
|
||||
|
||||
// mount virtual filesystems later (mounting order: low -> to -> high priority)
|
||||
bool any_mounted = 0;
|
||||
// mount virtual filesystems later (mounting order matters: low -> to -> high priority)
|
||||
#if 0
|
||||
for( int i = 0; i < JOBS_MAX; ++i) {
|
||||
bool mounted = false;
|
||||
mounted |= !!vfs_mount(va(".art[%02x].zip", i));
|
||||
mounted |= !!vfs_mount(va("%s[%02x].zip", app, i));
|
||||
mounted |= !!vfs_mount(va("%s%02x.zip", app, i));
|
||||
mounted |= !!vfs_mount(va("%s.%02x", app, i));
|
||||
any_mounted |= mounted;
|
||||
// if(!mounted) break;
|
||||
if( vfs_mount(va(".art[%02x].zip", i)) ) continue;
|
||||
if( vfs_mount(va("%s[%02x].zip", app, i)) ) continue;
|
||||
if( vfs_mount(va("%s%02x.zip", app, i)) ) continue;
|
||||
//if( vfs_mount(va("%s.%02x", app, i)) ) continue;
|
||||
}
|
||||
#else
|
||||
// faster way
|
||||
for( const char **file = file_list("./","*.zip"); *file; ++file) vfs_mount(*file);
|
||||
#endif
|
||||
|
||||
// vfs_resolve() will use these art_folder locations as hints when cook-on-demand is in progress.
|
||||
// cook-on-demand will not be able to resolve a virtual pathfile if there are no cooked assets on disk,
|
||||
|
|
|
@ -229,7 +229,7 @@ const char** file_list(const char *cwd, const char *masks) {
|
|||
if( line[0] == '\0' ) continue;
|
||||
// do not insert system folders/files
|
||||
for(int i = 0; i < len; ++i ) if(line[i] == '\\') line[i] = '/';
|
||||
if( line[0] == '.' ) continue;
|
||||
if( line[0] == '.' ) if( !strcmp(line,".git") || !strcmp(line,".vs") || !strcmp(line,".") || !strcmp(line,"..") ) continue;
|
||||
if( strstr(line, "/.") ) continue;
|
||||
// insert copy
|
||||
#if is(win32)
|
||||
|
@ -492,7 +492,11 @@ typedef struct archive_dir {
|
|||
} archive_dir;
|
||||
|
||||
static archive_dir *dir_mount;
|
||||
static archive_dir *dir_cache; enum { MAX_CACHED_FILES = 16 }; // @todo: should we cache the cooked contents instead? ie, stbi() result instead of file.png?
|
||||
static archive_dir *dir_cache;
|
||||
|
||||
#ifndef MAX_CACHED_FILES // @todo: should this be MAX_CACHED_SIZE (in MiB) instead?
|
||||
#define MAX_CACHED_FILES 32 // @todo: should we cache the cooked contents instead? ie, stbi() result instead of file.png?
|
||||
#endif
|
||||
|
||||
struct vfs_entry {
|
||||
const char *name;
|
||||
|
@ -510,17 +514,18 @@ void vfs_reload() {
|
|||
array_resize(vfs_hints, 0); // @leak
|
||||
array_resize(vfs_entries, 0); // @leak
|
||||
|
||||
// mount virtual filesystems later (mounting order: low -> to -> high priority)
|
||||
bool any_mounted = 0;
|
||||
// mount virtual filesystems later (mounting order matters: low -> to -> high priority)
|
||||
#if 0
|
||||
for( int i = 0; i < JOBS_MAX; ++i) {
|
||||
bool mounted = false;
|
||||
mounted |= !!vfs_mount(va(".art[%02x].zip", i));
|
||||
mounted |= !!vfs_mount(va("%s[%02x].zip", app, i));
|
||||
mounted |= !!vfs_mount(va("%s%02x.zip", app, i));
|
||||
mounted |= !!vfs_mount(va("%s.%02x", app, i));
|
||||
any_mounted |= mounted;
|
||||
// if(!mounted) break;
|
||||
if( vfs_mount(va(".art[%02x].zip", i)) ) continue;
|
||||
if( vfs_mount(va("%s[%02x].zip", app, i)) ) continue;
|
||||
if( vfs_mount(va("%s%02x.zip", app, i)) ) continue;
|
||||
//if( vfs_mount(va("%s.%02x", app, i)) ) continue;
|
||||
}
|
||||
#else
|
||||
// faster way
|
||||
for( const char **file = file_list("./","*.zip"); *file; ++file) vfs_mount(*file);
|
||||
#endif
|
||||
|
||||
// vfs_resolve() will use these art_folder locations as hints when cook-on-demand is in progress.
|
||||
// cook-on-demand will not be able to resolve a virtual pathfile if there are no cooked assets on disk,
|
||||
|
|
27
engine/v4k.c
27
engine/v4k.c
|
@ -4350,7 +4350,7 @@ const char** file_list(const char *cwd, const char *masks) {
|
|||
if( line[0] == '\0' ) continue;
|
||||
// do not insert system folders/files
|
||||
for(int i = 0; i < len; ++i ) if(line[i] == '\\') line[i] = '/';
|
||||
if( line[0] == '.' ) continue;
|
||||
if( line[0] == '.' ) if( !strcmp(line,".git") || !strcmp(line,".vs") || !strcmp(line,".") || !strcmp(line,"..") ) continue;
|
||||
if( strstr(line, "/.") ) continue;
|
||||
// insert copy
|
||||
#if is(win32)
|
||||
|
@ -4613,7 +4613,11 @@ typedef struct archive_dir {
|
|||
} archive_dir;
|
||||
|
||||
static archive_dir *dir_mount;
|
||||
static archive_dir *dir_cache; enum { MAX_CACHED_FILES = 16 }; // @todo: should we cache the cooked contents instead? ie, stbi() result instead of file.png?
|
||||
static archive_dir *dir_cache;
|
||||
|
||||
#ifndef MAX_CACHED_FILES // @todo: should this be MAX_CACHED_SIZE (in MiB) instead?
|
||||
#define MAX_CACHED_FILES 32 // @todo: should we cache the cooked contents instead? ie, stbi() result instead of file.png?
|
||||
#endif
|
||||
|
||||
struct vfs_entry {
|
||||
const char *name;
|
||||
|
@ -4631,17 +4635,18 @@ void vfs_reload() {
|
|||
array_resize(vfs_hints, 0); // @leak
|
||||
array_resize(vfs_entries, 0); // @leak
|
||||
|
||||
// mount virtual filesystems later (mounting order: low -> to -> high priority)
|
||||
bool any_mounted = 0;
|
||||
// mount virtual filesystems later (mounting order matters: low -> to -> high priority)
|
||||
#if 0
|
||||
for( int i = 0; i < JOBS_MAX; ++i) {
|
||||
bool mounted = false;
|
||||
mounted |= !!vfs_mount(va(".art[%02x].zip", i));
|
||||
mounted |= !!vfs_mount(va("%s[%02x].zip", app, i));
|
||||
mounted |= !!vfs_mount(va("%s%02x.zip", app, i));
|
||||
mounted |= !!vfs_mount(va("%s.%02x", app, i));
|
||||
any_mounted |= mounted;
|
||||
// if(!mounted) break;
|
||||
if( vfs_mount(va(".art[%02x].zip", i)) ) continue;
|
||||
if( vfs_mount(va("%s[%02x].zip", app, i)) ) continue;
|
||||
if( vfs_mount(va("%s%02x.zip", app, i)) ) continue;
|
||||
//if( vfs_mount(va("%s.%02x", app, i)) ) continue;
|
||||
}
|
||||
#else
|
||||
// faster way
|
||||
for( const char **file = file_list("./","*.zip"); *file; ++file) vfs_mount(*file);
|
||||
#endif
|
||||
|
||||
// vfs_resolve() will use these art_folder locations as hints when cook-on-demand is in progress.
|
||||
// cook-on-demand will not be able to resolve a virtual pathfile if there are no cooked assets on disk,
|
||||
|
|
|
@ -591,7 +591,7 @@ details > summary::-webkit-details-marker {
|
|||
|Version: | 2023.9 |
|
||||
|:--------------|:------------|
|
||||
|Branch: | main |
|
||||
|Commit: | 77 |
|
||||
|Commit: | 78 |
|
||||
<!--| Documentation last modified | { {LAST_MODIFIED} } |-->
|
||||
|
||||
# [V·4·K 2023.9 ](https://v4k.dev)
|
||||
|
@ -11826,6 +11826,7 @@ Other documentation examples: [dll](#dll), [strsplit](#strsplit), [strjoin](#str
|
|||
[aabb](#aabb), [acosf](#acosf), [array](#array), [array_at](#array_at), [array_back](#array_back), [array_bytes](#array_bytes), [array_cast](#array_cast), [array_clear](#array_clear), [array_copy](#array_copy), [array_count](#array_count), [array_data](#array_data), [array_empty](#array_empty), [array_erase](#array_erase), [array_foreach](#array_foreach), [array_foreach_ptr](#array_foreach_ptr), [array_free](#array_free), [array_init](#array_init), [array_insert](#array_insert), [array_pop](#array_pop), [array_pop_front](#array_pop_front), [array_push](#array_push), [array_push_front](#array_push_front), [array_realloc_](#array_realloc_), [array_reserve](#array_reserve), [array_resize](#array_resize), [array_reverse](#array_reverse), [array_search](#array_search), [array_shuffle](#array_shuffle), [array_sort](#array_sort), [array_unique](#array_unique), [array_vlen_](#array_vlen_), [asinf](#asinf), [atan2f](#atan2f), [axis](#axis), [benchmark](#benchmark), [boid](#boid), [capsule](#capsule), [cc4](#cc4), [cc8](#cc8), [ceilf](#ceilf), [client_send](#client_send), [client_send_bin](#client_send_bin), [client_send_bin_flags](#client_send_bin_flags), [client_send_flags](#client_send_flags), [client_terminate](#client_terminate), [conc4t](#conc4t), [concat](#concat), [copysignf](#copysignf), [cosf](#cosf), [countof](#countof), [ctor](#ctor), [defer](#defer), [do_once](#do_once), [dtor](#dtor), [each_array](#each_array), [each_array_ptr](#each_array_ptr), [each_map](#each_map), [each_map_ptr](#each_map_ptr), [each_map_ptr_sorted](#each_map_ptr_sorted), [each_set](#each_set), [each_set_ptr](#each_set_ptr), [each_substring](#each_substring), [expf](#expf), [floorf](#floorf), [fmodf](#fmodf), [frustum](#frustum), [gladLoadGL](#gladLoadGL), [hit](#hit), [hypotf](#hypotf), [ifdef](#ifdef), [ifdef_32](#ifdef_32), [ifdef_64](#ifdef_64), [ifdef_bsd](#ifdef_bsd), [ifdef_c](#ifdef_c), [ifdef_cl](#ifdef_cl), [ifdef_cpp](#ifdef_cpp), [ifdef_debug](#ifdef_debug), [ifdef_ems](#ifdef_ems), [ifdef_false](#ifdef_false), [ifdef_gcc](#ifdef_gcc), [ifdef_linux](#ifdef_linux), [ifdef_mingw](#ifdef_mingw), [ifdef_osx](#ifdef_osx), [ifdef_release](#ifdef_release), [ifdef_tcc](#ifdef_tcc), [ifdef_true](#ifdef_true), [ifdef_win32](#ifdef_win32), [ifndef](#ifndef), [is](#is), [isnt](#isnt), [json_count](#json_count), [json_float](#json_float), [json_int](#json_int), [json_key](#json_key), [json_string](#json_string), [line](#line), [log10f](#log10f), [logf](#logf), [macro](#macro), [map](#map), [map_cast](#map_cast), [map_clear](#map_clear), [map_count](#map_count), [map_erase](#map_erase), [map_find](#map_find), [map_find_or_add](#map_find_or_add), [map_find_or_add_allocated_key](#map_find_or_add_allocated_key), [map_foreach](#map_foreach), [map_foreach_ptr](#map_foreach_ptr), [map_foreach_ptr_sorted](#map_foreach_ptr_sorted), [map_free](#map_free), [map_gc](#map_gc), [map_init](#map_init), [map_init_int](#map_init_int), [map_init_ptr](#map_init_ptr), [map_init_str](#map_init_str), [map_insert](#map_insert), [mat33](#mat33), [mat34](#mat34), [mat44](#mat44), [obj_calloc](#obj_calloc), [obj_extend](#obj_extend), [obj_malloc](#obj_malloc), [obj_method](#obj_method), [obj_method0](#obj_method0), [obj_new](#obj_new), [obj_new0](#obj_new0), [obj_override](#obj_override), [obj_printf](#obj_printf), [plane](#plane), [poly](#poly), [powf](#powf), [profile](#profile), [profile_enable](#profile_enable), [profile_incstat](#profile_incstat), [profile_init](#profile_init), [profile_render](#profile_render), [profile_setstat](#profile_setstat), [quat](#quat), [ray](#ray), [scope](#scope), [set](#set), [set_cast](#set_cast), [set_clear](#set_clear), [set_count](#set_count), [set_erase](#set_erase), [set_find](#set_find), [set_find_or_add](#set_find_or_add), [set_find_or_add_allocated_key](#set_find_or_add_allocated_key), [set_foreach](#set_foreach), [set_foreach_ptr](#set_foreach_ptr), [set_free](#set_free), [set_gc](#set_gc), [set_init](#set_init), [set_init_int](#set_init_int), [set_init_ptr](#set_init_ptr), [set_init_str](#set_init_str), [set_insert](#set_insert), [sinf](#sinf), [sphere](#sphere), [sqrtf](#sqrtf), [strcatf](#strcatf), [strcmpi](#strcmpi), [stringf](#stringf), [strtok_r](#strtok_r), [tanf](#tanf), [triangle](#triangle), [va](#va), [vec2](#vec2), [vec2i](#vec2i), [vec3](#vec3), [vec3i](#vec3i), [vec4](#vec4), [xml_blob](#xml_blob), [xml_count](#xml_count), [xml_float](#xml_float), [xml_int](#xml_int)
|
||||
## c h a n g e l o g
|
||||
|
||||
* 208a5d8: add changelog to docs (**Dominik Madarász**)
|
||||
* fb3e0c5: readme stuff (**Dominik Madarász**)
|
||||
* 0440bfd: ugly but works html5 cook (**Dominik Madarász**)
|
||||
* 64ee470: fix html5 build (**Dominik Madarász**)
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
; this is where you specify and configure the FWK pipeline.
|
||||
; this is where you specify and configure the V4K pipeline.
|
||||
; tweak the pipeline and add new importers just by editing this file.
|
||||
; there is no flow control in this script file: lines are parsed and evaluated, from top to bottom.
|
||||
|
||||
|
|
Loading…
Reference in New Issue