struct NxGame {
    struct nx::INxApp::NxAppImpl::VTable** NxApp;
    struct nx::INxResourceLoader::NxResourceLoaderImpl::VTable** NxResourceLoader;
    struct nx::INxAssert::NxAssertImpl::VTable** NxAssert;
    struct nx::INxExceptions::VTable** NxExceptions;
    struct nx::INxDebug::NxDebugImpl::VTable** NxDebug;
    struct nx::INxLog::NxLogImpl::VTable** NxLog;
    struct nx::INxSettings::NxSettingsImpl::VTable** NxSettings;
    struct nx::INxLocalization::NxLocalizationImpl::VTable** NxLocalization;
    struct nx::INxMonitor::NxMonitorImpl::VTable** NxMonitor;
    struct nx::INxDXGI::NxDXGIImpl::VTable** NxDXGI;
    struct nx::INxD3D::NxD3DImpl::VTable** NxD3D;
    struct nx::INxADL::NxADLImpl::VTable** NxADL;
    struct nx::INxNvidia::NxNvidiaImpl::VTable** NxNvidia;
    struct nx::INxSwapChain::NxSwapChainImpl::VTable** NxSwapChain;
    struct nx::INxSystemInformation::NxSystemInformationImpl::VTable** NxSystemInformation;
    struct nx::INxSteam::NxSteamImpl::VTable** NxSteam;
    struct nx::INxEpic::NxEpicImpl::VTable** NxEpic;
    struct nx::INxWeGame::NxWeGameImpl::VTable**  NxWeGame;
    struct nx::INxPurple::NxPurpleImpl::VTable**  NxPurple;
    struct nx::INxMiniDump::NxMiniDumpImpl::VTable** NxMiniDump;
    struct nx::INxFailDialog::NxFailDialogImpl::VTable** NxFailDialog;
    struct nx::INxGameWindow::NxGameWindowImpl::VTable** NxGameWindow;
    struct nx::INxInput::NxInputImpl::VTable** NxInput;
    struct nx::INxActions::NxActionsImpl::VTable** NxActions;
    struct nx::INxGameState::NxGameStateImpl::VTable** NxGameState;
    struct nx::INxLauncher::NxLauncherImpl::VTable** NxLauncher;
    struct nx::INxBenchmark::NxBenchmarkImpl::VTable** NxBenchmark;
    struct nx::INxConfigDialog::NxConfigDialogImpl::VTable** NxConfigDialog;
    struct nx::INxUpscaler::NxUpscalerImpl::VTable** NxUpscaler;
    struct nx::INxReflex::NxReflexImpl::VTable** NxReflex;
    struct nx::INxNRD::NxNRDImpl::VTable** NxNRD;
    struct nx::INxFfx::NxFfxImpl::VTable** NxFfx;
};

why