diff --git a/src/dp_doom/linuxdoom-1.10/ib_video/ib_video_nng.c b/src/dp_doom/linuxdoom-1.10/ib_video/ib_video_nng.c index 9b3bc79..4ffac20 100644 --- a/src/dp_doom/linuxdoom-1.10/ib_video/ib_video_nng.c +++ b/src/dp_doom/linuxdoom-1.10/ib_video/ib_video_nng.c @@ -346,11 +346,27 @@ void IB_InitGraphics(const char *title, size_t screen_width, size_t screen_heigh signal(SIGINT, I_Quit_Wrapper); - dp_nng_init_limits(1, 1, 1); - g_doomContext.pub = make_doom_pub(DoomUrlIpc); - g_doomContext.sub = make_doom_sub(CtrlUrlIpc); + int p = M_CheckParm("-dp-host"); + + if (p) + { + // use tcp transport with the host given on the command line + char url[1024]; + snprintf(url, 1024, "tcp://%s:%d", myargv[p+1], DoomPort); + g_doomContext.pub = make_doom_pub(url); + snprintf(url, 1024, "tcp://%s:%d", myargv[p+1], CtrlPort); + g_doomContext.sub = make_doom_sub(url); + } + else + { + assert(false); + // use unix domain sockets + g_doomContext.pub = make_doom_pub(DoomUrlIpc); + g_doomContext.sub = make_doom_sub(CtrlUrlIpc); + } + g_doomContext.id = getpid(); g_doomContext.state = DP_DS_Ready; g_doomContext.f = do_doom_ready;