Skip to content
megai2 edited this page Mar 16, 2021 · 2 revisions

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