A tileset can have up to TWO different .itp files.
in my example pics, we will be working with the pallette files for the TCP White Wizard tileset, so the names will reflect that.
the Two files:
tcww0Pal.itp <<-- this file only gets changes if you are adding NEW sections to the pallette other than 'Features, Groups, Terrain' that are in the 'standard pallette file below.
tcww0PalStd.itp <<-- This file has 3 sections that we will be working with.
A 'Standard Pallette' has 3 seperate sub-folder type entries:
Features <<-- Features are SINGLE tile entries, ALWAYS. Like a Treasure or a Big Tree, that only take one, single, tile spot when you paint it down.
Groups <<-- Groups are entries that require MORE than a single spot when painted, these can be 1x2, 1x3, 1x4, 2x2, 2x3, 2x4, etc. I have only seen a few instances of anything larger than 4x4 for these. It is possible to create a group as large as 32x32, but that would mean you are forcing the builder to use only this single group in any given area.
Terrain <<-- These are special tiles and require a MUCH longer explanation, that I will not cover here.
Note that EVERY feature AND group is listed in the .set file as a group entry at the bottom of the .set file.
Now on to a display of what I am talking about:
When you first open the the tcww0palstd.itp file you will only see 'main' listed. Be sure to click the plus sign to open that up.
Then you will only see 3 etries, Zero, 1 and 2.
Zero == Features
1 == Groups
2 == Terrain
We will be working with Group Zero, the Features list which is what is displayed in the edited pic above.
Entry Zero in this list shows a STRREF / DWord followed by the number of the line from the .tlk file that gives that entry it's name
So we see that the DWord number points to line 63485 in the .tlk file and that line says 'Treasure 1'.
Note that this is Entry Zero, and it is listed as 'Treasure 1' and you might think that this entry would show up first in the pallette when building. However, the toolset always alpah sorts this list, so it's actual placement HERE doesn't matter.
In this particular instance, whomever originally created this pallette file, inserted this entry instead of adding it to the end.
So, next piece of this Entry Zero is a RESREF (not a STRREF), CResRef and it has manually typed in the actual FILENAME of the tile for this feature. If this were a Group entry, not a Feature, this entry would be the FIRST tile in that group as listed in the .set file.
(Note: I think, THINK, that the FIRST entry in the features list has to match the first Group entry in the .set file, after that, it no longer matters though, as entries get added along the way, the system automatically finds them)
in this case the .set file has this entry for the first group:
Code: Select all
[GROUPS] Count=58 [GROUP0] Name=Treasure01 Rows=1 Columns=1 Tile0=108
Code: Select all
[TILE108] Model=tcww0_q02_01 WalkMesh=msb01 TopLeft=floor TopLeftHeight=0 TopRight=floor TopRightHeight=0 BottomLeft=floor BottomLeftHeight=0 BottomRight=floor BottomRightHeight=0 Top= Right= Bottom= Left= MainLight1=1 MainLight2=1 SourceLight1=1 SourceLight2=1 AnimLoop1=1 AnimLoop2=1 AnimLoop3=1 Doors=0 Sounds=0 PathNode=A Orientation=0 ImageMap2D=mi_tcww0_q02_01
Ok, now further down in that first pic, you see entry 30 which has a text name instead of a .tlk entry. Sometimes this is necessary if you can't find a .tlk line that matches what you want. I won't go into the political issue of creating NEW .tlk entries as that is much more trouble than it is worth. However, the advantage of a standard .tlk entry, is that it is automatcally translated into whatever language the end user has on their computer installation of NWN. A NON-Standard .tlk entry will NOT be translated automatically, and you would be forced to distribute your .tlk file along with the tileset. Which runs the risk of damaging something on THEIR machine as the .tlk file is used for many, many things. So, don't do that unless you absolutely must.
Anyway, for entry 30, we changed it's type from DWord with a number pointing to the .tlk file to a type of 'NAME' 'CExoString' with our own manually typed in name. In this case, 'Forest Wall Gate 4'.
Now, when dealing with GROUP entries in the pallette file, the only tile that gets entered in the pallette is the FIRST tile listed in the group section from the .set file. IE, a 2x2 group has 4 tiles, the first tile listed for/from that group has to be the one entered here in the pallette.
This is actual group number 55 from the .set file.
Code: Select all
[GROUP55] Name=Forest Stairs Down 2x2 Rows=2 Columns=2 Tile0=289 Tile1=290 Tile2=291 Tile3=292
Code: Select all
[TILE289] Model=tcww0_o36_01 WalkMesh=msb01 TopLeft=forestfloor TopLeftHeight=0 TopRight=forestfloor TopRightHeight=0 BottomLeft=forestfloor BottomLeftHeight=0 BottomRight=forestfloor BottomRightHeight=0 Top= Right= Bottom= Left= MainLight1=1 MainLight2=1 SourceLight1=1 SourceLight2=1 AnimLoop1=1 AnimLoop2=1 AnimLoop3=1 Doors=1 Sounds=0 PathNode=a Orientation=0 VisibilityNode=A VisibilityOrientation=0 DoorVisibilityNode=A DoorVisibilityOrientation=0 ImageMap2D=mi_tcww0_o36_01
So that is what is entered for the RESREF CResRef entry in the .itp.
So, to quickly recap, you modify the list by adding structs to the list, best is to start with the last number listed and just add to that if adding NEW entries OR to edit existing entries to point to YOUR new tiles.
99% of folks start with a standard pallette file from an existing tileset, and edit it as they need.