[quake3-bugzilla] [Bug 4505] New: STANDALONE flag not working

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Sun Jan 17 12:54:58 EST 2010


http://bugzilla.icculus.org/show_bug.cgi?id=4505

           Summary: STANDALONE flag not working
           Product: ioquake3
           Version: SVN HEAD
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P3
         Component: Misc
        AssignedTo: zakk at icculus.org
        ReportedBy: monk at rq3.com
         QAContact: quake3-bugzilla at icculus.org


Text copied from 2 threads in the forums.  At least two people have run into
this, maybe more.  Wanted to pop it into bugzilla to get some exposure and see
if it's an actual problem or not.  Yes, I realize the code is not in the form
of a patch or diff and I apologize.  Hopefully it will be easy enough to figure
out where it goes.  One person mentioned they were getting this error on every
ioq3 revision after the 1.35 release which is bad if true and vexing that no
one else brought it up sooner.

------------------

http://ioquake.org/forums/viewtopic.php?f=2&t=925&p=2271

There is a problem in the stand-alone version of ioqukae3. When I compile it
using BUILD_STANDALONE, the resulting client gets into an endless loop when
starting. It keeps printing to the console:

Loading vm file vm/ui.qvm...
ERROR: Bad system trap 53
Unloading ui.vm
...
...

(not exactly, there is more stuff but this is the informative part).

I have used the latest source from the SVN repository (rev, 1582) and compiled
it under Windows XP using the MinGW / Msys system.

The problem is in the 'cl_ui.c' module. In the huge 'switch' statement handling
system calls the cases for UI_GET_CDKEY, UI_SET_CDKEY and UI_VERIFY_CDKEY are
completely defined out (by #ifndef STANDALONE #endif). This is incorrect, since
the system calls are used even in the stand-alone version (and cause bad system
call errors because the syscall numbers are not valid).

I corrected the code as follows:

...
...
   case UI_GET_CDKEY:
#ifndef STANDALONE
      CLUI_GetCDKey( VMA(1), args[2] );
#endif
      return 0;

   case UI_SET_CDKEY:
#ifndef STANDALONE
      CLUI_SetCDKey( VMA(1) );
#endif
      return 0;

...
...
   case UI_VERIFY_CDKEY:
#ifndef STANDALONE
      return CL_CDKeyValidate(VMA(1), VMA(2));
#else
      return 1;
#endif
...
...

------------------

http://ioquake.org/forums/viewtopic.php?f=12&t=1542

it seems this happened after each ioq3 revision since 1.35...
Ill try Ioquake3 revision 1500 compile it without any problems but when i try
quake3 i get the error...

...


I am sorry, I forgot to mention that there is a third instance of the same bug.
(It was a long time ago that I found and corrected these problems in the source
code I use.) Change the code in 'client/cl_ui.c' near the end of the function
'CL_UISystemCalls' like this:

case UI_VERIFY_CDKEY:
#ifndef STANDALONE
return CL_CDKeyValidate(VMA(1), VMA(2));
#else
return 1;
#endif

-- 
Configure bugmail: http://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the quake3-bugzilla mailing list