mirror of
https://github.com/Dingo-Shenanigans/ReSkate.git
synced 2026-10-17 11:57:01 +02:00
Scrolling shirts onto Yudi-Yuddispack's philippleinshirt_ap crashed the game (Skate.exe+0x3dc07ed): one of the preset's set parameters has a type of 0x0c07010304040502 (null in another crash). The game type-checks every set parameter when it next applies a preset to a material, reading the type unchecked, and catching that crash inside addEsShaderPreset was too late: the preset was on the material already and the next update crashed on it. addEsShaderPreset's guard now checks the preset first, as that type check reads it: the TypeInfo, its data, a word at +4. A preset with a parameter whose type cannot be read is left out as a preset that is not loaded is (the item shows without it), and named in the log once with that parameter's key. Many of the game's own types are built at run time, so the test is that the type reads, not that it lies in the game's image.