Useful Routines

The functions in this section implement useful functionality that isn’t provided by the OS or any of the typical libraries.

Some of the routines provided here come from the Cemetech forum’s Useful Prizm Routines thread, and that thread may have other functions that are not (yet?) here as well.

Keyboard Routines #

Hardware Interface Routines #

Graphical Routines #

  • CopySpriteMaskedAlpha - Copy a sprite with an alpha mask onto the screen
  • HeightColor - Convert a value between a maximum and a minimum value into a color.
  • DrawDialog - Draws a DCS SmallWindow-style dialog box
  • MakeGray - Make a 5-6-5 color gray
  • DrawLine - Draws a line. Uses the Bresenham line algorithm
  • Plot - Draw a point of color
  • FillArea - Fill a rectangular area of VRAM
  • Non-blocking_DMA - Do other stuff while drawing to the screen.

SourceCoder-Compatible Sprites/Images #

  • CopySprite - Works for 16-bit images and sprites

These routines work particularly well with the 8-bit, 2-bit, and 1-bit indexed data output from SourceCoder.

Text #

  • PrintMiniFix - Print a text on the screen in mini/small (glyph) font
  • Menu - Displays a menu system similar to Geometry plugin’s one and returns the selected value.

Math Routines #

  • floor - Implementation of math.floor (PrizmSDK does not have a math.floor)