So in order to fix the health and stealth overlays, I believe we'd need to leverage 3D Migoto, as was said in an earlier post.
https://github.com/bo3b/3Dmigoto/wiki/U ... ix-shadershttps://www.deadendthrills.com/forum/di ... 0-11-gamesUnfortunately, the link I used before as a tutorial has vanished, and I cannot find a cached page.
When I was attempting to solve a similar issue for Ace Combat 7, and failed, a user in that thread said that the people in the Helixmod/3Dmigoto Discord were more than happy to help.
Probably the best place to start.
Edit:
Posted in discord.
Pixel Shader 120/184 hides the stealth/damage HUD
Code:
// ---- Created with 3Dmigoto v1.3.1 on Fri Mar 22 10:01:36 2019
SamplerState sampler_tex_s : register(s0);
Texture2D<float4> tex : register(t0);
// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);
void main(
float4 v0 : COLOR0,
float4 v1 : TEXCOORD0,
float4 v2 : TEXCOORD1,
float2 v3 : TEXCOORD2,
out float4 o0 : SV_Target0)
{
float4 r0;
uint4 bitmask, uiDest;
float4 fDest;
r0.xyzw = tex.Sample(sampler_tex_s, v3.xy).xyzw;
r0.xyzw = saturate(r0.xyzw * v2.xyzw + v1.xyzw);
o0.w = v0.w * r0.w;
o0.xyz = r0.xyz;
return;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
// using 3Dmigoto v1.3.1 on Fri Mar 22 10:01:36 2019
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// sampler_tex sampler NA NA 0 1
// tex texture float4 2d 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float w
// TEXCOORD 0 xyzw 1 NONE float xyzw
// TEXCOORD 1 xyzw 2 NONE float xyzw
// TEXCOORD 2 xy 3 NONE float xy
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// SV_Target 0 xyzw 0 TARGET float xyzw
//
ps_5_0
dcl_globalFlags refactoringAllowed
dcl_sampler s0, mode_default
dcl_resource_texture2d (float,float,float,float) t0
dcl_input_ps linear v0.w
dcl_input_ps linear v1.xyzw
dcl_input_ps linear v2.xyzw
dcl_input_ps linear v3.xy
dcl_output o0.xyzw
dcl_temps 1
sample_indexable(texture2d)(float,float,float,float) r0.xyzw, v3.xyxx, t0.xyzw, s0
mad_sat r0.xyzw, r0.xyzw, v2.xyzw, v1.xyzw
mul o0.w, r0.w, v0.w
mov o0.xyz, r0.xyzx
ret
// Approximately 5 instruction slots used
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
Vertex Shader 86/94 hides the stealth/damage HUD
Code:
// ---- Created with 3Dmigoto v1.3.1 on Fri Mar 22 10:07:04 2019
cbuffer Constants : register(b0)
{
float4 vfuniforms[144] : packoffset(c0);
}
// 3Dmigoto declarations
#define cmp -
Texture1D<float4> IniParams : register(t120);
Texture2D<float4> StereoParams : register(t125);
void main(
float4 v0 : COLOR0,
float4 v1 : SV_Position0,
out float4 o0 : COLOR0,
out float4 o1 : TEXCOORD0,
out float4 o2 : TEXCOORD1,
out float2 o3 : TEXCOORD2,
out float4 o4 : SV_Position0)
{
float4 r0;
uint4 bitmask, uiDest;
float4 fDest;
o0.xyzw = v0.xyzw;
r0.xy = v0.zz * float2(1530.05994,1530.05994) + float2(0.100000001,1.10000002);
r0.xy = (uint2)r0.xy;
o1.xyzw = vfuniforms[r0.x].xyzw;
o2.xyzw = vfuniforms[r0.y].xyzw;
r0.xyzw = v0.zzzz * float4(1530.05994,1530.05994,1530.05994,1530.05994) + float4(2.0999999,3.0999999,4.0999999,5.0999999);
r0.xyzw = (uint4)r0.xyzw;
o3.x = dot(v1.xyzw, vfuniforms[r0.z].xyzw);
o3.y = dot(v1.xyzw, vfuniforms[r0.w].xyzw);
o4.x = dot(v1.xyzw, vfuniforms[r0.x].xyzw);
o4.y = dot(v1.xyzw, vfuniforms[r0.y].xyzw);
o4.zw = float2(0,1);
return;
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
// Generated by Microsoft (R) HLSL Shader Compiler 6.3.9600.16384
//
// using 3Dmigoto v1.3.1 on Fri Mar 22 10:07:04 2019
//
//
// Buffer Definitions:
//
// cbuffer Constants
// {
//
// float4 vfuniforms[144]; // Offset: 0 Size: 2304
//
// }
//
//
// Resource Bindings:
//
// Name Type Format Dim Slot Elements
// ------------------------------ ---------- ------- ----------- ---- --------
// Constants cbuffer NA NA 0 1
//
//
//
// Input signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float xyzw
// SV_Position 0 xyzw 1 NONE float xyzw
//
//
// Output signature:
//
// Name Index Mask Register SysValue Format Used
// -------------------- ----- ------ -------- -------- ------- ------
// COLOR 0 xyzw 0 NONE float xyzw
// TEXCOORD 0 xyzw 1 NONE float xyzw
// TEXCOORD 1 xyzw 2 NONE float xyzw
// TEXCOORD 2 xy 3 NONE float xy
// SV_Position 0 xyzw 4 POS float xyzw
//
vs_5_0
dcl_globalFlags refactoringAllowed
dcl_constantbuffer cb0[144], dynamicIndexed
dcl_input v0.xyzw
dcl_input v1.xyzw
dcl_output o0.xyzw
dcl_output o1.xyzw
dcl_output o2.xyzw
dcl_output o3.xy
dcl_output_siv o4.xyzw, position
dcl_temps 1
mov o0.xyzw, v0.xyzw
mad r0.xy, v0.zzzz, l(1530.059937, 1530.059937, 0.000000, 0.000000), l(0.100000, 1.100000, 0.000000, 0.000000)
ftou r0.xy, r0.xyxx
mov o1.xyzw, cb0[r0.x + 0].xyzw
mov o2.xyzw, cb0[r0.y + 0].xyzw
mad r0.xyzw, v0.zzzz, l(1530.059937, 1530.059937, 1530.059937, 1530.059937), l(2.100000, 3.100000, 4.100000, 5.100000)
ftou r0.xyzw, r0.xyzw
dp4 o3.x, v1.xyzw, cb0[r0.z + 0].xyzw
dp4 o3.y, v1.xyzw, cb0[r0.w + 0].xyzw
dp4 o4.x, v1.xyzw, cb0[r0.x + 0].xyzw
dp4 o4.y, v1.xyzw, cb0[r0.y + 0].xyzw
mov o4.zw, l(0,0,0,1.000000)
ret
// Approximately 13 instruction slots used
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/
I believe this is the line in question:
Code:
r0.xyzw = v0.zzzz * float4(1530.05994,1530.05994,1530.05994,1530.05994) + float4(2.0999999,3.0999999,4.0999999,5.0999999);
From vertex shader.