| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
This allows us to more easily add or remove those hooks on existing unrands.
The data type has also been changed to FixedBitVector from unsigned short,
allowing the expanded ring slots to be referenced.
|
|
|
|
|
| |
and use it to speed up counting runes in a few places.
Vaults and Zot entrances report activated runes by name, so weren't updated.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
This patch reimplements 1D and 2D FixedBitVectors in terms of std::bitset.
The 1D FixedBitVector can probably be deleted in its entirety.
bit_vector could be replaced with boost::dynamic_bitset, if we were willing
to introduce a dependency on Boost.
Stress tests demonstrate a tiny improvement in timings.
|
|
|
|
|
| |
This caused an error with clouds and LOS due to an implicit copy
having undefined behaviour and not working properly in MSVC.
|
|
|
|
|
| |
Via externs.h -> bitary.h, it was effectively included by everything anyway,
and this way simplifies include chains.
|
|
|
|
|
| |
The only cost is having assignments be a function, as you can't overload
operator[] to have separate bits be lvalues.
|
|
|
|
|
|
| |
Not sure why, but I was getting this:
bitary.h:47: error: 'ARRAYSZ' was not declared in this scope
|
| |
|
| |
|
|
|
|
|
|
|
| |
This works only for reading, as we can't return a reference to a single bit.
Also, [x][y] doesn't work either: FixedArray can return a column vector
which then can be dereferenced further, bit arrays here are packed so
returning a slice would require a whole new class.
|
|
|
|
| |
There was get() but not set().
|
| |
|
| |
|
| |
|
|
|
|
| |
Also, it's not vulnerable to changes to the underlying types.
|
| |
|
| |
|
|
|
|
|
|
|
| |
"File:" is shown in your editor's status bar.
"Written by:" was used only for the first person who changed a file. We got
git for that now, and pre-DCSS history is so woefully inaccurate it doesn't
really matter.
|
|
|
|
|
| |
Anything that had more than constructors, const or static member functions,
or operator definitions were considered acting like classes.
|
| |
|
|
|