On 07/22/13 12:57, Harley Laue wrote:
On 07/17/13 07:22, Tim Angus wrote:
On 17/07/13 12:05, Dominic Fandrey wrote:
On 17/07/2013 07:46, Zachary wrote:
This is how much I care that a closed source mod, that is moving to a closed source licensed version of quake 3, doesn't work with ioquake3:

Not at all.

I agree that their decisions are at least alienating. Their "no modding"
policy is ridiculous to the point of being offensive.

There remains the issue that ioq3 1.36 release runs UT 4.2 just fine,
whereas current ioq3 doesn't. So there must be a change in ioq3 that
causes it and I'd consider it worth investigating, despite the questionable
origin.

If you could do a git bisect you'll be able to find the offending revision.
I went ahead and did a git bisect.

4722d311fd87b76e2f3fd85e8bcbbd432feacabe is the first bad commit
commit 4722d311fd87b76e2f3fd85e8bcbbd432feacabe
Author: Ludwig Nussel <ludwig.nus...@suse.de>
Date:   Sun Nov 1 19:58:18 2009 +0000

    better range checks
It looks like the culprit is the range check (MASK_REG in the new vm) for OP_STORE4. Commenting out MASK_REG under that case seems to make UrbanTerror 4.2 load up. I haven't actually tried a real game though.

diff --git a/code/qcommon/vm_x86.c b/code/qcommon/vm_x86.c
index b896883..0a1e081 100644
--- a/code/qcommon/vm_x86.c
+++ b/code/qcommon/vm_x86.c
@@ -1369,7 +1369,7 @@ void VM_Compile(vm_t *vm, vmHeader_t *header)
 		case OP_STORE4:
 			EmitMovEAXStack(vm, 0);	
 			EmitString("8B 54 9F FC");			// mov edx, dword ptr -4[edi + ebx * 4]
-			MASK_REG("E2", vm->dataMask & ~3);		// and edx, 0x12345678
+			//MASK_REG("E2", vm->dataMask & ~3);		// and edx, 0x12345678
 #if idx64
 			EmitRexString(0x41, "89 04 11");		// mov dword ptr [r9 + edx], eax
 #else
_______________________________________________
ioquake3 mailing list
ioquake3@lists.ioquake.org
http://lists.ioquake.org/listinfo.cgi/ioquake3-ioquake.org
By sending this message I agree to love ioquake3 and libsdl.

Reply via email to