Author Topic: Does ANYONE know how to compile a QVM using Windows?  (Read 6443 times)

Piper802

  • Posts: 56
  • Turrets: +2/-2
Does ANYONE know how to compile a QVM using Windows?
« on: April 30, 2009, 12:46:35 am »
Hi, for a matter of months now I've been digging around for some guide that can teach you how to compile a tremulous QVM using windows...

Firstly, what is the difference between a QVM and an SVN? I know a QVM is a Quake Virtual Machine, which to my understanding preprocesses server related data for the client? Though I'm completely clueless as to what an SVN is, google definitions told me that SVM stands for "Subversion". I still don't know how this relates to Tremulous... :/

So, I found Risujin's Guide on compiling an SVN, hoping that it would have something to do with compiling a QVM.. And I get through it, with half my directories wrong, and no clue on how to use the MinGW program. Later, I added Risujin himself on MSN to get some real-time tech support on how to set things up, just to find out that he doesn't even know how to compile a Tremulous QVM on windows.

Next, I found Lonly's Guide: How to compile a QVM and read that first I'd need to read Risujin's Guide (which I didn't even understand in the first place) before I can do anything.

So, desperate and out of options, I thought I could google "How to compile a Quake Virtual Machine" hoping that Quake's community would have some guides on how to compile a QVM, and all I found were random scattered topics about people with questions regarding specific subjects of compiling a QVM. Even if I did find a guide, I doubt I would be able to convert it to work with Tremulous.

In other words... Is anyone capable of compiling a Tremulous QVM on windows? Or knows any good guides for compiling a QVM on windows? If so, it'd be nice if you could add me on MSN: Grim802@hotmail.com so that someone could help me in real time, rather than waiting a day for each useless post until my topic dies without me solving the problem.

player1

  • Posts: 3062
  • Turrets: +527/-401
    • My Avatar! (if they were enabled) [by mietz]
Re: Does ANYONE know how to compile a QVM using Windows?
« Reply #1 on: April 30, 2009, 01:00:50 am »
Sorry for the admittedly slow process which will ensue from me linking this, but here is a little more info about SVN, which I initially took to mean Software Version Number, but which in the world of Tremulous refers instead to Subversion. You may find this a useful bit of info. If so, Cheers; if not, Good Luck.

A couple minutes of searching also led me to this:

http://svn.icculus.org/tremulous/trunk/src/cgame/


you may also want to read:

http://en.wikipedia.org/wiki/Mingw#Components_of_MinGW


did u c this post?

http://tremulous.net/forum/index.php?topic=587.msg4882#msg4882


imma in a giving mood today:

http://tortoisesvn.tigris.org/


see also:

http://www.mingw.org/wiki/Getting_Started


and especially:

http://www.mingw.org/wiki/MSYS


Happy Compiling!

UniqPhoeniX

  • Spam Killer
  • *
  • Posts: 1376
  • Turrets: +66/-32
Re: Does ANYONE know how to compile a QVM using Windows?
« Reply #2 on: April 30, 2009, 01:05:57 am »
SVN 895 in case of Risujin's guide relates to official Trem source code (sub)version 895 (every time someone adds a change, it will go up by 1), the guide has a mistake in 9th step (path should be C:\msys\home\User). I've used that guide and it isn't difficult if you just follow every step.

Bissig

  • Posts: 1309
  • Turrets: +103/-131
Re: Does ANYONE know how to compile a QVM using Windows?
« Reply #3 on: April 30, 2009, 01:30:07 am »
SVN is a software versioning system that lets coders maintain their software in a (more) managable way. In basics: it is a tool to help them organize coding.

"A SVN" in this case means a "SVN revision". A certain state or revision of the code that a tremulous QVM uses. They are numbered.

QVM in our case is a piece of software written to change or set the behaviour of the game. It is running some of the tremulous code in a safe(-er) environment.

Piper802

  • Posts: 56
  • Turrets: +2/-2
Re: Does ANYONE know how to compile a QVM using Windows?
« Reply #4 on: April 30, 2009, 03:52:20 am »
Wow, it's such a relief to see so many nice posts, thanks guys. So the QVM is server related presets which the client runs off of... And the SVN is the actual tremulous client itself? Thanks Player 1, just by reading through the first 2 links I have a much better understanding of what MinGW actually is, I'll post more questions as I go through all the links. Also thanks Uniq, hopefully now I can install MinGW right this time x.x...

Edit:
Alright :3, I finally got MinGW installed sucessfully. Now how does the compile process work? I hear you have to save your QVM source code as a '.patch' filetype, right? What directory should you save your QVM source code to in order for MinGW to compile it? After it's done compiling, where can you find your compiled QVM?
« Last Edit: April 30, 2009, 04:57:43 am by Piper802 »

UniqPhoeniX

  • Spam Killer
  • *
  • Posts: 1376
  • Turrets: +66/-32
Re: Does ANYONE know how to compile a QVM using Windows?
« Reply #5 on: April 30, 2009, 04:58:00 am »
No, SVN 895 in this case is one (sub)version of all the code used to compile client & QVMs & server out of. Sub- because it is just minor difference from the last, and not worth a new release (like 1 bugfix/new feature).
SVN is also the software that manages and keeps track of the changes that each developer submits.
game.QVM is basically the set of rules the server follows, (there are also ui.qvm and cgame.qvm which the client uses).

player1: that is A LOT of links.

Edit: .patch is just that, a patch to fix/change code, and is applied to it (each feature is usually available as a separate patch that can be added to whatever features the source already contains). The source code itself is several folders and lots of files. Follow the guide to download it.
« Last Edit: April 30, 2009, 05:04:12 am by UniqPhoeniX »

Piper802

  • Posts: 56
  • Turrets: +2/-2
Re: Does ANYONE know how to compile a QVM using Windows?
« Reply #6 on: April 30, 2009, 05:06:20 am »
No, SVN 895 in this case is one (sub)version of all the code used to compile client & QVMs & server out of. Sub- because it is just minor difference from the last, and not worth a new release (like 1 bugfix/new feature).
SVN is also the software that manages and keeps track of the changes that each developer submits.
game.QVM is basically the set of rules the server follows, (there are also ui.qvm and cgame.qvm which the client uses).

player1: that is A LOT of links.

Edit: .patch is just that, a patch to fix/change code, and is applied to it (each feature is usually available as a separate patch that can be added to whatever features the source already contains). The source code itself is several folders and lots of files. Follow the guide to download it.

Wait you mean this?:
Quote from: Risujin
9.) Download the latest Tremulous SVN code by opening a console, cd'ing to your MinGW home folder ('cd C:\MinGW\home\User'), and typing the SVN command:
svn co -r 895 svn://svn.icculus.org/tremulous/trunk Tremulous

I've already done that o.o. How do I patch it?

For example, I'm going to try and use Nero's Crazy QVM as my first compile test. I have the '.patch' file, but where do I save it so that MinGW can compile it?
« Last Edit: April 30, 2009, 05:18:39 am by Piper802 »

gimhael

  • Posts: 546
  • Turrets: +70/-16
Re: Does ANYONE know how to compile a QVM using Windows?
« Reply #7 on: April 30, 2009, 06:07:46 am »
A patch file contains only the changes between two versions of the same software. Usually there is much more identical sourcecode between any two versions than actual changes, so by filtering the identical code reduces the size of the patch a lot.

If you want to compile that changed code, you obviously need the complete code, so you have to get the code the patch is based on and then apply the patch to it. The base code can be retrieved with the svn command, and then you have to use the patch command to apply the patch. Usually you have to cd into the tremulous directory (created by the svn command) and run

Code: [Select]
patch -p1 < ../mypatch.patch
If this doesn't work, you probably have started from the wrong base version. Often you can apply a patch successfully to versions near the base version, and if you have only a few files with errors you can sometimes fix them by hand.

Btw. if the patch messed up your sources you can quickly get back to the base version with

Code: [Select]
cd /path/to/Tremulous
svn revert -R .