diff --git a/src/d_dehacked.cpp b/src/d_dehacked.cpp index 6be9b8538..f63978190 100644 --- a/src/d_dehacked.cpp +++ b/src/d_dehacked.cpp @@ -1602,7 +1602,7 @@ static void SetPointer(FState *state, PSymbol *sym, int frame = 0) } else { - FString symname = sym->SymbolName; + FString symname = sym->SymbolName.GetChars(); state->SetAction(static_cast(sym)); // Note: CompareNoCase() calls stricmp() and therefore returns 0 when they're the same. diff --git a/src/p_3dfloors.cpp b/src/p_3dfloors.cpp index fb641ccb8..29b3295e0 100644 --- a/src/p_3dfloors.cpp +++ b/src/p_3dfloors.cpp @@ -178,8 +178,8 @@ static int P_Set3DFloor(line_t * line, int param,int param2, int alpha) l->frontsector->ColorMap = GetSpecialLights (l->frontsector->ColorMap->Color, - vavoomcolors[l->args[0]]&VC_COLORMASK, - (vavoomcolors[l->args[0]]&VC_ALPHAMASK)>>24); + (unsigned int)(vavoomcolors[l->args[0]]&VC_COLORMASK), + (unsigned int)(vavoomcolors[l->args[0]]&VC_ALPHAMASK)>>24); // l->frontsector->ColorMap->Desaturate); } alpha=(alpha*255)/100; diff --git a/src/p_3dfloors.h b/src/p_3dfloors.h index d15a1356d..6ae29e3c3 100644 --- a/src/p_3dfloors.h +++ b/src/p_3dfloors.h @@ -40,7 +40,11 @@ typedef enum } ffloortype_e; // This is for the purpose of Sector_SetContents: -enum E3DFloorContents : unsigned int +#ifdef _MSC_VER +enum : unsigned int // MSVC is apparently the only compiler that supports this syntax +#else +enum +#endif { VC_EMPTY = 0, // Here's the original values of the color shifts in Vavoom, and in ARGB: VC_WATER = 0x80825032, // 130, 80, 50, 128 -> 80.82.50.32 (was 0x101080) diff --git a/src/p_mobj.cpp b/src/p_mobj.cpp index 06c150f95..670672ec7 100644 --- a/src/p_mobj.cpp +++ b/src/p_mobj.cpp @@ -5416,7 +5416,7 @@ fixed_t AActor::GetGravity() const // (left precisely the same as MBF even though it doesn't make much sense.) bool AActor::IsSentient() const { - return health > 0 || SeeState != NULL; + return health > 0 && SeeState != NULL; }