Closed Solniz closed 1 day ago
It's probably an unrelated original bug, or some degree of intentional randomness to this effect. I have not investigated it closely in the past, so I can't say for certain.
CPlane::PreRender (0x6CA09F, 0x6CA122, 0x6CA1B2, 0x6CA242). operator* creates a new CMatrix, but it writes a garbage value to the flags field (CMatrix/RwMatrix+0xC). It should be zeroed and then this bug will be fixed.
CPlane::PreRender (0x6CA09F, 0x6CA122, 0x6CA1B2, 0x6CA242). operator* creates a new CMatrix, but it writes a garbage value to the flags field (CMatrix/RwMatrix+0xC). It should be zeroed and then this bug will be fixed.
Good find! This makes this bug identical in nature to the DOUBLE_RWHEELS
one, where a call to RwMatrixUpdate
was missing in the rear wheels set up. Seems like the PS2 RenderWare doesn't care about those matrix flags, but D3D9 RW does. I will investigate but I suspect the values here may not be "garbage" per se, maybe they are also just missing RwMatrixUpdate
or CMatrix::Update
called later. I wonder if #18 is also a matrix update issue...
I will consider including this in the upcoming hotfix, because it's simple and safe to do.
OK I investigated, and you're right about the flags needing to be zeroed - normally RwMatrixUpdate
alone would have been alone, but this code misuses CMatrix
and passes the underlying RwMatrix
to a function directly. If they did it properly by attaching it to an external RwMatrix
, updating it, and passing that, the bug would have been avoided.
But what's done is done and zeroing the flags after multiplication is indeed the next best thing 😀
So I have seen this mentioned before and decided to try this on my own. On my first boot with only SilentPatch and the ASI loader installed, there is no blue flame. Then I removed SP and the ASI loader (vanilla experience with a barely working mouse) and the blue flame is still missing.
This is how it looks with SP. Even with the wheels on it doesn't show up at all.
This is on my 1st and 2nd attempt in the vanilla game.
I have also tried change FX quality and Anti Aliasing but doesn't seem to make a difference. Judging from older PC footage, this is a thing that always worked normally in the past, so I wonder if it's some kind of incompatibility with new hardware that needs a tweak.