Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Doom3 w/ Wine -IT CAN BE DONE
View unanswered posts
View posts from last 24 hours

Goto page Previous  1, 2, 3, ... 9, 10, 11  Next  
Reply to topic    Gentoo Forums Forum Index Gamers & Players
View previous topic :: View next topic  
Author Message
Captain_Loser
Tux's lil' helper
Tux's lil' helper


Joined: 19 Mar 2003
Posts: 106

PostPosted: Wed Aug 04, 2004 2:43 pm    Post subject: Reply with quote

Winex-cvs did no work for me, nor does the cedega binary. I will just wait for the linux binaries, I have waited several years for doom, I can handle another day or so.
_________________
KHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN!!!!!!!
Back to top
View user's profile Send private message
kormoc
Apprentice
Apprentice


Joined: 17 Jun 2002
Posts: 272
Location: Seattle, WA

PostPosted: Wed Aug 04, 2004 2:46 pm    Post subject: Reply with quote

http://www.linux-militia.net/howtos/doom3/doom3_installer.sh

There's the linux loki installer rcrit made. it still requires wine/winex to play, but it installs off the cds fine.

cedega does not support 5.1 audio as far as I know.

http://www.linux-militia.net/howtos/doom3/GlobalMemoryStatusExFixed.patch
That's the patch you need to apply to the winexcvs tree to get doom 3 working :)

Have Fun!
Back to top
View user's profile Send private message
kormoc
Apprentice
Apprentice


Joined: 17 Jun 2002
Posts: 272
Location: Seattle, WA

PostPosted: Wed Aug 04, 2004 3:53 pm    Post subject: Reply with quote

http://www.linux-militia.net/howtos/doom3/doom3.html

There's a howto if anyone's intrested, and if you have any problems with it, just let me know :)
Back to top
View user's profile Send private message
neenee
Veteran
Veteran


Joined: 20 Jul 2003
Posts: 1786

PostPosted: Wed Aug 04, 2004 3:54 pm    Post subject: Reply with quote

cedega-cvs nor winex-cvs compile for me - it appears there's
a dir missing on the cvs server.
_________________
proud to be a scout and a chronic penguin hugger
Legion of Lore - site
Back to top
View user's profile Send private message
kormoc
Apprentice
Apprentice


Joined: 17 Jun 2002
Posts: 272
Location: Seattle, WA

PostPosted: Wed Aug 04, 2004 4:24 pm    Post subject: Reply with quote

neenee:

What was your problem? I just updated my tree and only one file was updated in the past 24 hours.
Back to top
View user's profile Send private message
neenee
Veteran
Veteran


Joined: 20 Jul 2003
Posts: 1786

PostPosted: Wed Aug 04, 2004 5:34 pm    Post subject: Reply with quote

i got it to work now - using the guide linked to.

wine ran doom 3 a bit better though, regardless
of the consoles showing only static.
_________________
proud to be a scout and a chronic penguin hugger
Legion of Lore - site
Back to top
View user's profile Send private message
DaveAnderson
n00b
n00b


Joined: 04 Jan 2004
Posts: 59

PostPosted: Wed Aug 04, 2004 5:59 pm    Post subject: Reply with quote

I did get it running after emerging Wine, but graphics were off. I way try this walkthrough and using WineX-CVS, but I think I'm going to try and wait for the binaries. I hope they are out soon.
Back to top
View user's profile Send private message
kaosone
Guru
Guru


Joined: 01 Feb 2004
Posts: 446

PostPosted: Wed Aug 04, 2004 6:58 pm    Post subject: Reply with quote

doesn't work for me..

Code:

$ wine --version
Wine 20040716
$ wine Doom3.exe
..::[kaosone@nazgul][Wed Aug 04][21:11:03][/mnt/hde/Doom3]::..
$

btw...
for anyone who wants to check the site (here in firefox doesn't work) use this url: http://www.doom3.com/flash/base.swf
Back to top
View user's profile Send private message
(l)user
Guru
Guru


Joined: 31 Jan 2004
Posts: 334
Location: Poland

PostPosted: Wed Aug 04, 2004 8:00 pm    Post subject: Reply with quote

It doesn't work with this patched cedega-cvs here. It does work with standart wine 20040716 but i don't get any sound and it looks kinda wierd :-) but at least im sure ill be able to play this game on my old geforce 2 gts ;-D. GIVE US DAMN BINARIES, WE DON"T WANT TO WAIT NO LONGER :-D. lol
_________________
Registered Linux user #302020
Gadu Gadu #490092
Back to top
View user's profile Send private message
kormoc
Apprentice
Apprentice


Joined: 17 Jun 2002
Posts: 272
Location: Seattle, WA

PostPosted: Wed Aug 04, 2004 8:05 pm    Post subject: Reply with quote

(l)user wrote:
It doesn't work with this patched cedega-cvs here.


What was the error? as for looking weird, if your running in 16 bit gfx, try moving to 24, then your colors will look right.
Back to top
View user's profile Send private message
(l)user
Guru
Guru


Joined: 31 Jan 2004
Posts: 334
Location: Poland

PostPosted: Wed Aug 04, 2004 8:09 pm    Post subject: Reply with quote

Quote:

What was the error? as for looking weird, if your running in 16 bit gfx, try moving to 24, then your colors will look right.

Well im running XWindows in 24 bpp but i think game runs in 16.
Code:

bash-2.05b$ winex-cvs Doom3.exe
wine: Unhandled exception, starting debugger...

and thats what i get when trying to use patched winex-cvs aka cedega-cvs :-)
_________________
Registered Linux user #302020
Gadu Gadu #490092
Back to top
View user's profile Send private message
neenee
Veteran
Veteran


Joined: 20 Jul 2003
Posts: 1786

PostPosted: Wed Aug 04, 2004 8:18 pm    Post subject: Reply with quote

(l)user wrote:
Quote:

What was the error? as for looking weird, if your running in 16 bit gfx, try moving to 24, then your colors will look right.

Well im running XWindows in 24 bpp but i think game runs in 16.
Code:

bash-2.05b$ winex-cvs Doom3.exe
wine: Unhandled exception, starting debugger...

and thats what i get when trying to use patched winex-cvs aka cedega-cvs :-)


the guide points to a 'fixed' executable - perhaps you forgot to use that?
_________________
proud to be a scout and a chronic penguin hugger
Legion of Lore - site
Back to top
View user's profile Send private message
(l)user
Guru
Guru


Joined: 31 Jan 2004
Posts: 334
Location: Poland

PostPosted: Wed Aug 04, 2004 8:24 pm    Post subject: Reply with quote

Code:
Quote:

the guide points to a 'fixed' executable - perhaps you forgot to use that?

No i didn't actually.
_________________
Registered Linux user #302020
Gadu Gadu #490092
Back to top
View user's profile Send private message
neenee
Veteran
Veteran


Joined: 20 Jul 2003
Posts: 1786

PostPosted: Wed Aug 04, 2004 8:33 pm    Post subject: Reply with quote

(l)user wrote:
Code:
Quote:

the guide points to a 'fixed' executable - perhaps you forgot to use that?

No i didn't actually.


hmm.. then i'm afraid i don't know how to help you.
_________________
proud to be a scout and a chronic penguin hugger
Legion of Lore - site
Back to top
View user's profile Send private message
Captain_Loser
Tux's lil' helper
Tux's lil' helper


Joined: 19 Mar 2003
Posts: 106

PostPosted: Wed Aug 04, 2004 8:44 pm    Post subject: Reply with quote

Those of you who were able to get d3 working in winex, did you still have the problem with the videos?
_________________
KHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN!!!!!!!
Back to top
View user's profile Send private message
yamamushi
Tux's lil' helper
Tux's lil' helper


Joined: 22 Mar 2004
Posts: 95
Location: /dev/null

PostPosted: Wed Aug 04, 2004 9:29 pm    Post subject: Reply with quote

Code:

patching file include/winbase.h
Hunk #1 FAILED at 426.
Hunk #2 FAILED at 1368.
2 out of 2 hunks FAILED -- saving rejects to file include/winbase.h.rej
patching file memory/global.c
Hunk #1 FAILED at 33.
Hunk #2 FAILED at 1508.
Hunk #3 FAILED at 1521.
Hunk #4 FAILED at 1533.
Hunk #5 FAILED at 1581.
Hunk #6 FAILED at 1605.
6 out of 6 hunks FAILED -- saving rejects to file memory/global.c.rej
patching file dlls/kernel/kernel32.spec
Hunk #1 FAILED at 498.
1 out of 1 hunk FAILED -- saving rejects to file dlls/kernel/kernel32.spec.rej


Any idea why its not patching??
Back to top
View user's profile Send private message
Hyper_Eye
Guru
Guru


Joined: 17 Aug 2003
Posts: 446
Location: Huntsville, AL.

PostPosted: Wed Aug 04, 2004 9:35 pm    Post subject: Reply with quote

Paste the rejects.
Back to top
View user's profile Send private message
Captain_Loser
Tux's lil' helper
Tux's lil' helper


Joined: 19 Mar 2003
Posts: 106

PostPosted: Wed Aug 04, 2004 9:35 pm    Post subject: Reply with quote

Quote:
Any idea why its not patching??


There has been an update to the cvs tree for winex in the past 24hours, but I think it was only one file. I had the same problem though, I am wondering if winex fixes the video so that its worth my time to sort out winex.
_________________
KHAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAN!!!!!!!
Back to top
View user's profile Send private message
yamamushi
Tux's lil' helper
Tux's lil' helper


Joined: 22 Mar 2004
Posts: 95
Location: /dev/null

PostPosted: Wed Aug 04, 2004 9:39 pm    Post subject: Reply with quote

Code:

 cat include/winbase.h.rej
***************
*** 426,431 ****
      DWORD    dwAvailVirtual;
  } MEMORYSTATUS, *LPMEMORYSTATUS;
 
 

  typedef struct {
          WORD wYear;
--- 426,442 ----
      DWORD    dwAvailVirtual;
  } MEMORYSTATUS, *LPMEMORYSTATUS;
 
+ typedef struct tagMEMORYSTATUSEX {
+     DWORD     dwLength;
+     DWORD     dwMemoryLoad;
+     DWORDLONG ullTotalPhys;
+     DWORDLONG ullAvailPhys;
+     DWORDLONG ullTotalPageFile;
+     DWORDLONG ullAvailPageFile;
+     DWORDLONG ullTotalVirtual;
+     DWORDLONG ullAvailVirtual;
+     DWORDLONG ullAvailExtendedVirtual;
+ } MEMORYSTATUSEX, *LPMEMORYSTATUSEX;
 
  typedef struct {
          WORD wYear;
***************
*** 1357,1362 ****
  BOOL        WINAPI GetUserNameW(LPWSTR,LPDWORD);
  #define     GetUserName WINELIB_NAME_AW(GetUserName)
  VOID        WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
  DWORD       WINAPI HeapCompact(HANDLE,DWORD);
  HANDLE    WINAPI HeapCreate(DWORD,DWORD,DWORD);
  BOOL      WINAPI HeapDestroy(HANDLE);
--- 1368,1374 ----
  BOOL        WINAPI GetUserNameW(LPWSTR,LPDWORD);
  #define     GetUserName WINELIB_NAME_AW(GetUserName)
  VOID        WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
+ BOOL        WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
  DWORD       WINAPI HeapCompact(HANDLE,DWORD);
  HANDLE    WINAPI HeapCreate(DWORD,DWORD,DWORD);
  BOOL      WINAPI HeapDestroy(HANDLE);


Code:

***************
*** 33,39 ****
 
  WINE_DEFAULT_DEBUG_CHANNEL(global);
 
-   /* Global arena block */
  typedef struct
  {
      DWORD     base;          /* Base address (0 if discarded) */
--- 33,42 ----
 
  WINE_DEFAULT_DEBUG_CHANNEL(global);
 
+ #define LOW_LONG(ll) ((ULONG)((ll) & 0xffffffffL))
+ #define HI_LONG(ll)  ((ULONG)((ll) >> 32))
+
+  /* Global arena block */
  typedef struct
  {
      DWORD     base;          /* Base address (0 if discarded) */
***************
*** 1505,1514 ****
   * RETURNS
   *   None
   */
- VOID WINAPI GlobalMemoryStatus(
-             LPMEMORYSTATUS lpmem
- ) {
-     static MEMORYSTATUS   cached_memstatus;
      static int cache_lastchecked = 0;
      SYSTEM_INFO si;
  #ifdef linux
--- 1508,1516 ----
   * RETURNS
   *   None
   */
+ BOOL WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX lpmemex)
+ {
+     static MEMORYSTATUSEX cached_memstatus;
      static int cache_lastchecked = 0;
      SYSTEM_INFO si;
  #ifdef linux
***************
*** 1519,1526 ****
      int size_sys;
  #endif
      if (time(NULL)==cache_lastchecked) {
-    memcpy(lpmem,&cached_memstatus,sizeof(MEMORYSTATUS));
-    return;
      }
      cache_lastchecked = time(NULL);
 
--- 1521,1528 ----
      int size_sys;
  #endif
      if (time(NULL)==cache_lastchecked) {
+    memcpy(lpmemex,&cached_memstatus,sizeof(cached_memstatus));
+    return TRUE;
      }
      cache_lastchecked = time(NULL);
 
***************
*** 1531,1574 ****
          char buffer[256];
          int total, used, free, shared, buffers, cached;
 
-         lpmem->dwLength = sizeof(MEMORYSTATUS);
-         lpmem->dwTotalPhys = lpmem->dwAvailPhys = 0;
-         lpmem->dwTotalPageFile = lpmem->dwAvailPageFile = 0;
          while (fgets( buffer, sizeof(buffer), f ))
          {
         /* old style /proc/meminfo ... */
              if (sscanf( buffer, "Mem: %d %d %d %d %d %d", &total, &used, &free, &shared, &buffers, &cached ))
              {
-                 lpmem->dwTotalPhys += total;
-                 lpmem->dwAvailPhys += free + buffers + cached;
              }
              if (sscanf( buffer, "Swap: %d %d %d", &total, &used, &free ))
              {
-                 lpmem->dwTotalPageFile += total;
-                 lpmem->dwAvailPageFile += free;
              }
 
         /* new style /proc/meminfo ... */
         if (sscanf(buffer, "MemTotal: %d", &total))
-           lpmem->dwTotalPhys = total*1024;
         if (sscanf(buffer, "MemFree: %d", &free))
-           lpmem->dwAvailPhys = free*1024;
         if (sscanf(buffer, "SwapTotal: %d", &total))
-            lpmem->dwTotalPageFile = total*1024;
         if (sscanf(buffer, "SwapFree: %d", &free))
-            lpmem->dwAvailPageFile = free*1024;
         if (sscanf(buffer, "Buffers: %d", &buffers))
-            lpmem->dwAvailPhys += buffers*1024;
         if (sscanf(buffer, "Cached: %d", &cached))
-            lpmem->dwAvailPhys += cached*1024;
          }
          fclose( f );
 
-         if (lpmem->dwTotalPhys)
          {
-             DWORD TotalPhysical = lpmem->dwTotalPhys+lpmem->dwTotalPageFile;
-             DWORD AvailPhysical = lpmem->dwAvailPhys+lpmem->dwAvailPageFile;
-             lpmem->dwMemoryLoad = (TotalPhysical-AvailPhysical)
                                        / (TotalPhysical / 100);
          }
      } else
--- 1533,1577 ----
          char buffer[256];
          int total, used, free, shared, buffers, cached;
 
+         lpmemex->dwLength = sizeof(*lpmemex);
+         lpmemex->ullTotalPhys = lpmemex->ullAvailPhys = 0;
+         lpmemex->ullTotalPageFile = lpmemex->ullAvailPageFile = 0;
+
          while (fgets( buffer, sizeof(buffer), f ))
          {
         /* old style /proc/meminfo ... */
              if (sscanf( buffer, "Mem: %d %d %d %d %d %d", &total, &used, &free, &shared, &buffers, &cached ))
              {
+                 lpmemex->ullTotalPhys += total;
+                 lpmemex->ullAvailPhys += free + buffers + cached;
              }
              if (sscanf( buffer, "Swap: %d %d %d", &total, &used, &free ))
              {
+                 lpmemex->ullTotalPageFile += total;
+                 lpmemex->ullAvailPageFile += free;
              }
 
         /* new style /proc/meminfo ... */
         if (sscanf(buffer, "MemTotal: %d", &total))
+           lpmemex->ullTotalPhys = total*1024;
         if (sscanf(buffer, "MemFree: %d", &free))
+           lpmemex->ullAvailPhys = free*1024;
         if (sscanf(buffer, "SwapTotal: %d", &total))
+            lpmemex->ullTotalPageFile = total*1024;
         if (sscanf(buffer, "SwapFree: %d", &free))
+            lpmemex->ullAvailPageFile = free*1024;
         if (sscanf(buffer, "Buffers: %d", &buffers))
+            lpmemex->ullAvailPhys += buffers*1024;
         if (sscanf(buffer, "Cached: %d", &cached))
+            lpmemex->ullAvailPhys += cached*1024;
          }
          fclose( f );
 
+         if (lpmemex->ullTotalPhys)
          {
+             DWORDLONG TotalPhysical = lpmemex->ullTotalPhys+lpmemex->ullTotalPageFile;
+             DWORDLONG AvailPhysical = lpmemex->ullAvailPhys+lpmemex->ullAvailPageFile;
+             lpmemex->dwMemoryLoad = (TotalPhysical-AvailPhysical)
                                        / (TotalPhysical / 100);
          }
      } else
***************
*** 1578,1600 ****
      sysctlbyname("hw.physmem", tmp, &size_sys, NULL, 0);
      if (tmp && *tmp)
      {
-         lpmem->dwTotalPhys = *tmp;
     free(tmp);
     sysctlbyname("hw.usermem", NULL, &size_sys, NULL, 0);
     tmp = malloc(size_sys * sizeof(int));
     sysctlbyname("hw.usermem", tmp, &size_sys, NULL, 0);
     if (tmp && *tmp)
     {
-        lpmem->dwAvailPhys = *tmp;
-             lpmem->dwTotalPageFile = *tmp;
-        lpmem->dwAvailPageFile = *tmp;
-        lpmem->dwMemoryLoad = lpmem->dwTotalPhys - lpmem->dwAvailPhys;
     } else
     {
-        lpmem->dwAvailPhys = lpmem->dwTotalPhys;
-        lpmem->dwTotalPageFile = lpmem->dwTotalPhys;
-        lpmem->dwAvailPageFile = lpmem->dwTotalPhys;
-        lpmem->dwMemoryLoad = 0;
     }
     free(tmp);
 
--- 1581,1603 ----
      sysctlbyname("hw.physmem", tmp, &size_sys, NULL, 0);
      if (tmp && *tmp)
      {
+         lpmemex->ullTotalPhys = *tmp;
     free(tmp);
     sysctlbyname("hw.usermem", NULL, &size_sys, NULL, 0);
     tmp = malloc(size_sys * sizeof(int));
     sysctlbyname("hw.usermem", tmp, &size_sys, NULL, 0);
     if (tmp && *tmp)
     {
+        lpmemex->ullAvailPhys = *tmp;
+             lpmemex->ullTotalPageFile = *tmp;
+        lpmemex->ullAvailPageFile = *tmp;
+        lpmemex->dwMemoryLoad = lpmemex->ullTotalPhys - lpmemex->ullAvailPhys;
     } else
     {
+        lpmemex->ullAvailPhys = lpmemex->ullTotalPhys;
+        lpmemex->ullTotalPageFile = lpmemex->ullTotalPhys;
+        lpmemex->ullAvailPageFile = lpmemex->ullTotalPhys;
+        lpmemex->dwMemoryLoad = 0;
     }
     free(tmp);
 
***************
*** 1602,1627 ****
  #endif
      {
     /* FIXME: should do something for other systems */
-    lpmem->dwMemoryLoad    = 0;
-    lpmem->dwTotalPhys     = 16*1024*1024;
-    lpmem->dwAvailPhys     = 16*1024*1024;
-    lpmem->dwTotalPageFile = 16*1024*1024;
-    lpmem->dwAvailPageFile = 16*1024*1024;
      }
      GetSystemInfo(&si);
-     lpmem->dwTotalVirtual  = si.lpMaximumApplicationAddress-si.lpMinimumApplicationAddress;
      /* FIXME: we should track down all the already allocated VM pages and substract them, for now arbitrarily remove 64KB so that it matches NT */
-     lpmem->dwAvailVirtual  = lpmem->dwTotalVirtual-64*1024;
-     memcpy(&cached_memstatus,lpmem,sizeof(MEMORYSTATUS));
 
      /* it appears some memory display programs want to divide by these values */
-     if(lpmem->dwTotalPageFile==0)
-         lpmem->dwTotalPageFile++;
 
-     if(lpmem->dwAvailPageFile==0)
-         lpmem->dwAvailPageFile++;
 
-     TRACE("<-- LPMEMORYSTATUS: dwLength %ld, dwMemoryLoad %ld, dwTotalPhys %ld, dwAvailPhys %ld, dwTotalPageFile %ld, dwAvailPageFile %ld, dwTotalVirtual %ld, dwAvailVirtual %ld\n", lpmem->dwLength, lpmem->dwMemoryLoad, lpmem->dwTotalPhys, lpmem->dwAvailPhys, lpmem->dwTotalPageFile, lpmem->dwAvailPageFile, lpmem->dwTotalVirtual, lpmem->dwAvailVirtual);
  }
 
  /***********************************************************************
--- 1605,1680 ----
  #endif
      {
     /* FIXME: should do something for other systems */
+    lpmemex->dwMemoryLoad    = 0;
+    lpmemex->ullTotalPhys     = 16*1024*1024;
+    lpmemex->ullAvailPhys     = 16*1024*1024;
+    lpmemex->ullTotalPageFile = 16*1024*1024;
+    lpmemex->ullAvailPageFile = 16*1024*1024;
      }
+
      GetSystemInfo(&si);
+     lpmemex->ullTotalVirtual  = si.lpMaximumApplicationAddress-si.lpMinimumApplicationAddress;
      /* FIXME: we should track down all the already allocated VM pages and substract them, for now arbitrarily remove 64KB so that it matches NT */
+     lpmemex->ullAvailVirtual  = lpmemex->ullTotalVirtual-64*1024;
+     lpmemex->ullAvailExtendedVirtual = 0;
+
+     memcpy(&cached_memstatus,lpmemex,sizeof(cached_memstatus));
 
      /* it appears some memory display programs want to divide by these values */
+     if(lpmemex->ullTotalPageFile==0)
+         lpmemex->ullTotalPageFile++;
 
+     if(lpmemex->ullAvailPageFile==0)
+         lpmemex->ullAvailPageFile++;
 
+     TRACE("<-- LPMEMORYSTATUSEX: dwLength %lu, dwMemoryLoad %lu, ullTotalPhys %lx%08lx, ullAvailPhys %lx%08lx, ullTotalPageFile %lx%08lx, ullAvailPageFile %lx%08lx, ullTotalVirtual %lx%08lx, ullAvailVirtual %lx%08lx ullAvailExtendedVirtual %lx%08lx\n",
+            lpmemex->dwLength, lpmemex->dwMemoryLoad, HI_LONG(lpmemex->ullTotalPhys), LOW_LONG(lpmemex->ullTotalPhys), HI_LONG(lpmemex->ullAvailPhys), LOW_LONG(lpmemex->ullAvailPhys), HI_LONG(lpmemex->ullTotalPageFile), LOW_LONG(lpmemex->ullTotalPageFile), HI_LONG(lpmemex->ullAvailPageFile), LOW_LONG(lpmemex->ullAvailPageFile), HI_LONG(lpmemex->ullTotalVirtual), LOW_LONG(lpmemex->ullTotalVirtual), HI_LONG(lpmemex->ullAvailVirtual), LOW_LONG(lpmemex->ullAvailVirtual), HI_LONG(lpmemex->ullAvailExtendedVirtual), LOW_LONG(lpmemex->ullAvailExtendedVirtual));
+
+     return TRUE;
+ }
+
+ /***********************************************************************
+  *           GlobalMemoryStatus   (KERNEL32.@)
+  * RETURNS
+  *      TRUE
+  */
+ VOID WINAPI GlobalMemoryStatus( LPMEMORYSTATUS lpmem)
+ {
+     MEMORYSTATUSEX ms;
+     OSVERSIONINFOA osver;
+     GlobalMemoryStatusEx( &ms );
+
+     /* The structures are the same, just copy them */
+     lpmem->dwLength = sizeof(MEMORYSTATUSEX);
+
+     lpmem->dwMemoryLoad = ms.dwMemoryLoad;
+
+     /* NT reports the incorrect value ie value modulo 4GB so the
+      * truncation should be correct. Windows 2000 and newer, however,
+      * report the overflow with -1 in these fields.
+      */
+
+     osver.dwOSVersionInfoSize = sizeof(OSVERSIONINFOA);
+     GetVersionExA( &osver );
+
+     if( osver.dwMajorVersion >= 5 )
+     {
+         lpmem->dwTotalPhys = HI_LONG(ms.ullTotalPhys) ? -1 : LOW_LONG(ms.ullTotalPhys);
+         lpmem->dwAvailPhys = HI_LONG(ms.ullTotalPageFile) ? -1 : LOW_LONG(ms.ullTotalPageFile);
+         lpmem->dwTotalPageFile = HI_LONG(ms.ullTotalPageFile) ? -1 : LOW_LONG(ms.ullTotalPageFile);
+         lpmem->dwAvailPageFile = HI_LONG(ms.ullAvailPageFile) ? -1 : LOW_LONG(ms.ullAvailPageFile);
+         lpmem->dwTotalVirtual = HI_LONG(ms.ullTotalVirtual) ? -1 : LOW_LONG(ms.ullTotalVirtual);
+         lpmem->dwAvailVirtual = HI_LONG(ms.ullAvailVirtual) ? -1 : LOW_LONG(ms.ullAvailVirtual);
+     }
+     else
+     {
+         lpmem->dwTotalPhys = ms.ullTotalPhys;
+         lpmem->dwAvailPhys = ms.ullTotalPageFile;
+         lpmem->dwTotalPageFile = ms.ullTotalPageFile;
+         lpmem->dwAvailPageFile = ms.ullAvailPageFile;
+         lpmem->dwTotalVirtual = ms.ullTotalVirtual;
+         lpmem->dwAvailVirtual = ms.ullAvailVirtual;
+     }
  }
 
  ***


Code:

*** 498,503 ****
  @ stdcall GlobalHandle(ptr) GlobalHandle
  @ stdcall GlobalLock(long) GlobalLock
  @ stdcall GlobalMemoryStatus(ptr) GlobalMemoryStatus
  @ stdcall GlobalReAlloc(long long long) GlobalReAlloc
  @ stdcall GlobalSize(long) GlobalSize
  @ stdcall GlobalUnWire(long) GlobalUnWire
--- 498,504 ----
  @ stdcall GlobalHandle(ptr) GlobalHandle
  @ stdcall GlobalLock(long) GlobalLock
  @ stdcall GlobalMemoryStatus(ptr) GlobalMemoryStatus
+ @ stdcall GlobalMemoryStatusEx(ptr) GlobalMemoryStatusEx
  @ stdcall GlobalReAlloc(long long long) GlobalReAlloc
  @ stdcall GlobalSize(long) GlobalSize
  @ stdcall GlobalUnWire(long) GlobalUnWire


Sorry for the gobs of code, maybe it will help someone else too?[/code]
Back to top
View user's profile Send private message
kormoc
Apprentice
Apprentice


Joined: 17 Jun 2002
Posts: 272
Location: Seattle, WA

PostPosted: Wed Aug 04, 2004 10:03 pm    Post subject: Reply with quote

yamamushi wrote:
Code:

patching file include/winbase.h
Hunk #1 FAILED at 426.
Hunk #2 FAILED at 1368.
2 out of 2 hunks FAILED -- saving rejects to file include/winbase.h.rej
patching file memory/global.c
Hunk #1 FAILED at 33.
Hunk #2 FAILED at 1508.
Hunk #3 FAILED at 1521.
Hunk #4 FAILED at 1533.
Hunk #5 FAILED at 1581.
Hunk #6 FAILED at 1605.
6 out of 6 hunks FAILED -- saving rejects to file memory/global.c.rej
patching file dlls/kernel/kernel32.spec
Hunk #1 FAILED at 498.
1 out of 1 hunk FAILED -- saving rejects to file dlls/kernel/kernel32.spec.rej


Any idea why its not patching??


In the trouble shooting section of the howto it tells you that if you get hunk fail problems, you need to use dos2unix on the patch, the line feeds are the wrong format, that will fix the problem.


And yes, the videos work with winex
Back to top
View user's profile Send private message
kormoc
Apprentice
Apprentice


Joined: 17 Jun 2002
Posts: 272
Location: Seattle, WA

PostPosted: Wed Aug 04, 2004 10:04 pm    Post subject: Reply with quote

(l)user wrote:
Quote:

What was the error? as for looking weird, if your running in 16 bit gfx, try moving to 24, then your colors will look right.

Well im running XWindows in 24 bpp but i think game runs in 16.
Code:

bash-2.05b$ winex-cvs Doom3.exe
wine: Unhandled exception, starting debugger...

and thats what i get when trying to use patched winex-cvs aka cedega-cvs :-)


The game runs fine in 16 bit mode, but the colors look washed out (least for everyone I know)

As for the problem, can you run it with this command line:
winex-cvs --debugmsg +error,+warn Doom3.exe
and see what it gives out?
Back to top
View user's profile Send private message
(l)user
Guru
Guru


Joined: 31 Jan 2004
Posts: 334
Location: Poland

PostPosted: Wed Aug 04, 2004 10:05 pm    Post subject: Reply with quote

Quote:

Code:

patching file include/winbase.h
Hunk #1 FAILED at 426.
Hunk #2 FAILED at 1368.
2 out of 2 hunks FAILED -- saving rejects to file include/winbase.h.rej
patching file memory/global.c
Hunk #1 FAILED at 33.
Hunk #2 FAILED at 1508.
Hunk #3 FAILED at 1521.
Hunk #4 FAILED at 1533.
Hunk #5 FAILED at 1581.
Hunk #6 FAILED at 1605.
6 out of 6 hunks FAILED -- saving rejects to file memory/global.c.rej
patching file dlls/kernel/kernel32.spec
Hunk #1 FAILED at 498.
1 out of 1 hunk FAILED -- saving rejects to file dlls/kernel/kernel32.spec.rej


Any idea why its not patching??

I had same problem. Solution:
Code:

emerge dos2unix

and convert this patch using dos2unix.
Quote:

The game runs fine in 16 bit mode, but the colors look washed out (least for everyone I know)

As for the problem, can you run it with this command line:
winex-cvs --debugmsg +error,+warn Doom3.exe
and see what it gives out?

Code:
bash-2.05b$ winex-cvs --debugmsg +error,+warn Doom3.exe
err:win32:PE_fixup_imports No implementation for KERNEL32.dll.484(GlobalMemoryStatusEx) imported from D:\d00m3\Doom3.exe, setting to 0xdeadbeef
fixme:process:SetProcessWorkingSetSize (0xffffffff,201326592,1073741824): stub - harmless
wine: Unhandled exception, starting debugger...
fixme:xrender:X11DRV_XRender_Finalize Free cached glyphsets


_________________
Registered Linux user #302020
Gadu Gadu #490092
Back to top
View user's profile Send private message
yamamushi
Tux's lil' helper
Tux's lil' helper


Joined: 22 Mar 2004
Posts: 95
Location: /dev/null

PostPosted: Wed Aug 04, 2004 10:10 pm    Post subject: Reply with quote

Thanks, that fixed it.
Back to top
View user's profile Send private message
kormoc
Apprentice
Apprentice


Joined: 17 Jun 2002
Posts: 272
Location: Seattle, WA

PostPosted: Wed Aug 04, 2004 10:44 pm    Post subject: Reply with quote

(l)user wrote:

As for the problem, can you run it with this command line:
winex-cvs --debugmsg +error,+warn Doom3.exe
and see what it gives out?
Code:
bash-2.05b$ winex-cvs --debugmsg +error,+warn Doom3.exe
err:win32:PE_fixup_imports No implementation for KERNEL32.dll.484(GlobalMemoryStatusEx) imported from D:\d00m3\Doom3.exe, setting to 0xdeadbeef
fixme:process:SetProcessWorkingSetSize (0xffffffff,201326592,1073741824): stub - harmless
wine: Unhandled exception, starting debugger...
fixme:xrender:X11DRV_XRender_Finalize Free cached glyphsets


Ok, that's because for some reason the GlobalMemoryStatusEx patch wasn't applyed to your code tree. Could you try starting from the applying the patch stage and try again?

Also, a new version of the howto is on it's way up, and it's formatted a lot lot lot lot better.
Back to top
View user's profile Send private message
kormoc
Apprentice
Apprentice


Joined: 17 Jun 2002
Posts: 272
Location: Seattle, WA

PostPosted: Wed Aug 04, 2004 11:00 pm    Post subject: Reply with quote

The howto has been updated and is a /lot/ more readable. sorry about that, the script didn't output correctly, anyway the link is here:
http://linux-militia.net/howtos/doom3/doom3.html

Have fun!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gamers & Players All times are GMT
Goto page Previous  1, 2, 3, ... 9, 10, 11  Next
Page 2 of 11

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum