void SplitIPAndPort( const char* sz, char szIP[], unsigned short& usPort, size_t uiIPBufSize = 16 ) { const char* szIPAndPort = sz; const char* szPort = strstr( szIPAndPort, ":" ); if ( szPort ) { *szPort++; if ( is_numA( szPort ) ) usPort = atoi( szPort ); size_t uiLen = ( szPort - szIPAndPort ); if ( uiLen > uiIPBufSize ) uiLen = uiIPBufSize; str_cpyA( szIP, szIPAndPort, uiLen ); } else { usPort = 0; str_cpyA( szIP, szIPAndPort, uiIPBufSize ); } }
void CServers::SetServerMap( const char* sz ) { size_t uiLen = strlen( sz )+1; m_szServerMap = (char*)realloc( m_szServerMap, uiLen ); str_cpyA( m_szServerMap, sz, uiLen ); }
/* --------------------------------------- FMODEx 类型信息 --------------------------------------- */ static bool_t fmodex_info ( __CR_IO__ iXMM_FMOD* port ) { sint_t bits; sint_t chns; ansi_t* allx; const ansi_t* type; const ansi_t* fmts; FMOD_RESULT result; FMOD_SOUND_TYPE snd_type; FMOD_SOUND_FORMAT snd_fmts; /* 获取所有信息 */ result = FMOD_Sound_GetFormat(port->m_snd, &snd_type, &snd_fmts, &chns, &bits); if (result != FMOD_OK) return (FALSE); /* 音频格式类型 */ switch (snd_type) { default: type = "3rd party / unknown plugin format"; break; case FMOD_SOUND_TYPE_AIFF: type = "AIFF"; break; case FMOD_SOUND_TYPE_ASF: type = "Microsoft Advanced Systems Format (ie WMA/ASF/WMV)"; break; case FMOD_SOUND_TYPE_AT3: type = "Sony ATRAC 3 format"; break; case FMOD_SOUND_TYPE_CDDA: type = "Digital CD audio"; break; case FMOD_SOUND_TYPE_DLS: type = "Sound font / downloadable sound bank"; break; case FMOD_SOUND_TYPE_FLAC: type = "FLAC lossless codec"; break; case FMOD_SOUND_TYPE_FSB: type = "FMOD Sample Bank"; break; case FMOD_SOUND_TYPE_GCADPCM: type = "Nintendo GameCube/Wii ADPCM"; break; case FMOD_SOUND_TYPE_IT: type = "Impulse Tracker"; break; case FMOD_SOUND_TYPE_MIDI: type = "MIDI"; break; case FMOD_SOUND_TYPE_MOD: type = "Protracker / Fasttracker MOD"; break; case FMOD_SOUND_TYPE_MPEG: type = "MP2/MP3 MPEG"; break; case FMOD_SOUND_TYPE_OGGVORBIS: type = "Ogg vorbis"; break; case FMOD_SOUND_TYPE_PLAYLIST: type = "Information only from ASX/PLS/M3U/WAX playlists"; break; case FMOD_SOUND_TYPE_RAW: type = "Raw PCM data"; break; case FMOD_SOUND_TYPE_S3M: type = "ScreamTracker 3"; break; case FMOD_SOUND_TYPE_SF2: type = "Sound font 2 format"; break; case FMOD_SOUND_TYPE_USER: type = "User created sound"; break; case FMOD_SOUND_TYPE_WAV: type = "Microsoft WAV"; break; case FMOD_SOUND_TYPE_XM: type = "FastTracker 2 XM"; break; case FMOD_SOUND_TYPE_XMA: type = "Xbox360 XMA"; break; case FMOD_SOUND_TYPE_VAG: type = "PlayStation Portable ADPCM VAG format"; break; case FMOD_SOUND_TYPE_AUDIOQUEUE: type = "iPhone hardware decoder, supports AAC, ALAC and MP3"; break; case FMOD_SOUND_TYPE_XWMA: type = "Xbox360 XWMA"; break; case FMOD_SOUND_TYPE_BCWAV: type = "3DS BCWAV container format for DSP ADPCM and PCM"; break; case FMOD_SOUND_TYPE_AT9: type = "NGP ATRAC 9 format"; break; case FMOD_SOUND_TYPE_VORBIS: type = "Raw vorbis"; break; case FMOD_SOUND_TYPE_MEDIA_FOUNDATION: type = "Microsoft Media Foundation wrappers, supports ASF/WMA"; break; } /* 音频数据类型 */ switch (snd_fmts) { default: fmts = "Unitialized / unknown"; break; case FMOD_SOUND_FORMAT_PCM8: fmts = "8bit integer PCM data"; break; case FMOD_SOUND_FORMAT_PCM16: fmts = "16bit integer PCM data"; break; case FMOD_SOUND_FORMAT_PCM24: fmts = "24bit integer PCM data"; break; case FMOD_SOUND_FORMAT_PCM32: fmts = "32bit integer PCM data"; break; case FMOD_SOUND_FORMAT_PCMFLOAT: fmts = "32bit floating point PCM data"; break; case FMOD_SOUND_FORMAT_GCADPCM: fmts = "Compressed Nintendo 3DS/Wii DSP data"; break; case FMOD_SOUND_FORMAT_IMAADPCM: fmts = "Compressed IMA ADPCM data"; break; case FMOD_SOUND_FORMAT_VAG: fmts = "Compressed PlayStation Portable ADPCM data"; break; case FMOD_SOUND_FORMAT_HEVAG: fmts = "Compressed PSVita ADPCM data"; break; case FMOD_SOUND_FORMAT_XMA: fmts = "Compressed Xbox360 XMA data"; break; case FMOD_SOUND_FORMAT_MPEG: fmts = "Compressed MPEG layer 2 or 3 data"; break; case FMOD_SOUND_FORMAT_CELT: fmts = "Compressed CELT data"; break; case FMOD_SOUND_FORMAT_AT9: fmts = "Compressed PSVita ATRAC9 data"; break; case FMOD_SOUND_FORMAT_XWMA: fmts = "Compressed Xbox360 xWMA data"; break; case FMOD_SOUND_FORMAT_VORBIS: fmts = "Compressed Vorbis data"; break; } /* 合成说明字符串 */ allx = str_fmtA("%s (%s) - %uch / %ubits", type, fmts, chns, bits); if (allx == NULL) return (FALSE); str_cpyA(port->m_inf, allx); mem_free(allx); return (TRUE); }
void CServers::SetServerPass( const char* sz ) { size_t uiLen = strlen( sz )+1; m_szPass = (char*)realloc( m_szPass, uiLen ); str_cpyA( m_szPass, sz, uiLen ); }