suggestion: I guess it's fine to hook it like that, but that might introduce re-usability issues with different AVS versions. I suggest to at least ifdef guard it and check that the AVS_VERSION define is within the right version range. Probably just throw an error for now if it isn't, so the next dev has visibility on that matter at least and needs to double check.
suggestion: I guess it's fine to hook it like that, but that might introduce re-usability issues with different AVS versions. I suggest to at least ifdef guard it and check that the AVS_VERSION define is within the right version range. Probably just throw an error for now if it isn't, so the next dev has visibility on that matter at least and needs to double check.
suggestion: Not happy with the solution as it forces you to a hardcoded path. Maybe someone still wants these recordings on a separate disk or usb thumb drive? How about making this path configurable? We also got d and e folders configurable, iirc.
suggestion: Not happy with the solution as it forces you to a hardcoded path. Maybe someone still wants these recordings on a separate disk or usb thumb drive? How about making this path configurable? We also got d and e folders configurable, iirc.
Sounds reasonable, however this is not a regular path, but an AVS fs path instead, so I think exposing it might cause confusion, whereas most people should have a dev folder setup.
Sounds reasonable, however this is not a regular path, but an AVS fs path instead, so I think exposing it might cause confusion, whereas most people should have a dev folder setup.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
This is checked by / used by the game for enabling video recording
@@ -0,0 +16,4 @@static void *my_avs_fs_mount(const char *dest, const char *src, const char *fs_type, const char *options);static const struct hook_symbol avs_fs_hook_syms[] = {{.name = "XCgsqzn000004b", // avs_fs_mountsuggestion: I guess it's fine to hook it like that, but that might introduce re-usability issues with different AVS versions. I suggest to at least ifdef guard it and check that the AVS_VERSION define is within the right version range. Probably just throw an error for now if it isn't, so the next dev has visibility on that matter at least and needs to double check.
@@ -0,0 +25,4 @@static void *my_avs_fs_mount(const char *dest, const char *src, const char *fs_type, const char *options){// quick check for "F:\"if (src[0] == 'F' && src[1] == ':' && src[2] == '\0') {question: Is it always capital 'F'? Seen some odd stuff in the past where they also used the lower-case drive letters because reasons.
@@ -0,0 +30,4 @@log_misc("Redirecting %s to %s", src, dev_folder_drive);CreateDirectoryA("dev/vfs/", NULL);CreateDirectoryA("dev/vfs/drive_f/", NULL);suggestion: Not happy with the solution as it forces you to a hardcoded path. Maybe someone still wants these recordings on a separate disk or usb thumb drive? How about making this path configurable? We also got d and e folders configurable, iirc.
See my comments
@@ -0,0 +16,4 @@static void *my_avs_fs_mount(const char *dest, const char *src, const char *fs_type, const char *options);static const struct hook_symbol avs_fs_hook_syms[] = {{.name = "XCgsqzn000004b", // avs_fs_mountThe hook is scoped to iidxhook9, so the symbol will always be that.
@@ -0,0 +25,4 @@static void *my_avs_fs_mount(const char *dest, const char *src, const char *fs_type, const char *options){// quick check for "F:\"if (src[0] == 'F' && src[1] == ':' && src[2] == '\0') {Yes
@@ -0,0 +30,4 @@log_misc("Redirecting %s to %s", src, dev_folder_drive);CreateDirectoryA("dev/vfs/", NULL);CreateDirectoryA("dev/vfs/drive_f/", NULL);Sounds reasonable, however this is not a regular path, but an AVS fs path instead, so I think exposing it might cause confusion, whereas most people should have a dev folder setup.
@@ -0,0 +16,4 @@static void *my_avs_fs_mount(const char *dest, const char *src, const char *fs_type, const char *options);static const struct hook_symbol avs_fs_hook_syms[] = {{.name = "XCgsqzn000004b", // avs_fs_mountRight, thanks for highlighting. Kinda missed that detail.