Browse Source

Turn utils/format_int into a standalone library

pull/7153/head
Gleb Mazovetskiy 2 years ago
parent
commit
3b0cde6704
  1. 9
      Source/CMakeLists.txt
  2. 6
      Source/utils/language.cpp
  3. 6
      Source/utils/language.h
  4. 6
      test/CMakeLists.txt
  5. 9
      test/language_for_testing.cpp

9
Source/CMakeLists.txt

@ -179,7 +179,6 @@ set(libdevilutionx_SRCS
utils/cl2_to_clx.cpp
utils/console.cpp
utils/display.cpp
utils/format_int.cpp
utils/language.cpp
utils/logged_fstream.cpp
utils/paths.cpp
@ -323,6 +322,13 @@ target_link_libraries(libdevilutionx_file_util PRIVATE
${DEVILUTIONX_PLATFORM_LINK_LIBRARIES}
)
add_devilutionx_object_library(libdevilutionx_format_int
utils/format_int.cpp
)
target_link_libraries(libdevilutionx_format_int PUBLIC
libdevilutionx_strings
)
add_library(libdevilutionx_log INTERFACE)
target_include_directories(libdevilutionx_log INTERFACE
${PROJECT_SOURCE_DIR}/Source)
@ -360,6 +366,7 @@ target_link_libraries(libdevilutionx PUBLIC
libsmackerdec
simpleini::simpleini
tl
libdevilutionx_format_int
libdevilutionx_file_util
libdevilutionx_parse_int
libdevilutionx_strings

6
Source/utils/language.cpp

@ -351,12 +351,6 @@ std::string_view GetLanguageCode()
return *sgOptions.Language.code;
}
bool IsSmallFontTall()
{
const std::string_view code = GetLanguageCode().substr(0, 2);
return code == "zh" || code == "ja" || code == "ko";
}
void LanguageInitialize()
{
translation = { {}, {} };

6
Source/utils/language.h

@ -42,4 +42,8 @@ std::string_view LanguagePluralTranslate(const char *singular, std::string_view
std::string_view LanguageParticularTranslate(std::string_view context, std::string_view message);
// Chinese and Japanese, and Korean small font is 16px instead of a 12px one for readability.
bool IsSmallFontTall();
inline bool IsSmallFontTall()
{
const std::string_view code = GetLanguageCode().substr(0, 2);
return code == "zh" || code == "ja" || code == "ko";
}

6
test/CMakeLists.txt

@ -24,7 +24,6 @@ set(tests
drlg_l3_test
drlg_l4_test
effects_test
format_int_test
inv_test
lighting_test
math_test
@ -42,6 +41,7 @@ set(tests
)
set(standalone_tests
file_util_test
format_int_test
parse_int_test
str_cat_test
utf8_test
@ -70,7 +70,11 @@ endforeach()
add_library(app_fatal_for_testing OBJECT app_fatal_for_testing.cpp)
target_sources(app_fatal_for_testing INTERFACE $<TARGET_OBJECTS:app_fatal_for_testing>)
add_library(language_for_testing OBJECT language_for_testing.cpp)
target_sources(language_for_testing INTERFACE $<TARGET_OBJECTS:language_for_testing>)
target_link_libraries(file_util_test PRIVATE libdevilutionx_file_util app_fatal_for_testing)
target_link_libraries(format_int_test PRIVATE libdevilutionx_format_int language_for_testing)
target_link_libraries(parse_int_test PRIVATE libdevilutionx_parse_int)
target_link_libraries(str_cat_test PRIVATE libdevilutionx_strings)
target_link_libraries(utf8_test PRIVATE libdevilutionx_utf8)

9
test/language_for_testing.cpp

@ -0,0 +1,9 @@
#include <string>
#include <string_view>
std::string_view GetLanguageCode() { return "en"; }
bool HasTranslation(const std::string &locale) { return true; }
void LanguageInitialize() { }
std::string_view LanguageTranslate(const char *key) { return key; }
std::string_view LanguagePluralTranslate(const char *singular, std::string_view plural, int count) { return count == 1 ? singular : plural; }
std::string_view LanguageParticularTranslate(std::string_view context, std::string_view message) { return message; }
Loading…
Cancel
Save