The Ur-Quan Masters Home Page Welcome, Guest. Please login or register.
Did you miss your activation email?
December 10, 2024, 11:37:09 am
Home Help Search Login Register
News: Celebrating 30 years of Star Control 2 - The Ur-Quan Masters

+  The Ur-Quan Masters Discussion Forum
|-+  The Ur-Quan Masters Re-Release
| |-+  General UQM Discussion (Moderator: Death 999)
| | |-+  Contributing?
« previous next »
Pages: [1] 2 Print
Author Topic: Contributing?  (Read 4667 times)
goemaat
Zebranky food
*
Offline Offline

Posts: 3



View Profile
Contributing?
« on: September 11, 2006, 12:14:07 pm »

I read in the FAQ that you recommend creating forks for anything non-standard, let me know if you guys aren't interested in any of this...  One thing is the display of biological levels when picked up on a  planet like the minerals for instance...

First, neither the uqm-0.5.0 or the nightly build code will compile in msys due to different errors.  I figured out how to fix the 0.5.0 one pretty easy (comment out line 45 in config_win.h.in), but the instructions for building could be better too.  I wouldn't mind taking a look at the recent code build problem also.  Is there some email address I should send it to without developer CVS access?

Also I have created a Visual Studio 2005 project for compiling UQM if you're interested in that.  It's a pretty straight-forward upgrade of the VC6 version, I think I just had to make a couple changes.  Would anyone be interested in a package of the include and lib directories needed also?  Would be a lot simpler than downloading them all, installing them all, and adding all those paths to the project...

Lastly, I created some cheats, and a menu system to activate and deactivate them (instant move from debug (improved, after I had written my own I found it), lander damage and extra capacity, displaying bio and minerals of a system on the starmap, improved human cruiser, no damage on planet/in space, and some others).

For debugging, I could write something similar to display and edit the game states if that would help anyone.
Logged
meep-eep
Forum Admin
Enlightened
*****
Offline Offline

Posts: 2847



View Profile
Re: Contributing?
« Reply #1 on: September 11, 2006, 04:02:11 pm »

Any patches are best put in the bugzilla database (one per issue).
If you want to discuss anything per email, there is a mailing list sc2-devel@lists.sourceforge.net. Noone uses it anymore, but it's still there and if you do use it, we will see it (and presumably reply).
The core team ourselves do most of our communication on our IRC channel (#sc2 on irc.freenode.org).

I wholly agree that the MinGW documentation can be better. None of the active developers is a MinGW user, which explains why this hasn't been done before. Any improvements to the documentation are welcomed.

As for having to edit config_win.h.in, why did it fail?

We're not interested in a VS2005 project file, as it would be a separate project file to maintain, and we can't abandon the VC6 version yet.
I'd have to talk to the others about the question of a lib+include package.

We don't really want cheats, but better debugging features may be useful, so I'm at least interested to see what you've got (in particularly, what you've improved on the instant move).
We were at one point looking at making a debug console (something like what Quake started), perhaps using SDL_console, where we could dump our debug output without requiring some text window, and from where the various debug commands could be activated (we now just have one key). It's got a pretty low priority though.
Logged

“When Juffo-Wup is complete
when at last there is no Void, no Non
when the Creators return
then we can finally rest.”
Novus
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1938


Fot or not?


View Profile
Re: Contributing?
« Reply #2 on: September 11, 2006, 04:17:19 pm »

I wholly agree that the MinGW documentation can be better. None of the active developers is a MinGW user, which explains why this hasn't been done before. Any improvements to the documentation are welcomed.
SuSE Linux 10.0 is my primary system, but I have a MinGW installation on one of my machines and I'm going to push UQM through it today anyway; I can take a look at the documentation while I'm at it.

Edit: here's an up-to-date set of instructions for compiling UQM with MinGW. A bit terse, but avoids compiling any libraries.
« Last Edit: September 12, 2006, 02:04:44 pm by Novus » Logged

RTFM = Read the fine manual.
RTTFAQ = Read the Ur-Quan Masters Technical FAQ.
goemaat
Zebranky food
*
Offline Offline

Posts: 3



View Profile
Re: Contributing?
« Reply #3 on: September 13, 2006, 07:23:43 pm »

The error I get (with the "current" stable 0.5.0 build)  is:
./config_win.h:45: error: stray '@' in program

Here are lines 44 and 45:
/* Defined if your system has getopt.h */
@HAVE_GETOPT_H@

Looks like the build scripts don't replace this option with a value?  I'm not very experienced with the build process on unix-like systems...  When I comment out this line in "src/config_win.in.h" and execute 'build.sh uqm config", it fixes the "./config_win.h" file and I can compile just fine.  I believe this has been fixed in the current build (2006-09-11) as the config now produces this for those two lines:
/* Defined if your system has getopt.h */
#define HAVE_GETOPT_LONG

With the 2006-09-11 source code, I didn't notice the need for mikimod since it isn't listed in the "install.mingw", only in the normal "install" file.  Turning  option 4 to 'Included libmikmod' doesn't work, I'll try getting libmikmod installed...




Logged
meep-eep
Forum Admin
Enlightened
*****
Offline Offline

Posts: 2847



View Profile
Re: Contributing?
« Reply #4 on: September 13, 2006, 08:06:11 pm »

Yeah, if you're going to compile UQM from source anyhow, it's almost always better to use the CVS version. The HAVE_GETOPT_LONG thing was fixed in march.
The comment still refers to getopt.h though, I'll correct that now.

Why doesn't the "use internal libmikmod" option work? What's the error?

Logged

“When Juffo-Wup is complete
when at last there is no Void, no Non
when the Creators return
then we can finally rest.”
Yuptar
Frungy champion
**
Offline Offline

Posts: 51



View Profile
Re: Contributing?
« Reply #5 on: September 22, 2006, 05:18:00 am »

Just how does one download the latest version of the source code, the 'CVS' version, instead of going for the last official release which is now many months old and many bug fixes behind? It seems to only exist as seperate files. How often is it zipped or tarred into a single file for convenient download?
Logged
taltamir
Frungy champion
**
Offline Offline

Posts: 63



View Profile
Re: Contributing?
« Reply #6 on: September 22, 2006, 08:49:59 am »

I have been hearing alot of complaints on forums that older code (ie, vs2003 etc) will sometimes not compile on 2005...

I really hate how in 2005 project path's are absolute rather then relative, that makes it a horrible pain to move the project between computers/people.. if you know of a way to properly do that i would LOVE to hear it, as it will make my compsci classes way more bearable (up to last semester they were all using vs2003, now they are 100% vs2005... which means i have to use it instead)...

I am really a neophyte when it comes to coding, and school doesn't even touch CVS (i asked the teachers, they said they don't know why its not in the curriculum)... anyone knows where i can get some guides online that explain how all those things work? once i get my footings i would love to go hunting bugs on UQM
Logged
Novus
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1938


Fot or not?


View Profile
Re: Contributing?
« Reply #7 on: September 22, 2006, 01:10:19 pm »

Just how does one download the latest version of the source code, the 'CVS' version, instead of going for the last official release which is now many months old and many bug fixes behind?
To get the CVS version of UQM, see the instructions for using the UQM CVS repository or the UQM CVS snapshots page. For information on CVS, see the CVS manual.
Logged

RTFM = Read the fine manual.
RTTFAQ = Read the Ur-Quan Masters Technical FAQ.
Yuptar
Frungy champion
**
Offline Offline

Posts: 51



View Profile
Re: Contributing?
« Reply #8 on: September 22, 2006, 09:25:46 pm »

Hmm, the OpenGL fix for the Matrox Millenium G series is not included in the current CVS source, is it? Can you supply a 'patch' for me to apply so I can have OpenGL working here? Smiley
Logged
Novus
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1938


Fot or not?


View Profile
Re: Contributing?
« Reply #9 on: September 23, 2006, 03:20:28 pm »

See bug #914 for MGA Gxxx fix.
Logged

RTFM = Read the fine manual.
RTTFAQ = Read the Ur-Quan Masters Technical FAQ.
Yuptar
Frungy champion
**
Offline Offline

Posts: 51



View Profile
Re: Contributing?
« Reply #10 on: September 23, 2006, 09:08:10 pm »

Ok, I think I know enough about programming to make that patch work. Smiley

Now, as I am about to install this MinGW thing I am curious how difficult it is to uninstall? Does it have an uninstall function to remove all the registry modifications it makes?

And once I have this working, is it able to compile lots of other Open Source goodies without too much trouble? ffdshow, for example? I've been thinking of compiling Mozilla/Seamonkey with the MMX switch, but from all the threads at Mozillazine it sounds like getting a Mozilla project to compile it a black art. Only certain people seem to be able to do it. Smiley Would this (theoretically) be able to compile Seamonkey? And how does the code compare to MSVC?

Also, what about compiling something like PennMUSH for Windows?
Logged
Novus
Enlightened
*****
Offline Offline

Gender: Male
Posts: 1938


Fot or not?


View Profile
Re: Contributing?
« Reply #11 on: September 23, 2006, 10:51:35 pm »

Ok, I think I know enough about programming to make that patch work. Smiley
In UQM directory, execute:
Code:
patch -p0 < patchname

Quote
Now, as I am about to install this MinGW thing I am curious how difficult it is to uninstall? Does it have an uninstall function to remove all the registry modifications it makes?
Last time I checked, yes. It doesn't do much in the way of registry modification anyway, AFAIK.

Quote
And once I have this working, is it able to compile lots of other Open Source goodies without too much trouble? ffdshow, for example?
Well, I use the same setup for LAB3D/SDL, but I don't compile much under Windows. Too much work.

Quote
Would this (theoretically) be able to compile Seamonkey?
Sort of.

Quote
And how does the code compare to MSVC?
Depends on the program and the settings. Usually not too bad.

Quote
Also, what about compiling something like PennMUSH for Windows?
That shouldn't be too hard.
Logged

RTFM = Read the fine manual.
RTTFAQ = Read the Ur-Quan Masters Technical FAQ.
Yuptar
Frungy champion
**
Offline Offline

Posts: 51



View Profile
Re: Contributing?
« Reply #12 on: September 23, 2006, 11:04:47 pm »

Aiiieee! And I thought that the MinGW stuff was intimidating. Going by that page I'd be downloading 'packages' for a week to get the stuff to compile Seamonkey. It'd be easier to just spend the money for MSVC and get everything (I hope?) in a single package. Now I know why MS  is still so big and "Open Source" hasn't taken off. Only the dedicated geeks can stand the time and effort to assemble all those little bits and pieces.

Hopefully ffdshow and Pennmush will be easier. Smiley
« Last Edit: September 23, 2006, 11:06:33 pm by Yuptar » Logged
OOPMan
Zebranky food
*
Offline Offline

Posts: 44



View Profile
Re: Contributing?
« Reply #13 on: September 24, 2006, 12:14:43 am »

Er, Visual Studio only hides the complex stuff, it doesn't take it away. And if VS hits something it doesn't like, get ready for the complex stuff...

Look, it's for the best. Everyone should learn how to use gcc, make and the rest of out good GNU friends at least one...

Also, MingW is very easy to get. All you need to do is download this and run it. It asks what you want to install (Which is described at the bottom of the page) and then connects to a SourceForge server, downloads the relevant packages and installs them.

Also, the packages are nice and small, coming in at a total of around 20mb, not much at all.

Also, there probably is an uninstall feature, but it's nothing to worry about anyway. MingW doesn't really make any registry changes you need to worry about.

As for compiling stuff. Look, as long as you can get source code that supports Cygwin then you should be able to get MingW to compile it without too many problems (Since MingW is kind of a cut down version of Cygwin).

For info on learning how to use all the GNU tools, google along the lines of "GCC howto" and "make howto". Howto's are nice guides created by people, basically like big FAQs. They're a good place to start...
Logged

"My boot, your face..." - Attributed to OOPMan, Emperor of Eroticon VI
Yuptar
Frungy champion
**
Offline Offline

Posts: 51



View Profile
Re: Contributing?
« Reply #14 on: September 24, 2006, 03:23:42 am »

But 'hiding' the complex stuff is a good thing! You take one single install CD and run it. Then you've got the entire development system installed. Gnu stuff tends to require a dozen different downloads and seperate installs. This is tedious and discouraging. It adds to the 'learning curve' to even get started.

Yes, I'm eager to get MinGW installed even so. Smiley Programming is fun -- when it works. It can also make you want to put a fist through your CRT, of course...  Tongue I was a Turbo Pascal programmer once upon a time. It was great when you got something new to work, and maddening when typos and other 'misunderstandings' made things screwup.

Does Cygwin come in a 'complete' single-install package? Could Cygwin also compile UQM (and ffdshow, and PennMUSH, and maybe Seamonkey)?

I'm also thinking of getting the C++ compiler since this is such a commonly used language. Would having the C++ compiler in the MinGW install possibly interfere with using the standard C compiler?
« Last Edit: September 24, 2006, 03:31:18 am by Yuptar » Logged
Pages: [1] 2 Print 
« previous next »
Jump to:  


Login with username, password and session length

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!