Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Command line parser #378

Open
wants to merge 12 commits into
base: xml_converter
Choose a base branch
from

Conversation

klingbolt
Copy link
Contributor

Ignore #376 as it didn't make the comments on the proto files.
Changed the parser to create a vector of structs that contain the vector of paths but also information about the path's usage and changes to the way the converter uses it. This should facilitate the seamless addition of new arguments.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._old	2025-01-19 03:52:55.356172701 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._new	2025-01-19 03:52:55.364172747 +0000
@@ -0,0 +1,11 @@
+category {
+  name: "My Category"
+  icon {
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._old	2025-01-19 03:52:55.372172793 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._new	2025-01-19 03:52:55.378172827 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 1
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._old	2025-01-19 03:52:55.385172867 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._new	2025-01-19 03:52:55.392172907 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 2147483647
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._old	2025-01-19 03:52:55.399172948 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._new	2025-01-19 03:52:55.406172988 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 5
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._old	2025-01-19 03:52:55.412173023 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._new	2025-01-19 03:52:55.419173063 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 50
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._old	2025-01-19 04:50:55.013852956 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._new	2025-01-19 04:50:55.020852949 +0000
@@ -0,0 +1,11 @@
+category {
+  name: "My Category"
+  icon {
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._old	2025-01-19 04:50:55.028852940 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._new	2025-01-19 04:50:55.035852932 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 1
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._old	2025-01-19 04:50:55.042852924 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._new	2025-01-19 04:50:55.049852917 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 2147483647
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._old	2025-01-19 04:50:55.055852910 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._new	2025-01-19 04:50:55.062852902 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 5
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._old	2025-01-19 04:50:55.069852895 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._new	2025-01-19 04:50:55.076852887 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 50
+    position {
+      x: 169.81
+      y: 210.65
+      z: 215.83
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Comment on lines 6 to 10
<POI Type="mycategory" XPos="169.81" YPos="210.65" ZPos="215.83" MapID="0" />
<POI Type="mycategory" XPos="169.81" YPos="210.65" ZPos="215.83" MapID="1" />
<POI Type="mycategory" XPos="169.81" YPos="210.65" ZPos="215.83" MapID="5" />
<POI Type="mycategory" XPos="169.81" YPos="210.65" ZPos="215.83" MapID="2147483647" />
<POI Type="mycategory" XPos="169.81" YPos="210.65" ZPos="215.83" MapID="50" />
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lets add another variation into the attributes here so that more than just MapID is being used to validate that MapID is being split on properly. In general there is nothing wrong with having variation in the tests and the more variation the more that technically gets tested.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you elaborate a bit? I thought we were trying to keep these tests simple so that each test checked for one thing so if it breaks we could isolate it.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of having each field be XPos="169.81" YPos="210.65" ZPos="215.83" have them contain distinguishing values. Right now the only distinguishing value is the map id, which is also the value that is being used to split the markers up.

Because if the map split code had a bug where it was not properly grabbing any attribute other than map id then we would never know.

for i in range(len(mapid)):
    write_marker(xpos[0], ...., map_id[i])

Then this test would "pass" because xpos[0] == xpos[1] == xpos[2] etc.

Adding variation to the xpox ypos zpos values just cements the uniqueness of each POI and further reinforces the idea that we did in fact split the marker correctly.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I have changed it so each has a unique value.

if allow_duplicates:
cmd += ["--allow-duplicates"]
if split_by_map_id:
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because of the ordering, does this mean that if split-by-map-id is specified then only the proto will be split by map id? If so that's fine for now but you should make a new issue detailing the problems that arise from this and how one might fix them.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is correct for now. This would be the next step in adjusting the test harness so that each input and output can be configured. My thought was to make a dictionary of adjustments so that they can be processed as a group for each type.

example:

configurations: 
    "xml" : "split_by_category"
   "proto" : "split_by_map_id"

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is a good first thought, but assumes that all xml inputs want one argument, and the same argument. Instead just transform the inputs field from a Dict[str,str] to a Dict[str, ConfigData] where ConfigData is something like {"type": "xml", "split_by_category": true}. This will allow the inputs to be specified in an intuitive manner to anyone reading the test config, and will also allow for test inputs to nearly mirror the new cli flags.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now that the new xml output is merged in this test is probably going to fail because it is not formatted correctly. Lets leave it as-is for now to prevent you from having to rebase this branch. But your very next PR should be fixing all of the remaining issues in these tests, such as the .guildpoint changes. Ideally that could include a change to the CI to have these tests run automatically so that their failures dont go unnoticed in the future.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

understood

@@ -32,6 +32,19 @@

using namespace std;

struct PathConfig {
string type; // "import" or "export" or "template"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What made you choose a string value over an enum, additionally what is the purpose of "template"

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are correct an enum would have been a better choice since we expect those strings and no others. I had just not considered it. I added "template" as an example of another type of argument that could be added.

@@ -32,6 +32,19 @@

using namespace std;

struct PathConfig {
string type; // "import" or "export" or "template"
string format; // "xml" or "guildpoint"
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What made you choose a string value over an enum here too?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You are correct an enum would be a better choice since there are fixed expected responses.

Comment on lines 43 to 45
PathConfig(const string& type, const string& format)
: type(type), format(format) {
}
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Given it has a constructor function, what are the reasons you chose to use a struct over a class for this object?

Comment on lines 107 to 108
PathConfig path_config,
string output_path,
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you explain why write_burrito_directory needs to accept both output_path and path_config.paths[n]

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically what it needs is the path_config.split_by_ information to know which function to call. I wanted to further explore if there would be a difference if we iterated over the path vector within this function instead.

Copy link
Owner

@AsherGlick AsherGlick Jan 21, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A desire to further experiment with code options does not justify passing duplicate data into the function. That experimentation should have been done well before you attempt to publish the code. Otherwise it is just immediately technical debt.

Comment on lines 196 to 201
bool all_allow_duplicates_false = all_of(path_configs.begin(), path_configs.end(), [](const PathConfig p) {
if (p.type == "export") {
return p.allow_duplicates == false;
}
return true;
});
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a very convoluted block of code:
"We will not ignore duplicates if and only if the allow duplicates flag was not present after an export format"

When it probably should be:
"We will ignore duplicates if the allow duplicates flag was passed in"

The root cause is in the parser logic, only supporting flags by assigning them to PathConfigs.

The current implementation also will intentionally silently consume and ignore the allow duplicates flag if it was passed in to an input file. I dont think the user interactions were considered here, please break out the different scenarios from a user perspective and what the user would expect.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I changed the design for the output of the argument parser to a class that contains a vector of PathConfigs and the global variables and made --allow-duplicates a global. This way it just needs to check for the one value.

Comment on lines 260 to 262
// --import_FORMAT_paths <path> --FLAGS [--import_FORMAT_paths <path> --FLAGS]
// --export_FORMAT_paths <path> --filter "conditions" --FLAGS
// [--export_FORMAT_paths <path> --filter "conditions" --FLAGS]
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Are these examples?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Its the template for the command line when we create new arguments. Would it make sense to label them correctly or do they not belong here?

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do they belong here? I think they would be better served if they were visible to the user. Perhaps in a --help menu.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I will move this to a help function in a future PR


for (int i = 1; i < argc; i++) {
if (!strcmp(argv[i], "--input-taco-path")) {
arg_target = &input_taco_paths;
path_configs.emplace_back("import", "xml");
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why did you choose emplace_back here?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What I wanted to happen here in each if statement was to create a PathConfig object, populate it with the information provided by the argument so it could be sorted later, and use a reference to that object when looking at the next argument to see if it modifies the object further. Since the last part of that needs the correct location of the object, &path_configs.back() was used to get a pointer to the location on the vector. So for the other 2 steps, I found that using emplace creates the object directly into the vector as opposed to using push which would create an object and then move it into the vector. Both would achieve the same effect. Emplace then had the pro of being one line of code versus four if using push_back.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That is reasonable.

vector<string> output_split_guildpoint_paths;

vector<string>* arg_target = nullptr;
vector<PathConfig> parse_arguments(int argc, char* argv[]) {
Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This function is complex enough that should have unit tests. Look at other examples of the C++ unit tests, like those for the string hierarchy class.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added tests

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._old	2025-01-25 01:36:59.638725166 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._new	2025-01-25 01:36:59.645725208 +0000
@@ -0,0 +1,11 @@
+category {
+  name: "My Category"
+  icon {
+    position {
+      x: 100
+      y: 200
+      z: 300
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._old	2025-01-25 01:36:59.653725255 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._new	2025-01-25 01:36:59.660725297 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 1
+    position {
+      x: 110
+      y: 210
+      z: 310
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._old	2025-01-25 01:36:59.666725332 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._new	2025-01-25 01:36:59.673725374 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 2147483647
+    position {
+      x: 130
+      y: 230
+      z: 330
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._old	2025-01-25 01:36:59.681725422 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._new	2025-01-25 01:36:59.688725463 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 5
+    position {
+      x: 120
+      y: 220
+      z: 320
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._old	2025-01-25 01:36:59.695725505 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._new	2025-01-25 01:36:59.701725540 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 50
+    position {
+      x: 140
+      y: 240
+      z: 340
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._old	2025-01-25 01:42:07.598797894 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._new	2025-01-25 01:42:07.605797863 +0000
@@ -0,0 +1,11 @@
+category {
+  name: "My Category"
+  icon {
+    position {
+      x: 100
+      y: 200
+      z: 300
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._old	2025-01-25 01:42:07.617797809 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._new	2025-01-25 01:42:07.624797777 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 1
+    position {
+      x: 110
+      y: 210
+      z: 310
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._old	2025-01-25 01:42:07.631797746 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._new	2025-01-25 01:42:07.638797714 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 2147483647
+    position {
+      x: 130
+      y: 230
+      z: 330
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._old	2025-01-25 01:42:07.644797687 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._new	2025-01-25 01:42:07.651797656 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 5
+    position {
+      x: 120
+      y: 220
+      z: 320
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._old	2025-01-25 01:42:07.658797624 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._new	2025-01-25 01:42:07.665797593 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 50
+    position {
+      x: 140
+      y: 240
+      z: 340
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

@klingbolt klingbolt requested a review from AsherGlick January 25, 2025 01:50

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._old	2025-01-25 02:29:39.884471992 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._new	2025-01-25 02:29:39.891471986 +0000
@@ -0,0 +1,11 @@
+category {
+  name: "My Category"
+  icon {
+    position {
+      x: 100
+      y: 200
+      z: 300
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._old	2025-01-25 02:29:39.899471980 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._new	2025-01-25 02:29:39.907471973 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 1
+    position {
+      x: 110
+      y: 210
+      z: 310
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._old	2025-01-25 02:29:39.914471968 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._new	2025-01-25 02:29:39.921471962 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 2147483647
+    position {
+      x: 130
+      y: 230
+      z: 330
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._old	2025-01-25 02:29:39.928471957 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._new	2025-01-25 02:29:39.935471951 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 5
+    position {
+      x: 120
+      y: 220
+      z: 320
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._old	2025-01-25 02:29:39.942471945 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._new	2025-01-25 02:29:39.949471940 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 50
+    position {
+      x: 140
+      y: 240
+      z: 340
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._old	2025-01-25 02:40:57.137576986 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._new	2025-01-25 02:40:57.144576951 +0000
@@ -0,0 +1,11 @@
+category {
+  name: "My Category"
+  icon {
+    position {
+      x: 100
+      y: 200
+      z: 300
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._old	2025-01-25 02:40:57.152576911 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._new	2025-01-25 02:40:57.159576876 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 1
+    position {
+      x: 110
+      y: 210
+      z: 310
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._old	2025-01-25 02:40:57.165576846 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._new	2025-01-25 02:40:57.172576811 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 2147483647
+    position {
+      x: 130
+      y: 230
+      z: 330
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._old	2025-01-25 02:40:57.179576776 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._new	2025-01-25 02:40:57.186576741 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 5
+    position {
+      x: 120
+      y: 220
+      z: 320
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._old	2025-01-25 02:40:57.193576706 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._new	2025-01-25 02:40:57.199576676 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 50
+    position {
+      x: 140
+      y: 240
+      z: 340
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._old	2025-01-27 01:21:12.708476357 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._new	2025-01-27 01:21:12.715476460 +0000
@@ -0,0 +1,11 @@
+category {
+  name: "My Category"
+  icon {
+    position {
+      x: 100
+      y: 200
+      z: 300
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._old	2025-01-27 01:21:12.723476577 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._new	2025-01-27 01:21:12.730476680 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 1
+    position {
+      x: 110
+      y: 210
+      z: 310
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._old	2025-01-27 01:21:12.737476783 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._new	2025-01-27 01:21:12.744476886 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 2147483647
+    position {
+      x: 130
+      y: 230
+      z: 330
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._old	2025-01-27 01:21:12.751476989 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._new	2025-01-27 01:21:12.758477091 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 5
+    position {
+      x: 120
+      y: 220
+      z: 320
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._old	2025-01-27 01:21:12.764477179 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._new	2025-01-27 01:21:12.771477282 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 50
+    position {
+      x: 140
+      y: 240
+      z: 340
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._old	2025-01-27 01:27:17.508703275 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/0.guildpoint.textproto._new	2025-01-27 01:27:17.516703358 +0000
@@ -0,0 +1,11 @@
+category {
+  name: "My Category"
+  icon {
+    position {
+      x: 100
+      y: 200
+      z: 300
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._old	2025-01-27 01:27:17.523703430 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/1.guildpoint.textproto._new	2025-01-27 01:27:17.531703513 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 1
+    position {
+      x: 110
+      y: 210
+      z: 310
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._old	2025-01-27 01:27:17.538703586 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/2147483647.guildpoint.textproto._new	2025-01-27 01:27:17.545703659 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 2147483647
+    position {
+      x: 130
+      y: 230
+      z: 330
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._old	2025-01-27 01:27:17.552703731 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/5.guildpoint.textproto._new	2025-01-27 01:27:17.558703794 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 5
+    position {
+      x: 120
+      y: 220
+      z: 320
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Full Diff
--- xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._old	2025-01-27 01:27:17.565703866 +0000
+++ xml_converter/integration_tests/test_cases/xml_split_by_map_id/output_proto/50.guildpoint.textproto._new	2025-01-27 01:27:17.572703939 +0000
@@ -0,0 +1,12 @@
+category {
+  name: "My Category"
+  icon {
+    map_id: 50
+    position {
+      x: 140
+      y: 240
+      z: 340
+    }
+  }
+  id: "(\350\314\006\302\223^\226"
+}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants