diff options
author | fschildt <florian.schildt@protonmail.com> | 2025-08-22 15:23:11 +0200 |
---|---|---|
committer | fschildt <florian.schildt@protonmail.com> | 2025-08-22 15:23:11 +0200 |
commit | 2050c0e0576f05156f192aa4caf48834d2f28b14 (patch) | |
tree | ee58bd35b0df0a1bacfbc9700ed99ce80c99294e /src/client/string32_handles.c |
Diffstat (limited to 'src/client/string32_handles.c')
-rw-r--r-- | src/client/string32_handles.c | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/client/string32_handles.c b/src/client/string32_handles.c new file mode 100644 index 0000000..59900a8 --- /dev/null +++ b/src/client/string32_handles.c @@ -0,0 +1,40 @@ +#include <basic/basic.h> +#include <basic/arena.h> +#include <client/string32_handles.h> + + +internal_var Arena arena; +internal_var String32 **string32_values; + + +String32* +string32_value(String32Handle handle) +{ + if (handle < SH_COUNT) { + return string32_values[handle]; + } + else { + return string32_values[SH_EMPTY]; + } +} + + +void +string32_handles_load_language(void) +{ + // Todo: read these from files. + + arena_clear(&arena); + arena_init(&arena, KIBIBYTES(1)); + + string32_values = arena_push(&arena, SH_COUNT*sizeof(*string32_values)); + string32_values[SH_EMPTY] = string32_create_from_ascii(&arena, ""); + string32_values[SH_LOGIN_USERNAME_HINT] = string32_create_from_ascii(&arena, "username:"); + string32_values[SH_LOGIN_SERVERNAME_HINT] = string32_create_from_ascii(&arena, "servername:"); + string32_values[SH_LOGIN_WARNING_USERNAME_INVALID] = string32_create_from_ascii(&arena, "error: username is invalid."); + string32_values[SH_LOGIN_WARNING_SERVERNAME_INVALID] = string32_create_from_ascii(&arena, "error: servername is invalid."); + string32_values[SH_LOGIN_WARNING_CONNECTING] = string32_create_from_ascii(&arena, "connecting..."); + string32_values[SH_LOGIN_WARNING_COULD_NOT_CONNECT] = string32_create_from_ascii(&arena, "error: could not connect"); + string32_values[SH_LOGIN_WARNING_CONNECTION_LOST] = string32_create_from_ascii(&arena, "error: connection lost"); +} + |