- Status
- Offline
- Joined
- Mar 3, 2026
- Messages
- 677
- Reaction score
- 457
Ran into a weird roadblock while digging into recent Badlion builds. Most of the mappings and obf names are solid, but I'm hitting a wall with the view matrices.
The problem is straightforward but annoying: Projection, ModelView, and the viewport are all dumping zeros.
I've verified the obfuscated field names multiple times—everything else pulls data correctly, but these specific matrices just aren't populating. It’s a classic issue when you’re trying to build a reliable World-to-Screen (W2S) or an internal overlay for a modified client like Badlion.
In my experience with MC reversing, if your field offsets/mappings are 100% correct but you're getting zeros, it's usually a lifecycle issue. You need to verify if you're catching them at the right part of the frame. Check your hooks in
or the deobfuscated equivalent to see when the OpenGL state is actually being written to those fields.
Badlion's internal optimizations sometimes shuffle how OpenGL states are cached or retrieved. If you're external, finding the static pointer for the active ProjectionMatrix might be more reliable than hitting the standard class fields.
Anyone else run into this with the latest Badlion build?
The problem is straightforward but annoying: Projection, ModelView, and the viewport are all dumping zeros.
I've verified the obfuscated field names multiple times—everything else pulls data correctly, but these specific matrices just aren't populating. It’s a classic issue when you’re trying to build a reliable World-to-Screen (W2S) or an internal overlay for a modified client like Badlion.
- Timing: You might be reading the fields before they are populated in the frame cycle.
- Render Thread: Are you accessing them purely on the render thread? Most clients only update these during the active camera setup phase.
- Context: Badlion often uses localized variables or custom hooks that don't pipe back to the vanilla fields in the same way.
In my experience with MC reversing, if your field offsets/mappings are 100% correct but you're getting zeros, it's usually a lifecycle issue. You need to verify if you're catching them at the right part of the frame. Check your hooks in
Code:
EntityRenderer.setupCameraTransform
Badlion's internal optimizations sometimes shuffle how OpenGL states are cached or retrieved. If you're external, finding the static pointer for the active ProjectionMatrix might be more reliable than hitting the standard class fields.
Anyone else run into this with the latest Badlion build?