im curious. has there been anyone that has posted their map or fpack?
Trying it out with an OSR2, connecting using Intiface as a middleman seems to work alright, but trying to use the built-in TCode connection I can connect everything up fine at first in the Settings, but when loading up a round it desyncs somewhere along the line, saying that the serial port is already open. It’s still connected in the Haptics menu, but trying to disconnect/reconnect doesn’t solve it. Then I quit out and go back to the settings, where it’s still connected as normal. I pasted the debug log file down below after I went through all these steps, so hopefully it captured whatever was going on.
Log File
{“ts”:“2026-05-23T22:27:52.298Z”,“level”:“warn”,“source”:“performance”,“message”:“Performance snapshot”,“data”:{“rendererState”:{“route”:“settings”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779575257326},“appMetricsCount”:5,“rendererMetric”:{“cpu”:{“cumulativeCPUUsage”:23.351994,“percentCPUUsage”:0.5829743109102904,“idleWakeupsPerSecond”:0},“pid”:18320,“type”:“Tab”,“creationTime”:1779575092263.465,“memory”:{“workingSetSize”:223400,“peakWorkingSetSize”:331088,“privateBytes”:161284},“integrityLevel”:“untrusted”,“sandboxed”:true}}}
{“ts”:“2026-05-23T22:28:10.015Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“unknown”,“visible”:true,“idleSensitive”:false,“updatedAt”:1779575290015}}
{“ts”:“2026-05-23T22:28:10.025Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“home”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779575290025}}
{“ts”:“2026-05-23T22:28:14.578Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“unknown”,“visible”:true,“idleSensitive”:false,“updatedAt”:1779575294578}}
{“ts”:“2026-05-23T22:29:52.350Z”,“level”:“info”,“source”:“phashScan”,“message”:“Scan started”,“data”:{“mode”:“background”,“totalCount”:3}}
{“ts”:“2026-05-23T22:29:52.360Z”,“level”:“info”,“source”:“websiteVideoScan”,“message”:“No uncached website videos found”}
{“ts”:“2026-05-23T22:30:06.584Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“home”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779575406584}}
{“ts”:“2026-05-23T22:30:38.375Z”,“level”:“info”,“source”:“startup”,“message”:“Store initialized”}
{“ts”:“2026-05-23T22:30:38.396Z”,“level”:“info”,“source”:“startup”,“message”:“Database ready”}
{“ts”:“2026-05-23T22:30:38.399Z”,“level”:“info”,“source”:“startup”,“message”:“File protocol registered”}
{“ts”:“2026-05-23T22:30:38.477Z”,“level”:“info”,“source”:“startup”,“message”:“Window created”}
{“ts”:“2026-05-23T22:30:38.528Z”,“level”:“info”,“source”:“startup”,“message”:“Background services started”}
{“ts”:“2026-05-23T22:30:38.601Z”,“level”:“info”,“source”:“startup”,“message”:“Startup install scan completed”}
{“ts”:“2026-05-23T22:30:38.631Z”,“level”:“error”,“source”:“renderer-console”,“message”:“The Content Security Policy directive ‘frame-ancestors’ is ignored when delivered via a element.”,“data”:{“level”:“error”,“sourceId”:“app://renderer/index.html”,“lineNumber”:9}}
{“ts”:“2026-05-23T22:30:38.809Z”,“level”:“info”,“source”:“startup”,“message”:“Updater initialized”}
{“ts”:“2026-05-23T22:30:38.884Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“home”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779575438883}}
{“ts”:“2026-05-23T22:30:39.057Z”,“level”:“info”,“source”:“websiteVideoScan”,“message”:“No uncached website videos found”}
{“ts”:“2026-05-23T22:30:39.057Z”,“level”:“info”,“source”:“websiteVideoScan”,“message”:“No uncached website videos found”}
{“ts”:“2026-05-23T22:30:40.512Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“unknown”,“visible”:true,“idleSensitive”:false,“updatedAt”:1779575440512}}
{“ts”:“2026-05-23T22:30:40.522Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“settings”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779575440522}}
{“ts”:“2026-05-23T22:31:38.482Z”,“level”:“warn”,“source”:“performance”,“message”:“Performance snapshot”,“data”:{“rendererState”:{“route”:“settings”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779575440522},“appMetricsCount”:5,“rendererMetric”:{“cpu”:{“cumulativeCPUUsage”:4.88949,“percentCPUUsage”:0.4049822450688074,“idleWakeupsPerSecond”:0},“pid”:6936,“type”:“Tab”,“creationTime”:1779575438471.367,“memory”:{“workingSetSize”:169364,“peakWorkingSetSize”:280120,“privateBytes”:108580},“integrityLevel”:“untrusted”,“sandboxed”:true}}}
{“ts”:“2026-05-23T22:32:06.927Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“unknown”,“visible”:true,“idleSensitive”:false,“updatedAt”:1779575526927}}
{“ts”:“2026-05-23T22:32:06.938Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“home”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779575526938}}
{“ts”:“2026-05-23T22:32:09.422Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“unknown”,“visible”:true,“idleSensitive”:false,“updatedAt”:1779575529422}}
{“ts”:“2026-05-23T22:32:28.794Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“home”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779575548793}}
{“ts”:“2026-05-23T22:32:32.577Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“home”,“visible”:false,“idleSensitive”:true,“updatedAt”:1779575552577}}
{“ts”:“2026-05-23T23:49:32.296Z”,“level”:“info”,“source”:“startup”,“message”:“Store initialized”}
{“ts”:“2026-05-23T23:49:32.320Z”,“level”:“info”,“source”:“startup”,“message”:“Database ready”}
{“ts”:“2026-05-23T23:49:32.322Z”,“level”:“info”,“source”:“startup”,“message”:“File protocol registered”}
{“ts”:“2026-05-23T23:49:32.363Z”,“level”:“info”,“source”:“startup”,“message”:“Window created”}
{“ts”:“2026-05-23T23:49:32.411Z”,“level”:“info”,“source”:“startup”,“message”:“Background services started”}
{“ts”:“2026-05-23T23:49:32.478Z”,“level”:“info”,“source”:“startup”,“message”:“Startup install scan completed”}
{“ts”:“2026-05-23T23:49:32.509Z”,“level”:“error”,“source”:“renderer-console”,“message”:“The Content Security Policy directive ‘frame-ancestors’ is ignored when delivered via a element.”,“data”:{“level”:“error”,“sourceId”:“app://renderer/index.html”,“lineNumber”:9}}
{“ts”:“2026-05-23T23:49:32.679Z”,“level”:“info”,“source”:“startup”,“message”:“Updater initialized”}
{“ts”:“2026-05-23T23:49:32.778Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“home”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779580172777}}
{“ts”:“2026-05-23T23:49:32.958Z”,“level”:“info”,“source”:“websiteVideoScan”,“message”:“No uncached website videos found”}
{“ts”:“2026-05-23T23:49:32.958Z”,“level”:“info”,“source”:“websiteVideoScan”,“message”:“No uncached website videos found”}
{“ts”:“2026-05-23T23:49:34.078Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“unknown”,“visible”:true,“idleSensitive”:false,“updatedAt”:1779580174078}}
{“ts”:“2026-05-23T23:49:34.088Z”,“level”:“debug”,“source”:“performance”,“message”:“Renderer performance state changed”,“data”:{“route”:“settings”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779580174088}}
{“ts”:“2026-05-23T23:50:32.375Z”,“level”:“warn”,“source”:“performance”,“message”:“Performance snapshot”,“data”:{“rendererState”:{“route”:“settings”,“visible”:true,“idleSensitive”:true,“updatedAt”:1779580174088},“appMetricsCount”:5,“rendererMetric”:{“cpu”:{“cumulativeCPUUsage”:4.042265,“percentCPUUsage”:0.32377212074890965,“idleWakeupsPerSecond”:0},“pid”:21464,“type”:“Tab”,“creationTime”:1779580172361.722,“memory”:{“workingSetSize”:177732,“peakWorkingSetSize”:234348,“privateBytes”:113800},“integrityLevel”:“untrusted”,“sandboxed”:true}}}
Haven’t had time to test very much, but that’s what I know so far. Seems to work fine connecting with OSR via Intiface, and the thing itself is actually really neat playing around with it. Excited to see where it goes in the future for sure.
I’ve been messing around with the map editor as well, and it’d be nice to be able to customize the splash screen upon loading into a specific round a bit. Like a different color/pause time before a “Boss Round” or something. You can change the indicator on the map easily enough and force the player into it when landed on, but when it loads up it’s just like any other round. Might be something you already have in mind for the future, but figured I’d throw it out there. I’ll put some screenshots below to hopefully illustrate what I’m trying to say a little better:
Nice app you built there!
I like the perks that you added, and that we can disable them freely as well.
I see there are permanent minimum roll increments, would be nice to also have maximum rolls.
There is also in-app round maker, that is a very big leap! I usually had to make rounds by video editors on favorite Faphero vids, but this has some potential.
The booru query is a really good addition too. The menu UI is also pretty.
However there are some bugs here and there.
- Major:
- When I had intermediary on, sometimes it says local files not found. It’s probably not the interjection rounds that I added because one of them was able to be played, and I don’t know what other kinds of intermediary.
- Minor:
- The dark shade overlay for menu is on all the time during video play which kinda gets in the way (especially when there are beatbars).
Also I would like suggest some features:
-
Ability to disable the “Handy disconnected” element on the in-play menu - I don’t use any automatic device? I still would like to see those anti-perks like “booru display for seconds with beatbars(?)” even without one though, it adds another thing to do.
-
Ability to select all rounds with applied filter (libraries) in installed round menu.
-
Ability to apply tags to multiple selected rounds.
-
Ability to have cum rounds within the normal round plays, as the current “type” would not allow cum rounds to be in normal rounds. Ex: Round 99 is cum round but can also appear as a normal very difficulty round.
-
Ability to manually modify the difficulty range of playlist sections to have more dynamics. For example round 1 - 25 difficulty level 1, round 26 - 50, difficulty level 5, round 51 - 75 difficulty
level 3, etc… -
Perks: Permanent maximum roll increase/decrease.
There are a lot more in playlist making that I want to mess around with but inability to edit rounds in batch is getting in the way. I’ll get to that after tagging the rounds better.
I’m having some trouble getting my SR6 connected. Normally I am used to selecting a COM port in all other apps, but here it’s presenting me with options I don’t recognize. Regardless, I tried each one but I get the same error:
Nitesurgeon’s experiencing I believe the same thing I am above, just at a different point. I do notice the baud rate for his is at 9600, I’ve always had it at 115200 everywhere. @Nitesurgeon maybe something to try there?
Also, that Serial Port open error usually occurs when I have the OSR already connected to somewhere else and don’t think about it before trying to connect. (I.E. if I have it connected to MFP and try to connect to Fap Land I’d get the same error)
I just kind of assumed the “USB 1a12:1234” (I forget what mine was, but definitely the same “USB buncha:numbers” syntax) was the equivalent of the COM port in other apps, since it appears/disappears when I connect up my OSR to the computer. Though given all this it seems odd that it’d appear for me above, after I made sure Fap Land was the only thing even open.
@Dupli9d Any update of the FPS Problem? I sent u 2 Error Logs “Debug” & “Log Level”.
Hi yeah working on it. I got some usefull information, I’m currently trying to target one potential problem. No guarantee that this is the root cause though, we may need a few more round trips
So the logs say the gpu process is crashing, i removed some options that might cause this in ffmpeg so maybe it should work now. i also added more logging options around ffmpeg, so if it still happens just send the logs (debug level) again
I tried addressing the issue. I do not own an osr device, so you guys have to tell me if it works now
Everything you requested was added, i also tried to addresss your bug reports. You can find the “disable disconnected pill” inside the gameplay settings. The antiperks with device support can now be enabled regardless, there is an experimental setting for it
I also added more perks that address your feedback
Cum rounds can now also be selected
And you can now tag multiple rounds in the installed rounds sections
I added all your suggestions.
I also tried to address the bug report with the osr. You guys have to tell me if it works, i do not own such a device. Could debug it better if there would be kind of a software emulation for osr devices, or maybe someone can lend me their device for a few days so I can test it out.
Did a silent v0.5.01 update
Added FunSync Player — All-in-one video player with built-in editor, EroScripts search, multi language, and multi-device sync - #65 by Davemakeswaves1 in the credits for providing a code example for implementing tcode devices
Glad i could help! you’ve got a really great project going, congrats!
The Isues are still there just a headsup. You got alot of Stuff you work on.
v0.5.04 is on the way
Invert script now persists
Thanks for your understanding, was overwhelmed by all the messages so missed that one
2 new invasions i recently installed that i quite liked
A zelda and a peach one
@Dupli9d In the Menu im getting around 36 FPS now.
While playing Endless Mode 5 - 12 FPS. ![]()
FPE v0.5.06
How is this even possible with an 4090
![]()
I’m having no FPS/etc. issues with an AMD RX 7800XT over here. Kind of ironic, I’m so used to it being the other way around.
Haven’t had an opportunity to test out the TCode side of things yet, but all the map editor changes you’ve made are honestly more customization than I was even hoping for. So that’s awesome.





