-
Notifications
You must be signed in to change notification settings - Fork 56
Changes in Version 5
The biggest change in CRG 5 is that CRG now allows preparing games ahead of time and post-processing after the display has moved to the next game. This necessitated a substantial redesign of out-of-game procedures and internal data structures. In-game operation was not altered significantly.
CRG 5 can import CRG 4 data files and autosaves. However, it is still recommended to install to a new folder. You can then either copy your autosave file over or do a full export of your CRG 4 data and import the file in the CRG 5 installation. (Stop CRG 4 before starting CRG 5, as running two instances of CRG on the same computer won't work out of the box.)
- Buttons that toggle settings/values should now all(*) turn green to represent the active/selected/true state instead of some of them changing text. If you find any that don't, please report them as bug.
- (*) Buttons that toggle a skater's penalty box status are the only exception. They turn light blue when the skater is penalized and red when they are in the box, corresponding to the colors used for these states in other UI elements.
- Buttons/areas that you likely want to click now or very soon turn orange. This is currently used sparingly but may extend in future versions.
- CRG now supports OS offsets and WFTDA rules on late score changes. Clicking on a Jam Score will open a popup where you can enter, edit, and remove an OS offset and OS offset reason for the Jam.
- If a jam's score is changed after the end of the following Jam (or its start in the last 2 minutes of the game) a corresponding OS offset will automatically be added to the jam.
- The automatic addition of OS offsets can be disabled with the "WftdaLateChangeRule" in the "Score" section of the ruleset.
- If a jam's score is changed after the end of the following Jam (or its start in the last 2 minutes of the game) a corresponding OS offset will automatically be added to the jam.
- The "Team/Time" tab has been renamed to "Controls".
- The "Teams" and "Rulesets" tab now only allow editing teams and ruleset for the current game. "Up/Download" has been removed and tabs to edit IGRF data and sheets have been added. See the section on data management below for a description of these tabs.
- A button to set (and check) Auto End Jam has been added to the button list at the top of the operator screen. When it is disabled (which is recommended but currently not the default) and the Jam clock has run down the "Stop Jam" button will turn orange to notify the operator that the jam is still marked as ongoing. (Very) early notice: The Auto End Jam setting will be disabled by default in CRG 6.
- Another early notice: Replace on Undo will be enabled by default in CRG 6.
- The "Start New Game" dialog allows selecting a previously prepared or a partially run game in addition to setting one up ad-hoc.
- When starting an ad-hoc game it's possible to create a new team instead of selecting a previously prepared one.
- Setting "Official Score" before the game has run its full scheduled duration will mark the game as having ended prematurely. You can enter a reason for the end on the IGRF tab (see below).
- This can only be done during a timeout or intermission.
- Unsetting "Official score" again will allow you to continue the game.
- Clicking on a jam number will fill the current lineup with skaters from that jam. (Positions already filled will not be overwritten.) There is an icon in the jam number cell hinting at this functionality.
- When a Skater is marked as Captain this will be indicated with a small "C" in the top left corner of the cell with their number.
When a new game is started, Operator and (P)(L)T screens do not automatically switch to the new game. Instead an orange indicator/button pops up at the top of the screen that allows to make the switch. This way the display can be advanced independent of the NSOs finishing their post-game cross checks.
- When a Skater is marked as Captain this will be indicated with a small "C" in the top left corner of the cell with their number.
- The overlay can now display lineups. They can either be shown as numbers only, Jammer names and Blocker numbers (default), or all names.
- When displaying lineups it will also be indicated when a skater is penalized or sitting in the box, including penalty code(s).
- You can upload JSON files from any release of CRG 4 as well as files from CRG 5.0. Data from older versions will be converted on load.
- In addition you can set up a game by importing a WFTDA statsbook for the game (Jan. 2019 version, A4 and US letter both work). Note that only the parts of the IGRF expected to be filled before the game are read.
- These allow you to download or delete the elements indicated on the buttons. "Selected" refers to the selection made in the "Games", "Teams", and "Rulesets" sections below.
- When deleting games, the corresponding game data files (both JSON and statsbook) will not be deleted.
- This implies it is safe to delete a game after you completed the statsbook as you can reimport the corresponding JSON file should the need for any adjustments arise.
- Having too many games residing in the scoreboard may cause slowdown on startup and screen load. Thus it is recommended to clean up old games from time to time.
- When you delete the current game (the one on the main display), a new game with two unnamed teams will be created as there always has to be a current game for technical reasons.
- When deleting teams or rulesets you can only reimport them if you explicitly downloaded a data file containing them.
- Slowdown from a large number of teams or rulesets is not expected to happen, so cleanups for these can be done a lot more lenient than for games.
These list all known elements of the respective type along with buttons to select them for download/deletion, edit them, or create new ones.
- The "New" button will always open the edit screen for the new element in a new tab.
- You can middle/right click on the "Edit" button in order to open the edit screen in a new tab as you do for normal links. A normal left click will open it in the current tab, replacing the overview screen.
- The builtin rulesets are read only, thus they have a "View" instead of an "Edit" button.
This tab allows you to edit all the data found on the IGRF (except for teams) and generate/download game data and statsbook files.
- You can edit the name format for the game by clicking on the game name at the top of the tab.
- The default format used for new games can be changed in the settings.
- Changing the setting will not affect any existing games.
- You can give a fixed name for a game by using a format without any variables.
- The default format used for new games can be changed in the settings.
- While the game is running (i.e the first jam has started and the score is not marked as official yet) there is a button after the game name that allows you to end the game.
- If the game has run its full length this will simply mark the score as official. (So you don't have to load the game into the main display if the SBO forgot to do so.)
- If the game has not run its full length this will mark the game as having ended prematurely and allow you to enter/edit the reason below the event/venue information.
- You can only mark a game as having ended prematurely when it is in a timeout or intermission.
- You can undo this by unmarking "Official Score" on the main game controls (if the game is the currently active one).
- The buttons below the game name allow generating and downloading the game data JSON and statsbook files.
- Before the score is official the JSON file will be updated whenever a jam or timeout ends. Afterwards it will be updated on every change (except clock ticks) until the first time it is manually updated using the "Update" button on the IGRF tab.
- After the first manual update the json file is only updated when "Update" is pressed again. It is recommended to do a manual update once you are done processing the sheets to protect the data file from accidental changes.
- Manual updates before the game will not inhibit automatic updates after the game.
- The statsbook file will only be generated on manual updates and only if a blank WFTDA statsbook has been set up.
- In order to generate statsbooks you have to download a blank copy of the January 2019 version of the WFTDA statsbook (US letter and A4 both work) and tell CRG where to find it in the settings tab/page.
- If you put the statsbook file in the base folder of your CRG installation you can simply enter the filename in the setting. If it is in a subfolder you have to give a relative path (without leading / or \).
- Generating a statsbook may take a few seconds. The "Last Updated" field will be updated after generation is complete so you can use this to check if it's done.
- While statsbook generation has been implemented in a way that should minimize interference with other operation, it may still cause some lag on slower computers simply due to the processor load it causes. On such computers it is recommended to only generate statsbooks during stoppages of gameplay. If you still want to update the JSON file before that, you can temporarily unset the path to the blank statsbook.
- In order to generate statsbooks you have to download a blank copy of the January 2019 version of the WFTDA statsbook (US letter and A4 both work) and tell CRG where to find it in the settings tab/page.
- The generated files are also available in the "Game Data" tab of the File management screen and will remain available there after the game is deleted from internal storage.
- The next section contains the event/venue information from the top of the IGRF.
- If you enter a date and start time before loading the game it will be used to set up "Time to Derby".
- If date and/or time are not set they will be filled on game start.
- If you enter a date and start time before loading the game it will be used to set up "Time to Derby".
- If the game had any expulsions they will be listed in a section below the event info, allowing you to enter a brief reason and mark if a suspension was recommended.
- The final section allows you to enter/manage the officials roster for the game.
- For Penalty Box Timers, (Penalty) Lineup Trackers, Scorekeepers, and Jammer Referees you can select which team they track in Period 1 and mark if they switched at half time. This is used to fill the header of the sheets in the statsbook.
This tab allows you to edit the teams for the game (what was "Current Team 1" and "Current Team 2" in prior versions). Both teams are displayed at once. Each team can either be a "Custom Team" or linked to one of the stored teams.
- When a team is linked to a stored team, there is a button to toggle data sync between this team and the stored team. When this is active any changes made here are copied to the stored team and vice versa.
- If more per-game teams are connected to the same stored team with sync active, changes are copied to/from them as well.
- Alternate names, colors, and skater flags are only copied on initial load but not synced.
- For uniform colors, new colors added to the stored team are added to the dropdown here but nothing is transferred the other way.
- When the game starts, sync is automatically disabled. You can reenable it if needed afterwards but it is recommended to disable it again once the change you want to sync has been made.
- For custom teams there is a button that allows storing them. After clicking you get a popup where you can select a team to merge this team with or the option to store it as a new team.
- Before the game has started you can load in a stored team by selecting it in the dropdown. This will replace all team data and also activate data sync.
- In order to avoid data corruption you can not delete any skaters that have been marked as having skated in the game. (Clicking the "Remove" button will simply have no effect.)
In addition to the league name, team name, uniform color, and alternate names that you can set explicitly in the team editor there are a number of names that are derived from these:
- The full name
- If league name and team name are both set and different the full name is "<League Name> - <Team Name>".
- If league name and team name are both set and equal the full name is the same.
- If either league or team name is set but the other isn't the full name is the name that is set.
- (Per game teams only) If neither league nor team name is set but a uniform color is, that is used as full name.
- If neither league nor team name (nor a uniform color) is set the full name is "Unnamed Team".
- The display name is either league, team, or full name. Which one it is can be configured in the settings. The default is league name.
- If the configured name is empty the full name will be used instead.
- The name used for game data files behaves the same as the display name but can be configured independently.
- The Initials are all capital letters from the display name joined together.
The various places in the scoreboard will then use the following names (when multiple names are given the first nonempty one is used):
- Main display:
scoreboard
alternate name, display name - Stream Overlay:
overlay
alternate name, display name - Penalty Whiteboard:
scoreboard
alternate name, uniform color, display name- From 5.0.1:
whiteboard
alternate name, uniform color, display name
- From 5.0.1:
- Operator Screen, (P)(L)T input screens:
operator
alternate name, uniform color, display name - Twitter %t1n, %t2n: display name
- Twitter %t1Nt, %t2Nt:
twitter
alternate name, initials - Data Management screen: full name
- Game name %1, %2: display name
- Game data JSON, statsbook: data file name
This tab allows you to edit the ruleset for the game. The dropdown at the top allows you to select a predefined ruleset that the game uses or "Custom" in order to make changes that apply only to this game.
- When a ruleset is selected any change made here is copied to that ruleset and any changes made to the rulset are copied to the game.
- After the game has started the ruleset is automatically set to "Custom" and locked at that value to ensure that the applicable rules do not suddenly changed mid game due to changes made elsewhere.
- You can still make explicit changes to the game rules after game start but as for prior versions depending on the rule change this may have unexpected effects on the game state/data.
This tab allows you to view/edit all the SK/PT/LT sheets for the game. The dropdown at the top allows to select either a single sheet or a combination of two sheets that are displayed side by side.
This screen is the edit section of the old teams management screen. The only differences are that you can now enter a league and a team name and there is a collection of uniform colors.
- Pressing enter in the uniform color text box adds the name.
This screen is the edit portion of the old rulesets management screen. Fields to edit name and parent have been added and all changes are written imediately instead of needing an update button.
- The tab for up/downloading scoreboard data has been removed and integrated into the new data management screen.
- The game-data tab has a new section for xlsx files (Statsbooks).
- The json files with data for a single game now follow the naming scheme for statsbooks.
- The settings for the main display (that can apply to either the preview or live display) have been visually separated from the general settings that are independent of the preview.
- Automation settings (auto start & auto end) have been moved from rulesets to settings.
- Some new settings have been added. These are described in the sections above along with the functionality they influence.
The defaults are no longer configured via a file but have been incorporated into the code. This ensures that everything is configured even when starting with an incomplete autosave (e.g. after upgrading).
-
ScoreBoard.{Clock, Team, Period, Jam}
have moved toScoreBoard.Game(_id_).{Clock, Team, Period, Jam}
andScoreBoard.CurrentGame.{Clock, Team, Period, Jam}
.- When interacting with the live scorebaord, you most likely want to use
ScoreBoard.CurrentGame
. When reading/writing JSON data files,ScoreBoard.Game(_id_)
is your best bet. (Single game exports won't usually includeScoreBoard.CurrentGame
.)
- When interacting with the live scorebaord, you most likely want to use
-
ScoreBoard.Rulesets.CurrentRule(_id_)
has moved toScoreBoard.Game(_id_).Rule(_id_)
andScoreBoard.CurrentGame.Rule(_id_)
. -
ScoreBoard.PenaltyCodes.Code(_code_)
has moved toScoreBoard.Game(_id_).PenaltyCode(_code_)
andScoreBoard.CurrentGame.PenaltyCode(_code_)
. - A number of fields have been added. You can find them by searching for "from 5.0" on the WebSocket Channels page.