From a69bc59f1dd426fab9a1a8026a5041c82089e1e1 Mon Sep 17 00:00:00 2001 From: tomrus88 Date: Thu, 4 Dec 2008 22:56:06 +0300 Subject: [PATCH] Fixed some typos, updated areaflags enum --- contrib/extractor/ad.exe | Bin 160256 -> 160256 bytes contrib/extractor/adt.cpp | 121 ++++++++++++++++----------------- contrib/extractor/adt.h | 2 +- src/shared/Database/DBCEnums.h | 28 +++++--- 4 files changed, 79 insertions(+), 72 deletions(-) diff --git a/contrib/extractor/ad.exe b/contrib/extractor/ad.exe index ad4c2f80c347a42c96825428a1f4b97a2b12760d..31de435c4e00f7daba8252f79a9703f9896b9ff9 100755 GIT binary patch delta 3819 zcma)-e^iuJ8prQ*nE^%tXAlHK1a(|7Pyq)6QF>oMgTfHq5>zYEipAcS)wA2nhWys_s($g_(we zbMJlTof&(Z$=+tF>KxP=ketnWMl187-eh9z6fw5m>x|VbG>U&WOG~GBsYbs{;hZ9L zZm2B1jeZ#0t+vz(jH~^JuW!!>rZ|U9IdEZoO)CT(H;#uT3+B7zU zv7dq+;~TZzeu>nm|LA9=*t&On@^al9U^)UDQ6tZtw9T{G=nltJYrMQfxceI|$TX`n$w!-DiVNM1B}9g}%B@-cjCEtUh4!*(ocY>T*(G`8w~*+* zpdB*}E_IBTlZMVAB}e|j6vn1p-|aTs>FzFTGL$zi9a1Y-bKRkJa=$lV=ebR=%bNTX z8|VBn-*IvFXO5)-g@?LSHq9Nr4^g+Uwx)aO$Z3U*aJpCQfiF~6nd1Hi2dI@ra@|cZ z%bLuI+LOKdKIGc%nYc2o@$%Dmlvv~cX_iK}R@G|*&Cnn2UC(Kdb|x^6|L2C@D+q5v zqc)(=>mjmDKb$&k47jGU(*yi|GNE(Yr+xBe$IbsncTJWQqF#DNaAz=8=(eHnaN4hZ zH%y~a{n?lnf8V3y6joTJrzac;qAS{sM=$mF&rw)ka2^ZtXf*MrzP)Yla!jox2sbc4bV;O6yWT*F>vXe|BvSC$rw* zIBukJy|Q{qVCk1aVf{BKY!~SFH-#++Z6K>gVF$s$w-r_kj2jh}2*!hmO$vJzm^UkI z9Vp*|i*HrfW7`zA0sQo?!k*r)u)#YN_5>KQQ(-5-S&+O-VOvn+ebBy9;p~pSYIBmj zt#j`qcwXJB=3gz#0x~>s%NvVI81>M00ju8R+PiyXAlx;5jYf@VwNc-%9_@(>Q`1 zCTclcANb(=Rd(C(d_Y;NPweM-6^|nx5i+={4Yogwc&+7dG#%Bh9UhM709S%lE~7v> zc)ar4_rfL%f@|V(tdFK)`YRYuC95e!Nq&G=~jzU-j(Q*6D3dq10RO zSz%;#Y7?7>$;hH+YsPW8^qcLGt2oh@kOr_H>;PN9Tc8S5bZRG?vqEH~qg!rx1>6Dw zU0UMdxv7h<{o0^tn7`4Wk}l7IWpGtF>>c2!R(vsJ^I4-6hAtvZ|}HHl&aTU9TCEPE;+yOp@~5>S6G5+ z4b2cDn66QX^VPmoW1uSM@4`v(rA5wX2GUJaDw_)CfNkJg=ZYA5 z$UxD~^>GwNMCBOvHwl}!YH0Plk>AgWPiA>cFTBMoF8NZUl#Ns6Oo&ZQ^mpn(>P zxbLay;2A2Q5z&|MkJU3?{~13Z0V*pStg;=7$~M{Wt|cB&nax@G1AR|Md%VJ&&V^@b zJGT_9R9Hd2!VaaUGmq^YdY&FL7`=9JJAD(Eu=xXprS&i?Bb_y!KtA~WqGuNsy|^fP z-m<6XEiRc~vwL4tI}Rsw^mfZaO^$E#Yn6kZ7nZ94*w*I8d%wIGRr$zP4wzx<@zkXf0G0*$I_d zt>U80G7F0h*O(?I*!U2*C$#AzF!Y}vBr-o6|WDM`pZ zDrP6~R0frpspdw~NC`JP|wGPU543gV)_#!~d@$Z47@3JJ*ikVWwrs zmWSLgJ{jZbb;lT;GWL-8a4e4qDvG@8S`jH$rtp47 zTa?O@1*P%`V>!$UF(?(ut%JN<%j7*`5>}~9%*P7VinS14q=*Hnd>}uY;Zdp)ml5Q9 zb*9R$&-A+biQ(gTRG%}m@0JRmt%@Raf@X;7kcIbZ06{uYd&*HI@?i+^isn_wdkCgkyirOrmasQp2#%x|=c%ZGZ z>w|6W?3jd~tL*z85!ZRJtK?1RPdv~O3;z3n-Em%?&ZiraQtx;_5P3B@N*(I`aW0+3 H9ijgRp9#ZK delta 3750 zcma);3shBA8prpyxfi%1a4&*@JOsTa#zR0bUN+|-6^yt~lDmn)9Zb^QMNL=qjF;#|Fk(=0QGWVyuf8`;*%lrden#|H~jPn|6^+zeFLNd~|NG z5KYnojpON@Hpw_LV9Py>CAVG*Ffdli8Vt-Csnr;*)T-??##r9YVXVwhUucb)R-bPT zcW%|r7!!tX(a*$NuS}2k(Zj%%-Zjt=;FB4gWRTv>>_^hWKRXC}32kzNJ3F7O&>x)UMa z1=uFEX}i6WsZBrQWu(}(y9V+KoU38leA`fCs&mv%SF>@KZH3lEc@rVdk2OD2^w7B)7Z{iOyr% zQPYUbY0jbl>hG^>Gc0diG;*6)Z!t+q#QBvn?82y1!Rt z)1AXKb#id&_VrRzL`eV&QjRp-~sR(Fa`_(H)bmABIpGB^c$0>b7T}2 z_!D_+B~z<;-#NW|YKFDRR4=1)eRNH@kzUnvR*W{7 z&+b;(>ZLL1ORbB%9QRt8{_N^}PE0>&J8q;(eRJbN-|BrrVW#y8+W zwhQ=eQdlGS0gTwJuz29JMPbhXwpC%(pt1=!zC&Sm?LnI->k5JR~42CB3@Hi zJ2(PjURPKHYU~6jHY=Qcr#Eg*m3QlS^DbQb-&ALxGO27wL1i{`7z=UzjH$3@!dmRI z=D>Q#Wfj8;g|(vuhQnBjYawzS#wTEOs=My})T(Pc`>ij_)%rXZrggRl8_y!OOY3gW8zSAdepx#U z7?8Cl(Ky`xPo{pw-JRqSY=R&hSqvj&r@9_>PV zZlLtr`epf3zzKft(XtPeWENlj?{S!6{>pKb^t!eugBvPguLG@GZFdwezN&dRVx+`7 z60I@-B?2MgzzX6(3djOEV1^cbA#aGgZ8_#uU=`S;FS(HJMMre|p?j2q~WQpnY*9{bY)m7pJnaJ5{y;^nsjM zl}!OJgU{@?7#e0Evwc?_1ryorAH~xZ6*b;kK)nXaw>MSN3xg>}#Me>@C5o47sg4ru zLzmIfu{6kjsfCg}<4=94vc!*6wi3J#{td=|tg_#NouC2ux2ntlbo+gK$s9?47Bf#! z9IdjiI6?0js90ouh3{_zncq7_#T0M8h##AQvFz{oKnzyd!VxN4r>N}3nwx7Q-c^~^ zUVoatB4c@?!kX<*eof8XQm|BE1+x{lKO4Up(zcH}NB0?wZoA?F9f?a?^MS$=2ADH3 zo9+1=`QU;1kI!GQcz)C)RS!Q>UO8{UeC(qf>)oPa2;b^^*iU79G5rEtYPLt^pb;-#G@XT@T33XipP%u$elk(cdCX%Ht< z_!LXSieH|~`yxFRxvioom1mMstWV`(0X^OBP0Dn67=7L1Kq^m0hwG_)TmWD5%Nl+4 z;_mVMA#~n0o(G#sFSs|^Bt9AMI_t~h`9wM{lJ4Te>3uO(%3M()C0jH~SteSfToIj8 z>P4@V)54MlSuc{LoEB51ydf&2j1i4eE{PT?7e%L(1knrexbaU#*fM#j&*>Wq>jfBM zcm@yh`P@fky+AsqAj0=iyy0@hK$FFibRIm^-(O`RKyfX&FF*Q=*VFl1gNOOe zjkxK0JVGo@=R=Lw;VO#}l*z-4l`yMBbS9EJqTQ`!@+L7EtF%ze!wNNu)et^c5oMV? zk{_AqQnHCl2=e@Tmdd`J<#u_BFdDQ`Jw`AlqMRbREriVUx>~u zY$NPBm5mj>(z8TZCcxucgO8C&ngCCvm@4HXQ6XidXq57zXpxdFI;GUP#H)Yz&0{h? zdqQQxo^&_=!W7LWD2(I2I-mqCxLaX0&?d|kXt@}Z%VQ_sG7RB`*Hni8*x4;(#kO2N z@z$N~#yq~!a9gcq*V}4szdRYAtGruo5w~+&^~BT}e9~=gvG~W^JRSR`8GMEzHTGZb U2O@7xjs-UL*4P)#;kKav0KzStu>b%7 diff --git a/contrib/extractor/adt.cpp b/contrib/extractor/adt.cpp index af5a671c6..b7f54f8ad 100644 --- a/contrib/extractor/adt.cpp +++ b/contrib/extractor/adt.cpp @@ -15,7 +15,6 @@ #include "adt.h" #include "mpq_libmpq.h" -//#include unsigned int iRes=256; extern uint16 *areas; @@ -64,7 +63,7 @@ bool LoadADT(char* filename) //if(fourcc==0x4d564552) // MVER if(fourcc==0x4d43494e) // MCIN { - for (int i=0; i<256; i++) + for (int i=0; i<256; ++i) { mf.read(&mcnk_offsets[i],4); mf.read(&mcnk_sizes[i],4); @@ -86,40 +85,41 @@ bool LoadADT(char* filename) uint32 header_pos = 0; LiqOffsData = new MH2O_offsData; LiqChunkData1 = new MH2O_Data1; - ChunkLiqHeght = new float[81]; - for(;chunk_num < 256; chunk_num++) + ChunkLiqHeight = new float[81]; + for(;chunk_num < 256; ++chunk_num) { mf.read(LiqOffsData,12); header_pos = mf.getPos(); if(LiqOffsData->offsData1 !=0) // если данные в Data1 о воде есть, то их надо конвертировать { - mf.seek(base_pos + LiqOffsData->offsData1);// переходим по смещению из offsData1 ОТ НАЧАЛА куска + // переходим по смещению из offsData1 ОТ НАЧАЛА куска + mf.seek(base_pos + LiqOffsData->offsData1); mf.read(LiqChunkData1,24); // считываем сами данные в структуру типа MH2O_Data1 // заносим данные флага для куска if(LiqChunkData1->flags & 4 || LiqChunkData1->flags & 8) - MapLiqFlag[chunk_num] |=1; + MapLiqFlag[chunk_num] |= 1; if(LiqChunkData1->flags & 16) - MapLiqFlag[chunk_num] |=2; + MapLiqFlag[chunk_num] |= 2; // предварительно заполняем весь кусок данными - нет воды - for(int j=0;j<81;j++) + for(int j=0;j<81;++j) { - ChunkLiqHeght[j] = -999999; // no liquid/water + ChunkLiqHeight[j] = -999999; // no liquid/water } // теперь вычисляем те что с водой и перезаписываем их в куске - for(int b=0; b <= LiqChunkData1->height; b++) + for(int b=0; b <= LiqChunkData1->height; ++b) { - for(int c=LiqChunkData1->xOffset; c <= (LiqChunkData1->xOffset+LiqChunkData1->width); c++) + for(int c=LiqChunkData1->xOffset; c <= (LiqChunkData1->xOffset+LiqChunkData1->width); ++c) { int n = (9*(LiqChunkData1->yOffset + b))+c; - ChunkLiqHeght[n] = LiqChunkData1->heightLevel1; + ChunkLiqHeight[n] = LiqChunkData1->heightLevel1; } } mf.seek(header_pos); // и не забыть вернуться на исходную позицию именно В ХИДЕРЕ } else // если данных в Data1 нет, то надо заполнить весь кусок, но данными - нет воды { - for(int j=0; j<81; j++) - ChunkLiqHeght[j] = -999999; // no liquid/water + for(int j=0; j<81; ++j) + ChunkLiqHeight[j] = -999999; // no liquid/water } if(!(chunk_num%16)) m = 1024*(chunk_num/16); // смещение по рядам кусков с перекрытием = 1024 @@ -128,17 +128,17 @@ bool LoadADT(char* filename) // это аналог старого обрезания граничных правых-боковых и нижних данных for(int p=0;p<72;p+=9) // нижние 8 не заносим тк они дублируется след куском { - for(int s=0; s<8; s++) // 9 значение в строке не заносим тк оно дублируется след куском, а в правых-боковых обрезается для 128х128 + for(int s=0; s<8; ++s) // 9 значение в строке не заносим тк оно дублируется след куском, а в правых-боковых обрезается для 128х128 { - MapLiqHeight[k] = ChunkLiqHeght[p+s];// :) - k++; + MapLiqHeight[k] = ChunkLiqHeight[p+s]; + ++k; } k=k+120; } } delete LiqOffsData; delete LiqChunkData1; - delete []ChunkLiqHeght; + delete []ChunkLiqHeight; } //case 0x4d434e4b: // MCNK @@ -149,13 +149,13 @@ bool LoadADT(char* filename) //printf("Loading chunks info\n"); // read individual map chunks - for (int j=0; j<16; j++) + for (int j=0; j<16; ++j) { - for (int i=0; i<16; i++) + for (int i=0; i<16; ++i) { mf.seek((int)mcnk_offsets[j*16+i]); LoadMapChunk(mf,&(mcells->ch[i][j])); - chunk_num++; + ++chunk_num; } } mf.close(); @@ -171,8 +171,7 @@ bool isHole(int holes, int i, int j) return (holes & holetab_h[testi] & holetab_v[testj])!=0; } -inline -void LoadMapChunk(MPQFile & mf, chunk*_chunk) +inline void LoadMapChunk(MPQFile & mf, chunk*_chunk) { float h; uint32 fourcc; @@ -196,8 +195,7 @@ void LoadMapChunk(MPQFile & mf, chunk*_chunk) int chunkflags = header.flags; float zmin=999999999.0f; float zmax=-999999999.0f; - //must be there, bl!zz uses some crazy format - //int nTextures; + // must be there, bl!zz uses some crazy format while (mf.getPos() < lastpos) { mf.read(&fourcc,4); @@ -205,8 +203,8 @@ void LoadMapChunk(MPQFile & mf, chunk*_chunk) size_t nextpos = mf.getPos() + size; if(fourcc==0x4d435654) // MCVT { - for (int j=0; j<17; j++) - for (int i=0; i<((j%2)?8:9); i++) + for (int j=0; j<17; ++j) + for (int i=0; i<((j%2)?8:9); ++i) { mf.read(&h,4); float z=h+ybase; @@ -236,32 +234,31 @@ void LoadMapChunk(MPQFile & mf, chunk*_chunk) else if(fourcc==0x4d434c51 && !MH2O_presence) // не будем учитывать если уже были данные в MH2O, перестраховка :) // MCLQ { // liquid / water level - //bool haswater; char fcc1[5]; mf.read(fcc1,4); flipcc(fcc1); fcc1[4]=0; - ChunkLiqHeght = new float[81]; + ChunkLiqHeight = new float[81]; if (!strcmp(fcc1,"MCSE")) { - for(int j=0;j<81;j++) + for(int j=0;j<81;++j) { - ChunkLiqHeght[j] = -999999; // no liquid/water + ChunkLiqHeight[j] = -999999; // no liquid/water } } else { float maxheight; mf.read(&maxheight, 4); - for(int j=0;j<81;j++) + for(int j=0;j<81;++j) { mf.read(&h, 4); mf.read(&h, 4); if(h > maxheight) - ChunkLiqHeght[j] = -999999; + ChunkLiqHeight[j] = -999999; else - ChunkLiqHeght[j] = h; + ChunkLiqHeight[j] = h; } if(chunkflags & 4 || chunkflags & 8) @@ -276,14 +273,14 @@ void LoadMapChunk(MPQFile & mf, chunk*_chunk) for(int p=0;p<72;p+=9) { - for(int s=0; s<8; s++) + for(int s=0; s<8; ++s) { - MapLiqHeight[k] = ChunkLiqHeght[p+s]; // :) - k++; + MapLiqHeight[k] = ChunkLiqHeight[p+s]; + ++k; } k=k+120; } - delete []ChunkLiqHeght; + delete []ChunkLiqHeight; break; } mf.seek(nextpos); @@ -296,19 +293,18 @@ double solve (vec *v,vec *p) double b = v[0].z *(v[1].x - v[2].x) + v[1].z *(v[2].x - v[0].x) + v[2].z *(v[0].x - v[1].x); double c = v[0].x *(v[1].y - v[2].y) + v[1].x *(v[2].y - v[0].y) + v[2].x *(v[0].y - v[1].y); double d = v[0].x *(v[1].y*v[2].z - v[2].y*v[1].z) + v[1].x* (v[2].y*v[0].z - v[0].y*v[2].z) + v[2].x* (v[0].y*v[1].z - v[1].y*v[0].z); - //-d + // -d - //plane equation ax+by+cz+d=0 + // plane equation ax+by+cz+d=0 return ((a*p->x+c*p->z-d)/b); } -inline -double GetZ(double x,double z) +inline double GetZ(double x, double z) { vec v[3]; vec p; { - //find out quadrant + // find out quadrant int xc=(int)(x/UNITSIZE); int zc=(int)(z/UNITSIZE); if(xc>127)xc=127; @@ -353,27 +349,26 @@ double GetZ(double x,double z) } } -inline -void TransformData() +inline void TransformData() { cell= new Cell; - for(int x=0;x<128;x++) + for(int x=0;x<128;++x) { - for(int y=0;y<128;y++) + for(int y=0;y<128;++y) { cell->v8[x][y] = (float)mcells->ch[x/8][y/8].v8[x%8][y%8]; cell->v9[x][y] = (float)mcells->ch[x/8][y/8].v9[x%8][y%8]; } - //extra 1 point on bounds + // extra 1 point on bounds cell->v9[x][128] = (float)mcells->ch[x/8][15].v9[x%8][8]; - //x==y + // x==y cell->v9[128][x] = (float)mcells->ch[15][x/8].v9[8][x%8]; } - //and the last 1 + // and the last 1 cell->v9[128][128] = (float)mcells->ch[15][15].v9[8][8]; delete mcells; @@ -385,8 +380,10 @@ bool ConvertADT(char * filename,char * filename2) { MapLiqHeight = new float[16384]; MapLiqFlag = new char[256]; - for(int j=0; j<256; j++) + for(int j = 0; j < 256; ++j) MapLiqFlag[j] = 0; + for(int j = 0; j < 16384; ++j) + MapLiqHeight[j] = -999999; if(!LoadADT(filename)) { @@ -407,9 +404,9 @@ bool ConvertADT(char * filename,char * filename2) // write magic header fwrite(MAP_MAGIC,1,8,output); - for(unsigned int x=0;x<16;x++) + for(unsigned int x=0;x<16;++x) { - for(unsigned int y=0;y<16;y++) + for(unsigned int y=0;y<16;++y) { if(mcells->ch[y][x].area_id && mcells->ch[y][x].area_id <= maxAreaId) { @@ -426,22 +423,24 @@ bool ConvertADT(char * filename,char * filename2) } } - fwrite(MapLiqFlag,1,256,output); //!!!!!!!! + fwrite(MapLiqFlag,1,256,output); delete [] MapLiqFlag; - fwrite(MapLiqHeight,sizeof(float),16384,output); //!!!!!!!! + fwrite(MapLiqHeight,sizeof(float),16384,output); delete [] MapLiqHeight; TransformData(); - for(unsigned int x=0;x