Intended to make KI text (player list and chat) better readable on light and patterned backgrounds. In this WIP, all text on GUI controls is rendered shadowed.
This fixes the irregular dark fringes around light text when not exactly pixel-aligned that are caused by independent interpolation of color and alpha. It also makes calculations simpler for things to come.
In addition to being a prerequisite for shadowed text, this also fixes an issue sometimes seen at the bottom of the mini KI player list where characters with a descender were missing.
_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.
Same look as in 760606d except for the linking book, which got a slight
curvature on the pages (inspired by Deledrius' one, 99bda8c).
The SVG is hand-tweaked to work around some differences in rendering between
rsvg and Inkscape. I hope editing it in Inkscape again won't break the tweaks,
check the diff closely if you do!
Effects (blurred shadows) appear to be clipped to the SVG viewport by rsvg,
which is why drawing the whole SVG shifted for the book cursors no longer
works and we shift individual layers inside the SVG instead.
Cyan's resources were loaded into the array in reverse order,
requiring the images to appear count-clockwise. This is no
longer the case, as the array is now built in frame order.
Add support for external resource Cursors.
Add support for external resource Progress Linking Book.
Add support for external resource Voice Chat indicators.
As for other library dependencies, source and binaries are no longer included but must be installed separately.
The file layout has changed in one detail: zlib headers are now under XPlatform/zlib rather than XPlatform/zlib/inc. Rather than working around that by moving the headers after the build, I've updated those projects relying on that that I could find, hope it doesn't upset any that are not here.
Installation instructions:
1. Download zlib126.zip (or a newer version) from http://www.zlib.net/ , extract the zlib-1.2.6 folder it contains and move/rename it to MOULOpenSourceClientPlugin/StaticSDKs/XPlatform/zlib .
2. Download lpng1510.zip (or a newer version) from http://libpng.org/pub/png/libpng.html , extract the lpng1510 folder it contains and move/rename it to MOULOpenSourceClientPlugin/StaticSDKs/XPlatform/png .
3. Open png/projects/visualc71/libpng.sln in Visual Studio 2003.
4. Select "LIB Debug" from the Solution Configurations popup menu in the toolbar, then Build > Build Solution.
5. Select the "LIB Release" configuration and build the solution.
6. Make a new folder png/lib and move png/projects/visualc71/Win32_LIB_Debug/libpngd.lib as well as png/projects/visualc71/Win32_LIB_Release/libpng.lib into it.
7. Make a new folder zlib/lib and move png/projects/visualc71/Win32_LIB_Debug/ZLib/zlibd.lib as well as png/projects/visualc71/Win32_LIB_Release/ZLib/zlib.lib into it.