and reenable as much USE_BINK_SDK stuff as empirically needed to get the Yeesha intro movie cave to disappear on its own, as before merging Cyan's Build 918.
Not the cleanest way, but I'm trying to minimize effort spent on this until we can get the proper solution, VP9 video support, from https://github.com/H-uru/Plasma/pull/458 .
- plCCRMgr.h which is still needed by plAvatarMgr.cpp (plCCRError only - if there is more in this file at Cyan, that definition should be split out into a separate header)
- Stubs for pyCCRMgr{|Glue|Glue2}.cpp which are still part of the pfPython project as well as pfCCRConsoleCommands.cpp which is still part of the pfConsole project. This is under the assumption that these files still exist with nontrivial contents at Cyan - if not, they could just be removed from the projects. Requires adjustment by Cyan to build with PLASMA_CCR_RELEASE.
- Put more missing includes and calls under #ifdef PLASMA_CCR_RELEASE
MarkD: My thought was for the long term was to put most of the differences in the project and solution configurations, so there would be less differences in the sources. EAX is a good example - I put the #define for EAX_SDK_AVAILABLE in the projects that used it with the thinking that the fans would create new projects that would not have EAX_SDK_AVAILABLE and would create and use a different configuration in the AllClient solution. Cyan would use the "Release" config and the fans use something like "Release-ou" to build with. But maybe there are just too many differences.
MarkD: We felt that the fan de-BINKing did not go far enough.
CW: I suspect (haven't tested yet) that it's the cause of the bug that we see on MOULa but did not on Minkata where the rotating wall behind the missing Yeesha intro video stays indefinitely, with no obvious way out for the player, until it occurs to them to use the ESC key
MarkD: Ah. I think you are right. An oversight that can be easily corrected - maybe in the python code so that Ian can see the rotating wall for a few seconds and then auto continue on.
In particular, the intro movie now exits immediately again rather than staying indefinitely.
The important difference is to send the completion callback in plBinkPlayer::NextFrame(), i.e. act as if we had reached the end of the movie.
Storing the filename is to keep plClient::IHandleMovieMsg() from deleting and recreating the plBinkPlayer on every message.
The changed return values are just to better match the previous behavior and probably don?t matter.
To better handle erroneous trigger events under the new timing method, use the number
of times the simulation has actually advanced instead of the number of evals received.
Cleaned up a bit.
Provides more accurate interaction with detectors when the avatar is moving up or down.
Also decreases the severity of the PhysX trigger hull bug in some detectors.
This change doesn't affect world collisions.
This hack prevents the cursor from leaving the window when panning the
camera or changing directions quickly. This is important for those with
high mouse sensitivities.
While based heavily on the old implementation, this is essentially a rewrite.
Notable changes -
Controllers are now updated at the same fixed frequency as the simulation.
Resulting output is interpolated between steps to precisely match the frame delta.
Physics work is only done when enough time has passed to perform a step.
The kinematic actor that followed around the controller has been removed.
The underlying kinematic actor created by the NxController is now used for triggering.
A new sim group was added for a kinematically controlled avatar.
2 unused files removed -
plPXPhysicalController.h & plPXPhysicalController.cpp
plMovementStrategy classes have been reworked and completely replace all plAvatarControllers.
While based on the old implementation, plPhysicalControllerCore has essentially been rewritten.
Remnants of long gone physical "actions" have been removed.
4 files removed -
plAVCallbackAction.h & plAVCallbackAction.cpp
plAntiGravAction.h & plAntiGravAction.cpp
This revision will not compile, requires new plPXPhysicalControllerCore implementation.