Skip to main content

Trainer table themes

From PioSOLVER 3.11 the GTO Trainer table is drawn by a theme. A theme is a script that draws the table, the seats, cards, chips, pot and overlays such as the betting history and the decision feedback, and optionally the action buttons. It can also animate cards and chips moving around the table. As on the standard table, double-clicking the decision feedback opens that spot in the browser.

PioViewer comes with a default theme and two example themes, and you can write your own.

Choosing a theme​

  1. Open the GTO Trainer configuration and go to the Appearance tab.
  2. In Custom table drawing scripts folder (advanced) select the folder with your themes. By default this is the custom_table_drawing folder in your PioSOLVER folder.
  3. Pick a theme in the Script list. Every .cs file in the folder is listed, so switching between themes is one click.

By default the trainer uses default_custom_table_theme.cs. To use the standard table drawing (table images) instead, pick (standard table drawing) in the Script list.

Preview​

Below the script selection a preview table shows the selected theme on an example hand. Use Preview table size (heads-up, 3-max, 6-max, 8-max) and the Hero and Villain positions to see how the theme looks in different seatings.

The preview always draws without animations.

Animations​

Untick Play script animations to turn animations off.

With animations on, the trainer waits for an animation to finish before the next action, so the animations set the pace of the hand.

Writing your own theme​

A theme is a single C# file, plus any images it loads, kept in one folder. PioViewer compiles it when it is selected. Whenever you save the file, the table and the preview redraw with the new version, so there is no need to restart anything.

Start from custom_theme_simple_static.cs in the custom_table_drawing folder. Its header comments are the full reference: what the script receives, what it has to return and the rules it has to follow. Copy it under a new name, select the copy in the Script list and change it. Don't edit the shipped files directly, as updates can replace them.

  • Only C# 5 syntax is available (no string interpolation, no ?.), and the script can only use System, System.Core, System.Drawing and System.Windows.Forms.
  • Get the static look right first (DrawTableV1) and add animations (DrawTableV2) only when the layout is final. Animations are built on the layout, so changing the layout later means redoing them. custom_theme_simple.cs is the same example theme with animations added.
  • default_custom_table_theme.cs is the default theme. It is a larger theme, better used as a reference than as a starting point.
  • If the script doesn't compile or fails while drawing, a short error is shown on the table and the full error is written to the PioViewer error log (Logs\pioviewer_error_log_*.txt). Fix the script and save it, and the theme comes back without a restart.

The example scripts are self-contained, so you can also give one to an AI coding assistant together with a description or a screenshot of the look you want.