• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Cannot Confirm RefreshStorylines error

Levis

Find(Rum) = false;
Staff member
Administrator
Creative Support
Programmer
Storm Modder
Everytime I start a new free play game (default setting) I get this error (in the errorlog). I sometimes also get it when the game boots (only seems to happen if I start it from the config app), I haven't tried with other storylines yet.

Code:
RUNTIME ERROR - file: utils.c; line: 2340
Invalid function call
RUNTIME ERROR - file: utils.c; line: 2340
function 'RefreshStorylines' stack error

I'm using the latest may 19th version of the game.
 
Try creating a new installation. (Disk space permitting, you can have as many installations as you like.) Start from scratch with the stock game, then run the May 2018 Build 14 installer, then add in the 19th May updates. See if the same error shows up.

If not, add in each of your individual mods, one at a time, and after adding each one, see if the storyline error appears. If the error shows up before any of your mods are added then there's a problem with the latest update. If it shows up after adding in one of your mods, that mod is to blame.

When I have time, I'll try the same experiment - new installation up to 19th May, if the storyline error doesn't appear then add in each of your mods to see if any of them trigger it.
 
Try creating a new installation. (Disk space permitting, you can have as many installations as you like.) Start from scratch with the stock game, then run the May 2018 Build 14 installer, then add in the 19th May updates. See if the same error shows up.

If not, add in each of your individual mods, one at a time, and after adding each one, see if the storyline error appears. If the error shows up before any of your mods are added then there's a problem with the latest update. If it shows up after adding in one of your mods, that mod is to blame.

When I have time, I'll try the same experiment - new installation up to 19th May, if the storyline error doesn't appear then add in each of your mods to see if any of them trigger it.
I always have at least two installations, one is the recent version without any modifications. And with this version I have the problems. So none of my mods are applied to it. When I start the black flag story line I get this error. I can try later with other storylines too.
 
I have the latest zip etc etc installed. Got no error log at all neither from FreePlay (Brave Black Flag) or WoodesRogers.
 
Just did a complete new install of potc then installed the Build14_installer_25052018
after that installed the zip archieve post_25May_updates_190521 and then did a winmerg between the folder I was testing with and the new install and only the engine.ini and options file are different so maybe there are some fixes which where published at one point but not included in the latest zip or something?
 
Does that new, clean install also have the storyline problem?

"engine.ini" is included in the 13th May update, is exactly the same as the one in the previous update, and is date-stamped 12/12/2019. "options" is not included in any update; it sometimes gets corrupted and one commonly suggested fix for various weirdness is to delete it, then the game creates it again next time you play. You could try deleting it and see if that cures the storyline problem.

Right after I've made a clean install, I use the "Options" menu to set everything the way I like it, quit the game, and make a copy of the "options" file. This is therefore a clean version with all my preferred settings. If the game starts acting oddly, and sometimes just on general principle, I delete the current "options" file and use that copy to put back the clean version.
 
hmm....okay my best guess is ghosts now. So I have two installs
install_old = the one where I get the error
install_new = the completly new clean install

(I have unfinished storylines, intell fix and widescreen textures enabled)

before I do anything else a winmerge shows now that only the engine.ini and options file are different the rest is the same.
So now i boot up the game and a new black flag storyline with default settings in install_new => no error
I change the options via the config tool in install_new to 1920*1080 no fullscreen and boot up and start a black flag story line => no error
I copy the engine.ini and options file to install_old and boot up the game and start a black flag story line (I deleted the error file before) => error created
I start another game in install_new to check that maybe something was changed during after the last start so start a new black flag story => no error

I no do a winmerge and except the system.log and compile.log the folder appear to be the same. I do notice in the install_old that this is in the system.log
Code:
Scanning modules\
Loading modules...
Loaded 0
Reset...
Initializing CORE...
Creating atoms space: 128
 done
initializing complete
Initializing DirectX 8
ERROR: Techniques: Find duplicate technique name: radeon8500sea
Techniques: 9 shaders compiled.
Techniques: 181 techniques compiled.
Techniques: compiled by 293726080 ticks.
BeginScene
The method call is invalid For example, a method's parameter may have an invalid value
Unloading
System exit and cleanup:
Mem state: User memory: 15444  MSSystem: 416  Blocks: 26
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 1144
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 1100
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 1056
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 1012
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 968
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 924
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 880
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 836
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 792
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 748
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 704
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 660
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 616
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 572
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 528
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 484
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 440
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 396
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 352
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 308
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 264
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 220
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 176
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 132
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 88
Leak: 'C:\PROJECTS\DRIVE_V2\XINTERFACE\NODES\xi_strcollection.cpp' line 209, size 44

The leak lines are no in the install_new system.log
It seems that this is just something weird with my computer or something ....
The story becomes even weirder, if I change the foldername of install_old to something else suddenly the scaling of windows seems to kick in and blow up my screen a bit where it's not the right resolution again and the config utility doesn't seem to be able to find the engine.ini, if I copy it in again it seems to work but afterward it still doesn't change the resultion. And changing the foldername back to what it was before fixes it (changing it to something else didn't). So I'm pretty sure there is something in the background screwing with me :p .
 
Does "install_new" also have unfinished storylines enabled? Those lines in "system.log" are nothing special, I routinely get all that, including a lot of "Leak" lines. I wouldn't expect choice of screen size, widescreen textures or Intel fix to produce an error about storylines. But it's possible that there's a problem with unfinished storylines, which I never enable. When I get round to doing my own experiments, I'll create a new installation with unfinished storylines enabled and see if that shows the error.

A thought: is "install_old" an attempt to add the newest update to an older install? Because there is a fix for a bug in storyline registration, though that dates back to October 2020. It's possible that this could cause trouble to an old install in which unfinished storylines were included.
 
A thought: is "install_old" an attempt to add the newest update to an older install? Because there is a fix for a bug in storyline registration, though that dates back to October 2020. It's possible that this could cause trouble to an old install in which unfinished storylines were included.

That thought seems right. I updated my sept 2020 install to the latest and got the same errors in the error file. I then deleted the dummy storyline zz (in my install from the earlier workround) and the error was resolved.
 
I now replaced my old install with the new install and everything seems to be running without an error, so guess it was something strange from an upgrade (old was indeed an upgrade).
So going to close this one.
 
hmm....okay my best guess is ghosts now.
Well, the game DOES contain curses.

And THIS was a thing in PROGRAM\Loc_ai\LAi_fightparams:
Code:
    bool noExp;       // PB: Whatever is on this line ends up changing from what you set. Positively BIZARRE behaviour!
   noExp = false;   // Baste: So we set it to false on THIS line instead
Which made absolutely ZERO SENSE WHATSOEVER!
But I SWEAR it was a real thing.

That thought seems right. I updated my sept 2020 install to the latest and got the same errors in the error file. I then deleted the dummy storyline zz (in my install from the earlier workround) and the error was resolved.
That makes sense.
"ZZ.c" only existed as a work-around by @Jack Rackham for something I had actually messed up somewhere else.
Latest updates contain a PROPER fix and therefore "ZZ.c" is supposed to NOT exist anymore.

But @Grey Roger's ZIP cannot remove files, which is probably how this got left over.

I need to make a proper new EXE installer some time.
That could ensure this doesn't happen anymore, even on "upgrade" installs.

@Grey Roger: Any idea what might be a good criterium/time for a new EXE?
I'd say either BEFORE (m)any big new things are attempted; or right AFTER cool stuff that is currently being added is finished and released.
 
Probably after the next update, whenever that is.
Good.
I'm not exactly in a rush to get into it anyway.
Still have almost a month of forum posts to catch up on first (not to mention those 46 PMs... :facepalm ).

If I had a request from my side, I'd say a new EXE would be especially nice if one of the translations were complete in it.

Also...
Since the game is structurally unavailable and my attempts at contacting the people in charge are meeting with no results,
I'm quite tempted to one day just make a true STAND-ALONE installer; and stop calling our work "just a mod".

I also notice the ModDB file upload limitations have changed, which means I could finally do away with requiring that separate BIG ARCHIVE which people keep using wrong.
Which begs the question: how would we ideally want our installation process to work?
What would be the best balance between convenience for the players; and convenience for the developers?
 
For players, the best would be a single executable file which does everything when you double-click it. Modders probably don't care as long as I collect the updates, put them somewhere accessible, then whoever is making installers can incorporate them into the next one.

Was the big archive created because of upload limits or for convenience of developing installers? A lot of files aren't updated often, or at all, so they go into the archive and don't need to be added into every installer.
 
Was the big archive created because of upload limits or for convenience of developing installers? A lot of files aren't updated often, or at all, so they go into the archive and don't need to be added into every installer.
Upload limit; ModDB had a 2 GB max at the time and no matter what I tried, I couldn't keep it below that.

That said, it DOES also make things convenient for the compiling and the installing because, as you say, I don't need to go through the whole bloody thing every time.

For players, the best would be a single executable file which does everything when you double-click it.
How about the issue of redownloading a huge archive every time there's a new update?

There was a time when, instead of making a ZIP for new updates, I just made a new EXE every time straight away.
It was actually not so complicated and didn't take too much time, so might as well.
Would be a different story though if it has to go through ALL the files.

On the other hand, I really DON'T know how to stop people from doing the two-file installation process wrong.
Even when the installer explains what was done wrong, it's still confusing to people.
And so I am at quite a loss...
 
On the other hand, I really DON'T know how to stop people from doing the two-file installation process wrong.
Even when the installer explains what was done wrong, it's still confusing to people.
And so I am at quite a loss...

You can't eliminate stupidity BUT the usual problem is doing something (unzipping) to part two after running the exe (part one). SO make the big archive part one and the exe part two. Then if someone unzips part one the exe can be made to overwrite files where required AFTER that thus restoring what is intended, there may be a few extra files left in the wrong place but it shouldn't be a game breaker? Much less likely to do it after running part two exe because their "intuition" (well most people's anyway) tells them that two follows one.
 
SO make the big archive part one and the exe part two.
Just rename the part numbers, you mean?
But those are just "fictional" in the ModDB file titles.
They're nowhere else, really...

Then if someone unzips part one the exe can be made to overwrite files where required AFTER that thus restoring what is intended, there may be a few extra files left in the wrong place but it shouldn't be a game breaker?
That's the difficult bit.
Some of the code, such as "ZZ.c" in the storylines folder specifically needs to be REMOVED.

Much less likely to do it after running part two exe because their "intuition" (well most people's anyway) tells them that two follows one.
Maybe if I do make a new two-part STAND-ALONE, I could have the big archive contain only RESOURCE files.
And have 100% of the code in the EXE. That might make things a bit safer...

I could also ask ModDB to allow the ".potc" extenstion so I can do what I actually wanted and make it less obvious that it is technically just a regular archive.

I'm also wondering if there's a way to make the archive password-protected; with the EXE having the passcode to extract it; but a regular user wouldn't.
But I don't yet know how to do that...
 
Back
Top