Snip
Snip
Gonna share some progress debugging this crash. I managed to narrow down the `NaN` appearance in one crash instance to this block of code in `StNormalUpdate`: https://github.com/ExOK/Celeste64/blob/48eebdadc8814451308eef2b96180edf6ac2b91d/Source/Actors/Player.cs#L990-L1120 `velXY` is being...
Good news; `Move.Value` does not contain `NaN`. Building and running with the below patch does not log that `Controls.Move.Value` has `NaN`. ```diff diff --git a/Source/Game.cs b/Source/Game.cs index 89c0fe8..a5fb4f9 100644 ---...
Found the source of the `NaN`; apparently it's `RelativeMoveInput`. *(so I was almost there; I considered checking `RelativeMoveInput` directly but chose against it, as I thought that since `Controls.Move.Input` is...
Somehow the `NaN` surfaces from normalizing the camera's XY components?? This doesn't make any sense.. ```diff diff --git a/Source/Actors/Player.cs b/Source/Actors/Player.cs index d0482d6..03950ae 100644 --- a/Source/Actors/Player.cs +++ b/Source/Actors/Player.cs @@ -611,7 +611,15...
Could it be processor-dependent? The person is running on a relatively old CPU (AMD Phenom II X4 955), and `Vector2` operations' assembly leverages [AVX instructions](https://en.wikipedia.org/wiki/Advanced_Vector_Extensions); this sounds kind of crazy...
Got bored and decided to make a visualization; Yellow is input, green is expected and red is actual. *(red vector's angle with the -Y axis is not to scale for...
Will try tomorrow. :+1:
For those who are following this issue: It turns out my theory wasn't in fact so crazy. A .NET Runtime bug causes the JIT to emit wrong ASM instructions when...
@Popax21 said he'd make an issue soon, but not right now as he's currently pretty busy. I'd rather let him do the talking as I'm not exactly very qualified to...
The fork fell a bit out of date, so I pulled the changes and published the 1.1.1 release + a few extra commits; remembering to publish new platforms as well....