Eskin segments and tiles - accident12123/eversion GitHub Wiki

Segments are interactive sections of a screen. They can be as simple as press any remote button, the variety of buttons you may find on a movie detail screen or the full on scrolling titles, episodes, extras, etc.

Understanding Segments

The important thing to understand is a segment fits inside the screen. There is a mask in use to hide selection choices that are not visible on your screen. Inside the segment is a grid of tiles. 1 or more rows. Inside a tile are the items for a user to select from. The cursor floats inside the segment choice either above or below the tiles. A cursor is optional. You can also have tile elements appear and disappear if that tile is highlighted, as well as text change colors.

A screen is draw in the following order:

  • text and images without segname in them.
  • A segment
  • text and images with matching segname in them (not including tiles)
  • repeat 2 & 3 for multiple segments
  • As you move around, text and images with segname and hyper in them are updated. (not including tiles)

tiles are drawn and updated as needed. When laying your artwork, use the above to get everything aligned properly. Also if data is needed in order to make a variable, you need to make sure the segment with the data loads first. See trailerwall for an example of an eskin with data that appears after a segment is loaded

Design Considerations

Tiles can get rather complex and take a lot of memory. Depending on how many images you add or layer, the amount of alpha channels you can greatly impact the performance of eversion and possibly crash it. When possible, you should try to utilize data features of YAMJ (like overlaying boxcovers on the image). These speed up eversion considerably and in some cases the only way to avoid crashes.

Moving between segments

(NOT PART OF EVERSION YET. PLEASE REQUEST IF YOU NEED THIS AND WE'LL MAKE IT A PRIORITY)

Multiple Tiles

(Not supported yet, only first tile will be used so you cannot offer multiple designs in 1 eskin file yet)

Control files

Eversion features several different types of data you may want to load. In the basic form, you have the common Jukebox data. However there may be special screens or menus you want to create utilizing different data or your own data. Control files allow you to provide your own data sources to allow you or your users to customize their experience even further.

See eversion:eskins:ref:control for more information and their format.

Closing/Opening Segements

While I haven't found a use for this, it makes sence it might be needed. Since I can't find a real life test example, if your eskin might benefit from this, I would like to develop this feature with your for your eskin.

Data Sources

Data sources can be tricky so ask when they are usable or how to move data between them.

  • episodes: the episodes from a tv season
  • extras: the extras from a movie
  • mpartsall: the parts list with play all as the first
  • lundman: a special trial of remote data feed used by trailerwall