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,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.

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.