mirror of
https://github.com/curioustorvald/Terrarum.git
synced 2026-06-13 03:54:06 +09:00
sound effects for tile placing and breaking
This commit is contained in:
@@ -200,6 +200,8 @@ object AudioMixer: Disposable {
|
|||||||
masterTrack.addSidechainInput(fadeBus, 1.0)
|
masterTrack.addSidechainInput(fadeBus, 1.0)
|
||||||
masterTrack.addSidechainInput(guiTrack, 1.0)
|
masterTrack.addSidechainInput(guiTrack, 1.0)
|
||||||
|
|
||||||
|
musicTrack.filters[1] = Gain(0.5f)
|
||||||
|
|
||||||
dynamicTracks.forEach {
|
dynamicTracks.forEach {
|
||||||
it.filters[0] = BinoPan(0f)
|
it.filters[0] = BinoPan(0f)
|
||||||
sfxSumBus.addSidechainInput(it, 1.0)
|
sfxSumBus.addSidechainInput(it, 1.0)
|
||||||
|
|||||||
@@ -122,7 +122,7 @@ abstract class Actor : Comparable<Actor>, Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printdbg(this, "Dynamic Source ${track?.name}")
|
// printdbg(this, "Dynamic Source ${track?.name}")
|
||||||
|
|
||||||
return track
|
return track
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -588,7 +588,7 @@ open class ActorWithBody : Actor {
|
|||||||
// make some effects
|
// make some effects
|
||||||
if (collisionStatus != 0)
|
if (collisionStatus != 0)
|
||||||
makeDust(collisionDamage, vecSum)
|
makeDust(collisionDamage, vecSum)
|
||||||
if (collisionStatus == COLLIDING_BOTTOM)
|
if (collisionStatus and COLLIDING_BOTTOM != 0)
|
||||||
makeNoise(collisionDamage)
|
makeNoise(collisionDamage)
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -2049,7 +2049,7 @@ open class ActorWithBody : Actor {
|
|||||||
if (collisionDamage > 1.0 / 1024.0) {
|
if (collisionDamage > 1.0 / 1024.0) {
|
||||||
val feetTiles = getFeetTiles()
|
val feetTiles = getFeetTiles()
|
||||||
val volumeMax = collisionDamage / 108
|
val volumeMax = collisionDamage / 108
|
||||||
val feetTileMats = feetTiles.slice(0 until feetTiles.size).map { BlockCodex[it.second].material }
|
val feetTileMats = feetTiles.slice(feetTiles.indices).map { BlockCodex[it.second].material }
|
||||||
val feetTileCnt = feetTileMats.size.toDouble()
|
val feetTileCnt = feetTileMats.size.toDouble()
|
||||||
val materialStats = feetTileMats.distinct().map { mat -> mat to feetTileMats.count { it == mat } }
|
val materialStats = feetTileMats.distinct().map { mat -> mat to feetTileMats.count { it == mat } }
|
||||||
|
|
||||||
|
|||||||
@@ -147,6 +147,7 @@ object AxeCore {
|
|||||||
// drop the item under cursor
|
// drop the item under cursor
|
||||||
PickaxeCore.dropItem(BlockCodex[tileBroken].drop, x, y) // todo use log item if applicable
|
PickaxeCore.dropItem(BlockCodex[tileBroken].drop, x, y) // todo use log item if applicable
|
||||||
PickaxeCore.makeDust(tile, x, y, 9)
|
PickaxeCore.makeDust(tile, x, y, 9)
|
||||||
|
PickaxeCore.makeNoise(actor, tile)
|
||||||
}
|
}
|
||||||
// tile not busted
|
// tile not busted
|
||||||
if (Math.random() < actionInterval) {
|
if (Math.random() < actionInterval) {
|
||||||
|
|||||||
@@ -70,6 +70,7 @@ object BlockBase {
|
|||||||
false
|
false
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
PickaxeCore.makeNoise(actor, itemID)
|
||||||
|
|
||||||
1L
|
1L
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ object PickaxeCore {
|
|||||||
dropItem(drop, x, y)
|
dropItem(drop, x, y)
|
||||||
}
|
}
|
||||||
makeDust(tile, x, y, 9)
|
makeDust(tile, x, y, 9)
|
||||||
|
makeNoise(actor, tile)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// tile not busted
|
// tile not busted
|
||||||
@@ -166,6 +167,12 @@ object PickaxeCore {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun makeNoise(actor: ActorWithBody, tile: ItemID) {
|
||||||
|
Terrarum.audioCodex.getRandomFootstep(BlockCodex[tile].material)?.let {
|
||||||
|
actor.startAudio(it, 2.0)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fun endPrimaryUse(actor: ActorWithBody, item: GameItem?): Boolean {
|
fun endPrimaryUse(actor: ActorWithBody, item: GameItem?): Boolean {
|
||||||
item?.using = false
|
item?.using = false
|
||||||
// reset action timer to zero
|
// reset action timer to zero
|
||||||
|
|||||||
@@ -104,6 +104,7 @@ object SledgehammerCore {
|
|||||||
PickaxeCore.dropItem("wall@$drop", x, y)
|
PickaxeCore.dropItem("wall@$drop", x, y)
|
||||||
}
|
}
|
||||||
PickaxeCore.makeDust(wall, x, y, 9, WALL_OVERLAY_COLOUR)
|
PickaxeCore.makeDust(wall, x, y, 9, WALL_OVERLAY_COLOUR)
|
||||||
|
PickaxeCore.makeNoise(actor, wall)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// tile not busted
|
// tile not busted
|
||||||
|
|||||||
Reference in New Issue
Block a user