mirror of
https://forgejo.xatacraft.ru/Sunshine/mkxp-sunshine.git
synced 2026-08-19 13:29:54 +00:00
journal localization
This commit is contained in:
parent
3762004b86
commit
5ff6d6e86b
4 changed files with 260 additions and 43 deletions
|
|
@ -17,12 +17,13 @@
|
|||
|
||||
static SDL_Thread *thread = NULL;
|
||||
static SDL_mutex *mutex = NULL;
|
||||
static volatile char lang_buffer[BUFFER_SIZE];
|
||||
static volatile char message_buffer[BUFFER_SIZE];
|
||||
static volatile bool active = false;
|
||||
static volatile int message_len = 0;
|
||||
|
||||
#if defined __linux
|
||||
#define PIPE_PATH "/tmp/oneshot-pipe"
|
||||
static volatile int message_len = 0;
|
||||
static volatile int out_pipe = -1;
|
||||
void cleanup_pipe()
|
||||
{
|
||||
|
|
@ -69,10 +70,15 @@ RB_METHOD(journalSet)
|
|||
RB_UNUSED_PARAM;
|
||||
const char *name;
|
||||
rb_get_args(argc, argv, "z", &name RB_ARG_END);
|
||||
#if defined _WIN32
|
||||
// Record message
|
||||
SDL_LockMutex(mutex);
|
||||
strcpy((char*)message_buffer, name);
|
||||
message_len = strlen(name);
|
||||
memcpy((char*)message_buffer, name, message_len);
|
||||
strcpy((char*)message_buffer + message_len, (char*)lang_buffer);
|
||||
message_len += strlen((char*)lang_buffer);
|
||||
SDL_UnlockMutex(mutex);
|
||||
|
||||
#if defined _WIN32
|
||||
HANDLE pipe = CreateFileW(L"\\\\.\\pipe\\oneshot-game-to-journal",
|
||||
GENERIC_WRITE,
|
||||
0,
|
||||
|
|
@ -96,12 +102,6 @@ RB_METHOD(journalSet)
|
|||
SDL_WaitThread(thread, NULL);
|
||||
thread = NULL;
|
||||
}
|
||||
// Record message
|
||||
SDL_LockMutex(mutex);
|
||||
message_len = strlen(name);
|
||||
memcpy((char*)message_buffer, name, message_len);
|
||||
SDL_UnlockMutex(mutex);
|
||||
|
||||
// Attempt to send it over the tubes
|
||||
if (out_pipe != -1) {
|
||||
// We have a connection, so send it over
|
||||
|
|
@ -121,6 +121,15 @@ RB_METHOD(journalSet)
|
|||
return Qnil;
|
||||
}
|
||||
|
||||
RB_METHOD(journalSetLang)
|
||||
{
|
||||
RB_UNUSED_PARAM;
|
||||
const char *lang;
|
||||
rb_get_args(argc, argv, "z", &lang RB_ARG_END);
|
||||
strcpy((char*)lang_buffer+1, lang);
|
||||
return Qnil;
|
||||
}
|
||||
|
||||
RB_METHOD(journalActive)
|
||||
{
|
||||
RB_UNUSED_PARAM;
|
||||
|
|
@ -130,6 +139,8 @@ RB_METHOD(journalActive)
|
|||
void journalBindingInit()
|
||||
{
|
||||
mutex = SDL_CreateMutex();
|
||||
memset((char*)lang_buffer, 0, BUFFER_SIZE);
|
||||
lang_buffer[0] = '_';
|
||||
#if defined __linux
|
||||
mkfifo(PIPE_PATH, 0666);
|
||||
atexit(cleanup_pipe);
|
||||
|
|
@ -138,4 +149,5 @@ void journalBindingInit()
|
|||
VALUE module = rb_define_module("Journal");
|
||||
_rb_define_module_function(module, "set", journalSet);
|
||||
_rb_define_module_function(module, "active?", journalActive);
|
||||
_rb_define_module_function(module, "setLang", journalSetLang);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,13 +13,31 @@ static const WCHAR journal_classname[] = L"journal";
|
|||
static HBITMAP image_handle = NULL;
|
||||
static HANDLE image_mutex = NULL;
|
||||
|
||||
static DWORD err = 0;
|
||||
|
||||
static HWND window = NULL;
|
||||
|
||||
static void loadImage(const char *name) {
|
||||
char copy_space[IN_BUFFER_SIZE];
|
||||
const char* lang_ptr;
|
||||
if (image_handle) {
|
||||
DeleteObject(image_handle);
|
||||
}
|
||||
image_handle = LoadBitmapA(GetModuleHandleW(NULL), name);
|
||||
// In the event we can't find an image's translated value
|
||||
// try to find a matching resource without any language code suffix
|
||||
if (!image_handle) {
|
||||
lang_ptr = strchr(name, '_');
|
||||
if (lang_ptr) {
|
||||
memset(copy_space, 0, IN_BUFFER_SIZE);
|
||||
strncpy(copy_space, name, lang_ptr - name);
|
||||
//terminate the string because I guess strncpy doesn't
|
||||
image_handle = LoadBitmapA(GetModuleHandleW(NULL), copy_space);
|
||||
if (!image_handle) {
|
||||
err = GetLastError();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Window procedure
|
||||
|
|
@ -134,7 +152,7 @@ int do_journal()
|
|||
wc.cbClsExtra = 0;
|
||||
wc.cbWndExtra = 0;
|
||||
wc.hInstance = module;
|
||||
wc.hIcon = LoadIcon(NULL, "MAINICON");
|
||||
wc.hIcon = LoadIcon(NULL, L"MAINICON");
|
||||
wc.hCursor = LoadCursor(NULL, IDC_ARROW);
|
||||
wc.hbrBackground = NULL;
|
||||
wc.lpszMenuName = NULL;
|
||||
|
|
|
|||
|
|
@ -1,37 +1,223 @@
|
|||
#include <winuser.h>
|
||||
MAINICON ICON "icon.ico"
|
||||
|
||||
NIKO1 BITMAP "niko1.bmp"
|
||||
NIKO2 BITMAP "niko2.bmp"
|
||||
NIKO3 BITMAP "niko3.bmp"
|
||||
NIKO1 BITMAP "img/NIKO1.bmp"
|
||||
NIKO2 BITMAP "img/NIKO2.bmp"
|
||||
NIKO3 BITMAP "img/NIKO3.bmp"
|
||||
|
||||
default BITMAP "default.bmp"
|
||||
t1 BITMAP "t1.bmp"
|
||||
t2 BITMAP "t2.bmp"
|
||||
t3 BITMAP "t3.bmp"
|
||||
t4 BITMAP "t4.bmp"
|
||||
t5 BITMAP "t5.bmp"
|
||||
t6 BITMAP "t6.bmp"
|
||||
t7 BITMAP "t7.bmp"
|
||||
t8 BITMAP "t8.bmp"
|
||||
t9 BITMAP "t9.bmp"
|
||||
t10 BITMAP "t10.bmp"
|
||||
t11 BITMAP "t11.bmp"
|
||||
t12 BITMAP "t12.bmp"
|
||||
t13 BITMAP "t13.bmp"
|
||||
t14 BITMAP "t14.bmp"
|
||||
t15 BITMAP "t15.bmp"
|
||||
t16 BITMAP "t16.bmp"
|
||||
c1 BITMAP "c1.bmp"
|
||||
c2 BITMAP "c2.bmp"
|
||||
c3 BITMAP "c3.bmp"
|
||||
c4 BITMAP "c4.bmp"
|
||||
c5 BITMAP "c5.bmp"
|
||||
c6 BITMAP "c6.bmp"
|
||||
c7 BITMAP "c7.bmp"
|
||||
s1 BITMAP "s1.bmp"
|
||||
s2 BITMAP "s2.bmp"
|
||||
s3 BITMAP "s3.bmp"
|
||||
s4 BITMAP "s4.bmp"
|
||||
save BITMAP "save.bmp"
|
||||
final BITMAP "final.bmp"
|
||||
default BITMAP "img/DEFAULT.bmp"
|
||||
t1 BITMAP "img/T1.bmp"
|
||||
t2 BITMAP "img/T2.bmp"
|
||||
t3 BITMAP "img/T3.bmp"
|
||||
t4 BITMAP "img/T4.bmp"
|
||||
t5 BITMAP "img/T5.bmp"
|
||||
t6 BITMAP "img/T6.bmp"
|
||||
t7 BITMAP "img/T7.bmp"
|
||||
t8 BITMAP "img/T8.bmp"
|
||||
t9 BITMAP "img/T9.bmp"
|
||||
t10 BITMAP "img/T10.bmp"
|
||||
t11 BITMAP "img/T11.bmp"
|
||||
t12 BITMAP "img/T12.bmp"
|
||||
t13 BITMAP "img/T13.bmp"
|
||||
t14 BITMAP "img/T14.bmp"
|
||||
t15 BITMAP "img/T15.bmp"
|
||||
t16 BITMAP "img/T16.bmp"
|
||||
c1 BITMAP "img/C1.bmp"
|
||||
c2 BITMAP "img/C2.bmp"
|
||||
c3 BITMAP "img/C3.bmp"
|
||||
c4 BITMAP "img/C4.bmp"
|
||||
c5 BITMAP "img/C5.bmp"
|
||||
c6 BITMAP "img/C6.bmp"
|
||||
c7 BITMAP "img/C7.bmp"
|
||||
s1 BITMAP "img/S1.bmp"
|
||||
s2 BITMAP "img/S2.bmp"
|
||||
s3 BITMAP "img/S3.bmp"
|
||||
s4 BITMAP "img/S4.bmp"
|
||||
save BITMAP "img/SAVE.bmp"
|
||||
final BITMAP "img/FINAL.bmp"
|
||||
|
||||
//french
|
||||
t1_FR BITMAP "img/fr/T1.bmp"
|
||||
t2_FR BITMAP "img/fr/T2.bmp"
|
||||
t3_FR BITMAP "img/fr/T3.bmp"
|
||||
t4_FR BITMAP "img/fr/T4.bmp"
|
||||
t5_FR BITMAP "img/fr/T5.bmp"
|
||||
t6_FR BITMAP "img/fr/T6.bmp"
|
||||
t7_FR BITMAP "img/fr/T7.bmp"
|
||||
t8_FR BITMAP "img/fr/T8.bmp"
|
||||
t9_FR BITMAP "img/fr/T9.bmp"
|
||||
t10_FR BITMAP "img/fr/T10.bmp"
|
||||
t11_FR BITMAP "img/fr/T11.bmp"
|
||||
t12_FR BITMAP "img/fr/T12.bmp"
|
||||
t13_FR BITMAP "img/fr/T13.bmp"
|
||||
t14_FR BITMAP "img/fr/T14.bmp"
|
||||
t15_FR BITMAP "img/fr/T15.bmp"
|
||||
t16_FR BITMAP "img/fr/T16.bmp"
|
||||
c1_FR BITMAP "img/fr/C1.bmp"
|
||||
c2_FR BITMAP "img/fr/C2.bmp"
|
||||
c3_FR BITMAP "img/fr/C3.bmp"
|
||||
c4_FR BITMAP "img/fr/C4.bmp"
|
||||
c5_FR BITMAP "img/fr/C5.bmp"
|
||||
c6_FR BITMAP "img/fr/C6.bmp"
|
||||
c7_FR BITMAP "img/fr/C7.bmp"
|
||||
s1_FR BITMAP "img/fr/S1.bmp"
|
||||
s2_FR BITMAP "img/fr/S2.bmp"
|
||||
s3_FR BITMAP "img/fr/S3.bmp"
|
||||
s4_FR BITMAP "img/fr/S4.bmp"
|
||||
save_FR BITMAP "img/fr/SAVE.bmp"
|
||||
final_FR BITMAP "img/fr/FINAL.bmp"
|
||||
|
||||
//spanish
|
||||
t1_ES BITMAP "img/es/T1.bmp"
|
||||
t2_ES BITMAP "img/es/T2.bmp"
|
||||
t3_ES BITMAP "img/es/T3.bmp"
|
||||
t4_ES BITMAP "img/es/T4.bmp"
|
||||
t5_ES BITMAP "img/es/T5.bmp"
|
||||
t6_ES BITMAP "img/es/T6.bmp"
|
||||
t7_ES BITMAP "img/es/T7.bmp"
|
||||
t8_ES BITMAP "img/es/T8.bmp"
|
||||
t9_ES BITMAP "img/es/T9.bmp"
|
||||
t10_ES BITMAP "img/es/T10.bmp"
|
||||
t11_ES BITMAP "img/es/T11.bmp"
|
||||
t12_ES BITMAP "img/es/T12.bmp"
|
||||
t13_ES BITMAP "img/es/T13.bmp"
|
||||
t14_ES BITMAP "img/es/T14.bmp"
|
||||
t15_ES BITMAP "img/es/T15.bmp"
|
||||
t16_ES BITMAP "img/es/T16.bmp"
|
||||
c1_ES BITMAP "img/es/C1.bmp"
|
||||
c2_ES BITMAP "img/es/C2.bmp"
|
||||
c3_ES BITMAP "img/es/C3.bmp"
|
||||
c4_ES BITMAP "img/es/C4.bmp"
|
||||
c5_ES BITMAP "img/es/C5.bmp"
|
||||
c6_ES BITMAP "img/es/C6.bmp"
|
||||
c7_ES BITMAP "img/es/C7.bmp"
|
||||
s1_ES BITMAP "img/es/S1.bmp"
|
||||
s2_ES BITMAP "img/es/S2.bmp"
|
||||
s3_ES BITMAP "img/es/S3.bmp"
|
||||
s4_ES BITMAP "img/es/S4.bmp"
|
||||
save_ES BITMAP "img/es/SAVE.bmp"
|
||||
final_ES BITMAP "img/es/FINAL.bmp"
|
||||
|
||||
//japanese
|
||||
t1_JA BITMAP "img/ja/T1.bmp"
|
||||
t2_JA BITMAP "img/ja/T2.bmp"
|
||||
t3_JA BITMAP "img/ja/T3.bmp"
|
||||
t4_JA BITMAP "img/ja/T4.bmp"
|
||||
t5_JA BITMAP "img/ja/T5.bmp"
|
||||
t6_JA BITMAP "img/ja/T6.bmp"
|
||||
t7_JA BITMAP "img/ja/T7.bmp"
|
||||
t8_JA BITMAP "img/ja/T8.bmp"
|
||||
t9_JA BITMAP "img/ja/T9.bmp"
|
||||
t10_JA BITMAP "img/ja/T10.bmp"
|
||||
t11_JA BITMAP "img/ja/T11.bmp"
|
||||
t12_JA BITMAP "img/ja/T12.bmp"
|
||||
t13_JA BITMAP "img/ja/T13.bmp"
|
||||
t14_JA BITMAP "img/ja/T14.bmp"
|
||||
t15_JA BITMAP "img/ja/T15.bmp"
|
||||
t16_JA BITMAP "img/ja/T16.bmp"
|
||||
c1_JA BITMAP "img/ja/C1.bmp"
|
||||
c2_JA BITMAP "img/ja/C2.bmp"
|
||||
c3_JA BITMAP "img/ja/C3.bmp"
|
||||
c4_JA BITMAP "img/ja/C4.bmp"
|
||||
c5_JA BITMAP "img/ja/C5.bmp"
|
||||
c6_JA BITMAP "img/ja/C6.bmp"
|
||||
c7_JA BITMAP "img/ja/C7.bmp"
|
||||
s1_JA BITMAP "img/ja/S1.bmp"
|
||||
s2_JA BITMAP "img/ja/S2.bmp"
|
||||
s3_JA BITMAP "img/ja/S3.bmp"
|
||||
s4_JA BITMAP "img/ja/S4.bmp"
|
||||
save_JA BITMAP "img/ja/SAVE.bmp"
|
||||
final_JA BITMAP "img/ja/FINAL.bmp"
|
||||
|
||||
//korean
|
||||
t1_KO BITMAP "img/ko/T1.bmp"
|
||||
t2_KO BITMAP "img/ko/T2.bmp"
|
||||
t3_KO BITMAP "img/ko/T3.bmp"
|
||||
t4_KO BITMAP "img/ko/T4.bmp"
|
||||
t5_KO BITMAP "img/ko/T5.bmp"
|
||||
t6_KO BITMAP "img/ko/T6.bmp"
|
||||
t7_KO BITMAP "img/ko/T7.bmp"
|
||||
t8_KO BITMAP "img/ko/T8.bmp"
|
||||
t9_KO BITMAP "img/ko/T9.bmp"
|
||||
t10_KO BITMAP "img/ko/T10.bmp"
|
||||
t11_KO BITMAP "img/ko/T11.bmp"
|
||||
t12_KO BITMAP "img/ko/T12.bmp"
|
||||
t13_KO BITMAP "img/ko/T13.bmp"
|
||||
t14_KO BITMAP "img/ko/T14.bmp"
|
||||
t15_KO BITMAP "img/ko/T15.bmp"
|
||||
t16_KO BITMAP "img/ko/T16.bmp"
|
||||
c1_KO BITMAP "img/ko/C1.bmp"
|
||||
c2_KO BITMAP "img/ko/C2.bmp"
|
||||
c3_KO BITMAP "img/ko/C3.bmp"
|
||||
c4_KO BITMAP "img/ko/C4.bmp"
|
||||
c5_KO BITMAP "img/ko/C5.bmp"
|
||||
c6_KO BITMAP "img/ko/C6.bmp"
|
||||
c7_KO BITMAP "img/ko/C7.bmp"
|
||||
s1_KO BITMAP "img/ko/S1.bmp"
|
||||
s2_KO BITMAP "img/ko/S2.bmp"
|
||||
s3_KO BITMAP "img/ko/S3.bmp"
|
||||
s4_KO BITMAP "img/ko/S4.bmp"
|
||||
save_KO BITMAP "img/ko/SAVE.bmp"
|
||||
final_KO BITMAP "img/ko/FINAL.bmp"
|
||||
|
||||
//portuges
|
||||
t1_PT_BR BITMAP "img/pt_br/T1.bmp"
|
||||
t2_PT_BR BITMAP "img/pt_br/T2.bmp"
|
||||
t3_PT_BR BITMAP "img/pt_br/T3.bmp"
|
||||
t4_PT_BR BITMAP "img/pt_br/T4.bmp"
|
||||
t5_PT_BR BITMAP "img/pt_br/T5.bmp"
|
||||
t6_PT_BR BITMAP "img/pt_br/T6.bmp"
|
||||
t7_PT_BR BITMAP "img/pt_br/T7.bmp"
|
||||
t8_PT_BR BITMAP "img/pt_br/T8.bmp"
|
||||
t9_PT_BR BITMAP "img/pt_br/T9.bmp"
|
||||
t10_PT_BR BITMAP "img/pt_br/T10.bmp"
|
||||
t11_PT_BR BITMAP "img/pt_br/T11.bmp"
|
||||
t12_PT_BR BITMAP "img/pt_br/T12.bmp"
|
||||
t13_PT_BR BITMAP "img/pt_br/T13.bmp"
|
||||
t14_PT_BR BITMAP "img/pt_br/T14.bmp"
|
||||
t15_PT_BR BITMAP "img/pt_br/T15.bmp"
|
||||
t16_PT_BR BITMAP "img/pt_br/T16.bmp"
|
||||
c1_PT_BR BITMAP "img/pt_br/C1.bmp"
|
||||
c2_PT_BR BITMAP "img/pt_br/C2.bmp"
|
||||
c3_PT_BR BITMAP "img/pt_br/C3.bmp"
|
||||
c4_PT_BR BITMAP "img/pt_br/C4.bmp"
|
||||
c5_PT_BR BITMAP "img/pt_br/C5.bmp"
|
||||
c6_PT_BR BITMAP "img/pt_br/C6.bmp"
|
||||
c7_PT_BR BITMAP "img/pt_br/C7.bmp"
|
||||
s1_PT_BR BITMAP "img/pt_br/S1.bmp"
|
||||
s2_PT_BR BITMAP "img/pt_br/S2.bmp"
|
||||
s3_PT_BR BITMAP "img/pt_br/S3.bmp"
|
||||
s4_PT_BR BITMAP "img/pt_br/S4.bmp"
|
||||
save_PT_BR BITMAP "img/pt_br/SAVE.bmp"
|
||||
final_PT_BR BITMAP "img/pt_br/FINAL.bmp"
|
||||
|
||||
//chinese
|
||||
t1_ZH_CN BITMAP "img/zh_cn/T1.bmp"
|
||||
t2_ZH_CN BITMAP "img/zh_cn/T2.bmp"
|
||||
t3_ZH_CN BITMAP "img/zh_cn/T3.bmp"
|
||||
t4_ZH_CN BITMAP "img/zh_cn/T4.bmp"
|
||||
t5_ZH_CN BITMAP "img/zh_cn/T5.bmp"
|
||||
t6_ZH_CN BITMAP "img/zh_cn/T6.bmp"
|
||||
t7_ZH_CN BITMAP "img/zh_cn/T7.bmp"
|
||||
t8_ZH_CN BITMAP "img/zh_cn/T8.bmp"
|
||||
t9_ZH_CN BITMAP "img/zh_cn/T9.bmp"
|
||||
t10_ZH_CN BITMAP "img/zh_cn/T10.bmp"
|
||||
t11_ZH_CN BITMAP "img/zh_cn/T11.bmp"
|
||||
t12_ZH_CN BITMAP "img/zh_cn/T12.bmp"
|
||||
t13_ZH_CN BITMAP "img/zh_cn/T13.bmp"
|
||||
t14_ZH_CN BITMAP "img/zh_cn/T14.bmp"
|
||||
t15_ZH_CN BITMAP "img/zh_cn/T15.bmp"
|
||||
t16_ZH_CN BITMAP "img/zh_cn/T16.bmp"
|
||||
c1_ZH_CN BITMAP "img/zh_cn/C1.bmp"
|
||||
c2_ZH_CN BITMAP "img/zh_cn/C2.bmp"
|
||||
c3_ZH_CN BITMAP "img/zh_cn/C3.bmp"
|
||||
c4_ZH_CN BITMAP "img/zh_cn/C4.bmp"
|
||||
c5_ZH_CN BITMAP "img/zh_cn/C5.bmp"
|
||||
c6_ZH_CN BITMAP "img/zh_cn/C6.bmp"
|
||||
c7_ZH_CN BITMAP "img/zh_cn/C7.bmp"
|
||||
s1_ZH_CN BITMAP "img/zh_cn/S1.bmp"
|
||||
s2_ZH_CN BITMAP "img/zh_cn/S2.bmp"
|
||||
s3_ZH_CN BITMAP "img/zh_cn/S3.bmp"
|
||||
s4_ZH_CN BITMAP "img/zh_cn/S4.bmp"
|
||||
save_ZH_CN BITMAP "img/zh_cn/SAVE.bmp"
|
||||
final_ZH_CN BITMAP "img/zh_cn/FINAL.bmp"
|
||||
|
|
|
|||
|
|
@ -33,6 +33,7 @@ class Language
|
|||
else
|
||||
Font.default_name = FONT_WESTERN
|
||||
end
|
||||
Journal.setLang(name)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
|||
Loading…
Reference in a new issue