1
0
mirror of https://github.com/zenorogue/hyperrogue.git synced 2024-12-27 02:20:36 +00:00
Commit Graph

6 Commits

Author SHA1 Message Date
Arthur O'Dwyer
f10f5a29b2 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.
2018-07-08 22:19:30 -07:00
Arthur O'Dwyer
53d8f8701d Switch out "dirent.h" for Windows.
The new version comes straight from
https://raw.githubusercontent.com/tronkko/dirent/master/include/dirent.h
2018-06-29 16:03:25 -07:00
Arthur O'Dwyer
034514778d Avoid two more encroachments by Windows into the user's namespace.
"hyper" is described here: https://sourceforge.net/p/mingw/mailman/message/8593274/

"rad1" is described here: http://lolengine.net/blog/2011/3/4/fuck-you-microsoft-near-far-macros
2018-06-27 03:12:48 -07:00
Arthur O'Dwyer
db3e5d1009 Minor fixes for Mac and MinGW.
Eliminate a format-string warning by using less template magic:
https://stackoverflow.com/questions/12573968/how-to-use-gccs-printf-format-attribute-with-c11-variadic-templates

Fix one `%Ld` in `rogueviz.cpp` that should have been `%lld`.

Rename `savepng.c` into `savepng.cpp` so that we don't have to care about
the system's C compiler; it builds fine using the same C++ options as
HyperRogue itself.

Figure out how to get `-DCAP_PNG` and `-DCAP_ROGUEVIZ` working on Mac,
and document them.
Assume that roughly the same things should also work on MinGW.

Consistency on `STDSIZE`, even though it doesn't suffice for C++17 conformance.
It *almost* suffices; the one place where Clang still complains even with
`-std=c++17 -DSTDSIZE -Wno-sign-compare` is here:

    ./fieldpattern.cpp:757:51: error: non-constant-expression cannot be narrowed from type 'unsigned long' to 'int' in initializer list
          [-Wc++11-narrowing]
          ex.primes.emplace_back(primeinfo{nextprime, size(fp.matrices) / S7, (bool) fp.wsquare});
                                                      ^~~~~~~~~~~~~~~~~~~~~~

So, we fix that up too, in this patch.
2018-06-16 23:20:50 -07:00
Zeno Rogue
56baba800b moved more includes to sysconfig.h 2018-06-12 23:10:20 +02:00
Zeno Rogue
4c619e60dd moved all the HyperRogue stuff except RogueViz to namespace 'hr' -- useful when using hr as a library 2018-06-11 01:58:31 +02:00