[Sphere-axis-commits] CVS: UOArt UOArt.odl,1.3,1.3.2.1 UOArt.rc,1.3.2.2,1.3.2.3 UOArtCtl.cpp,1.8.2.4
Brought to you by:
pesterle
From: Philip E. <pes...@us...> - 2002-05-11 05:17:25
|
Update of /cvsroot/sphere-axis/UOArt In directory usw-pr-cvs1:/tmp/cvs-serv27179 Modified Files: Tag: version_1_2_development UOArt.odl UOArt.rc UOArtCtl.cpp UOArtCtl.h UOArt.opt Log Message: Added ability to specify individual mul paths, or a custom mul path. Also fixed a bug in verdata support. Index: UOArt.odl =================================================================== RCS file: /cvsroot/sphere-axis/UOArt/UOArt.odl,v retrieving revision 1.3 retrieving revision 1.3.2.1 diff -C2 -r1.3 -r1.3.2.1 *** UOArt.odl 12 Jun 2001 23:39:00 -0000 1.3 --- UOArt.odl 11 May 2002 05:17:21 -0000 1.3.2.1 *************** *** 54,57 **** --- 54,61 ---- [id(19)] void RemoveHideStatic(short ID, long Block, short x, short y, short z, short color); [id(20)] void RedrawControl(); + [id(21)] void SetMulPath(BSTR pszNewPath); + [id(22)] BSTR GetMulPath(); + [id(23)] boolean SetCustomMulFile(short sFileIndex, BSTR pszNewFilePath); + [id(24)] BSTR GetCustomMulPath(short sFileIndex); //}}AFX_ODL_METHOD Index: UOArt.rc =================================================================== RCS file: /cvsroot/sphere-axis/UOArt/UOArt.rc,v retrieving revision 1.3.2.2 retrieving revision 1.3.2.3 diff -C2 -r1.3.2.2 -r1.3.2.3 *** UOArt.rc 8 May 2002 04:29:52 -0000 1.3.2.2 --- UOArt.rc 11 May 2002 05:17:21 -0000 1.3.2.3 *************** *** 1,4 **** //Microsoft Developer Studio generated resource script. ! // Last compiled 4/30/2002 at 22:10:31 #include "resource.h" --- 1,4 ---- //Microsoft Developer Studio generated resource script. ! // Last compiled 5/10/2002 at 23:15:3 #include "resource.h" *************** *** 55,60 **** VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,2,0,1 ! PRODUCTVERSION 1,2,0,1 FILEFLAGSMASK 0x3fL #ifdef _DEBUG --- 55,60 ---- VS_VERSION_INFO VERSIONINFO ! FILEVERSION 1,2,0,2 ! PRODUCTVERSION 1,2,0,2 FILEFLAGSMASK 0x3fL #ifdef _DEBUG *************** *** 74,78 **** VALUE "CompanyName", "\0" VALUE "FileDescription", "UOArt ActiveX Control Module\0" ! VALUE "FileVersion", "1, 2, 0, 1\0" VALUE "InternalName", "UOArt\0" VALUE "LegalCopyright", "Copyright (C) 2000, 2001\0" --- 74,78 ---- VALUE "CompanyName", "\0" VALUE "FileDescription", "UOArt ActiveX Control Module\0" ! VALUE "FileVersion", "1, 2, 0, 2\0" VALUE "InternalName", "UOArt\0" VALUE "LegalCopyright", "Copyright (C) 2000, 2001\0" *************** *** 82,86 **** VALUE "PrivateBuild", "\0" VALUE "ProductName", "UOArt ActiveX Control Module\0" ! VALUE "ProductVersion", "1, 2, 0, 1\0" VALUE "SpecialBuild", "\0" END --- 82,86 ---- VALUE "PrivateBuild", "\0" VALUE "ProductName", "UOArt ActiveX Control Module\0" ! VALUE "ProductVersion", "1, 2, 0, 2\0" VALUE "SpecialBuild", "\0" END Index: UOArtCtl.cpp =================================================================== RCS file: /cvsroot/sphere-axis/UOArt/UOArtCtl.cpp,v retrieving revision 1.8.2.4 retrieving revision 1.8.2.5 diff -C2 -r1.8.2.4 -r1.8.2.5 *** UOArtCtl.cpp 12 Sep 2001 17:58:59 -0000 1.8.2.4 --- UOArtCtl.cpp 11 May 2002 05:17:21 -0000 1.8.2.5 *************** *** 130,133 **** --- 130,137 ---- DISP_FUNCTION(CUOArtCtrl, "RemoveHideStatic", RemoveHideStatic, VT_EMPTY, VTS_I2 VTS_I4 VTS_I2 VTS_I2 VTS_I2 VTS_I2) DISP_FUNCTION(CUOArtCtrl, "RedrawControl", RedrawControl, VT_EMPTY, VTS_NONE) + DISP_FUNCTION(CUOArtCtrl, "SetMulPath", SetMulPath, VT_EMPTY, VTS_BSTR) + DISP_FUNCTION(CUOArtCtrl, "GetMulPath", GetMulPath, VT_BSTR, VTS_NONE) + DISP_FUNCTION(CUOArtCtrl, "SetCustomMulFile", SetCustomMulFile, VT_BOOL, VTS_I2 VTS_BSTR) + DISP_FUNCTION(CUOArtCtrl, "GetCustomMulPath", GetCustomMulPath, VT_BSTR, VTS_I2) DISP_STOCKPROP_READYSTATE() //}}AFX_DISPATCH_MAP *************** *** 330,334 **** m_lReadyState = READYSTATE_LOADING; - // TODO: Call InternalSetReadyState when the readystate changes. m_bIsValid = false; --- 334,337 ---- *************** *** 343,346 **** --- 346,352 ---- m_yOffset = 0; m_wDrawFlags = 0; + + InitializeMulPaths(); + ReadRegistry(); LoadVerdataIndex(); *************** *** 349,353 **** m_bArtDataLoaded = false; //LoadArtData(); ! m_lReadyState = READYSTATE_LOADED; } --- 355,359 ---- m_bArtDataLoaded = false; //LoadArtData(); ! InternalSetReadyState(READYSTATE_LOADED); } *************** *** 637,640 **** --- 643,647 ---- CString csDataFile, csIndexFile, csMapFile; CMapBlock block; + DWORD dwVerdataSection = 0xFFFFFFFF; switch ( sArtType ) { *************** *** 642,645 **** --- 649,653 ---- case ART_LANDSCAPE: case ART_CHARTESTS: + dwVerdataSection = VERFILE_ART; { try *************** *** 765,792 **** return; case ART_NPC: ! csDataFile.Format(_T("%sanim.mul"), m_csUOPath); ! csIndexFile.Format(_T("%sanim.idx"), m_csUOPath); break; case ART_GUMP: ! csDataFile.Format(_T("%sgumpart.mul"), m_csUOPath); ! csIndexFile.Format(_T("%sgumpidx.mul"), m_csUOPath); break; case ART_TEXMAPS: ! csDataFile.Format(_T("%stexmaps.mul"), m_csUOPath); ! csIndexFile.Format(_T("%stexidx.mul"), m_csUOPath); break; case ART_MULTI: ! csDataFile.Format(_T("%smulti.mul"), m_csUOPath); ! csIndexFile.Format(_T("%smulti.idx"), m_csUOPath); LoadArtData(); break; case ART_LIGHTS: ! csDataFile.Format(_T("%slight.mul"), m_csUOPath); ! csIndexFile.Format(_T("%slightidx.mul"), m_csUOPath); break; case ART_MAPPREVIEW: ! csDataFile.Format(_T("%sstatics0.mul"), m_csUOPath); ! csIndexFile.Format(_T("%sstaidx0.mul"), m_csUOPath); ! csMapFile.Format(_T("%smap0.mul"), m_csUOPath); LoadArtData(); if ( (m_wDrawFlags & F_SHOWTERRAIN) ) --- 773,806 ---- return; case ART_NPC: ! csDataFile = m_saMulPaths.GetAt(VERFILE_ANIM); ! csIndexFile = m_saMulPaths.GetAt(VERFILE_ANIMIDX); ! dwVerdataSection = VERFILE_ANIM; break; case ART_GUMP: ! csDataFile = m_saMulPaths.GetAt(VERFILE_GUMPART); ! csIndexFile = m_saMulPaths.GetAt(VERFILE_GUMPIDX); ! dwVerdataSection = VERFILE_GUMPART; break; case ART_TEXMAPS: ! csDataFile = m_saMulPaths.GetAt(VERFILE_TEXMAPS); ! csIndexFile = m_saMulPaths.GetAt(VERFILE_TEXIDX); ! dwVerdataSection = VERFILE_TEXMAPS; break; case ART_MULTI: ! csDataFile = m_saMulPaths.GetAt(VERFILE_MULTI); ! csIndexFile = m_saMulPaths.GetAt(VERFILE_MULTIIDX); ! dwVerdataSection = VERFILE_MULTI; LoadArtData(); break; case ART_LIGHTS: ! csDataFile = m_saMulPaths.GetAt(VERFILE_LIGHT); ! csIndexFile = m_saMulPaths.GetAt(VERFILE_LIGHTIDX); ! dwVerdataSection = VERFILE_LIGHT; break; case ART_MAPPREVIEW: ! csDataFile = m_saMulPaths.GetAt(VERFILE_STATICS0); ! csIndexFile = m_saMulPaths.GetAt(VERFILE_STAIDX0); ! csMapFile = m_saMulPaths.GetAt(VERFILE_MAP0); ! dwVerdataSection = VERFILE_STATICS0; LoadArtData(); if ( (m_wDrawFlags & F_SHOWTERRAIN) ) *************** *** 830,837 **** ArtIdx indexRec; fIndex.Read(&indexRec, sizeof(ArtIdx)); ! if ( indexRec.dwLookup != 0xFFFFFFFF ) { // OK...there's data for this item...now is it raw or run? ! fData.Seek(indexRec.dwLookup, CFile::begin); DWORD dwType; switch ( sArtType ) --- 844,854 ---- ArtIdx indexRec; fIndex.Read(&indexRec, sizeof(ArtIdx)); ! // Check to see if there's a verdata entry for this! ! DWORD dwVerdataIdx = FindVerdata(dwVerdataSection, dwArtIndex); ! if ( indexRec.dwLookup != 0xFFFFFFFF || dwVerdataIdx != 0xFFFFFFFF) { // OK...there's data for this item...now is it raw or run? ! if ( indexRec.dwLookup != 0xFFFFFFFF ) ! fData.Seek(indexRec.dwLookup, CFile::begin); DWORD dwType; switch ( sArtType ) *************** *** 875,881 **** wArtWidth = (WORD) ((m_pVerdataIdx[dwVerdataIdx].dwCRC & 0xFFFF0000) >> 16); wArtHeight = (WORD) (m_pVerdataIdx[dwVerdataIdx].dwCRC & 0xFFFF ); ! CString csVerdata; CFile fVerdata; - csVerdata.Format("%sverdata.mul", m_csUOPath); if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone ) ) { --- 892,897 ---- wArtWidth = (WORD) ((m_pVerdataIdx[dwVerdataIdx].dwCRC & 0xFFFF0000) >> 16); wArtHeight = (WORD) (m_pVerdataIdx[dwVerdataIdx].dwCRC & 0xFFFF ); ! CString csVerdata = m_saMulPaths.GetAt(VERFILE_VERDATA); CFile fVerdata; if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone ) ) { *************** *** 923,939 **** for (int i = 0; i < wRun; i++ ) { ! DWORD dwColor = BlendColors(wColor, 0, false); ! BYTE r, g, b; ! b = (BYTE) ((dwColor >> 16) & 0xFF); ! g = (BYTE) ((dwColor >> 8) & 0xFF); ! r = (BYTE) ((dwColor) & 0xFF); ! int X, Y; ! X = m_xOffset + ( x - wArtWidth / 2 ) + bounds.Width() / 2; ! Y = m_yOffset + ( y - wArtHeight / 2 ) + bounds.Height() / 2; ! if ( X >= 0 && X < bounds.Width() && Y >=0 && Y < bounds.Height() ) { ! m_bPixels.SetAt((( (bounds.Width() * Y) + X) * 3), b); ! m_bPixels.SetAt((( (bounds.Width() * Y) + X) * 3) + 1, g); ! m_bPixels.SetAt((( (bounds.Width() * Y) + X) * 3) + 2, r); } x++; --- 939,958 ---- for (int i = 0; i < wRun; i++ ) { ! if ( wColor ) { ! DWORD dwColor = BlendColors(wColor, 0, false); ! BYTE r, g, b; ! b = (BYTE) ((dwColor >> 16) & 0xFF); ! g = (BYTE) ((dwColor >> 8) & 0xFF); ! r = (BYTE) ((dwColor) & 0xFF); ! int X, Y; ! X = m_xOffset + ( x - wArtWidth / 2 ) + bounds.Width() / 2; ! Y = m_yOffset + ( y - wArtHeight / 2 ) + bounds.Height() / 2; ! if ( X >= 0 && X < bounds.Width() && Y >=0 && Y < bounds.Height() ) ! { ! m_bPixels.SetAt((( (bounds.Width() * Y) + X) * 3), b); ! m_bPixels.SetAt((( (bounds.Width() * Y) + X) * 3) + 1, g); ! m_bPixels.SetAt((( (bounds.Width() * Y) + X) * 3) + 2, r); ! } } x++; *************** *** 959,964 **** else wSize = (WORD) (m_pVerdataIdx[dwVerdataIdx].dwCRC & 0xFFFF); ! CString csVerdata; ! csVerdata.Format("%sverdata.mul", m_csUOPath); CFile fVerdata; if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) --- 978,982 ---- else wSize = (WORD) (m_pVerdataIdx[dwVerdataIdx].dwCRC & 0xFFFF); ! CString csVerdata = m_saMulPaths.GetAt(VERFILE_VERDATA); CFile fVerdata; if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) *************** *** 1017,1023 **** { wSize = (WORD) (m_pVerdataIdx[dwVerdataIdx].dwCRC & 0xFFFF); ! CString csVerdata; CFile fVerdata; - csVerdata.Format("%sverdata.mul", m_csUOPath); if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) { --- 1035,1040 ---- { wSize = (WORD) (m_pVerdataIdx[dwVerdataIdx].dwCRC & 0xFFFF); ! CString csVerdata = m_saMulPaths.GetAt(VERFILE_VERDATA); CFile fVerdata; if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) { *************** *** 1073,1079 **** if ( dwVerdataIdx != 0xFFFFFFFF ) { ! CString csVerdata; CFile fVerdata; - csVerdata.Format("%sverdata.mul", m_csUOPath); if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) { --- 1090,1095 ---- if ( dwVerdataIdx != 0xFFFFFFFF ) { ! CString csVerdata = m_saMulPaths.GetAt(VERFILE_VERDATA); CFile fVerdata; if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) { *************** *** 1176,1182 **** if ( dwVerdataIdx == 0xFFFFFFFF ) { ! CString csVerdata; CFile fVerdata; - csVerdata.Format("%sverdata.mul", m_csUOPath); if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::shareDenyNone | CFile::typeBinary) ) { --- 1192,1197 ---- if ( dwVerdataIdx == 0xFFFFFFFF ) { ! CString csVerdata = m_saMulPaths.GetAt(VERFILE_VERDATA); CFile fVerdata; if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::shareDenyNone | CFile::typeBinary) ) { *************** *** 1322,1328 **** if ( dwVerdataIdx != 0xFFFFFFFF ) { ! CString csVerdata; CFile fVerdata; - csVerdata.Format("%sverdata.mul", m_csUOPath); if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) { --- 1337,1342 ---- if ( dwVerdataIdx != 0xFFFFFFFF ) { ! CString csVerdata = m_saMulPaths.GetAt(VERFILE_VERDATA); CFile fVerdata; if ( fVerdata.Open(csVerdata, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) { *************** *** 1627,1632 **** { CFile cfHues; ! CString csHueFile; ! csHueFile.Format(_T("%shues.mul"), m_csUOPath); if ( cfHues.Open( csHueFile, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone ) ) { --- 1641,1645 ---- { CFile cfHues; ! CString csHueFile = m_saMulPaths.GetAt(VERFILE_HUES); if ( cfHues.Open( csHueFile, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone ) ) { *************** *** 1645,1649 **** cfHues.Close(); } ! csHueFile.Format("%sverdata.mul", m_csUOPath); if ( cfHues.Open( csHueFile, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone ) ) { --- 1658,1662 ---- cfHues.Close(); } ! csHueFile = m_saMulPaths.GetAt(VERFILE_VERDATA); if ( cfHues.Open( csHueFile, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone ) ) { *************** *** 1738,1743 **** { CFile cfTiledata; ! CString csFile; ! csFile.Format("%stiledata.mul", m_csUOPath); if ( cfTiledata.Open(csFile, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) { --- 1751,1755 ---- { CFile cfTiledata; ! CString csFile = m_saMulPaths.GetAt(VERFILE_TILEDATA); if ( cfTiledata.Open(csFile, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) { *************** *** 1875,1880 **** CFile cfArtIdx, cfArtMul; CString csIdxFile, csMulFile; ! csIdxFile.Format("%sartidx.mul", m_csUOPath); ! csMulFile.Format("%sart.mul", m_csUOPath); DWORD * dwIdx = new DWORD [0x30000]; if ( cfArtIdx.Open(csIdxFile, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) --- 1887,1892 ---- CFile cfArtIdx, cfArtMul; CString csIdxFile, csMulFile; ! csIdxFile = m_saMulPaths.GetAt(VERFILE_ARTIDX); ! csMulFile = m_saMulPaths.GetAt(VERFILE_ART); DWORD * dwIdx = new DWORD [0x30000]; if ( cfArtIdx.Open(csIdxFile, CFile::modeRead | CFile::typeBinary | CFile::shareDenyNone) ) *************** *** 2116,2121 **** delete [] m_pVerdataIdx; ! CString csVerdata; ! csVerdata.Format("%sverdata.mul", m_csUOPath); CFile fVerdata; --- 2128,2132 ---- delete [] m_pVerdataIdx; ! CString csVerdata = m_saMulPaths.GetAt(VERFILE_VERDATA); CFile fVerdata; *************** *** 2138,2140 **** } return -1; ! } \ No newline at end of file --- 2149,2278 ---- } return -1; ! } ! ! void CUOArtCtrl::SetMulPath(LPCTSTR pszNewPath) ! { ! m_csUOPath = _T(pszNewPath); ! if ( m_csUOPath.GetAt(m_csUOPath.GetLength() - 1) != '\\') ! m_csUOPath += _T("\\"); ! InitializeMulPaths(); ! } ! ! void CUOArtCtrl::InitializeMulPaths() ! { ! m_saMulPaths.SetSize(37); ! ! CString csPath; ! ! csPath.Format("%smap0.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_MAP0, csPath); ! ! csPath.Format("%sstaidx0.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_STAIDX0, csPath); ! ! csPath.Format("%sstatics0.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_STATICS0, csPath); ! ! csPath.Format("%sartidx.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_ARTIDX, csPath); ! ! csPath.Format("%sart.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_ART, csPath); ! ! csPath.Format("%sanim.idx", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_ANIMIDX, csPath); ! ! csPath.Format("%sanim.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_ANIM, csPath); ! ! csPath.Format("%ssoundidx.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_SOUNDIDX, csPath); ! ! csPath.Format("%ssound.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_SOUND, csPath); ! ! csPath.Format("%stexidx.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_TEXIDX, csPath); ! ! csPath.Format("%stexmaps.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_TEXMAPS, csPath); ! ! csPath.Format("%sgumpidx.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_GUMPIDX, csPath); ! ! csPath.Format("%sgumpart.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_GUMPART, csPath); ! ! csPath.Format("%smulti.idx", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_MULTIIDX, csPath); ! ! csPath.Format("%smulti.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_MULTI, csPath); ! ! csPath.Format("%sskills.idx", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_SKILLSIDX, csPath); ! ! csPath.Format("%sskills.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_SKILLS, csPath); ! ! csPath.Format("%slightidx.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_LIGHTIDX, csPath); ! ! csPath.Format("%slight.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_LIGHT, csPath); ! ! csPath.Format("%stiledata.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_TILEDATA, csPath); ! ! csPath.Format("%sanimdata.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_ANIMDATA, csPath); ! ! csPath.Format("%shues.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_HUES, csPath); ! ! csPath.Format("%saniminfo.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_ANIMINFO, csPath); ! ! csPath.Format("%sfonts.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_FONTS, csPath); ! ! csPath.Format("%sradarcol.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_RADARCOL, csPath); ! ! csPath.Format("%sverdata.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_VERDATA, csPath); ! ! csPath.Format("%smap2.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_MAP2, csPath); ! ! csPath.Format("%sstaidx2.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_STAIDX2, csPath); ! ! csPath.Format("%sstatics2.mul", m_csUOPath); ! m_saMulPaths.SetAt(VERFILE_STATICS2, csPath); ! } ! ! BSTR CUOArtCtrl::GetMulPath() ! { ! return m_csUOPath.AllocSysString(); ! } ! ! BOOL CUOArtCtrl::SetCustomMulFile(short sFileIndex, LPCTSTR pszNewFilePath) ! { ! if ( sFileIndex < 0 || sFileIndex > m_saMulPaths.GetUpperBound() || ( sFileIndex >= 0x13 && sFileIndex <=0x1d) ) ! return FALSE; // Invalid index! ! m_saMulPaths.SetAt(sFileIndex, pszNewFilePath); ! return TRUE; ! } ! ! BSTR CUOArtCtrl::GetCustomMulPath(short sFileIndex) ! { ! CString strResult; ! if ( sFileIndex < 0 || sFileIndex > m_saMulPaths.GetUpperBound() || ( sFileIndex >= 0x13 && sFileIndex <=0x1d) ) ! { ! // Do nothing...we never set these ! } ! else ! strResult = m_saMulPaths.GetAt(sFileIndex); ! return strResult.AllocSysString(); ! } Index: UOArtCtl.h =================================================================== RCS file: /cvsroot/sphere-axis/UOArt/UOArtCtl.h,v retrieving revision 1.6.2.3 retrieving revision 1.6.2.4 diff -C2 -r1.6.2.3 -r1.6.2.4 *** UOArtCtl.h 12 Sep 2001 17:58:59 -0000 1.6.2.3 --- UOArtCtl.h 11 May 2002 05:17:21 -0000 1.6.2.4 *************** *** 100,107 **** DWORD dwCRC; ! CVerdataIdx(); }; ! #define VERFILE_MAP 0x00 #define VERFILE_STAIDX0 0x01 #define VERFILE_STATICS0 0x02 --- 100,107 ---- DWORD dwCRC; ! CVerdataIdx(); }; ! #define VERFILE_MAP0 0x00 #define VERFILE_STAIDX0 0x01 #define VERFILE_STATICS0 0x02 *************** *** 125,128 **** --- 125,137 ---- #define VERFILE_ANIMDATA 0x1f #define VERFILE_HUES 0x20 + // don't know about these...so we'll assign them numbers for now + #define VERFILE_ANIMINFO 0x21 + #define VERFILE_FONTS 0x22 + #define VERFILE_RADARCOL 0x23 + #define VERFILE_VERDATA 0x24 + #define VERFILE_MAP2 0x25 + #define VERFILE_STAIDX2 0x26 + #define VERFILE_STATICS2 0x27 + class CItemCache *************** *** 175,180 **** --- 184,193 ---- // Implementation protected: + CString m_csMulPath; + CStringArray m_saMulPaths; + CPtrArray m_paStatics; CPtrArray m_paDynamics; + void InitializeMulPaths(); BYTE m_tiledata [0xFD000]; void LoadTiledata(); *************** *** 253,256 **** --- 266,273 ---- afx_msg void RemoveHideStatic(short ID, long Block, short x, short y, short z, short color); afx_msg void RedrawControl(); + afx_msg void SetMulPath(LPCTSTR pszNewPath); + afx_msg BSTR GetMulPath(); + afx_msg BOOL SetCustomMulFile(short sFileIndex, LPCTSTR pszNewFilePath); + afx_msg BSTR GetCustomMulPath(short sFileIndex); //}}AFX_DISPATCH DECLARE_DISPATCH_MAP() *************** *** 285,288 **** --- 302,309 ---- dispidRemoveHideStatic = 19L, dispidRedrawControl = 20L, + dispidSetMulPath = 21L, + dispidGetMulPath = 22L, + dispidSetCustomMulFile = 23L, + dispidGetCustomMulPath = 24L, //}}AFX_DISP_ID }; Index: UOArt.opt =================================================================== RCS file: /cvsroot/sphere-axis/UOArt/UOArt.opt,v retrieving revision 1.8.2.2 retrieving revision 1.8.2.3 diff -C2 -r1.8.2.2 -r1.8.2.3 Binary files /tmp/cvs3TU42d and /tmp/cvsSdl3Fj differ |