void SytJAL_SKILL::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (4 > buffersize) throw DecodeError(); skill_id = CProto::n2h_32(p); buffersize -= 4; p += 4; if (4 > buffersize) throw DecodeError(); con_idx = CProto::n2h_32(p); buffersize -= 4; p += 4; if (4 > buffersize) throw DecodeError(); count = CProto::n2h_32(p); buffersize -= 4; p += 4; }
void SytJAL_GENERAL_AWARD::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (2 > buffersize) throw DecodeError(); index = CProto::n2h_16(p); buffersize -= 2; p += 2; arraysize = buffersize; levelup_info.Decode(p, arraysize); p += (buffersize-arraysize); buffersize = arraysize; if (2 > buffersize) throw DecodeError(); assist_index = CProto::n2h_16(p); buffersize -= 2; p += 2; arraysize = buffersize; assist_levelup_info.Decode(p, arraysize); p += (buffersize-arraysize); buffersize = arraysize; }
void XJCMD_PROCESS_EVENTCS::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (1 > buffersize) throw DecodeError(); arraysize = *p; --buffersize; ++p; //memset(¶meters, 0, sizeof(int)*MAX_NUM_EV_INT_PARAM); parameters_arraylen = 0; if (arraysize > MAX_NUM_EV_INT_PARAM) { throw DecodeError(); } if (4 * arraysize > buffersize) throw DecodeError(); for (unsigned int i=0; i<arraysize; ++i) { parameters[i] = CProto::n2h_32(p); buffersize -= 4; p += 4; } parameters_arraylen = arraysize; }
void warnError (long errCode) { if (errCode == -108) warnError (DecodeError (errCode)&_String(" Exiting...")); else WarnError (DecodeError (errCode)&_String(" Exiting...")); }
void ProtoBattleFightInfo::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (1 > buffersize) throw DecodeError(); arraysize = *p; --buffersize; ++p; battle_array_id.clear(); if (4 * arraysize > buffersize) throw DecodeError(); battle_array_id.resize(arraysize); for (unsigned int i=0; i<arraysize; ++i) { battle_array_id.push_back(CProto::n2h_32(p)); buffersize -= 4; p += 4; } if (1 > buffersize) throw DecodeError(); super_element = *p; --buffersize; ++p; }
void SytEvSeq::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (1 > buffersize) throw DecodeError(); level = *p; --buffersize; ++p; if (1 > buffersize) throw DecodeError(); arraysize = *p; --buffersize; ++p; //memset(&seq, 0, sizeof(SytEvent)*MAX_NUM_EVENTS); seq_arraylen = 0; if (arraysize > MAX_NUM_EVENTS) { throw DecodeError(); } for (unsigned int i=0; i<arraysize; ++i) { unsigned int buffersize2 = buffersize; seq[i].Decode(p, buffersize2); p += (buffersize - buffersize2); buffersize = buffersize2; } seq_arraylen = arraysize; }
void XJCMD_LEVEL_NEXTSC::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; SetDefault(); if (2 > buffersize) throw DecodeError(); retcode = static_cast<SytECode>(CProto::n2h_16(p)); buffersize -= 2; p += 2; if (retcode == SYT_GOOD) { arraysize = buffersize; ev_seq.Decode(p, arraysize); p += (buffersize-arraysize); buffersize = arraysize; } if (retcode == SYT_GOOD) { if (1 > buffersize) throw DecodeError(); firsttime = *p; --buffersize; ++p; } }
void stArtifice::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; SetDefault(); if (2 > buffersize) throw DecodeError(); general_id = CProto::n2h_16(p); buffersize -= 2; p += 2; if (1 > buffersize) throw DecodeError(); is_soul = *p; --buffersize; ++p; if (is_soul == 1) { if (2 > buffersize) throw DecodeError(); soul_num = CProto::n2h_16(p); buffersize -= 2; p += 2; } }
void XJCMD_CSC_ENCHANTMENT_ARTIFICECS::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (2 > buffersize) throw DecodeError(); arraysize = CProto::n2h_16(p); buffersize -= 2; p += 2; //memset(&data, 0, sizeof(stArtifice)*MAX_USERGENERAL_NUM); data_arraylen = 0; if (arraysize > MAX_USERGENERAL_NUM) { throw DecodeError(); } for (unsigned int i=0; i<arraysize; ++i) { unsigned int buffersize2 = buffersize; data[i].Decode(p, buffersize2); p += (buffersize - buffersize2); buffersize = buffersize2; } data_arraylen = arraysize; }
bool Registrar::SetRegValue(HKEY hRootKey, CStdString sSubKey, CStdString sValueName, CStdString sValue) { CRegKey reg; bool bRetVal = false; LONG lRes =reg.Open(hRootKey, sSubKey, KEY_READ | KEY_WRITE); if (lRes == ERROR_SUCCESS) { lRes = reg.SetStringValue(sValueName, sValue); if (lRes== ERROR_SUCCESS) { bRetVal = true; } else { CStdString sMsg(_T("Unable to set registry key with the following information")); sMsg += _T(" KEY: ") + sSubKey; sMsg += _T(" ValueName: ") + sValueName; sMsg += _T(" Value: ") + sValue; sMsg += _T(" Error: ") + DecodeError(lRes); LOG_WS_ERROR(sMsg.c_str()); } reg.Close(); } else { CStdString sMsg(_T("Unable to Open registry key with the following information")); sMsg += _T(" KEY: ") + sSubKey; sMsg += _T(" Error: ") + DecodeError(lRes); LOG_WS_ERROR(sMsg.c_str()); } return bRetVal; }
void ProtoBattleGeneralInfo::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (4 > buffersize) throw DecodeError(); id = CProto::n2h_32(p); buffersize -= 4; p += 4; if (4 > buffersize) throw DecodeError(); assist_id = CProto::n2h_32(p); buffersize -= 4; p += 4; if (1 > buffersize) throw DecodeError(); pos = *p; --buffersize; ++p; if (4 > buffersize) throw DecodeError(); max_hp = CProto::n2h_32(p); buffersize -= 4; p += 4; }
LPCTSTR SystemError::ErrorMessage(void) const { if (rErrorMsg.length() == 0) { const_cast<TString*>(&rErrorMsg)->assign(__DefErrorMsgBufferLen, NullWChar); DecodeError((TCHAR*)&rErrorMsg.front(), __DefErrorMsgBufferLen, ErrorCode); const_cast<TString*>(&rErrorMsg)->resize(wcslen(&rErrorMsg.front())); } return rErrorMsg.c_str(); }
void WSAErr(const char *Msg) { LPVOID lpMsgBuf; lpMsgBuf = DecodeError(WSAGetLastError()); fprintf(stderr, "%s: Socket error %d: %s\n", Msg, WSAGetLastError(), lpMsgBuf); LocalFree(lpMsgBuf); }
void Message::decode_body() { if (m_BodyData.size() != m_Header.BodySize) { throw DecodeError(DecodeError::Error_e::WrongBodySize); } m_Body.swap(m_BodyData); }
void SytEvTCAwardItem::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (4 > buffersize) throw DecodeError(); item_id = CProto::n2h_32(p); buffersize -= 4; p += 4; if (1 > buffersize) throw DecodeError(); count = *p; --buffersize; ++p; }
void ProtoBattleFightNode::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (1 > buffersize) throw DecodeError(); type = *p; --buffersize; ++p; if (2 > buffersize) throw DecodeError(); index = CProto::n2h_16(p); buffersize -= 2; p += 2; }
void ProtoBattleJointAttackData::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (1 > buffersize) throw DecodeError(); arraysize = *p; --buffersize; ++p; joint_pos.clear(); if (arraysize > buffersize) throw DecodeError(); joint_pos.resize(arraysize); memcpy(&joint_pos[0], p, arraysize*sizeof(char)); joint_pos.setsize(arraysize); buffersize -= arraysize; p += arraysize; if (1 > buffersize) throw DecodeError(); arraysize = *p; --buffersize; ++p; fly_pos.clear(); if (arraysize > buffersize) throw DecodeError(); fly_pos.resize(arraysize); memcpy(&fly_pos[0], p, arraysize*sizeof(char)); fly_pos.setsize(arraysize); buffersize -= arraysize; p += arraysize; if (1 > buffersize) throw DecodeError(); arraysize = *p; --buffersize; ++p; joint_rate.clear(); if (arraysize > buffersize) throw DecodeError(); joint_rate.resize(arraysize); memcpy(&joint_rate[0], p, arraysize*sizeof(char)); joint_rate.setsize(arraysize); buffersize -= arraysize; p += arraysize; if (4 > buffersize) throw DecodeError(); score = CProto::n2h_32(p); buffersize -= 4; p += 4; }
void SytEvPveData::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (4 > buffersize) throw DecodeError(); stage_id = CProto::n2h_32(p); buffersize -= 4; p += 4; if (4 > buffersize) throw DecodeError(); dialog_id = CProto::n2h_32(p); buffersize -= 4; p += 4; }
void SytEvRandAwardData::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (4 > buffersize) throw DecodeError(); money = CProto::n2h_32(p); buffersize -= 4; p += 4; if (4 > buffersize) throw DecodeError(); exp = CProto::n2h_32(p); buffersize -= 4; p += 4; }
void __FormatCtxAndDecodeError(LPTSTR CtxBuffer, DWORD CtxBufLen, HMODULE Module, LPTSTR ErrBuffer, DWORD ErrBufLen, DWORD ErrCode, ...) { va_list _va_list; va_start(_va_list, ErrCode); __try { _vsntprintf_s(CtxBuffer, CtxBufLen, _TRUNCATE, _T("%s:%d"), _va_list); DecodeError(Module, ErrBuffer, ErrBufLen, ErrCode, &_va_list); } __finally { va_end(_va_list); } }
void XJCMD_LEVEL_STARTCS::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; SetDefault(); if (2 > buffersize) throw DecodeError(); opt = static_cast<SytStartOpt>(CProto::n2h_16(p)); buffersize -= 2; p += 2; if (opt == SytStartNew) { if (1 > buffersize) throw DecodeError(); jump_levels = *p; --buffersize; ++p; } }
void ProtoBattleTurnInfo::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (1 > buffersize) throw DecodeError(); curr_turn = *p; --buffersize; ++p; }
void XJCMD_CSC_ENCHANTMENT_LEVELUPCS::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (1 > buffersize) throw DecodeError(); enchantment_index = *p; --buffersize; ++p; }
void SytEvPvpData::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (1 > buffersize) throw DecodeError(); reserved = *p; --buffersize; ++p; }
void stUserResData::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; int oldsize = buffersize; int skiplen = 0; if (2 > buffersize) throw DecodeError(); skiplen = CProto::n2h_16(p); buffersize -= 2; p += 2; if (4 > buffersize) throw DecodeError(); maxexp = CProto::n2h_32(p); buffersize -= 4; p += 4; if (2 > buffersize) throw DecodeError(); maxenergy = CProto::n2h_16(p); buffersize -= 2; p += 2; if (2 > buffersize) throw DecodeError(); maxspirit = CProto::n2h_16(p); buffersize -= 2; p += 2; skiplen = skiplen - (oldsize - buffersize); if (skiplen>buffersize || skiplen < 0) throw DecodeError(); else if (skiplen>0) { p += skiplen; buffersize -= skiplen; } }
void SytProgress::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (1 > buffersize) throw DecodeError(); level = *p; --buffersize; ++p; if (1 > buffersize) throw DecodeError(); pve_index = *p; --buffersize; ++p; if (1 > buffersize) throw DecodeError(); ev_index = *p; --buffersize; ++p; }
void XJCMD_CSC_CHANGEFACESC::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; if (2 > buffersize) throw DecodeError(); newfaceid = CProto::n2h_16(p); buffersize -= 2; p += 2; }
void XJCMD_PROCESS_EVENTSC::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; SetDefault(); if (2 > buffersize) throw DecodeError(); retcode = static_cast<SytECode>(CProto::n2h_16(p)); buffersize -= 2; p += 2; }
void XJCMD_QUERY_PROGRESSSC::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; SetDefault(); if (1 > buffersize) throw DecodeError(); firsttime = *p; --buffersize; ++p; if (1 > buffersize) throw DecodeError(); levels_can_jump = *p; --buffersize; ++p; if (1 > buffersize) throw DecodeError(); play_times = *p; --buffersize; ++p; if (1 > buffersize) throw DecodeError(); max_play_times = *p; --buffersize; ++p; if (1 > buffersize) throw DecodeError(); have_progress = *p; --buffersize; ++p; if (have_progress == 1) { arraysize = buffersize; progress.Decode(p, arraysize); p += (buffersize-arraysize); buffersize = arraysize; } }
void XJCMD_LEVEL_STARTSC::Decode(const unsigned char *buffer,unsigned int& buffersize) throw (DecodeError) { const unsigned char *p; p = buffer; SetDefault(); if (2 > buffersize) throw DecodeError(); retcode = static_cast<SytECode>(CProto::n2h_16(p)); buffersize -= 2; p += 2; if (1 > buffersize) throw DecodeError(); jump_levels = *p; --buffersize; ++p; if (retcode == SYT_GOOD) { arraysize = buffersize; ev_seq.Decode(p, arraysize); p += (buffersize-arraysize); buffersize = arraysize; } if (jump_levels > 0 && (retcode == SYT_GOOD || retcode == SYT_ALL_LEVEL_FINISHED)) { arraysize = buffersize; jump_award_list.Decode(p, arraysize); p += (buffersize-arraysize); buffersize = arraysize; } if (retcode == SYT_GOOD) { if (1 > buffersize) throw DecodeError(); firsttime = *p; --buffersize; ++p; } }