syntax = "proto2"; package tm; import "match.proto"; message EventConfig { enum TournamentType { SINGLE_ELIMINATION = 1; DOUBLE_ELIMINATION = 2; } enum EventState { UNCONFIGURED = 0; QUALIFICATION = 1; ALLIANCE_SELECTION = 2; ELIMINATION = 3; TOP_N_FINALS = 4; } enum AvailTeamSortOrder { RANK = 1; TEAM_NUMBER = 2; } enum WizardMode { WIZARD_MODE_MINI = 1; WIZARD_MODE_SMALL = 2; WIZARD_MODE_MEDIUM = 3; WIZARD_MODE_LARGE = 4; WIZARD_MODE_SCHEDULE = 5; } optional string eventName = 1; optional uint32 teamsPerAlliance = 2; optional uint32 alliancesPerMatch = 3; optional uint32 numElimAlliances = 4; optional uint32 numElimTeams = 5; optional uint32 elimWinsToAdvance = 6; optional tm.EventConfig.TournamentType tournamentType = 7; optional tm.EventConfig.EventState eventState = 8; optional bool configured = 9; optional tm.EventConfig.AvailTeamSortOrder availTeamSortOrder = 10 [default = RANK]; optional uint32 qualMatchesPerTeamToCount = 11; optional string backendVer = 12; optional string password = 13; optional string uuid = 14; optional bool leagueMode = 15 [default = false]; optional uint32 leaguePctMatches = 16; optional uint32 numTopNAlliances = 17; optional string judgePassword = 18; optional tm.EventConfig.WizardMode wizardMode = 19; optional int32 maxNumSkillsScores = 20; optional bool excludeMissingTeamsFromSchedule = 21 [default = false]; optional string inspectorPassword = 22; optional string scorekeeperPassword = 23; } message GameSound { optional string state = 1; optional string cause = 2; optional string fileName = 3; } message ScoringConfig { optional string xmlInterfaceData = 1; optional string allianceScoreFormula = 2; optional string gameName = 4 [default = "Unknown"]; optional uint32 version = 5 [default = 0]; repeated string constraints = 6; repeated tm.GameSound sounds = 7; repeated string skillsRankSorts = 8; optional string skillsScoreFormula = 9; repeated string qualRankSorts = 10; optional bytes tmg2Data = 11; } message SponsorLogo { optional uint32 id = 1; required string name = 2; required bytes data = 3; optional int32 width = 4 [default = -1]; optional int32 height = 5 [default = -1]; } message SponsorLogos { enum LogoType { LARGE = 1; SMALL = 2; } repeated tm.SponsorLogo logos = 1; repeated tm.SponsorLogo smallLogos = 2; } message Session { optional uint32 id = 1; optional string uuid = 2; optional string name = 3; optional uint32 startDate = 4; optional uint32 endDate = 5; } message SessionList { repeated tm.Session sessions = 1; } message OfficialEventConfig { optional bool officialEvent = 1; optional string robotEventsCode = 2; optional string tmCode = 3; optional bool tmCodeValidated = 4; optional bool textMessagingEnabled = 5; } message ElimWinsToAdvance { optional int32 division = 1; optional tm.MatchRound round = 2; optional uint32 numWins = 3; } message ElimWinsToAdvanceList { repeated tm.ElimWinsToAdvance elimWinsToAdvance = 1; } message CustomElimBracket { optional int32 division = 1; optional uint32 seed = 2; optional tm.MatchRound round = 3; } message CustomElimBracketList { repeated tm.CustomElimBracket customElimBracket = 1; }