World of Warcraft (WoW) patch/more address space layout stuff

Nick Law nick.law at mic-nucmed.co.uk
Mon May 22 13:18:07 CDT 2006


Opening up the debate again on the World of Warcraft ( WoW ) memory patch.

Some facts about WoW that may explain why the AppDB page is pretty 
active and the wow patch for wine 0.9.12 was downloaded over 1000 times 
from the Appdb page during a 4 week period.... Wow has approximately 6 
million players that each pay about  $90/year for the priviledge of 
connecting to a WoW server (Realm). Assuming this figure is broadly 
correct, Blizzard therefore receives $500,000,000/year just from this 
game in subscriptions. ( This doesn't include the cost of buying the 
game in the first place ). Perhaps Blizzard would like to employee a 
programmer fulltime just to work on the wine project to help make Wow 
run 100% ?.

Anyway with the popularity of this game in mind, you can see why there 
is a lot of interest in making this patch a thing of the past, so the 
thousands of gamers who play this game on wine don't have to keep 
applying a special patch. I would be grateful for any suggestions as to 
how we could incorporate this patch so that it is no longer necessary. I 
know we can't simply include the patch, but there must be some way 
around this problem ?

Below is an email regarding this partiicular problem, I would be 
grateful for any comments that I can pass back to Jan Riewe. Thanks

Regards
Nick Law
Appdb Maintainer - World of Warcraft 1.10.x

Any feedback is much appreciated.

Comment for 'World of Warcraft 1.10.x' added by jan riewe
-------------------------------------------------------
To reply to this email please use the link provided below.
DO NOT reply via your email client as it will not reach the person who wrote the comment
http://appdb.winehq.org/appview.php?versionId=4031&mode=nested#Comment-12086

Subject: RE: is this a workaround or a real patch?

is it posible to make a workaround with the user.reg? in the transgaming forum i`ve found something like :
[Software\\Wine\\AppDefaults\\WoW.exe\\Memory] 1148134976
"MemoryLayoutOverride"="0x10000000"

does it make sense on wine? (i am not so familiar to the wine syntax *shame on me*) is this perhaps the key to get rid of the patches and make the binary build of wine working with WoW also fine?
if this is a posibility perhaps you can post a full "user.reg" fix for those of us, who love the update feature.

and i just want to thank you ... your service this really great! wow is one of the biggest steps at the moment for gaming society to move more and more to an opensource system.

----

--- wine/libs/wine/mmap.c.orig    2006-05-11 17:02:13.000000000 +0100
+++ wine/libs/wine/mmap.c    2006-05-19 22:08:03.000000000 +0100
@@ -183,7 +183,26 @@
 
 #endif  /* (__svr4__ || __NetBSD__) && !MAP_TRYFIXED */
 
+static void *get_anon_mmap_null_address(size_t size)
+{
+    static int got_override = 0;
+    static void *low_alloc_ptr = NULL;
+    void * current_low_alloc_ptr;
+
+    if (!got_override)
+    {
+            low_alloc_ptr = (void*)0x10000000;
+            got_override = 1;
+    }
+
+    current_low_alloc_ptr = low_alloc_ptr;
+
+    if (low_alloc_ptr)
+        low_alloc_ptr += size;
 
+    return current_low_alloc_ptr;
+   }
+
 /***********************************************************************
  *        wine_anon_mmap
  *
@@ -213,6 +232,8 @@
             return start;
 #endif
     }
+     if ((start == NULL) && !(flags & MAP_FIXED))
+         start = get_anon_mmap_null_address(size);
     return mmap( start, size, prot, flags, get_fdzero(), 0 );
 }
 
--- wine/loader/preloader.c.orig    2006-05-11 17:02:13.000000000 +0100
+++ wine/loader/preloader.c    2006-05-19 22:14:22.000000000 +0100
@@ -109,8 +109,8 @@
 static struct wine_preload_info preload_info[] =
 {
     { (void *)0x00000000, 0x00110000 },  /* DOS area */
-    { (void *)0x7ffe0000, 0x01020000 },  /* shared user data + shared 
heap */
-    { (void *)0x00110000, 0x1fef0000 },  /* PE exe range (may be set 
with WINEPRELOADRESERVE), defaults to 512mb */
+    { (void *)0x80000000, 0x01000000 },  /* shared user data + shared 
heap */
+    { (void *)0x10000000, 0x00f00000 },  /* PE exe range (may be set 
with WINEPRELOADRESERVE), defaults to 512mb */
     { 0, 0 }                             /* end of list */
 };
 

-- 
Regards
Nick Law
Mobile: 07736 022165
Email: nick.law at mic-nucmed.co.uk
 
Medical Imaging Consultancy Ltd (M.I.C)
Sales and Service of ADAC and IS2 Products
http://www.mic-nucmed.co.uk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.winehq.org/pipermail/wine-devel/attachments/20060522/5afe202b/attachment.htm


More information about the wine-devel mailing list