500 std::unordered_map<std::string, std::unordered_map<std::string, std::string>>
505 for (
size_t i = 0; i < rooms.size(); ++i) {
506 labels[
"room"][std::to_string(i)] = rooms[i];
511 for (
size_t i = 0; i < entrances.size(); ++i) {
512 labels[
"entrance"][std::to_string(i)] = entrances[i];
517 for (
size_t i = 0; i < sprites.size(); ++i) {
518 labels[
"sprite"][std::to_string(i)] = sprites[i];
523 for (
size_t i = 0; i < overlords.size(); ++i) {
524 labels[
"overlord"][std::to_string(i)] = overlords[i];
529 for (
size_t i = 0; i < maps.size(); ++i) {
530 labels[
"overworld_map"][std::to_string(i)] = maps[i];
535 for (
size_t i = 0; i < items.size(); ++i) {
536 labels[
"item"][std::to_string(i)] = items[i];
541 for (
size_t i = 0; i < music.size(); ++i) {
542 labels[
"music"][std::to_string(i)] = music[i];
547 for (
size_t i = 0; i < gfx.size(); ++i) {
548 labels[
"graphics"][std::to_string(i)] = gfx[i];
553 for (
size_t i = 0; i < effects.size(); ++i) {
554 labels[
"room_effect"][std::to_string(i)] = effects[i];
559 for (
size_t i = 0; i < tags.size(); ++i) {
560 labels[
"room_tag"][std::to_string(i)] = tags[i];
565 for (
size_t i = 0; i < tiles.size(); ++i) {
566 labels[
"tile_type"][std::to_string(i)] = tiles[i];
571 for (
size_t i = 0; i < type1_objects.size(); ++i) {
572 labels[
"room_object_type1"][std::to_string(i)] = type1_objects[i];
573 labels[
"room_object"][std::to_string(i)] = type1_objects[i];
577 for (
size_t i = 0; i < type2_objects.size(); ++i) {
578 const int object_id = 0x100 +
static_cast<int>(i);
579 labels[
"room_object_type2"][std::to_string(i)] = type2_objects[i];
580 labels[
"room_object"][std::to_string(object_id)] = type2_objects[i];
584 for (
size_t i = 0; i < type3_objects.size(); ++i) {
585 const int object_id = 0xF80 +
static_cast<int>(i);
586 labels[
"room_object_type3"][std::to_string(i)] = type3_objects[i];
587 labels[
"room_object"][std::to_string(object_id)] = type3_objects[i];
595 const std::string& default_value) {
598 auto type_it = labels.find(resource_type);
599 if (type_it == labels.end()) {
600 return default_value.empty() ? resource_type +
"_" + std::to_string(
id)
604 auto label_it = type_it->second.find(std::to_string(
id));
605 if (label_it == type_it->second.end()) {
606 return default_value.empty() ? resource_type +
"_" + std::to_string(
id)
610 return label_it->second;