Loadscreen/Tileset Realtionship Question

Greetings everyone, does anyone know of a way to group loadscreens into a type without being tied to a particular tileset? For instance, if I wanted a group of loadscreens that were only relevant to sea travel, is there a way to group them – so I may still use the Random flag box – without being associated with any particular tileset?

Or must they be associated with a tileset? And if that is true, which section or info bit within a tileset governs which loadscreens are associated with it?

For the third question: I believe it’s controlled by the TileSet column in the loadscreens.2da file.

For the first two, I think you are stuck with tileset or random but I could be wrong there.

You’re actually stuck with specific or random, as far as I can see.

Unless you choose a specific loadscreen, the engine will choose at random from those associated with the area tileset in loadscreens.2da.

You can’t even specify a random loadscreen from a different tileset (the “tileset” dropdown in loadscreen selection is merely a filter, which is ignored if no specific choice is made).

You could work around this by making a “sea” version of each tileset in question - just copy the .set and .itp files, and change the tileset code in the .are for existing sea areas. Then in loadscreens.2da you could associate the sea loadscreens with the sea tilesets. A downside is that the sea loadscreens would be duplicated.

Nwscript or object editing (with nwscript or outside toolset) opens a little more, but there’s some undocumented features/bugs involved. Don’t know if there’s an example in the game scripts, nw_g0_transition uses the function incorrectly iirc. Think better to explore/explain than dealing with new tileset and all the explanation and potential probs that can cause :wink:

(A game code problem was recently noted concerning the topic on nwnx discord.)

Aye, this is the part I was looking for. I know about the Loadscreens.2da and the tileset column that has a prefix or abbreviation in that row. I’m trying to determine where in the tileset itself, either the .set or .itp file, where this is actually governed. So if I am using a custom tileset, say BioCity Interiors as an example, which specific file, and on which specific line, it associates itself with the Loadscreen.2da.

So that in the loadscreen.2da column for the Tileset, where specifically is this prefix derived from?

For example, if you put tileset SEA01 in that column, you need a file sea01.set, changing two lines to:

Name=SEA01

and

DisplayName=-1
UnlocalizedName=SeaTileset1

You also need to copy the tileset palette to sea01.itp to use it for building areas in the toolset.

From the CEP 2 experience, there’s no problem in having multiple tilesets referring to the same tiles. To give just one example, [CEP] City Exterior ZCN01 is a copy of Bioware’s TCN01 plus a shed load of extra tiles. We choose not to duplicate the loadscreens in those cases.

1 Like

There is also the EE function SetAreaTransitionBMP - couldn’t find it at first as I was searching for the wrong name. Despite the caveats, it might work. I imagine a random custom loadscreen number might work as well (or as badly?) as the defined constants, unless bmp really means what it says on the tin, which would be weird.

It’s not an EE function, the first parameter is just an index into loadscreens.2da iirc. AREA_TRANSITION_USER_DEFINED + the second parameter was never implemented, don’t bother trying to get that to work :smiley:

It doesn’t have to be used in an area transition script, it can be called on a player whenever and it’ll show the loadscreen image you’ve chosen the next time you change areas in whatever way.

Bingo! This is what I sought. And 'twas so simple it hid in plain sight. I think I was looking in files other than .set file. Perfect, @Proleric , thank you, and thanks to everyone else who provided keen insights along the way.

Cheers, lads!