added resources for ambient sound
Former-commit-id: 85517a87b4d2d64808ccfc3fae7effa4cf92eb55 Former-commit-id: 1ddfcd3db3db138d047f6defe5d87ddf7eefac8f
|
Before Width: | Height: | Size: 354 KiB After Width: | Height: | Size: 3.1 MiB |
|
Before Width: | Height: | Size: 313 KiB After Width: | Height: | Size: 4.1 MiB |
BIN
res/graphics/overlay_bloodshot.png
Normal file
|
After Width: | Height: | Size: 409 KiB |
BIN
res/graphics/overlay_darkrim.png
Normal file
|
After Width: | Height: | Size: 289 KiB |
BIN
res/graphics/overlay_darkrim_deletemask.png
Normal file
|
After Width: | Height: | Size: 1.8 MiB |
@@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Нов Свят",
|
"MENU_LABEL_NEW_WORLD": "Нов Свят",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Всички права запазени",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ВНИМАНИЕ-ЗДРАВЕ И БЕЗОПАСНОСТ"
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Nový Svět",
|
"MENU_LABEL_NEW_WORLD": "Nový Svět",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Všechna práva vyhrazena",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "POZOR-ZDRAVÍ A BEZPEČNOST"
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Ny Verden",
|
"MENU_LABEL_NEW_WORLD": "Ny Verden",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Alle rettigheder forbeholdes",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ADVARSEL-SUNDHED OG SIKKERHED"
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Neue Welt",
|
"MENU_LABEL_NEW_WORLD": "Neue Welt",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "Alle Rechte vorbehalten.",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Alle Rechte vorbehalten.",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "WARNUNG-GESUNDHEIT UND SICHERHEIT"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Νέο Κόσμο",
|
"MENU_LABEL_NEW_WORLD": "Νέο Κόσμο",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Όλα τα δικαιώματα διατηρούνται",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ΠΡΟΣΟΧΗ-ΥΓΕΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "New World",
|
"MENU_LABEL_NEW_WORLD": "New World",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "All rights reserved.",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "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."
|
"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"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Nuevo Mundo",
|
"MENU_LABEL_NEW_WORLD": "Nuevo Mundo",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "Todos los derechos reservados.",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Todos los derechos reservados.",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ADVERTENCIA-SALUD Y SEGURIDAD"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,8 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Uusi Maailma",
|
"MENU_LABEL_NEW_WORLD": "Uusi Maailma",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "Kaikki oikeudet pidätetään",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "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."
|
"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"
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Nouveau Monde",
|
"MENU_LABEL_NEW_WORLD": "Nouveau Monde",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "Tous les droits sont réservés.",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "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."
|
"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É"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Új Világ",
|
"MENU_LABEL_NEW_WORLD": "Új Világ",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Minden jog fenntartva",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "VIGYÁZAT-EGÉSZSÉGÜGYI ÉS BIZTONSÁGI"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Nýr Heimur",
|
"MENU_LABEL_NEW_WORLD": "Nýr Heimur",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "Öll réttindi áskilinn.",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Ö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."
|
"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"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Nuovo Mondo",
|
"MENU_LABEL_NEW_WORLD": "Nuovo Mondo",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "Tutti i diritti riservati.",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Tutti i diritti riservati.",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ATTENZIONE-SALUTE E SICUREZZA"
|
||||||
|
|
||||||
}
|
}
|
||||||
13
res/locales/jaJP/configurator.json
Normal file
@@ -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": "モニターのコントラストと明るさ設定を調整してください。"
|
||||||
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "新しい世界",
|
"MENU_LABEL_NEW_WORLD": "新しい世界",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "全著作権所有。",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "全著作権所有。",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": "このゲームは、適切に調整したモニターから最高のプレイができます。調整していなかったら、プレイする前に調整してください。"
|
"APP_ADJUST_YOUR_MONITOR": "このゲームは、適切に調整したモニターから最高のプレイができます。調整していなかったら、プレイする前に調整してください。",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "警告ー健康と安全のために"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "あたらしい せかい",
|
"MENU_LABEL_NEW_WORLD": "あたらしい せかい",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "ぜんちょさくけん しょゆう。",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "ぜんちょさくけん しょゆう。",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": "このゲームは、てきせつにちょうせいした モニターから さいこうのプレイができます。ちょうせいして いなかったら、プレイするまえに ちょうせいしてください。"
|
"APP_ADJUST_YOUR_MONITOR": "このゲームは、てきせつにちょうせいした モニターから さいこうのプレイができます。ちょうせいして いなかったら、プレイするまえに ちょうせいしてください。",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "けいこくーけんこうと あんぜんを ために"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -3,11 +3,11 @@
|
|||||||
"MENU_MONITOR_CALI_LABEL_1": "1번 막대가 배경에서 눈에 띄어야 하고",
|
"MENU_MONITOR_CALI_LABEL_1": "1번 막대가 배경에서 눈에 띄어야 하고",
|
||||||
"MENU_MONITOR_CALI_LABEL_2": "30·31·32번 막대가 확실히 구분되어야 합니다",
|
"MENU_MONITOR_CALI_LABEL_2": "30·31·32번 막대가 확실히 구분되어야 합니다",
|
||||||
"MENU_MONITOR_CALI_LABEL_3": " ",
|
"MENU_MONITOR_CALI_LABEL_3": " ",
|
||||||
"MENU_MONITOR_CALI_LABEL_4": "부적절한 모니터에서는 왼쪽 끝의 막대 몇 개가 보이지 않거나",
|
"MENU_MONITOR_CALI_LABEL_4": "조정 안 된 모니터에서는 왼쪽 끝의 막대 몇 개가 보이지 않거나",
|
||||||
"MENU_MONITOR_CALI_LABEL_5": "오른쪽 끝의 막대 몇 개가 똑같게 보이거나",
|
"MENU_MONITOR_CALI_LABEL_5": "오른쪽 끝의 막대 몇 개가 똑같게 보이거나",
|
||||||
"MENU_MONITOR_CALI_LABEL_6": "31번과 32번의 차이가 크게 보일 것입니다",
|
"MENU_MONITOR_CALI_LABEL_6": "31번과 32번의 차이가 크게 보일 것입니다",
|
||||||
"MENU_MONITOR_CALI_LABEL_7": " ",
|
"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_9": " ",
|
||||||
"MENU_MONITOR_CALI_LABEL_10": "모니터의 대비와 밝기 설정을 조절해 모니터를 조정해 주십시오"
|
"MENU_MONITOR_CALI_LABEL_10": "모니터의 대비와 밝기 설정을 조절해 모니터를 조정해 주십시오"
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "새 세계",
|
"MENU_LABEL_NEW_WORLD": "새 세계",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "모든 권리 보유.",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "모든 권리 보유.",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": "본 게임은 적절히 조정된 모니터에서 최상으로 즐길 수 있습니다. 조정하지 않았다면 플레이하기 전에 조정해 주십시오."
|
"APP_ADJUST_YOUR_MONITOR": "본 게임은 적절히 조정된 모니터에서 최상으로 즐길 수 있습니다. 조정하지 않았다면 플레이하기 전에 조정해 주십시오.",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "경고—건강과 안전을 위하여"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Nieuwe Wereld",
|
"MENU_LABEL_NEW_WORLD": "Nieuwe Wereld",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Alle rechten voorbehouden",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "WAARSCHUWING-GEZONDHEID EN VEILIGHEID"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Ny Verden",
|
"MENU_LABEL_NEW_WORLD": "Ny Verden",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Alle rettigheter reservert",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ADVARSEL-HELSE OG SIKKERHET"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Nowy Świat",
|
"MENU_LABEL_NEW_WORLD": "Nowy Świat",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Wszelkie prawa zastrzeżone",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "UWAGA-ZDROWIE I BEZPIECZEŃSTWO"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Novo Mundo",
|
"MENU_LABEL_NEW_WORLD": "Novo Mundo",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Todos os direitos reservados",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ATENÇÃO-SAÚDE E SEGURANÇA"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Novo Mundo",
|
"MENU_LABEL_NEW_WORLD": "Novo Mundo",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Todos os direitos reservados",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ATENÇÃO-SAÚDE E SEGURANÇA"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Lume Noua",
|
"MENU_LABEL_NEW_WORLD": "Lume Noua",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Toate drepturile rezervate",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ATENȚIONARE-SĂNĂTATE ȘI SIGURANȚĂ"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Новый Мир",
|
"MENU_LABEL_NEW_WORLD": "Новый Мир",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Все права защищены",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "ПРЕДУПРЕЖДЕНИЕ-ЗДОРОВЬЕ И БЕЗОПАСНОСТЬ"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Ny Värld",
|
"MENU_LABEL_NEW_WORLD": "Ny Värld",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Alla rättigheter förbehållna",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "VARNING-HÄLSA OCH SÄKERHET"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "โลกใหม",
|
"MENU_LABEL_NEW_WORLD": "โลกใหม",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "สงวนลิขสิทธิ์",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "คำเตือน-อนามัยและความปลอดภัย"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "Yeni Dünya",
|
"MENU_LABEL_NEW_WORLD": "Yeni Dünya",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Her hakkı saklıdır",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "UYARI-SAĞLIK VE GÜVENLİK"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "新世界",
|
"MENU_LABEL_NEW_WORLD": "新世界",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "版权所有",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "警告ー健康和安全"
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,6 +1,9 @@
|
|||||||
{
|
{
|
||||||
"MENU_LABEL_NEW_WORLD": "新世界",
|
"MENU_LABEL_NEW_WORLD": "新世界",
|
||||||
|
|
||||||
"COPYRIGHT_PROPRIETARY": "",
|
"COPYRIGHT_ALL_RIGHTS_RESERVED": "版權所有",
|
||||||
"APP_CALIBRATE_YOUR_MONITOR": ""
|
"APP_ADJUST_YOUR_MONITOR": "",
|
||||||
|
|
||||||
|
"APP_WARNING_HEALTH_AND_SAFETY": "警告ー健康和安全"
|
||||||
|
|
||||||
}
|
}
|
||||||
1
res/sounds/ambient/klankbeeld-freesound/.gitattributes
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
*.{psd,tga,ogg} filter=lfs diff=lfs merge=lfs -text
|
||||||
BIN
res/sounds/ambient/klankbeeld-freesound/ambient_forest_01.ogg
LFS
Normal file
BIN
res/sounds/ambient/klankbeeld-freesound/ambient_meadow_01.ogg
LFS
Normal file
BIN
res/sounds/ambient/klankbeeld-freesound/ambient_windy_01.ogg
LFS
Normal file
BIN
res/sounds/ambient/klankbeeld-freesound/ambient_woods_01.ogg
LFS
Normal file
BIN
res/sounds/ambient/klankbeeld-freesound/crickets_01.ogg
LFS
Normal file
BIN
res/sounds/ambient/klankbeeld-freesound/crickets_02.ogg
LFS
Normal file
@@ -20,6 +20,8 @@ object CSVFetcher {
|
|||||||
csvString = StringBuffer() // reset buffer every time it called
|
csvString = StringBuffer() // reset buffer every time it called
|
||||||
readCSVasString(csvFilePath)
|
readCSVasString(csvFilePath)
|
||||||
|
|
||||||
|
println("Reading CSV $csvFilePath")
|
||||||
|
|
||||||
val csvParser = CSVParser.parse(
|
val csvParser = CSVParser.parse(
|
||||||
csvString!!.toString(),
|
csvString!!.toString(),
|
||||||
CSVFormat.DEFAULT.withIgnoreSurroundingSpaces()
|
CSVFormat.DEFAULT.withIgnoreSurroundingSpaces()
|
||||||
|
|||||||
@@ -22,6 +22,8 @@ object JsonFetcher {
|
|||||||
jsonString = StringBuffer() // reset buffer every time it called
|
jsonString = StringBuffer() // reset buffer every time it called
|
||||||
readJsonFileAsString(jsonFilePath)
|
readJsonFileAsString(jsonFilePath)
|
||||||
|
|
||||||
|
println("Reading JSON $jsonFilePath")
|
||||||
|
|
||||||
val jsonParser = JsonParser()
|
val jsonParser = JsonParser()
|
||||||
val jsonObj = jsonParser.parse(jsonString!!.toString()).asJsonObject
|
val jsonObj = jsonParser.parse(jsonString!!.toString()).asJsonObject
|
||||||
|
|
||||||
@@ -33,6 +35,8 @@ object JsonFetcher {
|
|||||||
jsonString = StringBuffer() // reset buffer every time it called
|
jsonString = StringBuffer() // reset buffer every time it called
|
||||||
readJsonFileAsString(jsonFile.canonicalPath)
|
readJsonFileAsString(jsonFile.canonicalPath)
|
||||||
|
|
||||||
|
println("Reading JSON ${jsonFile.path}")
|
||||||
|
|
||||||
val jsonParser = JsonParser()
|
val jsonParser = JsonParser()
|
||||||
val jsonObj = jsonParser.parse(jsonString!!.toString()).asJsonObject
|
val jsonObj = jsonParser.parse(jsonString!!.toString()).asJsonObject
|
||||||
|
|
||||||
|
|||||||
@@ -1,53 +1,66 @@
|
|||||||
* *Terrarum* by Torvald
|
*Terrarum* by Torvald
|
||||||
Copyright 2015-2016 Torvald. All rights reserved.
|
|
||||||
mailto: skyhi14 *64* __115875741922660__ *46* __6516589__
|
Copyright (C) 2015-2016 Torvald. All rights reserved.
|
||||||
|
mailto: skyhi14 *64* __115875741922660__ *46* __6516589__
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
* *Simplex Noise Generator*, version 2012-03-09 by Stefan Gustavson
|
*Simplex Noise Generator*, version 2012-03-09 by Stefan Gustavson
|
||||||
Released as public domain
|
|
||||||
|
Released as public domain
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
* *Joise* modular noise library
|
*Joise* modular noise library
|
||||||
Copyright (C) 2013 Jason Taylor.
|
|
||||||
|
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.
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
You may obtain a copy of the License at
|
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
|
|
||||||
|
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,
|
Unless required by applicable law or agreed to in writing, software
|
||||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
See the License for the specific language governing permissions and
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
limitations under the License.
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
|
||||||
----
|
----
|
||||||
|
|
||||||
* *Vector2* from Dyn4j
|
*Vector2* from Dyn4j
|
||||||
Copyright (c) 2010-2015 William Bittle http://www.dyn4j.org/
|
|
||||||
All rights reserved.
|
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
|
Redistribution and use in source and binary forms, with or without modification, are permitted
|
||||||
provided that the following conditions are met:
|
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
|
Amazing ambient sound recordings in ```sound/ambient/klankbeeld-freesound```
|
||||||
and the following disclaimer in the documentation and/or other materials provided with the
|
|
||||||
distribution.
|
Samples used: 173111, 183181, 185290, 195287, 240108, 326914, 337691, 347753
|
||||||
* 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.
|
Copyright (C) 2012, 2013, 2015, 2016 Klankbeeld
|
||||||
|
Sound from http://www.freesound.org/people/klankbeeld/
|
||||||
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.
|
|
||||||
@@ -59,9 +59,9 @@ constructor(gamename: String) : StateBasedGame(gamename) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//game = StateGame()
|
ingame = StateInGame()
|
||||||
//addState(game)
|
addState(ingame)
|
||||||
addState(StateMonitorCheck())
|
//addState(StateMonitorCheck())
|
||||||
}
|
}
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
|
|||||||
@@ -241,7 +241,7 @@ object LightmapRenderer {
|
|||||||
}
|
}
|
||||||
// luminous tile on top of air
|
// luminous tile on top of air
|
||||||
else if (thisWall == AIR && thisTileLuminosity.toInt() > 0) {
|
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
|
// opaque wall and luminous tile
|
||||||
else if (thisWall != AIR && thisTileLuminosity.toInt() > 0) {
|
else if (thisWall != AIR && thisTileLuminosity.toInt() > 0) {
|
||||||
@@ -252,7 +252,7 @@ object LightmapRenderer {
|
|||||||
// mix luminous actor
|
// mix luminous actor
|
||||||
for ((posX, posY, luminosity) in lanternMap) {
|
for ((posX, posY, luminosity) in lanternMap) {
|
||||||
if (posX == x && posY == y)
|
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
|
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
|
thisTileOpacity) // get real ambient by appling opacity value
|
||||||
|
|
||||||
// mix and return lightlevel and ambient
|
// mix and return lightlevel and ambient
|
||||||
return maximiseRGB(lightLevelThis, ambient)
|
return lightLevelThis maxBlend ambient
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
return lightLevelThis
|
return lightLevelThis
|
||||||
@@ -355,27 +355,19 @@ object LightmapRenderer {
|
|||||||
* +-+-+
|
* +-+-+
|
||||||
* d
|
* d
|
||||||
*/
|
*/
|
||||||
val a = maximiseRGB(
|
val a = thisLightLevel maxBlend (getLight(x, y - 1) ?: thisLightLevel)
|
||||||
thisLightLevel,
|
val d = thisLightLevel maxBlend (getLight(x, y + 1) ?: thisLightLevel)
|
||||||
getLight(x, y - 1) ?: thisLightLevel
|
val b = thisLightLevel maxBlend (getLight(x - 1, y) ?: thisLightLevel)
|
||||||
)
|
val c = thisLightLevel maxBlend (getLight(x + 1, y) ?: 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 colourMapItoL = IntArray(4)
|
val colourMapItoL = IntArray(4)
|
||||||
colourMapItoL[0] = colourLinearMix(a, b)
|
val colMean = (a linMix d) linMix (b linMix c)
|
||||||
colourMapItoL[1] = colourLinearMix(a, c)
|
val colDelta = thisLightLevel colSub colMean
|
||||||
colourMapItoL[2] = colourLinearMix(b, d)
|
|
||||||
colourMapItoL[3] = colourLinearMix(c, d)
|
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 (iy in 0..1) {
|
||||||
for (ix in 0..1) {
|
for (ix in 0..1) {
|
||||||
@@ -505,34 +497,46 @@ object LightmapRenderer {
|
|||||||
* @param rgb2
|
* @param rgb2
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
private fun maximiseRGB(rgb: Int, rgb2: Int): Int {
|
private infix fun Int.maxBlend(other: Int): Int {
|
||||||
val r1 = rgb.rawR()
|
val r1 = this.rawR()
|
||||||
val r2 = rgb2.rawR()
|
val r2 = other.rawR()
|
||||||
val newR = if (r1 > r2) r1 else r2
|
val newR = if (r1 > r2) r1 else r2
|
||||||
val g1 = rgb.rawG()
|
val g1 = this.rawG()
|
||||||
val g2 = rgb2.rawG()
|
val g2 = other.rawG()
|
||||||
val newG = if (g1 > g2) g1 else g2
|
val newG = if (g1 > g2) g1 else g2
|
||||||
val b1 = rgb.rawB()
|
val b1 = this.rawB()
|
||||||
val b2 = rgb2.rawB()
|
val b2 = other.rawB()
|
||||||
val newB = if (b1 > b2) b1 else b2
|
val newB = if (b1 > b2) b1 else b2
|
||||||
|
|
||||||
return constructRGBFromInt(newR, newG, newB)
|
return constructRGBFromInt(newR, newG, newB)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun screenBlend(rgb: Int, rgb2: Int): Int {
|
private infix fun Int.screenBlend(other: Int): Int {
|
||||||
val r1 = rgb.r()
|
val r1 = this.r()
|
||||||
val r2 = rgb2.r()
|
val r2 = other.r()
|
||||||
val newR = 1 - (1 - r1) * (1 - r2)
|
val newR = 1 - (1 - r1) * (1 - r2)
|
||||||
val g1 = rgb.g()
|
val g1 = this.g()
|
||||||
val g2 = rgb2.g()
|
val g2 = other.g()
|
||||||
val newG = 1 - (1 - g1) * (1 - g2)
|
val newG = 1 - (1 - g1) * (1 - g2)
|
||||||
val b1 = rgb.b()
|
val b1 = this.b()
|
||||||
val b2 = rgb2.b()
|
val b2 = other.b()
|
||||||
val newB = 1 - (1 - b1) * (1 - b2)
|
val newB = 1 - (1 - b1) * (1 - b2)
|
||||||
|
|
||||||
return constructRGBFromFloat(newR, newG, newB)
|
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.rawR() = this / MUL_2
|
||||||
fun Int.rawG() = this % MUL_2 / MUL
|
fun Int.rawG() = this % MUL_2 / MUL
|
||||||
fun Int.rawB() = this % MUL
|
fun Int.rawB() = this % MUL
|
||||||
@@ -581,10 +585,10 @@ object LightmapRenderer {
|
|||||||
return constructRGBFromInt(intR, intG, intB)
|
return constructRGBFromInt(intR, intG, intB)
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun colourLinearMix(colA: Int, colB: Int): Int {
|
private infix fun Int.linMix(other: Int): Int {
|
||||||
val r = (colA.rawR() + colB.rawR()) ushr 1
|
val r = (this.rawR() + other.rawR()) ushr 1
|
||||||
val g = (colA.rawG() + colB.rawG()) ushr 1
|
val g = (this.rawG() + other.rawG()) ushr 1
|
||||||
val b = (colA.rawB() + colB.rawB()) ushr 1
|
val b = (this.rawB() + other.rawB()) ushr 1
|
||||||
return constructRGBFromInt(r, g, b)
|
return constructRGBFromInt(r, g, b)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||