What's new

[WIP - Full] Succubus Rhapsodia (English) - Plains, Hills, and Cages Edition


OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
Big update, Release_0002 is ready.

Download:

As usual, extract to your game directory (where Game.exe is) and overwrite. I would highly advise erasing and getting a fresh copy of your System/talk and your Mod_Talk folders, then running the python file and using option 3 again. Not mandatory (yet).

General changelog:

  • Moonlit Sea of Trees is now (almost) entirely translated.
  • Translations of SkillText, StateText, and TalkSys updated.
  • Additional translated text for Petit Devil, Imp, Eternia, Lesser Succubus, and Nightmare.
  • Graphics modding capability added. English graphics for Home, Dream Base, and Moonlit Sea of Trees all added.
  • Removed the hash workaround for new game crashes.
  • Random names for a few succubi are now entirely in English.
  • Patched a bug that would cause the game to crash with succubi that have a capital H in their name.
  • Translated about half of the giggle/pleasure string interpolations to English.

And as always, please report typos, bugs, crashes, etc.
 

xRoguex

Member
Joined
Sep 26, 2021
Messages
45
Reputation score
12
Edit 2:

Also, got a crash stemming from possibly one of your scripts, Strange.
◆ 2022-08-13T14:04:14
バージョン :
220806
パッチ :
220813a
エラーの種類 :
ArgumentError
メッセージ :
wrong number of arguments (0 for 1)
マップ:
ID:72
トループ
ID: 149
Enemies: [88,88,88]
ステータス状況/エネミー側がアクション
クラスID:
6
コモン呼び出し履歴:
[]
バックトレース :
./Mod/Mod_Scripts/PR_MOD_Game_BattleAction.rb : 58行目 : in `index'
./Mod/Mod_Scripts/PR_MOD_Game_BattleAction.rb : 58行目 : in `decide_random_target_for_enemy'
./Mod/Mod_Scripts/O_MOD_Game_Enemy.rb : 400行目 : in `make_action'
./Mod/Mod_Scripts/O_MOD_Game_Enemy.rb : 394行目 : in `each'
./Mod/Mod_Scripts/O_MOD_Game_Enemy.rb : 394行目 : in `make_action'
Scene_Battle 4 : 87行目 : in `start_phase4'
Scene_Battle 4 : 80行目 : in `each'
Scene_Battle 4 : 80行目 : in `start_phase4'
Scene_Battle 3 : 44行目 : in `phase3_next_actor'
./Mod/Mod_Scripts/魔術_English_MOD_Messages.rb : 2282行目 : in `update_phase3_enemy_select'
Scene_Battle 3 : 123行目 : in `update_phase3'
./Mod/Mod_Scripts/魔_English_MOD_Scenes.rb : 887行目 : in `update'
./Mod/Mod_Scripts/PR_MOD_Scene_Battle_1.rb : 455行目 : in `main'
./Mod/Mod_Scripts/PR_MOD_Scene_Battle_1.rb : 449行目 : in `loop'
./Mod/Mod_Scripts/PR_MOD_Scene_Battle_1.rb : 460行目 : in `main'
Main : 16行目
--------------------------------

Was fighting an OFE. Teammate died and another teammate swapped in. Game crashed when I tried to use "Kiss" the following turn.
Same here. If you take away form the script foldet the 魔_English_MOD_Scenes.rb file the error won't happen. You can try and do the same. I've already shared to Strange this error too yesterday
 

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
487
Was fighting an OFE. Teammate died and another teammate swapped in. Game crashed when I tried to use "Kiss" the following turn.
I think it's my "ct > 300" debug script at fault. But I couldn't reproduce this, with or without the script.
I'll apply the newest mods, since they'll require me to go through the related battle scene anyway.
 
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
Is it? :eek: ... ... Updated my side. Please report anything I could've overlooked.
Just in case you happen to hop on, there's a reproduceable crash that occurs with the purple-haired succubus in the Moonlit Sea of Trees. Currently working on a hotfix now, but the error comes straight from your Messages file. Going to look at what's causing it and a possible resolution.

Hotfix is attached.

Strange-
Line 1092 needs to be changed from leader = $data_troops[$game_temp.battle_troop_id].split(/\//)[1] to leader = $data_troops[$game_temp.battle_troop_id].name.split(/\//)[1]

Right now your script is trying to split on the troop data itself.

I'm also still getting the other crash also pertaining to (what seems to be) your script that I mentioned on the other page. It happens every time a team member dies and another swaps in. Going to see if I can find out what's going on there too.

Actually, from some brief troubleshooting now, it looks like the game may be trying to pull the removed character as a target when they're defeated in combat. It may actually be a mod issue and not on our end.

It was definitely a mod issue with PR_MOD_Game_BattleAction.rb. I've uploaded a hotfix for this crash as well. The battler check when deciding a target was only checking for nil values for some reason, when the base game checks for empty strings. Changed if battler != nil to if battler != nil and battler != "" to resolve the issue.

Same as other fixes -> just drop into your Mod_Scripts folder. If it's still crashing, let me know, but I tested this multiple times and could no longer reproduce the crash.

I've added a known bugs list to the OP to keep track of more complex / long-running issues. I'm currently tracking one already. Strange, if you happen across anything that needs to be looked at / added, let me know.

Edit 5:

Ok, well I finally managed to seemingly (at least so far) resolve a rather long-standing bug with the hash replacement and translated texts occasionally not showing up in game from the Talk dialogue. The downside is it required rewrite of the core component of the English injection, meaning Release_0003 will require a fresh set of base game and Mod_Talk files as well as re-running option 3 in the Python script afterwards again. Because this bug is rather harmless and requires a pretty unique circumstance, to even observe, I'll hold off on releasing the updated version of the patcher until Release_0003.

So I misunderstood the way the Talk files are initialized outside of classes in that they're only pulled a single time when the fight loads. This caused multiple global variables to get stuck on the last enemy to load their $m_name path, which hash_DB pulled from. So if Werewolf was the last to talk, and a Lesser Succubus was also an enemy, the hash_DB would only see the Werewolf's because the global variable cannot have multiple text files within it to prevent data hang crashes.

This required me to move all of the global variables to within the definitions where tx={} is declared to ensure those variables are refreshed every time an enemy's Talk function is called. This seems to have resolved the issue after rerunning a few tests. We'll see if it springs back up again, although fingers crossed this fixed it.
 

Attachments

Last edited:

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
487
{many edits} :D
1 - Good catch, as always. The 'correct' line is:
leader = $data_troops[$game_temp.battle_troop_id].UK_name
I'm open to any suggestion about: text = leader + " appears!". I'd like these 'battle start!' lines to sound better in English. Like "Succubus Lord and friends appear!", but better. I'll think about it again.

2 - Well, the modders are aware. They've set up an error log for this specific issue, like the changelogs say.
msg = "[make_skill_action_result-001] 対象なし トループ:#{@troop_id} 行動バトラー:#{@active_battler.name} SKILL:#{@skill.id}"
$sr_error_log.save_debuglog("debug_log.txt", msg)

3 - I'll have a look. Either way that means this "battler" is not a battler, so the 'real' issue is higher upstream. A temporary fix is appreciated none the less.
With that in mind, I pretty much completed the incense system (inc.TL) which had most of the "\w\q" still out there, so expect a patch sometimes this week; probably with the latest scrpm, since best girl Rejeo :love: is part of it...
 
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
1 - Good catch, as always. The 'correct' line is:
leader = $data_troops[$game_temp.battle_troop_id].UK_name
I'm open to any suggestion about: text = leader + " appears!". I'd like these 'battle start!' lines to sound better in English. Like "Succubus Lord and friends appear!", but better. I'll think about it again.

2 - Well, the modders are aware. They've set up an error log for this specific issue, like the changelogs say.
msg = "[make_skill_action_result-001] 対象なし トループ:#{@troop_id} 行動バトラー:#{@active_battler.name} SKILL:#{@skill.id}"
$sr_error_log.save_debuglog("debug_log.txt", msg)

3 - I'll have a look. Either way that means this "battler" is not a battler, so the 'real' issue is higher upstream. A temporary fix is appreciated none the less.
With that in mind, I pretty much completed the incense system (inc.TL) which had most of the "\w\q" still out there, so expect a patch sometimes this week; probably with the latest scrpm, since best girl Rejeo :love: is part of it...
Just wanted to note regarding point 3, this hotfix may as well be permanent. It's mainly waiting for the modders to add this same fix. The presence of an "empty" battler is a moot point and doesn't affect the game at all (and to my knowledge, said battler is removed after the swap regardless, meaning all future target selection roulettes ignore the "empty" battler).

I didn't think it was worth mentioning because... well, like I said, the empty battler doesn't actually impact anything that I can see. Not at my computer, but from what I recall, target roulettes are freshly generated every time the definition is called.

Anyway, something tangentially related, I'm going to start running memory profiling on the game. I have a sneaking suspicion there is a memory leak somewhere. I've noticed that, particularly after fights, the game starts to stutter. It could just be the Dark Grotto itself causing the stutters since I haven't been there for too long, but it's a little suspect. Hopefully my suspicions are unfounded because digging out a memory leak will be actual hell.

Edit:

Mod version updated to 3042.atc.
 
Last edited:

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
487
Just wanted to note regarding point 3, this hotfix may as well be permanent. It's mainly waiting for the modders to add this same fix. The presence of an "empty" battler is a moot point and doesn't affect the game at all
Correct. The issue is elsewhere, but we don't need to care, as there is no way to revive party members in battle. A few enemies can, but I've never seen them glitch in ages. Old habits make me a bad playtester; my games almost bug-free. It took me ages to reproduce the swap-in bug... But I'll keep an eye out for more.

I think my next CE patch should be CE#28 AKA ☆New contract... I'll probably opt for the class name (Imp, Nightmare etc) as a default name, because the the 800 lines of kanas in 'def random_name' are slightly daunting... Amusingly, my "uniques" script will rename any "インプ" to "Imp" etc, when you choose not to rename a Succubus 😆

Memory leaks... I hope not. Before the mod, in Vanilla SR, the talk files were the reason the game took over 1mn to boot... (edit: which is unrelated). I'll try a longer playtest when I have time, but it'd be nice to hear some more testimonies about lags/slowdowns? Anyone?
Mod version updated to 3042.atc.
(and not much work to implement :p)
 
Last edited:
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
There's a memory leak but I think it's from the new implementation I had to go with for the English_Patcher. The game gradually degrades in performance every time there's dialogue on the screen in combat. Guess it's time to start digging... 🙃
 

xRoguex

Member
Joined
Sep 26, 2021
Messages
45
Reputation score
12
There's a memory leak but I think it's from the new implementation I had to go with for the English_Patcher. The game gradually degrades in performance every time there's dialogue on the screen in combat. Guess it's time to start digging... 🙃
With this Eng_Mod messages now the game crashes in bed fights when one in my party goes in crisis.
Ofc i tried to exclude that file from the folder and the error doesn't happend.

I'll confirm the fact the game gets slower and sometimes lags too
 

Attachments

OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
With this Eng_Mod messages now the game crashes in bed fights when one in my party goes in crisis.
Ofc i tried to exclude that file from the folder and the error doesn't happend.

I'll confirm the fact the game gets slower and sometimes lags too
I'm not having any crashes related to Crisis. Make sure you clear your Mod_Scripts folder and do a fresh install of the scripts. None of those lines in the error log pertain to the English mod regardless which makes me further suspect your installation is bad.
 

xRoguex

Member
Joined
Sep 26, 2021
Messages
45
Reputation score
12
I'm not having any crashes related to Crisis. Make sure you clear your Mod_Scripts folder and do a fresh install of the scripts. None of those lines in the error log pertain to the English mod regardless which makes me further suspect your installation is bad.
I always backup my scripts files just in case and only with the LesserSuccubus did this problem to me. I revrited all the Eng mods so far and now is working fine.
I've checked it every file but it seemed to me they were all the same. Maybe I had still something older I dunno. Thanks
 

Oskar1899

Member
Joined
Aug 27, 2019
Messages
59
Reputation score
8
Hey Withered, I've been following Succubus Rhapsodia since 2016 to where I even tried learning coding to figure out if I could translate it myself (it didn't go well). I had given up on the translation in 2020 from the previous thread. You have just made my whole year a lot LOT better. Thanks so much man.
 
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
Update 0003 is now available. With it comes a major change to the installation process. Notably, I programmed an installer for the English patch. All you need to do is run English_Patch_Installer.exe and follow the instructions on the Command Prompt. For people that prefer the Python script, it's still bundled under the Release_0003 folder. And, for transparency, the source of the .exe is also included as a Python script inside as well.

The installer requires AttacheCase4. It is not optional. Moreover, the installer will only be supported by myself on Windows machines.

I did some pretty extensive testing on my machine and it seemed to work fine. If you have issues with the installer, let me know. When it's finished, it should close itself and create a file called "English_Patch_Versions.txt" inside your game folder.

Everyone must run this installer on a fresh installation of the game. This is also not optional. Your game will crash if you don't.

Automated features of the installer:
  • Detects, downloads, and installs Plains, Hills, and Cages mod.
  • Installs the English translation mod, including Talk file script injection.
  • Can check for updates, download them, and install them (it will not update in the event of a core mod file update because these are generally extensive and need thorough testing on my end... that said, this is very rare)
General changelog of Release 0003:
(Note that these will start to contain general spoilers from now on, you've been warned)
  • Dark Grotto is now translated. Note that some areas another half or multiple parts accessed later in the story, so these will be specified accordingly (e.g. Dark Grotto pt. 2)
  • Church Library is now translated
  • Rejeo boss fight received partial translation
  • Additional updates to Talk files: Werecat, Sleepy, Petit Devil, Slave, Lesser Succubus, Werewolf, Imp, Nightmare, Slime
  • Additional battle text (Skilltext, Statetext) translated
  • Installer patches multiple crashes that can occur with boss fight

As always, keep me informed of bugs, crashes, typos, etc. And back up your save files before running the installer.

Download:

If for whatever reason the installer is broken on your machine, go ahead and report the error and fall back to the old installation method. You will need to delete your talk files, however, and re-run the injection or your game will crash.

Also, this does not include Strange's UI patch, nor does it check for it. You will need to download that separately. I can't include anything related to his patch due to how ULMF handles attachments for guest users.
 

Strange

Demon Girl Pro
Joined
Jul 24, 2014
Messages
1,256
Reputation score
487
Also, this does not include Strange's UI patch, nor does it check for it. You will need to download that separately. I can't include anything related to his patch due to how ULMF handles attachments for guest users.
Feel free to modify and/or include my files in your releases as you see fit. I can adapt to changes just as I do with srpm updates, which I basically check line by line.

I'm aware a lot of my work will need revisions, from a fresh perspective - that which I don't have. So use it as you like if it's of any help. Or also, dismiss it as needed. I'll keep trying to keep up with you and the srpm updates as much as possible, though! 😁
=> The incentive of having a 100% English SR is much stronger than any pride I could have in my previous misdeeds 🙃
 
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
I already talked with Strange about this, but just a heads up that I'll be busy the next couple of weeks (maybe 3 weeks). New job and moving, so don't except much, if any updates during that time.

On that note though, because this seems to be a more and more commonly occurring issue, I'll include a stable release of Strange's patch with every future update. The Installer won't be able to check for updates from Strange just because of the problem I mentioned above with ULMF and guest accounts, but Release_0004 should no longer require a separate installation of Strange's patch.

Thanks for your understanding
 

CivilDeviation

Jungle Girl
Joined
May 9, 2013
Messages
6
Reputation score
0
If feasible, at some point, it would be great to have a generous spirit compile the main mods and english patch into a single zip and patch (obviously without the base game). The download and update guide are great, but regrettably, quite out of date, and my laymen brain just can't figure out the installation process with all the changed files.
 

Serifyn

Tentacle God
Joined
Nov 10, 2010
Messages
1,393
Reputation score
340
I believe Gryphon said he'd try to simplify the process as best he can, that said it shouldn't be too hard to simply download the main file then the mod file separately, then just decrypt and overwrite all of the assets.

Where it really becomes a pain in the ass is when we're downloading new programs in order to inject and overwrite files that are encrypted via archaic means. Any monkey should be able to figure out how to overwrite RPGmaker files by now after they've been decrypted but if it ends up being simple as that i don't mind typing up a quick guide for people who've never done it.
 
OP
WitheredGryphon
Joined
Sep 21, 2020
Messages
81
Reputation score
39
The installation instructions are fully up to date. If you can't figure out how to run an executable, then this patch isn't for you.

It's not feasible for me to simplify it further beyond what adding Strange's patch to the base install, which I already said I would do with Release_0004.
AttacheCase4's CLI doesn't seem to decrypt archives which need files to be dragged-and-dropped as passwords. For some reason inputting the SHA-256 hash of the icon as the password is considered different (read: incorrect) compared to when you drag a file onto AttacheCase4 and convert it to a SHA-256 hash which it recognizes as the same password.

In other words:
SHA-256 hash of the Succubus Rhapsodia icon: C69AF5E6A57A740DBC938AE9D3D90BD157D7FF2D415745ABF46F35D8F61D4B24
SHA-256 hash of icon AttacheCase4 generates: C69AF5E6A57A740DBC938AE9D3D90BD157D7FF2D415745ABF46F35D8F61D4B24

Those two hashes, in AttacheCase4, are not equal. It would require me to either modify AttacheCase4's source code, or write my own decryption algorithm, neither of which I have any intention of doing.

So, in layman's terms: you need basic computer literacy to use this patch.
The installer is as idiot-proof as I intend to make it.

have a generous spirit compile the main mods
Nobody should be doing this whatsoever. The installer comes with an updater built in and I've already had to troubleshoot multiple "bugs" due to people not updating their files properly because they downloaded old ones instead. Use the installer.
 
Top