about summary refs log tree commit diff stats
path: root/data/maps/the_sun_temple/rooms/Entrance.txtpb
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-12 11:12:18 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-12 11:12:18 -0400
commit0b5e237095c3337a1747c6294e4fbcd223ead6e0 (patch)
tree7bc6147db91fb525ca9930f479409a90f6e40e72 /data/maps/the_sun_temple/rooms/Entrance.txtpb
parentbb4e4e308f8f73b1be8b717b5c0478a342c1196d (diff)
downloadlingo2-archipelago-0b5e237095c3337a1747c6294e4fbcd223ead6e0.tar.gz
lingo2-archipelago-0b5e237095c3337a1747c6294e4fbcd223ead6e0.tar.bz2
lingo2-archipelago-0b5e237095c3337a1747c6294e4fbcd223ead6e0.zip
[Client] Handle gallery painting shuffle
Diffstat (limited to 'data/maps/the_sun_temple/rooms/Entrance.txtpb')
0 files changed, 0 insertions, 0 deletions
color: #336699 } /* Name.Variable */ .highlight .ow { color: #008800 } /* Operator.Word */ .highlight .w { color: #bbbbbb } /* Text.Whitespace */ .highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */ .highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */ .highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */ .highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */ .highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */ .highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */ .highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */ .highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */ .highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */ .highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#include "network_set.h"

void NetworkSet::Clear() {
  network_by_item_.clear();
}

void NetworkSet::AddLink(int id1, int id2, bool two_way) {
  if (two_way && id2 > id1) {
    std::swap(id1, id2);
  }

  if (!network_by_item_.count(id1)) {
    network_by_item_[id1] = {};
  }
  if (!network_by_item_.count(id2)) {
    network_by_item_[id2] = {};
  }

  NetworkNode node = {id1, id2, two_way};

  network_by_item_[id1].insert(node);
  network_by_item_[id2].insert(node);
}

void NetworkSet::AddLinkToNetwork(int network_id, int id1, int id2, bool two_way) {
  if (two_way && id2 > id1) {
    std::swap(id1, id2);
  }

  if (!network_by_item_.count(network_id)) {
    network_by_item_[network_id] = {};
  }

  NetworkNode node = {id1, id2, two_way};

  network_by_item_[network_id].insert(node);
}

bool NetworkSet::IsItemInNetwork(int id) const {
  return network_by_item_.count(id);
}

const std::set<NetworkNode>& NetworkSet::GetNetworkGraph(int id) const {
  return network_by_item_.at(id);
}

bool NetworkNode::operator<(const NetworkNode& rhs) const {
  if (entry != rhs.entry) return entry < rhs.entry;
  if (exit != rhs.exit) return exit < rhs.exit;
  if (two_way != rhs.two_way) return two_way < rhs.two_way;
  return false;
}