Release Elite Dangerous HUD Mod (EDHM)

@nepomuk

Ok let's look at text colour.

-----------------------------------------------------------------
For starters I recommend activating Dev mode so you can tinker with the values and load the changes in-game without exiting.

Open up d3dx.ini

and uncomment this line
;include = EDHM-ini/Dev.ini

so that it looks like this
include = EDHM-ini/Dev.ini

Save the file then start Elite. You'll see green overlay text on-screen that indicates you're in Dev mode.

** When you've finished modding the text colour, re-comment that line or it will impact your FPS
make it look like this when you've finished, and save d3dx.ini
;include = EDHM-ini/Dev.ini

-----------------------------------------------------------------
Next, open up f969184721bd5dec-ps.txt, which is the main text colour shader

I prefer to edit in Notepad++ with Javascript language activated for nice code highlights (Language/J/Javascript). It also shows line numbers.

I should note I have set the mod to only change orange text, as it's nice to have other colours pop up occasionally.

Go to line 78

Code:
dp3 r2.x, r0.xyzx, l(0.600000, 0.000002, 0.000004, 0.000000)
dp3 r2.y, r0.xyzx, l(0.000001, 1.600000, 0.000005, 0.000000)
dp3 r2.z, r0.xyzx, l(0.800000, 0.000003, 0.000006, 0.000000)

I managed to insert a nice matrix into this shader that looks like the XML. It's not always possible with every shader but this one seems to work.

x = red
y = green
z = blue
w = opacity (but very rarely works on its own)

dp3 means a dot product of 3 components
r2 is the output variable (r2.x is the red output, r2.y is the green output, r2.z is the blue output)
r0 is the standard Elite variable/colour
and the values in the matrix are our RGB modded colours

So we are going to multiply r0 (original Elite colours) by the values in the matrix, to give an output stored in r2

The first column applies the original red channel to the output colours (usually the best to use as it's the strongest channel)
The second column applies the original green channel to output colours (usually used for shading)
The third column applies the original blue channel to the output (which is often empty and not useful here)

I notice 3Dmigoto has inserted zeros in the fourth column, it's really just a dummy variable (filler, doesn't do anything). However, while we're modding I'll change the r0.xyzx to r0.xyzw so there's no chance of adding too much x (red)

Ok so lets start with default Elite colours so you can see where it shows through

Insert this matrix on line 78,79,80. See how it looks like the default Elite XML?

Code:
dp3 r2.x, r0.xyzw, l(1.0, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.0, 1.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.0, 0.0, 1.0, 0.000000)

Save the shader file, and in-game press F11 to reload (you can change this key binding in Dev.ini)

You'd probably expect orange text everywhere, but that doesn't happen because the text colour is now orange, and I've instructed lots of different shaders to detect orange and apply a new colour. But that won't happen when we change it to green or yellow.

Press ALT F9 if you'd like to see how default Elite looks without any mod at all.

-----------------------------------------------------------------
But let's ignore all that for now and make the text green.

Change the matrix to this and F11 to reload:

Code:
dp3 r2.x, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(1.0, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)

We've used the original Elite red channel (first column, the strongest colour) and applied it to the green channel. Basically we have swapped the red and green channel.
Note: We could have also used the second column but I don't think there's any shading we need to preserve (I used the second column in the mod because I didn't fully understand the colour channels a few months ago, and since it works I didn't want to muck it up by changing things)

We've also removed all red and blue (0.0 for both), so this is pure green.

View attachment 200915

If that green is too bright, you can reduce it to 0.6 or something like that

Code:
dp3 r2.x, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.6, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)

View attachment 200916

-----------------------------------------------------------------
I just noticed this new matrix allows me to take the blue tint off the text without side-effects elsewhere (text was turning green on the carrier when I tried to fix it previously)

So I might update the mod with this new text shader over the next few days, to something like this (might be a little too bright):

Code:
dp3 r2.x, r0.xyzw, l(0.7, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.8, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.8, 0.0, 0.0, 0.000000)

(the red channel is slightly reduced as it's an overpowering output when at the same level as Green and Blue, really noticeable when trying to make things white)

Ok, so you have your Green text, and you can add a little blue or red if you want different types of green


-----------------------------------------------------------------
Now onto Yellow.

Yellow is equal amounts of red and green, zero blue

So full-on yellow would be this:

Code:
dp3 r2.x, r0.xyzw, l(0.8, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.8, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)

View attachment 200917

But if you want slightly yellow, then we increase red and green relative to white

So perhaps something like this:

Code:
dp3 r2.x, r0.xyzw, l(0.95, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.95, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.7, 0.0, 0.0, 0.000000)

View attachment 200918

or

Code:
dp3 r2.x, r0.xyzw, l(0.95, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.95, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.5, 0.0, 0.0, 0.000000)

View attachment 200919

Ok you now have the tools to change the text colour yourself. But let me know if you need any help with a particular colour

o7
DUDE, thanks. Some in depth looks there. I will be applying this later tonight. Thanks again for the awesome mod and for patience for needy people like us. ha
 
Ok I just had a quick look at the supercruise glow effect on other ships.

I thought I recognised the shader e29d91120fc28c8e .. it's the light flare shader

As far as I can tell, there's no IB or other sub-component that targets the flare on the supercruise ship exclusively, that will skip the flares on every other light in the ship and on the stations. So if you turn off or dim the flare on the supercruise ship you turn it off on every other light as well.

I'll attach the shader. Now if we look inside there's hardly any code at all

Code:
// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);

void main(
  float4 v0 : TEXCOORD0,
  float4 v1 : TEXCOORD1,
  float v2 : TEXCOORD2,
  float4 v3 : SV_Position0,
  out float4 o0 : SV_Target0)
{
  float4 r0,r1;
  uint4 bitmask, uiDest;
  float4 fDest;

  r0.xyz = t1.Sample(s0_s, v1.zw).xyz;
  r0.xyz = cb0[0].xxx * r0.xyz;
  r1.xyzw = t0.Sample(s1_s, v1.xy).xyzw;
  r0.xyz = r0.xyz * r1.xyz + -r1.xyz;
  r0.xyz = v2.xxx * r0.xyz + r1.xyz;
  o0.w = v0.w * r1.w;
  r0.xyz = v0.xyz * r0.xyz;
  o0.xyz = cb0[0].yyy * r0.xyz;
  return;
}

We can dim the flare on the supercruise ship by changing the line:
r0.xyz = v0.xyz * r0.xyz;
to
r0.xyz = v0.xyz * r0.xyz * 0.5;

or 0.1 or whatever you like.

But then everything will be dimmed elsewhere too.

I don't think there's a way of differentially targeting the supercruise ship, but please let me know if you do find something
Thanks for confirming that. Using Old Ducks's Shader Hash's you supplied yesterday, I ran my own experiments and also couldn't find a workaround without, as you said, dimming other elements of the UI. I'm going to declare this one a win for the machine and a loss for our side. I will say though that this was a helpful exorcise nevertheless because I stumbled across other IBs that could aid in high speed navigation near planetary masses.

On that same note, I also was able to confirm that the dirty windshield issue I reported above are in fact subject to the same limitation. I'd love to be able to turn off the windshield "crazing" effect for mining. However, that eliminates my combat reticule which would not normally be an issue during mining. What I need to do is figure out how to tie turning off the windshield glare to a hotkey function so I can toggle it when I go combat mode when chasing away NPC pirates during mining. If one thinks about it and if one has ever had one's windshield blown out during combat and losing the combat reticule, this makes prefect sense since the reticule is tied to the windshield HUD.

I'm thinking there may be a way using clever color palette manipulation to minimize the windshield glare while still keeping the combat reticule. BTW: I learned that this glare is a known effect in the real world and is called "windshield crazing" by the aircraft industry.

I've downloaded the shader you attached to see if I can manipulate the color palette. Truth be told, it's beyond my current understanding of 3dMigoto but then again, with the examples you've provided in this thread answering other questions, I now have a better idea how this ties together.
 
I have been through the KeyBindings PDF file. Is there no way to have it write out the current selected values that I have made to allow me to store them? Or do I have to Count each one for Keepress then write the values down and then edit the Profiles.ini file?

Yeah unfortunately 3Dmigoto doesn't have the functionality to display choices on screen.

When designing your own profile, you might like to try activating Dev mode, see inside d3dx.ini .. you just have to uncomment one line (but remember to re-comment it again when you're finished because Dev mode reduces FPS)

Then you can select a number of a colour in the Profiles.ini (in the EDHM-ini folder), go back to Elite and press F11, and it will reload your changes without having to exit the game. So instead of cycling through colours, you choose them yourself and know exactly what is being displayed.

That's probably the best way instead of counting
 
On that same note, I also was able to confirm that the dirty windshield issue I reported above are in fact subject to the same limitation. I'd love to be able to turn off the windshield "crazing" effect for mining. However, that eliminates my combat reticule which would not normally be an issue during mining. What I need to do is figure out how to tie turning off the windshield glare to a hotkey function so I can toggle it when I go combat mode when chasing away NPC pirates during mining. If one thinks about it and if one has ever had one's windshield blown out during combat and losing the combat reticule, this makes prefect sense since the reticule is tied to the windshield HUD.

I'll have a look at that later in the week, but my initial impressions are the same as yours. You can definitely toggle it though, Old Duck has toggles in his mod and you could use the same principles with that shader. I'll also have a check for IBs and see if the dirt can be targeted specifically.

I'm glad you're enjoying modding, it's actually quite fun when you understand how things work
 
@nepomuk

Ok let's look at text colour.

-----------------------------------------------------------------
For starters I recommend activating Dev mode so you can tinker with the values and load the changes in-game without exiting.

Open up d3dx.ini

and uncomment this line
;include = EDHM-ini/Dev.ini

so that it looks like this
include = EDHM-ini/Dev.ini

Save the file then start Elite. You'll see green overlay text on-screen that indicates you're in Dev mode.

** When you've finished modding the text colour, re-comment that line or it will impact your FPS
make it look like this when you've finished, and save d3dx.ini
;include = EDHM-ini/Dev.ini

-----------------------------------------------------------------
Next, open up f969184721bd5dec-ps.txt, which is the main text colour shader

I prefer to edit in Notepad++ with Javascript language activated for nice code highlights (Language/J/Javascript). It also shows line numbers.

I should note I have set the mod to only change orange text, as it's nice to have other colours pop up occasionally.

Go to line 78

Code:
dp3 r2.x, r0.xyzx, l(0.600000, 0.000002, 0.000004, 0.000000)
dp3 r2.y, r0.xyzx, l(0.000001, 1.600000, 0.000005, 0.000000)
dp3 r2.z, r0.xyzx, l(0.800000, 0.000003, 0.000006, 0.000000)

I managed to insert a nice matrix into this shader that looks like the XML. It's not always possible with every shader but this one seems to work.

x = red
y = green
z = blue
w = opacity (but very rarely works on its own)

dp3 means a dot product of 3 components
r2 is the output variable (r2.x is the red output, r2.y is the green output, r2.z is the blue output)
r0 is the standard Elite variable/colour
and the values in the matrix are our RGB modded colours

So we are going to multiply r0 (original Elite colours) by the values in the matrix, to give an output stored in r2

The first column applies the original red channel to the output colours (usually the best to use as it's the strongest channel)
The second column applies the original green channel to output colours (usually used for shading)
The third column applies the original blue channel to the output (which is often empty and not useful here)

I notice 3Dmigoto has inserted zeros in the fourth column, it's really just a dummy variable (filler, doesn't do anything). However, while we're modding I'll change the r0.xyzx to r0.xyzw so there's no chance of adding too much x (red)

Ok so lets start with default Elite colours so you can see where it shows through

Insert this matrix on line 78,79,80. See how it looks like the default Elite XML?

Code:
dp3 r2.x, r0.xyzw, l(1.0, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.0, 1.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.0, 0.0, 1.0, 0.000000)

Save the shader file, and in-game press F11 to reload (you can change this key binding in Dev.ini)

You'd probably expect orange text everywhere, but that doesn't happen because the text colour is now orange, and I've instructed lots of different shaders to detect orange and apply a new colour. But that won't happen when we change it to green or yellow.

Press ALT F9 if you'd like to see how default Elite looks without any mod at all.

-----------------------------------------------------------------
But let's ignore all that for now and make the text green.

Change the matrix to this and F11 to reload:

Code:
dp3 r2.x, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(1.0, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)

We've used the original Elite red channel (first column, the strongest colour) and applied it to the green channel. Basically we have swapped the red and green channel.
Note: We could have also used the second column but I don't think there's any shading we need to preserve (I used the second column in the mod because I didn't fully understand the colour channels a few months ago, and since it works I didn't want to muck it up by changing things)

We've also removed all red and blue (0.0 for both), so this is pure green.

View attachment 200915

If that green is too bright, you can reduce it to 0.6 or something like that

Code:
dp3 r2.x, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.6, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)

View attachment 200916

-----------------------------------------------------------------
I just noticed this new matrix allows me to take the blue tint off the text without side-effects elsewhere (text was turning green on the carrier when I tried to fix it previously)

So I might update the mod with this new text shader over the next few days, to something like this (might be a little too bright):

Code:
dp3 r2.x, r0.xyzw, l(0.7, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.8, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.8, 0.0, 0.0, 0.000000)

(the red channel is slightly reduced as it's an overpowering output when at the same level as Green and Blue, really noticeable when trying to make things white)

Ok, so you have your Green text, and you can add a little blue or red if you want different types of green


-----------------------------------------------------------------
Now onto Yellow.

Yellow is equal amounts of red and green, zero blue

So full-on yellow would be this:

Code:
dp3 r2.x, r0.xyzw, l(0.8, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.8, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.0, 0.0, 0.0, 0.000000)

View attachment 200917

But if you want slightly yellow, then we increase red and green relative to white

So perhaps something like this:

Code:
dp3 r2.x, r0.xyzw, l(0.95, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.95, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.7, 0.0, 0.0, 0.000000)

View attachment 200918

or

Code:
dp3 r2.x, r0.xyzw, l(0.95, 0.0, 0.0, 0.000000)
dp3 r2.y, r0.xyzw, l(0.95, 0.0, 0.0, 0.000000)
dp3 r2.z, r0.xyzw, l(0.5, 0.0, 0.0, 0.000000)

View attachment 200919

Ok you now have the tools to change the text colour yourself. But let me know if you need any help with a particular colour

o7
The green text is wonderful. Thanks again. Will customize the rest later.
 
Just worked through the shader repair for VR. Worked GREAT once I followed the directions correctly. It MIGHT be worth adding a small note that you MUST copy the d3dx.ini from the shader repair folder. After reading the note stating that it was going to put it into developer mode, I actually skipped this since I already had it in developer mode for tweaking. The instructions are actually correct and DO tell you what to do. They are also very easy to follow and read, BUT I'm sure a few people have thought they were clever by already having it in developer mode and skipped that step. Again, the instructions are great, no complaints. Just trying to help extra dummy proof it.

Thanks again for the stellar mod, and the detailed instructions at all stages.
 
The instructions are actually correct and DO tell you what to do. They are also very easy to follow and read, BUT I'm sure a few people have thought they were clever by already having it in developer mode and skipped that step. Again, the instructions are great, no complaints. Just trying to help extra dummy proof it.

Oh I didn't think of that, it's a really good suggestion! So next update I'll add it in. I'm really glad you're enjoying the mod
 
Hi CMDRs,

There is a bug in VR in which the coloured lighting can switch off unexpectedly in stations. At this stage it only appears to affect VR.

I've just updated the Github instructions and also added a separate note in the download folder. It's a simple fix, you just have to insert one semi-colon ;

VR-Lighting-bug-fix.JPG


Thank you to @WeComeInPeace for bringing my attention to the bug as I might not have noticed it for a while
 
Hi CMDRs,

There is a bug in VR in which the coloured lighting can switch off unexpectedly in stations. At this stage it only appears to affect VR.

I've just updated the Github instructions and also added a separate note in the download folder. It's a simple fix, you just have to insert one semi-colon ;

View attachment 201706

Thank you to @WeComeInPeace for bringing my attention to the bug as I might not have noticed it for a while

Well I'm the one to thank you! I really enjoy the new look in many of my old spaceships. I sincerely appreciate it!

I'll fix the file right away.

Edit:

It works perfectly now :)(y)
 
Last edited:
What a fantastic mod - congrats Cmdr GeorjCostanza, King of Cockpit Colour Schemes, Head of the HUD Hackers, and probably a good friend of Santa Claus.

haha Thanks CMDR! Actually for some reason my beard goes white while all my hair is brown, so I've grown it out to look like Santa :)

I'm happy you're enjoying the mod!
 
Attn all EDHM CMDRs,

I had a report of the cabin lighting turning off in normal 2D mode so I've disabled the fix in the public release (now v1.41)

If you experience that issue you can update your Custom.ini (in the EDHM-ini folder) file with this one:
https://github.com/psychicEgg/EDHM/tree/main/Releases/v1.4/Update-1.4-to-1.41

This means the cabin lighting colour will affect the CMDR's skin and flight suit when in External Camera mode, so just press SHIFT F1 to disable the mod before taking a selfie

Sorry about that, it's sort of an edge case scenario under particular lighting conditions .. so you don't have to update if you don't experience the bug
 
I followed the instructions for Dev mode to go through all the possibilities and have it all setup the way I want. Thanks!

I did notice though, the Mouse Widget I have enabled on the Center of the HUD. Any Idea what part of the HUD affects its colour or is it part of some other shader we are not touching at this point? Seems to be the same green as Friendlies on the Radar. i did not notice it till I made all my changes and saved those settings.
 
I did notice though, the Mouse Widget I have enabled on the Center of the HUD. Any Idea what part of the HUD affects its colour or is it part of some other shader we are not touching at this point? Seems to be the same green as Friendlies on the Radar. i did not notice it till I made all my changes and saved those settings.

The colour of the mouse dot is part of the targeting reticle, which you can cycle through with F7. A few versions ago some CMDRs asked for the dot to contrast against the aiming circles, so I've used complementary colours on several of them. Is that the mouse widget you're referring to?
 
Thank you very much for this great mod!!
I would like to change some colors, some tones, I'd like to create a blue hud but with a solarized scheme, mainly for HUD common group and distributor..
What shaders should I edit and/or how could I set a user defined color ?

Thanks
 
Back
Top Bottom