Broadcast View Creation - jxjacob/GSTHD GitHub Wiki

Broadcast views are a new feature of the DK64 edition of GSTHD that allows a sublayout to be synchronized with the main layout loaded into GSTHD. This allows for streamers to have a bulky main layout to contain dense notes, but have a simplified broadcast view so that viewers can still follow the action without having to crop the main layout in a program like OBS.

1) Compatibility

The following items are compatible to be broadcasted between the main and broadcast views:

  • Items (and grids)
  • Collectable Items (and grids)
  • Gossip Stones
  • Double Items
  • Songs
  • Medallions

The following items are NOT compatible, and WILL NOT be broadcasted:

  • Generic text boxes
  • Sometimes hints text boxes
  • WotH/Barren hint panels
  • Chronometers
  • Go Mode Indicator

The following items are static, and are able to be placed but are for cosmetic purposes only:

  • Labels
  • Guaranteed Hint Icons

2) JSON Setup

Functionally, a broadcast layout is the same as a standard layout; and uses the same structure. When making a broadcast layout, it is often easier to start with a copy of the main layout and just move/remove items to preserve the naming conventions (very important).

The broadcast layout must be named the same as the main layout, but with the _broadcast suffix before the file extension.

For example, if your main layout is called dk64.json, the broadcast view must be called dk64_broadcast.json in order for it to work.

On the main layout:

  • Add a "EnableBroadcast": true, to the AppSize sections of the json (usually at the top of the layout).
  • For each item you wish to broadcast, add a "isBroadcastable": "true", to their sections of the json.
  • Make sure each Items name is unique from one another. Duplicate names will cause conflicts.

On the broadcast layout:

  • For each item being broadcasted from the main layout, make sure the corresponding item has the exact same Name as its counterpart
    • If you do not do this, GSTHD will almost certainly throw an error at you and/or crash
    • I cannot emphasize this enough: maintain the naming convention between layouts

Item-to-DoubleItem Conversion

For space-saving reasons, there is an option to combine a pair of Items from the main tracker into a single DoubleItem on the broadcast view. This can be useful for similar items like Fire & Light Arrows in OoT, or Homing Ammo & Sniper Scope in DK64.

On the main layout:

  • Add "DoubleBroadcastName": "xyz", to that Items' section of the json, where xyz is the name of the DoubleItem on the broadcast layout.
  • Decide which item is the "left" and which is the "right".
    • Add "DoubleBroadcastSide": "left", to the left Items' section of the json.
    • Add "DoubleBroadcastSide": "right", to the right Items' section of the json.

On the broadcast layout:

  • Set the DoubleItems' name to the xyz you chose earlier
  • For the ImageCollection, list your images in the following way:
    • Image 1: Neither sides of the combined image lit up
    • Image 2: Left side item of the combined image lit up
    • Image 3: Right side item of the combined image lit up
    • Image 4: Both sides of the combined image lit up
    • Images 5 & 6: Unused in broadcast view (they are normally used when dragging, which isn't an option on the broadcast view)

3) Play the video game

Press F2 on your main layout and the broadcast view should appear and update as you do things on the main layout. Note that the broadcast view isn't intractable on it's own; it will only update upon the main layout being clicked on.