diff --git a/.gitignore b/.gitignore index defd53b..5fafc31 100644 --- a/.gitignore +++ b/.gitignore @@ -33,6 +33,10 @@ Build/ Debug/ +# custom user build dirs +/*build* +/Sources/*build* + # Visual Studio *.vs *.opendb @@ -70,20 +74,22 @@ Sources/Entities/*.cpp # Other generated files: Sources/Engine/Ska/smcScan.cpp Sources/Engine/Ska/smcPars.h +Sources/Engine/Ska/smcPars.hpp Sources/Engine/Ska/smcPars.cpp Sources/Engine/Base/Parser.cpp Sources/Engine/Base/Parser.h +Sources/Engine/Base/Parser.hpp Sources/Engine/Base/Scanner.cpp Sources/Ecc/Parser.cpp Sources/Ecc/Parser.h +Sources/Ecc/Parser.hpp Sources/Ecc/Scanner.cpp Sources/SeriousSkaStudio/Parser.cpp Sources/SeriousSkaStudio/Parser.h +Sources/SeriousSkaStudio/Parser.hpp Sources/SeriousSkaStudio/Scanner.cpp # vim swap files *.swp *.swo - - diff --git a/Sources/CMakeLists.txt b/Sources/CMakeLists.txt index 39ab5f7..83d9fd5 100644 --- a/Sources/CMakeLists.txt +++ b/Sources/CMakeLists.txt @@ -110,21 +110,21 @@ if(CMAKE_COMPILER_IS_GNUCC OR CMAKE_C_COMPILER_ID STREQUAL "Clang") set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS} -DNDEBUG=1 -D_NDEBUG=1 -Os -fno-unsafe-math-optimizations") # TODO fix these warnings + # !!! FIXME: turn a bunch of these off, this is just for now. I hope. --ryan. add_compile_options(-Wno-sign-compare) add_compile_options(-Wno-switch) + add_compile_options(-Wno-char-subscripts) add_compile_options(-Wno-unknown-pragmas) - add_compile_options(-Wno-unused-variable) - add_compile_options(-Wno-unused-value) - add_compile_options(-Wno-reorder) - add_compile_options(-Wno-unused-but-set-variable) - add_compile_options(-Wno-parentheses) + add_compile_options(-Wno-unused-variable) # TODO: maybe only enable this for Entities + add_compile_options(-Wno-unused-value) # same here (the Scripts generate tons of unused variables and values) + add_compile_options(-Wno-missing-braces) + add_compile_options(-Wno-overloaded-virtual) + add_compile_options(-Wno-invalid-offsetof) MESSAGE(WARNING, "re-enable some of the warnings some day!") if(CMAKE_CXX_COMPILER_ID MATCHES "Clang" OR CMAKE_CXX_COMPILER_ID MATCHES "AppleClang") - # !!! FIXME: turn a bunch of these off, this is just for now. I hope. --ryan. - add_compile_options(-Wno-tautological-undefined-compare) + add_compile_options(-Wno-tautological-undefined-compare) # don't complain about if(this!=NULL) add_compile_options(-Wno-c++11-compat-deprecated-writable-strings) - add_compile_options(-Wno-logical-op-parentheses) # FIXME: this too should be re-enabled endif() if(MACOSX) diff --git a/Sources/Engine/Base/Anim.cpp b/Sources/Engine/Base/Anim.cpp index b42ce79..e491e12 100644 --- a/Sources/Engine/Base/Anim.cpp +++ b/Sources/Engine/Base/Anim.cpp @@ -296,13 +296,13 @@ void CAnimData::LoadFromScript_t( CTStream *File, CListHead *pFrameFileList) // char ld_line[ 128]; CTmpListHead TempAnimationList; SLONG lc; - BOOL ret_val; + //BOOL ret_val; //ASSERT( ad_Anims == NULL); // clears possible animations CAnimData::Clear(); - ret_val = TRUE; + //ret_val = TRUE; FOREVER { // Repeat reading of one line of script file until it is not empty or comment @@ -904,14 +904,14 @@ void CAnimObject::PlayAnim(INDEX iNew, ULONG ulFlags) class COneAnim *pCOA = &ao_AnimData->ad_Anims[ao_iCurrentAnim]; TIME tmNow = _pTimer->CurrentTick(); TIME tmLength = GetCurrentAnimLength(); - FLOAT fFrame = ((_pTimer->CurrentTick() - ao_tmAnimStart)/pCOA->oa_SecsPerFrame); + FLOAT fFrame = ((tmNow - ao_tmAnimStart)/pCOA->oa_SecsPerFrame); INDEX iFrame = INDEX(fFrame); FLOAT fFract = fFrame-iFrame; iFrame = ClipFrame(iFrame); TIME tmPassed = (iFrame+fFract)*pCOA->oa_SecsPerFrame; TIME tmLeft = tmLength-tmPassed; // set time ahead to end of the current animation - ao_tmAnimStart = _pTimer->CurrentTick()+tmLeft; + ao_tmAnimStart = tmNow+tmLeft; // remember last animation ao_iLastAnim = ao_iCurrentAnim; // set new animation number diff --git a/Sources/Engine/Base/Lists.cpp b/Sources/Engine/Base/Lists.cpp index c6ff234..5fe33bd 100755 --- a/Sources/Engine/Base/Lists.cpp +++ b/Sources/Engine/Base/Lists.cpp @@ -40,8 +40,8 @@ BOOL CListHead::IsValid(void) const { ASSERT(this!=NULL); ASSERT(lh_NULL == NULL); - ASSERT((lh_Head == (CListNode *) &lh_NULL) && (lh_Tail == (CListNode *) &lh_Head) - || lh_Tail->IsValid() && lh_Head->IsValid() ); + ASSERT(((lh_Head == (CListNode *) &lh_NULL) && (lh_Tail == (CListNode *) &lh_Head)) + || (lh_Tail->IsValid() && lh_Head->IsValid()) ); return TRUE; } @@ -211,7 +211,7 @@ BOOL CListNode::IsValid(void) const ASSERT((ln_Pred==NULL && ln_Succ==NULL) || (ln_Pred!=NULL && ln_Succ!=NULL)); // it is valid if it is cleared or if it is linked return (ln_Pred==NULL && ln_Succ==NULL) - || (ln_Pred->ln_Succ == this) && (ln_Succ->ln_Pred == this); + || ((ln_Pred->ln_Succ == this) && (ln_Succ->ln_Pred == this)); } /* diff --git a/Sources/Engine/Base/Shell.cpp b/Sources/Engine/Base/Shell.cpp index bbdcb30..2611528 100644 --- a/Sources/Engine/Base/Shell.cpp +++ b/Sources/Engine/Base/Shell.cpp @@ -110,7 +110,7 @@ CDynamicStackArray _shell_astrTempStrings; CDynamicStackArray _shell_astrExtStrings; CDynamicStackArray _shell_afExtFloats; -static const char *strCommandLine = ""; +//static const char *strCommandLine = ""; FLOAT tmp_af[10] = { 0 }; INDEX tmp_ai[10] = { 0 }; diff --git a/Sources/Engine/Base/Stream.cpp b/Sources/Engine/Base/Stream.cpp index d1ead10..d48f827 100755 --- a/Sources/Engine/Base/Stream.cpp +++ b/Sources/Engine/Base/Stream.cpp @@ -934,7 +934,7 @@ void CTFileStream::Create_t(const CTFileName &fnFileName, } CTFileName fnmFullFileName; - INDEX iFile = ExpandFilePath(EFP_WRITE, fnFileNameAbsolute, fnmFullFileName); + /* INDEX iFile = */ ExpandFilePath(EFP_WRITE, fnFileNameAbsolute, fnmFullFileName); // check parameters ASSERT(strlen(fnFileNameAbsolute)>0); @@ -1317,7 +1317,7 @@ BOOL FileExistsForWriting(const CTFileName &fnmFile) } // expand the filename to full path for writing CTFileName fnmFullFileName; - INDEX iFile = ExpandFilePath(EFP_WRITE, fnmFile, fnmFullFileName); + /* INDEX iFile = */ ExpandFilePath(EFP_WRITE, fnmFile, fnmFullFileName); // check if it exists FILE *f = fopen(fnmFullFileName, "rb"); @@ -1433,7 +1433,7 @@ static INDEX ExpandFilePath_read(ULONG ulType, const CTFileName &fnmFile, CTFile { // search for the file in zips INDEX iFileInZip = UNZIPGetFileIndex(fnmFile); - const BOOL userdir_not_basedir = (_fnmUserDir != _fnmApplicationPath); + //const BOOL userdir_not_basedir = (_fnmUserDir != _fnmApplicationPath); // if a mod is active if (_fnmMod!="") { diff --git a/Sources/Engine/Base/Timer.cpp b/Sources/Engine/Base/Timer.cpp index 8c02846..b82043b 100755 --- a/Sources/Engine/Base/Timer.cpp +++ b/Sources/Engine/Base/Timer.cpp @@ -161,8 +161,8 @@ void CTimer_TimerFunc_internal(void) CTimerValue tvTimeNow = _pTimer->GetHighPrecisionTimer(); TIME tmTickNow = _pTimer->tm_RealTimeTimer; // calculate how long has passed since we have last been on time - TIME tmTimeDelay = (TIME)(tvTimeNow - _pTimer->tm_tvLastTimeOnTime).GetSeconds(); - TIME tmTickDelay = (tmTickNow - _pTimer->tm_tmLastTickOnTime); + //TIME tmTimeDelay = (TIME)(tvTimeNow - _pTimer->tm_tvLastTimeOnTime).GetSeconds(); + //TIME tmTickDelay = (tmTickNow - _pTimer->tm_tmLastTickOnTime); _sfStats.StartTimer(CStatForm::STI_TIMER); // if we are keeping up to time (more or less) @@ -209,13 +209,14 @@ Uint32 CTimer_TimerFunc_SDL(Uint32 interval, void* param) #pragma inline_depth() + +#ifdef PLATFORM_WIN32 // DG: not used on other platforms #define MAX_MEASURE_TRIES 5 static INDEX _aiTries[MAX_MEASURE_TRIES]; // Get processor speed in Hertz static __int64 GetCPUSpeedHz(void) { -#ifdef PLATFORM_WIN32 // get the frequency of the 'high' precision timer __int64 llTimerFrequency; BOOL bPerformanceCounterPresent = QueryPerformanceFrequency((LARGE_INTEGER*)&llTimerFrequency); @@ -296,14 +297,8 @@ static __int64 GetCPUSpeedHz(void) // use measured value return (__int64)slSpeedRead*1000000; } -#else - - STUBBED("I hope this isn't critical..."); - return(1); - -#endif - } +#endif // PLATFORM_WIN32 #if PLATFORM_MACOSX diff --git a/Sources/Engine/Base/Types.h b/Sources/Engine/Base/Types.h index 555bc81..0a7d543 100644 --- a/Sources/Engine/Base/Types.h +++ b/Sources/Engine/Base/Types.h @@ -679,15 +679,45 @@ inline void Clear(float i) {}; inline void Clear(double i) {}; inline void Clear(void *pv) {}; -// These macros are not safe to use unless data is UNSIGNED! -#define BYTESWAP16_unsigned(x) ((((x)>>8)&0xff)+ (((x)<<8)&0xff00)) -#define BYTESWAP32_unsigned(x) (((x)>>24) + (((x)>>8)&0xff00) + (((x)<<8)&0xff0000) + ((x)<<24)) +// DG: screw macros, use inline functions instead - they're even safe for signed values +inline UWORD BYTESWAP16_unsigned(UWORD x) +{ +#ifdef __GNUC__ // GCC and clang have a builtin that hopefully does the most efficient thing + return __builtin_bswap16(x); +#else + return (((x)>>8)&0xff)+ (((x)<<8)&0xff00); +#endif +} + +inline ULONG BYTESWAP32_unsigned(ULONG x) +{ +#ifdef __GNUC__ // GCC and clang have a builtin that hopefully does the most efficient thing + return __builtin_bswap32(x); +#else + return ((x)>>24) + (((x)>>8)&0xff00) + (((x)<<8)&0xff0000) + ((x)<<24); +#endif +} + +inline __uint64 BYTESWAP64_unsigned(__uint64 x) +{ +#ifdef __GNUC__ // GCC and clang have a builtin that hopefully does the most efficient thing + return __builtin_bswap64(x); +#else + ULONG l = BYTESWAP32_unsigned((ULONG)(val & 0xFFFFFFFF)); + ULONG h = BYTESWAP32_unsigned((ULONG)((val >> 32) & 0xFFFFFFFF)); + return (((__uint64)l) << 32) | ((__uint64)h); +#endif +} // rcg03242004 #if PLATFORM_LITTLEENDIAN #define BYTESWAP(x) #else +// TODO: DG: the following stuff could probably be updated to use the functions above properly, +// which should make lots of cases easier. As I don't have a big endian machine I can't test, +// so I won't touch this for now. + static inline void BYTESWAP(UWORD &val) { #if __POWERPC__ diff --git a/Sources/Engine/Brushes/BrushPolygon.cpp b/Sources/Engine/Brushes/BrushPolygon.cpp index 42f4a4b..e5b971b 100644 --- a/Sources/Engine/Brushes/BrushPolygon.cpp +++ b/Sources/Engine/Brushes/BrushPolygon.cpp @@ -509,7 +509,7 @@ CBrushPolygon &CBrushPolygon::CopyPolygon(CBrushPolygon &bp) bpo_boxBoundingBox=bp.bpo_boxBoundingBox; bpo_pbscSector=bp.bpo_pbscSector; bpo_rsOtherSideSectors.Clear(); - bpo_lhShadingInfos; + //bpo_lhShadingInfos; // don't copy or anything, it's a CListHead which must not be copied bpo_iInWorld=bp.bpo_iInWorld; return *this; } diff --git a/Sources/Engine/Brushes/BrushSector.cpp b/Sources/Engine/Brushes/BrushSector.cpp index 3abc42b..09d9f90 100644 --- a/Sources/Engine/Brushes/BrushSector.cpp +++ b/Sources/Engine/Brushes/BrushSector.cpp @@ -53,8 +53,8 @@ CBrushSector::CBrushSector(void) , bsc_ulFlags2(0) , bsc_ulTempFlags(0) , bsc_ulVisFlags(0) -, bsc_strName("") , bsc_bspBSPTree(*new DOUBLEbsptree3D) +, bsc_strName("") { }; @@ -622,9 +622,9 @@ void CBrushSector::TriangularizeMarkedPolygons( void) bpoNew.bpo_abpePolygonEdges[2].bpe_pbedEdge = &abedEdgesNew[iEdge+2]; bpoNew.bpo_abpePolygonEdges[2].bpe_bReverse = FALSE; - CBrushEdge &edg0 = *bpoNew.bpo_abpePolygonEdges[0].bpe_pbedEdge; - CBrushEdge &edg1 = *bpoNew.bpo_abpePolygonEdges[1].bpe_pbedEdge; - CBrushEdge &edg2 = *bpoNew.bpo_abpePolygonEdges[2].bpe_pbedEdge; + //CBrushEdge &edg0 = *bpoNew.bpo_abpePolygonEdges[0].bpe_pbedEdge; + //CBrushEdge &edg1 = *bpoNew.bpo_abpePolygonEdges[1].bpe_pbedEdge; + //CBrushEdge &edg2 = *bpoNew.bpo_abpePolygonEdges[2].bpe_pbedEdge; // set brush vertex ptrs bpoNew.bpo_apbvxTriangleVertices.New(3); diff --git a/Sources/Engine/Brushes/BrushShadows.cpp b/Sources/Engine/Brushes/BrushShadows.cpp index d2949e0..d0d832f 100644 --- a/Sources/Engine/Brushes/BrushShadows.cpp +++ b/Sources/Engine/Brushes/BrushShadows.cpp @@ -605,7 +605,7 @@ BOOL CBrushShadowMap::IsShadowFlat( COLOR &colFlat) COLOR col; UBYTE ubR,ubG,ubB, ubR1,ubG1,ubB1; SLONG slR=0,slG=0,slB=0; - INDEX ctPointLights=0; + //INDEX ctPointLights=0; CBrushPolygon *pbpo = GetBrushPolygon(); // if the shadowmap is not using the shading mode diff --git a/Sources/Engine/Brushes/BrushTriangularize.cpp b/Sources/Engine/Brushes/BrushTriangularize.cpp index 0e175f9..ddb29c4 100644 --- a/Sources/Engine/Brushes/BrushTriangularize.cpp +++ b/Sources/Engine/Brushes/BrushTriangularize.cpp @@ -337,7 +337,7 @@ void CTriangularizer::MakeEdgesForTriangularization(void) // get number of edges in polygon INDEX ctEdges = tr_abpeOriginalEdges.Count(); // create that much edges in the array - CBrushEdge *pbedEdges = tr_abedEdges.New(ctEdges); + /* CBrushEdge *pbedEdges = */ tr_abedEdges.New(ctEdges); tr_abedEdges.Lock(); @@ -480,7 +480,7 @@ void CTriangularizer::FindExistingTriangleEdges(void) // for each edge FOREACHINDYNAMICARRAY(tr_abedEdges, CBrushEdge, itbed) { - CBrushEdge *pbed = itbed; + //CBrushEdge *pbed = itbed; // if it is the bottom edge of the triangle if (tr_pbedBottom == itbed) { @@ -517,7 +517,7 @@ BOOL CTriangularizer::CheckTriangleAgainstEdges(void) { // for each edge FOREACHINDYNAMICARRAY(tr_abedEdges, CBrushEdge, itbed) { - CBrushEdge *pbed = itbed; + //CBrushEdge *pbed = itbed; // if it is the bottom edge of the triangle if (tr_pbedBottom == itbed) { diff --git a/Sources/Engine/Classes/MovableEntity.es b/Sources/Engine/Classes/MovableEntity.es index be11ae5..7bc441e 100644 --- a/Sources/Engine/Classes/MovableEntity.es +++ b/Sources/Engine/Classes/MovableEntity.es @@ -1009,8 +1009,8 @@ functions: } // find current breathing parameters BOOL bCanBreathe = - (ctUp.ct_ulFlags&CTF_BREATHABLE_LUNGS) && (en_ulPhysicsFlags&EPF_HASLUNGS) || - (ctUp.ct_ulFlags&CTF_BREATHABLE_GILLS) && (en_ulPhysicsFlags&EPF_HASGILLS); + ((ctUp.ct_ulFlags&CTF_BREATHABLE_LUNGS) && (en_ulPhysicsFlags&EPF_HASLUNGS)) || + ((ctUp.ct_ulFlags&CTF_BREATHABLE_GILLS) && (en_ulPhysicsFlags&EPF_HASGILLS)); TIME tmNow = _pTimer->CurrentTick(); TIME tmBreathDelay = tmNow-en_tmLastBreathed; // if entity can breathe now @@ -1207,8 +1207,8 @@ functions: // if polygon's steepness is too high CSurfaceType &stReference = en_pwoWorld->wo_astSurfaceTypes[pbpo->bpo_bppProperties.bpp_ubSurfaceType]; - if (fCos>=-stReference.st_fClimbSlopeCos&&fCos<0 - ||stReference.st_ulFlags&STF_SLIDEDOWNSLOPE) { + if ((fCos >= -stReference.st_fClimbSlopeCos && fCos<0) + || stReference.st_ulFlags&STF_SLIDEDOWNSLOPE) { // it cannot be below _pfPhysicsProfile.StopTimer((INDEX) CPhysicsProfile::PTI_ISSTANDINGONPOLYGON); return FALSE; @@ -1529,11 +1529,11 @@ out:; // going up or iStep==0 || // going forward and hit stairs or - iStep==1 && bHitStairsNow || + (iStep==1 && bHitStairsNow) || // going down and ends on something that is not high slope - iStep==2 && + (iStep==2 && (vHitPlane%en_vGravityDir<-stHit.st_fClimbSlopeCos || - bHitStairsNow); + bHitStairsNow)); // if early clip is allowed if (bEarlyClipAllowed || bSlidingAllowed) { @@ -2322,8 +2322,8 @@ out:; FLOAT fPlaneYAbs = Abs(fPlaneY); FLOAT fFriction = stReference.st_fFriction; // if on a steep slope - if (fPlaneY>=-stReference.st_fClimbSlopeCos&&fPlaneY<0 - ||(stReference.st_ulFlags&STF_SLIDEDOWNSLOPE)&&fPlaneY>-0.99f) { + if ((fPlaneY>=-stReference.st_fClimbSlopeCos&&fPlaneY<0) + ||((stReference.st_ulFlags&STF_SLIDEDOWNSLOPE)&&fPlaneY>-0.99f)) { en_ulPhysicsFlags|=EPF_ONSTEEPSLOPE; // accellerate horizontaly towards desired absolute translation AddAccelerationOnPlane2( @@ -2737,8 +2737,8 @@ out:; /* old */ FLOAT fPlaneYAbs = Abs(fPlaneY); /* old */ FLOAT fFriction = stReference.st_fFriction; /* old */ // if on a steep slope -/* old */ if (fPlaneY>=-stReference.st_fClimbSlopeCos&&fPlaneY<0 -/* old */ ||(stReference.st_ulFlags&STF_SLIDEDOWNSLOPE)&&fPlaneY>-0.99f) { +/* old */ if ((fPlaneY>=-stReference.st_fClimbSlopeCos&&fPlaneY<0) +/* old */ ||((stReference.st_ulFlags&STF_SLIDEDOWNSLOPE)&&fPlaneY>-0.99f)) { /* old */ en_ulPhysicsFlags|=EPF_ONSTEEPSLOPE; /* old */ // accellerate horizontaly towards desired absolute translation /* old */ AddAccelerationOnPlane2( @@ -2863,7 +2863,7 @@ out:; _pfPhysicsProfile.IncrementCounter((INDEX) CPhysicsProfile::PCI_DOMOVING); - FLOAT fTickQuantum=_pTimer->TickQuantum; // used for normalizing from SI units to game ticks + //FLOAT fTickQuantum=_pTimer->TickQuantum; // used for normalizing from SI units to game ticks // if rotation and translation are synchronized if (en_ulPhysicsFlags&EPF_RT_SYNCHRONIZED) { @@ -2878,7 +2878,7 @@ out:; if ((en_ulPhysicsFlags&EPF_ONBLOCK_MASK)==EPF_ONBLOCK_PUSH) { penPusher = this; } - BOOL bMoveSuccessfull = TryToMove(penPusher, TRUE, TRUE); + /* BOOL bMoveSuccessfull = */ TryToMove(penPusher, TRUE, TRUE); // if rotation and translation are asynchronious } else { diff --git a/Sources/Engine/Engine.cpp b/Sources/Engine/Engine.cpp index 452d281..2ce0f69 100644 --- a/Sources/Engine/Engine.cpp +++ b/Sources/Engine/Engine.cpp @@ -67,7 +67,9 @@ CTCriticalSection zip_csLock; // critical section for access to zlib functions // to keep system gamma table +#ifdef PLATFORM_WIN32 // DG: other platforms don't (currently?) use this static UWORD auwSystemGamma[256*3]; +#endif // OS info @@ -818,7 +820,7 @@ ENGINE_API void SE_UpdateWindowHandle( HWND hwndMain) _bFullScreen = _pGfx!=NULL && (_pGfx->gl_ulFlags&GLF_FULLSCREEN); } - +#ifdef PLATFORM_WIN32 static BOOL TouchBlock(UBYTE *pubMemoryBlock, INDEX ctBlockSize) { #if (defined __MSC_VER) @@ -856,12 +858,13 @@ touchLoop: // !!! More importantly, will this help if the system is paging to disk // !!! like mad anyhow? Leaving this as a no-op for most systems seems safe // !!! to me. --ryan. + // DG: put this into #ifdef PLATFORM_WIN32 because otherwise the function is not called anyway #endif return TRUE; } - +#endif // PLATFORM_WIN32 // pretouch all memory commited by process BOOL _bNeedPretouch = FALSE; diff --git a/Sources/Engine/Entities/Entity.cpp b/Sources/Engine/Entities/Entity.cpp index fb9a337..de3acfe 100644 --- a/Sources/Engine/Entities/Entity.cpp +++ b/Sources/Engine/Entities/Entity.cpp @@ -481,7 +481,7 @@ void CEntity::GetCollisionBoxParameters(INDEX iBox, FLOATaabbox3D &box, INDEX &i if(en_RenderType==RT_SKAMODEL || en_RenderType==RT_SKAEDITORMODEL) { box.minvect = GetModelInstance()->GetCollisionBoxMin(iBox); box.maxvect = GetModelInstance()->GetCollisionBoxMax(iBox); - FLOATaabbox3D boxNS = box; + //FLOATaabbox3D boxNS = box; box.StretchByVector(GetModelInstance()->mi_vStretch); iEquality = GetModelInstance()->GetCollisionBoxDimensionEquality(iBox); } else { @@ -1833,7 +1833,7 @@ void CEntity::FindSectorsAroundEntity(void) // for each brush in the world FOREACHINDYNAMICARRAY(en_pwoWorld->wo_baBrushes.ba_abrBrushes, CBrush3D, itbr) { - CBrush3D &br=*itbr; + //CBrush3D &br=*itbr; // if the brush entity is not zoning if (itbr->br_penEntity==NULL || !(itbr->br_penEntity->en_ulFlags&ENF_ZONING)) { // skip it @@ -1925,9 +1925,9 @@ void CEntity::FindSectorsAroundEntityNear(void) // (use more detailed testing for moving brushes) (en_RenderType!=RT_BRUSH|| // oriented box touches box of sector - (oboxEntity.HasContactWith(FLOATobbox3D(pbsc->bsc_boxBoundingBox)))&& + ((oboxEntity.HasContactWith(FLOATobbox3D(pbsc->bsc_boxBoundingBox)))&& // oriented box is in bsp - (pbsc->bsc_bspBSPTree.TestBox(oboxdEntity)>=0)); + (pbsc->bsc_bspBSPTree.TestBox(oboxdEntity)>=0))); // if it is not if (!bIn) { // if it has link @@ -3104,11 +3104,11 @@ void CEntity::InflictRangeDamage(CEntity *penInflictor, enum DamageType dmtType, FLOAT3D vHitPos; FLOAT fMinD; if ( - (en.en_RenderType==RT_MODEL || en.en_RenderType==RT_EDITORMODEL || + ((en.en_RenderType==RT_MODEL || en.en_RenderType==RT_EDITORMODEL || en.en_RenderType==RT_SKAMODEL || en.en_RenderType==RT_SKAEDITORMODEL )&& - CheckModelRangeDamage(en, vCenter, fMinD, vHitPos) || - (en.en_RenderType==RT_BRUSH)&& - CheckBrushRangeDamage(en, vCenter, fMinD, vHitPos)) { + CheckModelRangeDamage(en, vCenter, fMinD, vHitPos)) || + ((en.en_RenderType==RT_BRUSH)&& + CheckBrushRangeDamage(en, vCenter, fMinD, vHitPos))) { // find damage ammount FLOAT fAmmount = IntensityAtDistance(fDamageAmmount, fHotSpotRange, fFallOffRange, fMinD); @@ -3146,7 +3146,7 @@ void CEntity::InflictBoxDamage(CEntity *penInflictor, enum DamageType dmtType, if (en.en_pciCollisionInfo==NULL) { continue; } - CCollisionInfo *pci = en.en_pciCollisionInfo; + //CCollisionInfo *pci = en.en_pciCollisionInfo; // if entity is not allowed to execute now if (!en.IsAllowedForPrediction()) { // do nothing diff --git a/Sources/Engine/Entities/EntityCopying.cpp b/Sources/Engine/Entities/EntityCopying.cpp index 071fd3f..1c3734f 100644 --- a/Sources/Engine/Entities/EntityCopying.cpp +++ b/Sources/Engine/Entities/EntityCopying.cpp @@ -452,7 +452,7 @@ void CWorld::CopyEntities(CWorld &woOther, CDynamicContainer &cenToCopy // for each of the created entities {FOREACHINSTATICARRAY(_aprRemaps, CPointerRemapping, itpr) { - CEntity *penOriginal = itpr->pr_penOriginal; + //CEntity *penOriginal = itpr->pr_penOriginal; CEntity *penCopy = itpr->pr_penCopy; if (_bReinitEntitiesWhileCopying) { // init the new copy @@ -469,7 +469,7 @@ void CWorld::CopyEntities(CWorld &woOther, CDynamicContainer &cenToCopy // for each of the created entities {FOREACHINSTATICARRAY(_aprRemaps, CPointerRemapping, itpr) { - CEntity *penOriginal = itpr->pr_penOriginal; + //CEntity *penOriginal = itpr->pr_penOriginal; CEntity *penCopy = itpr->pr_penCopy; // if this is a brush @@ -718,7 +718,7 @@ void CWorld::CopyEntitiesToPredictors(CDynamicContainer &cenToCopy) // for each of the created entities {FOREACHINSTATICARRAY(_aprRemaps, CPointerRemapping, itpr) { - CEntity *penOriginal = itpr->pr_penOriginal; + //CEntity *penOriginal = itpr->pr_penOriginal; CEntity *penCopy = itpr->pr_penCopy; // if this is a brush diff --git a/Sources/Engine/Entities/EntityProperties.cpp b/Sources/Engine/Entities/EntityProperties.cpp index 5fd407b..5f736e9 100644 --- a/Sources/Engine/Entities/EntityProperties.cpp +++ b/Sources/Engine/Entities/EntityProperties.cpp @@ -96,7 +96,7 @@ void CEntity::WriteEntityPointer_t(CTStream *ostrm, CEntityPointer pen) void CEntity::ReadProperties_t(CTStream &istrm) // throw char * { istrm.ExpectID_t("PRPS"); // 'properties' - CDLLEntityClass *pdecDLLClass = en_pecClass->ec_pdecDLLClass; + //CDLLEntityClass *pdecDLLClass = en_pecClass->ec_pdecDLLClass; INDEX ctProperties; // read number of properties (note that this doesn't have to be same as number // of properties in the class (class might have changed)) @@ -104,7 +104,7 @@ void CEntity::ReadProperties_t(CTStream &istrm) // throw char * // for all saved properties for(INDEX iProperty=0; iPropertydec_ctProperties; + //pdecDLLClass->dec_ctProperties; // read packed identifier ULONG ulIDAndType; istrm>>ulIDAndType; diff --git a/Sources/Engine/Graphics/Adapter.cpp b/Sources/Engine/Graphics/Adapter.cpp index 09880ef..32e23d1 100644 --- a/Sources/Engine/Graphics/Adapter.cpp +++ b/Sources/Engine/Graphics/Adapter.cpp @@ -34,6 +34,7 @@ extern const D3DDEVTYPE d3dDevType; // list of all modes avaliable through CDS static CListHead _lhCDSModes; +#ifdef PLATFORM_WIN32 // DG: all this code is (currently?) only used for windows. class CResolution { public: PIX re_pixSizeI; @@ -74,8 +75,6 @@ static CResolution _areResolutions[] = static const INDEX MAX_RESOLUTIONS = sizeof(_areResolutions)/sizeof(_areResolutions[0]); -#ifdef PLATFORM_WIN32 - // initialize CDS support (enumerate modes at startup) void CGfxLibrary::InitAPIs(void) { @@ -240,7 +239,7 @@ void CGfxLibrary::InitAPIs(void) // fill OpenGL adapter info CDisplayAdapter *pda; - INDEX iResolution; + //INDEX iResolution; gl_gaAPI[GAT_OGL].ga_ctAdapters = 1; gl_gaAPI[GAT_OGL].ga_iCurrentAdapter = 0; diff --git a/Sources/Engine/Graphics/Benchmark.cpp b/Sources/Engine/Graphics/Benchmark.cpp index 17ea71b..dd5df5e 100644 --- a/Sources/Engine/Graphics/Benchmark.cpp +++ b/Sources/Engine/Graphics/Benchmark.cpp @@ -33,7 +33,7 @@ static PIX _pixSizeI; static PIX _pixSizeJ; static CTimerValue _tv; static BOOL _bBlend = FALSE; -static BOOL _bVisible = FALSE; +//static BOOL _bVisible = FALSE; static BOOL _bTexture = FALSE; static BOOL _bDepth = FALSE; static BOOL _bMultiTexture = FALSE; diff --git a/Sources/Engine/Graphics/DrawPort.cpp b/Sources/Engine/Graphics/DrawPort.cpp index 0722ce3..ce03348 100755 --- a/Sources/Engine/Graphics/DrawPort.cpp +++ b/Sources/Engine/Graphics/DrawPort.cpp @@ -799,7 +799,7 @@ void CDrawPort::Fill( PIX pixI, PIX pixJ, PIX pixWidth, PIX pixHeight, // thru OpenGL gfxResetArrays(); GFXVertex *pvtx = _avtxCommon.Push(4); - GFXTexCoord *ptex = _atexCommon.Push(4); + /* GFXTexCoord *ptex = */ _atexCommon.Push(4); GFXColor *pcol = _acolCommon.Push(4); const GFXColor glcolUL(colUL); const GFXColor glcolUR(colUR); const GFXColor glcolDL(colDL); const GFXColor glcolDR(colDR); @@ -1617,7 +1617,7 @@ void CDrawPort::AddTriangle( const FLOAT fI0, const FLOAT fJ0, const GFXColor glCol( AdjustColor( col, _slTexHueShift, _slTexSaturation)); const INDEX iStart = _avtxCommon.Count(); GFXVertex *pvtx = _avtxCommon.Push(3); - GFXTexCoord *ptex = _atexCommon.Push(3); + /* GFXTexCoord *ptex = */ _atexCommon.Push(3); GFXColor *pcol = _acolCommon.Push(3); INDEX *pelm = _aiCommonElements.Push(3); pvtx[0].x = fI0; pvtx[0].y = fJ0; pvtx[0].z = 0; @@ -1699,7 +1699,7 @@ void CDrawPort::BlendScreen(void) // set arrays gfxResetArrays(); GFXVertex *pvtx = _avtxCommon.Push(4); - GFXTexCoord *ptex = _atexCommon.Push(4); + /* GFXTexCoord *ptex = */ _atexCommon.Push(4); GFXColor *pcol = _acolCommon.Push(4); const INDEX iW = dp_Width; const INDEX iH = dp_Height; diff --git a/Sources/Engine/Graphics/DrawPort_RenderScene.cpp b/Sources/Engine/Graphics/DrawPort_RenderScene.cpp index d624442..18c0033 100644 --- a/Sources/Engine/Graphics/DrawPort_RenderScene.cpp +++ b/Sources/Engine/Graphics/DrawPort_RenderScene.cpp @@ -499,18 +499,27 @@ static void RSBinToGroups( ScenePolygon *pspoFirst) ); #else - // emulate x86's bsr opcode...not fast. :/ - register DWORD val = _ctGroupsCount; - register INDEX bsr = 31; - if (val != 0) - { - while (bsr > 0) - { - if (val & (1l << bsr)) - break; - bsr--; - } - } + // emulate x86's bsr opcode... + + // GCC and clang have an architecture-independent intrinsic for this + // (it counts leading zeros starting at MSB and is undefined for 0) + #ifdef __GNUC__ + INDEX bsr = 31; + if(_ctGroupsCount != 0) bsr -= __builtin_clz(_ctGroupsCount); + else bsr = 0; + #else // another compiler - doing it manually.. not fast. :/ + register DWORD val = _ctGroupsCount; + register INDEX bsr = 31; + if (val != 0) + { + while (bsr > 0) + { + if (val & (1l << bsr)) + break; + bsr--; + } + } + #endif _ctGroupsCount = 2 << bsr; #endif @@ -807,6 +816,7 @@ static void RSSetTextureCoords( ScenePolygon *pspoGroup, INDEX iLayer, INDEX iUn // generate tex coord for all scene polygons in list const FLOATmatrix3D &mViewer = _ppr->pr_ViewerRotationMatrix; const INDEX iMappingOffset = iLayer * sizeof(CMappingVectors); + (void)iMappingOffset; // shut up compiler, this is used if inline ASM is used for( ScenePolygon *pspo=pspoGroup; pspo!=NULL; pspo=pspo->spo_pspoSucc) { @@ -1970,7 +1980,7 @@ void RenderSceneBackground(CDrawPort *pDP, COLOR col) // set arrays gfxResetArrays(); GFXVertex *pvtx = _avtxCommon.Push(4); - GFXTexCoord *ptex = _atexCommon.Push(4); + /* GFXTexCoord *ptex = */ _atexCommon.Push(4); GFXColor *pcol = _acolCommon.Push(4); pvtx[0].x = 0; pvtx[0].y = 0; pvtx[0].z = 1; pvtx[1].x = 0; pvtx[1].y = iH; pvtx[1].z = 1; diff --git a/Sources/Engine/Graphics/Fog.cpp b/Sources/Engine/Graphics/Fog.cpp index 2945cb4..531c842 100644 --- a/Sources/Engine/Graphics/Fog.cpp +++ b/Sources/Engine/Graphics/Fog.cpp @@ -109,8 +109,7 @@ pixLoop: DWORD* dst = (DWORD*)(pubTexture+pixTextureSize); for (int i=0; i> 8) & 0x0000ff00 ) | ((tmp >> 24) & 0x000000ff ); + *dst = BYTESWAP32_unsigned((ULONG)tmp); src++; dst++; } @@ -275,7 +274,7 @@ void StartFog( CFogParameters &fp, const FLOAT3D &vViewPosAbs, const FLOATmatrix // exp fog case AT_EXP: { // calculate linear step for the fog parameter - FLOAT fT = 0.0f; + //FLOAT fT = 0.0f; FLOAT fTStep = 1.0f/pixSizeL*fFar*fDensity*fA; // fog is exp(-t) function of fog parameter, now calculate // step (actually multiplication) for the fog @@ -288,7 +287,7 @@ void StartFog( CFogParameters &fp, const FLOAT3D &vViewPosAbs, const FLOATmatrix } break; case AT_EXP2: { // calculate linear step for the fog parameter - FLOAT fT = 0.0f; + //FLOAT fT = 0.0f; FLOAT fTStep = 1.0f/pixSizeL*fFar*fDensity*fA; // fog is exp(-t^2) function of fog parameter, now calculate // first and second order step (actually multiplication) for the fog diff --git a/Sources/Engine/Graphics/GfxLibrary.cpp b/Sources/Engine/Graphics/GfxLibrary.cpp index 4d8b657..9c03272 100644 --- a/Sources/Engine/Graphics/GfxLibrary.cpp +++ b/Sources/Engine/Graphics/GfxLibrary.cpp @@ -91,7 +91,9 @@ extern BOOL CVA_bModels; static FLOAT _fLastBrightness, _fLastContrast, _fLastGamma; static FLOAT _fLastBiasR, _fLastBiasG, _fLastBiasB; static INDEX _iLastLevels; +#ifdef PLATFORM_WIN32 // DG: not used on other platforms static UWORD _auwGammaTable[256*3]; +#endif // table for clipping [-512..+1024] to [0..255] static UBYTE aubClipByte[256*2+ 256 +256*3]; @@ -1213,6 +1215,7 @@ void CGfxLibrary::Init(void) // !!! FIXME : rcg11232001 Scripts/CustomOptions/GFX-AdvancedRendering.cfg // !!! FIXME : rcg11232001 references non-existing cvars, so I'm adding // !!! FIXME : rcg11232001 them here for now. + // FXME: DG: so why are they commented out? // _pShell->DeclareSymbol("persistent user INDEX mdl_bRenderBump;", (void *) &mdl_bRenderBump); // _pShell->DeclareSymbol("persistent user FLOAT ogl_fTextureAnisotropy;", (void *) &ogl_fTextureAnisotropy); _pShell->DeclareSymbol("persistent user FLOAT tex_fNormalSize;", (void *) &tex_fNormalSize); @@ -1609,11 +1612,10 @@ void CGfxLibrary::UnlockDrawPort( CDrawPort *pdpToUnlock) /* Create a new window canvas. */ void CGfxLibrary::CreateWindowCanvas(void *hWnd, CViewPort **ppvpNew, CDrawPort **ppdpNew) { - RECT rectWindow; // rectangle for the client area of the window - // get the dimensions from the window // !!! FIXME : rcg11052001 Abstract this. #ifdef PLATFORM_WIN32 + RECT rectWindow; // rectangle for the client area of the window GetClientRect( (HWND)hWnd, &rectWindow); const PIX pixWidth = rectWindow.right - rectWindow.left; const PIX pixHeight = rectWindow.bottom - rectWindow.top; @@ -1627,7 +1629,7 @@ void CGfxLibrary::CreateWindowCanvas(void *hWnd, CViewPort **ppvpNew, CDrawPort *ppvpNew = NULL; *ppdpNew = NULL; // create a new viewport - if (*ppvpNew = new CViewPort( pixWidth, pixHeight, (HWND)hWnd)) { + if((*ppvpNew = new CViewPort( pixWidth, pixHeight, (HWND)hWnd))) { // and it's drawport *ppdpNew = &(*ppvpNew)->vp_Raster.ra_MainDrawPort; } else { @@ -1802,7 +1804,9 @@ INDEX _ctProbeShdU = 0; INDEX _ctProbeShdB = 0; INDEX _ctFullShdU = 0; SLONG _slFullShdUBytes = 0; +#ifdef PLATFORM_WIN32 // only used there static BOOL GenerateGammaTable(void); +#endif @@ -2064,7 +2068,7 @@ void CGfxLibrary::UnlockRaster( CRaster *praToUnlock) } - +#ifdef PLATFORM_WIN32 // DG: only used on windows // generates gamma table and returns true if gamma table has been changed static BOOL GenerateGammaTable(void) { @@ -2140,7 +2144,7 @@ static BOOL GenerateGammaTable(void) // done return TRUE; } - +#endif // PLATFORM_WIN32 #if 0 diff --git a/Sources/Engine/Graphics/Gfx_OpenGL.cpp b/Sources/Engine/Graphics/Gfx_OpenGL.cpp index e0696e4..dd549d9 100644 --- a/Sources/Engine/Graphics/Gfx_OpenGL.cpp +++ b/Sources/Engine/Graphics/Gfx_OpenGL.cpp @@ -505,9 +505,9 @@ extern void SetTBufferEffect( BOOL bEnable) if( ogl_iTBufferEffect==0 || _pGfx->go_ctSampleBuffers<2 || !bEnable) pglDisable( GL_MULTISAMPLE_3DFX); else { pglEnable( GL_MULTISAMPLE_3DFX); - UINT uiMask = 0xFFFFFFFF; + //UINT uiMask = 0xFFFFFFFF; // set one buffer in case of motion-blur - if( ogl_iTBufferEffect==2) uiMask = (1UL) << _pGfx->go_iCurrentWriteBuffer; + //if( ogl_iTBufferEffect==2) uiMask = (1UL) << _pGfx->go_iCurrentWriteBuffer; //pglTBufferMask3DFX(uiMask); } } diff --git a/Sources/Engine/Graphics/Gfx_OpenGL_Textures.cpp b/Sources/Engine/Graphics/Gfx_OpenGL_Textures.cpp index 4ad76ab..20d1f7b 100644 --- a/Sources/Engine/Graphics/Gfx_OpenGL_Textures.cpp +++ b/Sources/Engine/Graphics/Gfx_OpenGL_Textures.cpp @@ -220,7 +220,7 @@ void UploadTexture_OGL( ULONG *pulTexture, PIX pixSizeU, PIX pixSizeV, #else // Basically average every other pixel... - UWORD w = 0; + //UWORD w = 0; UBYTE *dptr = (UBYTE *) pulDst; UBYTE *sptr = (UBYTE *) pulSrc; #if 0 diff --git a/Sources/Engine/Graphics/Gfx_wrapper.cpp b/Sources/Engine/Graphics/Gfx_wrapper.cpp index 28a2dcf..b284d7d 100644 --- a/Sources/Engine/Graphics/Gfx_wrapper.cpp +++ b/Sources/Engine/Graphics/Gfx_wrapper.cpp @@ -72,7 +72,7 @@ FLOAT GFX_fLastF = 0; INDEX GFX_ctVertices = 0; // for D3D: mark need for clipping (when wants to be disable but cannot be because of user clip plane) -static BOOL _bWantsClipping = TRUE; +//static BOOL _bWantsClipping = TRUE; // current color mask (for Get... function) static ULONG _ulCurrentColorMask = (CT_RMASK|CT_GMASK|CT_BMASK|CT_AMASK); // locking state for OGL @@ -81,7 +81,7 @@ static BOOL _bCVAReallyLocked = FALSE; // clip plane and last view matrix for D3D FLOAT D3D_afClipPlane[4] = {0,0,0,0}; FLOAT D3D_afViewMatrix[16] = {0,0,0,0, 0,0,0,0, 0,0,0,0, 0,0,0,0}; -static FLOAT _afActiveClipPlane[4] = {0,0,0,0}; +//static FLOAT _afActiveClipPlane[4] = {0,0,0,0}; // Truform/N-Patches INDEX truform_iLevel = -1; diff --git a/Sources/Engine/Graphics/Graphics.cpp b/Sources/Engine/Graphics/Graphics.cpp index 3d4be59..440c27f 100644 --- a/Sources/Engine/Graphics/Graphics.cpp +++ b/Sources/Engine/Graphics/Graphics.cpp @@ -548,7 +548,7 @@ void ColorizeMipmaps( INDEX i1stMipmapToColorize, ULONG *pulMipmaps, PIX pixWidt { // prepare ... ULONG *pulSrcMipmap = pulMipmaps + GetMipmapOffset( i1stMipmapToColorize, pixWidth, pixHeight); - ULONG *pulDstMipmap; + //ULONG *pulDstMipmap; PIX pixCurrWidth = pixWidth >>i1stMipmapToColorize; PIX pixCurrHeight = pixHeight>>i1stMipmapToColorize; PIX pixMipSize; @@ -561,7 +561,7 @@ void ColorizeMipmaps( INDEX i1stMipmapToColorize, ULONG *pulMipmaps, PIX pixWidt while( pixCurrWidth>1 && pixCurrHeight>1) { // prepare current mip-level pixMipSize = pixCurrWidth*pixCurrHeight; - pulDstMipmap = pulSrcMipmap + pixMipSize; + //pulDstMipmap = pulSrcMipmap + pixMipSize; // mask mipmap const ULONG ulColorMask = ByteSwap( _acolMips[iTableOfs] | 0x3F3F3FFF); for( INDEX iPix=0; iPix=pixWidth && pixCanvasHeight>=pixHeight); SLONG slModulo = (pixCanvasWidth-pixWidth) *BYTES_PER_TEXEL; SLONG slWidthModulo = pixWidth*BYTES_PER_TEXEL +slModulo; + (void)slWidthModulo; // shut up compiler, this is used if inline ASM is used // if bitmap is smaller than 4x2 pixels if( pixWidth<4 || pixHeight<2) @@ -2673,7 +2674,7 @@ void DrawTriangle_Mask( UBYTE *pubMaskPlane, SLONG slMaskWidth, SLONG slMaskHeig // find row counter and max delta J SLONG ctJShort1 = pixMdJ - pixUpJ; SLONG ctJShort2 = pixDnJ - pixMdJ; - SLONG ctJLong = pixDnJ - pixUpJ; + //SLONG ctJLong = pixDnJ - pixUpJ; FLOAT currK, curr1oK, currUoK, currVoK; PIX pixJ = pixUpJ; diff --git a/Sources/Engine/Graphics/ImageInfo.cpp b/Sources/Engine/Graphics/ImageInfo.cpp index b15d1c4..84ea7ff 100644 --- a/Sources/Engine/Graphics/ImageInfo.cpp +++ b/Sources/Engine/Graphics/ImageInfo.cpp @@ -78,6 +78,7 @@ static __forceinline CTStream &operator>>(CTStream &strm, PCXHeader &t) { return strm; } +#if 0 // DG: unused. static __forceinline CTStream &operator<<(CTStream &strm, const PCXHeader &t) { strm<>(CTStream &strm, TGAHeader &t) { return(strm); } +#if 0 // DG: unused. static __forceinline CTStream &operator<<(CTStream &strm, const TGAHeader &t) { strm<> ctEffectSources; // add requested number of members to effect source array CTextureEffectSource *pEffectSources = td_ptegEffect->teg_atesEffectSources.New( ctEffectSources); + (void)pEffectSources; // read whole dynamic array of effect sources FOREACHINDYNAMICARRAY( td_ptegEffect->teg_atesEffectSources, CTextureEffectSource, itEffectSource) diff --git a/Sources/Engine/Graphics/TextureEffects.cpp b/Sources/Engine/Graphics/TextureEffects.cpp index 91fc839..8834a3b 100644 --- a/Sources/Engine/Graphics/TextureEffects.cpp +++ b/Sources/Engine/Graphics/TextureEffects.cpp @@ -2915,9 +2915,9 @@ static void AnimateFire( SLONG slDensity) // use only one buffer (otherwise it's not working) UBYTE *pubNew = (UBYTE*)_ptdEffect->td_pubBuffer2; SLONG slBufferMask = _pixBufferWidth*_pixBufferHeight -1; - SLONG slColumnModulo = _pixBufferWidth*(_pixBufferHeight-2) -1; #if ASMOPT == 1 + SLONG slColumnModulo = _pixBufferWidth*(_pixBufferHeight-2) -1; #if (defined __MSVC_INLINE__) __asm { diff --git a/Sources/Engine/Light/LayerMaker.cpp b/Sources/Engine/Light/LayerMaker.cpp index 62b7fcd..42e12b1 100644 --- a/Sources/Engine/Light/LayerMaker.cpp +++ b/Sources/Engine/Light/LayerMaker.cpp @@ -329,8 +329,8 @@ void CLayerMaker::SpreadShadowMaskOutwards(void) PIX pixLayerMinV = lm_pixLayerMinV>>iMipmap; PIX pixLayerSizeU = lm_pixLayerSizeU>>iMipmap; PIX pixLayerSizeV = lm_pixLayerSizeV>>iMipmap; - PIX pixSizeU = lm_pixSizeU>>iMipmap; - PIX pixSizeV = lm_pixSizeV>>iMipmap; + //PIX pixSizeU = lm_pixSizeU>>iMipmap; + //PIX pixSizeV = lm_pixSizeV>>iMipmap; PIX pixSizeULog2 = FastLog2(lm_pixSizeU)-iMipmap; UBYTE *pubLayer = lm_pubLayer+lm_mmtLayer.mmt_aslOffsets[iMipmap]; UBYTE *pubPolygonMask = lm_pubPolygonMask+lm_mmtPolygonMask.mmt_aslOffsets[iMipmap]; @@ -419,8 +419,8 @@ void CLayerMaker::SpreadShadowMaskInwards(void) PIX pixLayerMinV = lm_pixLayerMinV>>iMipmap; PIX pixLayerSizeU = lm_pixLayerSizeU>>iMipmap; PIX pixLayerSizeV = lm_pixLayerSizeV>>iMipmap; - PIX pixSizeU = lm_pixSizeU>>iMipmap; - PIX pixSizeV = lm_pixSizeV>>iMipmap; + //PIX pixSizeU = lm_pixSizeU>>iMipmap; + //PIX pixSizeV = lm_pixSizeV>>iMipmap; PIX pixSizeULog2 = FastLog2(lm_pixSizeU)-iMipmap; UBYTE *pubLayer = lm_pubLayer+lm_mmtLayer.mmt_aslOffsets[iMipmap]; UBYTE *pubPolygonMask = lm_pubPolygonMask+lm_mmtPolygonMask.mmt_aslOffsets[iMipmap]; @@ -526,7 +526,7 @@ void CLayerMaker::MakePolygonMask(void) UBYTE *pub = lm_pubPolygonMask; // for each mip-map for (INDEX iMipmap=0; iMipmap>iMip; - PIX pixLayerMinV = lm_pixLayerMinV>>iMip; + //PIX pixLayerMinU = lm_pixLayerMinU>>iMip; + //PIX pixLayerMinV = lm_pixLayerMinV>>iMip; PIX pixLayerSizeU = lm_pixLayerSizeU>>iMip; PIX pixLayerSizeV = lm_pixLayerSizeV>>iMip; UBYTE *pubLayer = lm_pubLayer+lm_mmtLayer.mmt_aslOffsets[iMip]; @@ -632,7 +632,7 @@ ULONG CLayerMaker::MakeShadowMask(CBrushShadowLayer *pbsl) // allocate shadow mask for the light (+8 is safety wall for fast conversions) lm_pubLayer = (UBYTE *)AllocMemory(lm_mmtLayer.mmt_slTotalSize+8); - const FLOAT fEpsilon = (1<>=1; @@ -476,7 +478,7 @@ void CLayerMixer::AddAmbientMaskPoint( UBYTE *pubMask, UBYTE ubMask) // prepare some local variables mmDDL2oDU_addAmbientMaskPoint = _slDDL2oDU; mmDDL2oDV_addAmbientMaskPoint = _slDDL2oDV; - ULONG ulLightRGB = ByteSwap(lm_colLight); + ULONG ulLightRGB = ByteSwap(lm_colLight); // FIXME: shouldn't this be used in plain C impl too? _slLightMax<<=7; _slLightStep>>=1; @@ -654,7 +656,7 @@ skipPixel: for( PIX pixU=0; pixU<_iPixCt; pixU++) { // if the point is not masked - if( *pubMask & ubMask && (slL2Point>SHIFTX)&(SQRTTABLESIZE-1); // and is just for degenerate cases SLONG slIntensity = _slLightMax; slL = aubSqrt[slL]; @@ -699,7 +701,7 @@ void CLayerMixer::AddDiffusionPoint(void) // prepare some local variables mmDDL2oDU_AddDiffusionPoint = _slDDL2oDU; mmDDL2oDV_AddDiffusionPoint = _slDDL2oDV; - ULONG ulLightRGB = ByteSwap(lm_colLight); + ULONG ulLightRGB = ByteSwap(lm_colLight); // FIXME: shouldn't this be used in plain C impl too? _slLightMax<<=7; _slLightStep>>=1; @@ -900,7 +902,7 @@ void CLayerMixer::AddDiffusionMaskPoint( UBYTE *pubMask, UBYTE ubMask) // prepare some local variables mmDDL2oDU_AddDiffusionMaskPoint = _slDDL2oDU; mmDDL2oDV_AddDiffusionMaskPoint = _slDDL2oDV; - ULONG ulLightRGB = ByteSwap(lm_colLight); + ULONG ulLightRGB = ByteSwap(lm_colLight); // FIXME: shouldn't this be used in plain C impl too? _slLightMax<<=7; _slLightStep>>=1; @@ -1076,7 +1078,7 @@ skipPixel: for( PIX pixU=0; pixU<_iPixCt; pixU++) { // if the point is not masked - if( *pubMask&ubMask && (slL2Point>SHIFTX)&(SQRTTABLESIZE-1); // and is just for degenerate cases sl1oL = auw1oSqrt[sl1oL]; SLONG slIntensity = _slLightMax; @@ -1709,7 +1711,7 @@ void CLayerMixer::AddOneLayerDirectional( CBrushShadowLayer *pbsl, UBYTE *pubMas // get the light source of the layer lm_plsLight = pbsl->bsl_plsLightSource; - const FLOAT3D &vLight = lm_plsLight->ls_penEntity->GetPlacement().pl_PositionVector; + //const FLOAT3D &vLight = lm_plsLight->ls_penEntity->GetPlacement().pl_PositionVector; AnglesToDirectionVector( lm_plsLight->ls_penEntity->GetPlacement().pl_OrientationAngle, lm_vLightDirection); // calculate intensity @@ -1845,7 +1847,7 @@ void CLayerMixer::MixOneMipmap(CBrushShadowMap *pbsm, INDEX iMipmap) ASSERT( &ls!=NULL); if( &ls==NULL) continue; // safety check // skip if should not be applied - if( (bDynamicOnly && !(ls.ls_ulFlags&LSF_NONPERSISTENT)) || ls.ls_ulFlags&LSF_DYNAMIC) continue; + if( (bDynamicOnly && !(ls.ls_ulFlags&LSF_NONPERSISTENT)) || (ls.ls_ulFlags & LSF_DYNAMIC)) continue; // set corresponding shadowmap flag if this is an animating light if( ls.ls_paoLightAnimation!=NULL) lm_pbsmShadowMap->sm_ulFlags |= SMF_ANIMATINGLIGHTS; @@ -1959,7 +1961,7 @@ __forceinline void CLayerMixer::FillShadowLayer( COLOR col) #else DWORD* dst = (DWORD*)lm_pulShadowMap; int n = lm_pixCanvasSizeU*lm_pixCanvasSizeV; - DWORD color = __builtin_bswap32(col); + DWORD color = BYTESWAP32_unsigned(col); while(n--) {*(dst++)=color;} #endif } diff --git a/Sources/Engine/Math/Object3D.cpp b/Sources/Engine/Math/Object3D.cpp index fb38369..0928c2f 100644 --- a/Sources/Engine/Math/Object3D.cpp +++ b/Sources/Engine/Math/Object3D.cpp @@ -81,7 +81,7 @@ void CObject3D::Project(CSimpleProjection3D_DOUBLE &pr) BOOL bXInverted = vObjectStretch(1)<0; BOOL bYInverted = vObjectStretch(2)<0; BOOL bZInverted = vObjectStretch(3)<0; - BOOL bInverted = bXInverted!=bYInverted!=bZInverted; + BOOL bInverted = (bXInverted != bYInverted) != bZInverted; // for all sectors FOREACHINDYNAMICARRAY(ob_aoscSectors, CObjectSector, itsc) { diff --git a/Sources/Engine/Math/ObjectSector.cpp b/Sources/Engine/Math/ObjectSector.cpp index 9b69542..f02d59b 100644 --- a/Sources/Engine/Math/ObjectSector.cpp +++ b/Sources/Engine/Math/ObjectSector.cpp @@ -90,6 +90,7 @@ static int qsort_CompareVerticesAlongLine(const void *pvVertex0, const void *pvV CObjectVertex &vx1 = **(CObjectVertex **)pvVertex1; return CompareVerticesAlongLine(vx0, vx1); } +#if 0 // DG: unused. /* * Compare two vertices along a line for quick-sort - reversely. */ @@ -99,6 +100,7 @@ static int qsort_CompareVerticesAlongLineReversely(const void *pvVertex0, const CObjectVertex &vx1 = **(CObjectVertex **)pvVertex1; return -CompareVerticesAlongLine(vx0, vx1); } +#endif // 0 (unused) /* @@ -254,7 +256,7 @@ void CObjectPolygonEdge::GetVertices(CObjectVertex *&povxStart, CObjectVertex *& * Default constructor. */ CObjectSector::CObjectSector(void) : - osc_colAmbient(0), osc_colColor(0), osc_strName("") + osc_colColor(0), osc_colAmbient(0), osc_strName("") { osc_ulFlags[0] = 0; osc_ulFlags[1] = 0; @@ -548,6 +550,7 @@ CObjectPolygon *CObjectSector::CreatePolygon(INDEX ctVertices, INDEX aivVertices void CObjectSector::CheckOptimizationAlgorithm(void) { // for vertices +#if 0 // DG: this doesn't really do anything?! FOREACHINDYNAMICARRAY(osc_aovxVertices, CObjectVertex, itvx1) { FOREACHINDYNAMICARRAY(osc_aovxVertices, CObjectVertex, itvx2) { CObjectVertex &vx1 = itvx1.Current(); @@ -555,6 +558,7 @@ void CObjectSector::CheckOptimizationAlgorithm(void) // !!!!why this fails sometimes ?(on spheres) ASSERT( (&vx1 == &vx2) || (CompareVertices(vx1, vx2)!=0) ); } } +#endif // 0 // for planes FOREACHINDYNAMICARRAY(osc_aoplPlanes, CObjectPlane, itpl1) { @@ -600,7 +604,7 @@ void CObjectSector::CheckOptimizationAlgorithm(void) {FOREACHINDYNAMICARRAY(osc_aopoPolygons, CObjectPolygon, itopo) { // for each edge in polygon {FOREACHINDYNAMICARRAY(itopo->opo_PolygonEdges, CObjectPolygonEdge, itope) { - CObjectEdge &oedThis = *itope->ope_Edge; + //CObjectEdge &oedThis = *itope->ope_Edge; CObjectVertex *povxStartThis, *povxEndThis; // get start and end vertices itope->GetVertices(povxStartThis, povxEndThis); @@ -629,7 +633,7 @@ BOOL CObjectSector::ArePolygonsPlanar(void) {FOREACHINDYNAMICARRAY(osc_aopoPolygons, CObjectPolygon, itopo) { // for each edge in polygon {FOREACHINDYNAMICARRAY(itopo->opo_PolygonEdges, CObjectPolygonEdge, itope) { - CObjectEdge &oedThis = *itope->ope_Edge; + //CObjectEdge &oedThis = *itope->ope_Edge; CObjectVertex *povxStartThis, *povxEndThis; // get start and end vertices itope->GetVertices(povxStartThis, povxEndThis); @@ -715,7 +719,7 @@ void CObjectSector::RemapClonedPlanes(void) /* * Remap different vertices with same coordinates to use only one of each. */ -static BOOL bBug=FALSE; +//static BOOL bBug=FALSE; void CObjectSector::RemapClonedVertices(void) { // if there are no vertices in the sector @@ -1107,7 +1111,7 @@ void CObjectPolygon::JoinContinuingEdges(CDynamicArray &oedEdges) // create an empty array for newly created edges CDynamicArray aopeNew; // set the counter of edges to current number of edges - INDEX ctEdges = opo_PolygonEdges.Count(); + //INDEX ctEdges = opo_PolygonEdges.Count(); // for each edge {FOREACHINDYNAMICARRAY(opo_PolygonEdges, CObjectPolygonEdge, itope) { @@ -1186,10 +1190,10 @@ void CObjectSector::SplitCollinearEdgesRun(CStaticArray &apedxSortedE if (iFirstInRun>iLastInRun) { return; // this should not happen, but anyway! } - CEdgeEx &edxLine = *apedxSortedEdgeLines[iFirstInRun]; // representative line of the run /* set up array of vertex pointers */ /* + CEdgeEx &edxLine = *apedxSortedEdgeLines[iFirstInRun]; // representative line of the run // for each vertex in sector INDEX ctVerticesOnLine=0; {FOREACHINDYNAMICARRAY(osc_aovxVertices, CObjectVertex, itovx) { diff --git a/Sources/Engine/Math/Projection_Isometric.cpp b/Sources/Engine/Math/Projection_Isometric.cpp index 364a676..92f35d6 100644 --- a/Sources/Engine/Math/Projection_Isometric.cpp +++ b/Sources/Engine/Math/Projection_Isometric.cpp @@ -43,7 +43,9 @@ void CIsometricProjection3D::Prepare(void) BOOL bYInverted = pr_ObjectStretch(2)<0; BOOL bZInverted = pr_ObjectStretch(3)<0; - pr_bInverted = bXInverted!=bYInverted!=bZInverted; + // DG: this is true if either one of X,Y,Z is inverted, or all three + // but not if two or none are inverted. + pr_bInverted = (bXInverted != bYInverted) != bZInverted; // if the projection is mirrored if (pr_bMirror) { diff --git a/Sources/Engine/Math/Projection_Parallel.cpp b/Sources/Engine/Math/Projection_Parallel.cpp index fa0044c..2cc6ffe 100644 --- a/Sources/Engine/Math/Projection_Parallel.cpp +++ b/Sources/Engine/Math/Projection_Parallel.cpp @@ -43,7 +43,7 @@ void CParallelProjection3D::Prepare(void) BOOL bYInverted = pr_ObjectStretch(2)<0; BOOL bZInverted = pr_ObjectStretch(3)<0; - pr_bInverted = bXInverted!=bYInverted!=bZInverted; + pr_bInverted = (bXInverted != bYInverted) != bZInverted; // if the projection is mirrored if (pr_bMirror) { diff --git a/Sources/Engine/Math/Projection_Perspective.cpp b/Sources/Engine/Math/Projection_Perspective.cpp index 6d18df4..d26303a 100644 --- a/Sources/Engine/Math/Projection_Perspective.cpp +++ b/Sources/Engine/Math/Projection_Perspective.cpp @@ -52,7 +52,7 @@ void CPerspectiveProjection3D::Prepare(void) BOOL bYInverted = pr_ObjectStretch(2)<0; BOOL bZInverted = pr_ObjectStretch(3)<0; - pr_bInverted = bXInverted!=bYInverted!=bZInverted; + pr_bInverted = (bXInverted != bYInverted) != bZInverted; // if the projection is mirrored if (pr_bMirror) { diff --git a/Sources/Engine/Math/TextureMapping.cpp b/Sources/Engine/Math/TextureMapping.cpp index 8065bb6..81723c3 100644 --- a/Sources/Engine/Math/TextureMapping.cpp +++ b/Sources/Engine/Math/TextureMapping.cpp @@ -138,7 +138,7 @@ void CMappingDefinition::TransformMappingVectors( const CMappingVectors &mvSrc, FLOAT vot2 = +sou2*ood2; FLOAT vos2 = -tou2*ood2; mvDst.mv_vO = mvSrc.mv_vO - + mvDst.mv_vU * (md_fUOffset*uos2 + md_fVOffset*vos2) + + mvDst.mv_vU * (md_fUOffset*uos2 + md_fVOffset*vos2) // FIXME: should vos2 have been uot2 here? + mvDst.mv_vV * (md_fUOffset*vos2 + md_fVOffset*vot2); } } @@ -263,9 +263,9 @@ void CMappingDefinition::ProjectMapping(const FLOATplane3D &plOriginal, const CM mv.mv_vO = pl.DeprojectPoint (plOriginal, mvOriginal.mv_vO); mv.mv_vU = pl.DeprojectDirection(plOriginal, mvOriginal.mv_vU); mv.mv_vV = pl.DeprojectDirection(plOriginal, mvOriginal.mv_vV); - FLOAT3D vOTest = plOriginal.ProjectPoint(mv.mv_vO); - FLOAT3D vUTest = plOriginal.ProjectDirection(mv.mv_vU); - FLOAT3D vVTest = plOriginal.ProjectDirection(mv.mv_vV); + //FLOAT3D vOTest = plOriginal.ProjectPoint(mv.mv_vO); + //FLOAT3D vUTest = plOriginal.ProjectDirection(mv.mv_vU); + //FLOAT3D vVTest = plOriginal.ProjectDirection(mv.mv_vV); // make mapping on this plane CMappingVectors mvDefault; diff --git a/Sources/Engine/Models/Model.cpp b/Sources/Engine/Models/Model.cpp index 1ea0dcb..e3847d2 100644 --- a/Sources/Engine/Models/Model.cpp +++ b/Sources/Engine/Models/Model.cpp @@ -1068,7 +1068,7 @@ void CModelData::IndicesToPtrs() { FOREACHINSTATICARRAY(it1.Current().mp_PolygonVertices, ModelPolygonVertex, it2) { - struct ModelPolygonVertex * pMPV = &it2.Current(); + //struct ModelPolygonVertex * pMPV = &it2.Current(); // DG: this looks like a 64-bit issue but is most probably ok, as the pointers // should contain indices from PtrToIndices() j = (INDEX) (size_t) it2.Current().mpv_ptvTransformedVertex; @@ -1397,9 +1397,11 @@ void CModelData::Read_t( CTStream *pFile) // throw char * if( cidVerticesChunk == CChunkID("AV16")) { CChunkID cidDummy = pFile->GetID_t(); + (void)cidDummy; // shut up about unused variable, compiler. ULONG ulDummy; // skip chunk size *pFile >> ulDummy; + (void)ulDummy; // shut up about unused variable, compiler. for( INDEX iVtx=0; iVtx>md_FrameVertices16[iVtx]; @@ -2859,22 +2861,26 @@ void CModelObject::AutoSetTextures(void) if( id == CChunkID("WTEX")) { CChunkID idDummy = strmIni.GetID_t(); + (void)idDummy; // shut up about unused variable, compiler. strmIni >> ctDiffuseTextures; strmIni >> fnDiffuse; } else if( id == CChunkID("FXTR")) { CChunkID idDummy = strmIni.GetID_t(); + (void)idDummy; // shut up about unused variable, compiler. strmIni >> fnReflection; } else if( id == CChunkID("FXTS")) { CChunkID idDummy = strmIni.GetID_t(); + (void)idDummy; // shut up about unused variable, compiler. strmIni >> fnSpecular; } else if( id == CChunkID("FXTB")) { CChunkID idDummy = strmIni.GetID_t(); + (void)idDummy; // shut up about unused variable, compiler. strmIni >> fnBump; } else @@ -2914,6 +2920,7 @@ void CModelObject::AutoSetAttachments(void) if( id == CChunkID("ATTM")) { CChunkID idDummy = strmIni.GetID_t(); + (void)idDummy; // shut up about unused variable, compiler. // try to load attached models INDEX ctAttachedModels; strmIni >> ctAttachedModels; diff --git a/Sources/Engine/Models/RenderModel.cpp b/Sources/Engine/Models/RenderModel.cpp index c148968..7b62f37 100644 --- a/Sources/Engine/Models/RenderModel.cpp +++ b/Sources/Engine/Models/RenderModel.cpp @@ -240,7 +240,7 @@ BOOL CModelObject::CreateAttachment( CRenderModel &rmMain, CAttachmentModelObjec _pfModelProfile.StartTimer( CModelProfile::PTI_CREATEATTACHMENT); _pfModelProfile.IncrementTimerAveragingCounter( CModelProfile::PTI_CREATEATTACHMENT); CRenderModel &rmAttached = *amo.amo_prm; - rmAttached.rm_ulFlags = rmMain.rm_ulFlags&(RMF_FOG|RMF_HAZE|RMF_WEAPON) | RMF_ATTACHMENT; + rmAttached.rm_ulFlags = (rmMain.rm_ulFlags & (RMF_FOG|RMF_HAZE|RMF_WEAPON)) | RMF_ATTACHMENT; // get the position rmMain.rm_pmdModelData->md_aampAttachedPosition.Lock(); @@ -493,7 +493,7 @@ void CModelObject::SetupModelRendering( CRenderModel &rm) BOOL bYInverted = rm.rm_vStretch(2) < 0; BOOL bZInverted = rm.rm_vStretch(3) < 0; rm.rm_ulFlags &= ~RMF_INVERTED; - if( bXInverted != bYInverted != bZInverted != _aprProjection->pr_bInverted) rm.rm_ulFlags |= RMF_INVERTED; + if( ((bXInverted != bYInverted) != bZInverted) != _aprProjection->pr_bInverted) rm.rm_ulFlags |= RMF_INVERTED; // prepare projections _pfModelProfile.StartTimer( CModelProfile::PTI_INITPROJECTION); diff --git a/Sources/Engine/Models/RenderModel_Mask.cpp b/Sources/Engine/Models/RenderModel_Mask.cpp index 4ebfff8..5460351 100644 --- a/Sources/Engine/Models/RenderModel_Mask.cpp +++ b/Sources/Engine/Models/RenderModel_Mask.cpp @@ -43,7 +43,7 @@ static FLOAT fZoomI, fZoomJ; static FLOAT fFrontClipDistance, f1oFrontClipDistance; static FLOAT fBackClipDistance, f1oBackClipDistance; static FLOAT fDepthBufferFactor; -static BOOL bBackFaced, bDoubleSided; +//static BOOL bBackFaced, bDoubleSided; static BOOL bPerspective; static BOOL b16BitCompression; static ULONG ulColorMask; diff --git a/Sources/Engine/Models/RenderModel_View.cpp b/Sources/Engine/Models/RenderModel_View.cpp index 73fb5ef..e5cf4ce 100644 --- a/Sources/Engine/Models/RenderModel_View.cpp +++ b/Sources/Engine/Models/RenderModel_View.cpp @@ -475,7 +475,7 @@ static void PrepareModelMipForRendering( CModelData &md, INDEX iMip) // for each surface INDEX iSrfVx = 0; - INDEX iSrfEl = 0; + //INDEX iSrfEl = 0; {FOREACHINSTATICARRAY( mmi.mmpi_MappingSurfaces, MappingSurface, itms) { MappingSurface &ms = *itms; @@ -1953,7 +1953,7 @@ void CModelObject::RenderModel_View( CRenderModel &rm) _pfModelProfile.IncrementTimerAveragingCounter( CModelProfile::PTI_VIEW_INIT_VERTICES, _ctAllSrfVx); // for each surface in current mip model - BOOL bEmpty = TRUE; + //BOOL bEmpty = TRUE; {FOREACHINSTATICARRAY( mmi.mmpi_MappingSurfaces, MappingSurface, itms) { const MappingSurface &ms = *itms; @@ -1961,7 +1961,7 @@ void CModelObject::RenderModel_View( CRenderModel &rm) ctSrfVx = ms.ms_ctSrfVx; // skip to next in case of invisible or empty surface if( (ms.ms_ulRenderingFlags&SRF_INVISIBLE) || ctSrfVx==0) break; - bEmpty = FALSE; + //bEmpty = FALSE; puwSrfToMip = &mmi.mmpi_auwSrfToMip[iSrfVx0]; pvtxSrfBase = &_avtxSrfBase[iSrfVx0]; INDEX iSrfVx; @@ -2286,7 +2286,7 @@ diffColLoop: // for each vertex in the surface for( INDEX iSrfVx=0; iSrfVx &avVertices, FLO _vOffset = vOffset = pmd->md_vCompressedCenter; // check if object is inverted (in mirror) - BOOL bXInverted = vStretch(1)<0; - BOOL bYInverted = vStretch(2)<0; - BOOL bZInverted = vStretch(3)<0; - BOOL bInverted = bXInverted!=bYInverted!=bZInverted; + //BOOL bXInverted = vStretch(1)<0; + //BOOL bYInverted = vStretch(2)<0; + //BOOL bZInverted = vStretch(3)<0; + //BOOL bInverted = bXInverted!=bYInverted!=bZInverted; // if dynamic stretch factor should be applied if( mo_Stretch != FLOAT3D( 1.0f, 1.0f, 1.0f)) { @@ -113,7 +113,7 @@ void CModelObject::GetModelVertices( CStaticStackArray &avVertices, FLO // get current mip model using mip factor INDEX iMipLevel = GetMipModel( fMipFactor); // get current vertices mask - ULONG ulVtxMask = (1L) << iMipLevel; + //ULONG ulVtxMask = (1L) << iMipLevel; struct ModelMipInfo *pmmiMip = &pmd->md_MipInfos[iMipLevel]; // allocate space for vertices @@ -188,7 +188,7 @@ void CModelObject::GetModelVertices( CStaticStackArray &avVertices, FLO CAttachmentModelObject *pamo = itamo; CModelData *pmd=pamo->amo_moModelObject.GetData(); ASSERT(pmd!=NULL); - if(pmd==NULL || pmd->md_Flags&(MF_FACE_FORWARD|MF_HALF_FACE_FORWARD)) continue; + if(pmd==NULL || (pmd->md_Flags & (MF_FACE_FORWARD|MF_HALF_FACE_FORWARD))) continue; FLOATmatrix3D mNew = mRotation; FLOAT3D vNew = vPosition; // get new rotation and position matrices diff --git a/Sources/Engine/Network/ActionBuffer.cpp b/Sources/Engine/Network/ActionBuffer.cpp index df5dc08..457863d 100644 --- a/Sources/Engine/Network/ActionBuffer.cpp +++ b/Sources/Engine/Network/ActionBuffer.cpp @@ -92,7 +92,7 @@ void CActionBuffer::RemoveOldest(void) { // for each buffered action FORDELETELIST(CActionEntry, ae_ln, ab_lhActions, itae) { - CActionEntry &ae = *itae; + //CActionEntry &ae = *itae; // delete only first one delete &*itae; break; diff --git a/Sources/Engine/Network/ClientInterface.cpp b/Sources/Engine/Network/ClientInterface.cpp index 6b9b5d3..f07acfb 100644 --- a/Sources/Engine/Network/ClientInterface.cpp +++ b/Sources/Engine/Network/ClientInterface.cpp @@ -395,14 +395,14 @@ void CClientInterface::ExchangeBuffers(void) // and generate acknowledge messages for incoming reliable packets BOOL CClientInterface::UpdateInputBuffers(void) { - BOOL bSomethingDone; + //BOOL bSomethingDone; ULONG pulGenAck[MAX_ACKS_PER_PACKET]; ULONG ulAckCount=0; CTimerValue tvNow; // if there are packets in the input buffer, process them FORDELETELIST(CPacket,pa_lnListNode,ci_pbInputBuffer.pb_lhPacketStorage,ppaPacket) { - CPacket &paPacket = *ppaPacket; + //CPacket &paPacket = *ppaPacket; // if it's an acknowledge packet, remove the acknowledged packets from the wait acknowledge buffer if (ppaPacket->pa_ubReliable & UDP_PACKET_ACKNOWLEDGE) { @@ -438,7 +438,7 @@ BOOL CClientInterface::UpdateInputBuffers(void) ci_pbInputBuffer.RemovePacket(ppaPacket->pa_ulSequence,FALSE); delete ppaPacket; - bSomethingDone = TRUE; + //bSomethingDone = TRUE; // if the packet is reliable } else if (ppaPacket->pa_ubReliable & UDP_PACKET_RELIABLE) { @@ -547,12 +547,12 @@ BOOL CClientInterface::UpdateInputBuffers(void) // packet separately, instead of grouping them together BOOL CClientInterface::UpdateInputBuffersBroadcast(void) { - BOOL bSomethingDone; + //BOOL bSomethingDone; CTimerValue tvNow; // if there are packets in the input buffer, process them FORDELETELIST(CPacket,pa_lnListNode,ci_pbInputBuffer.pb_lhPacketStorage,ppaPacket) { - CPacket &paPacket = *ppaPacket; + //CPacket &paPacket = *ppaPacket; // if it's an acknowledge packet, remove the acknowledged packets from the wait acknowledge buffer if (ppaPacket->pa_ubReliable & UDP_PACKET_ACKNOWLEDGE) { @@ -585,7 +585,7 @@ BOOL CClientInterface::UpdateInputBuffersBroadcast(void) } ci_pbInputBuffer.RemovePacket(ppaPacket->pa_ulSequence,FALSE); - bSomethingDone = TRUE; + //bSomethingDone = TRUE; delete ppaPacket; // if the packet is reliable } else if (ppaPacket->pa_ubReliable & UDP_PACKET_RELIABLE) { diff --git a/Sources/Engine/Network/CommunicationInterface.cpp b/Sources/Engine/Network/CommunicationInterface.cpp index 6f35a92..a8f7932 100644 --- a/Sources/Engine/Network/CommunicationInterface.cpp +++ b/Sources/Engine/Network/CommunicationInterface.cpp @@ -629,7 +629,7 @@ void CCommunicationInterface::Broadcast_Update_t() { BOOL bIsAlready; BOOL bFoundEmpty; ULONG iClient; - UBYTE ubDummy=65; + //UBYTE ubDummy=65; // while there is a connection request packet in the input buffer @@ -1080,7 +1080,8 @@ void CCommunicationInterface::Client_OpenNet_t(ULONG ulServerAddress) if (cm_ciLocalClient.ci_pbReliableInputBuffer.pb_ulNumOfPackets > 0) { ppaReadPacket = cm_ciLocalClient.ci_pbReliableInputBuffer.GetFirstPacket(); // and it is a connection confirmation - if (ppaReadPacket->pa_ubReliable && UDP_PACKET_CONNECT_RESPONSE) { + // DG: replaced && with & as done everywhere else, hope this doesn't rely on being buggy. + if (ppaReadPacket->pa_ubReliable & UDP_PACKET_CONNECT_RESPONSE) { // the client has succedeed to connect, so read the uwID from the packet cm_ciLocalClient.ci_adrAddress.adr_ulAddress = ulServerAddress; cm_ciLocalClient.ci_adrAddress.adr_uwPort = net_iPort; diff --git a/Sources/Engine/Network/Diff.cpp b/Sources/Engine/Network/Diff.cpp index 0663286..cd1c084 100644 --- a/Sources/Engine/Network/Diff.cpp +++ b/Sources/Engine/Network/Diff.cpp @@ -124,7 +124,7 @@ UBYTE *FindFirstEntity(UBYTE *pubBlock, SLONG slSize) if (*(ULONG*)pub == ENT4) { UBYTE *pubTmp = pub; pubTmp+=sizeof(ULONG); - ULONG ulID = *(ULONG*)pubTmp; + //ULONG ulID = *(ULONG*)pubTmp; pubTmp+=sizeof(ULONG); SLONG slSizeChunk = *(SLONG*)pubTmp; pubTmp+=sizeof(ULONG); @@ -221,17 +221,17 @@ void MakeDiff_t(void) void UnDiff_t(void) { // start at beginning - UBYTE *pubOld = _pubOld; + //UBYTE *pubOld = _pubOld; UBYTE *pubNew = _pubNew; SLONG slSizeOldStream = 0; - SLONG slSizeOutStream = 0; + //SLONG slSizeOutStream = 0; // get header with size of files if (*(SLONG*)pubNew!=DIFF) { ThrowF_t(TRANS("Not a DIFF stream!")); } pubNew+=sizeof(SLONG); slSizeOldStream = *(SLONG*)pubNew; pubNew+=sizeof(SLONG); - slSizeOutStream = *(SLONG*)pubNew; pubNew+=sizeof(SLONG); + /* slSizeOutStream = *(SLONG*)pubNew; */ pubNew+=sizeof(SLONG); ULONG ulCRC = *(ULONG*)pubNew; pubNew+=sizeof(ULONG); CRC_Start(_ulCRC); @@ -314,7 +314,7 @@ void Cleanup(void) void DIFF_Diff_t(CTStream *pstrmOld, CTStream *pstrmNew, CTStream *pstrmDiff) { try { - CTimerValue tv0 = _pTimer->GetHighPrecisionTimer(); + //CTimerValue tv0 = _pTimer->GetHighPrecisionTimer(); _slSizeOld = pstrmOld->GetStreamSize()-pstrmOld->GetPos_t(); _pubOld = (UBYTE*)AllocMemory(_slSizeOld); @@ -332,7 +332,7 @@ void DIFF_Diff_t(CTStream *pstrmOld, CTStream *pstrmNew, CTStream *pstrmDiff) MakeDiff_t(); - CTimerValue tv1 = _pTimer->GetHighPrecisionTimer(); + //CTimerValue tv1 = _pTimer->GetHighPrecisionTimer(); //CPrintF("diff encoded in %.2gs\n", (tv1-tv0).GetSeconds()); Cleanup(); @@ -347,7 +347,7 @@ void DIFF_Diff_t(CTStream *pstrmOld, CTStream *pstrmNew, CTStream *pstrmDiff) void DIFF_Undiff_t(CTStream *pstrmOld, CTStream *pstrmDiff, CTStream *pstrmNew) { try { - CTimerValue tv0 = _pTimer->GetHighPrecisionTimer(); + //CTimerValue tv0 = _pTimer->GetHighPrecisionTimer(); _slSizeOld = pstrmOld->GetStreamSize()-pstrmOld->GetPos_t(); _pubOld = (UBYTE*)AllocMemory(_slSizeOld); @@ -361,7 +361,7 @@ void DIFF_Undiff_t(CTStream *pstrmOld, CTStream *pstrmDiff, CTStream *pstrmNew) UnDiff_t(); - CTimerValue tv1 = _pTimer->GetHighPrecisionTimer(); + //CTimerValue tv1 = _pTimer->GetHighPrecisionTimer(); //CPrintF("diff decoded in %.2gs\n", (tv1-tv0).GetSeconds()); Cleanup(); diff --git a/Sources/Engine/Network/Network.cpp b/Sources/Engine/Network/Network.cpp index 2ec22f0..e6e2b43 100644 --- a/Sources/Engine/Network/Network.cpp +++ b/Sources/Engine/Network/Network.cpp @@ -676,11 +676,11 @@ void CNetworkTimerHandler::HandleTimer(void) */ CNetworkLibrary::CNetworkLibrary(void) : ga_IsServer(FALSE), // is not server + ga_srvServer(*new CServer), + ga_sesSessionState(*new CSessionState), ga_bDemoRec(FALSE), // not recording demo ga_bDemoPlay(FALSE), // not playing demo - ga_bDemoPlayFinished(FALSE), // demo not finished - ga_srvServer(*new CServer), - ga_sesSessionState(*new CSessionState) + ga_bDemoPlayFinished(FALSE) // demo not finished { ga_aplsPlayers.New(NET_MAXLOCALPLAYERS); diff --git a/Sources/Engine/Network/Server.cpp b/Sources/Engine/Network/Server.cpp index 42206c1..084e417 100644 --- a/Sources/Engine/Network/Server.cpp +++ b/Sources/Engine/Network/Server.cpp @@ -459,8 +459,8 @@ void CServer::SendGameStreamBlocks(INDEX iClient) nmGameStreamBlocks.PackDefault(nmPackedBlocksNew); // if some blocks written already and the batch is too large if (iBlocksOk>0) { - if (iStep>0 && nmPackedBlocksNew.nm_slSize>=ctMaxBytes || - iStep<0 && nmPackedBlocksNew.nm_slSize>=ctMinBytes ) { + if ((iStep>0 && nmPackedBlocksNew.nm_slSize>=ctMaxBytes) || + (iStep<0 && nmPackedBlocksNew.nm_slSize>=ctMinBytes) ) { // stop // CPrintF("toomuch "); break; @@ -728,7 +728,7 @@ void CServer::ServerLoop(void) // handle all incoming messages HandleAll(); - INDEX iSpeed = 1; + //INDEX iSpeed = 1; extern INDEX ser_bWaitFirstPlayer; // if the local session is keeping up with time and not paused BOOL bPaused = srv_bPause || _pNetwork->ga_bLocalPause || _pNetwork->IsWaitingForPlayers() || @@ -1094,8 +1094,8 @@ void CServer::SendSessionStateData(INDEX iClient) void CServer::HandleAll() { // clear last accepted client info - INDEX iClient = -1; -/* if (_cmiComm.GetLastAccepted(iClient)) { + /* INDEX iClient = -1; + if (_cmiComm.GetLastAccepted(iClient)) { CPrintF(TRANSV("Server: Accepted session connection by '%s'\n"), (const char *) _cmiComm.Server_GetClientName(iClient)); } diff --git a/Sources/Engine/Network/SessionState.cpp b/Sources/Engine/Network/SessionState.cpp index 4475483..cdc3b9e 100644 --- a/Sources/Engine/Network/SessionState.cpp +++ b/Sources/Engine/Network/SessionState.cpp @@ -695,7 +695,7 @@ void CSessionState::HandleMovers(void) void CSessionState::HandleTimers(TIME tmCurrentTick) { #define TIME_EPSILON 0.0001f - IFDEBUG(TIME tmLast = 0.0f); + //IFDEBUG(TIME tmLast = 0.0f); _pfPhysicsProfile.StartTimer(CPhysicsProfile::PTI_HANDLETIMERS); // repeat @@ -729,7 +729,7 @@ void CSessionState::HandleTimers(TIME tmCurrentTick) // check that timers are propertly handled ASSERT(penTimer->en_timeTimer>tmCurrentTick-_pTimer->TickQuantum-TIME_EPSILON); //ASSERT(penTimer->en_timeTimer>=tmLast); - IFDEBUG(tmLast=penTimer->en_timeTimer); + //IFDEBUG(tmLast=penTimer->en_timeTimer); // remove the timer from the list penTimer->en_timeTimer = THINKTIME_NEVER; diff --git a/Sources/Engine/Rendering/RenCache.cpp b/Sources/Engine/Rendering/RenCache.cpp index 2984034..dfc631d 100644 --- a/Sources/Engine/Rendering/RenCache.cpp +++ b/Sources/Engine/Rendering/RenCache.cpp @@ -118,7 +118,7 @@ void CRenderer::PreClipPlanes(void) const FLOAT fx = wpl.wpl_plRelative(1); const FLOAT fy = wpl.wpl_plRelative(2); const FLOAT fz = wpl.wpl_plRelative(3); - const FLOAT fd = wpl.wpl_plRelative.Distance(); + //const FLOAT fd = wpl.wpl_plRelative.Distance(); wpl.wpl_plView(1) = fx*m(1, 1)+fy*m(1, 2)+fz*m(1, 3); wpl.wpl_plView(2) = fx*m(2, 1)+fy*m(2, 2)+fz*m(2, 3); wpl.wpl_plView(3) = fx*m(3, 1)+fy*m(3, 2)+fz*m(3, 3); @@ -179,8 +179,8 @@ void CRenderer::PreClipPlanes(void) void CRenderer::PostClipVertices(void) { _pfRenderProfile.StartTimer(CRenderProfile::PTI_PROJECTVERTICES); - const FLOATmatrix3D &m = re_pbrCurrent->br_prProjection->pr_RotationMatrix; - const FLOAT3D &v = re_pbrCurrent->br_prProjection->pr_TranslationVector; + //const FLOATmatrix3D &m = re_pbrCurrent->br_prProjection->pr_RotationMatrix; + //const FLOAT3D &v = re_pbrCurrent->br_prProjection->pr_TranslationVector; // if the projection is perspective if (re_pbrCurrent->br_prProjection.IsPerspective()) { @@ -449,8 +449,8 @@ inline void CRenderer::MakeScreenEdge( sed.sed_xI = (FIX16_16) (fI0 + ((FLOAT)sed.sed_pixTopJ-fJ0) * fDIoDJ ); } - ASSERT( sed.sed_xI > FIX16_16(-1.0f) - && sed.sed_xI < FIX16_16(re_fbbClipBox.Max()(1) + SENTINELEDGE_EPSILON) + ASSERT( (sed.sed_xI > FIX16_16(-1.0f) + && sed.sed_xI < FIX16_16(re_fbbClipBox.Max()(1) + SENTINELEDGE_EPSILON)) || (sed.sed_pixTopJ >= sed.sed_pixBottomJ)); // return the screen edge @@ -749,7 +749,7 @@ CScreenPolygon *CRenderer::MakeScreenPolygon(CBrushPolygon &bpo) sppo.spo_aubTextureFlags[0] = STXF_BLEND_ALPHA; } // get its mapping gradients from shadowmap and stretch - CWorkingPlane &wpl = *bpo.bpo_pbplPlane->bpl_pwplWorking; + //CWorkingPlane &wpl = *bpo.bpo_pbplPlane->bpl_pwplWorking; sppo.spo_amvMapping[0] = sppo.spo_amvMapping[3]; FLOAT fStretch = bpo.bpo_boxBoundingBox.Size().Length()/1000; sppo.spo_amvMapping[0].mv_vU *= fStretch; @@ -870,7 +870,7 @@ void CRenderer::AddSpansToScene(void) return; } - FLOAT fpixLastScanJOffseted = re_pixCurrentScanJ-1 +OFFSET_DN; + //FLOAT fpixLastScanJOffseted = re_pixCurrentScanJ-1 +OFFSET_DN; // first, little safety check - quit if zero spans in line! INDEX ctSpans = re_aspSpans.Count(); if( ctSpans==0) { diff --git a/Sources/Engine/Rendering/RendASER.cpp b/Sources/Engine/Rendering/RendASER.cpp index e5d52b0..67fee4f 100644 --- a/Sources/Engine/Rendering/RendASER.cpp +++ b/Sources/Engine/Rendering/RendASER.cpp @@ -763,7 +763,7 @@ CScreenPolygon *CRenderer::ScanOneLine(void) } // remove all left-over polygons from stack do { - BOOL bWasTop = RemPolygonFromSurfaceStack(*pspoTop); + /* BOOL bWasTop = */ RemPolygonFromSurfaceStack(*pspoTop); pspoTop = LIST_HEAD(re_lhSurfaceStack, CScreenPolygon, spo_lnInStack); } while (&re_spoFarSentinel != pspoTop); // mark start of background span at right border @@ -810,7 +810,7 @@ void CRenderer::ScanEdges(void) CopyActiveCoordinates(); // if scan-line is not coherent with the last one - } else/**/ { + } else*/ { // scan list of active edges into spans pspoPortal = ScanOneLine(); diff --git a/Sources/Engine/Rendering/Render.cpp b/Sources/Engine/Rendering/Render.cpp index a29f723..7c23e99 100644 --- a/Sources/Engine/Rendering/Render.cpp +++ b/Sources/Engine/Rendering/Render.cpp @@ -512,20 +512,20 @@ void CRenderer::RenderWireFrameTerrains(void) papr = &re_prProjection; BOOL bShowEdges = _wrpWorldRenderPrefs.wrp_ftEdges != CWorldRenderPrefs::FT_NONE; - BOOL bShowVertices = _wrpWorldRenderPrefs.wrp_ftVertices != CWorldRenderPrefs::FT_NONE; + //BOOL bShowVertices = _wrpWorldRenderPrefs.wrp_ftVertices != CWorldRenderPrefs::FT_NONE; // BOOL bForceRegenerate = _wrpWorldRenderPrefs.wrp_ftPolygons COLOR colEdges = _wrpWorldRenderPrefs.wrp_colEdges; - COLOR colVertices = 0xFF0000FF; + //COLOR colVertices = 0xFF0000FF; // for all active terrains {FORDELETELIST(CTerrain, tr_lnInActiveTerrains, re_lhActiveTerrains, ittr) { // render terrain if(bShowEdges) { ittr->RenderWireFrame(*papr, re_pdpDrawPort,colEdges); } - if(bShowVertices) { + /*if(bShowVertices) { //ittr->RenderVertices(*papr, re_pdpDrawPort,colVertices); - } + }*/ }} } // draw the prepared things to screen @@ -564,7 +564,7 @@ void CRenderer::DrawToScreen(void) &&_wrpWorldRenderPrefs.wrp_ftPolygons != CWorldRenderPrefs::FT_NONE) { // render translucent portals _pfRenderProfile.StartTimer(CRenderProfile::PTI_RENDERSCENE); - CPerspectiveProjection3D *pprPerspective = (CPerspectiveProjection3D*)(CProjection3D*)(re_prBackgroundProjection); + //CPerspectiveProjection3D *pprPerspective = (CPerspectiveProjection3D*)(CProjection3D*)(re_prBackgroundProjection); RenderScene( re_pdpDrawPort, SortTranslucentPolygons(re_pspoFirstBackgroundTranslucent), re_prBackgroundProjection, re_colSelection, TRUE); _pfRenderProfile.StopTimer(CRenderProfile::PTI_RENDERSCENE); @@ -583,7 +583,7 @@ void CRenderer::DrawToScreen(void) // render the spans to screen re_prProjection->Prepare(); _pfRenderProfile.StartTimer(CRenderProfile::PTI_RENDERSCENE); - CPerspectiveProjection3D *pprPerspective = (CPerspectiveProjection3D*)(CProjection3D*)re_prProjection; + //CPerspectiveProjection3D *pprPerspective = (CPerspectiveProjection3D*)(CProjection3D*)re_prProjection; RenderScene( re_pdpDrawPort, re_pspoFirst, re_prProjection, re_colSelection, FALSE); _pfRenderProfile.StopTimer(CRenderProfile::PTI_RENDERSCENE); } @@ -659,7 +659,7 @@ void CRenderer::FillMirrorDepth(CMirror &mi) // for each polygon FOREACHINDYNAMICCONTAINER(mi.mi_cspoPolygons, CScreenPolygon, itspo) { CScreenPolygon &spo = *itspo; - CBrushPolygon &bpo = *spo.spo_pbpoBrushPolygon; + //CBrushPolygon &bpo = *spo.spo_pbpoBrushPolygon; // create a new screen polygon CScreenPolygon &spoNew = re_aspoScreenPolygons.Push(); ScenePolygon &sppoNew = spoNew.spo_spoScenePolygon; @@ -870,9 +870,9 @@ void CRenderer::Render(void) // or not rendering second layer in world editor // and not in wireframe mode if( re_iIndex>0 - || !re_bRenderingShadows - && !re_pdpDrawPort->IsOverlappedRendering() - && _wrpWorldRenderPrefs.wrp_ftPolygons != CWorldRenderPrefs::FT_NONE) { + || (!re_bRenderingShadows + && !re_pdpDrawPort->IsOverlappedRendering() + && _wrpWorldRenderPrefs.wrp_ftPolygons != CWorldRenderPrefs::FT_NONE)) { re_pdpDrawPort->FillZBuffer(ZBUF_BACK); } // draw the prepared things to screen and finish diff --git a/Sources/Engine/Rendering/RenderAdding.cpp b/Sources/Engine/Rendering/RenderAdding.cpp index 50f7827..807f428 100644 --- a/Sources/Engine/Rendering/RenderAdding.cpp +++ b/Sources/Engine/Rendering/RenderAdding.cpp @@ -762,7 +762,7 @@ void CRenderer::AddZoningSectorsAroundBox(const FLOATaabbox3D &boxNear) continue; } // if it is not zoning brush - if (iten->en_RenderType!=CEntity::RT_BRUSH && iten->en_RenderType!=CEntity::RT_FIELDBRUSH + if ((iten->en_RenderType!=CEntity::RT_BRUSH && iten->en_RenderType!=CEntity::RT_FIELDBRUSH) ||!(iten->en_ulFlags&ENF_ZONING)) { // skip it continue; diff --git a/Sources/Engine/Rendering/RenderBrushes.cpp b/Sources/Engine/Rendering/RenderBrushes.cpp index e810f9d..e9b45a9 100644 --- a/Sources/Engine/Rendering/RenderBrushes.cpp +++ b/Sources/Engine/Rendering/RenderBrushes.cpp @@ -20,8 +20,8 @@ void CRenderer::DrawBrushPolygonVerticesAndEdges(CBrushPolygon &bpo) CBrushSector &bsc = *bpo.bpo_pbscSector; CBrushMip *pbm = bsc.bsc_pbmBrushMip; CBrush3D &br = *pbm->bm_pbrBrush; - INDEX iMinVx = bsc.bsc_ivvx0; - INDEX iMaxVx = bsc.bsc_ivvx0+bsc.bsc_awvxVertices.Count(); + //INDEX iMinVx = bsc.bsc_ivvx0; + //INDEX iMaxVx = bsc.bsc_ivvx0+bsc.bsc_awvxVertices.Count(); // set line type and color for edges and vertices ULONG ulEdgesLineType = EdgeLineType(wplPolygonPlane.wpl_bVisible); @@ -154,8 +154,8 @@ void CRenderer::DrawBrushPolygonVerticesAndEdges(CBrushPolygon &bpo) */ void CRenderer::DrawBrushSectorVerticesAndEdges(CBrushSector &bscSector) { - CBrushMip *pbm = bscSector.bsc_pbmBrushMip; - CBrush3D &br = *pbm->bm_pbrBrush; + //CBrushMip *pbm = bscSector.bsc_pbmBrushMip; + //CBrush3D &br = *pbm->bm_pbrBrush; // clear all vertex drawn flags FOREACHINSTATICARRAY(bscSector.bsc_abvxVertices, CBrushVertex, itbvx) { @@ -275,7 +275,7 @@ void CRenderer::PrepareBrush(CEntity *penBrush) // for static brushes CProjection3D &pr = *brBrush.br_prProjection; const FLOATmatrix3D &mRot = penBrush->en_mRotation; - const FLOAT3D &vRot = penBrush->en_plPlacement.pl_PositionVector; + //const FLOAT3D &vRot = penBrush->en_plPlacement.pl_PositionVector; // fixup projection to use placement of this brush pr.pr_mDirectionRotation = pr.pr_ViewerRotationMatrix*mRot; pr.pr_RotationMatrix = pr.pr_mDirectionRotation; diff --git a/Sources/Engine/Ska/Mesh.cpp b/Sources/Engine/Ska/Mesh.cpp index 769b4fe..b5fe256 100644 --- a/Sources/Engine/Ska/Mesh.cpp +++ b/Sources/Engine/Ska/Mesh.cpp @@ -789,7 +789,7 @@ void CMesh::Read_t(CTStream *istrFile) // read float count (*istrFile)>>ctfl; - CShader *pshMeshShader = NULL; + //CShader *pshMeshShader = NULL; ShaderParams *pshpShaderParams = NULL; CShader shDummyShader; // dummy shader if shader is not found ShaderParams shpDummyShaderParams;// dummy shader params if shader is not found @@ -799,12 +799,12 @@ void CMesh::Read_t(CTStream *istrFile) // try to load shader try{ msrf.msrf_pShader = _pShaderStock->Obtain_t(strShaderName); - pshMeshShader = msrf.msrf_pShader; + //pshMeshShader = msrf.msrf_pShader; pshpShaderParams = &msrf.msrf_ShadingParams; } catch(char *strErr) { CPrintF("%s\n",strErr); msrf.msrf_pShader = NULL; - pshMeshShader = &shDummyShader; + //pshMeshShader = &shDummyShader; pshpShaderParams = &shpDummyShaderParams; } diff --git a/Sources/Engine/Ska/RMRender.cpp b/Sources/Engine/Ska/RMRender.cpp index 827648a..576d1b8 100644 --- a/Sources/Engine/Ska/RMRender.cpp +++ b/Sources/Engine/Ska/RMRender.cpp @@ -263,6 +263,7 @@ static void GetHazeMapInVertex( GFXVertex4 &vtx, FLOAT &tx1) tx1 = (fD+_fHazeAdd) * _haze_fMul; } +#if 0 // DG: unused // check model's bounding box against fog static BOOL IsModelInFog( FLOAT3D &vMin, FLOAT3D &vMax) { @@ -294,6 +295,7 @@ static BOOL IsModelInHaze( FLOAT3D &vMin, FLOAT3D &vMax) vtx.x=vMax(1); vtx.y=vMax(2); vtx.z=vMax(3); GetHazeMapInVertex(vtx,fS); if(InHaze(fS)) return TRUE; return FALSE; } +#endif // 0 (unused) BOOL PrepareHaze(void) { @@ -312,7 +314,7 @@ BOOL PrepareHaze(void) // _fFogAddZ = _vViewer % (rm.rm_vObjectPosition - _aprProjection->pr_vViewerPosition); // BUG in compiler !!!! _fFogAddZ = -_mObjToView[11]; // get fog offset - _fFogAddH = _fog_fAddH;/*( + _fFogAddH = _fog_fAddH; // ( _vHDirView(1)*_mObjToView[3] + _vHDirView(2)*_mObjToView[7] + _vHDirView(3)*_mObjToView[11]) + _fog_fp.fp_fH3; @@ -2087,7 +2089,7 @@ static void RenderMesh(RenMesh &rmsh,RenModel &rm) // clamp surface texture count to max number of textrues in mesh INDEX cttx = pShaderParams->sp_aiTextureIDs.Count(); - INDEX cttxMax = rmsh.rmsh_pMeshInst->mi_tiTextures.Count(); + //INDEX cttxMax = rmsh.rmsh_pMeshInst->mi_tiTextures.Count(); // cttx = ClampUp(cttx,cttxMax); _patoTextures.PopAll(); @@ -2250,7 +2252,7 @@ static void PrepareMeshForRendering(RenMesh &rmsh, INDEX iSkeletonlod) } else { // blend absolute (1-f)*cur + f*dst INDEX vtx = rm.rmp_pmmmMorphMap->mmp_aMorphMap[ivx].mwm_iVxIndex; - MeshVertex &mvSrc = mlod.mlod_aVertices[vtx]; + //MeshVertex &mvSrc = mlod.mlod_aVertices[vtx]; MeshVertexMorph &mvmDst = rm.rmp_pmmmMorphMap->mmp_aMorphMap[ivx]; // blend vertices _aMorphedVtxs[vtx].x = (1.0f-rm.rmp_fFactor) * _aMorphedVtxs[vtx].x + rm.rmp_fFactor*mvmDst.mwm_x; diff --git a/Sources/Engine/Sound/SoundLibrary.cpp b/Sources/Engine/Sound/SoundLibrary.cpp index 1965024..f1e4df3 100644 --- a/Sources/Engine/Sound/SoundLibrary.cpp +++ b/Sources/Engine/Sound/SoundLibrary.cpp @@ -103,18 +103,19 @@ static HINSTANCE _hInstDS = NULL; static CTString snd_strDeviceName; #endif -static INDEX _iWriteOffset = 0; -static INDEX _iWriteOffset2 = 0; static BOOL _bMuted = FALSE; static INDEX _iLastEnvType = 1234; static FLOAT _fLastEnvSize = 1234; -static FLOAT _fLastPanning = 1234; +#ifdef PLATFORM_WIN32 +static FLOAT _fLastPanning = 1234; +static INDEX _iWriteOffset = 0; +static INDEX _iWriteOffset2 = 0; // TEMP! - for writing mixer buffer to file static FILE *_filMixerBuffer; static BOOL _bOpened = FALSE; - +#endif #define WAVEOUTBLOCKSIZE 1024 #define MINPAN (1.0f) @@ -1467,10 +1468,10 @@ void CSoundTimerHandler::HandleTimer(void) // copying of mixer buffer to sound buffer(s) +#ifdef PLATFORM_WIN32 static LPVOID _lpData, _lpData2; static DWORD _dwSize, _dwSize2; -#ifdef PLATFORM_WIN32 static void CopyMixerBuffer_dsound( CSoundLibrary &sl, SLONG slMixedSize) { LPVOID lpData; @@ -1660,7 +1661,7 @@ void CSoundLibrary::MixSounds(void) _pfSoundProfile.IncrementCounter(CSoundProfile::PCI_MIXINGS, 1); ResetMixer( sl_pslMixerBuffer, slDataToMix); - BOOL bGamePaused = _pNetwork->IsPaused() || _pNetwork->IsServer() && _pNetwork->GetLocalPause(); + BOOL bGamePaused = _pNetwork->IsPaused() || (_pNetwork->IsServer() && _pNetwork->GetLocalPause()); // for each sound FOREACHINLIST( CSoundData, sd_Node, sl_ClhAwareList, itCsdSoundData) { diff --git a/Sources/Engine/Sound/SoundObject.cpp b/Sources/Engine/Sound/SoundObject.cpp index 8011ae5..cedd31e 100644 --- a/Sources/Engine/Sound/SoundObject.cpp +++ b/Sources/Engine/Sound/SoundObject.cpp @@ -51,6 +51,7 @@ extern BOOL _bPredictionActive; extern FLOAT snd_fSoundVolume; extern FLOAT snd_fMusicVolume; +#if 0 // DG: unused. static CTString GetPred(CEntity*pen) { CTString str1; @@ -67,6 +68,7 @@ static CTString GetPred(CEntity*pen) str.PrintF("%08x-%s", pen, (const char *) str1); return str; } +#endif // 0 (unused) /* ==================================================== * * Class global methods diff --git a/Sources/Engine/Templates/BSP.cpp b/Sources/Engine/Templates/BSP.cpp index 16a2b86..32dce0e 100644 --- a/Sources/Engine/Templates/BSP.cpp +++ b/Sources/Engine/Templates/BSP.cpp @@ -186,6 +186,8 @@ void BSPVertexContainer::Sort(void) template void BSPVertexContainer::ElliminatePairedVertices(void) { + // FIXME: DG: am I missing something or is this function not actually changing anything? + // if there are no vertices, or the container is not line if (bvc_aVertices.Count()==0 || IsPlannar()) { // do not attempt to sort @@ -416,9 +418,9 @@ template BSPNode::BSPNode(const Plane &plSplitPlane, size_t ulPlaneTag, BSPNode &bnFront, BSPNode &bnBack) : Plane(plSplitPlane) + , bn_bnlLocation(BNL_BRANCH) , bn_pbnFront(&bnFront) , bn_pbnBack(&bnBack) - , bn_bnlLocation(BNL_BRANCH) , bn_ulPlaneTag(ulPlaneTag) { } @@ -956,7 +958,6 @@ template BSPNode *BSPTree::CreateSubTree(CDynamicArray > &abpoPolygons) { // local declarations, to fix macro expansion in FOREACHINDYNAMICARRAY - typedef BSPEdge edge_t; typedef BSPPolygon polygon_t; ASSERT(abpoPolygons.Count()>=1); @@ -1042,8 +1043,6 @@ BSPNode *BSPTree::CreateSubTree(CDynamicAr template void BSPTree::Create(CDynamicArray > &abpoPolygons) { - typedef BSPPolygon polygon_t; // local declaration, to fix macro expansion in FOREACHINDYNAMICARRAY - // free eventual existing tree Destroy(); diff --git a/Sources/Engine/Templates/Stock.cpp b/Sources/Engine/Templates/Stock.cpp index 7351b15..395726f 100644 --- a/Sources/Engine/Templates/Stock.cpp +++ b/Sources/Engine/Templates/Stock.cpp @@ -142,7 +142,7 @@ SLONG CStock_TYPE::CalculateUsedMemory(void) void CStock_TYPE::DumpMemoryUsage_t(CTStream &strm) // throw char * { CTString strLine; - SLONG slUsedTotal = 0; + //SLONG slUsedTotal = 0; {FOREACHINDYNAMICCONTAINER(st_ctObjects, TYPE, itt) { SLONG slUsedByObject = itt->GetUsedMemory(); if (slUsedByObject<0) { diff --git a/Sources/Engine/Terrain/Terrain.cpp b/Sources/Engine/Terrain/Terrain.cpp index a406c3c..9af3da6 100644 --- a/Sources/Engine/Terrain/Terrain.cpp +++ b/Sources/Engine/Terrain/Terrain.cpp @@ -202,13 +202,14 @@ void CTerrain::CreateEmptyTerrain_t(PIX pixWidth,PIX pixHeight) void CTerrain::ImportHeightMap_t(CTFileName fnHeightMap, BOOL bUse16b/*=TRUE*/) { _ptrTerrain = this; - BOOL bResizeTerrain = FALSE; + //BOOL bResizeTerrain = FALSE; // Load targa file CImageInfo iiHeightMap; iiHeightMap.LoadAnyGfxFormat_t(fnHeightMap); - // if new width and height are same + // if new width and height are same + /* unused if(tr_pixHeightMapWidth==iiHeightMap.ii_Width && tr_pixHeightMapHeight==iiHeightMap.ii_Height) { // Clear terrain data without removing layers bResizeTerrain = FALSE; @@ -217,6 +218,7 @@ void CTerrain::ImportHeightMap_t(CTFileName fnHeightMap, BOOL bUse16b/*=TRUE*/) bResizeTerrain = TRUE; } bResizeTerrain = TRUE; + */ FLOAT fLogWidht = Log2(iiHeightMap.ii_Width-1); FLOAT fLogHeight = Log2(iiHeightMap.ii_Height-1); @@ -359,15 +361,15 @@ static void CropMap(INDEX iNewWidth, INDEX iNewHeight, INDEX iOldWidth, INDEX iO template static void StretchMap(INDEX iNewWidth, INDEX iNewHeight, INDEX iOldWidth, INDEX iOldHeight, Type *pNewData, Type *pOldData) { - int a=0; + //int a=0; CropMap(iNewWidth,iNewHeight,iOldWidth,iOldHeight,pNewData,pOldData); } template static void ShrinkMap(INDEX iNewWidth, INDEX iNewHeight, INDEX iOldWidth, INDEX iOldHeight, Type *pNewData, Type *pOldData) { - FLOAT fWidth = iNewWidth; - FLOAT fHeight = iNewHeight; + //FLOAT fWidth = iNewWidth; + //FLOAT fHeight = iNewHeight; FLOAT fDiffX = (FLOAT)iNewWidth / iOldWidth; FLOAT fDiffY = (FLOAT)iNewHeight / iOldHeight; @@ -800,7 +802,7 @@ void CTerrain::AddAllTilesToRegenQueue() // for each terrain tile for(INDEX itt=0;ittub.a = 255; } +#if 0 // DG: unused. static INDEX _ctSavedTopMaps=0; static void SaveAsTga(CTextureData *ptdTex) { @@ -879,6 +882,7 @@ static void SaveAsTga(CTextureData *ptdTex) */ } +#endif // 0 static void AddTileLayerToTopMap(CTerrain *ptrTerrain, INDEX iTileIndex, INDEX iLayer) { @@ -1004,7 +1008,7 @@ void CTerrain::UpdateTopMap(INDEX iTileIndex, Rect *prcDest/*=NULL*/) INDEX iFirstInMask = 0; INDEX iMaskWidth = tr_pixHeightMapWidth; INDEX iTiling = 1; - INDEX iSrcMipWidth = 1; + //INDEX iSrcMipWidth = 1; // destionation texture (must have set allocated memory) @@ -1587,7 +1591,7 @@ void CTerrain::BuildQuadTree(void) INDEX ctQuadLevels = tr_aqtlQuadTreeLevels.Count(); // for each quadtree level after first for(INDEX iql=1;iqltr_pixHeightMapWidth*ptrTerrain->tr_pixHeightMapHeight*sizeof(UWORD); // Edge map usage diff --git a/Sources/Engine/Terrain/TerrainArchive.cpp b/Sources/Engine/Terrain/TerrainArchive.cpp index c0e3fa8..ee0a137 100644 --- a/Sources/Engine/Terrain/TerrainArchive.cpp +++ b/Sources/Engine/Terrain/TerrainArchive.cpp @@ -44,7 +44,7 @@ void CTerrainArchive::Read_t( CTStream *istrFile) // throw char * // if there are some terrains if (ctTerrains!=0) { // create that much terrains - CTerrain *atrBrushes = ta_atrTerrains.New(ctTerrains); + /* CTerrain *atrBrushes = */ ta_atrTerrains.New(ctTerrains); // for each of the new terrains for (INDEX iTerrain=0; iTerraintr_penEntity!=NULL); // Get entity that holds this terrain - CEntity *penEntity = ptrTerrain->tr_penEntity; + //CEntity *penEntity = ptrTerrain->tr_penEntity; FLOATaabbox3D bboxExtract; FLOATaabbox3D bboxAllTerrain; @@ -60,7 +60,7 @@ static INDEX GetFirstTileInMidLod(CTerrain *ptrTerrain, Rect &rcExtract) // for each terrain tile for(INDEX itt=0;itttr_ctTiles;itt++) { QuadTreeNode &qtn = ptrTerrain->tr_aqtnQuadTreeNodes[itt]; - CTerrainTile &tt = ptrTerrain->tr_attTiles[itt]; + //CTerrainTile &tt = ptrTerrain->tr_attTiles[itt]; // if it is coliding with given box if(qtn.qtn_aabbox.HasContactWith(bboxExtract)) { // calculate its real distance factor @@ -367,8 +367,8 @@ void SetBufferForEditing(CTerrain *ptrTerrain, UWORD *puwEditedBuffer, Rect &rcE PIX pixTop = rcExtract.rc_iTop; PIX pixBottom = rcExtract.rc_iBottom; - PIX pixWidht = pixRight-pixLeft; - PIX pixHeight = pixBottom-pixTop; + //PIX pixWidht = pixRight-pixLeft; + //PIX pixHeight = pixBottom-pixTop; PIX pixMaxWidth = ptrTerrain->tr_pixHeightMapWidth; PIX pixMaxHeight = ptrTerrain->tr_pixHeightMapHeight; diff --git a/Sources/Engine/Terrain/TerrainMisc.cpp b/Sources/Engine/Terrain/TerrainMisc.cpp index 7544a79..3ff1753 100644 --- a/Sources/Engine/Terrain/TerrainMisc.cpp +++ b/Sources/Engine/Terrain/TerrainMisc.cpp @@ -53,6 +53,7 @@ FLOATaabbox3D _bboxDrawTwo; #define LEFT 1 #define MIDDLE 2 +#if 0 // DG: unused. // Test AABBox agains ray static BOOL HitBoundingBox(FLOAT3D &vOrigin, FLOAT3D &vDir, FLOAT3D &vHit, FLOATaabbox3D &bbox) { @@ -123,7 +124,6 @@ static BOOL HitBoundingBox(FLOAT3D &vOrigin, FLOAT3D &vDir, FLOAT3D &vHit, FLOAT return (TRUE); /* ray hits box */ } - // Test AABBox agains ray static BOOL RayHitsAABBox(FLOAT3D &vOrigin, FLOAT3D &vDir, FLOAT3D &vHit, FLOATaabbox3D &bbox) { @@ -201,11 +201,12 @@ static BOOL RayHitsAABBox(FLOAT3D &vOrigin, FLOAT3D &vDir, FLOAT3D &vHit, FLOATa vHit = FLOAT3D(coord[0],coord[1],coord[2]); return TRUE; } +#endif // 0 (unused) // Get exact hit location in tile FLOAT GetExactHitLocation(INDEX iTileIndex, FLOAT3D &vOrigin, FLOAT3D &vTarget, FLOAT3D &vHitLocation) { - CTerrainTile &tt = _ptrTerrain->tr_attTiles[iTileIndex]; + //CTerrainTile &tt = _ptrTerrain->tr_attTiles[iTileIndex]; QuadTreeNode &qtn = _ptrTerrain->tr_aqtnQuadTreeNodes[iTileIndex]; GFXVertex *pavVertices; @@ -341,7 +342,7 @@ Rect ExtractPolygonsInBox(CTerrain *ptrTerrain, const FLOATaabbox3D &bboxExtract INDEX iFirst = iStartX + iStartY * ptrTerrain->tr_pixHeightMapWidth; INDEX iPitchX = ptrTerrain->tr_pixHeightMapWidth - iWidth; - INDEX iPitchY = ptrTerrain->tr_pixHeightMapHeight - iHeight; + //INDEX iPitchY = ptrTerrain->tr_pixHeightMapHeight - iHeight; // get first pixel in height map UWORD *puwHeight = &ptrTerrain->tr_auwHeightMap[iFirst]; @@ -385,7 +386,7 @@ Rect ExtractPolygonsInBox(CTerrain *ptrTerrain, const FLOATaabbox3D &bboxExtract } INDEX ivx=0; - INDEX ind=0; + //INDEX ind=0; INDEX iFacing=iFirst; GFXVertex *pavExtVtx = &_avExtVertices[0]; @@ -493,7 +494,7 @@ void ExtractVerticesInRect(CTerrain *ptrTerrain, Rect &rc, GFXVertex4 **pavVtx, INDEX *pauiIndices = &_aiExtIndices[0]; INDEX ivx=0; - INDEX ind=0; + //INDEX ind=0; INDEX iFacing=iFirstHeight; // for each row for(iy=0;iyen_pwoWorld; - PIX pixWidth = ptrTerrain->GetShadowMapWidth(); - PIX pixHeight = ptrTerrain->GetShadowMapHeight(); + //PIX pixWidth = ptrTerrain->GetShadowMapWidth(); + //PIX pixHeight = ptrTerrain->GetShadowMapHeight(); CTextureData &tdShadowMap = ptrTerrain->tr_tdShadowMap; ASSERT(tdShadowMap.td_pulFrames!=NULL); diff --git a/Sources/Engine/Terrain/TerrainRender.cpp b/Sources/Engine/Terrain/TerrainRender.cpp index 61396ae..f11eb16 100644 --- a/Sources/Engine/Terrain/TerrainRender.cpp +++ b/Sources/Engine/Terrain/TerrainRender.cpp @@ -269,7 +269,7 @@ void PrepareSmothVertices(INDEX itt) GFXVertex *pvBorderSrc = pavSrc; for(INDEX ivx=tt.tt_ctNonBorderVertices;ivxtr_attTiles[iTerrainTile]; - CTerrainLayer &tl = _ptrTerrain->tr_atlLayers[iTileLayer]; + //CTerrainLayer &tl = _ptrTerrain->tr_atlLayers[iTileLayer]; TileLayer &ttl = tt.GetTileLayers()[iTileLayer]; ASSERT(tt.tt_iLod==0); @@ -1231,7 +1231,7 @@ void RenderTerrain(void) RenderBatchedTiles(); } - CEntity *pen = _ptrTerrain->tr_penEntity; + //CEntity *pen = _ptrTerrain->tr_penEntity; extern void ShowRayPath(CDrawPort *pdp); ShowRayPath(_pdp); diff --git a/Sources/Engine/Terrain/TerrainTile.cpp b/Sources/Engine/Terrain/TerrainTile.cpp index fea5b87..677551b 100644 --- a/Sources/Engine/Terrain/TerrainTile.cpp +++ b/Sources/Engine/Terrain/TerrainTile.cpp @@ -441,8 +441,8 @@ void CTerrainTile::ReGenerate() } } - INDEX ctVtxBefore = GetVertices().Count(); - INDEX ctTrisBefore = GetIndices().Count()/3; + //INDEX ctVtxBefore = GetVertices().Count(); + //INDEX ctTrisBefore = GetIndices().Count()/3; // tt_ctNormalVertices = GetVertexCount(); // Generate borders for tile @@ -535,7 +535,7 @@ INDEX CTerrainTile::CalculateLOD(void) INDEX ini = tt_aiNeighbours[in]; // if neighbour is valid if(ini>=0) { - CTerrainTile &ttNeigbour = _ptrTerrain->tr_attTiles[ini]; + //CTerrainTile &ttNeigbour = _ptrTerrain->tr_attTiles[ini]; // if neighbour is in higher lod if(TRUE) { /*ttNeigbour.tt_iLod > tt.tt_iNewLod*/ // add neighbour to regen queue diff --git a/Sources/Engine/World/World.cpp b/Sources/Engine/World/World.cpp index 6acb704..bff7b76 100644 --- a/Sources/Engine/World/World.cpp +++ b/Sources/Engine/World/World.cpp @@ -51,6 +51,7 @@ extern BOOL _bPortalSectorLinksPreLoaded; extern BOOL _bEntitySectorLinksPreLoaded; extern INDEX _ctPredictorEntities; +#if 0 // DG: unused. // calculate ray placement from origin and target positions (obsolete?) static inline CPlacement3D CalculateRayPlacement( const FLOAT3D &vOrigin, const FLOAT3D &vTarget) @@ -65,6 +66,7 @@ static inline CPlacement3D CalculateRayPlacement( DirectionVectorToAngles(vDirection, plRay.pl_OrientationAngle); return plRay; } +#endif // 0 /* Constructor. */ CTextureTransformation::CTextureTransformation(void) @@ -84,12 +86,12 @@ CTextureBlending::CTextureBlending(void) * Constructor. */ CWorld::CWorld(void) - : wo_colBackground(C_lGRAY) // clear background color - , wo_pecWorldBaseClass(NULL) // worldbase class must be obtained before using the world - , wo_bPortalLinksUpToDate(FALSE) // portal-sector links must be updated + : wo_pecWorldBaseClass(NULL) // worldbase class must be obtained before using the world , wo_baBrushes(*new CBrushArchive) , wo_taTerrains(*new CTerrainArchive) + , wo_colBackground(C_lGRAY) // clear background color , wo_ulSpawnFlags(0) + , wo_bPortalLinksUpToDate(FALSE) // portal-sector links must be updated { wo_baBrushes.ba_pwoWorld = this; wo_taTerrains.ta_pwoWorld = this; @@ -544,7 +546,7 @@ void CWorld::FindShadowLayers( CLightSource *pls = iten->GetLightSource(); if (pls!=NULL) { FLOATaabbox3D boxLight(iten->en_plPlacement.pl_PositionVector, pls->ls_rFallOff); - if ( bDirectional && (pls->ls_ulFlags &LSF_DIRECTIONAL) + if ( (bDirectional && (pls->ls_ulFlags & LSF_DIRECTIONAL)) ||boxLight.HasContactWith(boxNear)) { // find layers for that light source pls->FindShadowLayers(bSelectedOnly); @@ -968,8 +970,8 @@ void CWorld::MarkForPrediction(void) // find whether it is local BOOL bLocal = _pNetwork->IsPlayerLocal(pen); // if allowed for prediction - if ( bLocal && cli_bPredictLocalPlayers - || !bLocal && cli_bPredictRemotePlayers) { + if ( (bLocal && cli_bPredictLocalPlayers) + || (!bLocal && cli_bPredictRemotePlayers)) { // add it pen->AddToPrediction(); } diff --git a/Sources/Engine/World/WorldCSG.cpp b/Sources/Engine/World/WorldCSG.cpp index 6db1a7f..d69e846 100644 --- a/Sources/Engine/World/WorldCSG.cpp +++ b/Sources/Engine/World/WorldCSG.cpp @@ -1004,13 +1004,18 @@ void CWorld::DeleteSectors(CBrushSectorSelection &selbscSectorsToDelete, BOOL bC void CheckOnePolygon(CBrushSector &bsc, CBrushPolygon &bpo) { + // NOTE: This function has no side effects, but I think "Check" means + // "try to access stuff and make sure it doesn't segfault", so keep it + // like it is even if the compiler complains about unused values? CBrushPlane *pbplPlane=bpo.bpo_pbplPlane; + (void)pbplPlane; // shut up, compiler - I know this is unused, but I think it's intended like that. INDEX ctEdges=bpo.bpo_abpePolygonEdges.Count(); INDEX ctVertices=bpo.bpo_apbvxTriangleVertices.Count(); for(INDEX iEdge=0;iEdge>iEntityClass>>plPlacement; // create an entity of that class - CEntity *penNew = CreateEntity_t(plPlacement, cecClasses[iEntityClass]); + /* CEntity *penNew = */ CreateEntity_t(plPlacement, cecClasses[iEntityClass]); }} // for each entity @@ -498,7 +498,7 @@ void CWorld::ReadState_old_t( CTStream *istr) // throw char * // read entity class index and entity placement (*istr)>>iEntityClass>>plPlacement; // create an entity of that class - CEntity *penNew = CreateEntity_t(plPlacement, cecClasses[iEntityClass]); + /* CEntity *penNew = */ CreateEntity_t(plPlacement, cecClasses[iEntityClass]); }} // for each entity diff --git a/Sources/Entities/Common/HUD.cpp b/Sources/Entities/Common/HUD.cpp index 60598a5..a776e57 100644 --- a/Sources/Entities/Common/HUD.cpp +++ b/Sources/Entities/Common/HUD.cpp @@ -234,6 +234,7 @@ static int qsort_CompareDeaths( const void *ppPEN0, const void *ppPEN1) { else return 0; } +#if 0 // DG: unused static int qsort_CompareLatencies( const void *ppPEN0, const void *ppPEN1) { CPlayer &en0 = **(CPlayer**)ppPEN0; CPlayer &en1 = **(CPlayer**)ppPEN1; @@ -243,6 +244,7 @@ static int qsort_CompareLatencies( const void *ppPEN0, const void *ppPEN1) { else if( sl0>sl1) return -1; else return 0; } +#endif // 0 (unused) // prepare color transitions static void PrepareColorTransitions( COLOR colFine, COLOR colHigh, COLOR colMedium, COLOR colLow, @@ -690,7 +692,7 @@ extern void DrawHUD( const CPlayer *penPlayerCurrent, CDrawPort *pdpCurrent, BOO _fCustomScaling = ClampDn( _fCustomScaling*0.8f, 0.5f); const FLOAT fOneUnitS = fOneUnit *0.8f; const FLOAT fAdvUnitS = fAdvUnit *0.8f; - const FLOAT fNextUnitS = fNextUnit *0.8f; + //const FLOAT fNextUnitS = fNextUnit *0.8f; const FLOAT fHalfUnitS = fHalfUnit *0.8f; // prepare postition and ammo quantities @@ -868,7 +870,7 @@ extern void DrawHUD( const CPlayer *penPlayerCurrent, CDrawPort *pdpCurrent, BOO if( iHealth>25) colHealth = _colHUD; if( iArmor >25) colArmor = _colHUD; // eventually print it out - if( hud_iShowPlayers==1 || hud_iShowPlayers==-1 && !bSinglePlay) { + if( hud_iShowPlayers==1 || (hud_iShowPlayers==-1 && !bSinglePlay)) { // printout location and info aren't the same for deathmatch and coop play const FLOAT fCharWidth = (PIX)((_pfdDisplayFont->GetWidth()-2) *fTextScale); if( bCooperative) { diff --git a/Sources/Entities/Common/Particles.cpp b/Sources/Entities/Common/Particles.cpp index 204948b..a7a956c 100644 --- a/Sources/Entities/Common/Particles.cpp +++ b/Sources/Entities/Common/Particles.cpp @@ -276,7 +276,7 @@ void Particles_RomboidTrail(CEntity *pen) for(INDEX iPos = 0; iPoslp_ctUsed; iPos++) { FLOAT3D vPos = plp->GetPosition(iPos); - FLOAT fRand = rand()/FLOAT(RAND_MAX); + //FLOAT fRand = rand()/FLOAT(RAND_MAX); FLOAT fAngle = fSeconds*256+iPos*2.0f*PI/ROMBOID_TRAIL_POSITIONS; FLOAT fSin = FLOAT(sin(fAngle)); vPos(2) += fSin*iPos/ROMBOID_TRAIL_POSITIONS; @@ -437,7 +437,7 @@ void Particles_WhiteLineTrail(CEntity *pen) vPos(1) += fSin*iPos*1.0f/WHITE_LINE_TRAIL_POSITIONS; vPos(2) += fCos*iPos*1.0f/WHITE_LINE_TRAIL_POSITIONS; - UBYTE ub = 255-iPos*256/WHITE_LINE_TRAIL_POSITIONS; + //UBYTE ub = 255-iPos*256/WHITE_LINE_TRAIL_POSITIONS; FLOAT fLerpFactor = FLOAT(iPos)/WHITE_LINE_TRAIL_POSITIONS; COLOR colColor = LerpColor( C_YELLOW, C_dRED, fLerpFactor); Particle_RenderLine( vPos, vOldPos, 0.05f, colColor); @@ -533,7 +533,7 @@ void Particles_CannonBall_Prepare(CEntity *pen) void Particles_CannonBall(CEntity *pen, FLOAT fSpeedRatio) { CLastPositions *plp = pen->GetLastPositions(CANNON_TRAIL_POSITIONS); - FLOAT fSeconds = _pTimer->GetLerpedCurrentTick(); + // FLOAT fSeconds = _pTimer->GetLerpedCurrentTick(); Particle_PrepareTexture(&_toCannonBall, PBT_BLEND); Particle_SetTexturePart( 512, 512, 0, 0); @@ -718,9 +718,9 @@ void Particles_BeastProjectileTrail( CEntity *pen, FLOAT fSize, FLOAT fHeight, I fT *= 1/BEAST_PROJECTILE_TOTAL_TIME; // get fraction part fT = fT-int(fT); - FLOAT fFade; - if (fT>(1.0f-BEAST_PROJECTILE_FADE_OUT)) fFade=(1-fT)*(1/BEAST_PROJECTILE_FADE_OUT); - else fFade=1.0f; + //FLOAT fFade; + //if (fT>(1.0f-BEAST_PROJECTILE_FADE_OUT)) fFade=(1-fT)*(1/BEAST_PROJECTILE_FADE_OUT); + //else fFade=1.0f; #define GET_POS( time) vCenter + \ vX*(afStarsPositions[iStar][0]*time*fSize*1.5) +\ @@ -816,7 +816,7 @@ void Particles_RocketTrail_Prepare(CEntity *pen) void Particles_RocketTrail(CEntity *pen, FLOAT fStretch) { CLastPositions *plp = pen->GetLastPositions(ROCKET_TRAIL_POSITIONS); - FLOAT fSeconds = _pTimer->GetLerpedCurrentTick(); + //FLOAT fSeconds = _pTimer->GetLerpedCurrentTick(); Particle_PrepareTexture(&_toRocketTrail, PBT_ADD); Particle_SetTexturePart( 512, 512, 0, 0); @@ -835,7 +835,7 @@ void Particles_RocketTrail(CEntity *pen, FLOAT fStretch) } for (INDEX iInter=0; iInterGetPosition(iPos); - FLOAT fRand = rand()/FLOAT(RAND_MAX); + //FLOAT fRand = rand()/FLOAT(RAND_MAX); FLOAT fAngle = iPos*2.0f*PI/BLOOD01_TRAIL_POSITIONS; - FLOAT fSin = FLOAT(sin(fAngle)); + //FLOAT fSin = FLOAT(sin(fAngle)); FLOAT fT = iPos*_pTimer->TickQuantum; vPos += vGDir*fGA*fT*fT/8.0f; FLOAT fSize = 0.2f-iPos*0.15f/BLOOD01_TRAIL_POSITIONS; @@ -1709,7 +1709,7 @@ void Particles_Rain(CEntity *pen, FLOAT fGridSize, INDEX ctGrids, FLOAT fFactor, pixRainMapH = ptdRainMap->GetPixHeight(); } - INDEX ctDiscarded=0; + //INDEX ctDiscarded=0; for( INDEX iZ=0; iZAPPEAR_OUT_END)) { return; } - FLOAT fPowerTime = pow(fTime-SPIRIT_SPIRAL_START, 2.5f); + //FLOAT fPowerTime = pow(fTime-SPIRIT_SPIRAL_START, 2.5f); // fill array with absolute vertices of entity's model and its attached models pen->GetModelVerticesAbsolute(avVertices, 0.05f, fMipFactor); @@ -2505,7 +2505,7 @@ void Particles_Appearing(CEntity *pen, TIME tmStart) FLOAT3D vX( m(1,1), m(2,1), m(3,1)); FLOAT3D vY( m(1,2), m(2,2), m(3,2)); FLOAT3D vZ( m(1,3), m(2,3), m(3,3)); - FLOAT3D vCenter = pen->GetLerpedPlacement().pl_PositionVector; + //FLOAT3D vCenter = pen->GetLerpedPlacement().pl_PositionVector; SetupParticleTexture( PT_STAR07); @@ -2524,12 +2524,12 @@ void Particles_Appearing(CEntity *pen, TIME tmStart) COLOR col = RGBToColor(ubColor,ubColor,ubColor)|CT_OPAQUE; INDEX ctVtx = avVertices.Count(); - FLOAT fSpeedFactor = 1.0f/ctVtx; + //FLOAT fSpeedFactor = 1.0f/ctVtx; // get corp size FLOATaabbox3D box; pen->en_pmoModelObject->GetCurrentFrameBBox(box); - FLOAT fHeightStretch = box.Size()(2); + //FLOAT fHeightStretch = box.Size()(2); FLOAT fStep = ClampDn( fMipFactor, 1.0f); for( FLOAT fVtx=0.0f; fVtxCurrentTick()-m_tmStarted<1.0f) - ||(dmtType==DMT_CANNONBALL_EXPLOSION) && (_pTimer->CurrentTick()-m_tmStarted<5.0f)) { + ||((dmtType==DMT_CANNONBALL_EXPLOSION) && (_pTimer->CurrentTick()-m_tmStarted<5.0f))) { return; } CMovableModelEntity::ReceiveDamage(penInflictor, dmtType, fDamageAmmount, vHitPoint, vDirection); diff --git a/Sources/Entities/Dragonman.es b/Sources/Entities/Dragonman.es index 59d2301..a20680b 100644 --- a/Sources/Entities/Dragonman.es +++ b/Sources/Entities/Dragonman.es @@ -444,8 +444,8 @@ procedures: Hit(EVoid) : CEnemyBase::Hit { // burn enemy - if (m_EdtType == DT_SERGEANT && CalcDist(m_penEnemy) <= 6.0f || - m_EdtType == DT_MONSTER && CalcDist(m_penEnemy) <= 20.0f) { + if ((m_EdtType == DT_SERGEANT && CalcDist(m_penEnemy) <= 6.0f) || + (m_EdtType == DT_MONSTER && CalcDist(m_penEnemy) <= 20.0f)) { jump BurnEnemy(); } diff --git a/Sources/Entities/Effector.es b/Sources/Entities/Effector.es index 09bcd59..027d1d3 100644 --- a/Sources/Entities/Effector.es +++ b/Sources/Entities/Effector.es @@ -110,7 +110,7 @@ functions: void AdjustMipFactor(FLOAT &fMipFactor) { - if (m_eetType==ET_DISAPPEAR_MODEL || m_eetType==ET_DISAPPEAR_MODEL_NOW && m_penModel!=NULL) + if (m_eetType==ET_DISAPPEAR_MODEL || (m_eetType==ET_DISAPPEAR_MODEL_NOW && m_penModel!=NULL)) { CModelObject *pmo = m_penModel->GetModelObject(); TIME tmDelta = _pTimer->GetLerpedCurrentTick()-m_tmStarted; @@ -131,7 +131,7 @@ functions: COLOR col = C_WHITE|ubAlpha; pmo->mo_colBlendColor = col; } - if (m_eetType==ET_APPEAR_MODEL || m_eetType==ET_APPEAR_MODEL_NOW && m_penModel!=NULL) + if (m_eetType==ET_APPEAR_MODEL || (m_eetType==ET_APPEAR_MODEL_NOW && m_penModel!=NULL)) { CModelObject *pmo = m_penModel->GetModelObject(); TIME tmDelta = _pTimer->GetLerpedCurrentTick()-m_tmStarted; @@ -434,7 +434,7 @@ procedures: // setup light source if (m_bLightSource) { SetupLightSource(); } - while(_pTimer->CurrentTick()CurrentTick()GetPlacement().pl_PositionVector; - FLOAT3D vDirection = (vTarget-vSource).Normalize(); + //FLOAT3D vDirection = (vTarget-vSource).Normalize(); Particles_Ghostbuster(vSource, vTarget, 32, 1.0f); // random lightnings arround @@ -268,7 +268,7 @@ procedures: // declare yourself as a model InitAsModel(); // fish must not go upstairs, or it will get out of water - SetPhysicsFlags((EPF_MODEL_WALKING|EPF_HASGILLS)&~EPF_ONBLOCK_CLIMBORSLIDE|EPF_ONBLOCK_SLIDE); + SetPhysicsFlags(((EPF_MODEL_WALKING|EPF_HASGILLS)&~EPF_ONBLOCK_CLIMBORSLIDE)|EPF_ONBLOCK_SLIDE); SetCollisionFlags(ECF_MODEL); SetFlags(GetFlags()|ENF_ALIVE); SetHealth(30.0f); diff --git a/Sources/Entities/Item.es b/Sources/Entities/Item.es index fe88424..f0bc149 100644 --- a/Sources/Entities/Item.es +++ b/Sources/Entities/Item.es @@ -56,7 +56,7 @@ functions: return; } - BOOL bFlare = TRUE; + //BOOL bFlare = TRUE; // if current player has already picked this item if (_ulPlayerRenderingMask&m_ulPickedMask) { // if picked items are not rendered @@ -67,10 +67,10 @@ functions: } // if picked item particles are not rendered extern INDEX plr_bRenderPickedParticles; - if (!plr_bRenderPickedParticles) { + /*if (!plr_bRenderPickedParticles) { // kill flare - bFlare = FALSE; - } + bFlare = FALSE; // DG: bFlare is not otherwise used! + }*/ } // implement flare on/off ? diff --git a/Sources/Entities/ModelHolder2.es b/Sources/Entities/ModelHolder2.es index f07188a..f54bdfe 100644 --- a/Sources/Entities/ModelHolder2.es +++ b/Sources/Entities/ModelHolder2.es @@ -173,7 +173,7 @@ functions: } else { vDirectionFixed = FLOAT3D(0,1,0); } - FLOAT3D vDamageOld = m_vDamage; + //FLOAT3D vDamageOld = m_vDamage; m_vDamage += vDirectionFixed*fKickDamage; // NOTE: we don't receive damage here, but handle death differently diff --git a/Sources/Entities/Player.es b/Sources/Entities/Player.es index d02be99..b1f58ac 100644 --- a/Sources/Entities/Player.es +++ b/Sources/Entities/Player.es @@ -462,10 +462,10 @@ DECL_DLL void ctl_ComposeActionPacket(const CPlayerCharacter &pc, CPlayerAction } // add button movement/rotation/look actions to the axis actions - if(pctlCurrent.bMoveForward || pctlCurrent.bStrafeFB&&pctlCurrent.bTurnUp ) paAction.pa_vTranslation(3) -= plr_fSpeedForward; - if(pctlCurrent.bMoveBackward || pctlCurrent.bStrafeFB&&pctlCurrent.bTurnDown) paAction.pa_vTranslation(3) += plr_fSpeedBackward; - if(pctlCurrent.bMoveLeft || pctlCurrent.bStrafe&&pctlCurrent.bTurnLeft) paAction.pa_vTranslation(1) -= plr_fSpeedSide; - if(pctlCurrent.bMoveRight || pctlCurrent.bStrafe&&pctlCurrent.bTurnRight) paAction.pa_vTranslation(1) += plr_fSpeedSide; + if(pctlCurrent.bMoveForward || (pctlCurrent.bStrafeFB&&pctlCurrent.bTurnUp) ) paAction.pa_vTranslation(3) -= plr_fSpeedForward; + if(pctlCurrent.bMoveBackward || (pctlCurrent.bStrafeFB&&pctlCurrent.bTurnDown)) paAction.pa_vTranslation(3) += plr_fSpeedBackward; + if(pctlCurrent.bMoveLeft || (pctlCurrent.bStrafe&&pctlCurrent.bTurnLeft) ) paAction.pa_vTranslation(1) -= plr_fSpeedSide; + if(pctlCurrent.bMoveRight || (pctlCurrent.bStrafe&&pctlCurrent.bTurnRight)) paAction.pa_vTranslation(1) += plr_fSpeedSide; if(pctlCurrent.bMoveUp ) paAction.pa_vTranslation(2) += plr_fSpeedUp; if(pctlCurrent.bMoveDown ) paAction.pa_vTranslation(2) -= plr_fSpeedUp; @@ -3702,7 +3702,7 @@ functions: } // if just started swimming - if (m_pstState == PST_SWIM && _pTimer->CurrentTick()CurrentTick()CurrentTick()IsPredicted()||IsPredictor()&&m_penView->IsPredictor()||!IsPredicted()&&!m_penView->IsPredicted()&&!IsPredictor()&&!m_penView->IsPredictor()); + ASSERT((IsPredicted()&&m_penView->IsPredicted()) || (IsPredictor()&&m_penView->IsPredictor()) + || (!IsPredicted()&&!m_penView->IsPredicted()&&!IsPredictor()&&!m_penView->IsPredictor())); en_plViewpoint.pl_PositionVector = FLOAT3D(0, 1, 0); en_plViewpoint.pl_OrientationAngle += (ANGLE3D( (ANGLE)((FLOAT)paAction.pa_aRotation(1)*_pTimer->TickQuantum), diff --git a/Sources/Entities/PlayerAnimator.es b/Sources/Entities/PlayerAnimator.es index 1ec5529..919dfd0 100644 --- a/Sources/Entities/PlayerAnimator.es +++ b/Sources/Entities/PlayerAnimator.es @@ -981,7 +981,7 @@ functions: FLOAT3D vDesiredTranslation = pl.en_vDesiredTranslationRelative; FLOAT3D vCurrentTranslation = pl.en_vCurrentTranslationAbsolute * !pl.en_mRotation; ANGLE3D aDesiredRotation = pl.en_aDesiredRotationRelative; - ANGLE3D aCurrentRotation = pl.en_aCurrentRotationAbsolute; + //ANGLE3D aCurrentRotation = pl.en_aCurrentRotationAbsolute; // if player is moving if (vDesiredTranslation.ManhattanNorm()>0.01f diff --git a/Sources/Entities/PlayerWeapons.es b/Sources/Entities/PlayerWeapons.es index debfb7f..92266b9 100644 --- a/Sources/Entities/PlayerWeapons.es +++ b/Sources/Entities/PlayerWeapons.es @@ -908,7 +908,7 @@ functions: } } // apply cannon draw - else if( (m_iCurrentWeapon == WEAPON_IRONCANNON) /*|| + else if( m_iCurrentWeapon == WEAPON_IRONCANNON /*|| (m_iCurrentWeapon == WEAPON_NUKECANNON) */) { FLOAT fLerpedMovement = Lerp(m_fWeaponDrawPowerOld, m_fWeaponDrawPower, _pTimer->GetLerpFactor()); @@ -3385,7 +3385,7 @@ procedures: GetAnimator()->FireAnimation(BODY_ANIM_SHOTGUN_FIRESHORT, AOF_LOOPING); } else if (m_iCurrentWeapon==WEAPON_TOMMYGUN) { autocall TommyGunStart() EEnd; - } else if ((m_iCurrentWeapon==WEAPON_IRONCANNON) /*|| (m_iCurrentWeapon==WEAPON_NUKECANNON)*/) { + } else if (m_iCurrentWeapon==WEAPON_IRONCANNON /*|| (m_iCurrentWeapon==WEAPON_NUKECANNON)*/) { jump CannonFireStart(); } diff --git a/Sources/Entities/Projectile.es b/Sources/Entities/Projectile.es index 84de6f9..6ae1582 100644 --- a/Sources/Entities/Projectile.es +++ b/Sources/Entities/Projectile.es @@ -2281,7 +2281,7 @@ procedures: ANGLE aHeading = GetRotationSpeed( aWantedHeading, m_aRotateSpeed, fWaitFrequency); // factor used to decrease speed of projectiles oriented opposite of its target - FLOAT fSpeedDecreasingFactor = ((180-abs(aWantedHeading))/180.0f); + FLOAT fSpeedDecreasingFactor = ((180-fabsf(aWantedHeading))/180.0f); // factor used to increase speed when far away from target FLOAT fSpeedIncreasingFactor = (vDesiredPosition-GetPlacement().pl_PositionVector).Length()/100; fSpeedIncreasingFactor = ClampDn(fSpeedIncreasingFactor, 1.0f); @@ -2302,7 +2302,7 @@ procedures: FLOAT fRNDPitch = (FRnd()-0.5f)*90*fDistanceFactor; // if we are looking near direction of target - if( abs( aWantedHeading) < 30.0f) + if( fabsf( aWantedHeading) < 30.0f) { // calculate pitch speed ANGLE aWantedPitch = GetRelativePitch( vDesiredDirection); diff --git a/Sources/Entities/PyramidSpaceShip.es b/Sources/Entities/PyramidSpaceShip.es index 2573221..702b322 100644 --- a/Sources/Entities/PyramidSpaceShip.es +++ b/Sources/Entities/PyramidSpaceShip.es @@ -461,7 +461,7 @@ functions: void SpawnBeamMachineMainFlare(void) { // spawn main flare - CPlacement3D plSpaceShip = GetPlacement(); + //CPlacement3D plSpaceShip = GetPlacement(); CPlacement3D plFlare = CPlacement3D( FLOAT3D(0, BM_MASTER_Y+BM_FLARE_DY, 0), ANGLE3D(0,0,0)); plFlare.RelativeToAbsolute(GetPlacement()); CEntity *penFlare = CreateEntity( plFlare, CLASS_EFFECTOR); diff --git a/Sources/EntitiesMP/AirElemental.es b/Sources/EntitiesMP/AirElemental.es index d3c66e2..7817f02 100755 --- a/Sources/EntitiesMP/AirElemental.es +++ b/Sources/EntitiesMP/AirElemental.es @@ -273,7 +273,7 @@ functions: // triggers if (fHealth<=fOldHealth && fHealth>fNewHealth) { - if (&*penTrigger[i]) { + if (penTrigger[i].ep_pen != NULL) { SendToTarget(&*penTrigger[i], EET_TRIGGER, FixupCausedToPlayer(this, m_penEnemy)); } } diff --git a/Sources/EntitiesMP/Common/EmanatingParticles.cpp b/Sources/EntitiesMP/Common/EmanatingParticles.cpp index 8ff696c..9bc19ea 100644 --- a/Sources/EntitiesMP/Common/EmanatingParticles.cpp +++ b/Sources/EntitiesMP/Common/EmanatingParticles.cpp @@ -137,7 +137,7 @@ void CEmiter::AnimateParticles(void) ep.ep_fLastRot=ep.ep_fRot; ep.ep_fRot+=ep.ep_fRotSpeed*_pTimer->TickQuantum; // animate color - FLOAT fRatio=CalculateRatio(tmNow, ep.ep_tmEmitted, ep.ep_tmEmitted+ep.ep_tmLife, 1, 0); + //FLOAT fRatio=CalculateRatio(tmNow, ep.ep_tmEmitted, ep.ep_tmEmitted+ep.ep_tmLife, 1, 0); ep.ep_colLastColor=ep.ep_colColor; iCurrent++; } diff --git a/Sources/EntitiesMP/Common/HUD.cpp b/Sources/EntitiesMP/Common/HUD.cpp index e864c51..e4360d6 100644 --- a/Sources/EntitiesMP/Common/HUD.cpp +++ b/Sources/EntitiesMP/Common/HUD.cpp @@ -271,6 +271,7 @@ static int qsort_CompareFrags( const void *ppPEN0, const void *ppPEN1) { else return -qsort_CompareDeaths(ppPEN0, ppPEN1); } +#if 0 // DG: unused. static int qsort_CompareLatencies( const void *ppPEN0, const void *ppPEN1) { CPlayer &en0 = **(CPlayer**)ppPEN0; CPlayer &en1 = **(CPlayer**)ppPEN1; @@ -280,6 +281,7 @@ static int qsort_CompareLatencies( const void *ppPEN0, const void *ppPEN1) { else if( sl0>sl1) return -1; else return 0; } +#endif // 0 (unused) // prepare color transitions static void PrepareColorTransitions( COLOR colFine, COLOR colHigh, COLOR colMedium, COLOR colLow, @@ -560,7 +562,8 @@ static void DrawAspectCorrectTextureCentered( class CTextureObject *_pTO, FLOAT CTextureData *ptd = (CTextureData*)_pTO->GetData(); FLOAT fTexSizeI = ptd->GetPixWidth(); FLOAT fTexSizeJ = ptd->GetPixHeight(); - FLOAT fHeight = fWidth*fTexSizeJ/fTexSizeJ; + FLOAT fHeight = fWidth*fTexSizeJ/fTexSizeJ; // FIXME: not fTexSizeJ/fTexSizeI ?? + STUBBED("fWidth*fTexSizeJ/fTexSizeJ is most likely not intended!"); _pDP->InitTexture( _pTO); _pDP->AddTexture( fX-fWidth*0.5f, fY-fHeight*0.5f, fX+fWidth*0.5f, fY+fHeight*0.5f, 0, 0, 1, 1, col); @@ -580,8 +583,8 @@ static void HUD_DrawSniperMask( void ) COLOR colMask = C_WHITE|CT_OPAQUE; CTextureData *ptd = (CTextureData*)_toSniperMask.GetData(); - const FLOAT fTexSizeI = ptd->GetPixWidth(); - const FLOAT fTexSizeJ = ptd->GetPixHeight(); + //const FLOAT fTexSizeI = ptd->GetPixWidth(); + //const FLOAT fTexSizeJ = ptd->GetPixHeight(); // main sniper mask _pDP->InitTexture( &_toSniperMask); @@ -925,7 +928,7 @@ extern void DrawHUD( const CPlayer *penPlayerCurrent, CDrawPort *pdpCurrent, BOO _fCustomScaling = ClampDn( _fCustomScaling*0.8f, 0.5f); const FLOAT fOneUnitS = fOneUnit *0.8f; const FLOAT fAdvUnitS = fAdvUnit *0.8f; - const FLOAT fNextUnitS = fNextUnit *0.8f; + //const FLOAT fNextUnitS = fNextUnit *0.8f; const FLOAT fHalfUnitS = fHalfUnit *0.8f; // prepare postition and ammo quantities @@ -1178,7 +1181,7 @@ extern void DrawHUD( const CPlayer *penPlayerCurrent, CDrawPort *pdpCurrent, BOO if( iHealth>25) colHealth = _colHUD; if( iArmor >25) colArmor = _colHUD; // eventually print it out - if( hud_iShowPlayers==1 || hud_iShowPlayers==-1 && !bSinglePlay) { + if( hud_iShowPlayers==1 || (hud_iShowPlayers==-1 && !bSinglePlay)) { // printout location and info aren't the same for deathmatch and coop play const FLOAT fCharWidth = (PIX)((_pfdDisplayFont->GetWidth()-2) *fTextScale); if( bCooperative) { diff --git a/Sources/EntitiesMP/Common/Particles.cpp b/Sources/EntitiesMP/Common/Particles.cpp index 605db3c..c369d05 100755 --- a/Sources/EntitiesMP/Common/Particles.cpp +++ b/Sources/EntitiesMP/Common/Particles.cpp @@ -593,7 +593,7 @@ void Particles_RomboidTrail(CEntity *pen) for(INDEX iPos = 0; iPoslp_ctUsed; iPos++) { FLOAT3D vPos = plp->GetPosition(iPos); - FLOAT fRand = rand()/FLOAT(RAND_MAX); + //FLOAT fRand = rand()/FLOAT(RAND_MAX); FLOAT fAngle = fSeconds*256+iPos*2.0f*PI/ROMBOID_TRAIL_POSITIONS; FLOAT fSin = FLOAT(sin(fAngle)); vPos(2) += fSin*iPos/ROMBOID_TRAIL_POSITIONS; @@ -754,7 +754,7 @@ void Particles_WhiteLineTrail(CEntity *pen) vPos(1) += fSin*iPos*1.0f/WHITE_LINE_TRAIL_POSITIONS; vPos(2) += fCos*iPos*1.0f/WHITE_LINE_TRAIL_POSITIONS; - UBYTE ub = 255-iPos*256/WHITE_LINE_TRAIL_POSITIONS; + //UBYTE ub = 255-iPos*256/WHITE_LINE_TRAIL_POSITIONS; FLOAT fLerpFactor = FLOAT(iPos)/WHITE_LINE_TRAIL_POSITIONS; COLOR colColor = LerpColor( C_YELLOW, C_dRED, fLerpFactor); Particle_RenderLine( vPos, vOldPos, 0.05f, colColor); @@ -850,7 +850,7 @@ void Particles_CannonBall_Prepare(CEntity *pen) void Particles_CannonBall(CEntity *pen, FLOAT fSpeedRatio) { CLastPositions *plp = pen->GetLastPositions(CANNON_TRAIL_POSITIONS); - FLOAT fSeconds = _pTimer->GetLerpedCurrentTick(); + //FLOAT fSeconds = _pTimer->GetLerpedCurrentTick(); Particle_PrepareTexture(&_toCannonBall, PBT_BLEND); Particle_SetTexturePart( 512, 512, 0, 0); @@ -1035,9 +1035,9 @@ void Particles_BeastProjectileTrail( CEntity *pen, FLOAT fSize, FLOAT fHeight, I fT *= 1/BEAST_PROJECTILE_TOTAL_TIME; // get fraction part fT = fT-int(fT); - FLOAT fFade; - if (fT>(1.0f-BEAST_PROJECTILE_FADE_OUT)) fFade=(1-fT)*(1/BEAST_PROJECTILE_FADE_OUT); - else fFade=1.0f; + //FLOAT fFade; + //if (fT>(1.0f-BEAST_PROJECTILE_FADE_OUT)) fFade=(1-fT)*(1/BEAST_PROJECTILE_FADE_OUT); + //else fFade=1.0f; #define GET_POS( time) vCenter + \ vX*(afStarsPositions[iStar][0]*time*fSize*1.5) +\ @@ -1133,7 +1133,7 @@ void Particles_RocketTrail_Prepare(CEntity *pen) void Particles_RocketTrail(CEntity *pen, FLOAT fStretch) { CLastPositions *plp = pen->GetLastPositions(ROCKET_TRAIL_POSITIONS); - FLOAT fSeconds = _pTimer->GetLerpedCurrentTick(); + //FLOAT fSeconds = _pTimer->GetLerpedCurrentTick(); Particle_PrepareTexture(&_toRocketTrail, PBT_ADD); Particle_SetTexturePart( 512, 512, 0, 0); @@ -1153,7 +1153,7 @@ void Particles_RocketTrail(CEntity *pen, FLOAT fStretch) } for (INDEX iInter=0; iInterGetLerpedCurrentTick(); const FLOATmatrix3D &m = pen->GetRotationMatrix(); FLOAT3D vY( m(1,2), m(2,2), m(3,2)); @@ -1355,7 +1355,7 @@ void Particles_ExplosionSmoke(CEntity *pen, FLOAT tmStart, FLOAT3D vStretch, COL FLOAT fTRnd=afStarsPositions[iRnd][0]; FLOAT tmBorn=tmStart+i*TM_ES_SMOKE_DELTA+(TM_ES_SMOKE_DELTA*fTRnd)/2.0f; FLOAT fT=fNow-tmBorn; - FLOAT fRatio=Clamp(fT/TM_ES_TOTAL_LIFE, 0.0f, 1.0f); + //FLOAT fRatio=Clamp(fT/TM_ES_TOTAL_LIFE, 0.0f, 1.0f); if( fT>0) { FLOAT3D vSpeed=FLOAT3D(afStarsPositions[iRnd][0]*0.15f, @@ -1455,7 +1455,7 @@ void DECL_DLL Particles_Waterfall(CEntity *pen, INDEX ctCount, FLOAT fStretchAll fT *= 1/fParam1; // get fraction part fT = fT-int(fT); - FLOAT fSlowFactor=1.0f-fT*0.25f; + //FLOAT fSlowFactor=1.0f-fT*0.25f; FLOAT3D vSpeed= vX*(afStarsPositions[iRnd][0]*0.25f)+ vY*(afStarsPositions[iRnd][0]*0.25f)+ @@ -1497,9 +1497,9 @@ void Particles_BloodTrail(CEntity *pen) { Particle_SetTexturePart( 256, 256, iPos%8, 0); FLOAT3D vPos = plp->GetPosition(iPos); - FLOAT fRand = rand()/FLOAT(RAND_MAX); + //FLOAT fRand = rand()/FLOAT(RAND_MAX); FLOAT fAngle = iPos*2.0f*PI/BLOOD01_TRAIL_POSITIONS; - FLOAT fSin = FLOAT(sin(fAngle)); + //FLOAT fSin = FLOAT(sin(fAngle)); FLOAT fT = iPos*_pTimer->TickQuantum; vPos += vGDir*fGA*fT*fT/8.0f; FLOAT fSize = 0.2f-iPos*0.15f/BLOOD01_TRAIL_POSITIONS; @@ -1735,8 +1735,8 @@ void Particles_FlameThrowerStart(const CPlacement3D &plPipe, FLOAT fStartTime, F fPowerFactor *= Clamp(1.0f+(fStopTime-fNow)/2.0f,0.0f,1.0f); INDEX ctParticles = (INDEX) (FLOAT(CT_FTSPARKS) * fPowerFactor); ASSERT( ctParticles<=CT_MAX_PARTICLES_TABLE); - FLOAT fHeight = 1.0f*fPowerFactor; - INDEX iParticle=0; + //FLOAT fHeight = 1.0f*fPowerFactor; + //INDEX iParticle=0; for( INDEX iSpark=0; iSparkGetLerpedPlacement().pl_PositionVector; - FLOAT3D vG=-vY; - FLOAT tmNow = _pTimer->GetLerpedCurrentTick(); + //FLOAT3D vG=-vY; + //FLOAT tmNow = _pTimer->GetLerpedCurrentTick(); FLOAT fT = _pTimer->GetLerpedCurrentTick()-tmStarted; FLOAT fStretch=vStretch.Length(); - INDEX ctParticles=(INDEX) (4+fSizeRatio*28); + //INDEX ctParticles=(INDEX) (4+fSizeRatio*28); for(INDEX iDust=0; iDust<32; iDust++) { INDEX iRnd = (pen->en_ulID*12345+iDust)%CT_MAX_PARTICLES_TABLE; @@ -2240,9 +2240,9 @@ void Particles_DustFall(CEntity *pen, FLOAT tmStarted, FLOAT3D vStretch) FLOAT fPower = CalculateRatio(fT, 0, fLifeTime, 0.1f, 0.4f); FLOAT fSpeed=0.351f+0.0506f*log(fRatio+0.001f); - FLOAT fRndAppearX = afStarsPositions[iRnd][0]*vStretch(1); - FLOAT fRndSpeedY = (afStarsPositions[iRnd][1]+0.5f)*0.125f*vStretch(2); - FLOAT fRndAppearZ = afStarsPositions[iRnd][2]*vStretch(3); + //FLOAT fRndAppearX = afStarsPositions[iRnd][0]*vStretch(1); + //FLOAT fRndSpeedY = (afStarsPositions[iRnd][1]+0.5f)*0.125f*vStretch(2); + //FLOAT fRndAppearZ = afStarsPositions[iRnd][2]*vStretch(3); FLOAT3D vRndDir=FLOAT3D(afStarsPositions[iRnd][0],0,afStarsPositions[iRnd][2]); vRndDir.Normalize(); FLOAT fRiseTime=Max(fRatio-0.5f,0.0f); @@ -2590,7 +2590,7 @@ BOOL UpdateGrowthCache(CEntity *pen, CTextureData *ptdGrowthMap, FLOATaabbox3D & FLOAT fGridStep; ULONG fXSpan; - UBYTE ubFade=0xff; + // UBYTE ubFade=0xff; fGridStep = GROWTH_RENDERING_STEP; fXSpan = 1234; @@ -2798,7 +2798,7 @@ void Particles_Growth(CEntity *pen, CTextureData *ptdGrowthMap, FLOATaabbox3D &b // calculate fade value FLOAT fFadeOutStrip = GROWTH_RENDERING_RADIUS_FADE - GROWTH_RENDERING_RADIUS_OPAQUE; - UBYTE ubFade = (UBYTE)(((GROWTH_RENDERING_RADIUS_FADE - cgParticle->fDistanceToViewer) / fFadeOutStrip)*255.0f); + //UBYTE ubFade = (UBYTE)(((GROWTH_RENDERING_RADIUS_FADE - cgParticle->fDistanceToViewer) / fFadeOutStrip)*255.0f); if ( cgParticle->fDistanceToViewer < GROWTH_RENDERING_RADIUS_OPAQUE) { cgParticle->ubFade = 255; acgDraw.Push() = *cgParticle; @@ -3166,7 +3166,7 @@ void Particles_Snow(CEntity *pen, FLOAT fGridSize, INDEX ctGrids, FLOAT fFactor, FLOAT fFlakeStartPos=vPos(2)-fFlakePath; FLOAT fSnapFlakeStartPos=fFlakeStartPos; SnapFloat(fSnapFlakeStartPos, YGRID_SIZE); - INDEX iRndFlakeStart=INDEX(fSnapFlakeStartPos)%CT_MAX_PARTICLES_TABLE; + //INDEX iRndFlakeStart=INDEX(fSnapFlakeStartPos)%CT_MAX_PARTICLES_TABLE; FLOAT tmSnapSnowFalling = tmSnowFalling; SnapFloat( tmSnapSnowFalling, SNOW_TILE_DROP_TIME); FLOAT fTileRatio = (tmSnowFalling-tmSnapSnowFalling)/SNOW_TILE_DROP_TIME; @@ -3552,9 +3552,9 @@ void Particles_BulletSpray(INDEX iRndBase, FLOAT3D vSource, FLOAT3D vGDir, enum fSpeedStart = 1.75f; fConeMultiplier = 0.125f; - FLOAT fFadeStart = BULLET_SPRAY_WATER_FADEOUT_START; - FLOAT fLifeTotal = BULLET_SPRAY_WATER_TOTAL_TIME; - FLOAT fFadeLen = fLifeTotal-fFadeStart; + //FLOAT fFadeStart = BULLET_SPRAY_WATER_FADEOUT_START; + //FLOAT fLifeTotal = BULLET_SPRAY_WATER_TOTAL_TIME; + //FLOAT fFadeLen = fLifeTotal-fFadeStart; break; } @@ -3784,7 +3784,7 @@ void Particles_EmptyShells( CEntity *pen, ShellLaunchData *asldData) { // render smoke INDEX iRnd = (INDEX(tmLaunch*1234))%CT_MAX_PARTICLES_TABLE; - FLOAT fTRatio = fT/fLife; + //FLOAT fTRatio = fT/fLife; INDEX iColumn = 4+INDEX( iShell)%4; Particle_SetTexturePart( 256, 256, iColumn, 2); @@ -3805,7 +3805,7 @@ void Particles_EmptyShells( CEntity *pen, ShellLaunchData *asldData) { // render smoke INDEX iRnd = (INDEX(tmLaunch*1234))%CT_MAX_PARTICLES_TABLE; - FLOAT fTRatio = fT/fLife; + //FLOAT fTRatio = fT/fLife; INDEX iColumn = 4+INDEX( iShell)%4; Particle_SetTexturePart( 256, 256, iColumn, 2); @@ -3832,7 +3832,7 @@ void Particles_EmptyShells( CEntity *pen, ShellLaunchData *asldData) FLOAT3D vUp( m(1,2), m(2,2), m(3,2)); INDEX iRnd = (INDEX(tmLaunch*1234))%CT_MAX_PARTICLES_TABLE; - FLOAT fTRatio = fT/fLife; + //FLOAT fTRatio = fT/fLife; INDEX iColumn = 4+INDEX( iShell)%4; Particle_SetTexturePart( 256, 256, iColumn, 2); @@ -4151,7 +4151,7 @@ void Particles_Appearing(CEntity *pen, TIME tmStart) if( (fTimeAPPEAR_OUT_END)) { return; } - FLOAT fPowerTime = pow(fTime-SPIRIT_SPIRAL_START, 2.5f); + //FLOAT fPowerTime = pow(fTime-SPIRIT_SPIRAL_START, 2.5f); // fill array with absolute vertices of entity's model and its attached models pen->GetModelVerticesAbsolute(avVertices, 0.05f, fMipFactor); @@ -4161,7 +4161,7 @@ void Particles_Appearing(CEntity *pen, TIME tmStart) FLOAT3D vX( m(1,1), m(2,1), m(3,1)); FLOAT3D vY( m(1,2), m(2,2), m(3,2)); FLOAT3D vZ( m(1,3), m(2,3), m(3,3)); - FLOAT3D vCenter = pen->GetLerpedPlacement().pl_PositionVector; + //FLOAT3D vCenter = pen->GetLerpedPlacement().pl_PositionVector; SetupParticleTexture( PT_STAR07); @@ -4180,12 +4180,12 @@ void Particles_Appearing(CEntity *pen, TIME tmStart) COLOR col = RGBToColor(ubColor,ubColor,ubColor)|CT_OPAQUE; INDEX ctVtx = avVertices.Count(); - FLOAT fSpeedFactor = 1.0f/ctVtx; + //FLOAT fSpeedFactor = 1.0f/ctVtx; // get corp size FLOATaabbox3D box; pen->en_pmoModelObject->GetCurrentFrameBBox(box); - FLOAT fHeightStretch = box.Size()(2); + //FLOAT fHeightStretch = box.Size()(2); FLOAT fStep = ClampDn( fMipFactor, 1.0f); for( FLOAT fVtx=0.0f; fVtxfMipDisappearDistance) return; - FLOAT fMipBlender=CalculateRatio(fMipFactor, 0.0f, fMipDisappearDistance, 0.0f, 0.1f); + //FLOAT fMipBlender=CalculateRatio(fMipFactor, 0.0f, fMipDisappearDistance, 0.0f, 0.1f); CPlacement3D pl = pen->GetLerpedPlacement(); const FLOATmatrix3D &m = pen->GetRotationMatrix(); @@ -4858,7 +4858,7 @@ void Particles_RocketMotorBurning(CEntity *pen, FLOAT tmSpawn, FLOAT3D vStretch, CTextureData *pTD = (CTextureData *) _toAfterBurnerGradient.GetData(); - ULONG *pcolFlare=pTD->GetRowPointer(0); // flare color + //ULONG *pcolFlare=pTD->GetRowPointer(0); // flare color ULONG *pcolExp=pTD->GetRowPointer(1); // explosion color ULONG *pcolSmoke=pTD->GetRowPointer(2); // smoke color FLOAT aFlare_sol[256], aFlare_vol[256], aFlare_wol[256], aFlare_rol[256]; @@ -5103,7 +5103,7 @@ void Particles_Twister( CEntity *pen, FLOAT fStretch, FLOAT fStartTime, FLOAT fF // get fraction part fT = fT-int(fT); INDEX iPos=(INDEX) (fT*255); - FLOAT fSlowFactor=1.0f-fT*0.25f; + //FLOAT fSlowFactor=1.0f-fT*0.25f; FLOAT fSpeed=25.0f+(afStarsPositions[iRnd][0]+0.5f)*2.0f; FLOAT fR=arol[iPos]*8.0f; FLOAT3D vPos=vCenter+vY*fSpeed*fT+ @@ -5235,7 +5235,7 @@ void Particles_Windblast( CEntity *pen, FLOAT fStretch, FLOAT fFadeOutStartTime) // get fraction part fT = fT-int(fT); INDEX iPos=(INDEX) (fT*255); - FLOAT fSlowFactor=1.0f-fT*0.25f; + //FLOAT fSlowFactor=1.0f-fT*0.25f; FLOAT fSpeed=25.0f+(afStarsPositions[iRnd][0]+0.5f)*2.0f; FLOAT fR=arol[iPos]*8.0f; fR=3.0f; @@ -5332,19 +5332,19 @@ void Particles_CollectEnergy(CEntity *pen, FLOAT tmStart, FLOAT tmStop) // calculate fraction part FLOAT fT=fPassedTime/fStarLife; fT=fT-INDEX(fT); - INDEX iRnd = iStar%CT_MAX_PARTICLES_TABLE; + //INDEX iRnd = iStar%CT_MAX_PARTICLES_TABLE; FLOAT fRadius=2; FLOAT3D vPos= vCenter+ vX*Sin(fT*360.0f)*fRadius+ vY*fT*2+ vZ*Cos(fT*360.0f)*fRadius; - UBYTE ubR = (UBYTE) (255); - UBYTE ubG = (UBYTE) (128+(1.0f-fT)*128); - UBYTE ubB = (UBYTE) (16+afStarsPositions[iRnd][2]*32+(1.0f-fT)*64); + //UBYTE ubR = (UBYTE) (255); + //UBYTE ubG = (UBYTE) (128+(1.0f-fT)*128); + //UBYTE ubB = (UBYTE) (16+afStarsPositions[iRnd][2]*32+(1.0f-fT)*64); FLOAT fFader=CalculateRatio( fT, 0.0f, 1.0f, 0.4f, 0.01f); FLOAT fPulser=(1.0f+(sin((fT*fT)/4.0f)))/2.0f; UBYTE ubA = (UBYTE) (fFader*fPulser*255); - COLOR colLine = RGBToColor( ubA, ubA, ubA) | CT_OPAQUE; + //COLOR colLine = RGBToColor( ubA, ubA, ubA) | CT_OPAQUE; FLOAT fSize = 2; Particle_RenderSquare( vPos, fSize, 0.0f, C_ORANGE|ubA); ctRendered++; @@ -5455,7 +5455,7 @@ void Particles_GrowingSwirl( CEntity *pen, FLOAT fStretch, FLOAT fStartTime) INDEX ctStars=(INDEX)(TM_GROWING_SWIRL_FX_LIFE/TM_SWIRL_SPARK_LAUNCH); for(INDEX i=0; ien_ulID+i)%CT_MAX_PARTICLES_TABLE; + //INDEX iRnd =(pen->en_ulID+i)%CT_MAX_PARTICLES_TABLE; FLOAT fBirth = fStartTime+i*TM_SWIRL_SPARK_LAUNCH-2.0f;//+afTimeOffsets[i]*TM_SWIRL_SPARK_LAUNCH/0.25f; FLOAT fT = tmNow-fBirth; FLOAT fFade=CalculateRatio(fT, 0, TM_GROWING_SWIRL_TOTAL_LIFE, 0.1f, 0.2f); @@ -5622,7 +5622,7 @@ void Particles_MeteorTrail(CEntity *pen, FLOAT fStretch, FLOAT fLength, FLOAT3D { Particle_PrepareTexture( &_toMeteorTrail, PBT_ADD); Particle_SetTexturePart( 1024, 2048, 0, 0); - CTextureData *pTD = (CTextureData *) _toExplosionDebrisGradient.GetData(); + //CTextureData *pTD = (CTextureData *) _toExplosionDebrisGradient.GetData(); FLOAT3D vPos0 = pen->GetLerpedPlacement().pl_PositionVector+vSpeed*0.05f; FLOAT3D vPos1 = pen->GetLerpedPlacement().pl_PositionVector+vSpeed*0.05f-vSpeed*0.125f; Particle_RenderLine( vPos1, vPos0, 3.0f, C_WHITE|CT_OPAQUE); @@ -5749,19 +5749,19 @@ void Particles_LarvaEnergy(CEntity *pen, FLOAT3D vOffset) // calculate fraction part FLOAT fT=fPassedTime/fStarLife; fT=fT-INDEX(fT); - INDEX iRnd = iStar%CT_MAX_PARTICLES_TABLE; + //INDEX iRnd = iStar%CT_MAX_PARTICLES_TABLE; FLOAT fRadius=2; FLOAT3D vPos= vCenter+ vX*Sin(fT*360.0f)*fRadius+ vY*fT*2+ vZ*Cos(fT*360.0f)*fRadius; - UBYTE ubR = (UBYTE) (255); - UBYTE ubG = (UBYTE) (128+(1.0f-fT)*128); - UBYTE ubB = (UBYTE) (16+afStarsPositions[iRnd][2]*32+(1.0f-fT)*64); + //UBYTE ubR = (UBYTE) (255); + //UBYTE ubG = (UBYTE) (128+(1.0f-fT)*128); + // UBYTE ubB = (UBYTE) (16+afStarsPositions[iRnd][2]*32+(1.0f-fT)*64); FLOAT fFader=CalculateRatio( fT, 0.0f, 1.0f, 0.4f, 0.01f); FLOAT fPulser=(1.0f+(sin((fT*fT)/4.0f)))/2.0f; UBYTE ubA = (UBYTE) (fFader*fPulser*255); - COLOR colLine = RGBToColor( ubA, ubA, ubA) | CT_OPAQUE; + //COLOR colLine = RGBToColor( ubA, ubA, ubA) | CT_OPAQUE; FLOAT fSize = 2; Particle_RenderSquare( vPos, fSize, 0.0f, C_ORANGE|ubA); ctRendered++; @@ -5792,7 +5792,7 @@ void Particles_AirElemental_Comp(CModelObject *mo, FLOAT fStretch, FLOAT fFade, FLOAT3D vG=-vY; FLOAT fSpeed=1.0f; - FLOAT fG=50.0f; + //FLOAT fG=50.0f; FLOAT fGValue=0.0f; Particle_PrepareTexture( &_toTwister, PBT_BLEND); @@ -5843,7 +5843,7 @@ void Particles_ModelGlow( CEntity *pen, FLOAT tmEnd, enum ParticleTexture ptText FLOAT3D vX( m(1,1), m(2,1), m(3,1)); FLOAT3D vY( m(1,2), m(2,2), m(3,2)); FLOAT3D vZ( m(1,3), m(2,3), m(3,3)); - FLOAT3D vCenter = pen->GetLerpedPlacement().pl_PositionVector; + //FLOAT3D vCenter = pen->GetLerpedPlacement().pl_PositionVector; UBYTE ubCol=255; if((tmEnd-tmNow)<5.0f) @@ -5884,7 +5884,7 @@ void Particles_ModelGlow2( CModelObject *mo, CPlacement3D pl, FLOAT tmEnd, enum FLOAT3D vX( m(1,1), m(2,1), m(3,1)); FLOAT3D vY( m(1,2), m(2,2), m(3,2)); FLOAT3D vZ( m(1,3), m(2,3), m(3,3)); - FLOAT3D vCenter = plPlacement.pl_PositionVector; + //FLOAT3D vCenter = plPlacement.pl_PositionVector; UBYTE ubCol=255; if((tmEnd-tmNow)<5.0f) @@ -5933,7 +5933,7 @@ void Particles_RunAfterBurner(CEntity *pen, FLOAT tmEnd, FLOAT fStretch, INDEX i const FLOAT3D *pvPos1; const FLOAT3D *pvPos2 = &plp->GetPosition(plp->lp_ctUsed-1); - ULONG *pcolFlare=pTD->GetRowPointer(0); // flare color + //ULONG *pcolFlare=pTD->GetRowPointer(0); // flare color ULONG *pcolExp=pTD->GetRowPointer(1); // explosion color ULONG *pcolSmoke=pTD->GetRowPointer(2); // smoke color FLOAT aFlare_sol[256], aFlare_vol[256], aFlare_wol[256], aFlare_rol[256]; diff --git a/Sources/EntitiesMP/CreditsHolder.es b/Sources/EntitiesMP/CreditsHolder.es index 019d4d2..86a36ac 100644 --- a/Sources/EntitiesMP/CreditsHolder.es +++ b/Sources/EntitiesMP/CreditsHolder.es @@ -198,7 +198,7 @@ functions: return 1; } - PIX pixW = 0; + //PIX pixW = 0; PIX pixH = 0; //FLOAT fResolutionScaling; CTString strEmpty; @@ -209,7 +209,7 @@ functions: pdp->Unlock(); pdpCurr->Lock(); - pixW = pdpCurr->GetWidth(); + //pixW = pdpCurr->GetWidth(); pixH = pdpCurr->GetHeight(); FLOAT fResFactor = pixH/480.0f; diff --git a/Sources/EntitiesMP/Debris.es b/Sources/EntitiesMP/Debris.es index 7354e2a..4a6cd59 100644 --- a/Sources/EntitiesMP/Debris.es +++ b/Sources/EntitiesMP/Debris.es @@ -99,7 +99,7 @@ functions: { // cannot be damaged immediately after spawning if ((_pTimer->CurrentTick()-m_tmStarted<1.0f) - ||(dmtType==DMT_CANNONBALL_EXPLOSION) && (_pTimer->CurrentTick()-m_tmStarted<5.0f)) { + ||((dmtType==DMT_CANNONBALL_EXPLOSION) && (_pTimer->CurrentTick()-m_tmStarted<5.0f))) { return; } CMovableModelEntity::ReceiveDamage(penInflictor, dmtType, fDamageAmmount, vHitPoint, vDirection); diff --git a/Sources/EntitiesMP/Dragonman.es b/Sources/EntitiesMP/Dragonman.es index 4f03e16..fb6052c 100644 --- a/Sources/EntitiesMP/Dragonman.es +++ b/Sources/EntitiesMP/Dragonman.es @@ -459,8 +459,8 @@ procedures: Hit(EVoid) : CEnemyBase::Hit { // burn enemy - if (m_EdtType == DT_SERGEANT && CalcDist(m_penEnemy) <= 6.0f || - m_EdtType == DT_MONSTER && CalcDist(m_penEnemy) <= 20.0f) { + if ((m_EdtType == DT_SERGEANT && CalcDist(m_penEnemy) <= 6.0f) || + (m_EdtType == DT_MONSTER && CalcDist(m_penEnemy) <= 20.0f)) { jump BurnEnemy(); } diff --git a/Sources/EntitiesMP/Effector.es b/Sources/EntitiesMP/Effector.es index 0d9d873..f75b28e 100644 --- a/Sources/EntitiesMP/Effector.es +++ b/Sources/EntitiesMP/Effector.es @@ -125,7 +125,7 @@ functions: void AdjustMipFactor(FLOAT &fMipFactor) { - if (m_eetType==ET_DISAPPEAR_MODEL || m_eetType==ET_DISAPPEAR_MODEL_NOW && m_penModel!=NULL) + if (m_eetType==ET_DISAPPEAR_MODEL || (m_eetType==ET_DISAPPEAR_MODEL_NOW && m_penModel!=NULL)) { CModelObject *pmo = m_penModel->GetModelObject(); TIME tmDelta = _pTimer->GetLerpedCurrentTick()-m_tmStarted; @@ -146,7 +146,7 @@ functions: COLOR col = C_WHITE|ubAlpha; pmo->mo_colBlendColor = col; } - if (m_eetType==ET_APPEAR_MODEL || m_eetType==ET_APPEAR_MODEL_NOW && m_penModel!=NULL) + if (m_eetType==ET_APPEAR_MODEL || (m_eetType==ET_APPEAR_MODEL_NOW && m_penModel!=NULL)) { CModelObject *pmo = m_penModel->GetModelObject(); TIME tmDelta = _pTimer->GetLerpedCurrentTick()-m_tmStarted; @@ -449,7 +449,9 @@ procedures: // setup light source if (m_bLightSource) { SetupLightSource(); } - while(_pTimer->CurrentTick()CurrentTick()GetPlacement().pl_PositionVector; - FLOAT3D vDirection = (vTarget-vSource).Normalize(); + //FLOAT3D vDirection = (vTarget-vSource).Normalize(); Particles_Ghostbuster(vSource, vTarget, 32, 1.0f); // random lightnings arround @@ -283,7 +283,7 @@ procedures: // declare yourself as a model InitAsModel(); // fish must not go upstairs, or it will get out of water - SetPhysicsFlags((EPF_MODEL_WALKING|EPF_HASGILLS)&~EPF_ONBLOCK_CLIMBORSLIDE|EPF_ONBLOCK_SLIDE); + SetPhysicsFlags(((EPF_MODEL_WALKING|EPF_HASGILLS)&~EPF_ONBLOCK_CLIMBORSLIDE)|EPF_ONBLOCK_SLIDE); SetCollisionFlags(ECF_MODEL); SetFlags(GetFlags()|ENF_ALIVE); SetHealth(30.0f); diff --git a/Sources/EntitiesMP/Item.es b/Sources/EntitiesMP/Item.es index e07f23b..284cd97 100644 --- a/Sources/EntitiesMP/Item.es +++ b/Sources/EntitiesMP/Item.es @@ -73,7 +73,7 @@ functions: return; } - BOOL bFlare = TRUE; + //BOOL bFlare = TRUE; // if current player has already picked this item if (_ulPlayerRenderingMask&m_ulPickedMask) { // if picked items are not rendered @@ -83,11 +83,11 @@ functions: fMipFactor = UpperLimit(0.0f); } // if picked item particles are not rendered - extern INDEX plr_bRenderPickedParticles; + /*extern INDEX plr_bRenderPickedParticles; if (!plr_bRenderPickedParticles) { // kill flare - bFlare = FALSE; - } + bFlare = FALSE; // DG: bFlare is otherwise unused! + }*/ } // implement flare on/off ? diff --git a/Sources/EntitiesMP/ModelHolder2.es b/Sources/EntitiesMP/ModelHolder2.es index 2c51ab4..21df4ec 100644 --- a/Sources/EntitiesMP/ModelHolder2.es +++ b/Sources/EntitiesMP/ModelHolder2.es @@ -217,7 +217,7 @@ functions: } else { vDirectionFixed = FLOAT3D(0,1,0); } - FLOAT3D vDamageOld = m_vDamage; + //FLOAT3D vDamageOld = m_vDamage; m_vDamage += vDirectionFixed*fKickDamage; // NOTE: we don't receive damage here, but handle death differently diff --git a/Sources/EntitiesMP/Player.es b/Sources/EntitiesMP/Player.es index a249fe5..f51ce95 100755 --- a/Sources/EntitiesMP/Player.es +++ b/Sources/EntitiesMP/Player.es @@ -503,8 +503,8 @@ DECL_DLL void ctl_ComposeActionPacket(const CPlayerCharacter &pc, CPlayerAction // add button movement/rotation/look actions to the axis actions if(pctlCurrent.bMoveForward ) paAction.pa_vTranslation(3) -= plr_fSpeedForward; if(pctlCurrent.bMoveBackward ) paAction.pa_vTranslation(3) += plr_fSpeedBackward; - if(pctlCurrent.bMoveLeft || pctlCurrent.bStrafe&&pctlCurrent.bTurnLeft) paAction.pa_vTranslation(1) -= plr_fSpeedSide; - if(pctlCurrent.bMoveRight || pctlCurrent.bStrafe&&pctlCurrent.bTurnRight) paAction.pa_vTranslation(1) += plr_fSpeedSide; + if(pctlCurrent.bMoveLeft || (pctlCurrent.bStrafe&&pctlCurrent.bTurnLeft)) paAction.pa_vTranslation(1) -= plr_fSpeedSide; + if(pctlCurrent.bMoveRight || (pctlCurrent.bStrafe&&pctlCurrent.bTurnRight)) paAction.pa_vTranslation(1) += plr_fSpeedSide; if(pctlCurrent.bMoveUp ) paAction.pa_vTranslation(2) += plr_fSpeedUp; if(pctlCurrent.bMoveDown ) paAction.pa_vTranslation(2) -= plr_fSpeedUp; @@ -4264,7 +4264,7 @@ functions: } // if just started swimming - if (m_pstState == PST_SWIM && _pTimer->CurrentTick()CurrentTick()CurrentTick()IsPredicted()||IsPredictor()&&m_penView->IsPredictor()||!IsPredicted()&&!m_penView->IsPredicted()&&!IsPredictor()&&!m_penView->IsPredictor()); + ASSERT((IsPredicted()&&m_penView->IsPredicted()) || (IsPredictor()&&m_penView->IsPredictor()) + || (!IsPredicted()&&!m_penView->IsPredicted()&&!IsPredictor()&&!m_penView->IsPredictor())); en_plViewpoint.pl_PositionVector = FLOAT3D(0, 1, 0); en_plViewpoint.pl_OrientationAngle += (ANGLE3D( (ANGLE)((FLOAT)paAction.pa_aRotation(1)*_pTimer->TickQuantum), diff --git a/Sources/EntitiesMP/PlayerAnimator.es b/Sources/EntitiesMP/PlayerAnimator.es index 13c65df..6aef7ae 100644 --- a/Sources/EntitiesMP/PlayerAnimator.es +++ b/Sources/EntitiesMP/PlayerAnimator.es @@ -1054,7 +1054,7 @@ functions: FLOAT3D vDesiredTranslation = pl.en_vDesiredTranslationRelative; FLOAT3D vCurrentTranslation = pl.en_vCurrentTranslationAbsolute * !pl.en_mRotation; ANGLE3D aDesiredRotation = pl.en_aDesiredRotationRelative; - ANGLE3D aCurrentRotation = pl.en_aCurrentRotationAbsolute; + //ANGLE3D aCurrentRotation = pl.en_aCurrentRotationAbsolute; // if player is moving if (vDesiredTranslation.ManhattanNorm()>0.01f diff --git a/Sources/EntitiesMP/PlayerWeapons.es b/Sources/EntitiesMP/PlayerWeapons.es index 4ab5858..d98a9de 100755 --- a/Sources/EntitiesMP/PlayerWeapons.es +++ b/Sources/EntitiesMP/PlayerWeapons.es @@ -1101,7 +1101,7 @@ functions: } } // apply cannon draw - else if( (m_iCurrentWeapon == WEAPON_IRONCANNON) /*|| + else if( m_iCurrentWeapon == WEAPON_IRONCANNON /*|| (m_iCurrentWeapon == WEAPON_NUKECANNON) */) { FLOAT fLerpedMovement = Lerp(m_fWeaponDrawPowerOld, m_fWeaponDrawPower, _pTimer->GetLerpFactor()); @@ -1988,7 +1988,7 @@ functions: FLOATmatrix3D m; MakeRotationMatrixFast(m, plKnife.pl_OrientationAngle); FLOAT3D vRight = m.GetColumn(1)*fWide; - FLOAT3D vUp = m.GetColumn(2)*fWide; + //FLOAT3D vUp = m.GetColumn(2)*fWide; FLOAT3D vFront = -m.GetColumn(3)*fRange; FLOAT3D vDest[3]; @@ -4008,7 +4008,7 @@ procedures: GetAnimator()->FireAnimation(BODY_ANIM_SHOTGUN_FIRESHORT, AOF_LOOPING); } else if (m_iCurrentWeapon==WEAPON_TOMMYGUN) { autocall TommyGunStart() EEnd; - } else if ((m_iCurrentWeapon==WEAPON_IRONCANNON) /*|| (m_iCurrentWeapon==WEAPON_NUKECANNON)*/) { + } else if (m_iCurrentWeapon==WEAPON_IRONCANNON /*|| (m_iCurrentWeapon==WEAPON_NUKECANNON)*/) { jump CannonFireStart(); } diff --git a/Sources/EntitiesMP/Projectile.es b/Sources/EntitiesMP/Projectile.es index f68ca19..6fb502a 100755 --- a/Sources/EntitiesMP/Projectile.es +++ b/Sources/EntitiesMP/Projectile.es @@ -3531,7 +3531,7 @@ procedures: // ignore twister bHit &= !IsOfClass(epass.penOther, "Twister"); if (epass.penOther!=m_penLauncher) { - bHit = bHit ; + // bHit = bHit ; // FIXME: DG: what was this supposed to achieve? } if (bHit) { ProjectileTouch(epass.penOther); diff --git a/Sources/EntitiesMP/PyramidSpaceShip.es b/Sources/EntitiesMP/PyramidSpaceShip.es index 42c579a..ec62ae4 100644 --- a/Sources/EntitiesMP/PyramidSpaceShip.es +++ b/Sources/EntitiesMP/PyramidSpaceShip.es @@ -486,7 +486,7 @@ functions: void SpawnBeamMachineMainFlare(void) { // spawn main flare - CPlacement3D plSpaceShip = GetPlacement(); + //CPlacement3D plSpaceShip = GetPlacement(); CPlacement3D plFlare = CPlacement3D( FLOAT3D(0, BM_MASTER_Y+BM_FLARE_DY, 0), ANGLE3D(0,0,0)); plFlare.RelativeToAbsolute(GetPlacement()); CEntity *penFlare = CreateEntity( plFlare, CLASS_EFFECTOR); diff --git a/Sources/EntitiesMP/SpawnerProjectile.es b/Sources/EntitiesMP/SpawnerProjectile.es index f654581..a3048cb 100644 --- a/Sources/EntitiesMP/SpawnerProjectile.es +++ b/Sources/EntitiesMP/SpawnerProjectile.es @@ -83,10 +83,11 @@ functions: pen->Initialize(); // adjust circle radii to account for enemy size + /* unused FLOAT fEntityR = 0; if (pen->en_pciCollisionInfo!=NULL) { fEntityR = pen->en_pciCollisionInfo->GetMaxFloorRadius(); - } + } */ // teleport back pen->Teleport(GetPlacement(), FALSE); diff --git a/Sources/EntitiesMP/Summoner.es b/Sources/EntitiesMP/Summoner.es index c424631..1c5469c 100755 --- a/Sources/EntitiesMP/Summoner.es +++ b/Sources/EntitiesMP/Summoner.es @@ -619,6 +619,7 @@ functions: iCount = IRnd()%m_iGroup03Count+1; } else { ASSERT("Invalid group!"); + iCount = 0; // DG: this should have a deterministic value in case this happens after all! } ASSERT(iCount>0); diff --git a/Sources/GameMP/CompModels.cpp b/Sources/GameMP/CompModels.cpp index 7f3f655..0d131ce 100755 --- a/Sources/GameMP/CompModels.cpp +++ b/Sources/GameMP/CompModels.cpp @@ -733,7 +733,7 @@ extern void SetupCompModel_t(const CTString &strName) CTFILENAME("ModelsMP\\Weapons\\Chainsaw\\Blade.tex"), CTFILENAME("Models\\ReflectionTextures\\LightMetal01.tex"), CTFILENAME("Models\\SpecularTextures\\Medium.tex")); - CAttachmentModelObject *amo = pmo->GetAttachmentModel(CHAINSAWITEM_ATTACHMENT_BLADE); + //CAttachmentModelObject *amo = pmo->GetAttachmentModel(CHAINSAWITEM_ATTACHMENT_BLADE); AddAttachment_t(pmo, BLADEFORPLAYER_ATTACHMENT_TEETH, CTFILENAME("ModelsMP\\Weapons\\Chainsaw\\Teeth.mdl"), 0, CTFILENAME("ModelsMP\\Weapons\\Chainsaw\\Teeth.tex"), diff --git a/Sources/GameMP/Computer.cpp b/Sources/GameMP/Computer.cpp index 3757878..8a899d7 100644 --- a/Sources/GameMP/Computer.cpp +++ b/Sources/GameMP/Computer.cpp @@ -177,12 +177,12 @@ static PIXaabbox2D GetMsgSliderSpace(void) static PIXaabbox2D GetTextSliderBox(void) { - if (_iActiveMessage>=_acmMessages.Count()) { + if ((_iActiveMessage >= _acmMessages.Count()) || (_iActiveMessage < 0)) { return PIXaabbox2D(); } INDEX ctTextLines = _acmMessages[_iActiveMessage].cm_ctFormattedLines; - PIX pixSizeI = _boxMsgText.Size()(1); - PIX pixSizeJ = _boxMsgText.Size()(2); + //PIX pixSizeI = _boxMsgText.Size()(1); + //PIX pixSizeJ = _boxMsgText.Size()(2); return GetSliderBox( _iTextLineOnScreen, _ctTextLinesOnScreen, ctTextLines, GetTextSliderSpace()); } @@ -190,8 +190,8 @@ static PIXaabbox2D GetTextSliderBox(void) static PIXaabbox2D GetMsgSliderBox(void) { INDEX ctLines = _acmMessages.Count(); - PIX pixSizeI = _boxMsgList.Size()(1); - PIX pixSizeJ = _boxMsgList.Size()(2); + //PIX pixSizeI = _boxMsgList.Size()(1); + //PIX pixSizeJ = _boxMsgList.Size()(2); return GetSliderBox( _iFirstMessageOnScreen, _ctMessagesOnScreen, ctLines, GetMsgSliderSpace()); } @@ -246,7 +246,7 @@ void LastUnreadMessage(void) // go to next/previous message void PrevMessage(void) { - if (_iActiveMessage<_acmMessages.Count()==0) { + if ((_iActiveMessage >= _acmMessages.Count()) || (_iActiveMessage < 0)) { return; } _iActiveMessage--; @@ -258,7 +258,7 @@ void PrevMessage(void) void NextMessage(void) { - if (_iActiveMessage<_acmMessages.Count()==0) { + if ((_iActiveMessage >= _acmMessages.Count()) || (_iActiveMessage < 0)) { return; } _iActiveMessage++; @@ -305,7 +305,7 @@ void MessageTextUp(INDEX ctLines) void MessageTextDn(INDEX ctLines) { // if no message do nothing - if (_iActiveMessage<_acmMessages.Count()==0) { + if ((_iActiveMessage >= _acmMessages.Count()) || (_iActiveMessage < 0)) { return; } // find text lines count @@ -336,7 +336,7 @@ void MessageTextUpDn(INDEX ctLines) // mark current message as read void MarkCurrentRead(void) { - if (_iActiveMessage>=_acmMessages.Count()) { + if ((_iActiveMessage >= _acmMessages.Count()) || (_iActiveMessage < 0)) { return; } // if running in background @@ -755,7 +755,7 @@ void RenderMessageStats(CDrawPort *pdp) { CSessionProperties *psp = (CSessionProperties *)_pNetwork->GetSessionProperties(); ULONG ulLevelMask = psp->sp_ulLevelsMask; - INDEX iLevel = -1; + //INDEX iLevel = -1; if (psp->sp_bCooperative) { extern void RenderMap( CDrawPort *pdp, ULONG ulLevelMask, CProgressHookInfo *pphi); if (pdp->Lock()) { @@ -874,7 +874,7 @@ static void ComputerOff(void) static void ExitRequested(void) { // if end of game - if (_ppenPlayer!=NULL && _ppenPlayer->m_bEndOfGame || _pNetwork->IsGameFinished()) { + if ((_ppenPlayer!=NULL && _ppenPlayer->m_bEndOfGame) || _pNetwork->IsGameFinished()) { // if in single player if (GetSP()->sp_bSinglePlayer) { // request app to show high score @@ -1244,8 +1244,8 @@ void CGame::ComputerRender(CDrawPort *pdp) MarkCurrentRead(); // get current time and alpha value - FLOAT tmNow = (FLOAT)tvNow.GetSeconds(); - ULONG ulA = NormFloatToByte(fComputerFadeValue); + //FLOAT tmNow = (FLOAT)tvNow.GetSeconds(); + //ULONG ulA = NormFloatToByte(fComputerFadeValue); _colLight = LCDFadedColor(C_WHITE|255); _colMedium = LCDFadedColor(SE_COL_BLUE_LIGHT|255); diff --git a/Sources/GameMP/Controls.cpp b/Sources/GameMP/Controls.cpp index fa0df01..9147ff0 100644 --- a/Sources/GameMP/Controls.cpp +++ b/Sources/GameMP/Controls.cpp @@ -222,8 +222,8 @@ void CControls::Load_t( CTFileName fnFile) achrIfInverted[ 0] = 0; char achrIfRelative[ 1024]; achrIfRelative[ 0] = 0; - char achrIfSmooth[ 1024]; - achrIfSmooth[ 0] = 0; + //char achrIfSmooth[ 1024]; + //achrIfSmooth[ 0] = 0; achrActionName[ 0] = 0; FLOAT fSensitivity = 50; FLOAT fDeadZone = 0; diff --git a/Sources/GameMP/Game.cpp b/Sources/GameMP/Game.cpp index 2befdbf..0b9a2dd 100755 --- a/Sources/GameMP/Game.cpp +++ b/Sources/GameMP/Game.cpp @@ -252,6 +252,7 @@ static void PlayScriptSound(INDEX iChannel, const CTString &strSound, FLOAT fVol CPrintF("%s\n", strError); } } +#if 0 // DG: unused. static void PlayScriptSoundCfunc(void* pArgs) { INDEX iChannel = NEXTARGUMENT(INDEX); @@ -261,6 +262,7 @@ static void PlayScriptSoundCfunc(void* pArgs) BOOL bLooping = NEXTARGUMENT(INDEX); PlayScriptSound(iChannel, strSound, fVolume, fPitch, bLooping); } +#endif // 0 (unused) static void StopScriptSound(void* pArgs) { INDEX iChannel = NEXTARGUMENT(INDEX); @@ -1985,12 +1987,12 @@ static void MakeSplitDrawports(enum CGame::SplitScreenCfg ssc, INDEX iCount, CDr } // if one player or observer with one screen - if (ssc==CGame::SSC_PLAY1 || ssc==CGame::SSC_OBSERVER && iCount==1) { + if (ssc==CGame::SSC_PLAY1 || (ssc==CGame::SSC_OBSERVER && iCount==1)) { // the only drawport covers entire screen adpDrawPorts[0] = CDrawPort( pdp, 0.0, 0.0, 1.0, 1.0); apdpDrawPorts[0] = &adpDrawPorts[0]; // if two players or observer with two screens - } else if (ssc==CGame::SSC_PLAY2 || ssc==CGame::SSC_OBSERVER && iCount==2) { + } else if (ssc==CGame::SSC_PLAY2 || (ssc==CGame::SSC_OBSERVER && iCount==2)) { // if the drawport is not dualhead if (!pdp->IsDualHead()) { // need two drawports for filling the empty spaces left and right @@ -2014,7 +2016,7 @@ static void MakeSplitDrawports(enum CGame::SplitScreenCfg ssc, INDEX iCount, CDr apdpDrawPorts[1] = &adpDrawPorts[1]; } // if three players or observer with three screens - } else if (ssc==CGame::SSC_PLAY3 || ssc==CGame::SSC_OBSERVER && iCount==3) { + } else if (ssc==CGame::SSC_PLAY3 || (ssc==CGame::SSC_OBSERVER && iCount==3)) { // if the drawport is not dualhead if (!pdp->IsDualHead()) { // need two drawports for filling the empty spaces left and right @@ -2051,7 +2053,7 @@ static void MakeSplitDrawports(enum CGame::SplitScreenCfg ssc, INDEX iCount, CDr apdpDrawPorts[2] = &adpDrawPorts[2]; } // if four players or observer with four screens - } else if (ssc==CGame::SSC_PLAY4 || ssc==CGame::SSC_OBSERVER && iCount==4) { + } else if (ssc==CGame::SSC_PLAY4 || (ssc==CGame::SSC_OBSERVER && iCount==4)) { // if the drawport is not dualhead if (!pdp->IsDualHead()) { // first of four draw ports covers upper-left part of the screen @@ -2148,7 +2150,7 @@ void CGame::GameRedrawView( CDrawPort *pdpDrawPort, ULONG ulFlags) CTFileName fnm = _fnmThumb; _fnmThumb = CTString(""); // render one game view to a small cloned drawport - PIX pixSizeJ = pdpDrawPort->GetHeight(); + //PIX pixSizeJ = pdpDrawPort->GetHeight(); PIXaabbox2D boxThumb( PIX2D(0,0), PIX2D(128,128)); CDrawPort dpThumb( pdpDrawPort, boxThumb); _bPlayerViewRendered = FALSE; @@ -2180,7 +2182,7 @@ void CGame::GameRedrawView( CDrawPort *pdpDrawPort, ULONG ulFlags) } // if game is started and computer isn't on - BOOL bClientJoined = FALSE; + //BOOL bClientJoined = FALSE; if( gm_bGameOn && (_pGame->gm_csComputerState==CS_OFF || pdpDrawPort->IsDualHead()) && gm_CurrentSplitScreenCfg!=SSC_DEDICATED ) { diff --git a/Sources/GameMP/Game.h b/Sources/GameMP/Game.h index f2289a1..5821ae2 100644 --- a/Sources/GameMP/Game.h +++ b/Sources/GameMP/Game.h @@ -76,7 +76,7 @@ class CButtonAction { public: // default constructor CButtonAction(); - ~CButtonAction() {} + virtual ~CButtonAction() {} CListNode ba_lnNode; INDEX ba_iFirstKey; BOOL ba_bFirstKeyDown; diff --git a/Sources/GameMP/Map.cpp b/Sources/GameMP/Map.cpp index 62f45b2..f46bdf2 100644 --- a/Sources/GameMP/Map.cpp +++ b/Sources/GameMP/Map.cpp @@ -613,9 +613,10 @@ void RenderMap( CDrawPort *pdp, ULONG ulLevelMask, CProgressHookInfo *pphi) if (ulLevelMask == 0x00000001 && !map_bIsFirstEncounter) { // render the book - PIX pixX = (PIX) (aIconCoords[0][0]*fStretch+pixC1S); - PIX pixY = (PIX) (aIconCoords[0][1]*fStretch+pixR1S); + //PIX pixX = (PIX) (aIconCoords[0][0]*fStretch+pixC1S); + //PIX pixY = (PIX) (aIconCoords[0][1]*fStretch+pixR1S); CTextureObject *pto = &atoIcons[0]; + // FIXME: DG: or was the line below supposed to use pixX and pixY? pdp->PutTexture( pto, PIXaabbox2D( PIX2D(pixC1S,pixR1S), PIX2D(pixC2E,pixR2E)), C_WHITE|255); } else { @@ -687,6 +688,12 @@ void RenderMap( CDrawPort *pdp, ULONG ulLevelMask, CProgressHookInfo *pphi) colText = 0xc87832ff; } } + else // DG: make sure iPosX/Y is initialized + { + // no idea if 0 makes sense, but at least it's deterministic + iPosX = 0; + iPosY = 0; + } PIX pixhtcx = (PIX) (pixC1S+iPosX*fStretch); PIX pixhtcy = (PIX) (pixR1S+iPosY*fStretch); diff --git a/Sources/GameMP/WEDInterface.cpp b/Sources/GameMP/WEDInterface.cpp index fc6e8e0..7caf78b 100644 --- a/Sources/GameMP/WEDInterface.cpp +++ b/Sources/GameMP/WEDInterface.cpp @@ -116,7 +116,7 @@ void CGame::QuickTest(const CTFileName &fnMapName, // if it is not a mouse message if( !(msg.message>=WM_MOUSEFIRST && msg.message<=WM_MOUSELAST)) { // if not system key messages - if( !(msg.message==WM_KEYDOWN && msg.wParam==VK_F10 + if( !((msg.message==WM_KEYDOWN && msg.wParam==VK_F10) ||msg.message==WM_SYSKEYDOWN)) { // dispatch it TranslateMessage(&msg); diff --git a/Sources/SeriousSam/GLSettings.cpp b/Sources/SeriousSam/GLSettings.cpp index 2b17080..535ef9d 100644 --- a/Sources/SeriousSam/GLSettings.cpp +++ b/Sources/SeriousSam/GLSettings.cpp @@ -70,7 +70,7 @@ void InitGLSettings(void) try { strmFile.Open_t( CTString("Scripts\\GLSettings\\GLSettings.lst"), CTStream::OM_READ); - INDEX iIndex = 0; + //INDEX iIndex = 0; do { achrLine [0] = 0; diff --git a/Sources/SeriousSam/Menu.cpp b/Sources/SeriousSam/Menu.cpp index 74be8fb..a2f992d 100644 --- a/Sources/SeriousSam/Menu.cpp +++ b/Sources/SeriousSam/Menu.cpp @@ -2198,8 +2198,8 @@ void InitializeMenus(void) ((CTextureData*)_toLogoMenuB.GetData())->Force(TEX_CONSTANT); // menu's relative placement - CPlacement3D plRelative = CPlacement3D( FLOAT3D( 0.0f, 0.0f, -9.0f), - ANGLE3D( AngleDeg(0.0f), AngleDeg(0.0f), AngleDeg(0.0f))); + //CPlacement3D plRelative = CPlacement3D( FLOAT3D( 0.0f, 0.0f, -9.0f), + // ANGLE3D( AngleDeg(0.0f), AngleDeg(0.0f), AngleDeg(0.0f))); try { TRANSLATERADIOARRAY(astrNoYes); @@ -2464,7 +2464,7 @@ void MenuUpdateMouseFocus(void) CMenuGadget *pmgActive = NULL; // for all gadgets in menu FOREACHINLIST( CMenuGadget, mg_lnNode, pgmCurrentMenu->gm_lhGadgets, itmg) { - CMenuGadget &mg = *itmg; + //CMenuGadget &mg = *itmg; // if focused if( itmg->mg_bFocused) { // remember it @@ -2596,11 +2596,11 @@ BOOL DoMenu( CDrawPort *pdp) if( bMenuActive) { // get current time - TIME tmNow = _pTimer->GetLerpedCurrentTick(); - UBYTE ubH1 = (INDEX)(tmNow*08.7f) & 255; - UBYTE ubH2 = (INDEX)(tmNow*27.6f) & 255; - UBYTE ubH3 = (INDEX)(tmNow*16.5f) & 255; - UBYTE ubH4 = (INDEX)(tmNow*35.4f) & 255; + //TIME tmNow = _pTimer->GetLerpedCurrentTick(); + //UBYTE ubH1 = (INDEX)(tmNow*08.7f) & 255; + //UBYTE ubH2 = (INDEX)(tmNow*27.6f) & 255; + //UBYTE ubH3 = (INDEX)(tmNow*16.5f) & 255; + //UBYTE ubH4 = (INDEX)(tmNow*35.4f) & 255; // clear screen with background texture _pGame->LCDPrepare(1.0f); @@ -2751,7 +2751,7 @@ BOOL DoMenu( CDrawPort *pdp) if (!_bMouseUsedLast) { // find focused gadget FOREACHINLIST( CMenuGadget, mg_lnNode, pgmCurrentMenu->gm_lhGadgets, itmg) { - CMenuGadget &mg = *itmg; + //CMenuGadget &mg = *itmg; // if focused if( itmg->mg_bFocused) { // it is active @@ -2969,8 +2969,8 @@ void CGameMenu::ScrollList(INDEX iDir) } // set new focus - const INDEX iFirst = 0; - const INDEX iLast = gm_ctListVisible-1; + //const INDEX iFirst = 0; + //const INDEX iLast = gm_ctListVisible-1; switch(iDir) { case +1: gm_pmgListBottom->OnSetFocus(); @@ -4077,6 +4077,7 @@ void CPlayerProfileMenu::SelectPlayer(INDEX iPlayer) mgPlayerModel.mg_strTip = TRANS("cannot change model for single-player game"); mgPlayerModel.mg_bEnabled = FALSE; } + (void)bSet; // ignore gender flags, if any strName.RemovePrefix("#female#"); strName.RemovePrefix("#male#"); @@ -5444,7 +5445,7 @@ void CServersMenu::Initialize_t(void) mgServerRefresh.mg_pActivatedFunction = &RefreshServerList; gm_lhGadgets.AddTail( mgServerRefresh.mg_lnNode); - CTString astrColumns[7]; + //CTString astrColumns[7]; mgServerColumn[0].mg_strText = TRANS("Server") ; mgServerColumn[1].mg_strText = TRANS("Map") ; mgServerColumn[2].mg_strText = TRANS("Ping") ; diff --git a/Sources/SeriousSam/MenuGadgets.cpp b/Sources/SeriousSam/MenuGadgets.cpp index 3834563..858b0e4 100644 --- a/Sources/SeriousSam/MenuGadgets.cpp +++ b/Sources/SeriousSam/MenuGadgets.cpp @@ -266,7 +266,7 @@ void CMGButton::Render( CDrawPort *pdp) CTString str = mg_strText; if (pdp->dp_FontData->fd_bFixedWidth) { str = str.Undecorated(); - INDEX iLen = str.Length(); + //INDEX iLen = str.Length(); INDEX iMaxLen = ClampDn(box.Size()(1)/(pdp->dp_pixTextCharSpacing+pdp->dp_FontData->fd_pixCharWidth), 1); if (iCursor>=iMaxLen) { str.TrimRight(iCursor); @@ -768,7 +768,7 @@ void CMGTrigger::Render( CDrawPort *pdp) CTextureObject to; try { to.SetData_t(mg_strValue); - CTextureData *ptd = (CTextureData *)to.GetData(); + //CTextureData *ptd = (CTextureData *)to.GetData(); PIX pixSize = box.Size()(2); PIX pixCX = box.Max()(1)-pixSize/2; PIX pixCY = box.Center()(2); @@ -1393,7 +1393,7 @@ void CMGServerList::Render(CDrawPort *pdp) BOOL bFocusedBefore = mg_bFocused; mg_bFocused = FALSE; - PIXaabbox2D box = FloatBoxToPixBox(pdp, mg_boxOnScreen); + //PIXaabbox2D box = FloatBoxToPixBox(pdp, mg_boxOnScreen); COLOR col = GetCurrentColor(); PIX pixDPSizeI = pdp->GetWidth(); @@ -1404,7 +1404,7 @@ void CMGServerList::Render(CDrawPort *pdp) PIX pixSliderSizeI = 10; PIX pixOuterMargin = 20; - INDEX ctSessions = _lhServers.Count(); + //INDEX ctSessions = _lhServers.Count(); INDEX iSession=0; INDEX ctColumns[7]; @@ -1430,7 +1430,7 @@ void CMGServerList::Render(CDrawPort *pdp) apixSeparatorI[2] = apixSeparatorI[3]-pixSizePing-pixLineSize; apixSeparatorI[1] = apixSeparatorI[2]-pixSizeMapName-pixLineSize; apixSeparatorI[1] = apixSeparatorI[2]-pixSizeMapName-pixLineSize; - PIX pixSizeServerName = apixSeparatorI[1]-apixSeparatorI[0]-pixLineSize; + //PIX pixSizeServerName = apixSeparatorI[1]-apixSeparatorI[0]-pixLineSize; PIX pixTopJ = (PIX) (pixDPSizeJ*0.15f); PIX pixBottomJ = (PIX) (pixDPSizeJ*0.82f); @@ -1470,7 +1470,7 @@ void CMGServerList::Render(CDrawPort *pdp) PIXaabbox2D boxHandle = GetScrollBarHandleBox(); pdp->Fill(boxHandle.Min()(1)+2, boxHandle.Min()(2)+2, boxHandle.Size()(1)-3, boxHandle.Size()(2)-3, col|CT_OPAQUE); - PIX pixJ = pixTopJ+pixLineSize*2+1; + //PIX pixJ = pixTopJ+pixLineSize*2+1; mg_ctOnScreen = ctSessionsOnScreen; AdjustFirstOnScreen(); @@ -1755,7 +1755,7 @@ void CMGKeyDefinition::SetBindingNames(BOOL bDefining) { // find the button INDEX ict=0; - INDEX iDik=0; + //INDEX iDik=0; FOREACHINLIST( CButtonAction, ba_lnNode, _pGame->gm_ctrlControlsExtra->ctrl_lhButtonActions, itba) { if( ict == mg_iControlNumber) { CButtonAction &ba = *itba; diff --git a/Sources/SeriousSam/SeriousSam.cpp b/Sources/SeriousSam/SeriousSam.cpp index 9b76471..1a15bcf 100644 --- a/Sources/SeriousSam/SeriousSam.cpp +++ b/Sources/SeriousSam/SeriousSam.cpp @@ -744,8 +744,8 @@ void DoGame(void) // set flag if not in game if( !_pGame->gm_bGameOn) _gmRunningGameMode = GM_NONE; - if( _gmRunningGameMode==GM_DEMO && _pNetwork->IsDemoPlayFinished() - ||_gmRunningGameMode==GM_INTRO && _pNetwork->IsGameFinished()) { + if( (_gmRunningGameMode==GM_DEMO && _pNetwork->IsDemoPlayFinished()) + ||(_gmRunningGameMode==GM_INTRO && _pNetwork->IsGameFinished())) { _pGame->StopGame(); _gmRunningGameMode = GM_NONE; @@ -942,7 +942,7 @@ int SubMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int // if it is not a mouse message if( !(msg.message>=WM_MOUSEFIRST && msg.message<=WM_MOUSELAST) ) { // if not system key messages - if( !(msg.message==WM_KEYDOWN && msg.wParam==VK_F10 + if( !((msg.message==WM_KEYDOWN && msg.wParam==VK_F10) ||msg.message==WM_SYSKEYDOWN)) { // dispatch it TranslateMessage(&msg); @@ -1171,6 +1171,7 @@ int SubMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int // if toggling console BOOL bConsoleKey = sam_bToggleConsole || msg.message==WM_KEYDOWN && // !!! FIXME: rcg11162001 This sucks. + // FIXME: DG: we could use SDL_SCANCODE_GRAVE ? #ifdef PLATFORM_UNIX (msg.wParam == SDLK_BACKQUOTE #else diff --git a/Sources/Shaders/ColorShader.cpp b/Sources/Shaders/ColorShader.cpp index 34bd348..4490c22 100644 --- a/Sources/Shaders/ColorShader.cpp +++ b/Sources/Shaders/ColorShader.cpp @@ -33,7 +33,7 @@ SHADER_MAIN(Color) shaDepthFunc(GFX_LESS_EQUAL); BOOL bDoubleSided = shaGetFlags()&BASE_DOUBLE_SIDED; - BOOL bFullBright = shaGetFlags()&BASE_FULL_BRIGHT; + //BOOL bFullBright = shaGetFlags()&BASE_FULL_BRIGHT; if(bDoubleSided) { shaCullFace(GFX_NONE); diff --git a/Sources/Shaders/Common.cpp b/Sources/Shaders/Common.cpp index 957c422..10d7a7a 100644 --- a/Sources/Shaders/Common.cpp +++ b/Sources/Shaders/Common.cpp @@ -18,7 +18,7 @@ with this program; if not, write to the Free Software Foundation, Inc., void DoSpecularLayer(INDEX iSpeculaTexture,INDEX iSpecularColor) { - GFXVertex4 *paVertices = shaGetVertexArray(); + //GFXVertex4 *paVertices = shaGetVertexArray(); GFXNormal *paNormals = shaGetNormalArray(); INDEX ctVertices = shaGetVertexCount(); FLOAT3D vLightDir = -shaGetLightDirection().Normalize(); @@ -100,13 +100,13 @@ void DoSpecularLayer(INDEX iSpeculaTexture,INDEX iSpecularColor) void DoReflectionLayer(INDEX iReflectionTexture,INDEX iReflectionColor,BOOL bFullBright) { - GFXVertex4 *paVertices = NULL; + //GFXVertex4 *paVertices = NULL; GFXNormal *paNormals = NULL; - paVertices = shaGetVertexArray(); + //paVertices = shaGetVertexArray(); paNormals = shaGetNormalArray(); INDEX ctVertices = shaGetVertexCount(); GFXTexCoord *ptcUVMap = shaGetNewTexCoordArray(); - Matrix12 &mObjToView = *shaGetObjToViewMatrix(); + //Matrix12 &mObjToView = *shaGetObjToViewMatrix(); Matrix12 &mObjToAbs = *shaGetObjToAbsMatrix(); CAnyProjection3D &apr = *shaGetProjection();