• We will be performing maintenance to upgrade some of our forum tools. During this time, the site will remain online, but you may encounter some errors until the maintenance is complete. The report and search functions will be unavailable until the maintenance is complete.

    Maintenance is expected to last up to 9 hours.

    The maintenance window will start on Thursday, 2024/07/04, at: 1:00 PM GMT / 3:00 PM CEST / 9:00 AM EDT / 6:00 AM PDT / 12:00 AM AEDT

    Thank you for your patience.

sqwarch

New Member
Apr 4, 2019
8
1
The current problem running it all on Linux: Using the Windows build on Wine results in no sound because Wine “can't find” the wav files despite them being there (not a permissions or case-sensitivity issue though). That causes the engine to lag a bit trying to repeatedly (as fast as possible) load the wav files. Using the native build, the audio worked perfectly, but the stylesheet isn't being correctly maintained between navigating locations/menus causing game-breaking issues without modifying the engine slightly (which I did, and it results in everything working for that). But there is another issue after that. The developers have foolishly used spaces in directory/file names which requires editing far too much to be sustainable. Frustrating to help others (I don't play adult games, I just remove DRM and fix things).

*Edit* I have attached an initial build (WITHOUT STYLESHEET FIX). This initial build also does not compensate for spaces in URIs. This is just proof-of-concept (POC) to show FastQSP can be compiled for Linux. Compiled on an Ubuntu-like distro. I have noticed that it doesn't automatically load the initial QSP like the Windows build. I can fix that sometime. You'll see the stylesheet issue at the main menu. Note that if you check the HTML on both the “Achtung/warning” that the CSS stylesheet from 'css/base.css' is present but not so on any other page rendering the game unplayable because of it.

*Edit* I've noted that some *buntu newcomers aren't aware that some Desktop Environments don't do the whole “double-click to launch” thing and are used to shell scripts. Just ./FastQSP-JONT and you're fine. *shrug*

*Edit* I now have STYLESHEETS working! Spaces are also escaped correctly! There is only one problem left. File system case-sensitivity. The game developer(s) should rename all files to underscores and all lowercase and update their scripts to reflect that too. But for now...you can use ciopfs to circumvent this issue! Everything works correctly with the work-around providing case-insensitivity for file system access but the developer(s) should really get to fixing their case-sensitivity issues. The current file layout they're using with whack-case names and scripts that call either case and some with spaces will prevent them from running on Android and such if they wanted to target that platform.

Bug: For some reason, list items (<li> / </li>) are being removed when navigating back to a page. This'll take some time debugging. Once finished, ready for release. Suspect there is an issue with QSP variable lifetimes...which would explain STYLESHEET also being foobar without the hackish override. For now, I've added a call to executeJSON() inside the same routine I used to provide the STYLESHEET work-around. Working.

Goals: Auto-load QSP. Find way to automatically work around file system case-sensitivity.

Remember that the build attached is a raw compile of FastQSP (“mod” aka “jack” edition). It contains no work-arounds. The picture is of the build I'm working on which needs one last work-around (case sensitivity issue) and I have not uploaded it yet because I'm trying to see if I can do it without asking the game developer(s) to do it.

View attachment 998719
Thanks for all this, any chance you could upload your current version? I don't have a problem using ciopfs or dealing with minor other bugs. Unless ofc the list items missing is game breaking.
 

BupoTiling03-Retired

Well-Known Member
Modder
Jul 21, 2018
1,304
1,771
Not a chance.
Maybe, maybe not. Someone might've already been porting it to UE with a lot of influence from Strive for Power and various other games in one gigantic new game. Or maybe not. They have confidence issues. If it isn't perfect, no release. X_X
*Edit* That was fast, a pm from someone about it. No, I'm not answering questions about them, just was mentioning. Who knows, they're very flighty when it comes to committing to anything full in life. They still have a bunch of 0.9 versions of software and stuff they write with no release because they're never happy with it despite them being quite ready for the public. *cough* Project is code-named “Forlorn” and basically combines JONT, Strive for Power, a few various others with an emphasis on moral story and deeper 4X management but with automation and abstraction at configurable levels with configurable fetishism and stories to match. *cough* I doubt they'll release being such perfectionists.
Thanks for all this, any chance you could upload your current version? I don't have a problem using ciopfs or dealing with minor other bugs. Unless ofc the list items missing is game breaking.
Actually yes, I was just finishing up with it all. If you can set up a ciopfs you won't need to do anything else, and it should run fine. I've got a finalized build ready for testing with ciopfs. Works on my end, not sure of anyone else's. You may need to install a few Qt5 libs. The attached build appears to be working. (I've played about an hour trying out various areas of the game just to see.) Because I'm still running on a case-sensitive file-system, a few images don't show (of all the images, less than 80 roughly by grep for case-sensitivity and nothing seems broken despite). I did add a debug print for any URL/URIs being patched to escape SPACES, but it'll be up to *nix players to figure out what file/folder is cased incorrectly. For example, some requests to 'UI overhaul', 'Ui overhaul', 'ui overhaul'. -_- It is best played on a ciopfs for now. It'd be nice if the devs replaced all spaces in the content folder and went all lower-case. It'd be easier to port to Android, Mac, Linux, etc. (This Linux build could compile for Mac, too.) Symbolic links do not seem to work*, so I may just upload a ZIP with a bunch of symbolic links to drop in. *shrug* Run from console/shell/terminal to see some dbg output. The only ones you'll be interested in are the URL/URIs. They're printed regardless. Those messages are only about whether they were space-escaped or not. They have nothing to do with casing, but I thought it's better to print URL/URIs regardless. Should be able to play the entire game and merely find missing images in output, create a proper case copy for what it needs and simply be fine.
I just added auto-loading of the QSP file to my offline build. May update here sometime or later.
I've also noticed a bug in the Linux port. If sound has been muted via the QSP window, and you attempt to visit any area that changes music it will SEGFAULT. My offline build has a fix. May update here. For now, use the 'in-game' option for audio muting and *not* the menu.

*Edit* See latest post of mine on page 237.
 
Last edited:
  • Like
Reactions: sqwarch

Jman9

Engaged Member
Jul 17, 2019
2,295
957
If I was the developer(s), I'd rewrite on a new engine from scratch.
Easier said than done.

Actually, QSP should be abandoned and left in the dust. It has a lot of issues and limitations. RenPy could easily replace it (I am not a RenPy fan, just stating a common example replacement).
Ren'Py has its own problems, and is generally unsuited for non-VN games, especially ones that have a lot of fiddly bits. But that leaves you with Unity (and that is not all that attractive either, but at least it's free and has C), even more niche engines, or writing a new one yourself. :cry:

we can take a look.
Anyway, how long is this looking going to take? :p

I understand that icons can't fully replace larger pictures, but the small buttons and even inventory pictures would be much better as icons. And if you're ever planning to introduce a paperdoll system or even a console-style item list with icons, the zoomed-in pictures will really clutter things up.

Also, I'd appreciate someone telling me where his usual haunts for item pictures are. I'd really like to make it easier for the next me trying to spice up his project with cute lil' pictures.
 

BupoTiling03-Retired

Well-Known Member
Modder
Jul 21, 2018
1,304
1,771
Easier said than done.

Ren'Py has its own problems, and is generally unsuited for non-VN games, especially ones that have a lot of fiddly bits. But that leaves you with Unity (and that is not all that attractive either, but at least it's free and has C), even more niche engines, or writing a new one yourself. :cry:

Anyway, how long is this looking going to take? :p

I understand that icons can't fully replace larger pictures, but the small buttons and even inventory pictures would be much better as icons. And if you're ever planning to introduce a paperdoll system or even a console-style item list with icons, the zoomed-in pictures will really clutter things up.

Also, I'd appreciate someone telling me where his usual haunts for item pictures are. I'd really like to make it easier for the next me trying to spice up his project with cute lil' pictures.
It might be easier said than done for people who have lives but for people like me, no life. Kinda easy when you can dedicate 16+ hours a day easily to anything.
Yeah, Ren'Py has issues too especially regarding image-caching and is as you said, generally unsuited for non-VN games, but it has been shown to work on a number of games. Unity...*cringe*... We can definitely agree on that one. Godot isn't exactly niche and Strive for Power was written with it, extensible too.
I'd like to weigh in on the icon thing you're talking about. I'm an absolute stupid nut when it comes to collecting template items for stuff, and it'd be neat to see some generic collection in SVG (or PNG) format available under CC/GPL/PD, but it'll face the same problem as open-source content: that most people doing content would prefer some compensation. Likewise, I'm as hopeful as you are.
*I don't see JONT with a paper-doll system although that would probably make the equipment screen a bit nicer. I don't actually play adult games, but I do debug/remove DRM/patch, etc.
 

StJesuz

Member
Donor
Jan 17, 2018
297
744
Checking out the new update, congrats it looks really nice.

I have a question about the slaver's whip skill. Can the slaver gain whipping skill by using a whip in a sparring match in the coliseum?
 
  • Like
Reactions: qwertyu12359

BupoTiling03-Retired

Well-Known Member
Modder
Jul 21, 2018
1,304
1,771
The bug relating to music being muted is because of the lost handle to FastQSP's jack backend. When you change location (“aka menu”) in the game, you're telling that backend to change because you have also run into the '$toplay loop' I mention below when changing locations. Because loading doesn't run that loop, you get no command to tell FastQSP to update the audio to play. You *must* recompile FastQSP to fix this bug by stopping all audio on any game-change/load. No way around that. This applies to any area of the game that plays music. The game can be loaded, but it doesn't automatically fetch a handle to the current media object. FastQSP must be extended to provide a reference so that *on load* it can give the game a variable specifying it was just loaded and the game loop needs to be updated to then parse that variable and then simply set $toplay to the appropriate value and start playing.

The bug relating to music during a race is because you have two code-blocks that don't compensate for one another, and I don't believe the one block is even needed.
Usually you set $toplay = '...' and let the game handle it via (line 74991):
Code:
if $music_now ! $music[$toplay]:
      close $music_now
      $music_now = $music[$toplay]
end
On line 42716 you do not handle $toplay and use:
Code:
if $music_now ! $music['ride']:
close $music_now
$music_now = $music['ride']
end
You need to just use (42716 block):
Code:
$toplay = 'ride'
If it turns out you need that code block to start/stop the music during race because the game doesn't loop the 'outer' code block that plays music then set it instead to:
Code:
$toplay = 'ride'
if $music_now ! $music[$toplay]:
      close $music_now
      $music_now = $music[$toplay]
end
if sound_on = 1: play $music_now, music_volume

if ui_style = 2:
     if sound_on = 1:
          *p '<div id="sound_icon"><a href = "EXEC: sound_on = 0 & close all & gt curloc"><img src="content\pic\ui\grimdark\buttons\sound_on.png"></a></div>'
      else
          *p '<div id="sound_icon"><a href = "EXEC: sound_on = 1 & gt curloc"><img src="content\pic\ui\grimdark\buttons\sound_off.png"></a></div>'
     end
else
     if sound_on = 1:
          *p '<div id="sound_icon"><a href = "EXEC: sound_on = 0 & close all & gt curloc"><img src="content\pic\buttons\sound_on.png"></a></div>'
    else
          *p '<div id="sound_icon"><a href = "EXEC: sound_on = 1 & gt curloc"><img src="content\pic\buttons\sound_off.png"></a></div>'
     end
end
While I don't experience any audio crackling, FastQSP uses the QMediaPlayer backend to play audio. It is not the best. I don't want to try porting the audio backend (it isn't much in this case to actually do a lot, but I don't want to have to manage two builds). You might try grabbing a newer copy of the Qt libraries and replacing them and seeing if it will tolerate that behavior. There could be bug fixes or performance enhancements and a simple library swap might be possible without a recompilation.

The nature of QSP prevents forward-compatible saves without some hackish workarounds. It has the same issues as Unreal Engine in this department.

The game needs a CSS rewrite to implement based on a 100% font size and use RELATIVE sizes and not pixels. Otherwise, you're also screwed for hiDPI screens such as my one 4K monitor. I'm forced to move it to a second 1080p monitor to compensate because I don't like the way any OS currently 'compensates' for DPI issues such as by stretching, etc. This will also fix your minus sign issues along with a vast number of other small issues regarding alignment and stuff.

You also need to convert all content file and folder names to lowercase and remove spaces (underscore or dash). This will fix any Mac/*nix access issues.

Unusual bug encountered using a custom Isabela JSON:
If seed_gladiatrix is non-zero, then seed_dressage and seed_pet are not parsed (stay 0). Various combinations of seed_cowSK, seed_dressage, seed_gladiatrix, and seed_pet can bug one another and result in some being loaded, some not. Far too lazy to delve into the code to fix it.

There is a bug in FastQSP that causes a regression on *nix platforms (more strict about certain things). FastQSPWindow's PlayAudio needs to have some error handling added. If the game is muted via the window and the game calls to play any audio then the audio backend tries to stop any music that is *already* playing even if it *isn't* playing. I'm adding a status detection to fix this bug.

The audio issues relating to 'timing' such as enabling/disabling sound and changing too quickly are a result of the delays added to FastQSP jack by the original author. If you attempt anything less than 1s (for good measure, actual code is about 500ms) then you'll create a lot of issues. Would need a complete rewrite of the backend. I removed the fade, and it is all fixed for this. No fade for now but I'll look into hooking it all back up correctly later. I think it may have to do with not stopping all audio (manually) when loading a game if any audio was playing.

*Edit* LINUX-USERS: See latest post of mine on page 237.
 
Last edited:

BupoTiling03-Retired

Well-Known Member
Modder
Jul 21, 2018
1,304
1,771
My opinion as a non-related developer: A rewrite on a new engine would be best, again, in my opinion. I don't know if you have the src for FastQSP jack mod (the player) but if you don't, you'd need to grab it, fix it to compile on modern compilers and libraries (it won't otherwise), then implement these changes. Might as well port at that point. You could choose an engine that can run on any platform at that point. Just saying.
 

qwertyu12359

Jack-o-nine-tails
Game Developer
Aug 1, 2017
1,570
1,699
My opinion as a non-related developer: A rewrite on a new engine would be best, again, in my opinion. I don't know if you have the src for FastQSP jack mod (the player) but if you don't, you'd need to grab it, fix it to compile on modern compilers and libraries (it won't otherwise), then implement these changes. Might as well port at that point. You could choose an engine that can run on any platform at that point. Just saying.
You're not the first person to say that.

But two people tried: + https://f95zone.to/threads/jack-o-nine-tails-unity-remake.38359/

Epic failures.
 

BupoTiling03-Retired

Well-Known Member
Modder
Jul 21, 2018
1,304
1,771
You're not the first person to say that.

But two people tried: + https://f95zone.to/threads/jack-o-nine-tails-unity-remake.38359/

Epic failures.
Godot would be a decent engine to port to. (Strive for Power, a perfect example). Unity is whatever Unity is... (I know what it is, can dev in it as well, I just hate it.) Most people underestimate the labor of writing management games. I've made a few and a project of this size is actually small but still more than large enough for non-management hopefuls to attempt, so I understand their failing. QSP just has far too many issues and limitations and in hindsight was a poor choice. Meh. :) To keep it simple and related to web, perhaps rewriting it as an HTML game would be better and easier.
 

Huemast

New Member
Apr 7, 2018
1
1
I remember playing this back in the day, hardest start, no problem. Now, I can't even get past the Easy tutorial, ran outta money before I could get anything more than a D- overall. I tried the Normal tutorial after I failed that, and couldn't even teach anything because slave kept refusing, eventually fainted and died. I guess I'm a total noob now. Any guides/advice around that are v2.2 friendly?
 

BupoTiling03-Retired

Well-Known Member
Modder
Jul 21, 2018
1,304
1,771
I remember playing this back in the day, hardest start, no problem. Now, I can't even get past the Easy tutorial, ran outta money before I could get anything more than a D- overall. I tried the Normal tutorial after I failed that, and couldn't even teach anything because slave kept refusing, eventually fainted and died. I guess I'm a total noob now. Any guides/advice around that are v2.2 friendly?
Honesty like this deserves an upvote. Wait this isn't imgur... ah well, cheers anyway. Good luck. :]
 

YuRui

Newbie
May 22, 2018
61
47
for some reason, my game doesn't have sounds and it's not showing audio on my volume mixer, I've tried muting in-game and enabling it again but there's still none, anyone figured this out? I clearly remember this having some classic music.
 

BupoTiling03-Retired

Well-Known Member
Modder
Jul 21, 2018
1,304
1,771
for some reason, my game doesn't have sounds and it's not showing audio on my volume mixer, I've tried muting in-game and enabling it again but there's still none, anyone figured this out? I clearly remember this having some classic music.
Check the menu at the top AND the icon in-game, top right, next to your Avatar. Also check the Options next to it.
 
  • Like
Reactions: YuRui

YuRui

Newbie
May 22, 2018
61
47
Check the menu at the top AND the icon in-game, top right, next to your Avatar. Also check the Options next to it.
It still does not have audio, both are at 100% and the game is not muted. I'm using Windows 10, 64 Bit, 20H2.

It's not a big issue for me though, I just missed those classical music tunes, lmao.
 

ImperatorAugustusTertius

Engaged Member
Sep 12, 2020
2,106
803
The bug relating to music being muted is because of the lost handle to FastQSP's jack backend. When you change location (“aka menu”) in the game, you're telling that backend to change because you have also run into the '$toplay loop' I mention below when changing locations. Because loading doesn't run that loop, you get no command to tell FastQSP to update the audio to play. You *must* recompile FastQSP to fix this bug by stopping all audio on any game-change/load. No way around that. This applies to any area of the game that plays music. The game can be loaded, but it doesn't automatically fetch a handle to the current media object. FastQSP must be extended to provide a reference so that *on load* it can give the game a variable specifying it was just loaded and the game loop needs to be updated to then parse that variable and then simply set $toplay to the appropriate value and start playing.

The bug relating to music during a race is because you have two code-blocks that don't compensate for one another, and I don't believe the one block is even needed.
Usually you set $toplay = '...' and let the game handle it via (line 74991):
Code:
if $music_now ! $music[$toplay]:
      close $music_now
      $music_now = $music[$toplay]
end
On line 42716 you do not handle $toplay and use:
Code:
if $music_now ! $music['ride']:
close $music_now
$music_now = $music['ride']
end
You need to just use (42716 block):
Code:
$toplay = 'ride'
If it turns out you need that code block to start/stop the music during race because the game doesn't loop the 'outer' code block that plays music then set it instead to:
Code:
$toplay = 'ride'
if $music_now ! $music[$toplay]:
      close $music_now
      $music_now = $music[$toplay]
end
if sound_on = 1: play $music_now, music_volume

if ui_style = 2:
     if sound_on = 1:
          *p '<div id="sound_icon"><a href = "EXEC: sound_on = 0 & close all & gt curloc"><img src="content\pic\ui\grimdark\buttons\sound_on.png"></a></div>'
      else
          *p '<div id="sound_icon"><a href = "EXEC: sound_on = 1 & gt curloc"><img src="content\pic\ui\grimdark\buttons\sound_off.png"></a></div>'
     end
else
     if sound_on = 1:
          *p '<div id="sound_icon"><a href = "EXEC: sound_on = 0 & close all & gt curloc"><img src="content\pic\buttons\sound_on.png"></a></div>'
    else
          *p '<div id="sound_icon"><a href = "EXEC: sound_on = 1 & gt curloc"><img src="content\pic\buttons\sound_off.png"></a></div>'
     end
end
While I don't experience any audio crackling, FastQSP uses the QMediaPlayer backend to play audio. It is not the best. I don't want to try porting the audio backend (it isn't much in this case to actually do a lot, but I don't want to have to manage two builds). You might try grabbing a newer copy of the Qt libraries and replacing them and seeing if it will tolerate that behavior. There could be bug fixes or performance enhancements and a simple library swap might be possible without a recompilation.

The nature of QSP prevents forward-compatible saves without some hackish workarounds. It has the same issues as Unreal Engine in this department.

The game needs a CSS rewrite to implement based on a 100% font size and use RELATIVE sizes and not pixels. Otherwise, you're also screwed for hiDPI screens such as my one 4K monitor. I'm forced to move it to a second 1080p monitor to compensate because I don't like the way any OS currently 'compensates' for DPI issues such as by stretching, etc. This will also fix your minus sign issues along with a vast number of other small issues regarding alignment and stuff.

You also need to convert all content file and folder names to lowercase and remove spaces (underscore or dash). This will fix any Mac/*nix access issues.

Unusual bug encountered using a custom Isabela JSON:
If seed_gladiatrix is non-zero, then seed_dressage and seed_pet are not parsed (stay 0). Various combinations of seed_cowSK, seed_dressage, seed_gladiatrix, and seed_pet can bug one another and result in some being loaded, some not. Far too lazy to delve into the code to fix it.
Thanks for the analysis. The inability to start with gladiatrix, pet and dressage skills at the same time is by design, introduced back in the HF days. Meant to make having a dual-specialization slave more difficult.
 

BupoTiling03-Retired

Well-Known Member
Modder
Jul 21, 2018
1,304
1,771
Thanks for the analysis. The inability to start with gladiatrix, pet and dressage skills at the same time is by design, introduced back in the HF days. Meant to make having a dual-specialization slave more difficult.
I was asked to create an OP Isabela, so I did except for Gladiatrix. All other stats in full but alrighty.
It still does not have audio, both are at 100% and the game is not muted. I'm using Windows 10, 64 Bit, 20H2.

It's not a big issue for me though, I just missed those classical music tunes, lmao.
You checked the actual game menu 'Other->Mute sound' (titlebar, next to 'Help') and the sound icon says 'Sound On' in game near avatar and the Game Options also have Music and Sound set to 100% and you have navigated to a new area of the game such as Home? If all that fails, something on your end I'm wagering. Maybe check that the entire game was also extracted.
 
  • Like
Reactions: YuRui

YuRui

Newbie
May 22, 2018
61
47
I was asked to create an OP Isabela, so I did except for Gladiatrix. All other stats in full but alrighty.

You checked the actual game menu 'Other->Mute sound' (titlebar, next to 'Help') and the sound icon says 'Sound On' in game near avatar and the Game Options also have Music and Sound set to 100% and you have navigated to a new area of the game such as Home? If all that fails, something on your end I'm wagering. Maybe check that the entire game was also extracted.
It might be my end, but I'm not sure which, my folder is 3 GB applying the patch.





 

BupoTiling03-Retired

Well-Known Member
Modder
Jul 21, 2018
1,304
1,771
It might be my end, but I'm not sure which, my folder is 3 GB applying the patch.
Weird. Might be your end then. Check your game/content/snd/ folder. Everything needs to be in its correct location. *Edit* I'd also make sure I didn't leave a headset plugged in and check that sound isn't being redirected to another device such as my monitor every ****ing driver update. xD One of the <many> reasons I left Windows.
 
Last edited:

hideouz

Member
Apr 15, 2018
119
70
may some one want a start help for the nerd johny (named chris in game..)
day: 99
cash: 619

pics for stats
 
  • Like
Reactions: qwertyu12359
4.00 star(s) 59 Votes