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.
The default value of the "dst" argument must be 0, because -1 leads to incorrect results when the given time falls into local DST. However, a "dst" argument makes no sense on a method that deals with GMT anyway, so remove it entirely.
The bounds type test was performed on stale bounding data from the previous
frame resulting in the avatar being drawn without textures for a frame after
switching from 1st to 3rd person camera.
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.