about summary refs log tree commit diff stats
path: root/tools/util/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Store IDs in a yaml fileStar Rauchenberger2025-08-191-1/+3
| | | | This is much more efficient than the txtpb format, and we only need an interface for it in C++ since the IDs will be packed into the binary proto representation.
* Validate that nodes in game files are usedStar Rauchenberger2025-08-181-0/+1
| | | | You can now also list out nodes that you are explicitly not mapping out. The current state of the repo does produce some warnings when the validator is run and they're either endings, paintings that I'm not sure what to do with yet, and weird proxy stuff I'm not sure how to handle yet.
* Started writing a data validatorStar Rauchenberger2025-08-161-0/+5
| | | | | | | Currently, it can check whether identifiers point to non-existent objects, or whether multiple objects share the same identifier. It can also determine whether an identifier is underspecified (e.g. a door doesn't specify a room, or a global connection doesn't specify a map).
* Added support for masteriesStar Rauchenberger2025-08-091-0/+5
Also assigned IDs for the_butterfly, as well as already configured letters.
id='n115' href='#n115'>115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172
doors {
  name: "Red Puzzles"
  type: LOCATION_ONLY
  panels { room: "Main Area" name: "SUN" }
  panels { room: "Main Area" name: "KOI" }
  panels { room: "Main Area" name: "SUN KOI" }
  location_room: "Main Area"
}
doors {
  name: "Yellow Puzzles"
  type: LOCATION_ONLY
  panels { room: "Main Area" name: "CHOP" }
  panels { room: "Main Area" name: "YOU" }
  panels { room: "Main Area" name: "PLOT" }
  panels { room: "Main Area" name: "CHOP YOU PLOT" }
  location_room: "Main Area"
}
doors {
  name: "Green Puzzles"
  type: LOCATION_ONLY
  panels { room: "Main Area" name: "OUT" }
  panels { room: "Main Area" name: "SEW" }
  panels { room: "Main Area" name: "NEAR" }
  panels { room: "Main Area" name: "OUT SEW NEAR" }
  location_room: "Main Area"
}
doors {
  name: "Orange Puzzles"
  type: LOCATION_ONLY
  panels { room: "Main Area" name: "SHINE" }
  panels { room: "Main Area" name: "CURTSY" }
  panels { room: "Main Area" name: "SHINE CURTSY" }
  location_room: "Main Area"
}
doors {
  name: "Brown Puzzles"
  type: LOCATION_ONLY
  panels { room: "Main Area" name: "NEW" }
  panels { room: "Main Area" name: "DOLLARS" }
  panels { room: "Main Area" name: "NEW DOLLARS" }
  location_room: "Main Area"
}
doors {
  name: "Gray Puzzles"
  type: LOCATION_ONLY
  panels { room: "Main Area" name: "FOUR" }
  panels { room: "Main Area" name: "CAUGHT" }
  panels { room: "Main Area" name: "NET" }
  panels { room: "Main Area" name: "FOUR CAUGHT NET" }
  location_room: "Main Area"
}
doors {
  name: "Purple Puzzles"
  type: LOCATION_ONLY
  panels { room: "Main Area" name: "GREEN" }
  panels { room: "Main Area" name: "THINK" }
  panels { room: "Main Area" name: "LION" }
  panels { room: "Main Area" name: "GREEN THINK LION" }
  location_room: "Main Area"
}
doors {
  name: "Blue Puzzles"
  type: LOCATION_ONLY
  panels { room: "Main Area" name: "MOON" }
  panels { room: "Main Area" name: "POWER" }
  panels { room: "Main Area" name: "MOON POWER" }
  location_room: "Main Area"
}
doors {
  name: "Control Center Entrance"
  type: ITEM_ONLY
  receivers: "Components/Doors/entry_3"
  panels { room: "Main Area" name: "SUN" }
  panels { room: "Main Area" name: "KOI" }
  panels { room: "Main Area" name: "SUN KOI" }
  panels { room: "Main Area" name: "CHOP" }
  panels { room: "Main Area" name: "YOU" }
  panels { room: "Main Area" name: "PLOT" }
  panels { room: "Main Area" name: "CHOP YOU PLOT" }
  panels { room: "Main Area" name: "OUT" }
  panels { room: "Main Area" name: "SEW" }
  panels { room: "Main Area" name: "NEAR" }
  panels { room: "Main Area" name: "OUT SEW NEAR" }
  panels { room: "Main Area" name: "SHINE" }
  panels { room: "Main Area" name: "CURTSY" }
  panels { room: "Main Area" name: "SHINE CURTSY" }
  panels { room: "Main Area" name: "NEW" }
  panels { room: "Main Area" name: "DOLLARS" }
  panels { room: "Main Area" name: "NEW DOLLARS" }
  panels { room: "Main Area" name: "FOUR" }
  panels { room: "Main Area" name: "CAUGHT" }
  panels { room: "Main Area" name: "NET" }
  panels { room: "Main Area" name: "FOUR CAUGHT NET" }
  panels { room: "Main Area" name: "GREEN" }
  panels { room: "Main Area" name: "THINK" }
  panels { room: "Main Area" name: "LION" }
  panels { room: "Main Area" name: "GREEN THINK LION" }
  panels { room: "Main Area" name: "MOON" }
  panels { room: "Main Area" name: "POWER" }
  panels { room: "Main Area" name: "MOON POWER" }
  panels { room: "Control Center Side" name: "RIGHT" }
  complete_at: 10
}
doors {
  name: "Plaza Entrance"
  type: ITEM_ONLY
  receivers: "Components/Doors/entry_4"
  panels { room: "Main Area" name: "SUN" }
  panels { room: "Main Area" name: "KOI" }
  panels { room: "Main Area" name: "SUN KOI" }
  panels { room: "Main Area" name: "CHOP" }
  panels { room: "Main Area" name: "YOU" }
  panels { room: "Main Area" name: "PLOT" }
  panels { room: "Main Area" name: "CHOP YOU PLOT" }
  panels { room: "Main Area" name: "OUT" }
  panels { room: "Main Area" name: "SEW" }
  panels { room: "Main Area" name: "NEAR" }
  panels { room: "Main Area" name: "OUT SEW NEAR" }
  panels { room: "Main Area" name: "SHINE" }
  panels { room: "Main Area" name: "CURTSY" }
  panels { room: "Main Area" name: "SHINE CURTSY" }
  panels { room: "Main Area" name: "NEW" }
  panels { room: "Main Area" name: "DOLLARS" }
  panels { room: "Main Area" name: "NEW DOLLARS" }
  panels { room: "Main Area" name: "FOUR" }
  panels { room: "Main Area" name: "CAUGHT" }
  panels { room: "Main Area" name: "NET" }
  panels { room: "Main Area" name: "FOUR CAUGHT NET" }
  panels { room: "Main Area" name: "GREEN" }
  panels { room: "Main Area" name: "THINK" }
  panels { room: "Main Area" name: "LION" }
  panels { room: "Main Area" name: "GREEN THINK LION" }
  panels { room: "Main Area" name: "MOON" }
  panels { room: "Main Area" name: "POWER" }
  panels { room: "Main Area" name: "MOON POWER" }
  panels { room: "Control Center Side" name: "RIGHT" }
  complete_at: 20
}
doors {
  name: "B2 Door"
  type: ITEM_ONLY
  receivers: "Components/Doors/entry_1"
  panels { room: "Main Area" name: "SUN" }
  panels { room: "Main Area" name: "KOI" }
  panels { room: "Main Area" name: "SUN KOI" }
  panels { room: "Main Area" name: "CHOP" }
  panels { room: "Main Area" name: "YOU" }
  panels { room: "Main Area" name: "PLOT" }
  panels { room: "Main Area" name: "CHOP YOU PLOT" }
  panels { room: "Main Area" name: "OUT" }
  panels { room: "Main Area" name: "SEW" }
  panels { room: "Main Area" name: "NEAR" }
  panels { room: "Main Area" name: "OUT SEW NEAR" }
  panels { room: "Main Area" name: "SHINE" }
  panels { room: "Main Area" name: "CURTSY" }
  panels { room: "Main Area" name: "SHINE CURTSY" }
  panels { room: "Main Area" name: "NEW" }
  panels { room: "Main Area" name: "DOLLARS" }
  panels { room: "Main Area" name: "NEW DOLLARS" }
  panels { room: "Main Area" name: "FOUR" }
  panels { room: "Main Area" name: "CAUGHT" }
  panels { room: "Main Area" name: "NET" }
  panels { room: "Main Area" name: "FOUR CAUGHT NET" }
  panels { room: "Main Area" name: "GREEN" }
  panels { room: "Main Area" name: "THINK" }
  panels { room: "Main Area" name: "LION" }
  panels { room: "Main Area" name: "GREEN THINK LION" }
  panels { room: "Main Area" name: "MOON" }
  panels { room: "Main Area" name: "POWER" }
  panels { room: "Main Area" name: "MOON POWER" }
  panels { room: "Control Center Side" name: "RIGHT" }
}