mirror of
https://github.com/zenorogue/hyperrogue.git
synced 2024-11-27 14:37:16 +00:00
Fix a couple of issues in MSVC related to min
and max
.
MSVC apparently thinks that the result of arithmetic promotions on an `unsigned:4` bitfield is `unsigned`, not `int`; which then causes it to fail to deduce whether the `T` in `min<T>` should be `unsigned` (the type of the LHS) or `int` (the type of the RHS). Clang and GCC agree that the result of arithmetic promotions on an `unsigned:4` bitfield should be `int`, so they don't see any ambiguity here.
This commit is contained in:
parent
eac2ce1168
commit
f10f5a29b2
2
game.cpp
2
game.cpp
@ -1848,7 +1848,7 @@ void stunMonster(cell *c2) {
|
||||
int newtime = (
|
||||
c2->monst == moFatGuard ? 2 :
|
||||
c2->monst == moSkeleton && c2->land != laPalace && c2->land != laHalloween ? 7 :
|
||||
c2->monst == moTerraWarrior ? min(c2->stuntime + 8 - c2->hitpoints, 7) :
|
||||
c2->monst == moTerraWarrior ? min(int(c2->stuntime + 8 - c2->hitpoints), 7) :
|
||||
isMetalBeast(c2->monst) ? 7 :
|
||||
c2->monst == moTortoise ? 7 :
|
||||
c2->monst == moReptile ? 7 :
|
||||
|
@ -253,6 +253,7 @@
|
||||
#if ISWINDOWS
|
||||
#define hyper fake_hyper // avoid "hyper" typedef in <_mingw.h>
|
||||
#define WIN32_LEAN_AND_MEAN // avoid "rad1" macro in <windows.h>
|
||||
#define NOMINMAX // avoid "min" and "max" macros in <windows.h>
|
||||
#endif
|
||||
|
||||
#include <stdio.h>
|
||||
|
Loading…
Reference in New Issue
Block a user