struct nx::INxSteam::NxSteamImpl::VTable** NxSteam;

struct nx::INxEpic::NxEpicImpl::VTable** NxEpic;
struct nx::INxWeGame::NxWeGameImpl::VTable**  NxWeGame;
struct nx::INxPurple::NxPurpleImpl::VTable**  NxPurple;

i like this bit the most

no don’t use dynamic_cast or an enum, just fucking duplicate the interface four times.