summaryrefslogtreecommitdiffstats
path: root/game/client/config
diff options
context:
space:
mode:
authoruntodesu <kirill@untode.su>2025-09-11 13:48:31 +0500
committeruntodesu <kirill@untode.su>2025-09-11 13:48:31 +0500
commitaaed751bf4430bf4b9b30cef532b8753b9f639ce (patch)
tree16bc751c272ba27ad53ec48dbdd3a6d9e6a8d4c2 /game/client/config
parent96bd73ae020ecca1f94698744c77498a89ad19f7 (diff)
downloadvoxelius-aaed751bf4430bf4b9b30cef532b8753b9f639ce.tar.bz2
voxelius-aaed751bf4430bf4b9b30cef532b8753b9f639ce.zip
Replace most of C strings with string_view
Diffstat (limited to 'game/client/config')
-rw-r--r--game/client/config/gamepad_axis.cc19
-rw-r--r--game/client/config/gamepad_axis.hh8
-rw-r--r--game/client/config/gamepad_button.cc12
-rw-r--r--game/client/config/gamepad_button.hh6
-rw-r--r--game/client/config/keybind.cc12
-rw-r--r--game/client/config/keybind.hh6
6 files changed, 32 insertions, 31 deletions
diff --git a/game/client/config/gamepad_axis.cc b/game/client/config/gamepad_axis.cc
index a82de81..8ae74be 100644
--- a/game/client/config/gamepad_axis.cc
+++ b/game/client/config/gamepad_axis.cc
@@ -6,9 +6,9 @@
#include "client/io/gamepad.hh"
-constexpr static const char* UNKNOWN_AXIS_NAME = "UNKNOWN";
+constexpr static std::string_view UNKNOWN_AXIS_NAME = "UNKNOWN";
-static const std::pair<int, const char*> axis_names[] = {
+static const std::pair<int, std::string_view> axis_names[] = {
{ GLFW_GAMEPAD_AXIS_LEFT_X, "LEFT_X" },
{ GLFW_GAMEPAD_AXIS_LEFT_Y, "LEFT_Y" },
{ GLFW_GAMEPAD_AXIS_RIGHT_X, "RIGHT_X" },
@@ -17,7 +17,7 @@ static const std::pair<int, const char*> axis_names[] = {
{ GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER, "RIGHT_TRIG" },
};
-static const char* get_axis_name(int axis)
+static std::string_view get_axis_name(int axis)
{
for(const auto& it : axis_names) {
if(it.first != axis) {
@@ -42,19 +42,20 @@ config::GamepadAxis::GamepadAxis(int axis, bool inverted)
m_full_string = std::format("{}:{}", m_name, m_inverted ? 1U : 0U);
}
-const char* config::GamepadAxis::get(void) const
+std::string_view config::GamepadAxis::get(void) const
{
- return m_full_string.c_str();
+ return m_full_string;
}
-void config::GamepadAxis::set(const char* value)
+void config::GamepadAxis::set(std::string_view value)
{
char new_name[64];
unsigned int new_invert;
+ std::string value_str(value);
- if(2 == std::sscanf(value, "%63[^:]:%u", new_name, &new_invert)) {
+ if(2 == std::sscanf(value_str.c_str(), "%63[^:]:%u", new_name, &new_invert)) {
for(const auto& it : axis_names) {
- if(!std::strcmp(it.second, new_name)) {
+ if(0 == it.second.compare(new_name)) {
m_inverted = new_invert;
m_gamepad_axis = it.first;
m_name = get_axis_name(m_gamepad_axis);
@@ -108,7 +109,7 @@ float config::GamepadAxis::get_value(const GLFWgamepadstate& state, float deadzo
return 0.0f;
}
-const char* config::GamepadAxis::get_name(void) const
+std::string_view config::GamepadAxis::get_name(void) const
{
return m_name;
}
diff --git a/game/client/config/gamepad_axis.hh b/game/client/config/gamepad_axis.hh
index 0308ce6..86a2990 100644
--- a/game/client/config/gamepad_axis.hh
+++ b/game/client/config/gamepad_axis.hh
@@ -14,8 +14,8 @@ public:
explicit GamepadAxis(int axis, bool inverted);
virtual ~GamepadAxis(void) = default;
- virtual const char* get(void) const override;
- virtual void set(const char* value) override;
+ virtual std::string_view get(void) const override;
+ virtual void set(std::string_view value) override;
int get_axis(void) const;
void set_axis(int axis);
@@ -29,13 +29,13 @@ public:
// this configuration value actually contain the
// inversion flag. Since we're updating that flag
// in the UI by means of a separate checkbox, we only need the name here
- const char* get_name(void) const;
+ std::string_view get_name(void) const;
private:
bool m_inverted;
int m_gamepad_axis;
std::string m_full_string;
- const char* m_name;
+ std::string_view m_name;
};
} // namespace config
diff --git a/game/client/config/gamepad_button.cc b/game/client/config/gamepad_button.cc
index b983baa..07e4457 100644
--- a/game/client/config/gamepad_button.cc
+++ b/game/client/config/gamepad_button.cc
@@ -6,9 +6,9 @@
#include "client/io/gamepad.hh"
-constexpr static const char* UNKNOWN_BUTTON_NAME = "UNKNOWN";
+constexpr static std::string_view UNKNOWN_BUTTON_NAME = "UNKNOWN";
-static const std::pair<int, const char*> button_names[] = {
+static const std::pair<int, std::string_view> button_names[] = {
{ GLFW_GAMEPAD_BUTTON_A, "A" },
{ GLFW_GAMEPAD_BUTTON_B, "B" },
{ GLFW_GAMEPAD_BUTTON_X, "X" },
@@ -26,7 +26,7 @@ static const std::pair<int, const char*> button_names[] = {
{ GLFW_GAMEPAD_BUTTON_DPAD_LEFT, "DPAD_LEFT" },
};
-static const char* get_button_name(int button)
+static std::string_view get_button_name(int button)
{
for(const auto& it : button_names) {
if(it.first == button) {
@@ -49,15 +49,15 @@ config::GamepadButton::GamepadButton(int button)
m_name = get_button_name(button);
}
-const char* config::GamepadButton::get(void) const
+std::string_view config::GamepadButton::get(void) const
{
return m_name;
}
-void config::GamepadButton::set(const char* value)
+void config::GamepadButton::set(std::string_view value)
{
for(const auto& it : button_names) {
- if(!std::strcmp(it.second, value)) {
+ if(0 == it.second.compare(value)) {
m_gamepad_button = it.first;
m_name = it.second;
return;
diff --git a/game/client/config/gamepad_button.hh b/game/client/config/gamepad_button.hh
index 11566c1..e1d1224 100644
--- a/game/client/config/gamepad_button.hh
+++ b/game/client/config/gamepad_button.hh
@@ -14,8 +14,8 @@ public:
explicit GamepadButton(int button);
virtual ~GamepadButton(void) = default;
- virtual const char* get(void) const override;
- virtual void set(const char* value) override;
+ virtual std::string_view get(void) const override;
+ virtual void set(std::string_view value) override;
int get_button(void) const;
void set_button(int button);
@@ -25,7 +25,7 @@ public:
private:
int m_gamepad_button;
- const char* m_name;
+ std::string_view m_name;
};
} // namespace config
diff --git a/game/client/config/keybind.cc b/game/client/config/keybind.cc
index 6bd8ef0..e254f7b 100644
--- a/game/client/config/keybind.cc
+++ b/game/client/config/keybind.cc
@@ -6,9 +6,9 @@
#include "client/const.hh"
-constexpr static const char* UNKNOWN_KEY_NAME = "UNKNOWN";
+constexpr static std::string_view UNKNOWN_KEY_NAME = "UNKNOWN";
-static const std::pair<int, const char*> key_names[] = {
+static const std::pair<int, std::string_view> key_names[] = {
{ GLFW_KEY_SPACE, "SPACE" },
{ GLFW_KEY_APOSTROPHE, "'" },
{ GLFW_KEY_COMMA, "," },
@@ -131,7 +131,7 @@ static const std::pair<int, const char*> key_names[] = {
{ GLFW_KEY_MENU, "MENU" },
};
-static const char* get_key_name(int keycode)
+static std::string_view get_key_name(int keycode)
{
for(const auto& it : key_names) {
if(it.first == keycode) {
@@ -160,10 +160,10 @@ config::KeyBind::KeyBind(int default_value)
}
}
-void config::KeyBind::set(const char* value)
+void config::KeyBind::set(std::string_view value)
{
for(const auto& it : key_names) {
- if((it.first != DEBUG_KEY) && !std::strcmp(it.second, value)) {
+ if((it.first != DEBUG_KEY) && 0 == it.second.compare(value)) {
m_glfw_keycode = it.first;
m_name = it.second;
return;
@@ -174,7 +174,7 @@ void config::KeyBind::set(const char* value)
m_name = UNKNOWN_KEY_NAME;
}
-const char* config::KeyBind::get(void) const
+std::string_view config::KeyBind::get(void) const
{
return m_name;
}
diff --git a/game/client/config/keybind.hh b/game/client/config/keybind.hh
index abfb97a..0005fe4 100644
--- a/game/client/config/keybind.hh
+++ b/game/client/config/keybind.hh
@@ -12,8 +12,8 @@ public:
explicit KeyBind(int default_value);
virtual ~KeyBind(void) = default;
- virtual void set(const char* value) override;
- virtual const char* get(void) const override;
+ virtual void set(std::string_view value) override;
+ virtual std::string_view get(void) const override;
void set_key(int keycode);
int get_key(void) const;
@@ -21,7 +21,7 @@ public:
bool equals(int keycode) const;
private:
- const char* m_name;
+ std::string_view m_name;
int m_glfw_keycode;
};
} // namespace config