PBYTE CLibInfoMapObjectData::SetSendData(PBYTE pSrc) { int i, nCount; DWORD dwCount; PBYTE pRet, pDataTmp, pDataTmpBack; CInfoMapObjectData InfoTmp, *pInfo; pRet = pSrc; pDataTmp = pSrc; DeleteAll (); /* データ数を読み込み */ CopyMemory (&dwCount, pDataTmp, sizeof (dwCount)); nCount = (int)dwCount; pDataTmp += sizeof (dwCount); for (i = 0; i < nCount; i ++) { pDataTmpBack = pDataTmp; InfoTmp.SetSendData (pDataTmp); pInfo = (PCInfoMapObjectData)GetNew (); pDataTmp = pDataTmpBack; pDataTmp = pInfo->SetSendData (pDataTmp); Add (pInfo); } pRet = pDataTmp; return pRet; }
CInfoMapObjectData *CLibInfoMapObjectData::Renew(DWORD dwDataID, CInfoMapObjectData *pSrc) { int i, nCount; PCInfoMapObjectData pRet, pInfo, pInfoTmp; pRet = NULL; nCount = m_paInfo->GetSize (); for (i = 0; i < nCount; i ++) { pInfoTmp = m_paInfo->GetAt (i); if (pInfoTmp->m_dwDataID != dwDataID) { continue; } pInfo = (PCInfoMapObjectData)GetNew (); pInfo->Copy (pSrc); pInfo->m_dwDataID = pInfoTmp->m_dwDataID; SAFE_DELETE (pInfoTmp); m_paInfo->SetAt (i, pInfo); pRet = pInfo; break; } return pRet; }
DWORD CLibInfoMapObjectData::ReadElementData(PBYTE pSrc) { int i, j, nNo, nCount, nCount2; PBYTE pDst, pSrcTmp; DWORD dwSize, dwSizeTmp; PCInfoMapObjectData pInfo; CmyString strTmp; pDst = NULL; dwSize = 0; DeleteAll (); pSrcTmp = pSrc; CopyMemoryRenew (&nCount, pSrcTmp, sizeof (nCount), pSrcTmp); /* データ数 */ for (i = 0; i < nCount; i ++) { CopyMemoryRenew (&nCount2, pSrcTmp, sizeof (nCount2), pSrcTmp); /* 要素数 */ pInfo = (PCInfoMapObjectData)GetNew (); for (j = 0; j < nCount2; j ++) { StoreRenew (strTmp, (LPCSTR)pSrcTmp, pSrcTmp); /* 要素名 */ CopyMemoryRenew (&dwSizeTmp, pSrcTmp, sizeof (dwSizeTmp), pSrcTmp); /* データサイズ */ nNo = pInfo->GetElementNo ((LPCSTR)strTmp); if (nNo >= 0) { dwSizeTmp = pInfo->ReadElementData (pSrcTmp, nNo); } pSrcTmp += dwSizeTmp; } Add (pInfo); } return (DWORD)(pSrcTmp - pSrc); }
PBYTE CLibInfoMapShadow::SetSendData(PBYTE pSrc) { PBYTE pDataTmp; DWORD dwTmp; PCInfoMapShadow pInfoMapShadow, pInfoMapShadowTmp; pDataTmp = pSrc; while (1) { CopyMemory (&dwTmp, pDataTmp, sizeof (DWORD)); if (dwTmp == 0) { pDataTmp += sizeof (DWORD); break; } pInfoMapShadowTmp = (PCInfoMapShadow)GetNew (); pDataTmp = pInfoMapShadowTmp->SetSendData (pDataTmp); pInfoMapShadow = (PCInfoMapShadow)GetPtr (pInfoMapShadowTmp->m_dwShadowID); if (pInfoMapShadow) { pInfoMapShadow->Copy (pInfoMapShadowTmp); SAFE_DELETE (pInfoMapShadowTmp); } else { Add (pInfoMapShadowTmp); } } RenewIDPtr (); return pDataTmp; }
CInfoMapEventBase *CLibInfoMapEvent::Renew(DWORD dwMapEventID, CInfoMapEventBase *pSrc) { int i, nCount; PCInfoMapEventBase pRet, pInfo, pInfoTmp; pRet = NULL; nCount = m_paInfo->GetSize (); for (i = 0; i < nCount; i ++) { pInfoTmp = m_paInfo->GetAt (i); if (pInfoTmp->m_dwMapEventID != dwMapEventID) { continue; } pInfo = (PCInfoMapEventBase)GetNew (pSrc->m_nType); pInfo->Copy (pSrc); pInfo->m_dwMapEventID = pInfoTmp->m_dwMapEventID; SAFE_DELETE (pInfoTmp); m_paInfo->SetAt (i, pInfo); pRet = pInfo; break; } return pRet; }
void CLibInfoMapObjectData::Merge(CLibInfoMapObjectData *pSrc) { int i, nCount; PCInfoMapObjectData pInfoTmp, pInfoSrc, pInfoDst; nCount = pSrc->GetCount (); for (i = 0; i < nCount; i ++) { pInfoSrc = (PCInfoMapObjectData)pSrc->GetPtr (i); pInfoTmp = (PCInfoMapObjectData)GetPtr (pInfoSrc->m_dwDataID); if (pInfoTmp == NULL) { pInfoTmp = (PCInfoMapObjectData)GetNew (); pInfoTmp->Copy (pInfoSrc); Add (pInfoTmp); } else { pInfoDst = (PCInfoMapObjectData)GetNew (); pInfoDst->Copy (pInfoSrc); Renew (pInfoSrc->m_dwDataID, pInfoDst); } } }
void MythUIEditBar::AddMark(MythUIShape *shape, MythUIImage *image, int start, bool left) { MythUIType *add = GetNew(shape, image); if (add) { if (left) start -= add->GetArea().width(); add->SetPosition(start, add->GetArea().top()); } }
void CLibInfoMapEvent::Merge(CLibInfoMapEvent *pSrc) { int i, nCount; PCInfoMapEventBase pInfoTmp, pInfoSrc, pInfoDst; nCount = pSrc->GetCount (); for (i = 0; i < nCount; i ++) { pInfoSrc = (PCInfoMapEventBase)pSrc->GetPtr (i); pInfoTmp = (PCInfoMapEventBase)GetPtr (pInfoSrc->m_dwMapEventID); if (pInfoTmp == NULL) { pInfoTmp = (PCInfoMapEventBase)GetNew (pInfoSrc->m_nType); pInfoTmp->Copy (pInfoSrc); Add (pInfoTmp); } else { pInfoDst = (PCInfoMapEventBase)GetNew (pInfoSrc->m_nType); pInfoDst->Copy (pInfoSrc); Renew (pInfoSrc->m_dwMapEventID, pInfoDst); } } }
void MythUIEditBar::AddBar(MythUIShape *shape, MythUIImage *image, const QRect &area) { MythUIType *add = GetNew(shape, image); if (add) { MythUIShape *shape = dynamic_cast<MythUIShape*>(add); MythUIImage *image = dynamic_cast<MythUIImage*>(add); if (shape) shape->SetCropRect(area.left(), area.top(), area.width(), area.height()); if (image) image->SetCropRect(area.left(), area.top(), area.width(), area.height()); add->SetPosition(area.left(), area.top()); } }
void CLibInfoMapShadow::Merge(CLibInfoMapShadow *pSrc) { int i, nCount; PCInfoMapShadow pInfoTmp, pInfoSrc; nCount = pSrc->GetCount (); for (i = 0; i < nCount; i ++) { pInfoSrc = (PCInfoMapShadow)pSrc->GetPtr (i); pInfoTmp = (PCInfoMapShadow)GetPtr (pInfoSrc->m_dwShadowID); if (pInfoTmp == NULL) { pInfoTmp = (PCInfoMapShadow)GetNew (); pInfoTmp->Copy (pInfoSrc); Add (pInfoTmp); } else { pInfoTmp->Copy (pInfoSrc); } } }