• 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 3D Sailing Mode: Game Randomly Locks Up, Have to Force Quit

Jason

Buccaneer
Storm Modder
Logs
 

Attachments

  • compile.log
    64.1 KB · Views: 143
  • error.log
    69 bytes · Views: 118
What is a "runtime quest"? :confused:

Code:
RUNTIME ERROR - file: dialog.c; line: 414
incorrect argument index
^ @Levis: That one again. I got that one before as well when fixing the CTD when trying to hire an "Enc_Walker" problem.
When I looked into it at the time, I couldn't figure out what was going wrong.

@Jason: Did you actually get into such a dialog during that play-through? Or is this something else?
 
@Jason: Assuming you mean a runtime ERROR with a CTD, are you able to replicate that?
Do you have a save on which it happens all the time?

If the game did indeed crash, then it must have been due to something here:
Code:
    if (sIslandID != "")
     {
       for (i=0; i<MAX_SHIP_GROUPS; i++)
       {
         rGroup = Group_GetGroupByIndex(i);
         if (!CheckAttribute(rGroup,"AlreadyLoaded")) DeleteAttribute(rGroup,"AlreadyLoaded"); // NK: HUH!?

         if (!CheckAttribute(rGroup, "id")) { continue; }
         if (!CheckAttribute(rGroup, "location")) { continue; }
         if (rGroup.location != sIslandID) { continue; }
         Sea_LoginGroup(rGroup.id);
       }
     }
There is already a lot of error-checking related to that though, but no log messages triggered from that.
Unless it is again the "dead captain" problem. I sure hope not! How many times would I need to fix that one????
 
I was in the middle of a mele in Port Royale. I thought it might have been too many characters in the space.
 
I meant runtime error and the game did not crash it just froze. Sorry for the confusion.

So far not replicated.
 
I meant runtime error and the game did not crash it just froze.
Froze temporarily or froze permanently so you had to close the game?
Did the menus still respond at that time? Or did you use Alt+F4/Ctrl+Alt+Del/some other "forced quit" method?
 
I had to close the game. Ctrl-Alt-Del.
Thanks. Issue renaming accordingly. :doff

Since it is random, there is very little that can be done. If you manage to consistently reproduce it, that would give us a good test case.
We'll have to see if it happens again. :(
 
Not so far. But I wasn't in 3D sailing mode when it happened. I was walking around Port Royal.
 
Not so far. But I wasn't in 3D sailing mode when it happened. I was walking around Port Royal.
WHAT??? Your compile.log claims that the last thing that happened was something that occurs only while loading to 3D Sailing Mode.
That doesn't make sense at all! :shock
 
Well maybe I am remembering it wrong. When I loaded my last save after it happened I was on board off the coast of Cuba. Possible that my last save leaving Santiago on the way to Jamaica. Would that explain it?
 
If the game did indeed crash, then it must have been due to something here:
Code:
[...]
if (!CheckAttribute(rGroup,"AlreadyLoaded")) DeleteAttribute(rGroup,"AlreadyLoaded"); // NK: HUH!?
[...]
}
}
HUH?! indeed. No, scratch that. HUH?! is an understatement. :)
 
Yeah, I don't know what that line is supposed to be for either.
Apparently NK didn't know either.
 
Well, as written it deletes the "AlreadyLoaded" attribute, but only when there is no such attribute.
If I'm to guess, it's either supposed to do that when there is such attribute, or it has no reason to be there at all.
In other words it's ether a mistakenly reversed condition or some obscure copypaste error. I can't tell which one without studying the context.
 
Main thing I wonder is if NK marked that line because he noticed it being there and didn't understand either.
Or if he had to add it as a crazy solution because the game did weird things otherwise.

I've had inexplicable stuff on my hands before.
Once I had to add a 'dummy' line of code to collect some random garbage which it would receive from somewhere.
I never did find out why and it shouldn't have been needed. But it was anyway.
 
Main thing I wonder is if NK marked that line because he noticed it being there and didn't understand either.
Or if he had to add it as a crazy solution because the game did weird things otherwise.
He did bother to add a comment. I think if he knew what's going on, the comment would be a bit more detailed. :)
 
He did bother to add a comment. I think if he knew what's going on, the comment would be a bit more detailed. :)
Since it was NK, aka. @NathanKell, he probably added that in Build 13 at the latest, maybe before. So a LONG time ago.
I suppose we could check if that line was already present in the unmodded game. If so, at least we know that he was surprised as we are now.
If it wasn't in there, some modder must have deliberately added it.
 
stock game code

Code:
// login quest group if island exist
        ReloadProgressUpdate();
        if (sIslandID != "")
        {
            for (i=0; i<MAX_SHIP_GROUPS; i++)
            {
                rGroup = Group_GetGroupByIndex(i);
                if (!CheckAttribute(rGroup,"AlreadyLoaded")) { DeleteAttribute(rGroup,"AlreadyLoaded");    }

                if (!CheckAttribute(rGroup, "id")) { continue; }
                if (!CheckAttribute(rGroup, "location")) { continue; }
                if (rGroup.location != sIslandID) { continue; }

                Sea_LoginGroup(rGroup.id);
            }
        }
So not an introduced modd code problem - except the second part of the if statement was in brackets as per the second two if statements in the already quoted code above - so someone clipped out the brackets - which of course have no effect on the one line case.
 
Back
Top