-
Notifications
You must be signed in to change notification settings - Fork 91
pass detector 2
so to catch something from game
we need to 1-st: catch a pass
right now this done by specifiing a hash value in config with a additional debug marker (just for usability)
corresponds to https://cdn.discordapp.com/attachments/789621483160338472/820607022608154634/unknown.png
pd2_gw2_v1_ui_2_hash=E607EDEA292391D5
pd2_gw2_v1_ui_2_dbgName=character_select_ui_2
why name is so sluggish?
pd2_ - prefix for pass detector 2
gw2_v1_ui - pass name
number next is a "pass variation" index
as game can render using different render paths depending on camera view/scene and gfx settings
we need a multiple hashes to detect same pass for every variation
so in attached screenshot i have 3 variations
pd2_gw2_v1_ui_0_hash=7275261EEAA6B47F
pd2_gw2_v1_ui_0_dbgName=no_pp_no_shadows_ui
this is base variation for game scenes with specified gfx settings
and one above works in character select
then we need a 2-nd: catch a render target /depth target to copy from
this is even more convoluted
in PassDetect2 window we have a table of current used passes
https://cdn.discordapp.com/attachments/789621483160338472/820608164663263252/unknown.png
format is : <DS/RT index>-
so let's pretend we found that last pass is and UI drawing pass
and this is pass index 16 with hash E607EDEA292391D5
and we see that game used 4 depth targets and 5 render targets
so we can speculate that previous pass, with index 15, was used to draw final 3d scene before going to UI
if that is right, we should catch target nr 1 when we come into this pass
and we write this to config as
pd2_gw2_v1_ui_2_tgt0_index=1
pd2_gw2_v1_ui_2_tgt0_ds=no
pd2_gw2_v1_ui_2_tgt0_converge=yes
pd2_gw2_v1_ui_2_tgt0_minPass=15
pd2_gw2_v1_ui_2 < prefix for a pass and its variation
tgt < prefix for target configs
0 < logic index of target we catch (0 is color scene)
index - index we got from pass detect 2 window and speculation above
ds - what target it is , if it is not a depth, should be no
converge - extra control for frame-frame convergency, if rendering changes sometimes we must stop copying targets, and sometimes we don't care (not
implemented fully now, so ignore it and set as yes)
minPass - pass index we seen pass detect 2 window and speculation above
so that's it