Skip to content

Initial port to 26.1.2 - #333

Open
IThundxr wants to merge 78 commits into
Engine-Room:26.1.2/devfrom
IThundxr:26.1.2/dev
Open

Initial port to 26.1.2#333
IThundxr wants to merge 78 commits into
Engine-Room:26.1.2/devfrom
IThundxr:26.1.2/dev

Conversation

@IThundxr

Copy link
Copy Markdown
Member

No description provided.

IThundxr and others added 30 commits December 22, 2025 19:27
# Conflicts:
#	common/src/api/java/dev/engine_room/flywheel/api/material/Material.java
#	common/src/lib/java/dev/engine_room/flywheel/lib/model/ModelUtil.java
#	common/src/lib/java/dev/engine_room/flywheel/lib/model/baked/BakedModelBuilder.java
#	common/src/lib/java/dev/engine_room/flywheel/lib/model/baked/BlockModelBuilder.java
#	common/src/vanillin/java/dev/engine_room/vanillin/VanillinInstanceTypes.java
#	common/src/vanillin/java/dev/engine_room/vanillin/item/ItemModelBuilder.java
#	common/src/vanillin/java/dev/engine_room/vanillin/mixin/text/BakedGlyphMixin.java
#	common/src/vanillin/java/dev/engine_room/vanillin/mixin/text/FontAccessor.java
#	common/src/vanillin/java/dev/engine_room/vanillin/mixin/text/FontSetMixin.java
#	common/src/vanillin/java/dev/engine_room/vanillin/mixin/text/FontTextureMixin.java
#	common/src/vanillin/java/dev/engine_room/vanillin/text/BakedGlyphExtension.java
#	common/src/vanillin/java/dev/engine_room/vanillin/text/FontTextureExtension.java
#	common/src/vanillin/java/dev/engine_room/vanillin/text/SimpleTextLayer.java
#	common/src/vanillin/java/dev/engine_room/vanillin/text/TextLayer.java
#	common/src/vanillin/java/dev/engine_room/vanillin/text/TextUtil.java
#	common/src/vanillin/java/dev/engine_room/vanillin/text/TextVisual.java
#	common/src/vanillin/java/dev/engine_room/vanillin/visuals/ItemDisplayVisual.java
#	common/src/vanillin/java/dev/engine_room/vanillin/visuals/SignVisual.java
Support for new and old rendering styles
Update expected exception wording of testMalformedInclude
* imitate fabric-loom/b13a00e

* Fog

* Fog II

* Bind main render target before submits

* What the Helly

* Revert "imitate fabric-loom/b13a00e"

* Small cleanup

* Merge branch '1.21.11/dev' into fork/Evoloxi/1.21.11/dev
@IThundxr
IThundxr marked this pull request as ready for review August 1, 2026 23:06
if (!region.fence.isSignaled()) {
// We can't reclaim this region yet, and we know that all the regions after it are also not ready.
break;
try (GpuFence fence = region.fence) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why GlFence above but GpuFence here? Mind explaining the differences with b3d's API? What's the advantage of switching to it vs keeping around the old Flywheel GlFence?

ptr = writeFloat(ptr, level.getSkyDarken());

ptr = writeInt(ptr, level.effects().constantAmbientLight() ? 1 : 0);
ptr = writeInt(ptr, level.dimensionType().cardinalLightType().ordinal());

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nice


@Inject(method = "extractRenderState", at = @At("TAIL"))
private void flywheel$extendRenderState(CameraRenderState cameraState, float cameraEntityPartialTicks, CallbackInfo ci) {
((CameraRenderStateExtension) cameraState).flywheel$getForwardVector().set(forwardVector());

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah so we have to add the field to CameraRenderState for it to be copied over here...

Mind leaving a comment explaining how these 2 mixins play into eachother?

import dev.engine_room.flywheel.backend.gl.GlStateTracker;
import dev.engine_room.flywheel.backend.gl.buffer.GlBufferType;

@Mixin(value = GlStateManager.class, remap = false)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

beautiful

@Mixin(GpuDevice.class)
public interface GpuDeviceAccessor {
@Accessor("backend")
GpuDeviceBackend flywheel$getBackend();

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh no we have a name collision with backend now

private void flywheel$disableTransparencyShaderDepth(CallbackInfo ci) {
GlStateManager._depthMask(false);
}
// TODO 1.21.11: Is this still needed?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think it is but we should confirm before merge

thread.join();
} catch (InterruptedException e) {
//
} catch (InterruptedException _) {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you

public static void addDebugInfo(Minecraft minecraft, List<String> systemInfo) {
if (minecraft.showOnlyReducedInfo()) {
return;
public static class FlwDebugEntry implements DebugScreenEntry {

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oooh very fancy

public Deque<PoseStack.Pose> getPoseStack(PoseStack stack) {
return ((PoseStackAccessor) stack).flywheel$getPoseStack();
public <T extends Entity> boolean affectedByCulling(T entity) {
EntityRenderer<? super T, ?> renderer = Minecraft.getInstance()

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oh no

Comment thread gradle.properties

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why do we need so many fewer properties now?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most were moved to libs.versions.toml which is the more gradle-correct way to manage dependencies

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants