diff --git a/meson.build b/meson.build index c1ffb7e..17a4f79 100644 --- a/meson.build +++ b/meson.build @@ -1,4 +1,4 @@ -project('layeredfs', 'c', 'cpp', version: '3.1', +project('layeredfs', 'c', 'cpp', version: '3.2', default_options: [ 'cpp_std=c++17', 'buildtype=release', diff --git a/src/hook.cpp b/src/hook.cpp index 3e8ea7f..620fc0b 100644 --- a/src/hook.cpp +++ b/src/hook.cpp @@ -354,6 +354,15 @@ int hook_avs_fs_mount(const char* mountpoint, const char* fsroot, const char* fs log_verbose("mounting %s to %s with type %s and args %s", fsroot, mountpoint, fstype, args); ramfs_demangler_on_fs_mount(mountpoint, fsroot, fstype, args); + // In new jubeat, a modded IFS file will be loaded as such: + // pkfs_open data/music/xxxx/bsc.eve + // mounting /data/ifs_pack/xxxx/yyyy_msc.ifs to /data/imagefs/msc/xxxx with type imagefs and args (NULL) + // avs_fs_open /data/ifs_pack/xxxx/yyyy_msc.ifs + // ... Because of this, we have to go back to hooking avs_fs_open when a mount is seen. + // It shouldn't affect old-beat (the reason pkfs hooks exist at all) because + // they use .bin files instead of .ifs files. + inside_pkfs_hook = false; + return avs_fs_mount(mountpoint, fsroot, fstype, args); }