Added pillars, pillars' bases and capitals. (updated)
- Column nodes added (9 types x 6 shapes):
Stone, limestone, marble, sandstone, brick, wood, junglewood, pinewood
and roughstone.
- Punching a node will turn it in this way:
square column -> square column base -> square column top ->
cross column -> cross column base > cross column top -> square column.
- Digging a node will give a square column, except for sandstone and
brick columns which will give 12 sand nodes or 12 clay bricks.
- Wood, junglewood and pinewood can burn and if burnt will drop 1 ash
lump.
See merge request !57
Faster raycasting
I have modified the getPointedNode() function. The new time complexity is O(d) instea of O(d^3).
This allows greater building distances to creative players (not implemented, just possibility).
I have split the function to Map::raycast() and createHilightbox(). This makes Map::raycast() reusable in hostile creatures' AIs.
I have also fixed a bug: active objects can no longer be selected if a node blocks the sight (not perfectly accurate, but it works).
See merge request !51
Added option to restict access to only known players
Title says it all. This allows setting up a pseudo private / friends-only server that let the owner control access via auth.txt. Basically it denys access to all unknown players.
See merge request !46
Now you can not hit an active object if there is a node in front of it.
You can only select nodes if they are not farther than d. The raycasting
algorithm was sliced into raycast() and createHilightbox(). raycast()
was moved into Map so it can be used in hostile creatures' AIs.
Check LANGUAGE and LC_ALL vars before LANG
This will add checks for LANGUAGE and LC_ALL environment variables before checking LANG variable then determining language code to better match with how gettext-based apps should work.
See merge request !45