Skip to content
Michael Bayne edited this page Apr 16, 2013 · 38 revisions

Release Notes

  • The complete list of API changes for the most recent release is available.

TP v1.7

Everywhere:

  • Most update methods were changed to take an int delta to match the changes to PlayN, and most paint methods were changed to take an instance of Clock. This allows certain calculations to be performed once-per-frame instead of repeatedly by half a dozen subsystems. Your game should be updated to use a pattern like the following:

      class MyGame extends Game.Default {
        public MyGame () {
          super(UPDATE_RATE);
        }
        public void update (int delta) {
          _clock.update(delta);
          _screens.update(delta);
          _particles.update(delta);
          _sounds.update(delta);
          // ..etc..
        }
        public void paint (float alpha) {
          _clock.paint(alpha);
          _screens.paint(_clock);
          _particles.paint(_clock);
          // ..etc..
        }
        private Clock _clock = new Clock.Source(UPDATE_RATE);
        private ScreenStack _screens = new ScreenStack();
        private Particles _particles = new Particles();
        private SoundBoard _sounds = new SoundBoard();
        private static final int UPDATE_RATE = 33;
      }
    

TPUI:

  • Elements that supported icons now take an Icon class rather than Image. Use Icons image to easily turn an Image into an Icon.
  • Various new widgets. See API changes for full details.
  • Added Constraints maxWidth/maxHeight/maxSize constraint builders.
  • Boolean style constants can now be expressed as Style.FOO.on and Style.FOO.off in addition to Style.FOO.is(true) and Style.FOO.is(false).

TPAnim:

  • Fixed bug with calling cancel on an animation that was just about to start. Also Animation.Handle.cancel no longer returns a boolean value.
  • Animation durations were always specified in milliseconds, but various places in the code and documentation talked about seconds. The code and documentation has all been normalized to use and talk about milliseconds.

TPPlatform:

  • Beginnings of native text field support for Java.
  • Various enhancements to native text field support on iOS. See API changes.

TPUtil:

TP v1.6

TPUI:

  • Added Scroller makeVisible.
  • Added LongPressButton which supports both a normal press interaction and a long-press interaction.
  • Added AxisLayout.Policy CONSTRAIN off-axis sizing policy.
  • Added Field MAXIMUM_INPUT_LENGTH style.
  • Added TableLayout colspan for configuring a column span on an element.
  • Added ValueLabel.
  • Added Style ICON_CUDDLE and UNDERLINE (the latter for underlined text).
  • Added TableLayout.Column free to allow weighting of free columns.

TPAnim:

  • Added AnimGroup for creating a group of invoked-in-parallel of animations that are either added to an Animator later, or are added to a serial animation chain.
  • Moved animation creation methods from Animator to AnimBuilder. Animation then now returns an AnimBuilder which is a cleaner design.
  • Clarified behavior of Animator add and then, made then freak out if used incorrectly.
  • Fixed bugs with repeating animations.

TPSound:

TPParticle:

  • Added Transform randomScale and randomOffset.

TPFlump:

  • Various bug fixes and small API improvements. See API changes.

TPPlatform:

  • Added NativeTextField Validator and Transformer for (native) text validation and transformation.

TPShader:

  • TintingShader was removed as PlayN layers now support tinting directly.

TPUtil:

TP v1.5.1

  • Mainly this release is to track the PlayN 1.5.1 patch release.
  • Various dependency updates: React 1.3.1, Pythagoras (inherited from PlayN) 1.3.2.

TP v1.5

  • Added the gesture package for touch gesture recognition.
  • Added a framework for native extensions to TriplePlay (in the platform package), and NativeTextField (only implemented on iOS) for overlaying a native iOS textfield onto the PlayN view.
  • Added a number of new TPUI widget classes: Menu, Scroller, Tabs.
  • Added SoundBoard and associated sounds for easily managing sound effects and music.

TP v1.4

TPUI:

  • Added Style ACTION_SOUND for playing a sound when buttons are clicked, etc.
  • Added Style BACKGROUND support to all elements (previously it only worked for TextWidget derivatives and [Group]).
  • Added Shim constructor that takes Dimension.
  • Added Background alpha for making backgrounds translucent.
  • Added Slider setWidth.
  • Added SizableWidget.
  • Added TableLayout alignTop and alignBottom for configuring vertical alignment of cell contents.
  • Root wasRemoved is now properly called when a root is removed and/or destroyed.

TPAnim:

TPGame:

  • Added page turn transition (via ScreenStack pageFlip). Uses a custom shader (for real 3D-ness) and thus only works on GL-based backends.
  • Added flip transition (via ScreenStack flip). Uses a custom shader (for real 3D-ness) and thus only works on GL-based backends.
  • Added ScreenStack remove(Predicate) for removing all screens that match a predicate.
  • Added AbstractTransition onStart/onComplete.
  • Fixed issues when screen transitions are interrupted (by starting a new transition).

TPUtil:

TPParticle:

  • New particle system. See Demo for examples.

TPSound:

TPSyncDB:

  • SyncDB is a new system for syncing a set of persistent data across a set of clients (via a server). Think syncing local game state across multiple mobile clients and/or web clients. Supports offline play with accumulation of changes and merging of those changes into the shared database with conflict resolution. Not fully implemented.

TPFlump:

  • Beginnings of player for Flump animations.

TPDemo:

  • Extracted all of the demos into a standalone demo project.

TP v1.3

TPUI:

  • Removed focus support, modified Field to always use Keyboard.getText.
  • Added CheckBox.
  • Added Slider setIncrement and Slider setThumb, made Slider use configured background style.
  • Added Element getStyleClass.
  • Added Background roundRect.
  • Added TextConfig.
  • Added FlowLayout.
  • Added AxisLayout stretch.
  • Added Style SHADOW_X and SHADOW_Y.
  • Added Style TEXT_EFFECT.vectorOutline, OUTLINE_WIDTH, OUTLINE_CAP, and OUTLINE_JOIN.
  • Changed Style TEXT_EFFECT.outline to Style TEXT_EFFECT.pixelOutline
  • Added TableLayout.Column copy.
  • Added Interface roots.
  • Revamped TextWidget which resulted in changes to Button and Label.
  • Clicks are now ignored by non-enabled widgets.
  • Fixed issue where text was positioned on non-integral-pixels in HiDPI mode.

TPAnim:

  • Added Animation from and to that take a Point.
  • Added Animator setVisible, addAt.
  • Added Animator flipbook, flipbookAt and Frames, SimpleFrames, PackedFrames.
  • Added a tool to create packed frame images. See tripleplay.tools.FramePacker.
  • Improved flow when transitioning between animations (no longer does it force a frame to elapse when one animation ends and then next starts).

TPGame:

TPUtil:

TP v1.2

TPUI:

  • Added TogglableTextWidget and ToggleButton.
  • Added BorderLayout, like AWT's layout of same name.
  • Added AxisLayout stretchByDefault.
  • Added Field focus(), Field maybeFocus() for setting focus programmatically.
  • Modified Field to use Keyboard getText on platforms with no hardware keyboard.
  • Added Scale9Background and Background scale9.
  • Added Background bordered.
  • Added Element hierarchyChanged signal, which is emitted when an element is added to or removed from the UI hierarchy.
  • Added TableLayout (int) constructor for easier creation of table with many standard columns.
  • Changed Background insets configuration to Background inset(int), etc.
  • Changed NullBackground to BlankBackground for consistency.
  • Made labels not intercept clicks.
  • Made elements/group not respond to clicks when not visible.
  • Fixed bug where icon gap was shown when we had icon and no text.
  • Rewrote event handling to use PlayN's new built-in event dispatch to layers. This means Interface no longer takes a Pointer.Listener and TPUI plays more nicely with other click handling you are doing on layers in your game.

TPAnim:

  • Added Animator tween to allow tweening of custom properties.
  • Added Animator reparent for reparenting a layer during an animation.
  • Added Flicker for doing iOS-style flick scrolling.

TPUtil:

TP v1.1 and TP v1.0

I wasn't maintaining release notes back in those glorious days.

Clone this wiki locally