diff --git a/lib/kotlin-reflect.jar b/lib/kotlin-reflect.jar index b1aeb3f3f..62340e2da 100755 Binary files a/lib/kotlin-reflect.jar and b/lib/kotlin-reflect.jar differ diff --git a/lib/kotlin-runtime-sources.jar b/lib/kotlin-runtime-sources.jar index 79f2e60ee..e661b3003 100755 Binary files a/lib/kotlin-runtime-sources.jar and b/lib/kotlin-runtime-sources.jar differ diff --git a/lib/kotlin-runtime.jar b/lib/kotlin-runtime.jar index d41fd1afa..4d7a92703 100755 Binary files a/lib/kotlin-runtime.jar and b/lib/kotlin-runtime.jar differ diff --git a/res/graphics/background_black.png b/res/graphics/background_black.png index 4a0384256..be0fdc527 100755 Binary files a/res/graphics/background_black.png and b/res/graphics/background_black.png differ diff --git a/res/graphics/background_white.png b/res/graphics/background_white.png index 2959ba85b..9b9fcf279 100755 Binary files a/res/graphics/background_white.png and b/res/graphics/background_white.png differ diff --git a/res/graphics/overlay_bloodshot.png b/res/graphics/overlay_bloodshot.png new file mode 100644 index 000000000..b15815ed9 Binary files /dev/null and b/res/graphics/overlay_bloodshot.png differ diff --git a/res/graphics/overlay_darkrim.png b/res/graphics/overlay_darkrim.png new file mode 100644 index 000000000..4cbaa3876 Binary files /dev/null and b/res/graphics/overlay_darkrim.png differ diff --git a/res/graphics/overlay_darkrim_deletemask.png b/res/graphics/overlay_darkrim_deletemask.png new file mode 100644 index 000000000..8c74d5f2f Binary files /dev/null and b/res/graphics/overlay_darkrim_deletemask.png differ diff --git a/res/locales/bgBG/game.json b/res/locales/bgBG/game.json index f888af89d..06889df23 100644 --- a/res/locales/bgBG/game.json +++ b/res/locales/bgBG/game.json @@ -1,6 +1,8 @@ { "MENU_LABEL_NEW_WORLD": "Нов Свят", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Всички права запазени", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ВНИМАНИЕ-ЗДРАВЕ И БЕЗОПАСНОСТ" } \ No newline at end of file diff --git a/res/locales/csCZ/game.json b/res/locales/csCZ/game.json index 8766dcc84..62d6956d5 100644 --- a/res/locales/csCZ/game.json +++ b/res/locales/csCZ/game.json @@ -1,6 +1,8 @@ { "MENU_LABEL_NEW_WORLD": "Nový Svět", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Všechna práva vyhrazena", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "POZOR-ZDRAVÍ A BEZPEČNOST" } \ No newline at end of file diff --git a/res/locales/daDK/game.json b/res/locales/daDK/game.json index 7d511855c..70a520aa2 100644 --- a/res/locales/daDK/game.json +++ b/res/locales/daDK/game.json @@ -1,6 +1,8 @@ { "MENU_LABEL_NEW_WORLD": "Ny Verden", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Alle rettigheder forbeholdes", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ADVARSEL-SUNDHED OG SIKKERHED" } \ No newline at end of file diff --git a/res/locales/de/game.json b/res/locales/de/game.json index 09f3c4ec4..830c9aa90 100644 --- a/res/locales/de/game.json +++ b/res/locales/de/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Neue Welt", - "COPYRIGHT_PROPRIETARY": "Alle Rechte vorbehalten.", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Alle Rechte vorbehalten.", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "WARNUNG-GESUNDHEIT UND SICHERHEIT" + } \ No newline at end of file diff --git a/res/locales/elGR/game.json b/res/locales/elGR/game.json index 46ba346fd..5abcffabf 100644 --- a/res/locales/elGR/game.json +++ b/res/locales/elGR/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Νέο Κόσμο", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Όλα τα δικαιώματα διατηρούνται", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ΠΡΟΣΟΧΗ-ΥΓΕΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ" + } \ No newline at end of file diff --git a/res/locales/en/game.json b/res/locales/en/game.json index cbe190931..9abe7e574 100644 --- a/res/locales/en/game.json +++ b/res/locales/en/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "New World", - "COPYRIGHT_PROPRIETARY": "All rights reserved.", - "APP_CALIBRATE_YOUR_MONITOR": "Best player experience can be achieved with properly adjusted monitor. If you have not, please do it before you play." + "COPYRIGHT_ALL_RIGHTS_RESERVED": "All rights reserved.", + "APP_ADJUST_YOUR_MONITOR": "Best player experience can be achieved with properly adjusted monitor. If you have not, please do it before you play.", + + "APP_WARNING_HEALTH_AND_SAFETY": "WARNING-HEALTH AND SAFETY" + } \ No newline at end of file diff --git a/res/locales/es/game.json b/res/locales/es/game.json index 7ae63b8d0..98313e554 100644 --- a/res/locales/es/game.json +++ b/res/locales/es/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Nuevo Mundo", - "COPYRIGHT_PROPRIETARY": "Todos los derechos reservados.", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Todos los derechos reservados.", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ADVERTENCIA-SALUD Y SEGURIDAD" + } \ No newline at end of file diff --git a/res/locales/fiFI/game.json b/res/locales/fiFI/game.json index 00d47ee08..1a0dcfaad 100644 --- a/res/locales/fiFI/game.json +++ b/res/locales/fiFI/game.json @@ -1,6 +1,8 @@ { "MENU_LABEL_NEW_WORLD": "Uusi Maailma", - "COPYRIGHT_PROPRIETARY": "Kaikki oikeudet pidätetään", - "APP_CALIBRATE_YOUR_MONITOR": "Paras pelikokemus saavutetaan on oikealla säädetty näytöllä. Jos et ole ollut, säädä ennen pelaamista." + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Kaikki oikeudet pidätetään", + "APP_ADJUST_YOUR_MONITOR": "Paras pelikokemus saavutetaan on oikealla säädetty näytöllä. Jos et ole ollut, säädä ennen pelaamista.", + + "APP_WARNING_HEALTH_AND_SAFETY": "VAROITUS-TERVEYS JA TURVALLISUUS" } \ No newline at end of file diff --git a/res/locales/frFR/game.json b/res/locales/frFR/game.json index d3859b7ad..b6d1b7db6 100644 --- a/res/locales/frFR/game.json +++ b/res/locales/frFR/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Nouveau Monde", - "COPYRIGHT_PROPRIETARY": "Tous les droits sont réservés.", - "APP_CALIBRATE_YOUR_MONITOR": "Meilleure expérience de joueur peut être réalisé avec écran correctement réglé. Si vous ne l'avez pas, s.v.p. le réglez avant de jouer." + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Tous les droits sont réservés.", + "APP_ADJUST_YOUR_MONITOR": "Meilleure expérience de joueur peut être réalisé avec écran correctement réglé. Si vous ne l'avez pas, s.v.p. le réglez avant de jouer.", + + "APP_WARNING_HEALTH_AND_SAFETY": "ATTENTION-SANTÉ ET SÉCURITÉ" + } \ No newline at end of file diff --git a/res/locales/huHU/game.json b/res/locales/huHU/game.json index 7d226c946..9f49789f8 100644 --- a/res/locales/huHU/game.json +++ b/res/locales/huHU/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Új Világ", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Minden jog fenntartva", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "VIGYÁZAT-EGÉSZSÉGÜGYI ÉS BIZTONSÁGI" + } \ No newline at end of file diff --git a/res/locales/isIC/game.json b/res/locales/isIC/game.json index a9bf348ad..487cd7330 100644 --- a/res/locales/isIC/game.json +++ b/res/locales/isIC/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Nýr Heimur", - "COPYRIGHT_PROPRIETARY": "Öll réttindi áskilinn.", - "APP_CALIBRATE_YOUR_MONITOR": "Best leikmaður reynsla er getur náðist með rétt kvarðaður skjárinn. Ef þú ekki gerðir, gerðu svo vel að kvarða áður en þú leikur." + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Öll réttindi áskilinn.", + "APP_ADJUST_YOUR_MONITOR": "Best leikmaður reynsla er getur náðist með rétt kvarðaður skjárinn. Ef þú ekki gerðir, gerðu svo vel að kvarða áður en þú leikur.", + + "APP_WARNING_HEALTH_AND_SAFETY": "VIÐVÖRUN-HEILSA OG ÖRYGGI" + } \ No newline at end of file diff --git a/res/locales/it/game.json b/res/locales/it/game.json index e475d83ac..2ee873d4f 100644 --- a/res/locales/it/game.json +++ b/res/locales/it/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Nuovo Mondo", - "COPYRIGHT_PROPRIETARY": "Tutti i diritti riservati.", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Tutti i diritti riservati.", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ATTENZIONE-SALUTE E SICUREZZA" + } \ No newline at end of file diff --git a/res/locales/jaJP/configurator.json b/res/locales/jaJP/configurator.json new file mode 100644 index 000000000..26328f62d --- /dev/null +++ b/res/locales/jaJP/configurator.json @@ -0,0 +1,13 @@ +{ + "MENU_MONITOR_CALI_TITLE": "モニターチェック", + "MENU_MONITOR_CALI_LABEL_1": "1番のバーが明確に見えるはずし、", + "MENU_MONITOR_CALI_LABEL_2": "30・31・32番のバーが明確に区別されなければなりません。", + "MENU_MONITOR_CALI_LABEL_3": " ", + "MENU_MONITOR_CALI_LABEL_4": "調整しないたモニターでは、左端のいくつかのバーが表示されません、", + "MENU_MONITOR_CALI_LABEL_5": "右端のいくつかのバーの違いが表示されません、", + "MENU_MONITOR_CALI_LABEL_6": "または31と32番の間に大きなジャンブを示しています。", + "MENU_MONITOR_CALI_LABEL_7": " ", + "MENU_MONITOR_CALI_LABEL_8": "調整したモニターでは、1から32番まで、ほぼ同じステップの明るさが示しています。", + "MENU_MONITOR_CALI_LABEL_9": " ", + "MENU_MONITOR_CALI_LABEL_10": "モニターのコントラストと明るさ設定を調整してください。" +} \ No newline at end of file diff --git a/res/locales/jaJP/game.json b/res/locales/jaJP/game.json index 171809a49..01aa3548e 100644 --- a/res/locales/jaJP/game.json +++ b/res/locales/jaJP/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "新しい世界", - "COPYRIGHT_PROPRIETARY": "全著作権所有。", - "APP_CALIBRATE_YOUR_MONITOR": "このゲームは、適切に調整したモニターから最高のプレイができます。調整していなかったら、プレイする前に調整してください。" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "全著作権所有。", + "APP_ADJUST_YOUR_MONITOR": "このゲームは、適切に調整したモニターから最高のプレイができます。調整していなかったら、プレイする前に調整してください。", + + "APP_WARNING_HEALTH_AND_SAFETY": "警告ー健康と安全のために" + } \ No newline at end of file diff --git a/res/locales/jakanaJP/game.json b/res/locales/jakanaJP/game.json index 401b3b05d..9dc0922b0 100644 --- a/res/locales/jakanaJP/game.json +++ b/res/locales/jakanaJP/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "あたらしい せかい", - "COPYRIGHT_PROPRIETARY": "ぜんちょさくけん しょゆう。", - "APP_CALIBRATE_YOUR_MONITOR": "このゲームは、てきせつにちょうせいした モニターから さいこうのプレイができます。ちょうせいして いなかったら、プレイするまえに ちょうせいしてください。" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "ぜんちょさくけん しょゆう。", + "APP_ADJUST_YOUR_MONITOR": "このゲームは、てきせつにちょうせいした モニターから さいこうのプレイができます。ちょうせいして いなかったら、プレイするまえに ちょうせいしてください。", + + "APP_WARNING_HEALTH_AND_SAFETY": "けいこくーけんこうと あんぜんを ために" + } \ No newline at end of file diff --git a/res/locales/koKR/configurator.json b/res/locales/koKR/configurator.json index cf87f15ff..09128b401 100644 --- a/res/locales/koKR/configurator.json +++ b/res/locales/koKR/configurator.json @@ -3,11 +3,11 @@ "MENU_MONITOR_CALI_LABEL_1": "1번 막대가 배경에서 눈에 띄어야 하고", "MENU_MONITOR_CALI_LABEL_2": "30·31·32번 막대가 확실히 구분되어야 합니다", "MENU_MONITOR_CALI_LABEL_3": " ", - "MENU_MONITOR_CALI_LABEL_4": "부적절한 모니터에서는 왼쪽 끝의 막대 몇 개가 보이지 않거나", + "MENU_MONITOR_CALI_LABEL_4": "조정 안 된 모니터에서는 왼쪽 끝의 막대 몇 개가 보이지 않거나", "MENU_MONITOR_CALI_LABEL_5": "오른쪽 끝의 막대 몇 개가 똑같게 보이거나", "MENU_MONITOR_CALI_LABEL_6": "31번과 32번의 차이가 크게 보일 것입니다", "MENU_MONITOR_CALI_LABEL_7": " ", - "MENU_MONITOR_CALI_LABEL_8": "적절한 모니터에서는 1번 막대에서 32번 막대까지 거의 일정하게 밝아지는 것으로 보입니다", + "MENU_MONITOR_CALI_LABEL_8": "조정된 모니터에서는 1번 막대에서 32번 막대까지 거의 일정하게 밝아지는 것으로 보입니다", "MENU_MONITOR_CALI_LABEL_9": " ", "MENU_MONITOR_CALI_LABEL_10": "모니터의 대비와 밝기 설정을 조절해 모니터를 조정해 주십시오" } \ No newline at end of file diff --git a/res/locales/koKR/game.json b/res/locales/koKR/game.json index 2a8cba4ef..1b834949a 100644 --- a/res/locales/koKR/game.json +++ b/res/locales/koKR/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "새 세계", - "COPYRIGHT_PROPRIETARY": "모든 권리 보유.", - "APP_CALIBRATE_YOUR_MONITOR": "본 게임은 적절히 조정된 모니터에서 최상으로 즐길 수 있습니다. 조정하지 않았다면 플레이하기 전에 조정해 주십시오." + "COPYRIGHT_ALL_RIGHTS_RESERVED": "모든 권리 보유.", + "APP_ADJUST_YOUR_MONITOR": "본 게임은 적절히 조정된 모니터에서 최상으로 즐길 수 있습니다. 조정하지 않았다면 플레이하기 전에 조정해 주십시오.", + + "APP_WARNING_HEALTH_AND_SAFETY": "경고—건강과 안전을 위하여" + } \ No newline at end of file diff --git a/res/locales/nlNL/game.json b/res/locales/nlNL/game.json index 55ae0b56d..fb1d55b1e 100644 --- a/res/locales/nlNL/game.json +++ b/res/locales/nlNL/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Nieuwe Wereld", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Alle rechten voorbehouden", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "WAARSCHUWING-GEZONDHEID EN VEILIGHEID" + } \ No newline at end of file diff --git a/res/locales/noNB/game.json b/res/locales/noNB/game.json index 7d511855c..7da5e7e34 100644 --- a/res/locales/noNB/game.json +++ b/res/locales/noNB/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Ny Verden", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Alle rettigheter reservert", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ADVARSEL-HELSE OG SIKKERHET" + } \ No newline at end of file diff --git a/res/locales/plPL/game.json b/res/locales/plPL/game.json index 6e89ea2de..64e53e282 100644 --- a/res/locales/plPL/game.json +++ b/res/locales/plPL/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Nowy Świat", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Wszelkie prawa zastrzeżone", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "UWAGA-ZDROWIE I BEZPIECZEŃSTWO" + } \ No newline at end of file diff --git a/res/locales/ptBR/game.json b/res/locales/ptBR/game.json index 7c253c70a..0eb6f556a 100644 --- a/res/locales/ptBR/game.json +++ b/res/locales/ptBR/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Novo Mundo", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Todos os direitos reservados", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ATENÇÃO-SAÚDE E SEGURANÇA" + } \ No newline at end of file diff --git a/res/locales/ptPT/game.json b/res/locales/ptPT/game.json index 7c253c70a..0eb6f556a 100644 --- a/res/locales/ptPT/game.json +++ b/res/locales/ptPT/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Novo Mundo", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Todos os direitos reservados", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ATENÇÃO-SAÚDE E SEGURANÇA" + } \ No newline at end of file diff --git a/res/locales/roRO/game.json b/res/locales/roRO/game.json index 5e71a4816..047a9a837 100644 --- a/res/locales/roRO/game.json +++ b/res/locales/roRO/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Lume Noua", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Toate drepturile rezervate", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ATENȚIONARE-SĂNĂTATE ȘI SIGURANȚĂ" + } \ No newline at end of file diff --git a/res/locales/ruRU/game.json b/res/locales/ruRU/game.json index 103c50774..5e3939bf1 100644 --- a/res/locales/ruRU/game.json +++ b/res/locales/ruRU/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Новый Мир", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Все права защищены", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "ПРЕДУПРЕЖДЕНИЕ-ЗДОРОВЬЕ И БЕЗОПАСНОСТЬ" + } \ No newline at end of file diff --git a/res/locales/svSE/game.json b/res/locales/svSE/game.json index 14b6dc0b5..3b00017b3 100644 --- a/res/locales/svSE/game.json +++ b/res/locales/svSE/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Ny Värld", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Alla rättigheter förbehållna", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "VARNING-HÄLSA OCH SÄKERHET" + } \ No newline at end of file diff --git a/res/locales/thTH/game.json b/res/locales/thTH/game.json index 623b3a101..32200e6fa 100644 --- a/res/locales/thTH/game.json +++ b/res/locales/thTH/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "โลกใหม", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "สงวนลิขสิทธิ์", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "คำเตือน-อนามัยและความปลอดภัย" + } \ No newline at end of file diff --git a/res/locales/trTR/game.json b/res/locales/trTR/game.json index 7ea7b4c4c..5b706d1eb 100644 --- a/res/locales/trTR/game.json +++ b/res/locales/trTR/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "Yeni Dünya", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "Her hakkı saklıdır", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "UYARI-SAĞLIK VE GÜVENLİK" + } \ No newline at end of file diff --git a/res/locales/zhCN/game.json b/res/locales/zhCN/game.json index 7b1719370..5ed9fbee6 100644 --- a/res/locales/zhCN/game.json +++ b/res/locales/zhCN/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "新世界", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "版权所有", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "警告ー健康和安全" + } \ No newline at end of file diff --git a/res/locales/zhTW/game.json b/res/locales/zhTW/game.json index 7b1719370..c96bcc488 100644 --- a/res/locales/zhTW/game.json +++ b/res/locales/zhTW/game.json @@ -1,6 +1,9 @@ { "MENU_LABEL_NEW_WORLD": "新世界", - "COPYRIGHT_PROPRIETARY": "", - "APP_CALIBRATE_YOUR_MONITOR": "" + "COPYRIGHT_ALL_RIGHTS_RESERVED": "版權所有", + "APP_ADJUST_YOUR_MONITOR": "", + + "APP_WARNING_HEALTH_AND_SAFETY": "警告ー健康和安全" + } \ No newline at end of file diff --git a/res/sounds/ambient/klankbeeld-freesound/.gitattributes b/res/sounds/ambient/klankbeeld-freesound/.gitattributes new file mode 100644 index 000000000..ca82ef549 --- /dev/null +++ b/res/sounds/ambient/klankbeeld-freesound/.gitattributes @@ -0,0 +1 @@ +*.{psd,tga,ogg} filter=lfs diff=lfs merge=lfs -text \ No newline at end of file diff --git a/res/sounds/ambient/klankbeeld-freesound/ambient_forest_01.ogg b/res/sounds/ambient/klankbeeld-freesound/ambient_forest_01.ogg new file mode 100644 index 000000000..259c63b89 --- /dev/null +++ b/res/sounds/ambient/klankbeeld-freesound/ambient_forest_01.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34e4726370b05ca5d86f9da90b92019133ea5e4e295b7cdb827902939ee80225 +size 47830918 diff --git a/res/sounds/ambient/klankbeeld-freesound/ambient_meadow_01.ogg b/res/sounds/ambient/klankbeeld-freesound/ambient_meadow_01.ogg new file mode 100644 index 000000000..655003e4e --- /dev/null +++ b/res/sounds/ambient/klankbeeld-freesound/ambient_meadow_01.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ca210dc0d6d510c6759ecfb1a18f5f5bde7d755d349b655985f51bf4fd659ea +size 32842648 diff --git a/res/sounds/ambient/klankbeeld-freesound/ambient_windy_01.ogg b/res/sounds/ambient/klankbeeld-freesound/ambient_windy_01.ogg new file mode 100644 index 000000000..bf5c15750 --- /dev/null +++ b/res/sounds/ambient/klankbeeld-freesound/ambient_windy_01.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8e63d8f2c6c735ed9972584724a8e518f89ce19dee57b66c6c623cbf9a316d07 +size 44738208 diff --git a/res/sounds/ambient/klankbeeld-freesound/ambient_woods_01.ogg b/res/sounds/ambient/klankbeeld-freesound/ambient_woods_01.ogg new file mode 100644 index 000000000..a45f8535a --- /dev/null +++ b/res/sounds/ambient/klankbeeld-freesound/ambient_woods_01.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:64c4b711a05a5a2f68e15721a39e66b141c7f4ef5ab0a1fed898e9c468798187 +size 36846225 diff --git a/res/sounds/ambient/klankbeeld-freesound/crickets_01.ogg b/res/sounds/ambient/klankbeeld-freesound/crickets_01.ogg new file mode 100644 index 000000000..49f51094b --- /dev/null +++ b/res/sounds/ambient/klankbeeld-freesound/crickets_01.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd2158ed8559895338cf0a06c05137767064e90670f342c1b739b07924f1dd6d +size 14517832 diff --git a/res/sounds/ambient/klankbeeld-freesound/crickets_02.ogg b/res/sounds/ambient/klankbeeld-freesound/crickets_02.ogg new file mode 100644 index 000000000..7c9a291c8 --- /dev/null +++ b/res/sounds/ambient/klankbeeld-freesound/crickets_02.ogg @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:290fa34b30a9940e63b0e8421b687c49fa5a8d28e87680d2b52e1abe32bcf40d +size 17169001 diff --git a/src/net/torvald/CSVFetcher.kt b/src/net/torvald/CSVFetcher.kt index 934814eb2..526e1014d 100644 --- a/src/net/torvald/CSVFetcher.kt +++ b/src/net/torvald/CSVFetcher.kt @@ -20,6 +20,8 @@ object CSVFetcher { csvString = StringBuffer() // reset buffer every time it called readCSVasString(csvFilePath) + println("Reading CSV $csvFilePath") + val csvParser = CSVParser.parse( csvString!!.toString(), CSVFormat.DEFAULT.withIgnoreSurroundingSpaces() diff --git a/src/net/torvald/JsonFetcher.kt b/src/net/torvald/JsonFetcher.kt index dc939354b..5dd2af719 100644 --- a/src/net/torvald/JsonFetcher.kt +++ b/src/net/torvald/JsonFetcher.kt @@ -22,6 +22,8 @@ object JsonFetcher { jsonString = StringBuffer() // reset buffer every time it called readJsonFileAsString(jsonFilePath) + println("Reading JSON $jsonFilePath") + val jsonParser = JsonParser() val jsonObj = jsonParser.parse(jsonString!!.toString()).asJsonObject @@ -33,6 +35,8 @@ object JsonFetcher { jsonString = StringBuffer() // reset buffer every time it called readJsonFileAsString(jsonFile.canonicalPath) + println("Reading JSON ${jsonFile.path}") + val jsonParser = JsonParser() val jsonObj = jsonParser.parse(jsonString!!.toString()).asJsonObject diff --git a/src/net/torvald/terrarum/COPYING.md b/src/net/torvald/terrarum/COPYING.md index ea57aa429..8fdb43032 100644 --- a/src/net/torvald/terrarum/COPYING.md +++ b/src/net/torvald/terrarum/COPYING.md @@ -1,53 +1,66 @@ -* *Terrarum* by Torvald - Copyright 2015-2016 Torvald. All rights reserved. - mailto: skyhi14 *64* __115875741922660__ *46* __6516589__ +*Terrarum* by Torvald + +Copyright (C) 2015-2016 Torvald. All rights reserved. +mailto: skyhi14 *64* __115875741922660__ *46* __6516589__ ---- -* *Simplex Noise Generator*, version 2012-03-09 by Stefan Gustavson - Released as public domain +*Simplex Noise Generator*, version 2012-03-09 by Stefan Gustavson + +Released as public domain ---- -* *Joise* modular noise library - Copyright (C) 2013 Jason Taylor. - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. +*Joise* modular noise library + +Copyright (C) 2013 Jason Taylor. + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. ---- -* *Vector2* from Dyn4j - Copyright (c) 2010-2015 William Bittle http://www.dyn4j.org/ - All rights reserved. +*Vector2* from Dyn4j + +Copyright (c) 2010-2015 William Bittle http://www.dyn4j.org/ +All rights reserved. - Redistribution and use in source and binary forms, with or without modification, are permitted - provided that the following conditions are met: + Redistribution and use in source and binary forms, with or without modification, are permitted + provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions + and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions + and the following disclaimer in the documentation and/or other materials provided with the + distribution. + * Neither the name of dyn4j nor the names of its contributors may be used to endorse or + promote products derived from this software without specific prior written permission. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR + IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER + IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT + OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + + Kotlin translated and modified code Copyright (C) 2016 Torvald aka skyhi14. - * Redistributions of source code must retain the above copyright notice, this list of conditions - and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions - and the following disclaimer in the documentation and/or other materials provided with the - distribution. - * Neither the name of dyn4j nor the names of its contributors may be used to endorse or - promote products derived from this software without specific prior written permission. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR - IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND - FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER - IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT - OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - Kotlin translated and modified code Copyright (c) 2016 Torvald aka skyhi14. \ No newline at end of file +--- + +Amazing ambient sound recordings in ```sound/ambient/klankbeeld-freesound``` + +Samples used: 173111, 183181, 185290, 195287, 240108, 326914, 337691, 347753 + +Copyright (C) 2012, 2013, 2015, 2016 Klankbeeld +Sound from http://www.freesound.org/people/klankbeeld/ \ No newline at end of file diff --git a/src/net/torvald/terrarum/Terrarum.kt b/src/net/torvald/terrarum/Terrarum.kt index f4dd2a7f9..f4ca5e284 100644 --- a/src/net/torvald/terrarum/Terrarum.kt +++ b/src/net/torvald/terrarum/Terrarum.kt @@ -59,9 +59,9 @@ constructor(gamename: String) : StateBasedGame(gamename) { } } - //game = StateGame() - //addState(game) - addState(StateMonitorCheck()) + ingame = StateInGame() + addState(ingame) + //addState(StateMonitorCheck()) } companion object { diff --git a/src/net/torvald/terrarum/mapdrawer/LightmapRenderer.kt b/src/net/torvald/terrarum/mapdrawer/LightmapRenderer.kt index a878cdcb7..4a5a86b98 100644 --- a/src/net/torvald/terrarum/mapdrawer/LightmapRenderer.kt +++ b/src/net/torvald/terrarum/mapdrawer/LightmapRenderer.kt @@ -241,7 +241,7 @@ object LightmapRenderer { } // luminous tile on top of air else if (thisWall == AIR && thisTileLuminosity.toInt() > 0) { - lightLevelThis = maximiseRGB(sunLight, thisTileLuminosity) // maximise to not exceed 1.0 with normal (<= 1.0) light + lightLevelThis = sunLight maxBlend thisTileLuminosity // maximise to not exceed 1.0 with normal (<= 1.0) light } // opaque wall and luminous tile else if (thisWall != AIR && thisTileLuminosity.toInt() > 0) { @@ -252,7 +252,7 @@ object LightmapRenderer { // mix luminous actor for ((posX, posY, luminosity) in lanternMap) { if (posX == x && posY == y) - lightLevelThis = maximiseRGB(lightLevelThis, luminosity) // maximise to not exceed 1.0 with normal (<= 1.0) light + lightLevelThis = lightLevelThis maxBlend luminosity // maximise to not exceed 1.0 with normal (<= 1.0) light } @@ -286,7 +286,7 @@ object LightmapRenderer { nearby = 0 // exclude 'me' tile } - ambient = maximiseRGB(ambient, nearby) // keep base value as brightest nearby + ambient = ambient maxBlend nearby // keep base value as brightest nearby } } @@ -294,7 +294,7 @@ object LightmapRenderer { thisTileOpacity) // get real ambient by appling opacity value // mix and return lightlevel and ambient - return maximiseRGB(lightLevelThis, ambient) + return lightLevelThis maxBlend ambient } else { return lightLevelThis @@ -355,27 +355,19 @@ object LightmapRenderer { * +-+-+ * d */ - val a = maximiseRGB( - thisLightLevel, - getLight(x, y - 1) ?: thisLightLevel - ) - val d = maximiseRGB( - thisLightLevel, - getLight(x, y + 1) ?: thisLightLevel - ) - val b = maximiseRGB( - thisLightLevel, - getLight(x - 1, y) ?: thisLightLevel - ) - val c = maximiseRGB( - thisLightLevel, - getLight(x + 1, y) ?: thisLightLevel - ) + val a = thisLightLevel maxBlend (getLight(x, y - 1) ?: thisLightLevel) + val d = thisLightLevel maxBlend (getLight(x, y + 1) ?: thisLightLevel) + val b = thisLightLevel maxBlend (getLight(x - 1, y) ?: thisLightLevel) + val c = thisLightLevel maxBlend (getLight(x + 1, y) ?: thisLightLevel) + val colourMapItoL = IntArray(4) - colourMapItoL[0] = colourLinearMix(a, b) - colourMapItoL[1] = colourLinearMix(a, c) - colourMapItoL[2] = colourLinearMix(b, d) - colourMapItoL[3] = colourLinearMix(c, d) + val colMean = (a linMix d) linMix (b linMix c) + val colDelta = thisLightLevel colSub colMean + + colourMapItoL[0] = a linMix b colAdd colDelta + colourMapItoL[1] = a linMix c colAdd colDelta + colourMapItoL[2] = b linMix d colAdd colDelta + colourMapItoL[3] = c linMix d colAdd colDelta for (iy in 0..1) { for (ix in 0..1) { @@ -505,34 +497,46 @@ object LightmapRenderer { * @param rgb2 * @return */ - private fun maximiseRGB(rgb: Int, rgb2: Int): Int { - val r1 = rgb.rawR() - val r2 = rgb2.rawR() + private infix fun Int.maxBlend(other: Int): Int { + val r1 = this.rawR() + val r2 = other.rawR() val newR = if (r1 > r2) r1 else r2 - val g1 = rgb.rawG() - val g2 = rgb2.rawG() + val g1 = this.rawG() + val g2 = other.rawG() val newG = if (g1 > g2) g1 else g2 - val b1 = rgb.rawB() - val b2 = rgb2.rawB() + val b1 = this.rawB() + val b2 = other.rawB() val newB = if (b1 > b2) b1 else b2 return constructRGBFromInt(newR, newG, newB) } - private fun screenBlend(rgb: Int, rgb2: Int): Int { - val r1 = rgb.r() - val r2 = rgb2.r() + private infix fun Int.screenBlend(other: Int): Int { + val r1 = this.r() + val r2 = other.r() val newR = 1 - (1 - r1) * (1 - r2) - val g1 = rgb.g() - val g2 = rgb2.g() + val g1 = this.g() + val g2 = other.g() val newG = 1 - (1 - g1) * (1 - g2) - val b1 = rgb.b() - val b2 = rgb2.b() + val b1 = this.b() + val b2 = other.b() val newB = 1 - (1 - b1) * (1 - b2) return constructRGBFromFloat(newR, newG, newB) } + private infix fun Int.colSub(other: Int) = constructRGBFromInt( + (this.rawR() - other.rawR()).clampChannel() , + (this.rawG() - other.rawG()).clampChannel() , + (this.rawB() - other.rawB()).clampChannel() + ) + + private infix fun Int.colAdd(other: Int) = constructRGBFromInt( + (this.rawR() + other.rawR()).clampChannel() , + (this.rawG() + other.rawG()).clampChannel() , + (this.rawB() + other.rawB()).clampChannel() + ) + fun Int.rawR() = this / MUL_2 fun Int.rawG() = this % MUL_2 / MUL fun Int.rawB() = this % MUL @@ -581,10 +585,10 @@ object LightmapRenderer { return constructRGBFromInt(intR, intG, intB) } - private fun colourLinearMix(colA: Int, colB: Int): Int { - val r = (colA.rawR() + colB.rawR()) ushr 1 - val g = (colA.rawG() + colB.rawG()) ushr 1 - val b = (colA.rawB() + colB.rawB()) ushr 1 + private infix fun Int.linMix(other: Int): Int { + val r = (this.rawR() + other.rawR()) ushr 1 + val g = (this.rawG() + other.rawG()) ushr 1 + val b = (this.rawB() + other.rawB()) ushr 1 return constructRGBFromInt(r, g, b) } diff --git a/work_files/monitor_check_koKR.tiff b/work_files/monitor_check_koKR.tiff new file mode 100644 index 000000000..7e9e4923f Binary files /dev/null and b/work_files/monitor_check_koKR.tiff differ