about summary refs log tree commit diff stats
path: root/vcpkg-configuration.json
diff options
context:
space:
mode:
authorStar Rauchenberger <fefferburbia@gmail.com>2025-09-11 22:49:16 -0400
committerStar Rauchenberger <fefferburbia@gmail.com>2025-09-11 22:49:16 -0400
commita94ed7a5cf0ffc86b50e8bd99ace3f671db22dec (patch)
tree995ce82503bf3662cb20c24851a007961919efbc /vcpkg-configuration.json
parent6cdf94124bcfda082e1cacb64a534ef881af35d2 (diff)
downloadlingo2-archipelago-a94ed7a5cf0ffc86b50e8bd99ace3f671db22dec.tar.gz
lingo2-archipelago-a94ed7a5cf0ffc86b50e8bd99ace3f671db22dec.tar.bz2
lingo2-archipelago-a94ed7a5cf0ffc86b50e8bd99ace3f671db22dec.zip
[Data] Renamed Sticks and Stones location
Diffstat (limited to 'vcpkg-configuration.json')
0 files changed, 0 insertions
#include "identifiers.h"

#include <string>

#include "proto/human.pb.h"

namespace com::fourisland::lingo2_archipelago {

std::optional<RoomIdentifier> GetCompleteRoomIdentifier(
    RoomIdentifier identifier, std::optional<std::string> map_name) {
  if (!identifier.has_map()) {
    if (!map_name) {
      return std::nullopt;
    }
    identifier.set_map(*map_name);
  }
  return identifier;
}

std::optional<DoorIdentifier> GetCompleteDoorIdentifier(
    DoorIdentifier identifier, std::optional<std::string> map_name) {
  if (!identifier.has_map()) {
    if (!map_name) {
      return std::nullopt;
    }
    identifier.set_map(*map_name);
  }
  return identifier;
}

std::optional<PortIdentifier> GetCompletePortIdentifier(
    PortIdentifier identifier, std::optional<std::string> map_name,
    std::optional<std::string> room_name) {
  if (!identifier.has_map()) {
    if (!map_name) {
      return std::nullopt;
    }
    identifier.set_map(*map_name);
  }
  if (!identifier.has_room()) {
    if (!room_name) {
      return std::nullopt;
    }
    identifier.set_room(*room_name);
  }
  return identifier;
}

std::optional<PaintingIdentifier> GetCompletePaintingIdentifier(
    PaintingIdentifier identifier, std::optional<std::string> map_name,
    std::optional<std::string> room_name) {
  if (!identifier.has_map()) {
    if (!map_name) {
      return std::nullopt;
    }
    identifier.set_map(*map_name);
  }
  if (!identifier.has_room()) {
    if (!room_name) {
      return std::nullopt;
    }
    identifier.set_room(*room_name);
  }
  return identifier;
}

std::optional<PanelIdentifier> GetCompletePanelIdentifierWithoutAnswer(
    PanelIdentifier identifier, std::optional<std::string> map_name,
    std::optional<std::string> room_name) {
  if (!identifier.has_map()) {
    if (!map_name) {
      return std::nullopt;
    }
    identifier.set_map(*map_name);
  }
  if (!identifier.has_room()) {
    if (!room_name) {
      return std::nullopt;
    }
    identifier.set_room(*room_name);
  }
  identifier.clear_answer();
  return identifier;
}

std::optional<KeyholderIdentifier> GetCompleteKeyholderIdentifierWithoutKey(
    KeyholderIdentifier identifier, const std::string& map_name,
    std::optional<std::string> room_name) {
  if (!identifier.has_map()) {
    identifier.set_map(map_name);
  }
  if (!identifier.has_room()) {
    if (!room_name) {
      return std::nullopt;
    }
    identifier.set_room(*room_name);
  }
  identifier.clear_key();
  return identifier;
}

}  // namespace com::fourisland::lingo2_archipelago