Gw2 Hook
Gw2Hook is a fork of ReShade
which target only Guild Wars 2.
Modifying Guild Wars 2 is not supported by
Arena.Net or NCSoft. Use it at your own risk.
This aims at removing the fog in Gw2, but I decided to add more
functions to it. This at still in an early stage, and should be used keeping
this in mind. Also, I’ve
never used DirectX nor any low-level Graphic API and rarely used C++, the code
is far from being clean!
So, to remove the fog, I installed a hook on the CreatePixelShader, so I have access to
each shader’s bytecode. After some researches,
I found a pattern in the bytecode that is used to apply the fog, so basically I
just had to change a mad (multiply and
add) op that applied the final tex to the object with
the fog to a mov
(which… move the tex, without adding the fog).
It does the same for removing bloom and forcing sun to its maximum size.
To skip the HUD, I removed the hook in on_present that applied the shaders, apply the shaders at
only specific state in the rendering:
Before the game render the character’s names, used if there is a
name onscreen.
Before the game render the HUD, that is used as a fallback if
there’s no name in the scene.
Download : Gw2Hook_1_2_0.zip
You need to have Gw2’s shader
setting on High and Native render sampling.
1.
Download
the .zip from above.
2.
Go
to your GuildWars 2 installation directory.
3.
Extract
the zip in this folder in order to merge /bin64
folders.
a.
See here if
you are using ArcDPS.
1.
Download
the .zip from above.
2.
Go
to your GuildWars 2 installation directory.
3.
Extract
the zip in this folder in order to merge /bin64
folders.
a.
See here if
you are using ArcDPS.
4.
Start
the game.
5.
When
it’s loaded, open the menu with Shift+F2
6.
Click
on Continue, then on + .
7.
Enter
the name you want (like “config”, or
“preset”), and press Enter.
8.
Check
the shaders you want (You can enable them all).
9.
Click on Continue, then on Finish.
4.
Download
the .zip from above.
5.
Go
to your GuildWars 2 installation directory.
6.
Extract
the zip in this folder in order to merge /bin64
folders.
7.
If
you want to have the full ReShade shader
pack:
a.
Go
to https://github.com/crosire/reshade-shaders
b.
“Clone
or download” - > Download as a zip.
c.
Extract
the two folder from this .zip in addons/Gw2Hook/,
so you have addons/Gw2Hook /Shaders
and addons/Gw2Hook /Textures.
i.
You
should delete individual textures and shaders that
you won’t use, as they will increase loading time.
d.
Start
the game
e.
Open
ReShade’s UI with Shift-F2
f.
If
you want to use a custom preset, copy it in addons/Gw2Hook/Presets.
g.
Follow
the instruction, select your preset or create your own.
h.
You
can place additional Shaders (.fx) in the /Shaders folder. You can add a preset by pasting it
in the addons/Gw2Hook/Presets folder and select it with the
+ button on the UI.
·
All
ReShade normal functions (UI, Shaders,
…).
·
No
network monitoring.
·
Shaders are applied before the game draw the HUD.
·
ReShade UI is drawn on top of the game's HUD.
·
Choose
fog intensity.
·
Disable
bloom from post-processing.
·
Increase
sun ray size from post-processing.
·
Change
preset with map or region.
·
…
Release 1.2.0 |
·
Rebased on latest ReShade's version. ·
Improved performances. ·
Removed occasional stutter. ·
Changing fog distance don't cause stutter anymore. ·
Removed the sun shader edit, was often ugly, and at best meh. ·
Dut to the change in ReShade, code that prevented shaders from reloading is removed, you should now use Performance Mode. ·
Shader's injection point can now be changed in setting, use it only if you know what you're doing ! |
Release 1.1.0 |
·
Modified with the help of Chris Cleary to be
TOS compliant. ·
Changed folder structures, files are now
stored in [GuildWars 2]/addons/Gw2Hook/ ·
Fog distance is locked to 1 when entering a
competitive map. ·
Fog distance can now be changed in real-time. ·
Added Auto preset selection option, that
allow to use specific preset in specific map or region. ·
Removed the lightmap
hook for now, will be added back when it will be usefull. ·
Fixed a bug that affected performance in
some instances. |
Release 1.0.8 |
·
Improved performance and stability. |
Release 1.0.7 |
·
Added tab for Gw2 specific settings. ·
Fixed bug with Skip UI setting. ·
Improved depthbuffer
stability. |
Release 1.0.5 |
·
Bugfix:
fixed reshade version error with ReShade’s shaderpack |
Release 1.0.4 |
·
Bugfix: UI
skip setting save correctly. |
Release 1.0.3 |
·
Added a toggle option for UI skip. ·
Various bugfix. |
Release 1.0.2 |
·
Changing map don’t force effects
compilation. ·
Reduced splash UI size. ·
Bugfix:
Improved lightmap stability. |
Release 1.0.0 |
·
First release. |
Beta 2.2.0 |
·
Improved injection method to be able to draw
PostFX in any buffer. ·
Improved injection point, now icons are
skipped. ·
Added Light map to useable buffer from shader. |
Beta 2.0.0 |
·
Added an option to remove bloom from Gw2
post-processing. ·
Added an option to force the sun ray to be
max sized, using Gw2 post-processing. ·
Full code cleanup. |
Beta 1.9.0 |
·
Added a fog intensity slider. ·
Fixed new character selection screen. |
Beta 1.8.0 |
·
Added a “Reduced” option for
fog. ·
Added few preconfigured shaders
file to the archive. |
Beta 1.7.1 |
·
Bugfix:
Hide the HUD in-game will not prevent FX to be drawn. |
Beta 1.7.0 |
·
Added toggle option for the fog (under
General). ·
Improved injection, names are skipped. |
Beta 1.6.0 |
·
Improved performances. |
Beta 1.5.0 |
·
FX now ignores the HUD (CreateVertexShader and SetVertexShader hook). ·
Removed network check. ·
Removed unused DirectX 10+ components. ·
Changed default UI color. |
Beta 1.0.0 |
·
Added CreatePixelShader hook that edit on the fly
pixel shader to remove the fog. |
Be aware that this is a side
project, I’m a student and will not be able to spend too much time
supporting this tool.
Reddit : Grenbur
InGame : Grenbur / Orthros.5913