Previous revision didn't work, many controls retained their shadows because they never got the new flags from the color scheme and put them into the dynamic text map. I haven't checked if any more of the many control classes are affected, but those that we need in the KI right now are covered.
- 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
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.
The previous implementation had the following bugs:
- DST was truncated to end of October
- DST start was off by one week in years where March 1st is a Monday
- DST start was off by one second (1:59:59 -> 2:00:00 -> 3:00:01 instead of the correct 1:59:59 -> 3:00:00 -> 3:00:01)
Tested against tzdata 2009g.
_PyTuple_Resize may destroy the original tuple and return a new one through the pointer argument. When it does that and we don?t put the new one back into the map, we end up with a stale pointer to a destroyed object in the map, which is likely to blow up one way or another next time it?s accessed.
Untested because, as far as I can see, this code isn?t actually used currently. All uses of this method deal with fixed-size SDL variables. Resizable variables are not used at all in age SDL, only in non-age SDL (animation, avatar, clothing etc.), and I?m not even sure if those are even accessible using this Python API.
Fixes egg room private chat channels and entering Teledahn buckets with Python 2.7. These and other uses of ptSDL.setIndex() only worked by chance with Python 2.3 because the tuples happened to have reference counts of 1.