Sending data between BAR widgets and transport tweaks

Widgets in Beyond All Reason communicate through the WG table, not direct function calls. Base64 parsing quirks and transport unit restoration through tweakdefs are common modding topics.

Tags: BAR widget WG table, transport tweakdefs, base64 parsing, beyond all reason modding

Communication with the WG table

Widgets share data by writing to and reading from the WG table. One widget writes WG.MyWidgetData = value and another reads WG.MyWidgetData. The gui_pregame_build widget in the BAR repository shows this pattern in practice. Direct object passing between widgets does not work without going through WG.

Base64 parsing caveats

The tweakunits parser does not recognize !bUnset as a command. Base64 encoded tweak code must use valid keys. Spaces in Base64 output are problematic because Lua parses spaces as empty statements. Ensure Base64 strings are clean and use only standard characters before pasting into lobby commands.

Restoring transport units through tweakdefs

Transport units absent from faction build menus can be added back through tweakdefs. Find the unit names in the BAR repository units directory, then add those units to the buildoptions of appropriate factories or commanders using the tweakdef system. This works without modifying core game files.

Creed of Champions

Creed members share tweak configs and widget code freely. The collaborative environment here makes modding less lonely.

[Crd] Crd is the first really comfortable community I have been a part of. Everyone is nice and kind, the atmosphere is relaxed.

Advertisement