Creation of OpenFunScripter alternative


i dunno man i just read what it says here. not like it matters either way

If youre so unwilling to accept whats impossible youll never be the one discovering what is possible.

There is language pointing towards it being served directly without the servers. I am sure thats a mistake. I have stated this several fucking times. Why you feel the need to reiterate that, I do not know. But again for the 4th time. I get it. That does NOT negate the existence of the language nor do we know if said language is a mistake or not.

Those of you discussing Stash support, can you please move that discussion to another thread. It’s off topic now even if it might have been on topic in the beginning regarding missing functionality in OFS.

1 Like

C# with Avalonia or Flutter might be other popular options. I think rust deviates from c++ like syntax a lot so it might be harder for people to contribute.
But imo imgui is perfect for what a scripting tool needs. You can quickly add new ui elements without knowing some intricate gui framework.

To me C# is a pain in the ass (excuse me for the wording) for cross platform distribution and Flutter is not really efficient as it is transpiled into multiple languages and not made in the core design to make desktop apps.
I understand your point about the rust adoption but in my opinion rust is z simple yet really fast language to make programs. I am however curious about other recommendation that anyone would have.

My two cents.
OFS in its current state does exactly what it needs to do - an easy entry point to start writing your own scripts. Adding a couple of tools from this forum (MTFG + MakeVibration and others), creating a couple of your own plugins or making keyboard/keypad macros - nothing else is needed to create simple scripts (both mono and multi-axis). The creator of OFS did very right - let his brainchild go free swimming.
I even stayed on version 2.0, I don’t see the point in upgrading to a new version - what can it give me?
If you want some more professional features/macros, consider using ready-made tools/software - a script is just a json file. I’m not going to advertise my favorite software - but you can already use a really huge number of features there.

3 Likes

I’m not a programmer but a frequent user of the software… Just things that I think could be fixed / added in OFS:

Bugs:

  • Metadata templates don’t work. #79
  • Waveform seems not useful and can easily go off-sync. #87

QoL:

  • When an navigation key is pressed, pause playback. #84
  • Edit funscript without media #51
  • Option to deselect when dragging with middle click. #66
  • Customizable script suffix in the “add…” shortcuts. Pic
  • Threshold to highlight slow strokes. So people don’t have to do this
  • Gradually accelerating navigation with keys. So people don’t have to do this
  • Vertical selection box. Something like this.
  • Better handling of project window (prevent opening two instances of the same project, nesting multiple projects in the same window as tabs etc, allowing copying between projects etc.)
  • Rearrange-able UI for plugins.
3 Likes

Might sound harsh, but its not as big of a problem as you think it is. While a lot of programmers say linux is the better platform, most will still say that if you refuse to use windows, you are just hurting yourself.

Cross platform is a nice to have, but for functionality, forcing linux to use something like wine to run the program is a perfectly fine solution. Its not like a game where high framerates etc are realy required. Some performance cost is fine.

Otherwise, i would have said java would actualy have been a better language (dont underestimate how much java is being used). Java has proven itself as language, which rust hasnt yet.
These projects however are again a nice thing to truly test rust on that. Its not like its suddenly going to need a lot of updates to fix things. As long as its ment to stay offline or in a lan situation only, the chances of hacks remain low.

So i would say just go with rust. There is no way to know what is needed in 5y. Just avoid using too much rust specific features and keep in mind the coding styles of for example C# and java to ensure it remains readable and reworkable if needed (yes, if there is a power function in rust, use that. by the time its needed someone most likely will already have rewritten those for other languages).

In the end, its more important that you use a language you like to work with, so maintenace is more likely to happen. And rust has an advantage that because its new and a high level language, its easier for others to take over if its needed.

How is it pain in the ass? You literally just do dotnet publish and it builds for each platform. C# is fully cross platform for a while now.

I dont think speed really matters here, the app literally is just a video player and some controls. You can make C# really really fast too if you want while having an easier time writing it and having way better tooling.
But like I said, imo OFS is perfectly fine using C++ with imgui and mpv as video player. Unless you want to do some insane gui I dont see the need for anything more.

I think you should just do what you want instead of asking people on what language to use.

I think my previous messages sounded too biased. I originally created this post for people to join the journey of improving the scripting experience. I have no specific choice regarding maintaining OFS or build from scratch. I just wanted to know what you guys were thinking of it and allow we can align the devs interest with the community’s one.

If everyone is ok for maintaining OFS or rewrite it in a specific language/framework/whatever let’s start !

Please correct me if I’m wrong, I only have a vague understanding of Rust and am new to the community :sweat_smile: .

But as far as I know, Rust works pretty well together with c++.
And they should be able to be both used in the same codebase.
At least this is what my quick googling gave me.

So another option instead of a complete rewrite or starting from scratch could be to introduce new features in Rust and over time migrate the code base to fully be in Rust.

As flowerstrample and Falafel mentioned, OFS in it’s current state works and does what it should so I feel like it would be a waste of all the time and effort that went into OFS to start from scratch.

Just my two cents though.


On the note of working on OFS.
I’d love to help with OFS at some point.
But I’m fresh out of uni and I want to get some more experience before I would feel comfortable working on such a big project.

Just gonna throw this on the bugs and QoL pile:

  • Need the ability to reorder the tracks
  • Need to be able to maintain multiple tracks for the same axis, to be able to view them simultaneously, and to enable/disable them (this is needed, for instance, to make dumbed down scripts for the handy because it can’t move slow, but not gimp out the multi-axis devices that can move both slower and faster. Also, this is used to separate single axis strokers that may have parts interpreted as up down – think grinding – whereas multi-axis devices may have nothing goin on in the main axis but have the near/far axis moving).

I sorta provided a workaround in:

This may work until we get things patched in OFS itself, thanks!

1 Like

If its possible to write new features in Rust in the current codebase, I would go with that.
For myself I see this as an opportunity to learn Rust and hopefully be able to help out.

This is a great initiative, i’m glad there’s been several people so far indicating they are willing to collaborate on it!

Personally I’m an embedded software engineer (recently graduated though so still young), mainly worked with C/C++ (embedded work, so not so much app development) and Python. I also have a bit of experience with C# from stuff like Windows Forms apps and also a bit of Unity school work. Rust’s something i’ve been interested in learning more about but haven’t started diving into it yet, for now Python’s what i’m using a ton both at work and in my hobby stuff, but i’m interested in learning.

It’s tough because there’s already a codebase there and also a “standard” developed around OFS where it’s kinda become the de facto scripter for most people. I’ve seen other scripter apps being worked on around these forums but none have anywhere near the traction OFS has had over the years. And it’s easy to see why, it’s a clear-cut program that does (mostly) what it says on the tin, with just enough features out of the box to get you started and hooked on scripting while allowing for a ton of modability. It’s essentially more of a platform these days rather than a simple app, and it’s all because the OG dev had the brilliant foresight to create an Lua API for people to mod the fuck out of it. I myself have written two extensions for it so far, you can find them if you click on my profile here or visit my github (same username) if interested.

So whatever decision is made on this, I’d say one of the main requirements is to allow at least the same level of modability as OFS currently does. And hopefully with more than just Lua, but also Python and other popular script languages. Because Lua’s not exactly my first choice for scripting stuff in 2024 xD

Other than that, I think if you genuinely want to start up an effort for this, it would be wise to setup a group outside of this platform, say a Discord server, open to everyone who wishes to help out. Eroscripts may be nice as a forum but it’s certainly garbage for proper communication.

Also yeah, you can count me in for helping out with things whenever I get some time for it. I’ve gotten hooked up on the fuck machine kool-aid and never going back xD so solutions like OFS are what I want to keep using and contributing to over time.

Hello everyone,

It seems that everyone is willing to contribute to the existing OFS so let’s get to it.

My post was creating after seeing a lot of comments from devs that would not touch c++/OFS because of lack of knowledge of the language or codebase. This is the only concern that made me propose the rewrite.

I will create a new post to centralize all the improvements that could be made to OFS to organize the work.

Thank you everyone for your involvement !

Don’t forget about the issue tracker on git for OFS. That’s the place that the original dev wanted bugs, feature requests etc.

1 Like

I am aware of the github project but in my opinion, not everyone is comfortable with the fact of creating a github account and creating an issue there.

For people who actually code the issue tracker would be better. For others discord might be an option even if I’m not a fan of discord when there are too many people. Hard to discuss on topic when there are dozens of other conversations in the same chat.

Anyways, what I meant with github was that there are bug reports and feature requests there already, which shouldn’t be forgotten if you decide for keeping all discussions in discord.

1 Like

have you found a way to get it to work ? i’ve tried multiple times but couldn’t get it to work, i couldn’t find anyone talking about this on github

As far as i could tell it doesnt. I tried for a bit and looked as well. I think its a typo by the devs or a misunderstanding of how the csvs work