[Mod request] Alfiqs of the Iliac Bay (Art already done)

Talk about the mods you'd like to see in Daggerfall Unity. Give mod creators some ideas!
User avatar
WilhelmBlack
Posts: 19
Joined: Sun Sep 24, 2023 2:43 pm

Re: [Mod request] Alfiqs of the Iliac Bay (Art already done)

Post by WilhelmBlack »

numidium3rd wrote: Sun Dec 31, 2023 5:46 pm The latest version can load images from .dfmod bundles. The replacement files still need to be in loose directories for now.
Hi! I hope you are well. I have come with what appear to be new bugs :_)

So I try to use this mods to place regional characters using sprites from DET

My idea is that the sprites from House of Dibella changes between regions. So here are the .json that I've written:

Tropical.json (Khajiit and argonian priestess in tropical regions)

Code: Select all

[
	{
		"Regions": [01, 22, 48, 49, 50, 51, 52, 53],
		"FactionId": 29,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 184,
		"TextureRecord": 18,
		"ReplaceTextureArchive": -1,
		"ReplaceTextureRecord": -1,
		"FlatTextureName": "1014_0-",
		"UseExactDimensions": true,
		"FlatPortrait": 1014000
	},
	{
		"Regions": [01, 22, 48, 49, 50, 51, 52, 53],
		"FactionId": 29,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 184,
		"TextureRecord": 14,
		"ReplaceTextureArchive": "",
		"ReplaceTextureRecord": "",
		"FlatTextureName": "1014_1-",
		"UseExactDimensions": true,
		"FlatPortrait": 1014001
	},
	{
		"Regions": [01, 22, 48, 49, 50, 51, 52, 53],
		"FactionId": 29,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 184,
		"TextureRecord": 5,
		"ReplaceTextureArchive": "",
		"ReplaceTextureRecord": "",
		"FlatTextureName": "1014_2",
		"UseExactDimensions": true,
		"FlatPortrait": 1014002
	}
]
Hammerfell.json (Redguard priest in Hamerfell regions)

Code: Select all

[
	{
		"Regions": [00, 01, 11, 20, 22, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 61],
		"FactionId": 29,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 182,
		"TextureRecord": 25,
		"ReplaceTextureArchive": -1,
		"ReplaceTextureRecord": -1,
		"FlatTextureName": "1014_3-",
		"UseExactDimensions": true,
		"FlatPortrait": 1014003
	}
]
SouthEast.json (Senche and alfiq pilgrims in Mournoth and Dragontail Mountains)

Code: Select all

[
	{
		"Regions": [01, 52],
		"FactionId": 29,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 181,
		"TextureRecord": 4,
		"ReplaceTextureArchive": -1,
		"ReplaceTextureRecord": -1,
		"FlatTextureName": "1014_4-",
		"UseExactDimensions": true,
		"FlatPortrait": 1014004
	},
	{
		"Regions": [01, 52],
		"FactionId": 29,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 182,
		"TextureRecord": 58,
		"ReplaceTextureArchive": -1,
		"ReplaceTextureRecord": -1,
		"FlatTextureName": "1014_5-",
		"UseExactDimensions": true,
		"FlatPortrait": 1014005
	}
]
This is how it looks in Mournoth [52]:

Image

Image

Image

But if I travel to a tropical region out of Dragontail Mountains or Mournoth like Tigonus [48], this is how it looks:

Image

Image

Image

Only the Senche and the alfiqs are supossed to be missing because their regions are 01 and 52. So I try without the SouthEast.json:

Image

Image

Image

And suddenly works correctly. I'm also using the AlfiqsEastIliac.json and the Mournoth.json (Mournoth guards in Mournoth)

Code: Select all

[
	{
		"Regions": [52],
		"FactionId": -1,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 183,
		"TextureRecord": 2,
		"ReplaceTextureArchive": -1,
		"ReplaceTextureRecord": -1,
		"FlatTextureName": "1016_0-",
		"UseExactDimensions": true,
		"FlatPortrait": 316
	},
	{
		"Regions": [52],
		"FactionId": -1,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 183,
		"TextureRecord": 3,
		"ReplaceTextureArchive": -1,
		"ReplaceTextureRecord": -1,
		"FlatTextureName": "1016_0-",
		"UseExactDimensions": true,
		"FlatPortrait": 316
	},
	{
		"Regions": [52],
		"FactionId": -1,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 183,
		"TextureRecord": 4,
		"ReplaceTextureArchive": -1,
		"ReplaceTextureRecord": -1,
		"FlatTextureName": "1016_0-",
		"UseExactDimensions": true,
		"FlatPortrait": 316
	}
]
But this doesn't affect the other .json. And if I travel to a desert region the redguard priest doesn't appear but if I also delete the Tropical.json, the redguard appears.

I try with the -1 in the faction ID, but it works in the same way. So this is what I think that happens: if more than a flat replacement with diferent regions happens in the same building, the flat replacement with the minimum regions overwrite the other flat replacement regions of the same building. So if the SouthEast.json is present, the regions of the Tropical.json and Hammerfell.json are automatically 01 and 52. With an unique .json happens the same.

The only exception to this is the khajiit priestess. Is not beacuse the FlatTextureName (1014_0-), but because the Texture archive and record (183 and 4). I don't know why.

Is it possible to fix this?

EDIT:

Ok, more problems :oops:

So I try with the redguard Kynareth priestess in the Temple of Kynareth. In a separate .json for search incompatibilities.

Kynareth.json

Code: Select all

[
	{
		"Regions": [00, 01, 11, 20, 22, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 61],
		"FactionId": 35,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 183,
		"TextureRecord": 12,
		"ReplaceTextureArchive": -1,
		"ReplaceTextureRecord": -1,
		"FlatTextureName": "1014_6-",
		"UseExactDimensions": true,
		"FlatPortrait": 159
	}
]
But It doesn't work:

Image
Tigonus [48]

The other .json used are the sames that I shared in this post. Except they all use the same Hamerfell regions to avoid incompatibilities. After many tries I've found that the .json incompatibles are the SouthEast.json and the Mournoth.json. Without these it works:

Image

I don't know why,

EDIT 2:

Seems that the problem with Mournoth.json is that a Mournoth guard appears in Kynareth Temple. So the regions of the Mournoth.json determines those of the Kynareth.json. Without the SouthEast.json, the Kynareth priestess appears in Mournoth, but if I change the faction of the Mournoth guard, the priestess dissapears with him. It's strange, because the faction of Mournoth.json doesn't affect the others .json.

User avatar
numidium3rd
Posts: 186
Joined: Sun Mar 25, 2018 12:34 am
Location: United States

Re: [Mod request] Alfiqs of the Iliac Bay (Art already done)

Post by numidium3rd »

OK, so I did discover a bug when running your jsons with DET that is now fixed. However, I didn't experience the problem in the exact same way. Tropical.json has a replacement for 184, 5 that had a typo in the texture name "1014_2" (missing "-") which was making the code freak out and stop doing any further replacements. I fixed it so that it just ignores wrong texture names instead. After doing that I didn't notice it failing to replace anything. I hope this fixes the issue for you. If not then please let me know.

User avatar
WilhelmBlack
Posts: 19
Joined: Sun Sep 24, 2023 2:43 pm

Re: [Mod request] Alfiqs of the Iliac Bay (Art already done)

Post by WilhelmBlack »

numidium3rd wrote: Sun Feb 04, 2024 11:55 pm OK, so I did discover a bug when running your jsons with DET that is now fixed. However, I didn't experience the problem in the exact same way. Tropical.json has a replacement for 184, 5 that had a typo in the texture name "1014_2" (missing "-") which was making the code freak out and stop doing any further replacements. I fixed it so that it just ignores wrong texture names instead. After doing that I didn't notice it failing to replace anything. I hope this fixes the issue for you. If not then please let me know.
Oh, sorry. I notice that missing "-" too and I changed it while writing the message and I forgot to change it in the message itself. :P

Everything works now with the mod updated, thanks! :D

User avatar
WilhelmBlack
Posts: 19
Joined: Sun Sep 24, 2023 2:43 pm

Re: [Mod request] Alfiqs of the Iliac Bay (Art already done)

Post by WilhelmBlack »

numidium3rd wrote: Sun Feb 04, 2024 11:55 pm OK, so I did discover a bug when running your jsons with DET that is now fixed. However, I didn't experience the problem in the exact same way. Tropical.json has a replacement for 184, 5 that had a typo in the texture name "1014_2" (missing "-") which was making the code freak out and stop doing any further replacements. I fixed it so that it just ignores wrong texture names instead. After doing that I didn't notice it failing to replace anything. I hope this fixes the issue for you. If not then please let me know.
I've another question. Could this mod works in exteriors too? Many mods adds flat npcs near to a building. It could be interesting that this npcs varies between regions. Or changes the billboards sprites from villagers to add orcs villagers in Wrotghar for example.

User avatar
numidium3rd
Posts: 186
Joined: Sun Mar 25, 2018 12:34 am
Location: United States

Re: [Mod request] Alfiqs of the Iliac Bay (Art already done)

Post by numidium3rd »

That could work with some tweaking. I'd have to scan the exterior for flats as they load in but that should be doable as long as there is an event I could subscribe to when that happens.

User avatar
WilhelmBlack
Posts: 19
Joined: Sun Sep 24, 2023 2:43 pm

Re: [Mod request] Alfiqs of the Iliac Bay (Art already done)

Post by WilhelmBlack »

numidium3rd wrote: Tue Feb 06, 2024 9:37 pm That could work with some tweaking. I'd have to scan the exterior for flats as they load in but that should be doable as long as there is an event I could subscribe to when that happens.
That's would be great!
I've another question. Is there a way for a replacement to take priority over another? For example, there is a replacement of a certain flat in every region of hammerfell and in all faction, but in an specific faction I want a different replacement. I noticed that put the replacement upper in the .json or write it twice works, but sometines not.

I know that if I write the first replacement for every faction except the one from the other replacement could work, but I only can write one faction for every replacement unlike the regions.

I could write the replacement one time for every faction, but I think that it could be more fast if I can set a priority order.

EDIT: Actually that doesn't work neither. Because some factions don't seem to recognize them, like Akatosh's (26) :_)

User avatar
WilhelmBlack
Posts: 19
Joined: Sun Sep 24, 2023 2:43 pm

Re: [Mod request] Alfiqs of the Iliac Bay (Art already done)

Post by WilhelmBlack »

numidium3rd wrote: Tue Feb 06, 2024 9:37 pm That could work with some tweaking. I'd have to scan the exterior for flats as they load in but that should be doable as long as there is an event I could subscribe to when that happens.
Another one sorry, I'm discovering bugs as I work on it xD

The flat replacer doesn't affect the npcs of the main castles (Daggerfall, Sentinel and Wayrest), I supose It's because they count as a dungeons and not as a buildings. I wonder if this can be solved once it works in exteriors or is it another added problem.

It's not a problem for the flats because every npc of the castle has its own file, but some uses common portraits.

Anyway new Alfiq, the magician:

Image

User avatar
numidium3rd
Posts: 186
Joined: Sun Mar 25, 2018 12:34 am
Location: United States

Re: [Mod request] Alfiqs of the Iliac Bay (Art already done)

Post by numidium3rd »

Not really a bug per se but yes, replacing dungeon flats would be another good feature to add. I'm liking the art!

User avatar
WilhelmBlack
Posts: 19
Joined: Sun Sep 24, 2023 2:43 pm

Re: [Mod request] Alfiqs of the Iliac Bay (Art already done)

Post by WilhelmBlack »

numidium3rd wrote: Mon Feb 12, 2024 10:21 pm Not really a bug per se but yes, replacing dungeon flats would be another good feature to add. I'm liking the art!
This could be a bug.

Using this .json:

Code: Select all

[
	{
		"Regions": [52],
		"FactionId": -1,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 183,
		"TextureRecord": 2,
		"ReplaceTextureArchive": 1016,
		"ReplaceTextureRecord": 0,
		"FlatTextureName": "-1",
		"UseExactDimensions": true,
		"FlatPortrait": 410
	}
]
The Mournoth's guard appears like an ant-guard:

Image

If I change it for another sprite:

Code: Select all

[
	{
		"Regions": [52],
		"FactionId": -1,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 183,
		"TextureRecord": 2,
		"ReplaceTextureArchive": 1016,
		"ReplaceTextureRecord": 1,
		"FlatTextureName": "-1",
		"UseExactDimensions": true,
		"FlatPortrait": 410
	}
]
It works fine:

Image

If I use another savedata, the problem persist, but the guard appears on the ground:

Image

The only solution is use the FlatTextureName like before:

Code: Select all

[
	{
		"Regions": [52],
		"FactionId": -1,
		"BuildingType": -1,
		"QualityMin": 1,
		"QualityMax": 20,
		"TextureArchive": 183,
		"TextureRecord": 2,
		"ReplaceTextureArchive": -1,
		"ReplaceTextureRecord": -1,
		"FlatTextureName": "1016_0-",
		"UseExactDimensions": true,
		"FlatPortrait": 410
	}
]
With a custom XML:

Code: Select all

<?xml version="1.0"?>
<info>
    <scaleX>0.62</scaleX>
    <scaleY>0.62</scaleY>
</info>
And it works fine:

Image

I talked with ninelan, but they said that the XML of the guard isn't different from any other NPCs included in DET:

https://www.nexusmods.com/daggerfalluni ... 7?tab=bugs

I noticed too that I can't talk to any npc clicking on their head. I need to click their neck instead. Could it be a problem related to the Flat Replacer reading the XML of the mods?

Post Reply