From 542eb754834e040d437d1fbced1bc9a4ab3f9d60 Mon Sep 17 00:00:00 2001 From: SarahW Date: Thu, 23 Nov 2017 21:11:43 +0000 Subject: [PATCH] Fixed bug in Voodoo recompiler breaking cc_localselect_override. Fixes colours in Return Fire II. --- src/vid_voodoo_codegen_x86-64.h | 3 ++- src/vid_voodoo_codegen_x86.h | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/vid_voodoo_codegen_x86-64.h b/src/vid_voodoo_codegen_x86-64.h index fda8b3f..e6e1c5a 100644 --- a/src/vid_voodoo_codegen_x86-64.h +++ b/src/vid_voodoo_codegen_x86-64.h @@ -1904,7 +1904,8 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo addbyte(0x6e); addbyte(0x8e); addlong(offsetof(voodoo_params_t, color0)); - /*JMP +*/ + addbyte(0xeb); /*JMP +*/ + addbyte(8+5+4+4); /*!cc_localselect:*/ addbyte(0xf3); /*MOVDQU XMM1, ib*/ /* ir, ig and ib must be in same dqword!*/ addbyte(0x0f); diff --git a/src/vid_voodoo_codegen_x86.h b/src/vid_voodoo_codegen_x86.h index be4aad2..48b0cca 100644 --- a/src/vid_voodoo_codegen_x86.h +++ b/src/vid_voodoo_codegen_x86.h @@ -1837,7 +1837,7 @@ static inline void voodoo_generate(uint8_t *code_block, voodoo_t *voodoo, voodoo addbyte(0x8e); addlong(offsetof(voodoo_params_t, color0)); addbyte(0xeb); /*JMP +*/ - addbyte(8); + addbyte(8+5+4+4); /*!cc_localselect:*/ addbyte(0xf3); /*MOVDQU XMM1, ib*/ /* ir, ig and ib must be in same dqword!*/ addbyte(0x0f);