plMouseDevice::HideCursor can crash if it is called before the cursor is
created. This happens if the client pops up a disconnected dialog before
initialization is complete. I've seen it happen!
This is the beginning of efforts to reduce the scope of Windows.h. I have
shuttled it into hsWindows.h (again) and fixed the compilation of the
major apps. There is still some scope work that needs to be done, and the
Max plugin has not yet been addressed.
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.
Rearrange some things so such that low-level CoreLib headers aren't quite
so crazy. For higher level stuff, you still need to include the
appropriate header.
Function and macro names for endianness were previously vague,
and on big-endian systems entirely misleading. The names are
now properly descriptive of what they actually do.
This fixes an unreported bug where the avatar run-lock state can get
confused after alt-tabbing. The other key states are too volatile to
update... We never get the depressed events if they are pressed on window
activation.
It seems that silly Adam was storing a UINT scan code because MapVirtualKey
wanted a UINT. However, WM_CHAR only has a BYTE scan code in its lParam.
Therefore, we got garbage on repeated key events, which bungled up the key
binding parser.
Add support for external resource Cursors.
Add support for external resource Progress Linking Book.
Add support for external resource Voice Chat indicators.