Don't crash the launcher when the HTTP request for getting the server status message fails
This should fix the crash in UruLauncher.exe after starting UruExplorer.exe, reported by Treehugger at http://forums.openuru.org/viewtopic.php?p=8976#p8976 . It is the same issue as addressed in pull request #31 for the login dialog.
Untested because testing it is hard when the launcher patches itself out.
Let ptVault.setAgePublic accept ptVaultAgeInfoNode in addition to ptAgeInfoStruct
In this case it now also works for non-owners of the age. Previously it only worked for owners because the ageInfoStruct does not contain the vault node ID, so it needed to be looked up somewhere, and that was in the AgesIOwnFolder.
Prerequisite for hood auto-bump (MOULSCRIPT-ou PR #22).
From H-uru/Plasma#461.
Shadowed Chat and Player List Text
This implements the (existing but unimplemented) plDynamicTextMap::kFontShadowed flag, making the text of the mini KI (player list and chat) better readable on light and patterned backgrounds.
For best results, an additional Python change is recommended: MOULSCRIPT-ou PR #23.
From H-uru/Plasma#392.
Fix for forgotten logins when removable media attached.
Incorporated suggestions from PR #32 which this replaces. Moved CloseHandle as suggested.
Addresses JIRA CWE-37 Corrects incorrect assignment of drive letter to the drive actually being interrogated and ignores removable drive types such as CD/DVD and USB Flash and HDs.
Alternative solution that moves login credentials to the registry is being prepared by Deledrius - H-uru/Plasma PR#448 may be a better long term fix - I'm simply offering what I have.
Don't crash when the HTTP request for getting the server status message fails
This fixes the crash that keeps Windows 7 users out of the game when support.cyanworlds.com is down, reported with some regularity e.g. at http://mystonline.com/forums/viewtopic.php?f=40&t=27352 .
Apparently on Windows 7, unlike on Windows XP and contrary to its documentation, WinHttpReadData() does not zero its lpdwNumberOfBytesRead argument when called with an invalid request, so the lack of error checking here bites.
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 .
In this case it now also works for non-owners of the age. Previously it only worked for owners because the ageInfoStruct does not contain the vault node ID, so it needed to be looked up somewhere, and that was in the AgesIOwnFolder.
Also, the text of the faded-out player list is re-rendered with alpha == 0 every time the mouse enters its area, do a little less needless work in that case.
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.
The fix (adding adjustment of fRenderInfo.fDestPtr) made kRenderJustXForceLeft behave as intended (left-aligning the edge of the bitmap rather than the side bearing of the first character) but cuts off shadows in some places (e.g. at the left edges of "BUDDIES" and "NEIGHBORS" in the mini KI). To ensure enough space for the shadow, and considering that all content was developed and visually optimized with the bug in place, it seems better to preserve the buggy behavior and make kRenderJustXForceLeft work exactly like kRenderJustXLeft.
- 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
Free the cursor, update
Updates to pull request #21 by Hoikas that fix the issue that quick mouse moves while walking/looking by mouse could get the cursor out of the window and break the continuous turning.
From H-uru PR #221 "Window fixes".
Fix remote code execution through Python.Cheat and Python.RunFile
An exploit fixed by boq. Original pull request: https://github.com/H-uru/Plasma/pull/218
This somewhat modifies the syntax used for running Python.Cheat; it's still easier to use it directly in Python, though.
Avatar physics update
A significant and much needed cleanup of the avatar physics code. It resolves numerous issue with and greatly simplifies the physx character controller implementation.
While there is still room for improvement, this is a good starting point.
Avatars now jump consistently, regardless of cpu speed. Fixes unexpected camera transitions with entering/exiting some subworlds. (Teledahn elevator) Fixes a jitter in animated subworlds. (Er'cana harvester) Dynamic controllers are correctly positioned on the ground. (Jalak) Much improved interaction with dynamic physicals.
Other physics related issues may or may not be addressed.
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.
Fix improperly calculated window size in initial Windowed mode.
User visible effect: This changeset removes an (in)visible grid of seams or blurriness in the client window. They are most noticeable when moving the cursor over them.
Window shouldn't have a resizing border.
Improved Cursors
This is the second attempt at getting the following improvements to the Uru mouse cursors into CWE-ou:
* fix the blurriness
* add a subtle shadow to fix cursors being invisible on light backgrounds
* cleaner, more regular appearance
A (slightly outdated) picture for comparison is at http://forums.openuru.org/viewtopic.php?t=558&p=4265#p4265 , and anyone who has played on Gehn, TOC, or any other shard using the H'uru client has already seen the new cursors.
In order to do this properly, in a way that will continue to work in a cross-platform future, a lot of work done by Deledrius in the H'uru fork is included: He added PNG support to Plasma and introduced a client resource manager that loads resources such as the cursors, but also voice chat indicators and the loading linking book animation, which were also replaced by higher-quality recreations, fromfile instead of from Windows resources. resource.data
This also opens the way for other applications of PNG, such as saving the local copies of KI pictures in a lossless format instead of the heavily compressed JPEG we currently have.
Note: the new code requires a newer version of libpng than included with the CWE sources. Like other library dependencies, this must be installed separately. Instructions for that are at http://wiki.openuru.org/index.php?title=Build_the_client_with_MSVC_2003#Build_steps .