Tool QSP QSP Save Editor

Aventimo

New Member
Sep 10, 2017
13
1
Hey, im getting the Error #QSP_ERR_TYPEMISMATCH npcstaticdefaultsactIndex: - 1 line:51

Any clue how i can fix this ?
 

Pararock

Member
Aug 17, 2016
316
371
Type mismatch is when I would try to save a string inside a variable that was set as number.

Can you send me the game, your save and the value you tried to change please?
 

Pararock

Member
Aug 17, 2016
316
371
There's also a list of mod file that I need to load the save file.

[0]: 0x20c5dda0 L"mod/ibiza.qsp"
[1]: 0x2175dbc8 L"mod/pornster.qsp"
[2]: 0x2175dd30 L"mod/iwhore.qsp"
[3]: 0x2175de50 L"mod/brocity.qsp"
[4]: 0x2175e000 L"mod/bestmod.qsp"
[5]: 0x2175e1f8 L"mod/basement.qsp"
 

Pararock

Member
Aug 17, 2016
316
371
Yes, you would have to find the variable name maybe by looking at the code.

However, if I remember correctly there's a cheat function in the game to reset conversation.
 

Pararock

Member
Aug 17, 2016
316
371
>Save is with 2.1 + Loli + Patrician mod

You need the same mod at the same location. I'm currently downloading everything to see where it expect the mod files.
 
  • Like
Reactions: i107760

i107760

Sistersitting / Housesitting Developer
Modder
Game Developer
Nov 1, 2016
849
1,474
>Save is with 2.1 + Loli + Patrician mod

You need the same mod at the same location. I'm currently downloading everything to see where it expect the mod files.
Mod is just changes to the .qsp, and my mod is kind of outdated, so you might be wasting your time. And I was using the same mod anyways, since I created it. I think the problem is just that the .sav file was in the wrong folder(not 'game/save'), so don't worry about it. Sorry for wasting your time! And thanks a lot for your effort into trying to figure it out, I know false bug reports are draining.

Anyway, managed to debug his issue another way (a lot of testing basically ^^) so no worries about it.
 
Last edited:

Pararock

Member
Aug 17, 2016
316
371
It's the CRC of the game vs the save that were different.


Code:
qspReCodeGetIntVal(strs[2])
-567315701
qspQstCRC
1916088761
qspCurIncFilesCount
0
Second value is the CRC of the .qsp file, while the first one is the CRC of the qsp file when the save file was created. Last one is the number of additional qsp file the save is trying to load.
 
  • Like
Reactions: i107760

i107760

Sistersitting / Housesitting Developer
Modder
Game Developer
Nov 1, 2016
849
1,474
I guess he edited his .qsp file then, thanks for looking into it.

Had an unrelated question, you must be pretty knowledgeable about how .qsp games save, we are running into long save times and problems with backwards compatibility after updates, since the .sav file seems to include basically everything in the .qsp, a lot of things which you wouldn't expect too. Do you know of any work arounds/ways to mitigate saving times? Because we would like to add more girls and more images, but when we do so, we increase saving time even more...
 

Pararock

Member
Aug 17, 2016
316
371
I was wondering the same thing while loading the save. The ram increase a lot while loading before dropping.

1577120397054.png

The first small bump is loading the qsp while the second one that goes as high as 382MB is while I load the save.

1577121192513.png

Profiler says we spend a shit load of time splitting the entire save into individual string.

count
3 962 522

4 millions of them to be exact...

I guess each value in an array end up saved on a single line in the .sav. For big array filled with 0 it can explode fast.
 
  • Like
Reactions: i107760

Pararock

Member
Aug 17, 2016
316
371
Loading time can be lowered sigificantly by increasing the bufsize of qspSplitStr . It no longer show up in the profiler.

1577123244027.png

I don't know who maintain fastQSP, but changing the default bufSize of qspSplitStr to something way bigger would decrease all those realloc.

Edit: Still looking for save. I'm working on this on a different branch of the editor which didn't allow to save yet... I have to do it.
 

i107760

Sistersitting / Housesitting Developer
Modder
Game Developer
Nov 1, 2016
849
1,474
Edit: Still looking for save. I'm working on this on a different branch of the editor which didn't allow to save yet... I have to do it.
I don't really understand what you meant by this, are you working on a different version of fastQSP? What kind of save are you looking for?

Can I as a user increase the buffer of qspSplitStr? Would help a lot, saving times in the game are pretty extreme, it's a real worry. Sorry, I'm not too knowledgeable when it comes to coding, I just starting modding this game a few weeks ago, learning as I go.
 

Pararock

Member
Aug 17, 2016
316
371
I have a new version of the editor on my computer that I use to diagnose these stuffs since it's much easier with this version than the older one. However, it still lack some essential features like save.

No a user can't easily change it. It's set at compile time by the person who released the program. A knowledgeable person could probably patch the .exe to a better value or recompile the program itself.

Looking at the save. There's a variable ALREADY_DONE_CURSLAVE where the array index goes to 900 019 and ALREADY_DONE_EVER that goes to 331 211. Are those normal? That' 1.2 million line of the total 4 millions lines total to just 2 variables.
 
  • Like
Reactions: i107760

i107760

Sistersitting / Housesitting Developer
Modder
Game Developer
Nov 1, 2016
849
1,474
I have a new version of the editor on my computer that I use to diagnose these stuffs since it's much easier with this version than the older one. However, it still lack some essential features like save.

No a user can't easily change it. It's set at compile time by the person who released the program. A knowledgeable person could probably patch the .exe to a better value or recompile the program itself.

Looking at the save. There's a variable ALREADY_DONE_CURSLAVE where the array index goes to 900 019 and ALREADY_DONE_EVER that goes to 331 211. Are those normal? That' 1.2 million line of the total 4 millions lines total to just 2 variables.
Not sure if that's normal, will look into it. Sounds extreme, but those variables are used to limit actions to once per day basically. But I don't there there's 900k interactions/events, so that sounds too much. Now the question is if I'll be able to figure out why it's creating that many, thanks for the tip.
 

Pararock

Member
Aug 17, 2016
316
371
I have no idea. The UI part is in WPF and this is still not yet available on Linux even with .net core preview 3.1.

TBH, I wouldn't spend time porting this to Linux. Instead I would start from scratch in QT and be cross platform from the start.