rcheevos
rcheevos copied to clipboard
add rc_modified_memref_t
Creates intermediate memref's for indirect memref references (AddAddress) and calculated values (AddSource/SubSource).
This ensures all memory reads happen when processing a frame (eliminates indirect evaluation when building rich presence string https://discord.com/channels/310192285306454017/1076603222489301002/1255132332508184596).
This also allows these intermediate values to be used by multiple achievements without having to recalculate them in each achievement (the logic will still be duplicated, but when converting to runtime logic, it will identify and reuse the existing intermediate memrefs).
Furthermore, to ease debugging, a natvis file has been added for the runtime structures.