PK ó›SKVuóH¨ ¨ diff.patchdiff -ur --binary model3emu/Src/Graphics/New3D/PolyHeader.cpp model3emu-patch/Src/Graphics/New3D/PolyHeader.cpp --- model3emu/Src/Graphics/New3D/PolyHeader.cpp 2017-10-19 19:10:33.000000000 +0200 +++ model3emu-patch/Src/Graphics/New3D/PolyHeader.cpp 2017-10-19 19:10:15.000000000 +0200 @@ -385,23 +385,31 @@ { UINT64 hash = 0; - hash |= (header[2] & 3); // bits 0-1 uv mirror bits - hash |= (UINT64)((header[3] >> 0) & 7) << 2; // bits 2-4 tex height - hash |= (UINT64)((header[3] >> 3) & 7) << 5; // bits 5-7 tex width - hash |= (UINT64)X() << 8; // bits 8-17 x offset - hash |= (UINT64)Y() << 18; // bits 18-27 y offset - hash |= (UINT64)TexFormat() << 28; // bits 28-30 tex format - hash |= (UINT64)TexEnabled() << 31; // bits 31 textures enabled - hash |= (UINT64)LightEnabled() << 32; // bits 32 light enabled - hash |= (UINT64)DoubleSided() << 33; // bits 33 double sided - hash |= (UINT64)AlphaTest() << 34; // bits 34 contour processing - hash |= (UINT64)PolyAlpha() << 35; // bits 35 poly alpha processing - hash |= (UINT64)TextureAlpha() << 36; // bits 36 texture alpha processing - hash |= (UINT64)MicroTexture() << 37; // bits 37 microtexture enable - hash |= (UINT64)HighPriority() << 38; // bits 38 high priority enable + hash |= (header[2] & 3); // bits 0-1 uv mirror bits + hash |= (UINT64)((header[3] >> 0) & 7) << 2; // bits 2-4 tex height + hash |= (UINT64)((header[3] >> 3) & 7) << 5; // bits 5-7 tex width + hash |= (UINT64)X() << 8; // bits 8-17 x offset + hash |= (UINT64)Y() << 18; // bits 18-27 y offset + hash |= (UINT64)TexFormat() << 28; // bits 28-30 tex format + hash |= (UINT64)TexEnabled() << 31; // bits 31 textures enabled + hash |= (UINT64)LightEnabled() << 32; // bits 32 light enabled + hash |= (UINT64)DoubleSided() << 33; // bits 33 double sided + hash |= (UINT64)AlphaTest() << 34; // bits 34 contour processing + hash |= (UINT64)PolyAlpha() << 35; // bits 35 poly alpha processing + hash |= (UINT64)TextureAlpha() << 36; // bits 36 texture alpha processing + hash |= (UINT64)MicroTexture() << 37; // bits 37 microtexture enable + hash |= (UINT64)HighPriority() << 38; // bits 38 high priority enable hash |= (UINT64)SpecularEnabled() << 39; // bits 39 enable specular reflection hash |= (UINT64)SmoothShading() << 40; // bits 40 smooth shading - hash |= (UINT64)((header[6] >> 11) & 0x1F) << 41; // bits 41-45 light modifier + hash |= (UINT64)LightModifier() << 41; // bits 41-45 light modifier + hash |= (UINT64)FixedShading() << 46; // bits 46 fixed shading + hash |= (UINT64)TranslatorMap() << 47; // bits 47 translator map + hash |= (UINT64)Layered() << 48; // bits 48 layered texture + hash |= (UINT64)SpecularValue() << 49; // bits 49-54 specular coefficient (opacity) + hash |= (UINT64)Shininess() << 55; // bits 55-56 specular exponent + hash |= (UINT64)MicroTextureID() << 57; // bits 57-59 Microtexture texture number 0-7 + hash |= (UINT64)MicroTextureMinLOD() << 60; // bits 60-61 Microtexture min lod index + hash |= (UINT64)((header[3] >> 6) & 3) << 62; // bits 62-63 uv smooth bits //to do add the rest of the states PK ó›SKVuóH¨ ¨ $ diff.patch ‹ºðIÓ‹ºðIÓÁýIÓPK\Ð