Fixed clamping of T coordinate in Voodoo recompiler - fixes lightmaps in Starsiege Tribes

This commit is contained in:
TomW 2016-01-14 20:41:34 +00:00
commit 0601d2d919

View file

@ -493,27 +493,27 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo
addbyte(0xeb); addbyte(0xeb);
addbyte(0xd3); /*SAR EAX, CL*/ addbyte(0xd3); /*SAR EAX, CL*/
addbyte(0xf8); addbyte(0xf8);
addbyte(0x80); /*SUB CL, 4*/ addbyte(0xd3); /*SAR EBX, CL*/
addbyte(0xe9); addbyte(0xfb);
addbyte(4);
addbyte(0x89); /*MOV EBP, EAX*/ addbyte(0x89); /*MOV EBP, EAX*/
addbyte(0xc5); addbyte(0xc5);
addbyte(0xd3); /*ROR EBX, CL*/ addbyte(0x89); /*MOV ECX, EBX*/
addbyte(0xcb); addbyte(0xd9);
addbyte(0x83); /*AND EBP, 0xf*/ addbyte(0x83); /*AND EBP, 0xf*/
addbyte(0xe5); addbyte(0xe5);
addbyte(0xf); addbyte(0xf);
addbyte(0x89); /*MOV ECX, EBX*/ addbyte(0xc1); /*SHL ECX, 4*/
addbyte(0xd9); addbyte(0xe1);
addbyte(4);
addbyte(0xc1); /*SAR EAX, 4*/ addbyte(0xc1); /*SAR EAX, 4*/
addbyte(0xf8); addbyte(0xf8);
addbyte(4); addbyte(4);
addbyte(0x81); /*AND ECX, 0xf0*/ addbyte(0x81); /*AND ECX, 0xf0*/
addbyte(0xe1); addbyte(0xe1);
addlong(0xf0); addlong(0xf0);
addbyte(0xc1); /*SAR EBX, 8*/ addbyte(0xc1); /*SAR EBX, 4*/
addbyte(0xfb); addbyte(0xfb);
addbyte(8); addbyte(4);
addbyte(0x09); /*OR EBP, ECX*/ addbyte(0x09); /*OR EBP, ECX*/
addbyte(0xcd); addbyte(0xcd);
addbyte(0x8b); /*MOV ECX, state->lod[EDI]*/ addbyte(0x8b); /*MOV ECX, state->lod[EDI]*/