Skip to content

Commit 90bdb00

Browse files
author
IMS212
committed
Merge branch 'trunk' into 1.17
2 parents 95fb855 + 20f1aa5 commit 90bdb00

File tree

6 files changed

+52
-26
lines changed

6 files changed

+52
-26
lines changed

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
blank_issues_enable: false
21
contact_links:
32
- name: Join the Discord for support using Iris!
43
url: https://discord.gg/jQJnav2jPu

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ classes/
77

88
# brachyura
99
.brachyura
10+
*.jfr
1011

1112
# custom sodium
1213
/custom_sodium/

buildscript/src/main/java/Buildscript.java

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -88,13 +88,12 @@ public void getModDependencies(ModDependencyCollector d) {
8888
}
8989

9090
@Override
91-
public Path[] paths(String subdir, boolean headers, boolean tocompile) {
91+
public Path[] paths(String subdir, boolean onlyHeaders) {
9292
List<Path> r = new ArrayList<>();
93-
if (tocompile) {
93+
if (!onlyHeaders) {
9494
Collections.addAll(
9595
r,
9696
getProjectDir().resolve("src").resolve("main").resolve(subdir),
97-
getProjectDir().resolve("src").resolve("headers").resolve(subdir),
9897
getProjectDir().resolve("src").resolve("vendored").resolve(subdir)
9998
);
10099
if (SODIUM) {
@@ -103,9 +102,7 @@ public Path[] paths(String subdir, boolean headers, boolean tocompile) {
103102
r.add(getProjectDir().resolve("src").resolve("noSodiumStub").resolve(subdir));
104103
}
105104
}
106-
if (headers) {
107-
r.add(getProjectDir().resolve("src").resolve("headers").resolve(subdir));
108-
}
105+
r.add(getProjectDir().resolve("src").resolve("headers").resolve(subdir));
109106
r.removeIf(p -> !Files.exists(p));
110107
return r.toArray(new Path[0]);
111108
}

buildscript/src/main/java/MultiSrcDirFabricProject.java

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import java.util.List;
3131

3232
public abstract class MultiSrcDirFabricProject extends FabricProject {
33-
public abstract Path[] paths(String subdir, boolean headers, boolean tocompile);
33+
public abstract Path[] paths(String subdir, boolean onlyHeaders);
3434

3535
@Override
3636
public JavaJarDependency build() {
@@ -48,15 +48,11 @@ public JavaJarDependency build() {
4848
)
4949
.addClasspath(getCompileDependencies());
5050

51-
List<Path> headerSourceSets = new ArrayList<>();
51+
Path[] headerSourceSets = paths("java", true);
5252

53-
for (Path p : paths("java", false, true)) {
53+
for (Path p : paths("java", false)) {
5454
compilation.addSourceDir(p);
5555
}
56-
for (Path p : paths("java", true, false)) {
57-
compilation.addSourcePathDir(p);
58-
headerSourceSets.add(p);
59-
}
6056
ProcessingSponge compilationOutput = new ProcessingSponge();
6157
JavaCompilationResult compileResult = compilation.compile();
6258

@@ -91,7 +87,7 @@ public JavaJarDependency build() {
9187
new RemapperProcessor(TinyRemapper.newRemapper().withMappings(new MappingTreeMappingProvider(compmappings, Namespaces.NAMED, Namespaces.INTERMEDIARY)), getCompileDependencies())
9288
).apply(trout, compilationOutput);
9389
try (AtomicZipProcessingSink out = new AtomicZipProcessingSink(getBuildJarPath())) {
94-
Path[] resources = paths("resources", false, true);
90+
Path[] resources = paths("resources", false);
9591
DirectoryProcessingSource[] sources = new DirectoryProcessingSource[resources.length];
9692
for (int i = 0; i < resources.length; i++) {
9793
sources[i] = new DirectoryProcessingSource(resources[i]);
@@ -125,15 +121,15 @@ public IdeModule[] getIdeModules() {
125121
.root(getProjectDir())
126122
.javaVersion(getJavaVersion())
127123
.dependencies(ideDependencies)
128-
.sourcePaths(paths("java", true, true))
129-
.resourcePaths(paths("resources", false, true))
124+
.sourcePaths(paths("java", false))
125+
.resourcePaths(paths("resources", false))
130126
.runConfigs(
131127
new IdeModule.RunConfigBuilder()
132128
.name("Minecraft Client")
133129
.cwd(cwd)
134130
.mainClass("net.fabricmc.devlaunchinjector.Main")
135131
.classpath(classpath)
136-
.resourcePaths(paths("resources", false, true))
132+
.resourcePaths(paths("resources", false))
137133
.vmArgs(
138134
() -> {
139135
ArrayList<String> clientArgs = new ArrayList<>(Arrays.asList(

src/main/java/net/coderbot/iris/gl/program/ProgramUniforms.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import net.coderbot.iris.uniforms.SystemTimeUniforms;
2222
import net.minecraft.client.Minecraft;
2323
import org.lwjgl.BufferUtils;
24+
import org.lwjgl.opengl.ARBShaderImageLoadStore;
2425
import org.lwjgl.opengl.GL20C;
2526

2627
import java.nio.IntBuffer;
@@ -200,9 +201,9 @@ public ProgramUniforms buildUniforms() {
200201
if (provided == null && !name.startsWith("gl_")) {
201202
String typeName = getTypeName(type);
202203

203-
if (isSampler(type)) {
204-
// don't print a warning, samplers are managed elsewhere.
205-
// TODO: Detect unsupported samplers?
204+
if (isSampler(type) || isImage(type)) {
205+
// don't print a warning, samplers and images are managed elsewhere.
206+
// TODO: Detect unsupported samplers/images?
206207
continue;
207208
}
208209

@@ -315,6 +316,10 @@ private static String getTypeName(int type) {
315316
typeName = "sampler2DShadow";
316317
} else if (type == GL20C.GL_SAMPLER_1D_SHADOW) {
317318
typeName = "sampler1DShadow";
319+
} else if (type == ARBShaderImageLoadStore.GL_IMAGE_2D) {
320+
typeName = "image2D";
321+
} else if (type == ARBShaderImageLoadStore.GL_IMAGE_3D) {
322+
typeName = "image3D";
318323
} else {
319324
typeName = "(unknown:" + type + ")";
320325
}
@@ -367,4 +372,12 @@ private static boolean isSampler(int type) {
367372
|| type == GL20C.GL_SAMPLER_1D_SHADOW
368373
|| type == GL20C.GL_SAMPLER_2D_SHADOW;
369374
}
375+
376+
private static boolean isImage(int type) {
377+
return type == ARBShaderImageLoadStore.GL_IMAGE_1D
378+
|| type == ARBShaderImageLoadStore.GL_IMAGE_2D
379+
|| type == ARBShaderImageLoadStore.GL_IMAGE_3D
380+
|| type == ARBShaderImageLoadStore.GL_IMAGE_1D_ARRAY
381+
|| type == ARBShaderImageLoadStore.GL_IMAGE_2D_ARRAY;
382+
}
370383
}

src/main/resources/assets/iris/lang/ru_ru.json

Lines changed: 25 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@
1414

1515
"options.iris.apply": "Применить",
1616
"options.iris.refresh": "Обновить",
17-
"options.iris.openShaderPackFolder": "Открыть папку c шейдерами...",
17+
"options.iris.openShaderPackFolder": "Открыть папку c шейдерами",
18+
"options.iris.shaderPackSettings": "Настройки шейдеров",
19+
"options.iris.shaderPackList": "Список шейдеров",
1820
"options.iris.refreshShaderPacks": "Обновить список шейдеров",
1921
"options.iris.shaderPackSelection": "Пакеты шейдеров...",
2022
"options.iris.shaderPackSelection.title": "Пакеты шейдеров",
@@ -24,12 +26,30 @@
2426
"options.iris.shaderPackSelection.failedAddSingle": "\"%s\" не является допустимым пакетом шейдеров",
2527
"options.iris.shaderPackSelection.copyError": "Не удалось добавить пакет шейдеров \"%s\"",
2628
"options.iris.shaderPackSelection.copyErrorAlreadyExists": "\"%s\" уже находится в вашей папке с шейдерами!",
29+
"options.iris.shaderPackOptions.tooManyFiles": "Невозможно загрузить несколько файлов с настройками!",
30+
"options.iris.shaderPackOptions.failedImport": "Не удалось загрузить настройки шейдеров из \"%s\"",
31+
"options.iris.shaderPackOptions.importedSettings": "Загружены настройки шейдеров из \"%s\"",
2732
"options.iris.shaders.disabled": "Шейдеры: Выключены",
2833
"options.iris.shaders.enabled": "Шейдеры: Включены",
29-
"options.iris.shadowDistance": "Максимальное расстояние для теней",
30-
"options.iris.shadowDistance.enabled": "Позволяет вам изменить максимальное расстояние для теней. Блоки и существа за этим расстоянием не будут иметь теней. Снижая этот параметр, вы можете кардинально улучшить производительность.",
31-
"options.iris.shadowDistance.disabled": "Ваши текущие шейдеры уже установили своё расстояние для теней; вы не сможете её изменить.",
34+
"options.iris.shaders.nonePresent": "Шейдеры: пакетов не обнаружено",
35+
"options.iris.back": "Назад",
36+
"options.iris.reset": "Сбросить",
37+
"options.iris.reset.tooltip": "Сбросить ВСЕ параметры?",
38+
"options.iris.reset.tooltip.holdShift": "Для сброса нажмите, удерживая Shift",
39+
"options.iris.importSettings.tooltip": "Загрузить настройки из файла",
40+
"options.iris.exportSettings.tooltip": "Сохранить настройки в файл",
41+
"options.iris.setToDefault": "Установить параметр по умолчанию?",
42+
"options.iris.profile": "Профиль",
43+
"options.iris.profile.custom": "Пользовательский",
44+
"options.iris.shadowDistance": "Дальность теней",
45+
"options.iris.shadowDistance.enabled": "Позволяет изменять максимальное расстояние видимости теней. Блоки и сущности за его пределами не будут иметь теней. Снижая этот параметр, вы можете значительно улучшить производительность.",
46+
"options.iris.shadowDistance.disabled": "Ваши текущие шейдеры уже установили своё расстояние для теней; вы не сможете его изменить.",
47+
"options.iris.shadowDistance.sodium_tooltip": "Дальность теней определяет, насколько далеко местность может обрабатываться на этапе просчёта теней. Меньшие значения соответствуют меньшей площади, что улучшает частоту кадров. Этот параметр нельзя изменить для шейдеров, в которых установлено своё расстояние рендеринга теней. Фактическое расстояние рендеринга ограничено дальностью прорисовки.",
3248

3349
"pack.iris.select.title": "Выберите",
34-
"pack.iris.list.label": "+ Перетащите шейдер для добавления"
50+
"pack.iris.configure.title": "Настроить",
51+
"pack.iris.list.label": "+ Перетащите шейдер для добавления",
52+
53+
"label.iris.true": "Вкл",
54+
"label.iris.false": "Выкл"
3555
}

0 commit comments

Comments
 (0)