Fix town people in Hammerfell
Posted: Fri Dec 07, 2018 12:19 pm
Hi all,
For those still playing the original Daggerfall using DOSBox, I managed to fix the textures used for town people in most part of Hammerfell. The only exception is the Dragontail Mountains as it requires tweaking climate.pak and I didn't take the time to do it yet.
So, as you already know, the problem is that instead of Redguard textures, DF uses Breton textures for some of Hammerfell NPCs, for example in Sentinel. It also uses Nord textures for the Dragontail Mountains. How DF works is like this:
Get the climate value corresponding to the current player location. The climate value is stored in climate.pak, which is probably read when the game starts.
Get the race number corresponding to the climate value. I spent hours trying to figure this out, using mostly IDA Pro, WinDbg and the DOSBox debugger. So it works as follows:
Our luck here is that the two regions we have to tweak, i.e. corresponding to Hammerfell locations, are available directly in fall.exe third segment. I mean that DF devs could have put Breton race for all climate values equal to or above 228, in which case patching the code would have been much more difficult. But here, we only have to replace the race number for climate values 228 and 229 with 2.
To do this, open fall.exe with your favorite hex editor and locate the following byte sequence:
Replace it with:
Launch DF, travel to Sentinel and see beautiful Redguards wandering the streets!
Now, the problem with the Dragontail Mountains is they use the same climate value as the Wrothgarian Mountains, value which is 226. But while Wrothgarian Mountains are supposed to be inhabited by Nords, Dragontail Mountains are home to the Redguards. So the only fix here is to tweak climate.pak and replace all Dragontail Mountains values with values ranging from 224 to 229, with the exception of 226. We could make some gradient here to reflect climate transitions.
Edit: actually, it took me a little time to tweak climate.pak.
I used FiryWoods found on the UESP to export/import the file.
Here is the new climate.pak:
Compare it to the previous one:
The image is provided here with enhanced contrast only to show the differences, but the climate.pak file you can download below has the correct light grey values ranging from 223 to 232.
Replace the older one in DF and enjoy Redguards in the Dragontail Mountains!
For those still playing the original Daggerfall using DOSBox, I managed to fix the textures used for town people in most part of Hammerfell. The only exception is the Dragontail Mountains as it requires tweaking climate.pak and I didn't take the time to do it yet.
So, as you already know, the problem is that instead of Redguard textures, DF uses Breton textures for some of Hammerfell NPCs, for example in Sentinel. It also uses Nord textures for the Dragontail Mountains. How DF works is like this:
Get the climate value corresponding to the current player location. The climate value is stored in climate.pak, which is probably read when the game starts.
Get the race number corresponding to the climate value. I spent hours trying to figure this out, using mostly IDA Pro, WinDbg and the DOSBox debugger. So it works as follows:
Code: Select all
Climate value Race number
<=225 2 (Redguard)
226 0 (Nord)
227 2 (Redguard)
228 1 (Breton)
229 1 (Breton)
>=230 1 (Breton)
To do this, open fall.exe with your favorite hex editor and locate the following byte sequence:
Code: Select all
02 00 02 01 01 01 83
Code: Select all
02 00 02 02 02 01 83
Now, the problem with the Dragontail Mountains is they use the same climate value as the Wrothgarian Mountains, value which is 226. But while Wrothgarian Mountains are supposed to be inhabited by Nords, Dragontail Mountains are home to the Redguards. So the only fix here is to tweak climate.pak and replace all Dragontail Mountains values with values ranging from 224 to 229, with the exception of 226. We could make some gradient here to reflect climate transitions.
Edit: actually, it took me a little time to tweak climate.pak.
I used FiryWoods found on the UESP to export/import the file.
Here is the new climate.pak:
Compare it to the previous one:
The image is provided here with enhanced contrast only to show the differences, but the climate.pak file you can download below has the correct light grey values ranging from 223 to 232.
Replace the older one in DF and enjoy Redguards in the Dragontail Mountains!