I figured this out as well, but had a question. Note below assumes you are in Unity and doing a custom build.
In SettingsManager.cs:
Code: Select all
StartCellX = GetInt(sectionStartup, "StartCellX", 2, 997);
StartCellY = GetInt(sectionStartup, "StartCellY", 2, 497);
The question: how does that code look up lines 96 and 97 of setting.ini?
(appears to be loading the: settings.ini)
Code: Select all
[Startup]
StartCellX = 109
StartCellY = 158
Change those to like 110 and 159 is another way to not start in the dungeon. If you wanted to leave "StartInDungeon = True" - my main goal here is to find a way to mod the StartCellX and StartCellY cells or tell someone how that is working on a mod like that. I also didn't want to always start there so had to figure out another place to start this way - but would love to do it in editor long term even if I override the code for my build for dev test.
But anyways here is what I found that code then goes to : StartGameBehaviour.cs
StartNewCharacter() has this:
Code: Select all
if (NoWorld)
{
playerEnterExit.DisableAllParents();
}
else
{
// Start at specified location
StreamingWorld streamingWorld = FindStreamingWorld();
if (hasLocation && startInDungeon && location.HasDungeon)
{
if (streamingWorld)
{
streamingWorld.TeleportToCoordinates(mapPixel.X, mapPixel.Y);
streamingWorld.suppressWorld = true;
}
playerEnterExit.EnableDungeonParent();
playerEnterExit.StartDungeonInterior(location);
}
else
{
playerEnterExit.EnableExteriorParent();
if (streamingWorld)
{
streamingWorld.SetAutoReposition(StreamingWorld.RepositionMethods.Origin, Vector3.zero);
streamingWorld.suppressWorld = false;
}
}
}
So if I understand correctly, this bit here (from above but focused now)
Code: Select all
if (hasLocation && startInDungeon && location.HasDungeon)
{
if (streamingWorld)
{
streamingWorld.TeleportToCoordinates(mapPixel.X, mapPixel.Y);
streamingWorld.suppressWorld = true;
}
playerEnterExit.EnableDungeonParent();
playerEnterExit.StartDungeonInterior(location);
That is the real bit of code that sort out where you start from all the settings and getters and setters I think. This is what lets you change the map x and y to not be on the Privateer's Hold pixel and then bam - you are not in a dungeon. Even if start in dungeon setting in the ini was left to true.
Not sure if someone can mod that - but there is what I found.
Bonus points:
Code: Select all
playerEnterExit.EnableDungeonParent();
playerEnterExit.StartDungeonInterior(location);
I believe refers to: /Quests/_BRISIEN.txt
Code: Select all
pc at PiratesHold set _exitstarter_
it also will call the tutorial dialogue box.
Lastly: StartGameBehaviour.cs
Code: Select all
// Start main quest
//QuestMachine.Instance.StartQuest("_TUTOR__");
//QuestMachine.Instance.StartQuest("_BRISIEN");
If you want to start all open world!
P.S.
Narf the Mouse wrote: ↑Mon Mar 06, 2017 8:04 pm
"What main quest? My character's a/n $Something who got accidentally trapped in a cave on their way to do $Nothing_To_Do_With_The_Main_Quest."
That was exactly me lol. Weren't we on a boat? Ok so a shipwreck and then I am at the bottom of a cave now? Who drug this tree (entire tree) down here!? Where did they find a 3d tree anyways - is this from morrowind?? Giants? Yes a giant drug it down. I am in a giants' cave! - no just giant rats. Am I a blabbering idiot that shipwrecks on a beach and wanders into a cave talking to myself? Wait, I got it - I was passed out on the beach and the rat got me and brought me here as diner. But then there is the whole problem rats can't open doors. How did I get here serioursly! Well look at my skills, I guess it could happen I am level 1. I am a blabbering idiot after all it seems. Someone should put out this campfire - lot of CO2 build up, getting hard to breath - said the mage. *Wish I did those leg exercises on the boat, I can't run fast enough to find the exit. Guess I am stuck down here. This would big game - open world, but my slow mage is gonna have a hard time.
Wait a tick - I can start somewhere else! we are saved!
Jay_H wrote: ↑Mon Mar 06, 2017 9:02 pm
I just started replaying Morrowind, and my second character was made using an alternate start mod. The role-playing aspect increased 5x with that, in that I can write his story entirely.
Vanilla Daggerfall has a quirk that does the same thing to a limited degree. In the file Z.cfg, two lines determine the starting location:
startMap
region
mapfile
Glad they had that for Vanilla. I agree the role play way better if you can write the story entirely.
So to be fair, they did explain it. I always skimmed it, because I wanted to play or remembered it wrong. Darn mudslide.
- start.PNG (124.43 KiB) Viewed 2432 times