BOOL rdp_client_reconnect(rdpRdp* rdp) { rdp_client_disconnect(rdp); rdp_reset(rdp); return rdp_client_connect(rdp); }
BOOL rdp_client_disconnect(rdpRdp* rdp) { BOOL status; status = nego_disconnect(rdp->nego); rdp_reset(rdp); rdp_client_transition_to_state(rdp, CONNECTION_STATE_INITIAL); return status; }
BOOL rdp_client_redirect(rdpRdp* rdp) { BOOL status; rdpSettings* settings = rdp->settings; rdp_client_disconnect(rdp); rdp_reset(rdp); rdp_redirection_apply_settings(rdp); if (settings->RedirectionFlags & LB_LOAD_BALANCE_INFO) { nego_set_routing_token(rdp->nego, settings->LoadBalanceInfo, settings->LoadBalanceInfoLength); } else { if (settings->RedirectionFlags & LB_TARGET_NET_ADDRESS) { free(settings->ServerHostname); settings->ServerHostname = _strdup(settings->TargetNetAddress); } else if (settings->RedirectionFlags & LB_TARGET_FQDN) { free(settings->ServerHostname); settings->ServerHostname = _strdup(settings->RedirectionTargetFQDN); } else if (settings->RedirectionFlags & LB_TARGET_NETBIOS_NAME) { free(settings->ServerHostname); settings->ServerHostname = _strdup(settings->RedirectionTargetNetBiosName); } } if (settings->RedirectionFlags & LB_USERNAME) { free(settings->Username); settings->Username = _strdup(settings->RedirectionUsername); } if (settings->RedirectionFlags & LB_DOMAIN) { free(settings->Domain); settings->Domain = _strdup(settings->RedirectionDomain); } status = rdp_client_connect(rdp); return status; }
BOOL rdp_client_disconnect(rdpRdp* rdp) { BOOL rc; if (rdp->settingsCopy) { freerdp_settings_free(rdp->settingsCopy); rdp->settingsCopy = NULL; } rc = nego_disconnect(rdp->nego); rdp_reset(rdp); rdp_client_transition_to_state(rdp, CONNECTION_STATE_INITIAL); return rc; }
int glide64InitGfx(void) { rdp_reset (); if (!grSstWinOpen()) { ERRLOG("Error setting display mode"); return false; } // get the # of TMUs available voodoo.tex_max_addr = grTexMaxAddress(GR_TMU0); grStipplePattern(settings.stipple_pattern); InitCombine(); if (settings.fog) { guFogGenerateLinear(0.0f, 255.0f); } else settings.fog = false; grDepthBufferMode (GR_DEPTHBUFFER_ZBUFFER); grDepthBufferFunction(GR_CMP_LESS); grDepthMask(FXTRUE); settings.res_x = settings.scr_res_x; settings.res_y = settings.scr_res_y; ChangeSize(); guLoadTextures (); ClearCache (); return true; }
/****************************************************************** Function: RomOpen Purpose: This function is called when a rom is open. (from the emulation thread) input: none output: none *******************************************************************/ int glide64RomOpen (void) { int i; char name[21] = "DEFAULT"; no_dlist = true; romopen = true; ucode_error_report = true; // allowed to report ucode errors rdp_reset (); /* cxd4 -- Glide64 tries to predict PAL scaling based on the ROM header. */ region = OS_TV_TYPE_NTSC; /* Invalid region codes are probably NTSC betas. */ switch (gfx_info.HEADER[BYTE4_XOR_BE(0x3E)]) { case 'A': /* generic NTSC, not documented, used by 1080 Snowboarding */ region = OS_TV_TYPE_NTSC; break; case 'B': /* Brazilian */ region = OS_TV_TYPE_MPAL; break; case 'C': /* Chinese */ region = OS_TV_TYPE_NTSC; break; case 'D': /* German */ region = OS_TV_TYPE_PAL ; break; case 'E': /* North America */ region = OS_TV_TYPE_NTSC; break; case 'F': /* French */ region = OS_TV_TYPE_PAL ; break; case 'G': /* Gateway 64 (NTSC) */ region = OS_TV_TYPE_NTSC; break; case 'H': /* Dutch */ region = OS_TV_TYPE_PAL ; break; case 'I': /* Italian */ region = OS_TV_TYPE_PAL ; break; case 'J': /* Japanese */ region = OS_TV_TYPE_NTSC; break; case 'K': /* Korean */ region = OS_TV_TYPE_NTSC; break; case 'L': /* Gateway 64 (PAL) */ region = OS_TV_TYPE_PAL ; break; case 'N': /* Canadian */ region = OS_TV_TYPE_NTSC; break; case 'P': /* European (basic spec.) */ region = OS_TV_TYPE_PAL ; break; case 'S': /* Spanish */ region = OS_TV_TYPE_PAL ; break; case 'U': /* Australian */ region = OS_TV_TYPE_PAL ; break; case 'W': /* Scandinavian */ region = OS_TV_TYPE_PAL ; break; case 'X': case 'Y': case 'Z': /* documented "others", always PAL I think? */ region = OS_TV_TYPE_PAL ; break; } ReadSpecialSettings (name); // get the name of the ROM for (i = 0; i < 20; i++) name[i] = gfx_info.HEADER[(32+i)^3]; name[20] = 0; // remove all trailing spaces while (name[strlen(name)-1] == ' ') name[strlen(name)-1] = 0; strncpy(rdp.RomName, name, sizeof(name)); ReadSpecialSettings (name); ClearCache (); CheckDRAMSize(); OPEN_RDP_LOG (); OPEN_RDP_E_LOG (); glide64InitGfx (); rdp_setfuncs(); // ** return true; }