SINGE 2.10
==========

  Released March 26th, 2024


New Features
------------

- spriteDraw() now has two more forms.  In addition to being able to draw
  regular sprites and streteched sprites it can now draw both using the
  sprite's center as the anchor instead of the upper right.  This is highly
  useful when dealing with rotated sprites.

- Animated sprites!  Both animated GIF and WEBP images are supported.

- Sprite anti-aliasing, scaling and rotation!  Optional separate X & Y scaling.

- Video anti-aliasing, scaling and rotation!  Optional separate X & Y scaling.

- Multiple audio track support for videos.  New command line options to select
  which default audio track you want (-o or --audio).  For games with multiple
  languages, you can specify AUDIO_TRACK in the games.dat as well.

- New keyboard methods to make handling input easier, especially multiple
  keypresses for diagonal movement.

- controllerGetButton() added.

- SINGE_DEAD_ZONE global variable now available based on the DEAD_ZONE
  controller configuration option.

- SINGE_FRAMEWORK_VERSION variable added.

- DIR variable added providing directory to the running script.

- All new Lua library handling.  Previously Singe "injected" libraries
  directly into the script context.  Now there is a proper Lua module search
  handler.  Scripts can properly require() modules from the following:
    - Lua Standard Library
    - Lua Auxillary Library
    - LuaFileSystem
    - LuaSocket
    - LuaSec
    - LuaRS232
    - timerwheel
    - binaryheap
    - Copas
    - json

- New command line option:  -p (or --program).  This is similar to the
  existing -t (or --trace) option.  Where "trace" displays and logs script
  execution, "program" displays and logs Singe internals.  This should make
  troubleshooting difficult setups and odd script crashes easier.

- Auto-installer for the new GAME, TOOL, and PATCH archive formats to make
  managing games easier.

- ZeroBrane Studio (https://studio.zerobrane.com) integration for live
  debugging of running Singe scripts!  A full IDE for developing games!


Fixes
-----

- USB controllers now work in games launched from the included menu.

- Default controller DEAD_ZONE increased.

- Framework.singe was missing keyboard mode constants.  MODE_NORMAL and
  MODE_FULL are now included.

- SINGE 2.00 added two new input events but never had them in the framework.
  SWITCH_BUTTON4 and SWITCH_TILT are now available.

- Taking screenshots could sometimes crash Singe.

- PNG files no longer generate warnings on the console.

- Non-VLDP videos now honor command line volume settings.

- Menu system now performs "natural sorting" of game titles instead of brain
  dead "computer sorting".  It should make a lot more sense paging through
  games now.

- Building Singe depended on a lot of undocumented software cobbled together
  from other projects.  This has been vastly improved and should be usable by
  actual humans now.  Humans running Linux anyway.


------------------------------------------------------------------------------


SINGE 2.00
==========

  Released October 25th, 2020


New Features
------------

- Complete rewrite!  No more dependency on Daphne.

- Support for almost every (non-patent encumbered) video and audio format
  that can be played by FFMPEG.

- High definition video.

- 32 bit color.

- Additional videos can be played on top the laserdisc video.

- Scaled sprites.

- Graphics overlay resolution no longer dependent on video resolution.

- Analog controllers.

- LuaSocket and LuaFileSystem added to runtime.

- Ability to chain scripts together for menus or launchers.

- Specify if you want gun games to display on-screen crosshairs or not.

- Menu for launching games included.

- Many updates to Framework.singe to support the new APIs.

- New APIs:
  - controllerGetAxis
  - discGetHeight
  - discGetWidth
  - fontUnload
  - mouseGetPosition
  - mouseSetCaptured
  - overlayBox
  - overlayCircle
  - overlayEllipse
  - overlayLine
  - overlayPlot
  - overlaySetResolution
  - scriptExecute
  - scriptPush
  - singeWantsCrosshairs
  - soundUnload
  - spriteGetHeight
  - spriteGetWidth
  - spriteUnload
  - videoDraw
  - videoGetFrame
  - videoGetFrameCount
  - videoGetHeight
  - videoGetVolume
  - videoGetWidth
  - videoIsPlaying
  - videoLoad
  - videoPause
  - videoPlay
  - videoSeek
  - videoSetVolume
  - videoUnload


------------------------------------------------------------------------------


SINGE 1.14 - 1.19
=================

  Released ?


Notes
-----

- Unofficial fan builds.
- Stand-alone releases.


New Features
------------

- New API functions:
  - discPauseAtFrame
  - mouseEnable
  - mouseDisable
  - mouseHowMany
  - mouseSetMode
  - singeDisablePauseKey
  - singeEnablePauseKey
  - singeGetScriptPath
  - singeSetGameName
  - soundFullStop
  - soundGetVolume
  - soundIsPlaying
  - soundPause
  - soundResume


------------------------------------------------------------------------------


SINGE 1.10 - 1.14
=================

  Released ?


Notes
-----

- Unofficial fan builds.
- DLL releases for Daphne.


New Features
------------

- New API functions:
  - discGetState
  - keyboardGetMode
  - keyboardSetMode
  - singeGetPauseFlag
  - singeSetPauseFlag
  - singeQuit
  - singeVersion
  - soundStop


------------------------------------------------------------------------------


SINGE 1.00
==========

  Released 2006


Notes
-----

- Original add-on for Daphne.
- Shipped with the ActionMax "emulator" and games.

