- Took the opportunity and fixed the logic for the Skull Rod's rain spawner. The old code which was part of the 3D floor submission was unable to work with portals at all. The new approach no longer tries to hide the dead projectile in the ceiling, it leaves it where it is and changes a few flags, so that its z-position can be used as reference to get the actual ceiling. This works for line portals, but for sector portals still requires some changes to sector_t::NextHighestCeilingAt to work, but at least this can be made to work unlike the old code.
- added names for the player-related translations to A_SetTranslation.
- fixed: Failure to resolve a function argument was checked for, too late.
- made the parameter for A_SetTranslation a name instead of a string, because it is more efficient. We do not need full strings here.
These objects are supposed to be bright, but the standard translations for player do not take this into account, creating dark and/or invisible projectiles depending on the color being used.
The new translation uses hue and saturation from the player color, but combines brightness from the original color with the one for the player in an 8:2 ratio, so that no matter for the player color, these always remain bright and visible.
passes doubles to functions anyway.
- Fixed: FRemapTable::AddDesaturation() excluded the final entry from the loop. Also, it was
less forgiving than AddColorRange, in that it did not support ranges in descending order.
SVN r3875 (trunk)
The graphics are already mapped through this, so we don't need to do it again when translating.
Moreover, if there was no duplicate of color 0, but there was a different color with a
duplicate, this means we end up drawing players with the duplicated color wherever it should
be color 0. (Standard translations already had this right.)
SVN r3417 (trunk)