All games combined there's 11(!!!) scene render blocks, not counting the sub-blocks for ROR and mirrors.
Does it surprise anyone that most of these sub-blocks do not feature all engine capabilities?
Not tested and probably still not working correctly, the entire feature was a nearly impenetrable mess of convoluted code. This definitely needs verification with multiple mods using it.
- 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
- Fix Custom Dude genIdle aistate
- Fix grown and shrink races
- Fix qav scene was not able to stop if sprite is locked
- Fix stupid error in gDefaultJump array
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/view.cpp
- hooked up all front ends with a generic message printing function so that common code can access the native message displays. This is needed for consolidation of some input actions which are mostly identical but print messages.
- preparations for a generic message system.
Now this was magnitudes easier than the EDuke menu - NBlood's menu is actually clean and usable code but still nothing compared to a unified menu system.
- 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
Also removed the entire cruft related to this - the pointless offsetting value and the precalculation of the timer value (as if we could not afford a single division for something that WAITS!
Unfortunately this required removal of the menu option for the time being.
This is going to be a lot of work consolidating the 3 frontends' settings but a necessary evil for eventually getting Shadow Warrior to work as it is quite lacking here.
- 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
- consolidated Polymost precaching and removed precaching for static tiles because they now are always loaded.
- removed cache configurability. On modern systems this is relatively pointless - allocating 50 or 100 MB is a non-issue - and the cache is due for replacement anyway.
- Added names for sprite, wall and sector types
- Added gModernMap protection for using new features only on different version of map
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/callback.cpp
# source/blood/src/callback.h
# source/blood/src/triggers.h
Sorry, but having a globally writable pointer to every texture is just insane and makes any functional management impossible.
This is merely a preparation for adding a real texture manager. That cannot be done if any code can write over the data at will. For that, it now has to make the texture writable first or create a writable empty texture.
- Added names for system RX/TX channels
- Detect if map requires new features to work properly via special TX and command
- Effect Gen update
# Conflicts:
# source/blood/src/actor.cpp
# source/blood/src/eventq.h
# source/blood/src/triggers.cpp
# source/blood/src/triggers.h