#Any regulation file saved in DSMapStudio causes crash when used in DS2 SOTFS

1 messages · Page 1 of 1 (latest)

cobalt wharf
#

I am modifying a DS2 regulation file, basically just merging params from NGPlus Merchants Inventory & No Health Loss on Death into Player Enhancements' regulation file, plus some custom edits of my own.

However, when I "Save Params" or "Save All," then deploy the saved regulation file in my DS2 game directory, DS2 crashes to desktop before even the splash screen logos.

Interestingly, I did a test where I opened the vanilla regulation in DSMapStudio, made NO changes, then saved it...which results in the same CTD.

SUMMARY OF ISSUE:

  • Opening a enc_regulation.bnd.dcx in DSMapStudio & saving it, regardless of whether any changes are made, results in CTD at game launch.
  • Replicated with two different enc_regulation.bnd.dcx files: vanilla DS2 SOTFS & Player Enhancements. (Both work just fine on their own, no crash.)

DSMapStudio is clearly messing up the reg file somehow. I am a very experienced modder of other games but only just started modding DS2 last week, so DSMapStudio is new to me. Am I missing something? Is there a special export function or something I should be using? I saw someone on Nexus recommend using Yabber Avocado to pack modified loose param files into a reg file & use that, but I want to retain the SpEffect scripts from Player Enhancements.

I do have a fallback option here, I think, where I can use the Player Enhancements' original reg file & load my custom params as loose files. The SpEffect scripts from the reg file should still be loaded, as the only stuff modengine is loading from outside the reg file is params.

Still, I would like to know what is going on with DSMapStudio borking every regulation file that gets saved in it.

cobalt wharf
#

UPDATE

According to this tutorial (which was linked by the Souls Modding wikidot site):

"Having loose params and a small regulation file is very important because any regulation file bigger than 10 MB will crash sotfs on startup, and that's not very much wiggle room considering it starts out at 818 KB."
https://parallel-industry-a38.notion.site/SOTFS-How-to-add-a-boss-to-a-new-area-as-a-regular-enemy-04fa16b0d1914e2c8f219ff119a7bea3

My modded reg file is only 1246KB, well short of 10MB, but I am going to empty it of params anyways to see if the size is possibly to blame. Now that I know that is a possibility, albeit at a much larger file size, I can at least try to ward against it

Feeble's Notion on Notion

Requirements:

tribal crypt
#

Try clearing imported row names if you haven't tried that already.

#

like so

wind yew
#

might want .*

#
  • on its own is meaningless (or just * idk)
#

also use looseparams for ds2, just easier

cobalt wharf
# wind yew also use looseparams for ds2, just easier

I am absolutely moving forward with loose param files. You're totally right, just easier. More modular, easy editing & saving in DSMapStudio & Yapped, easy loading with modengine, etc.

I just wanted to know why it causes a crash when I literally just take the vanilla reg file, save it without changes in DSMapStudio, then place it back in game directory.

Saving an unmodified reg file without causing a crash seems like something DSMapStudio should be able to do.

cobalt wharf
# tribal crypt like so

Wow, that does indeed work! I was able to open & save (without modifiying) the DS2's vanilla reg file & load it without crashing.

So, yeah, resolved. Would you mind explaining why that worked, though?

tribal crypt
#

The regulation file was too big a file size for the game to properly handle.

cobalt wharf
tribal crypt
#

We just assume when something doesn’t work, it’s just bc it’s DS2

cobalt wharf
steady tapir
#

@wind yew
How to use looseparams? because I'm suddenly having the same issues
Also typing
param .*: id .*: Name: = ;
Provides this error

wind yew
#

yeah I discovered this problem recently... unfortunately it seems rn the existing name is permitted to be null and that's breaking the massedit.
should be fixed in next release

steady tapir
#

So it doesn't read the command correctly ... gotcha

wind yew
#

it's parsing the command fine, it's unfortunately a problem executing it

#

bscly some rows just don't have names

#

can try a workaround

#

param .*: Name .+: Name: = ;

#

should only select rows where there is a nonempty name

steady tapir
#

Nice!
Is it Ok to do it after doing my edits to the file?

wind yew
#

yeah?

steady tapir
#

Right on
Testing ...

wind yew
#

this is just because ds2 has issues loading big regs right?

#

isn't there a ds2 modengine version that fixes that?

steady tapir
#

Which one? I'm using the one that's bundled with Seeker of fire

wind yew
#

I mean, if that works that's the one. Damn.

steady tapir
#

Ok so I modded the ringparam only ... copy+pasted the above command in mass edit ... produced this result
But the game still crashed x.x

#

well, I know how to extract the enc_regulation.bnd.dcx file, but I dunno how to edit looseparams individually 😓
I'm not the smartest in the shed 🤭

wind yew
#

wrt looseparams, you set that up when setting up your project. I do recall at one time having an option to change the project type while running

steady tapir
wind yew
#

all changes are saved to the project directory yes.

#

so don't make that the same as the game dir ofc

#

though it should now warn about that

steady tapir
#

Actually it's the seeker of fire directory, and you're right ... it did warn me 😳

#

F:\Games\Dark Souls II Scholar of the First Sin\Game\SeekerOfFire

wind yew
#

I mean, to check, are you trying to mod seeker of fire or ds2s?

#

cus whatever you set as the game dir (has game executable) will be treated as vanilla

steady tapir
#

I picked the enc_regulation.bnd.dcx that's inside the Seekeroffire directory
Was that wrong?

wind yew
#

that shouldn't even be a valid choice for game exefatcat

#

nice. new bug just dropped

steady tapir
#

Oh I'm sorry I read that wrong ... for the game exe, I picked F:\Games\Dark Souls II Scholar of the First Sin\Game
DarkSoulsII.exe

wind yew
#

oh ok lol there I was hunting bugs

#

but yeah what are you attempting to mod?

#

ds2 or seeker of fire?

steady tapir
#

The developer in you never rests doesn't he SataniaLOL
I'm trying to edit the SeekerofFire mod ... but Game is still crashing after these edits
param PlayerLevelUpSoulsParam: id .*: soul_level_cost: * 0.5; param RingParam: id .*: item_discovery: = 5000; param ChrRoundDropSoulParam: id .*: souls_percent_ng0: * 1.5;

#

With looseparams checked N all

wind yew
#

what was the original seeker of fire stored as?

steady tapir
#

Loading the bundled enc_regulation.bnd.dcx with the mod works without a single crash though

wind yew
#

ok ok so yeah using looseparams here is kinda not the goal. We want to make a project in the existing mod's directory using its settings, which isn't loose.

steady tapir
#

That's why it's crashing then

wind yew
#

well in theory your looseparams don't even get touched by the game because modengine isn't configured to use them

#

the real issue would be the weird filesize of the regulation

steady tapir
#

Restarted all over ... closed Mapstudio and replaced enc_regulation.bnd.dcx that comes with the mod ... now what?

wind yew
#

which might be related to the looseparams setting or might not

#

delete project.json

steady tapir
#

Done

wind yew
#

make new project in seeker of fire directory. Don't use looseparams, DONT load row names.

#

because loading row names in ds2 makes filesize big and can cause problems

#

and we don't need em for the edits you're making

steady tapir
wind yew
#

hit create, run your commands, save, launch game

steady tapir
#

Game doesn't launch SataniaLol
Replaced the enc_regulation.bnd.dcx with the original mod one and it launched x.x
I swear this game hates me

wind yew
#

was the filesize radically different again?

steady tapir
#

Checking ...

wind yew
#

might be worth checking not making any edit at all and seeing if that works.

#

(you are on mapstudio 1.08, right?)

steady tapir
#

So this is the file size after just loading > saving (no edits whatsoever)
No loose params
No row names
MapStudio 1.08 yup

wind yew
steady tapir
#

Ikr? cat_floored

wind yew
#

at a guess this means we're storing a bunch of empty strings lol

steady tapir
#

Or the game hates me cat_girl

wind yew
#

nah, that filesize is above the limit mentioned earlier

wind yew
#

okay so

#

load up the project without looseparams, and fingers crossed find the option to change the project to save looseparams

#

effectively unpacking seekeroffire

#

aha

steady tapir
#

With row or without?

wind yew
#

in settings->project settings

#

without for now, that setting autosaves which we don't care about

#

you can run it later after you loosen the params

steady tapir
#

Checking ...

#

Like so?

wind yew
#

I mean, if you haven't changed modengine config

#

k yeah, so loaded up the packed seeker of fire params, and THEN ticked this?

steady tapir
#

Just like you instructed ... yup

wind yew
#

okay, now when you save it should all save as loose

#

and then lastly you'll need to change modengine config to load loose params

steady tapir
#

Saving made the size 23 KB

wind yew
#

because params are being saved to the param folder

#

I'm guessing there's 1 or 2 params which aren't saved loose and are kept packed because mapstudio doesn't edit them

wind yew
#

it's named looseparams

#

[files]
loadLooseParams=1

steady tapir
#

It's not there, do I add it?

wind yew
#

yeah I'd give it a shot

#

cus ds2 modengine should support it

#

idk why it's missing in seeker of fire config/release

#

it might have its own hack of modengine which doesn't do it so that could also be a problem fatcat

steady tapir
#

I'll try loading the game with zero edits then

#

Ummm ... crashed cat_facepalm

wind yew
#

lovely

steady tapir
wind yew
#

yeah I'm guessing this modengine isn't doing looseparams

steady tapir
#

So basically, I should play a better game SataniaLOL

wind yew
#

nah I'm pretty sure there is a version for it

#

looks like seeker of fire is using its own brand version #tools-and-resources message

#

need to track down ds2alpha modengine

#

#1085783507554537472 message
maybe this thread related?

steady tapir
#

Downloaded it ... replacing & retrying

#

Ok ... zero edits > game loaded fine

wind yew
#

#modmaking-chat message
#installation-help message
#models-and-textures message
#modmaking-help message
#modmaking-help message
#installation-help message
#modmaking-chat message
#reverse-engineering message

worlds dumbest distribution method

#

okay well

#

that means looseparams are loading

#

now try adding your edits

#

hell, even adding names

#

should work with that modengine

steady tapir
#

It worked :)))

wind yew
#

:)
good to know it was the modengine being distributed

steady tapir
#

Looks like the game got the energy from you & stopped hating itself now

wind yew
#

hf actually modding ds2 instead of just installing it fatdog

steady tapir
#

Also doubling the character speed makes this game feel a little bit more modern, with how sluggish vanilla feels SataniaLol

wind yew
#

mapstudio can load up additional sets of params

#

and you can use massedit to transfer those edits

#

doing that, you can avoid the battering ram that is replacing the entire param file

steady tapir
# steady tapir It worked :)))

Actually, scratch that
The game loads fine, but my edits aren't being executed
The game stopped loading the SeekerofFire mod for some reason x.x

wind yew
#

the emevd effects mapstudio can't help with

#

did you change the loadlooseparams setting?

wind yew
steady tapir
#

OmG it didn't even load the SeekerofFire mod itself lol

wind yew
#

fatcat
what even fooled you to think it worked in the first place then? what?

steady tapir
steady tapir
wind yew
steady tapir
wind yew
#

and the mod override directory?

steady tapir
#

Umm ... I forgot to point it to the SeekerofFire one 😭

wind yew
steady tapir
#

Yeah after pointing the directory out it crashed 😶

I'll restart everything with no edits & try loading

#

Also Unticking the MapStudio Setting, then ticking it after loading the project

wind yew
#

also potentially relevant tho idk how it'd have worked for seeker of fire on its own
have you downpatched the game?

steady tapir
#

I haven't touched it nope

#

Should I?

wind yew
#

the game updated because of the whole RCE exploit thing. But that broke modengines in general. I'm surprised that the seekeroffire modengine was working at all

#

but it might be relevant in the case of loading looseparams

#

there's a guide for ds3 in #1063592284903460874 , should apply similarly for ds2

steady tapir
#

I'll do some cooking then check it out

steady tapir
#

So I came back and downpatched it ... after it crashed again, i decided I have no more energy for this ... I just wanted to play the game, not let it play my patience SataniaLol

#

However, I'm totes grateful for your time and patience with me!
Wish I could thank you with more than just words ... really :)
@wind yew