* For Duke/SW, we continually apply `SB_CENTERVIEW` only if it was previously a toggled action, similar to Blood.
* For SW, we remove two SW-specific bits (`PF_LOCK_HORIZ` and `PF_LOOKING`) that are no longer needed.
* For Duke, we remove `return_to_center` and just use the `SB_CENTERVIEW` action bit as required.
* For `sethorizon()`, feature set and adjustment speeds are an averaged out accumulation across Duke/SW:
** GameTicRate is factored in for adjustment decisions to provide consistency for SW being the faster game.
** Adjustment amounts are half way between Duke/SW.
* Looking up/down is a bit rough at first as q16look is disproportionate to where the player is currently looking.
* Won't be an issue with a unified horizon algorithm in the backend.
* Remove fix16.h/cpp and utilise library from m_fixed.h.
* Extend m_fixed.h with two inline functions for int to/from float operations.
* Replace fix16_floor operations with those from xs_Float.h
* Replace multiple Q16.16 conversions from 0 to just be 0.
* Replaced all found in-game bit-shifts and multiplications/divisions with inline functions from m_fixed.h
* Replaced many casts of FRACUNIT as double in SW's panel.cpp as it is converted to double by way of type promotion.
* Fixed missed precision fixes in SW's panel.cpp where some types weren't declared correctly.
* Replaced 100+ `Cos()/Sin() >> 16` operations for Blood with inline functions `CosScale16()/SinScale16()`.
Currently the bit fields are still separate and they have to be merged, but for now the added memory does not matter.
Having this structure in the common parts will allow work on consolidating the input code, though.
Whatever this was for it made that thing extremely unwieldy.
With these merged the resulting structure doesn't look much different from Duke's anymore.
- Touch trigger for walls fix
- It's possible to set custom clipdist for things (gModernMap only)
- Few tweaks for Custom Dude
- Player Control type fixes and updates
# Conflicts:
# platform/Windows/nblood.vcxproj
# source/blood/src/player.h
- Way better AI for Custom Dude when attacking the target
- Minor warning fixes and other updates
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/aiunicult.cpp
# source/blood/src/aiunicult.h
# source/blood/src/asound.cpp
# source/blood/src/gameutil.cpp
# source/blood/src/gameutil.h
# source/blood/src/player.h
# source/blood/src/triggers.h
- Player Control updates
- Minor modern types updates
- There was removed GDX prefix for all modern stuff
# Conflicts:
# source/blood/src/aiunicult.cpp
# source/blood/src/aiunicult.h
# source/blood/src/mapedit.cpp
# source/blood/src/player.h
# source/blood/src/sfx.h
- Added dynamic dispersion for custom dude
- Added dynamic attack distance for custom dude
- Added dynamic damage resistance scale for custom dude
- There was some refactor actions performed
- Added player RX channels for triggering the players
- Updates for modern types
- There was added player control modern type which can do a lot things. It's
still WIP
- Other updates and fixes mainly related to gModernMap
Note that your save games will be no longer compatible
# Conflicts:
# source/blood/src/actor.h
# source/blood/src/aiunicult.h
# source/blood/src/db.h
# source/blood/src/player.h
# source/blood/src/triggers.h
# source/blood/src/weapon.cpp
- Added QAV scene player (playing user animation instead of weapon)
- Added trigger event intiator for sprites (WIP and experimental)
# Conflicts:
# source/blood/src/actor.h
# source/blood/src/player.h
- AI: there is printing error message in conosole added (instead of dassert)
- Updates for Player Control modern type
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/actor.h
# source/blood/src/globals.cpp
# source/blood/src/globals.h
# source/blood/src/player.h
# source/blood/src/sound.cpp
# source/blood/src/triggers.cpp
# source/blood/src/triggers.h
# source/blood/src/view.cpp
# source/blood/src/weapon.cpp
# source/blood/src/weapon.h