mirror of
https://github.com/EQEmu/Server.git
synced 2026-05-31 04:56:20 +00:00
[Repositories] Add more precise types to repository generator (#2391)
* Make utils/scripts/generators/repository-generator.pl aware of more datatypes This adds support for unsigned and more integer types. It also avoids using parsing functions that require casting (still needed in some cases) Having the data types in the Repository structs better map to the types in the database will allow us to avoid casting when we pull data out of them. And as a benefit, assume something is wrong if we do :) Hopefully clean up some warnings due to casting too. Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
committed by
GitHub
parent
fcf01f6d87
commit
6f7fa98996
@@ -19,33 +19,33 @@
|
||||
class BaseTasksRepository {
|
||||
public:
|
||||
struct Tasks {
|
||||
int id;
|
||||
int type;
|
||||
int duration;
|
||||
int duration_code;
|
||||
uint32_t id;
|
||||
int8_t type;
|
||||
uint32_t duration;
|
||||
int8_t duration_code;
|
||||
std::string title;
|
||||
std::string description;
|
||||
std::string reward;
|
||||
int rewardid;
|
||||
int cashreward;
|
||||
int xpreward;
|
||||
int rewardmethod;
|
||||
int reward_points;
|
||||
int reward_point_type;
|
||||
int minlevel;
|
||||
int maxlevel;
|
||||
int level_spread;
|
||||
int min_players;
|
||||
int max_players;
|
||||
int repeatable;
|
||||
int faction_reward;
|
||||
uint32_t rewardid;
|
||||
uint32_t cashreward;
|
||||
int32_t xpreward;
|
||||
uint8_t rewardmethod;
|
||||
int32_t reward_points;
|
||||
int32_t reward_point_type;
|
||||
uint8_t minlevel;
|
||||
uint8_t maxlevel;
|
||||
uint32_t level_spread;
|
||||
uint32_t min_players;
|
||||
uint32_t max_players;
|
||||
uint8_t repeatable;
|
||||
int32_t faction_reward;
|
||||
std::string completion_emote;
|
||||
int replay_timer_group;
|
||||
int replay_timer_seconds;
|
||||
int request_timer_group;
|
||||
int request_timer_seconds;
|
||||
int dz_template_id;
|
||||
int lock_activity_id;
|
||||
uint32_t replay_timer_group;
|
||||
uint32_t replay_timer_seconds;
|
||||
uint32_t request_timer_group;
|
||||
uint32_t request_timer_seconds;
|
||||
uint32_t dz_template_id;
|
||||
int32_t lock_activity_id;
|
||||
};
|
||||
|
||||
static std::string PrimaryKey()
|
||||
@@ -218,33 +218,33 @@ public:
|
||||
if (results.RowCount() == 1) {
|
||||
Tasks e{};
|
||||
|
||||
e.id = atoi(row[0]);
|
||||
e.type = atoi(row[1]);
|
||||
e.duration = atoi(row[2]);
|
||||
e.duration_code = atoi(row[3]);
|
||||
e.id = static_cast<uint32_t>(strtoul(row[0], nullptr, 10));
|
||||
e.type = static_cast<int8_t>(atoi(row[1]));
|
||||
e.duration = static_cast<uint32_t>(strtoul(row[2], nullptr, 10));
|
||||
e.duration_code = static_cast<int8_t>(atoi(row[3]));
|
||||
e.title = row[4] ? row[4] : "";
|
||||
e.description = row[5] ? row[5] : "";
|
||||
e.reward = row[6] ? row[6] : "";
|
||||
e.rewardid = atoi(row[7]);
|
||||
e.cashreward = atoi(row[8]);
|
||||
e.xpreward = atoi(row[9]);
|
||||
e.rewardmethod = atoi(row[10]);
|
||||
e.reward_points = atoi(row[11]);
|
||||
e.reward_point_type = atoi(row[12]);
|
||||
e.minlevel = atoi(row[13]);
|
||||
e.maxlevel = atoi(row[14]);
|
||||
e.level_spread = atoi(row[15]);
|
||||
e.min_players = atoi(row[16]);
|
||||
e.max_players = atoi(row[17]);
|
||||
e.repeatable = atoi(row[18]);
|
||||
e.faction_reward = atoi(row[19]);
|
||||
e.rewardid = static_cast<uint32_t>(strtoul(row[7], nullptr, 10));
|
||||
e.cashreward = static_cast<uint32_t>(strtoul(row[8], nullptr, 10));
|
||||
e.xpreward = static_cast<int32_t>(atoi(row[9]));
|
||||
e.rewardmethod = static_cast<uint8_t>(strtoul(row[10], nullptr, 10));
|
||||
e.reward_points = static_cast<int32_t>(atoi(row[11]));
|
||||
e.reward_point_type = static_cast<int32_t>(atoi(row[12]));
|
||||
e.minlevel = static_cast<uint8_t>(strtoul(row[13], nullptr, 10));
|
||||
e.maxlevel = static_cast<uint8_t>(strtoul(row[14], nullptr, 10));
|
||||
e.level_spread = static_cast<uint32_t>(strtoul(row[15], nullptr, 10));
|
||||
e.min_players = static_cast<uint32_t>(strtoul(row[16], nullptr, 10));
|
||||
e.max_players = static_cast<uint32_t>(strtoul(row[17], nullptr, 10));
|
||||
e.repeatable = static_cast<uint8_t>(strtoul(row[18], nullptr, 10));
|
||||
e.faction_reward = static_cast<int32_t>(atoi(row[19]));
|
||||
e.completion_emote = row[20] ? row[20] : "";
|
||||
e.replay_timer_group = atoi(row[21]);
|
||||
e.replay_timer_seconds = atoi(row[22]);
|
||||
e.request_timer_group = atoi(row[23]);
|
||||
e.request_timer_seconds = atoi(row[24]);
|
||||
e.dz_template_id = atoi(row[25]);
|
||||
e.lock_activity_id = atoi(row[26]);
|
||||
e.replay_timer_group = static_cast<uint32_t>(strtoul(row[21], nullptr, 10));
|
||||
e.replay_timer_seconds = static_cast<uint32_t>(strtoul(row[22], nullptr, 10));
|
||||
e.request_timer_group = static_cast<uint32_t>(strtoul(row[23], nullptr, 10));
|
||||
e.request_timer_seconds = static_cast<uint32_t>(strtoul(row[24], nullptr, 10));
|
||||
e.dz_template_id = static_cast<uint32_t>(strtoul(row[25], nullptr, 10));
|
||||
e.lock_activity_id = static_cast<int32_t>(atoi(row[26]));
|
||||
|
||||
return e;
|
||||
}
|
||||
@@ -442,33 +442,33 @@ public:
|
||||
for (auto row = results.begin(); row != results.end(); ++row) {
|
||||
Tasks e{};
|
||||
|
||||
e.id = atoi(row[0]);
|
||||
e.type = atoi(row[1]);
|
||||
e.duration = atoi(row[2]);
|
||||
e.duration_code = atoi(row[3]);
|
||||
e.id = static_cast<uint32_t>(strtoul(row[0], nullptr, 10));
|
||||
e.type = static_cast<int8_t>(atoi(row[1]));
|
||||
e.duration = static_cast<uint32_t>(strtoul(row[2], nullptr, 10));
|
||||
e.duration_code = static_cast<int8_t>(atoi(row[3]));
|
||||
e.title = row[4] ? row[4] : "";
|
||||
e.description = row[5] ? row[5] : "";
|
||||
e.reward = row[6] ? row[6] : "";
|
||||
e.rewardid = atoi(row[7]);
|
||||
e.cashreward = atoi(row[8]);
|
||||
e.xpreward = atoi(row[9]);
|
||||
e.rewardmethod = atoi(row[10]);
|
||||
e.reward_points = atoi(row[11]);
|
||||
e.reward_point_type = atoi(row[12]);
|
||||
e.minlevel = atoi(row[13]);
|
||||
e.maxlevel = atoi(row[14]);
|
||||
e.level_spread = atoi(row[15]);
|
||||
e.min_players = atoi(row[16]);
|
||||
e.max_players = atoi(row[17]);
|
||||
e.repeatable = atoi(row[18]);
|
||||
e.faction_reward = atoi(row[19]);
|
||||
e.rewardid = static_cast<uint32_t>(strtoul(row[7], nullptr, 10));
|
||||
e.cashreward = static_cast<uint32_t>(strtoul(row[8], nullptr, 10));
|
||||
e.xpreward = static_cast<int32_t>(atoi(row[9]));
|
||||
e.rewardmethod = static_cast<uint8_t>(strtoul(row[10], nullptr, 10));
|
||||
e.reward_points = static_cast<int32_t>(atoi(row[11]));
|
||||
e.reward_point_type = static_cast<int32_t>(atoi(row[12]));
|
||||
e.minlevel = static_cast<uint8_t>(strtoul(row[13], nullptr, 10));
|
||||
e.maxlevel = static_cast<uint8_t>(strtoul(row[14], nullptr, 10));
|
||||
e.level_spread = static_cast<uint32_t>(strtoul(row[15], nullptr, 10));
|
||||
e.min_players = static_cast<uint32_t>(strtoul(row[16], nullptr, 10));
|
||||
e.max_players = static_cast<uint32_t>(strtoul(row[17], nullptr, 10));
|
||||
e.repeatable = static_cast<uint8_t>(strtoul(row[18], nullptr, 10));
|
||||
e.faction_reward = static_cast<int32_t>(atoi(row[19]));
|
||||
e.completion_emote = row[20] ? row[20] : "";
|
||||
e.replay_timer_group = atoi(row[21]);
|
||||
e.replay_timer_seconds = atoi(row[22]);
|
||||
e.request_timer_group = atoi(row[23]);
|
||||
e.request_timer_seconds = atoi(row[24]);
|
||||
e.dz_template_id = atoi(row[25]);
|
||||
e.lock_activity_id = atoi(row[26]);
|
||||
e.replay_timer_group = static_cast<uint32_t>(strtoul(row[21], nullptr, 10));
|
||||
e.replay_timer_seconds = static_cast<uint32_t>(strtoul(row[22], nullptr, 10));
|
||||
e.request_timer_group = static_cast<uint32_t>(strtoul(row[23], nullptr, 10));
|
||||
e.request_timer_seconds = static_cast<uint32_t>(strtoul(row[24], nullptr, 10));
|
||||
e.dz_template_id = static_cast<uint32_t>(strtoul(row[25], nullptr, 10));
|
||||
e.lock_activity_id = static_cast<int32_t>(atoi(row[26]));
|
||||
|
||||
all_entries.push_back(e);
|
||||
}
|
||||
@@ -493,33 +493,33 @@ public:
|
||||
for (auto row = results.begin(); row != results.end(); ++row) {
|
||||
Tasks e{};
|
||||
|
||||
e.id = atoi(row[0]);
|
||||
e.type = atoi(row[1]);
|
||||
e.duration = atoi(row[2]);
|
||||
e.duration_code = atoi(row[3]);
|
||||
e.id = static_cast<uint32_t>(strtoul(row[0], nullptr, 10));
|
||||
e.type = static_cast<int8_t>(atoi(row[1]));
|
||||
e.duration = static_cast<uint32_t>(strtoul(row[2], nullptr, 10));
|
||||
e.duration_code = static_cast<int8_t>(atoi(row[3]));
|
||||
e.title = row[4] ? row[4] : "";
|
||||
e.description = row[5] ? row[5] : "";
|
||||
e.reward = row[6] ? row[6] : "";
|
||||
e.rewardid = atoi(row[7]);
|
||||
e.cashreward = atoi(row[8]);
|
||||
e.xpreward = atoi(row[9]);
|
||||
e.rewardmethod = atoi(row[10]);
|
||||
e.reward_points = atoi(row[11]);
|
||||
e.reward_point_type = atoi(row[12]);
|
||||
e.minlevel = atoi(row[13]);
|
||||
e.maxlevel = atoi(row[14]);
|
||||
e.level_spread = atoi(row[15]);
|
||||
e.min_players = atoi(row[16]);
|
||||
e.max_players = atoi(row[17]);
|
||||
e.repeatable = atoi(row[18]);
|
||||
e.faction_reward = atoi(row[19]);
|
||||
e.rewardid = static_cast<uint32_t>(strtoul(row[7], nullptr, 10));
|
||||
e.cashreward = static_cast<uint32_t>(strtoul(row[8], nullptr, 10));
|
||||
e.xpreward = static_cast<int32_t>(atoi(row[9]));
|
||||
e.rewardmethod = static_cast<uint8_t>(strtoul(row[10], nullptr, 10));
|
||||
e.reward_points = static_cast<int32_t>(atoi(row[11]));
|
||||
e.reward_point_type = static_cast<int32_t>(atoi(row[12]));
|
||||
e.minlevel = static_cast<uint8_t>(strtoul(row[13], nullptr, 10));
|
||||
e.maxlevel = static_cast<uint8_t>(strtoul(row[14], nullptr, 10));
|
||||
e.level_spread = static_cast<uint32_t>(strtoul(row[15], nullptr, 10));
|
||||
e.min_players = static_cast<uint32_t>(strtoul(row[16], nullptr, 10));
|
||||
e.max_players = static_cast<uint32_t>(strtoul(row[17], nullptr, 10));
|
||||
e.repeatable = static_cast<uint8_t>(strtoul(row[18], nullptr, 10));
|
||||
e.faction_reward = static_cast<int32_t>(atoi(row[19]));
|
||||
e.completion_emote = row[20] ? row[20] : "";
|
||||
e.replay_timer_group = atoi(row[21]);
|
||||
e.replay_timer_seconds = atoi(row[22]);
|
||||
e.request_timer_group = atoi(row[23]);
|
||||
e.request_timer_seconds = atoi(row[24]);
|
||||
e.dz_template_id = atoi(row[25]);
|
||||
e.lock_activity_id = atoi(row[26]);
|
||||
e.replay_timer_group = static_cast<uint32_t>(strtoul(row[21], nullptr, 10));
|
||||
e.replay_timer_seconds = static_cast<uint32_t>(strtoul(row[22], nullptr, 10));
|
||||
e.request_timer_group = static_cast<uint32_t>(strtoul(row[23], nullptr, 10));
|
||||
e.request_timer_seconds = static_cast<uint32_t>(strtoul(row[24], nullptr, 10));
|
||||
e.dz_template_id = static_cast<uint32_t>(strtoul(row[25], nullptr, 10));
|
||||
e.lock_activity_id = static_cast<int32_t>(atoi(row[26]));
|
||||
|
||||
all_entries.push_back(e);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user