Skip to content

MAPSTER32: Sprite's angle can't be set beyond 2047

The angle of a sprite always gets truncated to valid values (0-2047). This is good. However games such as shadow warrior use this struct value for it's TAG4, which in turn is expected to have the full range of values (-32768 to 32767) available for the mapper. Most effectors use it for angle and/or don't exceed the need of 2027. However the following are expected to be able to use the full range:

  • SECT_VATOR, Movement speed
  • SECT_SPIKE, Movement speed
  • LIGHTNING, timing for flicker
  • SOUND_SPOT, Sound number #1 (closed)
  • SECT_CHANGOR [sic], New Picnum
  • ECHO_SPOT, radius for reverb

My suggestion is that angles entered through scripting via i.e. set sprite[i].ang xx will ignore any clamping rules or that there is a specific workaround command. I don't see any need besides special cases in scripting for this.