OpenFunscripter - a scripting tool - 3.2.0 release

Its. Not. There. The page says it’s archived and read only. So how are people getting the thing? Or can someone who has it just give me a copy? PLEASE?

Direct link to download the installer (no AVX)
Direct link to download the installer (AVX)

THANK YOU SO MUCH!! I was clicking the first link in the post which doesnt go there.

For any fellow linux users experiencing double mpv player bug with controls not working:

  1. clone repo
  2. git submodule update --init
  3. go to /OFS-lib/videoplayer/impl/OFS_MpvVideoplayer.cpp
    after line 182 add
error = mpv_set_option_string(CTX->mpv, "vo", "libmpv");
if(error != 0) {
    LOG_WARN("Failed to set mpv: vo=libmpv");
}
error = mpv_set_option_string(CTX->mpv, "gpu-context", "cocoa");
if(error != 0) {
    LOG_WARN("Failed to set mpv: gpu-context=cocoa");
}
  1. go to /lib/bitsery/include/bitsery/details/adapter_common.h
    after line 33 add
#include <cstdint>
  1. go to /localization/gen_localization.cpp
    on line 10 change
enum ColIdx : uint32_t

to

enum ColIdx
  1. go to main directory
  2. cmake -B build
  3. cd build
  4. make
4 Likes

Thanks for sharing this, I’ve been trying on and off to get it working for the last month.

Recently my OFS has been running really slowly when switching between different script axes. For example, if I try to move from the main script to pitch, it takes about 2-3 seconds and often a Windows terminal window briefly opens (but I can’t see what for - it’s gone in a blink). I use My Tools extension, make vibrations and the motion capture script tool add-ons.

I also managed to fix waveform rendering on linux.
Turns out ffmpeg arguments for input/output weren’t being wrapped properly, so ffmpeg would treat spaces in filepaths as argument separators.

Go to /OFS-lib/UI/OFS_Waveform.cpp

change OFS_Waveform::GenerateAndLoadFlac function to

this
bool OFS_Waveform::GenerateAndLoadFlac(const std::string& ffmpegPath, const std::string& videoPath, const std::string& output) noexcept
{
    generating = true;

    std::string command = ffmpegPath + " -y -loglevel quiet -i \"" + videoPath + "\" -vn -ac 1 \"" + output + "\"";

    FILE* stderr_pipe = popen(command.c_str(), "r");
    if (!stderr_pipe) {
        generating = false; 
        std::cerr << "Failed to create subprocess." << std::endl;
        return false; 
    }

    char buffer[256];
    std::string error_output;
    while (fgets(buffer, sizeof(buffer), stderr_pipe) != nullptr) {
        error_output += buffer;
    }

    int return_code = pclose(stderr_pipe);
    if (return_code != 0) {
        std::cerr << "FFmpeg error: " << error_output << std::endl;
        generating = false;
        return false;
    }

    if (!LoadFlac(output)) {
        generating = false;
        return false;
    }

    generating = false;
    return true;
}

and recompile

3 Likes

It is caused by the Mytools extension. Below is a workround forwarded from the Eroscripts Discord by splime:

If you don’t use the “PATTERN” section of the extension, you can edit MyTools’s update function to do nothing because all it does is call the problematic related functions (and they’re not called anywhere else, so it shouldn’t break anything else)


image-18

I havz this issue since a week, but never had it before, I havent updated anything (OFS or tools).
Is the issue related to an update of Windows?

Edit: Modfication done, it seems the issue slowed done too the start of the application. Better now.

1 Like

Hey I’m trying to load extensions and while the core directory and “my tools” directory are in the right place, none of them shows up in my menu so I can’t enable them. Any idea?

Damn, you’re a hero! I had just about given up on this.. OFS used to work fine but broke when I updated to Fedora 41, made some attempts at fixing it myself but it in the end it got stuck in some state where UI controls were just flickering and glitching constantly. Applying your changes and deleting .local/share/OFS appears to have restored it, so now I can continue editing.

Are you planning to create a fork on github perhaps? Let us know and perhaps some people can star it there to make it easier for others to find the fork that is working.

Have fun

1 Like

Much appreciated!

im not sure if this is a thing already or not but being able to connect to a device during scripting and being able to feel what u are making as you make it might be really nice feature

You can quick export the script and play the video. OFS and VLC are pretty lightweight to run together. MFP tends to reload if it detects a file change

Is there an easy why or addon to merge two scripts. Really merging, not just putting them behind each other. For example one containing the up stroke points and the second the down points.