added resources for ambient sound

Former-commit-id: 85517a87b4d2d64808ccfc3fae7effa4cf92eb55
Former-commit-id: 1ddfcd3db3db138d047f6defe5d87ddf7eefac8f
This commit is contained in:
Song Minjae
2016-07-08 18:12:51 +09:00
parent 186d6a8cb9
commit c52015e429
50 changed files with 275 additions and 143 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 354 KiB

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 KiB

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 409 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 289 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

View File

@@ -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": "ВНИМАНИЕ-ЗДРАВЕ И БЕЗОПАСНОСТ"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View File

@@ -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": "ΠΡΟΣΟΧΗ-ΥΓΕΙΑ ΚΑΙ ΑΣΦΑΛΕΙΑ"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View File

@@ -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É"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View 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": "モニターのコントラストと明るさ設定を調整してください。"
}

View File

@@ -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": "警告ー健康と安全のために"
} }

View File

@@ -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": "けいこくーけんこうと あんぜんを ために"
} }

View File

@@ -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": "모니터의 대비와 밝기 설정을 조절해 모니터를 조정해 주십시오"
} }

View File

@@ -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": "경고—건강과 안전을 위하여"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View File

@@ -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"
} }

View File

@@ -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ȚĂ"
} }

View File

@@ -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": "ПРЕДУПРЕЖДЕНИЕ-ЗДОРОВЬЕ И БЕЗОПАСНОСТЬ"
} }

View File

@@ -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"
} }

View File

@@ -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": "คำเตือน-อนามัยและความปลอดภัย"
} }

View File

@@ -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"
} }

View File

@@ -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": "警告ー健康和安全"
} }

View File

@@ -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": "警告ー健康和安全"
} }

View File

@@ -0,0 +1 @@
*.{psd,tga,ogg} filter=lfs diff=lfs merge=lfs -text

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View 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()

View File

@@ -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

View File

@@ -1,15 +1,18 @@
* *Terrarum* by Torvald *Terrarum* by Torvald
Copyright 2015-2016 Torvald. All rights reserved.
Copyright (C) 2015-2016 Torvald. All rights reserved.
mailto: skyhi14 *64* __115875741922660__ *46* __6516589__ 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"); Licensed under the Apache License, Version 2.0 (the "License");
@@ -26,7 +29,8 @@
---- ----
* *Vector2* from Dyn4j *Vector2* from Dyn4j
Copyright (c) 2010-2015 William Bittle http://www.dyn4j.org/ Copyright (c) 2010-2015 William Bittle http://www.dyn4j.org/
All rights reserved. All rights reserved.
@@ -50,4 +54,13 @@
IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT 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. 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. Kotlin translated and modified code Copyright (C) 2016 Torvald aka skyhi14.
---
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/

View File

@@ -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 {

View File

@@ -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)
} }

Binary file not shown.