int TnmInit(Tcl_Interp *interp, int safe) { #ifdef USE_TCL_STUBS if (Tcl_InitStubs(interp, "8.4", 0) == NULL) { return TCL_ERROR; } #endif if (Tcl_PkgRequire(interp, "Tcl", TCL_VERSION, 0) == NULL) { return TCL_ERROR; } if (Tcl_PkgProvide(interp, "Tnm", TNM_VERSION) != TCL_OK) { return TCL_ERROR; } Tcl_RegisterObjType(&tnmUnsigned64Type); Tcl_RegisterObjType(&tnmUnsigned32Type); Tcl_RegisterObjType(&tnmOctetStringType); Tcl_RegisterObjType(&tnmIpAddressType); InitVars(interp); TnmInitDns(interp); if (InitCmds(interp, safe) != TCL_OK) { return TCL_ERROR; } if (TnmSmxInit(interp) != TCL_OK) { return TCL_ERROR; } return SourceInitFiles(interp); }
void C_Game::Start(int argc, char* argv[]) { InitCmds(); m_Config.startmode = GAME_START_BOTH; m_Config.splashMode = GAME_START_SPLASH; m_Config.keyboard = GAME_START_KEYBOARD_US; ParseArgs(argc, argv); m_Client.InitKeyboard(m_Config.keyboard); if(m_Config.splashMode == GAME_START_NOSPLASH) { m_Client.NoSplash(); } if(m_Config.startmode == GAME_START_SERVER) { m_Server.Start(TCP_SERVER_PORT, true); } else if(m_Config.startmode == GAME_START_CLIENT) { m_Client.Start(); } else { m_Server.Start(TCP_SERVER_PORT); m_Client.Start(); } m_Client.WaitForStopEvent(); m_Server.WaitForStopEvent(); }