format show-item-tables output more cleanly
This commit is contained in:
+24
-7
@@ -678,7 +678,8 @@ ItemData ItemNameIndex::parse_item_description_phase(const std::string& descript
|
||||
void ItemNameIndex::print_table(FILE* stream) const {
|
||||
auto pmt = this->item_parameter_table;
|
||||
|
||||
phosg::fwrite_fmt(stream, "WEAPON => ---ID--- TYPE SKIN POINTS FLAG ATPLO ATPHI ATPRQ MSTRQ ATARQ -MST- GND PH SP ATA SB(S1:AMT1,S2:AMT2) PJ 1X 1Y 2X 2Y CL A1 A2 A3 A4 A5 TB BF V1 ST* USL ---DIVISOR--- NAME\n");
|
||||
phosg::fwrite_fmt(stream, "WEAPONS\n");
|
||||
phosg::fwrite_fmt(stream, " CODE => ---ID--- TYPE SKIN POINTS FLAG ATPLO ATPHI ATPRQ MSTRQ ATARQ -MST- GND PH SP ATA SB(S1:AMT1,S2:AMT2) PJ 1X 1Y 2X 2Y CL A1 A2 A3 A4 A5 TB BF V1 ST* USL ---DIVISOR--- NAME\n");
|
||||
for (size_t data1_1 = 0; data1_1 < pmt->num_weapon_classes; data1_1++) {
|
||||
uint8_t v1_replacement = pmt->get_weapon_v1_replacement(data1_1);
|
||||
float sale_divisor = pmt->get_sale_divisor(0x00, data1_1);
|
||||
@@ -742,7 +743,8 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
}
|
||||
}
|
||||
|
||||
phosg::fwrite_fmt(stream, "ARMOR => ---ID--- TYPE SKIN POINTS -DFP- -EVP- BP BE FLAG LVL EFR ETH EIC EDK ELT DFR EVR SB(S1:AMT1,S2:AMT2) TB FT A4 ST* ---DIVISOR--- NAME\n");
|
||||
phosg::fwrite_fmt(stream, "ARMORS\n");
|
||||
phosg::fwrite_fmt(stream, " CODE => ---ID--- TYPE SKIN POINTS -DFP- -EVP- BP BE FLAG LVL EFR ETH EIC EDK ELT DFR EVR SB(S1:AMT1,S2:AMT2) TB FT A4 ST* ---DIVISOR--- NAME\n");
|
||||
for (size_t data1_1 = 1; data1_1 < 3; data1_1++) {
|
||||
float sale_divisor = pmt->get_sale_divisor(0x01, data1_1);
|
||||
string divisor_str = std::format("{:g}", sale_divisor);
|
||||
@@ -794,7 +796,8 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
}
|
||||
}
|
||||
|
||||
phosg::fwrite_fmt(stream, "UNIT => ---ID--- TYPE SKIN POINTS STAT COUNT ST-MOD ST* ---DIVISOR--- NAME\n");
|
||||
phosg::fwrite_fmt(stream, "UNITS\n");
|
||||
phosg::fwrite_fmt(stream, " CODE => ---ID--- TYPE SKIN POINTS STAT COUNT ST-MOD ST* ---DIVISOR--- NAME\n");
|
||||
{
|
||||
float sale_divisor = pmt->get_sale_divisor(0x01, 0x03);
|
||||
string divisor_str = std::format("{:g}", sale_divisor);
|
||||
@@ -826,7 +829,8 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
}
|
||||
}
|
||||
|
||||
phosg::fwrite_fmt(stream, "MAG => ---ID--- TYPE SKIN POINTS FTBL PB AC E1 E2 E3 E4 C1 C2 C3 C4 FLAG ---DIVISOR--- NAME\n");
|
||||
phosg::fwrite_fmt(stream, "MAGS\n");
|
||||
phosg::fwrite_fmt(stream, " CODE => ---ID--- TYPE SKIN POINTS FTBL PB AC E1 E2 E3 E4 C1 C2 C3 C4 FLAG ---DIVISOR--- NAME\n");
|
||||
{
|
||||
size_t data1_1_limit = pmt->num_mags();
|
||||
for (size_t data1_1 = 0; data1_1 < data1_1_limit; data1_1++) {
|
||||
@@ -865,7 +869,8 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
}
|
||||
}
|
||||
|
||||
phosg::fwrite_fmt(stream, "TOOL => ---ID--- TYPE SKIN POINTS COUNT TECH -COST- ITEMFLAG ---DIVISOR--- NAME\n");
|
||||
phosg::fwrite_fmt(stream, "TOOLS\n");
|
||||
phosg::fwrite_fmt(stream, " CODE => ---ID--- TYPE SKIN POINTS COUNT TECH -COST- ITEMFLAG ---DIVISOR--- NAME\n");
|
||||
for (size_t data1_1 = 0; data1_1 < pmt->num_tool_classes; data1_1++) {
|
||||
float sale_divisor = pmt->get_sale_divisor(0x03, data1_1);
|
||||
string divisor_str = std::format("{:g}", sale_divisor);
|
||||
@@ -898,6 +903,7 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
}
|
||||
}
|
||||
|
||||
phosg::fwrite_fmt(stream, "MAX TECH LEVELS\n");
|
||||
phosg::fwrite_fmt(stream, " CLASS => F GF RF B GB RB Z GZ RZ GR DB JL ZL SH RY RS AT RV MG\n");
|
||||
for (size_t char_class = 0; char_class < 12; char_class++) {
|
||||
phosg::fwrite_fmt(stream, " {:9} =>", name_for_char_class(char_class));
|
||||
@@ -912,6 +918,7 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
phosg::fwrite_fmt(stream, "\n");
|
||||
}
|
||||
|
||||
phosg::fwrite_fmt(stream, "MAG FEED TABLES\n");
|
||||
for (size_t table_index = 0; table_index < 8; table_index++) {
|
||||
static const char* names[11] = {
|
||||
"Monomate", "Dimate", "Trimate", "Monofluid",
|
||||
@@ -925,13 +932,22 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
}
|
||||
}
|
||||
|
||||
phosg::fwrite_fmt(stream, "SPECIAL => TYPE COUNT ST*\n");
|
||||
phosg::fwrite_fmt(stream, "SPECIAL DEFINITIONS\n");
|
||||
phosg::fwrite_fmt(stream, " SPECIAL => TYPE COUNT ST* NAME\n");
|
||||
for (size_t index = 0; index < pmt->num_specials; index++) {
|
||||
const auto& sp = pmt->get_special(index);
|
||||
uint8_t stars = pmt->get_special_stars(index);
|
||||
phosg::fwrite_fmt(stream, " {:02X} => {:04X} {:5} {:2}*\n", index, sp.type, sp.amount, stars);
|
||||
const char* name = "";
|
||||
if (index) {
|
||||
try {
|
||||
name = name_for_weapon_special.at(index);
|
||||
} catch (const out_of_range&) {
|
||||
}
|
||||
}
|
||||
phosg::fwrite_fmt(stream, " {:02X} => {:04X} {:5} {:2}* {}\n", index, sp.type, sp.amount, stars, name);
|
||||
}
|
||||
|
||||
phosg::fwrite_fmt(stream, "ITEM COMBINATIONS\n");
|
||||
phosg::fwrite_fmt(stream, " ---USE + -EQUIP => RESULT MLV GND LVL CLS\n");
|
||||
for (const auto& combo_list_it : pmt->get_all_item_combinations()) {
|
||||
for (const auto& combo : combo_list_it.second) {
|
||||
@@ -962,6 +978,7 @@ void ItemNameIndex::print_table(FILE* stream) const {
|
||||
}
|
||||
}
|
||||
|
||||
phosg::fwrite_fmt(stream, "EVENT ITEMS\n");
|
||||
size_t num_events = pmt->num_events();
|
||||
for (size_t event_number = 0; event_number < num_events; event_number++) {
|
||||
phosg::fwrite_fmt(stream, " EV {:3} => PRB\n", event_number);
|
||||
|
||||
Reference in New Issue
Block a user