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": "Нов Свят",
"COPYRIGHT_PROPRIETARY": "",
"APP_CALIBRATE_YOUR_MONITOR": ""
"COPYRIGHT_ALL_RIGHTS_RESERVED": "Всички права запазени",
"APP_ADJUST_YOUR_MONITOR": "",
"APP_WARNING_HEALTH_AND_SAFETY": "ВНИМАНИЕ-ЗДРАВЕ И БЕЗОПАСНОСТ"
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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": "新しい世界",
"COPYRIGHT_PROPRIETARY": "全著作権所有。",
"APP_CALIBRATE_YOUR_MONITOR": "このゲームは、適切に調整したモニターから最高のプレイができます。調整していなかったら、プレイする前に調整してください。"
"COPYRIGHT_ALL_RIGHTS_RESERVED": "全著作権所有。",
"APP_ADJUST_YOUR_MONITOR": "このゲームは、適切に調整したモニターから最高のプレイができます。調整していなかったら、プレイする前に調整してください。",
"APP_WARNING_HEALTH_AND_SAFETY": "警告ー健康と安全のために"
}

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

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
readCSVasString(csvFilePath)
println("Reading CSV $csvFilePath")
val csvParser = CSVParser.parse(
csvString!!.toString(),
CSVFormat.DEFAULT.withIgnoreSurroundingSpaces()

View File

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

View File

@@ -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.
*Joise* modular noise library
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
Copyright (C) 2013 Jason Taylor.
http://www.apache.org/licenses/LICENSE-2.0
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
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.
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
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
Copyright (c) 2010-2015 William Bittle http://www.dyn4j.org/
All rights reserved.
* 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.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
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.
* 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.
Kotlin translated and modified code Copyright (c) 2016 Torvald aka skyhi14.
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.
---
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()
//addState(game)
addState(StateMonitorCheck())
ingame = StateInGame()
addState(ingame)
//addState(StateMonitorCheck())
}
companion object {

View File

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

Binary file not shown.