(Sinfar XDATA (WIP)) |
m (→See Also) |
||
| (10 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
Sinfar XDATA ( | |||
== XDATA == | |||
XDATA is a Sinfar-exclusive string variable system that allows builders and players to customise the visual appearance of placeables, accessories, and visual effects beyond what the standard NWN toolset supports. Using the [https://nwn.sinfar.net/xdata.php XDATA Generator] tool on the Sinfar website, you can adjust scaling, position, orientation, colour (RGBA), and — most usefully — remap one texture to another on any supported object. | |||
The feature is powered by the '''SinfarX client extender''', which must be installed and running for XDATA effects to be visible in-game. | |||
---- | |||
=== What XDATA Can Do === | |||
{| class="wikitable" | |||
!Feature | |||
!Works on | |||
!Notes | |||
|- | |||
|Texture remapping | |||
|Placeables, accessories, VFX | |||
|Replace any bitmap with any other bitmap resref | |||
|- | |||
|Scaling | |||
|Placeables, accessories, VFX, creatures | |||
|Float value between 0.001 and 100 | |||
|- | |||
|Position offset (X/Y/Z) | |||
|Placeables, accessories, VFX | |||
|Any float; useful for fine-tuning accessories | |||
|- | |||
|Orientation (X/Y/Z) | |||
|Placeables, accessories, VFX | |||
|Degrees, 0–360 | |||
|- | |||
|RGBA colour tint | |||
|Placeables, accessories, VFX | |||
|Integer values −128 to +127 per channel | |||
|} | |||
'''Important limitations:''' | |||
* Placeables '''must be set as Static''' in the toolset, otherwise XDATA has no effect. | |||
* Accessories that use the Metal/Leather/Cloth colouring system (RGB/Transparency/Saturation) '''cannot''' have their textures remapped via XDATA. | |||
* Some textures will not render correctly on certain placeables or VFX — this is a trial-and-error process. | |||
* XDATA effects are '''client-side''' (rendered by SinfarX). Other players must also have SinfarX installed to see them. | |||
---- | |||
=== The XDATA Generator === | |||
The [https://nwn.sinfar.net/xdata.php XDATA Generator] is a web form at <code>nwn.sinfar.net/xdata.php</code>. Fill in the fields you want to change, leave the rest blank, and click '''Generate''' to produce the XDATA string. | |||
{| class="wikitable" | |||
!Field | |||
!Type | |||
!Range | |||
!Description | |||
|- | |||
|Scaling | |||
|Float | |||
|0.001 – 100 | |||
|Uniform scale multiplier for the object | |||
|- | |||
|Position X/Y/Z | |||
|Float | |||
|−∞ to +∞ | |||
|Offset the object's position on each axis | |||
|- | |||
|Orientation X/Y/Z | |||
|Float | |||
|0 – 360 | |||
|Rotate the object on each axis (degrees) | |||
|- | |||
|Red / Green / Blue / Alpha | |||
|Integer | |||
|−128 to +127 | |||
|RGBA colour tint applied to all textures | |||
|- | |||
|Textures Mapping — From | |||
|ResRef | |||
|(texture name) | |||
|The original bitmap name on the model | |||
|- | |||
|Textures Mapping — To | |||
|ResRef | |||
|(texture name) | |||
|The replacement texture bitmap name | |||
|} | |||
You can add '''multiple texture remapping pairs''' by clicking '''Add''' after each pair before generating. Once you have the full output string, copy it. | |||
---- | |||
=== Applying XDATA === | |||
==== To a Placeable (in the Toolset) ==== | |||
# Open your area in the [https://nwn.fandom.com/wiki/Toolset NWN Toolset]. | |||
# Select the placeable you want to modify. | |||
# In its Properties, make sure '''Static''' is checked. XDATA will not work on non-static placeables. | |||
# Go to the '''Variables''' tab. | |||
# Add a new variable: | |||
#* '''Type:''' String | |||
#* '''Name:''' <code>XDATA</code> | |||
#* '''Value:''' Paste the generated XDATA string | |||
# Save and upload your ERF via the [https://nwn.sinfar.net/houses_uploadform.php House Upload Page]. | |||
==== To an Accessory (In-Game) ==== | |||
# Equip or activate the accessory on your character. | |||
# Open the '''Adjustment Menu''' for that accessory in-game. | |||
# Select '''Set the adjustments string'''. | |||
# Paste the generated XDATA string and confirm. | |||
---- | |||
=== Finding Texture Bitmap Names (ResRefs) === | |||
To remap a texture you need to know the '''bitmap resref''' — the internal file name of the texture as it appears inside the model file. There are two main methods: | |||
==== Method 1: NWN Explorer ==== | |||
[https://neverwintervault.org/project/nwn1/other/tool/nwnexplorer NWNExplorer] lets you browse and search the NWN hak files to find model bitmaps. | |||
# Download and install NWNExplorer (note: it can be unstable on Windows 10/11 — contextual menus may crash it; a full NWN installation or at least the correct registry key pointing to your NWN folder is required). | |||
# Open the relevant hak file: | |||
#* Most Sinfar placeables are in the placeable hak files in your <code>hak\</code> directory. | |||
#* Most accessories are in <code>sf_effects_v30.hak</code> (version number may vary). | |||
#* To speed up searching: click the relevant hak group (e.g. '''NWN Hak Files'''), then use '''Ctrl+S''' and type the resource name. | |||
# Navigate to '''Models''', find the model, double-click it and wait for it to load. | |||
# Click '''ASCII Model''' and look for the line that starts with <code>bitmap</code> — that value is your resref. | |||
'''Tip from the guide:''' NWNExplorer searches from the top of the list down. If you know the texture is in the custom haks, click '''NWN Hak Files''' first before searching to skip vanilla NWN resources. | |||
==== Method 2: Sinfar Textures List ==== | |||
The [[Textures]] page on this wiki lists 31,000+ texture resrefs cross-referenced from Sinfar's 2da files and model data | |||
==== Method 3: Coldest's Texture Database ==== | |||
A community-maintained thread on the Sinfar forum has many textures with their bitmap resrefs already identified: [https://forum.sinfar.net/viewtopic.php?f=315&t=14318 Coldest's Textures Database] (forum login required). This is especially useful for common patterns and tileset textures. | |||
---- | |||
=== Step-by-Step Example: Retexturing a Carpet with Lava === | |||
This example (from the [https://sinfar.net/building/xdata_mapping original guide]) walks through replacing the texture on a carpet placeable with a lava texture. | |||
'''Step 1 — Find the source texture resref''' | |||
Look up "Carpet: Rug 16" in the placeables 2da. Open its model in NWNExplorer and note the bitmap: <code>tni01_burlap</code>. | |||
'''Step 2 — Find the target texture resref''' | |||
Look up "Floor: Lava 1 1×1". Its bitmap is: <code>tde01_lava01</code>. | |||
Alternatively, look this up in the [[Textures]] reference — search for lava textures in the [[Textures#Tileset Textures|Tileset Textures]] section. | |||
'''Step 3 — Generate the XDATA string''' | |||
# Open [https://nwn.sinfar.net/xdata.php XDATA Generator]. | |||
# Leave Scaling, Position, Orientation, and RGBA blank (no changes needed). | |||
# Under '''Textures Mapping''': | |||
#* '''From:''' <code>tni01_burlap</code> | |||
#* '''To:''' <code>tde01_lava01</code> | |||
# Click '''Add''', then click '''Generate'''. | |||
# Copy the resulting string. | |||
'''Step 4 — Apply to the placeable''' | |||
In the Toolset, select the carpet placeable, verify it is '''Static''', and add a String variable named <code>XDATA</code> with the copied value. Upload the ERF. | |||
The carpet will now display the lava texture in-game (for all players with SinfarX installed). | |||
---- | |||
=== Step-by-Step Example: Retexturing an Accessory (Horns) === | |||
'''Step 1 — Find the accessory bitmap''' | |||
Open NWNExplorer, click '''NWN Hak Files''' → open <code>sf_effects_v30.hak</code> → navigate to '''Models''' → search for the curved horns model. Double-click, load the ASCII model, and find the bitmap line: <code>horn_01</code>. | |||
'''Step 2 — Find the target texture''' | |||
Use any texture from the [[Textures]] reference or from Coldest's database. For this example: <code>tde01_lava01</code>. | |||
'''Step 3 — Generate and apply''' | |||
# Open [https://nwn.sinfar.net/xdata.php XDATA Generator]. | |||
# Under Textures Mapping: From <code>horn_01</code> → To <code>tde01_lava01</code>. | |||
# Click '''Add''' → '''Generate''' → Copy. | |||
# In-game, open the accessory adjustment menu → '''Set the adjustments string''' → Paste → Apply. | |||
'''Note:''' If the accessory uses the Metal/Leather/Cloth colour system, texture remapping will not work. Additionally, colour (RGBA) changes applied alongside a texture remap '''will''' affect the remapped texture. | |||
---- | |||
=== Troubleshooting === | |||
{| class="wikitable" | |||
!Problem | |||
!Likely cause | |||
!Solution | |||
|- | |||
|XDATA has no visible effect on a placeable | |||
|Placeable is not set as Static | |||
|Open in Toolset, check the Static property | |||
|- | |||
|Texture doesn't appear / shows as white | |||
|Incorrect resref, or texture not in haks | |||
|Double-check the bitmap name in NWNExplorer; confirm the texture exists in the Sinfar haks | |||
|- | |||
|Other players can't see the XDATA effects | |||
|They don't have SinfarX installed | |||
|XDATA is client-side; direct them to [https://sinfar.net/nwncx SinfarX] | |||
|- | |||
|NWNExplorer crashes on contextual menus | |||
|Known bug on Windows 10/11 | |||
|Avoid right-click menus; use Ctrl+S to search; ensure NWN registry key is set | |||
|- | |||
|XDATA string rejected on house upload | |||
|XDATA variables are stripped from non-static placeables during upload validation | |||
|Set placeable as Static before uploading | |||
|- | |||
|Texture looks wrong / distorted | |||
|UV mapping mismatch between source and target texture | |||
|Experiment with different target textures; this is trial and error | |||
|- | |||
|Colour changes affect remapped texture | |||
|Expected behaviour | |||
|Apply RGBA values carefully; set all to 0 if you only want a texture swap | |||
|} | |||
For additional help, post in the Builders section of the [https://forum.sinfar.net/ Sinfar Forum] or ask on the [https://discord.gg/AAhXQtH Builders Discord]. | |||
---- | |||
=== Known Limitations and Notes === | |||
* '''Accessories with Metal/Leather/Cloth colouring''' (the RGB/Transparency/Saturation system used for dyeable gear) cannot be remapped. Only items that do '''not''' use this system are compatible. | |||
* The results of texture remapping can be unexpected — a texture that looks great on one model may appear stretched, tiled oddly, or invisible on another. Testing is essential. | |||
* Multiple texture pairs can be added in a single XDATA string (add each From→To pair before clicking Generate). | |||
* Scaling, position, orientation, and colour changes can all be combined with texture remapping in a single XDATA string. | |||
* XDATA is '''not''' a scripting variable — it is read by SinfarX on the client side. No NWN script can read or write it at runtime; it must be set in the Toolset or via the in-game accessory menu. | |||
---- | |||
=== See Also === | |||
* [https://nwn.sinfar.net/xdata.php XDATA Generator] — official tool | |||
* [https://sinfar.net/building/xdata_mapping XDATA Mapping: A Comprehensive Guide] — original builder's guide (old wiki) | |||
* [https://forum.sinfar.net/viewtopic.php?f=315&t=14318 Coldest's Texture Database] (forum) | |||
* [[Textures]] — Sinfar texture reference (31,000+ resrefs) | |||
* [[Textures/Objects_and_Characters]] — objects, placeables, and character textures | |||
* [[Player_Housing]] — how to build and upload player houses | |||
* [https://sinfar.net/nwncx SinfarX Client Extender] — required to see XDATA effects | |||
* [https://www.sinfar.net/placeables.html Placeables List] (old Sinfar site) | |||
* [https://neverwintervault.org/project/nwn1/other/tool/nwnexplorer NWNExplorer] — tool for browsing NWN hak files | |||
[[Category:Player Tools]] | |||
[[Category:Builders Tools]] | |||
Latest revision as of 00:24, 28 May 2026
XDATA
XDATA is a Sinfar-exclusive string variable system that allows builders and players to customise the visual appearance of placeables, accessories, and visual effects beyond what the standard NWN toolset supports. Using the XDATA Generator tool on the Sinfar website, you can adjust scaling, position, orientation, colour (RGBA), and — most usefully — remap one texture to another on any supported object.
The feature is powered by the SinfarX client extender, which must be installed and running for XDATA effects to be visible in-game.
What XDATA Can Do
| Feature | Works on | Notes |
|---|---|---|
| Texture remapping | Placeables, accessories, VFX | Replace any bitmap with any other bitmap resref |
| Scaling | Placeables, accessories, VFX, creatures | Float value between 0.001 and 100 |
| Position offset (X/Y/Z) | Placeables, accessories, VFX | Any float; useful for fine-tuning accessories |
| Orientation (X/Y/Z) | Placeables, accessories, VFX | Degrees, 0–360 |
| RGBA colour tint | Placeables, accessories, VFX | Integer values −128 to +127 per channel |
Important limitations:
- Placeables must be set as Static in the toolset, otherwise XDATA has no effect.
- Accessories that use the Metal/Leather/Cloth colouring system (RGB/Transparency/Saturation) cannot have their textures remapped via XDATA.
- Some textures will not render correctly on certain placeables or VFX — this is a trial-and-error process.
- XDATA effects are client-side (rendered by SinfarX). Other players must also have SinfarX installed to see them.
The XDATA Generator
The XDATA Generator is a web form at nwn.sinfar.net/xdata.php. Fill in the fields you want to change, leave the rest blank, and click Generate to produce the XDATA string.
| Field | Type | Range | Description |
|---|---|---|---|
| Scaling | Float | 0.001 – 100 | Uniform scale multiplier for the object |
| Position X/Y/Z | Float | −∞ to +∞ | Offset the object's position on each axis |
| Orientation X/Y/Z | Float | 0 – 360 | Rotate the object on each axis (degrees) |
| Red / Green / Blue / Alpha | Integer | −128 to +127 | RGBA colour tint applied to all textures |
| Textures Mapping — From | ResRef | (texture name) | The original bitmap name on the model |
| Textures Mapping — To | ResRef | (texture name) | The replacement texture bitmap name |
You can add multiple texture remapping pairs by clicking Add after each pair before generating. Once you have the full output string, copy it.
Applying XDATA
To a Placeable (in the Toolset)
- Open your area in the NWN Toolset.
- Select the placeable you want to modify.
- In its Properties, make sure Static is checked. XDATA will not work on non-static placeables.
- Go to the Variables tab.
- Add a new variable:
- Type: String
- Name:
XDATA - Value: Paste the generated XDATA string
- Save and upload your ERF via the House Upload Page.
To an Accessory (In-Game)
- Equip or activate the accessory on your character.
- Open the Adjustment Menu for that accessory in-game.
- Select Set the adjustments string.
- Paste the generated XDATA string and confirm.
Finding Texture Bitmap Names (ResRefs)
To remap a texture you need to know the bitmap resref — the internal file name of the texture as it appears inside the model file. There are two main methods:
Method 1: NWN Explorer
NWNExplorer lets you browse and search the NWN hak files to find model bitmaps.
- Download and install NWNExplorer (note: it can be unstable on Windows 10/11 — contextual menus may crash it; a full NWN installation or at least the correct registry key pointing to your NWN folder is required).
- Open the relevant hak file:
- Most Sinfar placeables are in the placeable hak files in your
hak\directory. - Most accessories are in
sf_effects_v30.hak(version number may vary). - To speed up searching: click the relevant hak group (e.g. NWN Hak Files), then use Ctrl+S and type the resource name.
- Most Sinfar placeables are in the placeable hak files in your
- Navigate to Models, find the model, double-click it and wait for it to load.
- Click ASCII Model and look for the line that starts with
bitmap— that value is your resref.
Tip from the guide: NWNExplorer searches from the top of the list down. If you know the texture is in the custom haks, click NWN Hak Files first before searching to skip vanilla NWN resources.
Method 2: Sinfar Textures List
The Textures page on this wiki lists 31,000+ texture resrefs cross-referenced from Sinfar's 2da files and model data
Method 3: Coldest's Texture Database
A community-maintained thread on the Sinfar forum has many textures with their bitmap resrefs already identified: Coldest's Textures Database (forum login required). This is especially useful for common patterns and tileset textures.
Step-by-Step Example: Retexturing a Carpet with Lava
This example (from the original guide) walks through replacing the texture on a carpet placeable with a lava texture.
Step 1 — Find the source texture resref
Look up "Carpet: Rug 16" in the placeables 2da. Open its model in NWNExplorer and note the bitmap: tni01_burlap.
Step 2 — Find the target texture resref
Look up "Floor: Lava 1 1×1". Its bitmap is: tde01_lava01.
Alternatively, look this up in the Textures reference — search for lava textures in the Tileset Textures section.
Step 3 — Generate the XDATA string
- Open XDATA Generator.
- Leave Scaling, Position, Orientation, and RGBA blank (no changes needed).
- Under Textures Mapping:
- From:
tni01_burlap - To:
tde01_lava01
- From:
- Click Add, then click Generate.
- Copy the resulting string.
Step 4 — Apply to the placeable
In the Toolset, select the carpet placeable, verify it is Static, and add a String variable named XDATA with the copied value. Upload the ERF.
The carpet will now display the lava texture in-game (for all players with SinfarX installed).
Step-by-Step Example: Retexturing an Accessory (Horns)
Step 1 — Find the accessory bitmap
Open NWNExplorer, click NWN Hak Files → open sf_effects_v30.hak → navigate to Models → search for the curved horns model. Double-click, load the ASCII model, and find the bitmap line: horn_01.
Step 2 — Find the target texture
Use any texture from the Textures reference or from Coldest's database. For this example: tde01_lava01.
Step 3 — Generate and apply
- Open XDATA Generator.
- Under Textures Mapping: From
horn_01→ Totde01_lava01. - Click Add → Generate → Copy.
- In-game, open the accessory adjustment menu → Set the adjustments string → Paste → Apply.
Note: If the accessory uses the Metal/Leather/Cloth colour system, texture remapping will not work. Additionally, colour (RGBA) changes applied alongside a texture remap will affect the remapped texture.
Troubleshooting
| Problem | Likely cause | Solution |
|---|---|---|
| XDATA has no visible effect on a placeable | Placeable is not set as Static | Open in Toolset, check the Static property |
| Texture doesn't appear / shows as white | Incorrect resref, or texture not in haks | Double-check the bitmap name in NWNExplorer; confirm the texture exists in the Sinfar haks |
| Other players can't see the XDATA effects | They don't have SinfarX installed | XDATA is client-side; direct them to SinfarX |
| NWNExplorer crashes on contextual menus | Known bug on Windows 10/11 | Avoid right-click menus; use Ctrl+S to search; ensure NWN registry key is set |
| XDATA string rejected on house upload | XDATA variables are stripped from non-static placeables during upload validation | Set placeable as Static before uploading |
| Texture looks wrong / distorted | UV mapping mismatch between source and target texture | Experiment with different target textures; this is trial and error |
| Colour changes affect remapped texture | Expected behaviour | Apply RGBA values carefully; set all to 0 if you only want a texture swap |
For additional help, post in the Builders section of the Sinfar Forum or ask on the Builders Discord.
Known Limitations and Notes
- Accessories with Metal/Leather/Cloth colouring (the RGB/Transparency/Saturation system used for dyeable gear) cannot be remapped. Only items that do not use this system are compatible.
- The results of texture remapping can be unexpected — a texture that looks great on one model may appear stretched, tiled oddly, or invisible on another. Testing is essential.
- Multiple texture pairs can be added in a single XDATA string (add each From→To pair before clicking Generate).
- Scaling, position, orientation, and colour changes can all be combined with texture remapping in a single XDATA string.
- XDATA is not a scripting variable — it is read by SinfarX on the client side. No NWN script can read or write it at runtime; it must be set in the Toolset or via the in-game accessory menu.
See Also
- XDATA Generator — official tool
- XDATA Mapping: A Comprehensive Guide — original builder's guide (old wiki)
- Coldest's Texture Database (forum)
- Textures — Sinfar texture reference (31,000+ resrefs)
- Textures/Objects_and_Characters — objects, placeables, and character textures
- Player_Housing — how to build and upload player houses
- SinfarX Client Extender — required to see XDATA effects
- Placeables List (old Sinfar site)
- NWNExplorer — tool for browsing NWN hak files