Quake3 uses either a DLL or a so called "QVM" file. Ready for the hard part?
You've seen that *.c code is compiled by your native compiler into a *.dll file. OK. The same *.c can be compiled by a different C compiler (called lcc) and then converted into VM code. This compiler distributed as part of the tools for ioquake3 as well. So this means you can have a mod for Quake3 that uses native x86 code, but if, say your friend had a Mac or Sun system or something really really obscure, you could send them the QVM file, which is functionally identical, but run in a VM within Quake3 (albeit, slower). This also made "safer" mods, since a DLL could contain a virus, where as a QVM file is, well, VM code that only runs in Quake3. I believe the option to force using the DLL (instead of the QVM file, which is in one of the *.pk3 files) is documented on the ioquake3 website. It requires command line parameters, so you may want to make a *.bat file to do it. On Thu, Sep 22, 2011 at 10:14 AM, Kim Huynh <k...@itsaver.com> wrote: > Thank you for all your help. I can run it now. However, I am encountering > a new problem. I have been searching via the forum to see if there is any > answer to this problem, but no success yet. > > I am able to build and run ioquake3.exe in debug mode. However, when I try > to change the code (ui_credits.c) to output different messages for the Exit > menu, it doesn't seem to work. In other words, the same old Exit menu still > appears on the screen with the new exe and uix86.dll. In addition, I can't > seem to set a breakpoint in UI_CreditMenu_Draw( void ) function. > > Does anyone know when/how ioquake3.exe load uix86.dll? One interesting > thing I found is that when I deleted uix86.dll, ioquak3.exe still runs with > no error reported. I did look into the project setting of ioquake3.exe, but > can't seem to find anything. > > Thank you for your helps, > Kim > > > > On Wed, Sep 21, 2011 at 2:12 PM, Patrick Baggett < > baggett.patr...@gmail.com> wrote: > >> Yes, there are 3 things in total: >> 1) ioquake3 binary (EXE) file >> 2) ioquake3 updated PK3 files >> 3) PAK0.PK3 from Quake3 CD. >> >> I'm currently behind a web filtering system, otherwise I'd just give you >> direct links to what I am saying. From the IOQuake3 site, you can find the >> first two things you need: the ioquake3 EXE (which is the game's code) and >> the updated PK3 files (pak1.pk3, pak2.pk3, etc. doesn't include pak0.pk3 as >> previously established). >> >> If you're running on Windows, you should be able to just download an >> installer -- it contains both of the above and in a nice little >> user-friendly interface. While running through the installer, make note of >> where you install it. It will be something like "C:\Program Files\ioquake3" >> by default, but it can vary depending on whether you're running a 64-bit >> version of windows or not. After that, if you were to go to the directory >> where you just installed everything, you should have the ioquake3 EXE (maybe >> called ioq3.exe) and a folder called "baseq3". Inside of the "baseq3" folder >> are the pak1.pk3, pak2.pk3, etc files. You need to copy pak0.pk3 from your >> Quake3 CD to this folder. After that, you should be set. All of these >> instructions should be on the ioquake3 website and are probably more >> detailed, so try reading through it and seeing if that solves your problems. >> >> Good luck, >> >> Patrick >> >> >> >> On Wed, Sep 21, 2011 at 12:52 PM, Kim Huynh <k...@itsaver.com> wrote: >> >>> Does that still mean I need to install ioquake3.exe to get pak1.pk3 and >>> the rest of pk3 files? Sorry I am new to this and thank you for your help! >>> >>> Kim >>> >>> On Wed, Sep 21, 2011 at 1:32 PM, Patrick Baggett < >>> baggett.patr...@gmail.com> wrote: >>> >>>> It should be in a folder called "baseq3", and it should include the >>>> other pk3 files. These pk3 files are found on the ioquake3 website. I >>>> forget >>>> how many there are -- perhaps 8 or so. >>>> >>>> In summary, you need: >>>> >>>> QUAKE3 FOLDER: >>>> * ioquake3.exe (from ioquake3) >>>> * baseq3/ >>>> * pak0.pk3 (from CD) >>>> * pak1.pk3 (from ioquake3) >>>> * pak2.pk3 (from ioquake3) >>>> .... >>>> >>>> >>>> On Wed, Sep 21, 2011 at 12:26 PM, Kim Huynh <k...@itsaver.com> wrote: >>>> >>>>> I do have the CD now. Where should I copy the file to? The same >>>>> directory as the executable? >>>>> >>>>> Thanks again >>>>> Kim >>>>> >>>>> On Wed, Sep 21, 2011 at 11:08 AM, Patrick Baggett < >>>>> baggett.patr...@gmail.com> wrote: >>>>> >>>>>> This is on the Quake3 arena CD. You have to buy the game to play it -- >>>>>> ioquake3 is just the game's code (EXE), it does (and cannot) contain the >>>>>> game's media (maps, models, sounds, etc.) >>>>>> >>>>>> Patrick >>>>>> >>>>>> On Wed, Sep 21, 2011 at 10:03 AM, Kim Huynh <k...@itsaver.com>wrote: >>>>>> >>>>>>> Hi >>>>>>> >>>>>>> I was able to build quake3 executable but when I ran it, it said >>>>>>> pak0.pk3 is missing. Where can I get this file? Is there any >>>>>>> instruction >>>>>>> on how I can use this file? >>>>>>> >>>>>>> Thanks >>>>>>> Kim >>>>>>> >>>>>>> _______________________________________________ >>>>>>> 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. >>>>>>> >>>>>> >>>>>> >>>>>> _______________________________________________ >>>>>> 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. >>>>>> >>>>> >>>>> >>>>> _______________________________________________ >>>>> 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. >>>>> >>>> >>>> >>>> _______________________________________________ >>>> 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. >>>> >>> >>> >>> _______________________________________________ >>> 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. >>> >> >> >> _______________________________________________ >> 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. >> > > > _______________________________________________ > 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. >
_______________________________________________ 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.