OpenFunscripter - another scripting tool - 1.1.9 release

How about I just pop up a save file dialog. :thinking:
Back when I wrote that I lacked the ability to arbitrarily pop up file dialogs but now I have that.

Awkward. Right now it’s where the range extender lives if you make a selection (of atleast 5 points) it “grows” :sweat_smile:.
But yeah that’s not correct.

Sure, but make the dialog remember my last folder used, even between sessions so I don’t need to navigate from where ever the default folder is.

Also, can you make OFS remember my heatmap dimensions between sessions?

I forgot to mention that I like the red bar below the heatmap in the Time panel. Tiny things that gives much value :slight_smile:

Yes

I randomly came up with that yesterday because I got lost in a 2 hour video.
Now you can see immediatly where you are.

1 Like

This is now a thing.
OFS needs a major refactor when it comes to handling filesystem paths and their encoding it’s an absolute nightmare. :pensive:

So maybe it’s easier to store a path in OFS configuration settings and use that when saving instead of the default screenshot path that is used now? I assume that a file dialog can be used to select a path (no manual editing or copy/paste if encoding is an issue)? This is not a big thing so if it’s too much work then skip it.

I’m saving a default path for the heatmaps, the file dialog that pops up should always be in the same directory where you last saved.
The encoding issues I’m having are unrelated and my own fault .

But it forgets this path when you restart OFS. I would like OFS to remember the folder from the last session.

It shouldn’t forget the path. :thinking:
Can you check your config.json “%appdata%/OFS/OFS_data/config.json”
You can put this path directly into windows explorer to open the file.

"heatmapSettings": {
    "defaultHeight": 30,
    "defaultPath": "E:\\funscript\\",
    "defaultWidth": 1600
}

It should have a defaultPath which is where the dialog should open.
This variable gets updated everytime you use save file dialog successfully and saved everytime you close OFS.

I don’t have any heatmapSettings despite saving several times. I changed the default size settings and saved a heatmap again and then I closed OFS before checking the config.jsom, just to be sure. I’m currently using the 1.1.0 release.

Could this be some issue due to the fact that I’ve been using many different preview builds? I don’t know if you update the json or simply generate a completely new config and overwrite the current one every time.

This wasn’t part of the 1.1.0 release. Sorry for the misunderstanding. AppVeyor

I’m also constantly using preview builds so no. :sweat_smile:

Just tested and it works perfectly :+1:
Thanks!

@gagax123

Bug

I have notived a little bug with the range extender.

grafik

If I invert the range to negative then some points going crazy and jumping to to the upper or lower limits.


This depends on the value in the slider and how close the original position is to the limits.
grafik

Request

It it possible to only extend the lower points without moving the upper points?
So if strokes feel too short I could just move the lower points a little bit deeper. Currently it scales all points.

Maybe I am stupid but it is possible to select a point and just move it around? time + position
I think I have seen this in JFS before.

To lower just the bottom points, you can highlight the section you want lowered. There should be an option under selection or Wir bottom points only, then manually move them down Shift + Down Key

2 Likes

Well it is a “range extender” not a “range reducer”. :upside_down_face:
No but for real I wasn’t sure if I should allow negative values in the first place because this behaviour.
I literally copied ScriptPlayers algorithm and translated it to C++.

I put this on my todo list.

You’ll have to be more specific as there are a lot of ways to do this.
Under Options->Keys->Moving you can find multiple bindings to move actions if you have a selection they move the selection otherwise the closest point.
You can also while holding shift move a single point with the mouse but I don’t know how usefull that is. :thinking:

1 Like

@poet145x already gave a solution for this that works.

This is very helpful :smiley:

Hey, is there a function like JFS’s “nudge point”? (Moves the nearest point to the current time.) I use this pretty regularly for hard-to-judge content, and I’m not seeing how to do it in OFS.

Also, OFS only seems to see the L2 and R2 buttons on my controller as analog inputs, even though in the windows controller properties dialogue it shows digital buttons for them as well. Is there a way to use those that I’m missing?

The “nudge point” I can add but the L2/R2 I can’t do anything about they are already hardcoded to be used to control the playback speed anyway.
If people don’t want to control playback speed with L2/R2 I could remove that and allow them to be bound to arbitrary functions. :thinking:

Since it looks like it uses the analog axes I suppose I might be able to get access to those buttons just by using a different input mapper that associates them with something else. But then again, maybe not… I don’t think I actually found where in the source any analog stuff was checked. (And I’d like to experiment with some things too…)

I’m using SDL2 for handling controllers.
And in SDL2 L2/R2 aren’t buttons
GameControllerButton instead they are an axis GameControllerAxis.

I’m pretty sure the only way you would be able to use them as buttons is if I write some custom code to handle them as buttons.

They seem to be both according to the windows controller test dialogue. Buttons 7 and 8 as well as being X Rotation and Y Rotation. Unless it’s bypassing SCP Toolkit entirely… hmmm, I might have to try some things.

Urrgh, the introduction for the SDL game controller functions says two of the shoulder buttons “might be” axes, but then the controller button enumeration doesn’t provide anything else for them to be. Why??

Edit: DS4Windows lets me just set the triggers to the appropriate keyboard controls, so I guess that’s things settled from my point of view…