code review changes

This commit is contained in:
Alex
2024-02-09 11:39:51 -05:00
parent 42c4068d2a
commit 2478a1355f
11 changed files with 104 additions and 118 deletions

View File

@ -1,19 +1,19 @@
#include "Csv/ParsedCsv.h"
ParsedCsvRow::ParsedCsvRow(std::unordered_map<std::string, size_t>& headers, std::vector<std::string>& row)
ParsedCsvRow::ParsedCsvRow(std::unordered_map<std::string, size_t>& headers, std::vector<std::string> row)
: headers(headers),
values(row)
values(std::move(row))
{
}
const std::string ParsedCsvRow::GetValue(const std::string& header, bool required) const
std::string ParsedCsvRow::GetValue(const std::string& header, bool required) const
{
if (this->headers.find(header) == this->headers.end())
{
if (required)
std::cerr << "ERROR: Required column \"" << header << "\" was not found";
std::cerr << "ERROR: Required column \"" << header << "\" was not found" << std::endl;
else
std::cerr << "WARNING: Expected column \"" << header << "\" was not found";
std::cerr << "WARNING: Expected column \"" << header << "\" was not found" << std::endl;
return {};
}
@ -21,14 +21,14 @@ const std::string ParsedCsvRow::GetValue(const std::string& header, bool require
auto& value = this->values.at(this->headers[header]);
if (required && value.empty())
{
std::cerr << "ERROR: Required column \"" << header << "\" does not have a value";
std::cerr << "ERROR: Required column \"" << header << "\" does not have a value" << std::endl;
return {};
}
return value;
}
const float ParsedCsvRow::GetValueFloat(const std::string& header, bool required) const
float ParsedCsvRow::GetValueFloat(const std::string& header, bool required) const
{
const auto& value = this->GetValue(header, required);
if (!value.empty())
@ -65,7 +65,7 @@ ParsedCsv::ParsedCsv(const CsvInputStream& inputStream, bool hasHeaders)
for (auto i = hasHeaders ? 1u : 0u; i < csvLines.size(); i++)
{
auto& rowValues = csvLines[i];
this->rows.push_back(ParsedCsvRow(this->headers, rowValues));
this->rows.emplace_back(this->headers, std::move(rowValues));
}
}

View File

@ -1,7 +1,7 @@
#pragma once
#include <Csv/CsvStream.h>
#include <sstream>
#include <unordered_map>
#include "Csv/CsvStream.h"
class ParsedCsvRow
{
@ -9,9 +9,9 @@ class ParsedCsvRow
std::vector<std::string> values;
public:
explicit ParsedCsvRow(std::unordered_map<std::string, size_t>& headers, std::vector<std::string>& row);
const std::string GetValue(const std::string& header, bool required = false) const;
const float GetValueFloat(const std::string& header, bool required = false) const;
explicit ParsedCsvRow(std::unordered_map<std::string, size_t>& headers, std::vector<std::string> row);
std::string GetValue(const std::string& header, bool required = false) const;
float GetValueFloat(const std::string& header, bool required = false) const;
template<typename T> T GetValueInt(const std::string& header, bool required = false) const
{

View File

@ -26,14 +26,5 @@ namespace T6
static constexpr const char* GDF_FILENAME_WEAPON_ATTACHMENT = "attachment.gdf";
static constexpr const char* GDF_FILENAME_WEAPON_ATTACHMENT_UNIQUE = "attachmentunique.gdf";
static constexpr const char* GDF_FILENAME_ZBARRIER = "zbarrier.gdf";
static const std::array<std::string, 27> SOUND_GROUPS;
static const std::array<std::string, 18> SOUND_CURVES;
static const std::array<std::string, 32> SOUND_DUCK_GROUPS;
static const std::array<std::string, 4> SOUND_LIMIT_TYPES;
static const std::array<std::string, 8> SOUND_MOVE_TYPES;
static const std::array<std::string, 4> SOUND_LOAD_TYPES;
static const std::array<std::string, 11> SOUND_BUS_IDS;
static const std::array<std::string, 4> SOUND_RANDOMIZE_TYPES;
};
} // namespace T6

View File

@ -1,8 +1,9 @@
#include "ObjConstantsT6.h"
#pragma once
#include <string>
namespace T6
{
const std::array<std::string, 27> ObjConstants::SOUND_GROUPS{
inline const std::string SOUND_GROUPS[]{
"grp_reference",
"grp_master",
"grp_wpn_lfe",
@ -32,7 +33,7 @@ namespace T6
"",
};
const std::array<std::string, 18> ObjConstants::SOUND_CURVES{
inline const std::string SOUND_CURVES[]{
"default",
"defaultmin",
"allon",
@ -53,7 +54,7 @@ namespace T6
"",
};
const std::array<std::string, 32> ObjConstants::SOUND_DUCK_GROUPS{
inline const std::string SOUND_DUCK_GROUPS[]{
"snp_alerts_gameplay",
"snp_ambience",
"snp_claw",
@ -88,14 +89,14 @@ namespace T6
"snp_x3",
};
const std::array<std::string, 4> ObjConstants::SOUND_LIMIT_TYPES{
inline const std::string SOUND_LIMIT_TYPES[]{
"none",
"oldest",
"reject",
"priority",
};
const std::array<std::string, 8> ObjConstants::SOUND_MOVE_TYPES{
inline const std::string SOUND_MOVE_TYPES[]{
"none",
"left_player",
"center_player",
@ -106,14 +107,14 @@ namespace T6
"right_shot",
};
const std::array<std::string, 4> ObjConstants::SOUND_LOAD_TYPES{
inline const std::string SOUND_LOAD_TYPES[]{
"unknown",
"loaded",
"streamed",
"primed",
};
const std::array<std::string, 11> ObjConstants::SOUND_BUS_IDS{
inline const std::string SOUND_BUS_IDS[]{
"bus_reverb",
"bus_fx",
"bus_voice",
@ -127,11 +128,10 @@ namespace T6
"",
};
const std::array<std::string, 4> ObjConstants::SOUND_RANDOMIZE_TYPES{
inline const std::string SOUND_RANDOMIZE_TYPES[]{
"volume",
"pitch",
"variant",
"",
};
} // namespace T6