You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Finished Variable slot count, the first major feature unique to Resounding!
This can be thought of as the reverb "resolution", higher slot counts mean smoother reverb and more detail, but at the cost of memory and performance
This setting can be changed with the `reverbResolution` setting in the config
Also:
- updated config. This will work until i can get around to a full rewrite
- rewrote `dev.thedocruby.resounding.openal.*`, since i needed to to get the variable slot count working.
- fixed a critical error with material properties inherited from Sound Physics that forced all materials to use fallback values. Material properties should now be applied correctly
- fixed a bug from the last commit that prevented the mod from updating properly when the config was changed
- Improved the reverb quality by no longer hard-coding some things, like reverb diffusion. Most of these are also now configurable
- a few more minor things
@Comment("Affects how quiet a sound gets based on distance. Lower values mean distant sounds are louder.\n1.0 is the physically correct value.\n0.2 - 1.0 or just don't set it to 0")
42
45
publicdoubleattenuationFactor = 1.0;
46
+
@ConfigEntry.Gui.Excluded// TODO: remove this
43
47
@Comment("The global volume of simulated reverberations.\n0.1 - 2.0")
44
48
publicdoubleglobalReverbGain = 1.0;
49
+
@ConfigEntry.BoundedDiscrete(max = 32, min = 4)
50
+
publicintreverbResolution = 12;
51
+
publicdoubleglobalReverbStrength = 5.0;
52
+
publicdoublereverbWarpFactor = 4;
53
+
publicdoubleglobalReverbSmoothness = 0.62;
45
54
@Comment("The brightness of reverberation.\nHigher values result in more high frequencies in reverberation.\nLower values give a more muffled sound to the reverb.\n0.1 - 2.0")
46
55
publicdoubleglobalReverbBrightness = 1.0;
56
+
@ConfigEntry.Gui.Excluded// TODO: Occlusion
47
57
@Comment("The global amount of sound that will be absorbed when traveling through blocks.\n 0.1 - 4.0")
48
58
publicdoubleglobalBlockAbsorption = 1.0;
59
+
@ConfigEntry.Gui.Excluded// TODO: Occlusion
60
+
publicdoubleglobalAbsorptionBrightness = 1.0;
49
61
@Comment("The global amount of sound reflectance energy of all blocks.\nLower values result in more conservative reverb simulation with shorter reverb tails.\nHigher values result in more generous reverb simulation with higher reverb tails.\n0.1 - 4.0")
50
62
publicdoubleglobalBlockReflectance = 1.0;
51
63
@Comment("Minecraft won't allow sounds to play past a certain distance;\nResounding makes that configurable by multiplying this parameter by the default distance.\nValues too high can cause polyphony issues.\n1.0 - 6.0")
@@ -62,6 +74,7 @@ public static class General{
62
74
63
75
publicstaticclassPerformance{
64
76
@Environment(EnvType.CLIENT)
77
+
@ConfigEntry.Gui.Excluded// TODO: Occlusion
65
78
@Comment("If true, rain sound sources won't trace for sound occlusion.\nThis can help performance during rain.")
66
79
publicbooleanskipRainOcclusionTracing = true;
67
80
@Environment(EnvType.CLIENT)
@@ -73,6 +86,9 @@ public static class Performance{
73
86
@ConfigEntry.BoundedDiscrete(max = 32, min = 2)
74
87
publicintenvironmentEvaluationRayBounces = 12;
75
88
@Environment(EnvType.CLIENT)
89
+
publicdoubletraceRange = 6;
90
+
@Environment(EnvType.CLIENT)
91
+
@ConfigEntry.Gui.Excluded// TODO: Remove
76
92
@Comment("If true, enables a simpler technique for determining when the player and a sound source share airspace.\nMight sometimes miss recognizing shared airspace, but it's faster to calculate.")
@Comment("Disable occlusion of jukeboxes and note blocks.\nUseful if you have an audio signaling system that you need to hear clearly")
93
109
publicbooleanrecordsDisable = false;
94
110
@Environment(EnvType.CLIENT)
95
111
@Comment("Continuous sources reverb refresh interval (ticks per refresh or 1/(20Hz))")
96
112
publicintcontinuousRefreshRate = 4;
97
113
@Environment(EnvType.CLIENT)
114
+
@ConfigEntry.Gui.Excluded// TODO: Occlusion
98
115
@Comment("The amount at which occlusion is capped. 10 * block_occlusion is the theoretical limit")
99
116
publicdoublemaxDirectOcclusionFromBlocks = 10;
100
117
@Environment(EnvType.CLIENT)
118
+
@ConfigEntry.Gui.Excluded// TODO: Occlusion
101
119
@Comment("Calculate direct occlusion as the minimum of 9 rays from vertices of a block")
102
120
publicboolean_9RayDirectOcclusion = true;
103
121
@Environment(EnvType.CLIENT)
122
+
@ConfigEntry.Gui.Excluded// TODO: DirEval
104
123
@Comment("Whether to try calculating where the sound should come from based on reflections")
105
124
publicbooleansoundDirectionEvaluation = true;
106
125
@Environment(EnvType.CLIENT)
126
+
@ConfigEntry.Gui.Excluded// TODO: DirEval
107
127
@Comment("How much the sound direction depends on reflected sounds.\nRequires \"Re-calculate sound direction\" to be enabled.\n0.0 is no reflected sounds, 1.0 is 100% reflected sounds.\n0.5 is approximately physically accurate.")
@Comment("Skip redirecting non-occluded sounds (the ones you can see directly).\nCan be inaccurate in some situations, especially when \"Re-calculate sound direction\" is enabled.")
111
132
publicbooleannotOccludedNoRedirect = false;
112
133
}
113
134
114
-
publicstaticclassMisc {
135
+
publicstaticclassDebug {
115
136
@Comment("General debug logging")
116
137
publicbooleandebugLogging = false;
138
+
@ConfigEntry.Gui.Excluded// TODO: Occlusion
117
139
@Comment("Occlusion tracing information logging")
118
140
publicbooleanocclusionLogging = false;
119
141
@Comment("Environment evaluation information logging")
@@ -122,14 +144,13 @@ public static class Misc {
122
144
publicbooleanperformanceLogging = false;
123
145
@Comment("Particles on traced blocks (structure_void is a block)")
124
146
publicbooleanraytraceParticles = false;
125
-
publicdoubleminEnergy = 5;
126
147
}
127
148
128
149
// TODO: change preset back to "Balanced" when performance permits
0 commit comments