Release Notes

Slut aims to have a stable API with version 1.0. Most of the necessary changes have been done with the step to version 0.9 and API changes to version 1.0 should be minor to negligible.

Revision 0.9

Most API changes in revision 0.9 will not break current applications but will print DEPRECATION warnings to the terminal. Some API changes, nevertheless, require changes of application code:
  • Import lines have been consolidated to: from slut.world import *
  • What was globals.world, globals.ia, globals.fps is now glo.world, glo.ia, glo.fps
  • onLMouseButtonUp/Down(), onMMouseButtonUp/Down(), onRMouseButtonUp/Down() have been consolidated to onMouseButtonUp() and onMouseButtonDown() determining which mouse button has been pressed can optionally be done with the glo.ia.LMB, glo.ia.MMB, glo.ia.RMB flags.
  • The same applies for onXMouseButtonDrag(). These methods have been consolidated to onMouseDrag().
Browsing the new example code should help clarifying the changes.
[]moveBy(), moveTo(), rotBy(), rotTo() can now take Thrust and Tween objects
  which renders the tweenXxxBy(), tweenXxxTo(), thrustXxx() methods redundant.
[]support for resizing and fullscreen toggling (by default on F11)
[]the world has a new event that is only called once upon startup: onSetup()
  this is the suggested place for initializing the application.
  This is a de facto replacement for the initialize() pattern used in
  earlier examples.
[]all attributes of the world are now set up in the onSetup(). This
  includes width, height, fullscreen, fps all of which have been
  passed to the world's constructor in earlier versions.
  Passing them to the constructor causes a deprecation warning.
  --> see new examples
[]New drawing method in the world that draws to orthographic 
  space: onDrawOrtho()
[]Tag can now be transformed just like sprites, rotations and orbits
  in orthographic projection lead to interesting effects.
  --> see new reference
[]totally revamped shading: light and material class added. Both are based
  on a context class which can be used to control just about any OpenGL
  state on a sprite/tag basis.
  []AnimatedGifMaker context that generates animated gifs from OpenGL
  --> see new examples
[]the World has a new screenshot() method
  []auto-enumerates the files based on how many items
    are already in the save path
[]sprites/tags can be removed during run time with
  []atag/asprite.remove()
[]tags are not only 2D anymore but are treated as 3D 
  elements with orthographic projections that can be
  positioned screen-pixel exact
[]all slut classes are now new-style classes
[]switched from graphical mouse point to system's one
[]optional id can be supplied to sprites upon creation
[]"from slut import globals" is now "from slut import glo"
[]automatic caching in display lists of tags removed
  and added on a higher level (Text, Box are still cached)
[]methods for canceling sprite/tag/camera thrusts and tweens
[]speed of SineThrust can now be specified, CosThrust added



PROJECT PAGE

Slut is hosted on Sourceforge. Information on how to get involved in the development can be found there.



Initiated by Stephan Hechenberger
Thanks to CADRE's 103