Remove vm::ptr operator %
This was a bad idea but explicit_bool_t was created almost for it
Other removed types are unused and have little to no meaning
- The x value contains the VP output value interpolated across primitive surface
- The y coordinate contains the fog fraction according to the selected fog formula
Remove "atomic operator" classes
Remove test, test_and_set, test_and_reset, test_and_complement global functions
Simplify atomic_t<> with constexpr if, remove some garbage
Redesign bs_t<> to use class, mark its methods constexpr
Implement atomic_bs_t<> for optimizations
Remove unused __bitwise_ops concept (should be in other header anyway)
Bitsets can now be tested via safe bool conversion
cellMicEnd would get stuck waiting for the cellMic thread to finish, but
it never does because micInited is still true.
Fixes Resistance: Fall of Mankind getting stuck after the menu
Utilities/Log.cpp: In member function 'void logs::file_writer::log(logs::level, const char*, std::size_t)':
Utilities/Log.cpp:559:9: error: 'memcpy' is not a member of 'std'
std::memcpy(pos, text, frag);
^~~~~~
Utilities/Log.cpp:559:9: note: suggested alternative: 'empty'
std::memcpy(pos, text, frag);
^~~~~~
empty
Utilities/Log.cpp:560:9: error: 'memcpy' is not a member of 'std'
std::memcpy(m_fptr, text + frag, size - frag);
^~~~~~
Utilities/Log.cpp:560:9: note: suggested alternative: 'empty'
std::memcpy(m_fptr, text + frag, size - frag);
^~~~~~
empty
Utilities/Log.cpp:564:9: error: 'memcpy' is not a member of 'std'
std::memcpy(pos, text, size);
^~~~~~
Utilities/Log.cpp:564:9: note: suggested alternative: 'empty'
std::memcpy(pos, text, size);
^~~~~~
empty
Utilities/sync.h: In member function 'int futex(int*, int, int, const timespec*, int*, int)::futex_map::operator()(int*, int, int, const timespec*, int*, uint)':
Utilities/sync.h:110:20: error: 'find' is not a member of 'std'
map.erase(std::find(map.find(uaddr), map.end(), ref));
^~~~
Utilities/sync.h:110:20: note: suggested alternative: 'rend'
map.erase(std::find(map.find(uaddr), map.end(), ref));
^~~~
rend